Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mes
mes-ui
Commits
dfe4cbb6
Commit
dfe4cbb6
authored
Jan 26, 2024
by
hiyonx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售订单
parent
15f9f23b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
150 additions
and
105 deletions
+150
-105
index.vue
src/components/SapPropertyData/index.vue
+29
-11
index.vue
src/views/mes/md/sapproperty/index.vue
+1
-5
index.vue
src/views/mes/order/sales/index.vue
+1
-1
index.vue
src/views/mes/order/salesdetail/index.vue
+119
-88
No files found.
src/components/SapPropertyData/index.vue
View file @
dfe4cbb6
...
...
@@ -4,7 +4,7 @@
<el-row
class=
"form-wrap"
:gutter=
"gutter"
>
<div>
<template
v-for=
"(sapProperties, key) in sapPropertyMap"
>
<
div
class=
"separator"
>
{{
getViewTypeName
(
key
)
}}
</div
>
<
el-col
v-if=
"showSubTitle"
:span=
"24"
class=
"separator"
>
{{
getViewTypeName
(
key
)
}}
</el-col
>
<template
v-for=
"item in sapProperties"
>
<el-col
:span=
"span"
:key=
"item.id"
>
<el-form-item
:label=
"item.name"
:prop=
"key + '.' + item.sapField"
...
...
@@ -34,6 +34,7 @@ export default {
props
:
{
gutter
:
{
type
:
Number
,
default
:
10
},
span
:
{
type
:
Number
,
default
:
8
},
showSubTitle
:
{
type
:
Boolean
,
default
:
true
},
},
data
()
{
return
{
...
...
@@ -106,8 +107,30 @@ export default {
return
viewType
},
setData
(
data
,
sapData
,
sapPropertyMap
)
{
let
keys
=
Object
.
keys
(
sapPropertyMap
)
setData
(
data
,
sapData
,
propertyViews
)
{
let
newSapData
=
{}
for
(
const
propertyView
of
propertyViews
)
{
let
propertyList
=
propertyView
.
propertyList
switch
(
propertyView
.
dataType
)
{
case
0
:
// 属性
for
(
const
property
of
propertyList
)
{
newSapData
[
property
.
sapField
]
=
data
[
property
.
relationField
]
||
sapData
[
property
.
sapField
]
||
''
}
case
1
:
// 对象
let
viewObj
=
{}
for
(
const
property
of
propertyList
)
{
viewObj
[
property
.
sapField
]
=
data
[
propertyView
.
viewType
][
property
.
relationField
]
||
data
[
property
.
relationField
]
||
sapData
[
propertyView
.
viewType
][
property
.
sapField
]
||
''
}
newSapData
[
propertyView
.
viewType
]
=
viewObj
case
2
:
// 列表
let
viewArr
=
sapData
[
propertyView
.
viewType
]
||
[]
data
for
(
const
property
of
propertyList
)
{
}
}
}
for
(
const
key
of
keys
)
{
if
(
!
sapPropertyMap
.
hasOwnProperty
(
key
))
continue
if
(
!
sapData
[
key
])
sapData
[
key
]
=
{}
...
...
@@ -131,12 +154,7 @@ export default {
let
sapData
=
{}
// 获取sap特性列表
listByType
({
type
,
viewType
}).
then
(
res
=>
{
let
sapProperties
=
res
.
data
||
[]
let
sapPropertyMap
=
sapProperties
.
reduce
((
sapPropertyMap
,
item
)
=>
{
if
(
!
sapPropertyMap
[
item
.
viewType
])
sapPropertyMap
[
item
.
viewType
]
=
[]
sapPropertyMap
[
item
.
viewType
].
push
(
item
)
return
sapPropertyMap
},
{})
let
propertyViews
=
res
.
data
||
[]
if
(
relationId
)
{
// 获取sap特性值
listData
({
type
,
viewType
,
relationId
}).
then
(
resp
=>
{
...
...
@@ -144,10 +162,10 @@ export default {
this
.
form
.
id
=
row
.
id
sapData
=
JSON
.
parse
(
row
.
sapData
)
// 再次赋值
this
.
setData
(
data
,
sapData
,
sapPropertyMap
)
this
.
setData
(
data
,
sapData
,
propertyViews
)
})
}
else
{
this
.
setData
(
data
,
sapData
,
sapPropertyMap
)
this
.
setData
(
data
,
sapData
,
propertyViews
)
}
})
}
...
...
src/views/mes/md/sapproperty/index.vue
View file @
dfe4cbb6
...
...
@@ -156,9 +156,7 @@
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"关联属性"
prop=
"relationField"
>
<el-select
v-model=
"form.relationField"
placeholder=
"请选择关联客户属性"
clearable
filterable
>
<el-option
v-for=
"item in relationFields"
:key=
"item.value"
v-bind=
"item"
/>
</el-select>
<el-input
v-model
.
trim=
"form.relationField"
placeholder=
"请选择关联客户属性"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
...
...
@@ -237,7 +235,6 @@ export default {
enableFlag
:
'Y'
,
},
viewTypes
:
[],
relationFields
:
[],
// 表单校验
rules
:
{
type
:
[{
required
:
true
,
message
:
'特性类型不能为空'
,
trigger
:
[
'blur'
,
'change'
]}],
...
...
@@ -257,7 +254,6 @@ export default {
methods
:
{
onChangeType
(
val
)
{
this
.
viewTypes
=
this
.
dict
.
type
.
sap_property_view
.
filter
(
item
=>
item
.
value
===
val
).
map
(
item
=>
({
label
:
item
.
label
,
value
:
item
.
raw
.
cssClass
}))
this
.
relationFields
=
this
.
dict
.
type
.
sap_property_relation
.
filter
(
item
=>
item
.
value
===
val
).
map
(
item
=>
({
label
:
item
.
label
,
value
:
item
.
raw
.
cssClass
}))
},
toDataType
()
{
this
.
$router
.
push
({
path
:
'/mes/md/propertytype'
})
...
...
src/views/mes/order/sales/index.vue
View file @
dfe4cbb6
...
...
@@ -115,7 +115,7 @@
icon=
"el-icon-search"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['od:salesOrder:edit']"
>
查看
>
详情
</el-button>
<el-button
size=
"mini"
...
...
src/views/mes/order/salesdetail/index.vue
View file @
dfe4cbb6
...
...
@@ -171,100 +171,117 @@
</el-form>
</div>
<el-tabs
v-model=
"activeName"
type=
"border-card"
@
tab-click=
"onTabClick"
>
<el-tab-pane
label=
"详情"
name=
"detail"
>
<div
class=
"page-item"
>
<el-table
:data=
"form.detailList"
@
selection-change=
"handleSelectionChange"
max-height=
"600"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
label=
"产品名称"
prop=
"itemName"
show-overflow-tooltip
/>
<el-table-column
label=
"产品编码"
prop=
"itemNo"
show-overflow-tooltip
/>
<el-table-column
label=
"总数量"
prop=
"totalNum"
show-overflow-tooltip
/>
<el-table-column
label=
"loss数量"
prop=
"lossNum"
show-overflow-tooltip
/>
<el-table-column
label=
"数量"
prop=
"num"
show-overflow-tooltip
/>
<el-table-column
label=
"单价"
:formatter=
"r => this.formatMoney(r.price)"
show-overflow-tooltip
/>
<el-table-column
label=
"装运点"
prop=
"shipmentPointNo"
show-overflow-tooltip
/>
<el-table-column
label=
"存储地点"
prop=
"storeAddr"
show-overflow-tooltip
/>
<el-table-column
label=
"批次号"
prop=
"batchNo"
show-overflow-tooltip
/>
<el-table-column
label=
"批次号"
prop=
"batchNo"
show-overflow-tooltip
/>
<el-table-column
label=
"实际交货日期"
prop=
"actualDeliveryDate"
show-overflow-tooltip
/>
<el-table-column
label=
"定价值"
prop=
"pricingVal"
show-overflow-tooltip
/>
<el-table-column
label=
"报价单位"
prop=
"offerUnit"
show-overflow-tooltip
/>
<el-table-column
label=
"销售单位"
prop=
"saleUnit"
show-overflow-tooltip
/>
<el-table-column
label=
"尺码单位"
prop=
"sizeUnit"
show-overflow-tooltip
/>
<el-table-column
label=
"客户订单号"
prop=
"poOrderNo"
show-overflow-tooltip
/>
<el-table-column
label=
"客户产品代码"
prop=
"clientItemNo"
show-overflow-tooltip
/>
<el-table-column
label=
"客户产品名称"
prop=
"clientItemName"
show-overflow-tooltip
/>
<el-table-column
label=
"客户尺码单位"
prop=
"clientSizeUnit"
show-overflow-tooltip
/>
<el-table-column
label=
"客户指令号"
prop=
"clientCmd"
show-overflow-tooltip
/>
<el-table-column
label=
"客户单重"
prop=
"clientKg"
show-overflow-tooltip
/>
<el-table-column
label=
"销线"
prop=
"salePath"
show-overflow-tooltip
/>
<el-table-column
label=
"段别"
prop=
"segment"
show-overflow-tooltip
/>
<el-table-column
label=
"版面"
prop=
"layout"
show-overflow-tooltip
/>
<el-table-column
label=
"季度"
prop=
"quarter"
show-overflow-tooltip
/>
<el-table-column
label=
"整/半码"
prop=
"wholeSize"
show-overflow-tooltip
/>
<el-table-column
label=
"特殊尺码"
prop=
"specSize"
show-overflow-tooltip
/>
<el-table-column
label=
"po号"
prop=
"poNo"
show-overflow-tooltip
/>
<el-table-column
label=
"wip号"
prop=
"wipNo"
show-overflow-tooltip
/>
<el-table-column
label=
"装箱数"
prop=
"packingNum"
show-overflow-tooltip
/>
<el-table-column
label=
"周期"
prop=
"cycle"
show-overflow-tooltip
/>
<el-table-column
label=
"周期"
prop=
"cycle"
show-overflow-tooltip
/>
<el-table-column
label=
"sk号"
prop=
"skNo"
show-overflow-tooltip
/>
<el-table-column
label=
"专利号"
prop=
"patentNo"
show-overflow-tooltip
/>
<el-table-column
label=
"材质描述"
prop=
"materialDesc"
show-overflow-tooltip
/>
<el-table-column
label=
"签收人"
prop=
"signer"
show-overflow-tooltip
/>
<el-table-column
label=
"ShipToId"
prop=
"shipToId"
show-overflow-tooltip
/>
<el-table-column
label=
"ShipToId"
prop=
"shipToId"
show-overflow-tooltip
/>
<el-table-column
label=
"交货日期"
prop=
"deliveryDate"
show-overflow-tooltip
/>
<el-table-column
label=
"尺码组"
prop=
"sizeGroup"
show-overflow-tooltip
/>
<el-table-column
label=
"订单量"
prop=
"orderNum"
show-overflow-tooltip
/>
<el-table-column
label=
"条码"
prop=
"barCode"
show-overflow-tooltip
/>
<el-table-column
label=
"印刷方向"
prop=
"printingDirection"
show-overflow-tooltip
/>
<el-table-column
label=
"产品规格"
prop=
"prodSpec"
show-overflow-tooltip
/>
<el-table-column
label=
"客户工厂代号"
prop=
"plantCode"
show-overflow-tooltip
/>
<el-table-column
label=
"包装方式"
prop=
"packMode"
show-overflow-tooltip
/>
<el-table-column
label=
"备注"
prop=
"remark"
show-overflow-tooltip
/>
<el-table-column
label=
"状态"
prop=
"state"
>
<template
slot-scope=
"
{row}">
{{
dict
.
type
.
sales_order_state
.
find
(
item
=>
item
.
value
==
row
.
state
).
label
}}
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"100"
>
<
template
slot-scope=
"{row, $index}"
>
<el-button
v-hasPermi=
"['od:salesOrder:edit']"
size=
"mini"
type=
"text"
@
click=
"onShowEditDetail(row, $index)"
>
查看
</el-button>
<el-button
v-hasPermi=
"['od:salesOrder:edit']"
size=
"mini"
type=
"text"
@
click=
"onShowSpecDetail(row)"
>
特性
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane
label=
"SAP特性"
name=
"SapPropertyData"
>
<SapPropertyData
ref=
"SapPropertyData"
:span=
"6"
/>
</el-tab-pane>
</el-tabs>
<div
class=
"detail-body"
>
<el-tabs
v-model=
"activeName"
type=
"border-card"
@
tab-click=
"onTabClick"
>
<el-tab-pane
label=
"详情"
name=
"detail"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"onShowEditDetail(null, form.detailList.length)"
v-hasPermi=
"['od:salesOrder:add']"
>
新增
</el-button>
</el-col>
</el-row>
<div
class=
"page-item"
>
<el-table
:data=
"form.detailList"
@
selection-change=
"handleSelectionChange"
max-height=
"600"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
label=
"产品编码"
prop=
"itemNo"
show-overflow-tooltip
/>
<el-table-column
label=
"产品名称"
prop=
"itemName"
show-overflow-tooltip
/>
<el-table-column
label=
"总数量"
prop=
"totalNum"
show-overflow-tooltip
/>
<el-table-column
label=
"loss数量"
prop=
"lossNum"
show-overflow-tooltip
/>
<el-table-column
label=
"数量"
prop=
"num"
show-overflow-tooltip
/>
<el-table-column
label=
"单价"
:formatter=
"r => this.formatMoney(r.price)"
show-overflow-tooltip
/>
<!--
<el-table-column
label=
"装运点"
prop=
"shipmentPointNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"存储地点"
prop=
"storeAddr"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"批次号"
prop=
"batchNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"实际交货日期"
prop=
"actualDeliveryDate"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"定价值"
prop=
"pricingVal"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"报价单位"
prop=
"offerUnit"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"销售单位"
prop=
"saleUnit"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"尺码单位"
prop=
"sizeUnit"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"客户订单号"
prop=
"poOrderNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"客户产品代码"
prop=
"clientItemNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"客户产品名称"
prop=
"clientItemName"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"客户尺码单位"
prop=
"clientSizeUnit"
show-overflow-tooltip
/>
-->
<el-table-column
label=
"客户指令号"
prop=
"clientCmd"
show-overflow-tooltip
/>
<!--
<el-table-column
label=
"客户单重"
prop=
"clientKg"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"销线"
prop=
"salePath"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"段别"
prop=
"segment"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"版面"
prop=
"layout"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"季度"
prop=
"quarter"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"整/半码"
prop=
"wholeSize"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"特殊尺码"
prop=
"specSize"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"po号"
prop=
"poNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"wip号"
prop=
"wipNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"装箱数"
prop=
"packingNum"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"周期"
prop=
"cycle"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"sk号"
prop=
"skNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"专利号"
prop=
"patentNo"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"材质描述"
prop=
"materialDesc"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"签收人"
prop=
"signer"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"ShipToId"
prop=
"shipToId"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"交货日期"
prop=
"deliveryDate"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"尺码组"
prop=
"sizeGroup"
show-overflow-tooltip
/>
-->
<el-table-column
label=
"订单量"
prop=
"orderNum"
show-overflow-tooltip
/>
<!--
<el-table-column
label=
"条码"
prop=
"barCode"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"印刷方向"
prop=
"printingDirection"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"产品规格"
prop=
"prodSpec"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"客户工厂代号"
prop=
"plantCode"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"包装方式"
prop=
"packMode"
show-overflow-tooltip
/>
-->
<!--
<el-table-column
label=
"备注"
prop=
"remark"
show-overflow-tooltip
/>
-->
<el-table-column
label=
"状态"
prop=
"state"
>
<template
slot-scope=
"
{row}">
{{
dict
.
type
.
sales_order_state
.
find
(
item
=>
item
.
value
==
row
.
state
).
label
}}
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"100"
>
<
template
slot-scope=
"{row, $index}"
>
<el-button
v-hasPermi=
"['od:salesOrder:edit']"
size=
"mini"
type=
"text"
@
click=
"onShowEditDetail(row, $index)"
>
查看
</el-button>
<el-button
v-hasPermi=
"['od:salesOrder:edit']"
size=
"mini"
type=
"text"
@
click=
"onShowSpecDetail(row)"
>
特性
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane
label=
"SAP特性"
name=
"SapPropertyData"
>
<SapPropertyData
ref=
"SapPropertyData"
:span=
"6"
/>
</el-tab-pane>
</el-tabs>
</div>
<el-dialog
:visible
.
sync=
"showEditDetail"
title=
"订单详情"
width=
"1200px"
>
<el-form
:model=
"itemForm"
ref=
"itemForm"
:rules=
"itemRules"
label-width=
"100px"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"8"
>
<el-form-item
prop=
""
label=
"产品名称"
>
<el-input
v-model=
"itemForm.itemName"
placeholder=
""
clearable
/>
<el-form-item
label=
"产品编码"
prop=
""
>
<el-input
v-model=
"itemForm.itemNo"
readonly
placeholder=
"请选择产品"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"$refs['ItemSelectRef'].showFlag = true"
/>
</el-input>
<ItemSelect
ref=
"ItemSelectRef"
@
onSelected=
"onItemSelect"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
""
label=
"产品
编码
"
>
<el-input
v-model=
"itemForm.itemN
o"
placeholder=
""
clearable
/>
<el-form-item
prop=
""
label=
"产品
名称
"
>
<el-input
v-model=
"itemForm.itemN
ame"
placeholder=
""
readonly
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
...
...
@@ -678,11 +695,20 @@ export default {
})
},
onItemSelect
(
row
)
{
if
(
row
!=
undefined
)
{
this
.
itemForm
.
itemId
=
row
.
itemId
;
this
.
itemForm
.
itemNo
=
row
.
itemCode
;
this
.
itemForm
.
itemName
=
row
.
itemName
;
}
},
onEditDetail
()
{
this
.
showEditDetail
=
false
this
.
$refs
.
itemForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
form
.
detailList
[
this
.
itemForm
.
index
]
=
this
.
itemForm
this
.
form
.
detailList
.
splice
(
this
.
itemForm
.
index
,
1
,
this
.
itemForm
)
console
.
log
(
this
.
form
.
detailList
)
}
})
},
...
...
@@ -706,7 +732,7 @@ export default {
console
.
log
(
item
)
this
.
showEditDetail
=
true
this
.
$refs
.
itemForm
&&
this
.
$refs
.
itemForm
.
resetFields
()
this
.
itemForm
=
item
||
{
itemName
:
null
,
item
Code
:
null
,
num
:
null
,
amount
:
null
,
state
:
null
,
specList
:
[]
}
this
.
itemForm
=
item
||
{
itemName
:
null
,
item
No
:
null
,
num
:
null
,
amount
:
null
,
state
:
null
,
specList
:
[]
}
this
.
itemForm
.
index
=
$index
},
...
...
@@ -873,4 +899,9 @@ export default {
color
:
#99a9bf
;
}
.detail-body
{
margin-bottom
:
50px
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment