Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-app-operator-master
Commits
2fa74d32
Commit
2fa74d32
authored
Aug 23, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
bb983352
a1a853fb
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
738 additions
and
107 deletions
+738
-107
order.js
src/api/ecw/order.js
+9
-0
shippingDetail.vue
src/views/ecw/box/shippingDetail.vue
+5
-2
splitOrder.vue
...views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
+570
-0
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+25
-4
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+6
-56
seaProcess.vue
src/views/ecw/box/shippingSea/seaProcess.vue
+12
-4
edit.vue
src/views/ecw/customer/edit.vue
+7
-4
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+4
-4
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+63
-26
index.vue
src/views/ecw/order/warehousing/index.vue
+37
-7
No files found.
src/api/ecw/order.js
View file @
2fa74d32
...
@@ -163,6 +163,15 @@ export function orderWarehouseIn(data){
...
@@ -163,6 +163,15 @@ export function orderWarehouseIn(data){
})
})
}
}
// 入仓
export
function
orderWarehouseInUpdateApply
(
data
){
return
request
({
url
:
'
/order/order-warehouse-in/update-apply
'
,
method
:
'
put
'
,
data
})
}
// 入仓完成
// 入仓完成
export
function
orderWarehouseInFinish
(
data
){
export
function
orderWarehouseInFinish
(
data
){
return
request
({
return
request
({
...
...
src/views/ecw/box/shippingDetail.vue
View file @
2fa74d32
...
@@ -170,9 +170,12 @@ export default {
...
@@ -170,9 +170,12 @@ export default {
},
},
},
},
watch
:
{
watch
:
{
processId
(
val
)
{
processId
:
{
immediate
:
true
,
handler
(
val
)
{
this
.
getApprovalDetail
(
val
);
this
.
getApprovalDetail
(
val
);
},
},
},
boxBackVO
(
val
)
{
boxBackVO
(
val
)
{
// 柜型
// 柜型
this
.
getCabinetLabel
(
val
.
cabinetId
);
this
.
getCabinetLabel
(
val
.
cabinetId
);
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
0 → 100644
View file @
2fa74d32
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
拆单申请-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
原单信息
</span>
<div>
<span
v-if=
"orderData.status==99"
class=
"red"
>
异常无法拆单
</span>
<el-button
v-else
type=
"primary"
@
click=
"addSplit"
>
新建拆单
</el-button>
</div>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"唛头"
>
{{
orderData
.
marks
?
orderData
.
marks
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数/总箱数"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
status
==
99
?
'
异常
'
:
'
正常
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"送货日期"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
deliveryDate
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
startTitleZh
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
destTitleZh
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"发货人姓名"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
name
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货公司"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
company
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货电话"
>
{{
orderData
.
consignorVO
?(
orderData
.
consignorVO
.
phone
?(
orderData
.
consignorVO
.
countryCode
+
orderData
.
consignorVO
.
phone
):
'
无
'
):
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"收货人姓名"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
name
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货公司"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
company
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货电话"
>
{{
orderData
.
consigneeVO
?(
orderData
.
consigneeVO
.
phone
?(
orderData
.
consigneeVo
.
countryCode
+
orderData
.
consigneeVO
.
phone
):
'
无
'
):
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
货物信息
</div>
<el-table
id=
'table'
v-loading=
"loading"
border
:data=
"orderData.orderItemVOList"
:summary-method=
"getSummaries"
show-summary
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
type=
"index"
width=
"60"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"品名"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
</
template
>
</el-table-column>
<el-table-column
label=
"装柜货物属性"
align=
"center"
width=
"600"
>
<
template
slot-scope=
"scope"
>
<el-row>
<span>
规格:
{{
scope
.
row
.
boxGauge
}}
</span>
</el-row>
<el-row>
<span>
品牌:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
/>
</span>
<span
style=
"margin-left: 10px;"
>
箱数:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</span>
<span
style=
"margin-left: 10px;"
>
体积:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
volume
:
0
}}
m³
</span>
<span
style=
"margin-left: 10px;"
>
重量:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
weight
:
0
}}
kg
</span>
</el-row>
</
template
>
</el-table-column>
<el-table-column
label=
"最后操作时间"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"card"
v-if=
"splitData.length>0"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
拆单信息
</div>
<div
v-for=
"(item, index) in splitData"
:key=
"index"
>
<div
class=
"btn-header"
>
<div>
<p
class=
"card-info"
>
<span
class=
"card-title"
>
{{item.orderNo}}
</span>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"item.transportId"
/>
<span>
发往:{{importCityName(item.dstWarehouseId)}}
</span>
</p>
</div>
<div>
<el-button
v-if=
"index==0"
disabled
type=
"primary"
@
click=
"addShop(index)"
>
放入
</el-button>
<el-button
v-if=
"index!=0"
type=
"primary"
@
click=
"addShop(index)"
>
放入
</el-button>
<el-button
type=
"primary"
plain
@
click=
"deleteSplit(item.id)"
>
删除
</el-button>
</div>
</div>
<el-table
border
:data=
"item.orderSplitItemBackVOList"
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
type=
"index"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"品名"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
</
template
>
</el-table-column>
<el-table-column
label=
"品牌"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"体积"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
volume
}}
m³
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
weight
}}
m³
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"箱数"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
num
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"计划装柜"
align=
"center"
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
v-if=
"index==0"
disabled
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
移出
</el-button>
<el-button
v-else
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
移出
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
</el-card>
<work-flow
xmlkey=
"split_order"
v-model=
"selectedUsers"
></work-flow>
<div
slot=
"footer"
class=
"card footer_btn"
v-if=
"orderData.status!=99"
>
<el-button
v-if=
"orderData.status!=19"
type=
"primary"
@
click=
"submitForm"
>
提交申请
</el-button>
<el-button
v-if=
"orderData.status!=19"
plain
type=
"primary"
@
click=
"$emit('closeDialog')"
>
取消
</el-button>
<el-button
v-if=
"orderData.status==19"
type=
"primary"
disabled
>
审核中
</el-button>
<el-button
v-if=
"orderData.status==19"
plain
type=
"primary"
@
click=
"cancelSplit"
>
取消审核
</el-button>
<el-button
v-if=
"orderData.status==19"
plain
type=
"primary"
@
click=
"$emit('closeDialog')"
>
返回
</el-button>
</div>
<!-- 对话框(添加 / 修改) -->
<el-dialog
title=
"新建拆单"
:visible.sync=
"open"
width=
"400px"
append-to-body
>
<el-form
ref=
"formSplit"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-row>
<el-form-item
label=
"运输方式"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportId"
formatter=
"number"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"目的仓库:"
>
<el-select
v-model=
"form.destWarehouseId"
placeholder=
"请选择目的仓库"
>
<el-option
v-for=
"item in importCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"出货渠道"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
placeholder=
"请选择出货渠道"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"item.nameZh"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"haddleAdd"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog
title=
"放入品名"
:visible.sync=
"shopOpen"
width=
"400px"
append-to-body
>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"80px"
>
<el-row>
<el-form-item
label=
"中文品名:"
>
<el-select
v-model=
"shopForm.prodTitleZh"
placeholder=
"请选择中文品名"
@
change=
"changeProdTitleZh"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleZh"
:value=
"item.prodTitleZh"
:key=
"item.prodTitleZh"
></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"英文品名:"
>
<el-select
v-model=
"shopForm.prodTitleEn"
placeholder=
"请选择英文品名"
@
change=
"changeProdTitleEn"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleEn"
:value=
"item.prodTitleEn"
:key=
"item.prodTitleEn"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"剩余箱数:"
>
{{shopForm.sum||0}}
</el-form-item>
<el-form-item
label=
"放入箱数:"
>
<el-input-number
v-model=
"shopForm.num"
controls-position=
"right"
:min=
"1"
:max=
"shopForm.sum"
></el-input-number>
</el-form-item>
<el-form-item
label=
"备注信息:"
>
<el-input
v-model=
"shopForm.remarks"
></el-input>
</el-form-item>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
>
确 定
</el-button>
<el-button
@
click=
"shopCancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getDictData
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
getSplitList
,
splitApply
,
createSplit
,
cancelApply
,
createSplitItem
,
deleteSplitItem
,
deleteSplit
,
}
from
"
@/api/ecw/orderHandle
"
;
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
import
{
getOrder
}
from
"
@/api/ecw/order
"
;
export
default
{
name
:
"
splitOrder
"
,
components
:
{
WorkFlow
,
},
props
:
{
currRow
:
Object
,
},
data
()
{
return
{
checked
:
false
,
orderData
:
{},
splitData
:
[],
splitIndex
:
0
,
channelData
:
[],
tradeCityList
:
[],
multipleSelection
:
[],
loading
:
false
,
open
:
false
,
form
:
{},
selectedUsers
:
[],
shopOpen
:
false
,
shopForm
:
{},
// 表单校验
rules
:
{
transportId
:
[
{
required
:
true
,
message
:
"
请选择运输方式
"
,
trigger
:
"
change
"
},
],
warehouseIds
:
[
{
required
:
true
,
message
:
"
请选择目的仓库
"
,
trigger
:
"
change
"
},
],
channelId
:
[
{
required
:
true
,
message
:
"
请选择出货渠道
"
,
trigger
:
"
change
"
},
],
},
// 表单校验
shopRules
:
{
prodTitleZh
:
[
{
required
:
true
,
message
:
"
请选择中文品名
"
,
trigger
:
"
change
"
},
],
prodTitleEn
:
[
{
required
:
true
,
message
:
"
请选择英文品名
"
,
trigger
:
"
change
"
},
],
},
queryParams
:
{
orderId
:
96
,
lang
:
0
,
},
query
:
{
page
:
1
,
rows
:
20
,
},
splitItemIndex
:
0
,
};
},
created
()
{
this
.
getChannel
();
getTradeCityList
().
then
((
res
)
=>
(
this
.
tradeCityList
=
res
.
data
));
this
.
queryParams
.
orderId
=
this
.
currRow
.
orderId
;
this
.
getList
();
this
.
getOrder
();
},
watch
:
{
//监听table这个对象
tableData
:
{
// 立即监听
immediate
:
true
,
handler
()
{
this
.
$nextTick
(()
=>
{
const
tds
=
document
.
querySelectorAll
(
"
#table .el-table__footer-wrapper tr>td
"
);
// colSpan合并列
tds
[
1
].
colSpan
=
5
;
tds
[
1
].
style
.
textAlign
=
"
left
"
;
tds
[
2
].
style
.
display
=
"
none
"
;
tds
[
3
].
style
.
display
=
"
none
"
;
tds
[
4
].
style
.
display
=
"
none
"
;
});
},
},
},
computed
:
{
getDictData
()
{
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{};
},
getDictDatas
()
{
return
getDictDatas
;
},
importCityList
()
{
return
this
.
tradeCityList
.
filter
((
item
)
=>
item
.
type
==
1
);
},
},
methods
:
{
getOrder
()
{
this
.
loading
=
true
;
getOrder
(
this
.
queryParams
.
orderId
).
then
((
response
)
=>
{
this
.
orderData
=
response
.
data
;
this
.
query
.
destWarehouseId
=
response
.
data
.
logisticsInfoDto
.
startWarehouseId
;
this
.
loading
=
false
;
});
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 执行查询
getSplitList
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
splitData
=
response
.
data
;
this
.
loading
=
false
;
});
},
getChannel
()
{
getChannelList
().
then
((
res
)
=>
(
this
.
channelData
=
res
.
data
));
},
changeDest
()
{
this
.
query
.
warehouseIds
=
this
.
form
.
destWarehouseId
;
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
rowIndex
==
this
.
orderData
.
orderItemVOList
.
length
)
{
if
(
columnIndex
===
1
)
{
return
[
2
,
3
];
}
else
if
(
columnIndex
>
1
)
{
return
[
0
,
0
];
}
}
},
getSummaries
()
{
const
sums
=
[];
sums
[
0
]
=
"
小计
"
;
if
(
!
this
.
orderData
||
!
this
.
orderData
.
orderItemVOList
||
this
.
orderData
.
length
==
0
)
{
return
sums
;
}
var
orderSum
=
0
;
var
orderV
=
0
;
var
orderW
=
0
;
var
leviteSum
=
0
;
var
leviteV
=
0
;
var
leviteW
=
0
;
this
.
orderData
.
orderItemVOList
.
forEach
((
column
,
index
)
=>
{
orderSum
+=
column
.
num
??
0
;
orderV
+=
column
.
volume
??
0
;
orderW
+=
column
.
weight
??
0
;
leviteSum
+=
column
.
warehouseInInfoVO
?.
cartonsNum
??
0
;
leviteV
+=
column
.
warehouseInInfoVO
?.
volume
??
0
;
leviteW
+=
column
.
warehouseInInfoVO
?.
weight
??
0
;
});
sums
[
1
]
=
"
下单统计:
"
+
orderSum
+
"
箱
"
+
orderV
+
"
m³
"
+
orderW
+
"
kg
"
+
"
入仓统计:
"
+
leviteSum
+
"
箱
"
+
leviteV
+
"
m³
"
+
leviteW
+
"
kg
"
;
return
sums
;
},
importCityName
(
id
)
{
var
arr
=
this
.
tradeCityList
.
filter
((
item
)
=>
item
.
id
==
id
);
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
"
无
"
;
},
submitForm
()
{
var
params
=
{
orderId
:
this
.
queryParams
.
orderId
,
copyUserId
:
this
.
selectedUsers
,
};
splitApply
(
params
).
then
((
res
)
=>
{
this
.
$modal
.
msgSuccess
(
"
申请成功
"
);
that
.
getList
();
});
},
addShop
(
index
)
{
this
.
splitItemIndex
=
index
;
this
.
shopOpen
=
true
;
},
addSplit
()
{
this
.
open
=
true
;
},
changeProdTitleZh
()
{
var
list
=
[];
list
=
this
.
orderData
.
orderItemVOList
.
filter
(
(
item
)
=>
item
.
prodTitleZh
==
this
.
shopForm
.
prodTitleZh
);
this
.
shopForm
.
sum
=
list
[
0
].
num
;
this
.
shopForm
.
orderItemId
=
list
[
0
].
orderItemId
;
this
.
shopForm
.
prodTitleEn
=
list
[
0
].
prodTitleEn
;
},
changeProdTitleEn
()
{
var
list
=
[];
list
=
this
.
orderData
.
orderItemVOList
.
filter
(
(
item
)
=>
item
.
prodTitleEn
==
this
.
shopForm
.
prodTitleEn
);
this
.
shopForm
.
sum
=
list
[
0
].
num
;
this
.
shopForm
.
prodTitleZh
=
list
[
0
].
prodTitleZh
;
},
haddleAdd
()
{
let
that
=
this
;
if
(
!
that
.
form
.
transportId
)
{
that
.
$message
.
error
(
"
请选择运输方式
"
);
}
if
(
!
that
.
form
.
destWarehouseId
)
{
that
.
$message
.
error
(
"
请选择目的仓库
"
);
}
// if(!this.form.channelId){
// this.$modal.msgError("请选择出货渠道");
// }
var
params
=
{
dstWarehouseId
:
that
.
form
.
destWarehouseId
,
parentOrderId
:
that
.
orderData
.
orderId
,
parentOrderNo
:
that
.
orderData
.
orderNo
,
transportId
:
that
.
form
.
transportId
,
};
createSplit
(
params
).
then
((
res
)
=>
{
that
.
getList
();
});
that
.
open
=
false
;
},
cancel
()
{
this
.
open
=
false
;
this
.
form
=
{};
},
shopAdd
()
{
this
.
$refs
[
"
shopForm
"
].
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
;
}
});
var
params
=
{
num
:
this
.
shopForm
.
num
,
orderItemId
:
this
.
shopForm
.
orderItemId
,
orderSplitId
:
this
.
splitData
[
this
.
splitItemIndex
].
id
,
remarks
:
this
.
shopForm
.
remarks
,
};
createSplitItem
(
params
).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
放入成功
"
);
this
.
getList
();
this
.
shopForm
=
{};
});
this
.
shopOpen
=
false
;
},
removeShop
(
id
)
{
let
that
=
this
;
that
.
$confirm
(
"
是否移除货物吗?
"
).
then
(
function
()
{
deleteSplitItem
(
id
).
then
((
res
)
=>
{
that
.
$message
.
success
(
"
移除成功
"
);
that
.
getList
();
});
});
},
cancelSplit
()
{
let
that
=
this
;
that
.
$confirm
(
"
是否取消审核吗?
"
).
then
(
function
()
{
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
}).
then
((
res
)
=>
{
that
.
$message
.
success
(
"
取消成功
"
);
that
.
getList
();
});
});
},
shopCancel
()
{
this
.
shopOpen
=
false
;
this
.
shopForm
=
{};
},
/** 删除按钮操作 */
deleteSplit
(
id
)
{
let
that
=
this
;
that
.
$confirm
(
"
是否确认删除新拆的订单吗?
"
).
then
(
function
()
{
deleteSplit
(
id
).
then
((
res
)
=>
{
that
.
$message
.
success
(
"
删除成功
"
);
that
.
getList
();
});
});
},
},
};
</
script
>
<
style
>
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
}
.card-info
{
font-size
:
16px
;
}
.card
{
margin-top
:
20px
;
}
.btn-header
{
width
:
90%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
20px
0
;
}
.red
{
color
:
#ff3430
;
font-size
:
15px
;
}
.footer_btn
{
padding-bottom
:
60px
;
}
</
style
>
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
2fa74d32
...
@@ -79,8 +79,8 @@
...
@@ -79,8 +79,8 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview"
>
移出
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview
&& scope.row.installNum === 0
"
>
移出
</el-button>
<
!--
<el-button
type=
"text"
size=
"small"
disabled
>
拆单
</el-button>
--
>
<
el-button
type=
"text"
size=
"small"
v-if=
"isShowSplitOrder(scope.row)"
@
click=
"handlerSplitOrder(scope.row, 'splitOrder','拆单')"
>
拆单
</el-button
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -162,7 +162,7 @@
...
@@ -162,7 +162,7 @@
</el-row>
</el-row>
</
template
>
</
template
>
<!-- 批量装柜纠错(订单号) -->
<!-- 批量装柜纠错(订单号) -->
<
template
v-if=
"
dialogConfig.type === 'correctionOrder' && dialogConfig.dialogVisible"
>
<
template
v-if=
"dialogConfig.type === 'correctionOrder' && dialogConfig.dialogVisible"
>
<el-form
ref=
"orderForm"
:rules=
"rules"
:model=
"orderObj"
label-position=
"top"
>
<el-form
ref=
"orderForm"
:rules=
"rules"
:model=
"orderObj"
label-position=
"top"
>
<el-form-item
label=
"装柜纠错(订单号)"
prop=
"orderNo"
>
<el-form-item
label=
"装柜纠错(订单号)"
prop=
"orderNo"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"orderObj.orderNo"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"orderObj.orderNo"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
...
@@ -174,7 +174,7 @@
...
@@ -174,7 +174,7 @@
</el-row>
</el-row>
</
template
>
</
template
>
<!-- 装柜批量输入 -->
<!-- 装柜批量输入 -->
<
template
v-if=
"
dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible"
>
<
template
v-if=
"dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible"
>
<el-form
ref=
"batchForm"
:rules=
"rules"
:model=
"batchObj"
label-position=
"top"
>
<el-form
ref=
"batchForm"
:rules=
"rules"
:model=
"batchObj"
label-position=
"top"
>
<el-form-item
label=
""
prop=
"qrCode"
>
<el-form-item
label=
""
prop=
"qrCode"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"batchObj.qrCode"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"batchObj.qrCode"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
...
@@ -185,6 +185,8 @@
...
@@ -185,6 +185,8 @@
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-row>
</el-row>
</
template
>
</
template
>
<!-- 拆单 -->
<splitOrder
v-if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog=
"closeDialog"
/>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -205,6 +207,7 @@ import {
...
@@ -205,6 +207,7 @@ import {
approvalCreate
,
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
}
from
"
@/api/ecw/boxSea
"
;
import
{
getTotlContent
,
serviceMsg
}
from
"
../../utils
"
;
import
{
getTotlContent
,
serviceMsg
}
from
"
../../utils
"
;
import
splitOrder
from
"
./splitOrder.vue
"
;
/**
/**
* 开始装柜
* 开始装柜
...
@@ -214,6 +217,7 @@ export default {
...
@@ -214,6 +217,7 @@ export default {
inheritAttrs
:
false
,
inheritAttrs
:
false
,
components
:
{
components
:
{
supplementOrder
,
supplementOrder
,
splitOrder
,
},
},
props
:
{
props
:
{
shipmentObj
:
Object
,
shipmentObj
:
Object
,
...
@@ -259,6 +263,8 @@ export default {
...
@@ -259,6 +263,8 @@ export default {
qrCode
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
qrCode
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
orderNo
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
orderNo
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
},
},
// 当前行
currRow
:
{},
};
};
},
},
created
()
{
created
()
{
...
@@ -289,6 +295,11 @@ export default {
...
@@ -289,6 +295,11 @@ export default {
handlerClick
(
type
,
title
)
{
handlerClick
(
type
,
title
)
{
this
.
shwoDialog
({
type
,
title
});
this
.
shwoDialog
({
type
,
title
});
},
},
/* 拆单 */
handlerSplitOrder
(
row
,
type
,
title
)
{
this
.
currRow
=
row
;
this
.
shwoDialog
({
type
,
title
});
},
/** 表格订单号点击 */
/** 表格订单号点击 */
orderClick
(
row
)
{
orderClick
(
row
)
{
orderTagList
({
orderId
:
row
.
orderId
}).
then
((
res
)
=>
{
orderTagList
({
orderId
:
row
.
orderId
}).
then
((
res
)
=>
{
...
@@ -340,6 +351,9 @@ export default {
...
@@ -340,6 +351,9 @@ export default {
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
false
);
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
false
);
this
.
modifyCabinetObj
=
{};
this
.
modifyCabinetObj
=
{};
break
;
break
;
case
"
splitOrder
"
:
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
true
);
break
;
}
}
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
},
},
...
@@ -465,6 +479,13 @@ export default {
...
@@ -465,6 +479,13 @@ export default {
serviceMsg
(
res
,
this
);
serviceMsg
(
res
,
this
);
});
});
},
},
/* 是否显示拆单 */
isShowSplitOrder
(
row
)
{
if
(
row
.
num
>
row
.
installNum
)
{
return
true
;
}
return
false
;
},
},
},
watch
:
{
watch
:
{
listData
(
val
)
{
listData
(
val
)
{
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
2fa74d32
...
@@ -277,26 +277,12 @@
...
@@ -277,26 +277,12 @@
<el-row
class=
"process-area"
v-show=
"isAudit"
>
<el-row
class=
"process-area"
v-show=
"isAudit"
>
<div
class=
"process"
>
<div
class=
"process"
>
<div>
审批流程
</div>
<div>
审批流程
</div>
<
div>
流程图
</div
>
<
work-flow
xmlkey=
"shipment_preassemble"
v-model=
"selectedUsers"
></work-flow
>
</div>
</div>
<!-- <div class="copy-user">
<div>
<label class="el-form-item__label">抄送</label>
<userSelect v-model="copyUser" placeholder="请选择抄送人" :allUsers="this.$attrs.allUsers" size="small" multiple collapse-tags />
</div>
<div>
<label class="el-form-item__label">抄送人</label>
<div class="copyUser-tag">
<el-tag v-for="user in copyUsers" :key="user.id" closable @close="removeCopyUser(user)">
{{user.nickname}}
</el-tag>
</div>
</div>
</div> -->
<div>
<div>
<el-button
type=
"primary"
:disabled=
true
>
审核中
</el-button>
<el-button
type=
"primary"
:disabled=
true
>
审核中
</el-button>
<el-button
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
type=
"primary"
@
click=
"closeDialog"
>
返回
</el-button>
<el-button
plain
type=
"primary"
@
click=
"closeDialog"
>
返回
</el-button>
</div>
</div>
</el-row>
</el-row>
</div>
</div>
...
@@ -317,6 +303,7 @@ import {
...
@@ -317,6 +303,7 @@ import {
import
userSelect
from
"
./common/userSelect.vue
"
;
import
userSelect
from
"
./common/userSelect.vue
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
}
from
"
../utils
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
}
from
"
../utils
"
;
import
dayjs
from
"
dayjs
"
;
import
dayjs
from
"
dayjs
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
/**
/**
* 预装
* 预装
...
@@ -324,7 +311,7 @@ import dayjs from "dayjs";
...
@@ -324,7 +311,7 @@ import dayjs from "dayjs";
export
default
{
export
default
{
name
:
"
preinstall
"
,
name
:
"
preinstall
"
,
inheritAttrs
:
false
,
inheritAttrs
:
false
,
components
:
{
userSelect
},
components
:
{
userSelect
,
WorkFlow
},
data
()
{
data
()
{
return
{
return
{
// 状态
// 状态
...
@@ -364,10 +351,8 @@ export default {
...
@@ -364,10 +351,8 @@ export default {
},
},
// 出货信息
// 出货信息
shipmentObj
:
this
.
$attrs
.
shipmentObj
,
shipmentObj
:
this
.
$attrs
.
shipmentObj
,
// 抄送人
copyUser
:
undefined
,
// 抄送人数组
// 抄送人数组
copy
Users
:
[],
selected
Users
:
[],
};
};
},
},
computed
:
{
computed
:
{
...
@@ -594,10 +579,6 @@ export default {
...
@@ -594,10 +579,6 @@ export default {
:
rucangtime
[
1
],
:
rucangtime
[
1
],
};
};
},
},
/* 删除抄送人 */
removeCopyUser
(
user
)
{
this
.
copyUser
=
this
.
copyUser
.
filter
((
id
)
=>
id
!==
user
.
id
);
},
/* 关闭弹框 */
/* 关闭弹框 */
closeDialog
()
{
closeDialog
()
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
closeDialog
"
);
...
@@ -617,17 +598,6 @@ export default {
...
@@ -617,17 +598,6 @@ export default {
});
});
},
},
},
},
watch
:
{
copyUser
(
val
)
{
const
{
allUsers
}
=
this
.
$attrs
;
let
users
=
[];
for
(
const
id
of
val
)
{
const
user
=
allUsers
.
find
((
item
)
=>
item
.
id
===
id
);
if
(
user
)
users
.
push
(
user
);
}
this
.
copyUsers
=
users
;
},
},
};
};
</
script
>
</
script
>
...
@@ -730,26 +700,6 @@ export default {
...
@@ -730,26 +700,6 @@ export default {
font-weight
:
bolder
;
font-weight
:
bolder
;
font-size
:
16px
;
font-size
:
16px
;
}
}
>
:last-child
{
height
:
300px
;
}
}
.copy-user
{
margin-bottom
:
15px
;
>
div
{
display
:
flex
;
align-items
:
center
;
}
>
:last-child
{
.copyUser-tag
{
display
:
flex
;
flex-wrap
:
wrap
;
>
span
{
margin-right
:
10px
;
}
}
}
}
}
}
}
}
}
...
...
src/views/ecw/box/shippingSea/seaProcess.vue
View file @
2fa74d32
...
@@ -74,7 +74,6 @@ export default {
...
@@ -74,7 +74,6 @@ export default {
seaBaseData
:
Array
,
seaBaseData
:
Array
,
},
},
data
()
{
data
()
{
console
.
log
(
this
.
$store
.
state
.
user
);
return
{
return
{
// 弹窗配置
// 弹窗配置
dialogConfig
:
{
dialogConfig
:
{
...
@@ -177,8 +176,17 @@ export default {
...
@@ -177,8 +176,17 @@ export default {
let
nodeIndex
=
0
;
let
nodeIndex
=
0
;
for
(
let
j
=
0
;
j
<
nodes
.
length
;
j
++
)
{
for
(
let
j
=
0
;
j
<
nodes
.
length
;
j
++
)
{
const
node
=
nodes
[
j
];
const
node
=
nodes
[
j
];
const
{
keyName
,
voName
,
status
}
=
node
;
const
{
keyName
,
voName
,
status
,
type
}
=
node
;
if
(
!
keyName
)
continue
;
if
(
!
keyName
&&
type
===
"
agent
"
)
{
if
(
val
[
voName
])
{
// 已完成agent节点
node
.
currStatus
=
"
end
"
;
++
nodeIndex
;
}
continue
;
}
const
{
start
,
wait
,
end
}
=
status
;
const
{
start
,
wait
,
end
}
=
status
;
if
(
start
.
includes
(
val
[
keyName
]))
{
if
(
start
.
includes
(
val
[
keyName
]))
{
...
@@ -199,7 +207,7 @@ export default {
...
@@ -199,7 +207,7 @@ export default {
++
nodeIndex
;
++
nodeIndex
;
}
}
}
}
// 如果相等标识
改
步骤已完成
// 如果相等标识
该
步骤已完成
if
(
nodeIndex
===
nodes
.
length
)
{
if
(
nodeIndex
===
nodes
.
length
)
{
// 加1表示为已完成步骤后一步
// 加1表示为已完成步骤后一步
this
.
currIndex
=
i
+
1
;
this
.
currIndex
=
i
+
1
;
...
...
src/views/ecw/customer/edit.vue
View file @
2fa74d32
...
@@ -162,6 +162,11 @@
...
@@ -162,6 +162,11 @@
<el-input
v-model=
"form.remarks"
placeholder=
"请输入备注"
/>
<el-input
v-model=
"form.remarks"
placeholder=
"请输入备注"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否显示提单价格"
prop=
"remarks"
>
<el-switch
v-model=
"form.isShowTidanPrice"
></el-switch>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"到仓确认"
prop=
"arrivalConfirm"
>
<el-form-item
label=
"到仓确认"
prop=
"arrivalConfirm"
>
<el-switch
v-model=
"form.arrivalConfirm"
:active-value=
"0"
:inactive-value=
"1"
/>
<el-switch
v-model=
"form.arrivalConfirm"
:active-value=
"0"
:inactive-value=
"1"
/>
...
@@ -493,9 +498,6 @@ export default {
...
@@ -493,9 +498,6 @@ export default {
if
(
!
valid
)
{
if
(
!
valid
)
{
return
;
return
;
}
}
this
.
form
.
customerContacts
.
forEach
(
e
=>
{
e
.
userid
=
e
.
userid
.
join
(
'
,
'
)
})
// 修改的提交
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
form
.
id
!=
null
)
{
this
.
form
.
customerContacts
.
forEach
(
e
=>
{
this
.
form
.
customerContacts
.
forEach
(
e
=>
{
...
@@ -556,7 +558,8 @@ export default {
...
@@ -556,7 +558,8 @@ export default {
remarks
:
undefined
,
remarks
:
undefined
,
arrivalConfirm
:
undefined
,
arrivalConfirm
:
undefined
,
weightUnit
:
undefined
,
weightUnit
:
undefined
,
createTime
:
undefined
createTime
:
undefined
,
isShowTidanPrice
:
true
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
...
src/views/ecw/order/transferWarehousing.vue
View file @
2fa74d32
...
@@ -75,11 +75,11 @@
...
@@ -75,11 +75,11 @@
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-descriptions
style=
"margin-top: 20px"
:column=
"4"
border
>
<el-descriptions
style=
"margin-top: 20px"
:column=
"4"
border
>
<el-descriptions-item
label=
"集运仓库"
>
{{ warehouseDetails
.warehouseOutName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"集运仓库"
>
{{ warehouseDetails
&&
warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : ''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"储位"
>
<el-descriptions-item
label=
"储位"
>
<div
v-for=
"item in storageSpaceList"
style=
"display: flex;"
><div>
{{item.warehouseName
}}
</div><div>
{{item.regionName
}} 区
</div></div>
<div
v-for=
"item in storageSpaceList"
style=
"display: flex;"
><div>
{{item.warehouseName
? item.warehouseName : ''}}
</div><div>
{{item.warehouseName ? item.regionName :''
}} 区
</div></div>
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"调拨目标仓"
>
{{ warehouseDetails
.warehouseInName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"调拨目标仓"
>
{{ warehouseDetails
&&
warehouseDetails.warehouseInName ? warehouseDetails.warehouseInName : ''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"物流公司"
>
<el-descriptions-item
label=
"物流公司"
>
<el-select
v-model=
"params.logisticsCompany"
>
<el-select
v-model=
"params.logisticsCompany"
>
<el-option
v-for=
"(item,index) in expressList "
:key=
"index"
:value=
"item.id"
:label=
"item.companyZh"
></el-option>
<el-option
v-for=
"(item,index) in expressList "
:key=
"index"
:value=
"item.id"
:label=
"item.companyZh"
></el-option>
...
@@ -208,7 +208,7 @@ export default {
...
@@ -208,7 +208,7 @@ export default {
})
})
}
}
})
})
this
.
params
.
phone
=
this
.
warehouseDetails
.
phone
;
this
.
params
.
phone
=
this
.
warehouseDetails
.
phone
||
''
;
this
.
params
.
logisticsNo
=
this
.
warehouseDetails
.
logisticsNo
;
this
.
params
.
logisticsNo
=
this
.
warehouseDetails
.
logisticsNo
;
this
.
params
.
id
=
this
.
warehouseDetails
.
id
;
this
.
params
.
id
=
this
.
warehouseDetails
.
id
;
this
.
params
.
deliveryDate
=
this
.
warehouseDetails
.
deliveryDate
this
.
params
.
deliveryDate
=
this
.
warehouseDetails
.
deliveryDate
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
2fa74d32
...
@@ -88,7 +88,7 @@
...
@@ -88,7 +88,7 @@
<el-input
v-else
v-model.number=
"tableData[$index].weight"
placeholder=
""
></el-input>
<el-input
v-else
v-model.number=
"tableData[$index].weight"
placeholder=
""
></el-input>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"数量"
>
<el-table-column
label=
"数量"
width=
"130px"
>
<
template
v-slot=
"{r,c,$index}"
>
<
template
v-slot=
"{r,c,$index}"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
quantityAll
}}
</span>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
quantityAll
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].quantityAll"
placeholder=
""
>
<el-input
v-else
v-model.number=
"tableData[$index].quantityAll"
placeholder=
""
>
...
@@ -105,6 +105,13 @@
...
@@ -105,6 +105,13 @@
</el-table>
</el-table>
</el-card>
</el-card>
<div
v-if=
"edit"
>
<h2>
审批流程
</h2>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div>
<span
slot=
"footer"
>
<span
slot=
"footer"
>
<el-button
@
click=
"opened = false"
>
关 闭
</el-button>
<el-button
@
click=
"opened = false"
>
关 闭
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
提 交
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
提 交
</el-button>
...
@@ -116,15 +123,17 @@
...
@@ -116,15 +123,17 @@
<
script
>
<
script
>
import
dictSelector
from
"
@/components/DictSelector
"
import
dictSelector
from
"
@/components/DictSelector
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
warehousing
from
"
@/views/ecw/order/warehousing
"
import
{
orderWarehouseIn
,
orderWarehouseInUpdateApply
}
from
'
@/api/ecw/order
'
import
{
orderWarehouseIn
}
from
"
@/api/ecw/order
"
import
{
getProductBrankPage
}
from
"
@/api/ecw/productBrank
"
import
{
getProductBrankPage
}
from
"
@/api/ecw/productBrank
"
import
WorkFlow
from
"
@/components/WorkFlow
"
import
elSelect
from
'
@/components/render/slots/el-select
'
export
default
{
export
default
{
name
:
'
editDialog
'
,
name
:
'
editDialog
'
,
components
:
{
components
:
{
dictSelector
dictSelector
,
WorkFlow
},
},
props
:
{
props
:
{
...
@@ -132,6 +141,11 @@ export default {
...
@@ -132,6 +141,11 @@ export default {
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
},
},
// 入仓修改
edit
:
{
type
:
Boolean
,
default
:
false
},
warehousing
:
{
warehousing
:
{
type
:
Object
,
type
:
Object
,
default
:
()
=>
{
default
:
()
=>
{
...
@@ -183,7 +197,9 @@ export default {
...
@@ -183,7 +197,9 @@ export default {
"
prodType
"
:
0
,
"
prodType
"
:
0
,
"
type
"
:
0
"
type
"
:
0
},
},
// orderItem: {}
// orderItem: {},
selectedUsers
:
undefined
};
};
},
},
...
@@ -218,12 +234,33 @@ export default {
...
@@ -218,12 +234,33 @@ export default {
}
}
},
},
handleSubmit
()
{
handleSubmit
()
{
const
orderWarehouseInItemDoList
=
this
.
form
.
orderWarehouseInItemDoList
.
map
(
e
=>
{
const
orderWarehouseInItemDoList
=
[
...
this
.
warehousing
.
orderWarehouseInBackItemDoList
,
...
this
.
form
.
orderWarehouseInItemDoList
.
map
(
e
=>
{
return
{
return
{
...
e
,
...
e
,
boxGauge
:
e
.
boxGauge1
+
'
*
'
+
e
.
boxGauge2
+
'
*
'
+
e
.
boxGauge3
boxGauge
:
e
.
boxGauge1
+
'
*
'
+
e
.
boxGauge2
+
'
*
'
+
e
.
boxGauge3
}
}
})
})
]
if
(
this
.
edit
)
return
orderWarehouseInUpdateApply
({
...
this
.
form
,
brandType
:
this
.
form
.
brand
?
1
:
0
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
this
.
warehousing
.
orderItemId
,
orderNo
:
this
.
warehousing
.
orderNo
,
"
orderWarehouseInUpdateItemDoList
"
:
orderWarehouseInItemDoList
,
copyUserId
:
this
.
selectedUsers
}).
then
(
r
=>
{
if
(
r
.
data
){
this
.
$message
.
success
(
'
入仓修改发起成功
'
)
this
.
handleClose
()
}
else
{
this
.
$message
.
success
(
'
入仓修改发起失败
'
)
}
})
else
return
orderWarehouseIn
({
return
orderWarehouseIn
({
...
this
.
form
,
...
this
.
form
,
brandType
:
this
.
form
.
brand
?
1
:
0
,
brandType
:
this
.
form
.
brand
?
1
:
0
,
...
...
src/views/ecw/order/warehousing/index.vue
View file @
2fa74d32
...
@@ -63,10 +63,13 @@
...
@@ -63,10 +63,13 @@
prop=
"address"
prop=
"address"
label=
"操作"
>
label=
"操作"
>
<
template
v-slot=
"{ row, column, $index }"
>
<
template
v-slot=
"{ row, column, $index }"
>
<el-button
v-if=
"order.status === 5"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
<template
v-else
>
<el-button
v-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
追加
</el-button>
<el-button
v-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
追加
</el-button>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
入仓
</el-button>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
入仓
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
退仓
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
退仓
</el-button>
<el-button
v-if=
"order.status === 5"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
</
template
>
</template>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -86,7 +89,16 @@
...
@@ -86,7 +89,16 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<div
style=
"text-align: center;margin-top: 15px"
>
<el-card
style=
"margin-top: 15px;"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size: 18px"
>
入仓影像
</span>
</div>
<div>
<image-and-video-upload
:fileSize=
"50"
:isShowTip=
"true"
v-model=
"form.urls"
></image-and-video-upload>
</div>
</el-card>
<div
style=
"text-align: center;margin-top: 15px"
v-if=
"order.status !== 5"
>
<el-button
@
click=
"escapeBol = true;"
type=
"primary"
>
转异
</el-button>
<el-button
@
click=
"escapeBol = true;"
type=
"primary"
>
转异
</el-button>
<el-button
type=
"primary"
@
click=
"finishVisible = true"
>
完成入仓
</el-button>
<el-button
type=
"primary"
@
click=
"finishVisible = true"
>
完成入仓
</el-button>
</div>
</div>
...
@@ -94,7 +106,7 @@
...
@@ -94,7 +106,7 @@
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
></warehouse-area-dialog>
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
></warehouse-area-dialog>
<edit-dialog
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
></edit-dialog>
<edit-dialog
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"order.status === 5"
></edit-dialog>
<!-- 完成入仓 -->
<!-- 完成入仓 -->
<el-dialog
<el-dialog
...
@@ -127,6 +139,20 @@
...
@@ -127,6 +139,20 @@
<el-button
@
click=
"escapeBol = false"
>
取消
</el-button>
<el-button
@
click=
"escapeBol = false"
>
取消
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- <el-dialog-->
<!-- title="转异常单"-->
<!-- :visible.sync="dialogVisible"-->
<!-- width="30%"-->
<!-- :before-close="handleClose(done)"-->
<!-- >-->
<!-- <span>这是一段信息</span>-->
<!-- <span slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="dialogVisible = false">确认并完成入仓</el-button>-->
<!-- <el-button @click="dialogVisible = false">取 消</el-button>-->
<!-- </span>-->
<!-- </el-dialog>-->
<print-tag
v-if=
"isShowPrintTag"
:order-id=
"orderId"
@
close=
"isShowPrintTag = false"
></print-tag>
<print-tag
v-if=
"isShowPrintTag"
:order-id=
"orderId"
@
close=
"isShowPrintTag = false"
></print-tag>
<print-warehouse-receipt
v-if=
"isShowPrint"
:order-id=
"orderId"
@
close=
"isShowPrint = false"
/>
<print-warehouse-receipt
v-if=
"isShowPrint"
:order-id=
"orderId"
@
close=
"isShowPrint = false"
/>
...
@@ -150,6 +176,7 @@ import PrintTag from "@/views/ecw/order/components/PrintTag"
...
@@ -150,6 +176,7 @@ import PrintTag from "@/views/ecw/order/components/PrintTag"
import
PrintWarehouseReceipt
from
"
@/views/ecw/order/components/PrintWarehouseReceipt
"
import
PrintWarehouseReceipt
from
"
@/views/ecw/order/components/PrintWarehouseReceipt
"
import
imageUpload
from
"
@/components/ImageUpload
"
;
import
imageUpload
from
"
@/components/ImageUpload
"
;
import
{
parseTime
}
from
"
@/utils/ruoyi
"
import
{
parseTime
}
from
"
@/utils/ruoyi
"
import
ImageAndVideoUpload
from
'
@/components/ImageAndVideoUpload
'
export
default
{
export
default
{
name
:
"
Warehousing
"
,
name
:
"
Warehousing
"
,
...
@@ -159,7 +186,8 @@ export default {
...
@@ -159,7 +186,8 @@ export default {
editDialog
,
editDialog
,
PrintTag
,
PrintTag
,
PrintWarehouseReceipt
,
PrintWarehouseReceipt
,
imageUpload
imageUpload
,
ImageAndVideoUpload
,
},
},
mounted
()
{
mounted
()
{
...
@@ -186,6 +214,7 @@ export default {
...
@@ -186,6 +214,7 @@ export default {
exceptionUrls
:[],
exceptionUrls
:[],
descZh
:
''
,
descZh
:
''
,
manualExceptionType
:
''
,
manualExceptionType
:
''
,
urls
:
[]
},
},
currencyList
:[],
currencyList
:[],
order
:
{},
order
:
{},
...
@@ -204,7 +233,8 @@ export default {
...
@@ -204,7 +233,8 @@ export default {
let
p
=
{
let
p
=
{
orderSpecialNeedReceivableReqVoList
:
this
.
form
.
orderSpecialNeedReceivableReqVoList
,
orderSpecialNeedReceivableReqVoList
:
this
.
form
.
orderSpecialNeedReceivableReqVoList
,
"
orderLocationCreateReqVOList
"
:
this
.
form
.
orderLocationCreateReqVOList
,
"
orderLocationCreateReqVOList
"
:
this
.
form
.
orderLocationCreateReqVOList
,
"
orderId
"
:
this
.
order
.
orderId
"
orderId
"
:
this
.
order
.
orderId
,
urls
:
this
.
form
.
urls
}
}
if
(
this
.
escapeBol
){
if
(
this
.
escapeBol
){
p
.
exceptionUrls
=
this
.
form
.
exceptionUrls
.
split
(
'
,
'
);
p
.
exceptionUrls
=
this
.
form
.
exceptionUrls
.
split
(
'
,
'
);
...
...
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