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
41ee17b6
Commit
41ee17b6
authored
Aug 20, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
fc2029fc
d6896598
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
738 additions
and
1342 deletions
+738
-1342
order.js
src/api/ecw/order.js
+38
-0
detail.vue
src/views/bpm/processInstance/detail.vue
+7
-0
editAirForm.vue
src/views/ecw/box/editAirForm.vue
+2
-0
indexAir.vue
src/views/ecw/box/indexAir.vue
+102
-71
pkgPage.vue
src/views/ecw/box/shippingAir/nodePage/mergePkg/pkgPage.vue
+9
-1
printTag.vue
src/views/ecw/box/shippingAir/nodePage/mergePkg/printTag.vue
+8
-8
unPkgPage.vue
...views/ecw/box/shippingAir/nodePage/mergePkg/unPkgPage.vue
+1
-1
subMaterial.vue
src/views/ecw/box/shippingAir/nodePage/subMaterial.vue
+1
-1
utils.js
src/views/ecw/box/shippingAir/utils.js
+2
-2
packaging-type.vue
src/views/ecw/channel/componrnts/packaging-type.vue
+7
-3
edit.vue
src/views/ecw/offer/edit.vue
+4
-0
BatchFeeApplication.vue
src/views/ecw/order/components/BatchFeeApplication.vue
+97
-0
detail.vue
src/views/ecw/order/detail.vue
+5
-2
edit.vue
src/views/ecw/order/edit.vue
+1
-1
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+53
-70
index.vue
src/views/ecw/order/index.vue
+1
-1
Discounts.vue
src/views/ecw/order/special/Discounts.vue
+4
-4
splitApply.vue
src/views/ecw/order/splitApply.vue
+0
-805
index.vue
src/views/ecw/order/splitApply/index.vue
+369
-369
edit.vue
src/views/ecw/productPrice/edit.vue
+27
-3
No files found.
src/api/ecw/order.js
View file @
41ee17b6
...
...
@@ -96,6 +96,44 @@ export function feeApplicationListByOrderId(query){
data
:
data
,
})
}
// 批量申请费用
export
function
feeApplicationCreateBatch
(
data
){
return
request
({
url
:
'
order/fee-application/create/batch
'
,
method
:
'
post
'
,
data
:
data
,
})
}
// 根据订单ID获取是否有正在申请的费用申请
export
function
getFeeApplicationApproveByOrderId
(
orderId
){
return
request
({
url
:
'
/order/fee-application/get/isApprove
'
,
method
:
'
get
'
,
params
:
{
id
:
orderId
}
})
}
// 根据流程主键ID得到批量申请费用
export
function
getBatchFeeByBusinessId
(
businessId
){
return
request
({
url
:
'
/order/fee-application/getBatchFeeByBusinessId
'
,
method
:
'
get
'
,
params
:
{
businessId
}
})
}
// 查询批量申请费用
export
function
feeApplicationGetBatch
(
params
){
return
request
({
url
:
'
/order/fee-application/get/batch
'
,
method
:
'
get
'
,
params
})
}
//费用申请修改
export
function
applicationUpdate
(
data
){
return
request
({
...
...
src/views/bpm/processInstance/detail.vue
View file @
41ee17b6
...
...
@@ -181,11 +181,18 @@ export default {
id
:
this
.
processInstance
.
businessKey
,
type
:
2
},
// 原来的费用申请
free_apply
:
{
component
:
"
warehouseDetails
"
,
processId
:
this
.
processInstance
.
businessKey
,
type
:
2
},
// 2.0空运加的批量申请
batch_free_apply
:
{
component
:
()
=>
import
(
'
@/views/ecw/order/components/BatchFeeApplication
'
),
businessId
:
this
.
processInstance
.
businessKey
,
processInstanceId
:
this
.
$route
.
query
.
id
},
retired_warehouse
:
{
component
:
"
warehouseDetails
"
,
processId
:
this
.
processInstance
.
businessKey
,
...
...
src/views/ecw/box/editAirForm.vue
View file @
41ee17b6
...
...
@@ -71,6 +71,8 @@ export default {
this
.
form
=
{
...
this
.
shipmentObj
};
if
(
this
.
form
.
destinationClearance
&&
this
.
form
.
destinationClearance
!=
3
){
this
.
form
.
destinationClearanceSelect
=
1
}
else
{
this
.
form
.
destinationClearanceSelect
=
3
}
this
.
getChannelList
()
},
...
...
src/views/ecw/box/indexAir.vue
View file @
41ee17b6
...
...
@@ -194,7 +194,7 @@
<
/template
>
<
script
>
import
{
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
}
from
'
@/api/ecw/box
'
import
{
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
,
getNoticeList
,
dealCustomsSplitNotify
}
from
'
@/api/ecw/box
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
import
costForm
from
'
./costForm.vue
'
...
...
@@ -342,13 +342,27 @@ export default {
getWarehouseList
().
then
((
res
)
=>
(
this
.
warehouseList
=
res
.
data
))
this
.
getList
()
this
.
getChannelList
()
this
.
queryNotice
()
}
,
methods
:
{
formatDate
,
getChannelList
()
{
getChannelList
().
then
((
res
)
=>
(
this
.
channelList
=
res
.
data
))
}
,
queryNotice
()
{
getNoticeList
({
transportTypeList
:
this
.
transportTypes
.
map
((
item
)
=>
item
.
value
),
}
).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
noticeList
=
data
??
[];
if
(
data
.
length
)
{
this
.
$set
(
this
.
dialogCfg
,
"
title
"
,
this
.
$t
(
"
出货操作提醒
"
));
this
.
$set
(
this
.
dialogCfg
,
"
dialogType
"
,
"
notice
"
);
this
.
$set
(
this
.
dialogCfg
,
"
width
"
,
"
650px
"
);
this
.
$set
(
this
.
dialogCfg
,
"
open
"
,
true
);
}
}
);
}
,
/** 查询列表 */
getList
()
{
this
.
loading
=
true
...
...
@@ -405,7 +419,10 @@ export default {
this
.
$set
(
this
.
dialogCfg
,
'
fullscreen
'
,
false
)
this
.
$set
(
this
.
dialogCfg
,
'
open
'
,
true
)
this
.
currRow
=
{
transportType
:
'
3
'
transportType
:
'
3
'
,
destinationClearanceSelect
:
1
,
destinationClearance
:
1
,
deliveryType
:
1
}
}
,
/** 修改按钮操作 */
...
...
@@ -449,91 +466,105 @@ export default {
return
exportboxExcel
(
params
)
}
)
.
then
((
response
)
=>
{
this
.
$download
.
excel
(
response
,
'
${table.classComment
}
.xls
'
)
this
.
$download
.
excel
(
response
,
this
.
$t
(
"
空运管理
"
)
+
"
.xls
"
);
this
.
exportLoading
=
false
}
)
.
catch
(()
=>
{
}
)
}
,
/** 查看按钮操作 */
handleCommand
(
row
,
command
)
{
switch
(
command
)
{
case
"
detail
"
:
this
.
$router
.
push
(
"
/boxAir/query/
"
+
row
.
id
);
break
;
case
'
air
'
:
this
.
$router
.
push
(
'
/boxAir/shippingAir/
'
+
row
.
id
)
break
async
handleCommand
(
row
,
command
)
{
console
.
log
(
command
,
row
);
switch
(
command
)
{
case
"
detail
"
:
this
.
$router
.
push
(
"
/boxAir/query/
"
+
row
.
id
);
break
;
case
'
air
'
:
this
.
$router
.
push
(
'
/boxAir/shippingAir/
'
+
row
.
id
)
break
case
'
edit
'
:
this
.
handleUpdate
(
row
)
break
case
'
edit
'
:
this
.
handleUpdate
(
row
)
break
case
'
delete
'
:
this
.
handleDelete
(
row
);
break
;
case
"
editLadingBill
"
:
const
cabinetLabel
=
this
.
getCabinetName
(
row
.
cabinetId
);
const
title
=
this
.
$t
(
"
查看提单 {selfNo
}
柜号:{cubNo
}
柜型:{cabinetLabel
}
"
,
{
selfNo
:
row
.
selfNo
,
cubNo
:
row
.
cubNo
,
cabinetLabel
:
cabinetLabel
,
}
);
this
.
$set
(
this
.
dialogCfg
,
"
title
"
,
title
);
this
.
$set
(
this
.
dialogCfg
,
"
fullscreen
"
,
true
);
break
;
const
cabinetLabel
=
this
.
getCabinetName
(
row
.
cabinetId
);
const
title
=
this
.
$t
(
"
查看提单 {selfNo
}
柜号:{cubNo
}
柜型:{cabinetLabel
}
"
,
{
selfNo
:
row
.
selfNo
,
cubNo
:
row
.
cubNo
,
cabinetLabel
:
cabinetLabel
,
}
);
this
.
$set
(
this
.
dialogCfg
,
"
title
"
,
title
);
this
.
$set
(
this
.
dialogCfg
,
"
fullscreen
"
,
true
);
break
;
case
'
batchMarkup
'
:
this
.
$router
.
push
(
'
/boxAir/batch_markup?shipmentId=
'
+
row
.
id
)
break
case
"
downloadPreloadGoodsList
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
预装单
"
)
+
`(${row.selfNo
}
).xlsx`
,
"
xlsx
"
);
break
;
case
"
downloadLoadGoodsList
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
已装单
"
)
+
`(${row.selfNo
}
).xlsx`
,
"
xlsx
"
);
break
;
case
"
downloadReceivableList
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
应收汇总表
"
)
+
`(${row.selfNo
}
).xlsx`
,
"
xlsx
"
);
break
;
case
"
zipDownload
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
提货单
"
)
+
`(${row.selfNo
}
).zip`
,
"
zip
"
);
break
;
case
"
downloadAgentListFiles
"
:
case
"
downloadSoncapFiles
"
:
case
"
downloadLadingCopy
"
:
downloadFileByUrl
(
command
,
{
shipmentId
:
row
.
id
}
);
break
;
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
预装单
"
)
+
`(${row.selfNo
}
).xlsx`
,
"
xlsx
"
);
break
;
case
"
downloadLoadGoodsList
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
已装单
"
)
+
`(${row.selfNo
}
).xlsx`
,
"
xlsx
"
);
break
;
case
"
downloadReceivableList
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
应收汇总表
"
)
+
`(${row.selfNo
}
).xlsx`
,
"
xlsx
"
);
break
;
case
"
zipDownload
"
:
downloadFile
(
command
,
{
shipmentId
:
row
.
id
}
,
this
.
$t
(
"
提货单
"
)
+
`(${row.selfNo
}
).zip`
,
"
zip
"
);
break
;
case
"
downloadAgentListFiles
"
:
case
"
downloadSoncapFiles
"
:
case
"
downloadLadingCopy
"
:
downloadFileByUrl
(
command
,
{
shipmentId
:
row
.
id
}
);
break
;
case
"
handle
"
:
const
{
noticeType
}
=
row
;
if
([
1
,
2
,
3
,
4
,
8
].
includes
(
noticeType
))
{
this
.
$router
.
push
(
"
/boxAir/shippingAir/
"
+
row
.
id
);
}
if
([
5
,
6
,
7
].
includes
(
noticeType
))
{
this
.
$router
.
push
(
"
/boxAir/query/
"
+
row
.
id
);
}
if
([
9
].
includes
(
noticeType
)){
await
dealCustomsSplitNotify
(
row
.
notifyId
)
}
this
.
closeDialog
();
break
;
}
if
([
"
editLadingBill
"
,
"
cost
"
,
"
error
"
].
includes
(
command
))
{
this
.
currRow
=
row
;
this
.
$set
(
this
.
dialogCfg
,
"
dialogType
"
,
command
);
this
.
$set
(
this
.
dialogCfg
,
"
width
"
,
"
600px
"
);
this
.
$set
(
this
.
dialogCfg
,
"
open
"
,
true
);
}
}
,
}
if
([
"
editLadingBill
"
,
"
cost
"
,
"
error
"
].
includes
(
command
))
{
this
.
currRow
=
row
;
this
.
$set
(
this
.
dialogCfg
,
"
dialogType
"
,
command
);
this
.
$set
(
this
.
dialogCfg
,
"
width
"
,
"
600px
"
);
this
.
$set
(
this
.
dialogCfg
,
"
open
"
,
true
);
}
}
,
}
}
<
/script
>
...
...
src/views/ecw/box/shippingAir/nodePage/mergePkg/pkgPage.vue
View file @
41ee17b6
...
...
@@ -44,7 +44,7 @@
<el-table-column
:label=
"$t('储位')"
align=
"center"
prop=
"positionNo"
width=
"250px"
>
<
template
slot-scope=
"{ row }"
>
<div
v-for=
"item in row.orderItemDOS"
:key=
"item.orderItemId"
>
{{
notset
(
item
.
positionNo
)
}}
{{
notset
(
getpositionNo
(
item
.
warehouseInInfoVO
.
orderLocationMergeVOSet
)
)
}}
</div>
</
template
>
</el-table-column>
...
...
@@ -184,6 +184,14 @@ export default {
})
return
arr
.
toString
()
},
getpositionNo
(
arr
){
if
(
!
arr
)
return
arr
let
data
=
[]
arr
.
forEach
(
item
=>
{
data
.
push
(
item
.
areaName
+
item
.
locationName
)
})
return
data
.
toString
()
},
removePkg
(
row
)
{
deleteRelate
(
this
.
pkgData
.
id
,
row
.
orderId
).
then
(()
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
移出成功
'
))
...
...
src/views/ecw/box/shippingAir/nodePage/mergePkg/printTag.vue
View file @
41ee17b6
...
...
@@ -15,17 +15,17 @@
</div>
<div
style=
"width: 140px"
>
<p
style=
"margin-top: 1mm; text-align: center"
>
<span
style=
"text-align: center; font-weight: 600; font-size: 4mm"
>
EC001141212
</span>
<span
style=
"text-align: center; font-weight: 600; font-size: 4mm"
>
{{
tagData
.
mergePkgNo
}}
</span>
</p>
<div
style=
"border: 1px solid #999;margin-left: 10px;"
/>
<div
style=
"border
-top
: 1px solid #999;margin-left: 10px;"
/>
<p
style=
"margin-top: 1mm; text-align: center"
>
<span
style=
"text-align: center; font-weight: 600; font-size: 4mm"
>
{{
tagData
.
company
}}
</span>
</p>
<div
style=
"border: 1px solid #999;margin-left: 10px;"
/>
<div
style=
"border
-top
: 1px solid #999;margin-left: 10px;"
/>
<p
style=
"margin-top: 1mm; text-align: center"
>
<span
style=
"text-align: center; font-weight: 600; font-size: 4mm"
>
{{
tagData
.
startWarehouse
}}
->
{{
tagData
.
endWarehouse
}}
</span>
</p>
<div
style=
"border: 1px solid #999;margin-left: 10px;"
/>
<div
style=
"border
-top
: 1px solid #999;margin-left: 10px;"
/>
<div
style=
"display: flex;margin-top: 10px;"
>
<div
style=
"border-right: 2px solid #999;width: 45px;"
>
<p
style=
"margin-top: 1mm; text-align: center"
>
...
...
@@ -40,10 +40,10 @@
</div>
</div>
</div>
<div
style=
"border: 1px solid #999;margin: 10px;"
/>
<div>
<div
style=
"border
-top
: 1px solid #999;margin: 10px;"
/>
<
!--
<
div>
<img
:src=
"tagData.barcodeUrl"
style=
"width:250px;height: 50px;"
/>
</div>
</div>
-->
<div
style=
"height: 50px;"
>
<p
style=
"margin-top: 1mm; text-align: center"
>
<span
style=
"text-align: center; font-weight: 600; font-size: 3mm"
>
E
&
C Logistics: www.groupage.com
</span>
...
...
@@ -110,4 +110,4 @@ export default {
border
:
1px
solid
#999
;
border-radius
:
5px
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/ecw/box/shippingAir/nodePage/mergePkg/unPkgPage.vue
View file @
41ee17b6
...
...
@@ -112,7 +112,7 @@ export default {
if
(
!
arr
)
return
arr
let
data
=
[]
arr
.
forEach
(
item
=>
{
data
.
push
(
item
.
locationName
)
data
.
push
(
item
.
areaName
+
item
.
locationName
)
})
return
data
.
toString
()
},
...
...
src/views/ecw/box/shippingAir/nodePage/subMaterial.vue
View file @
41ee17b6
...
...
@@ -127,7 +127,7 @@ export default {
});
const
voName
=
this
.
$attrs
.
currNode
.
voName
;
let
oldData
=
{
...
this
.
shipmentObj
[
voName
]
};
if
(
oldData
.
issueType
==
0
)
oldData
.
issueType
=
2
if
(
!
oldData
.
issueType
||
oldData
.
issueType
==
0
)
oldData
.
issueType
=
2
oldData
=
formatNumberString
(
oldData
,
[
"
issueType
"
]);
this
.
subMaterialObj
=
{
...
oldData
,
...
...
src/views/ecw/box/shippingAir/utils.js
View file @
41ee17b6
...
...
@@ -666,11 +666,11 @@ const constantDict = {
billingMethod
:
[
{
value
:
"
1
"
,
label
:
i18n
.
$t
(
"
电放
"
),
label
:
i18n
.
$t
(
"
正本
"
),
},
{
value
:
"
2
"
,
label
:
i18n
.
$t
(
"
正本
"
),
label
:
i18n
.
$t
(
"
电放
"
),
},
],
// 是否有文件
...
...
src/views/ecw/channel/componrnts/packaging-type.vue
View file @
41ee17b6
<
template
>
<div>
<template
v-if=
"!readonly"
>
<el-row
type=
"flex"
align=
"align"
:gutter=
"10"
>
<el-col
:span=
"6"
>
空运订单重量上限(kg)
</el-col>
<el-col
:span=
"6"
><el-input
v-model=
"value1.airWeightLimit"
></el-input></el-col>
...
...
@@ -8,12 +9,13 @@
</el-col>
</el-row>
<h1>
空运清关费
</h1>
</
template
>
<div
v-for=
"(item ,index) in value1[keyArr]"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"4"
>
第{{index + 1 }}阶梯定价方案:
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
v-if=
"!readonly"
>
<el-button
type=
"primary"
@
click=
"addInterval"
v-if=
"index === 0"
>
添加区间
</el-button>
...
...
@@ -54,6 +56,7 @@ import {getCurrencyPage} from "@/api/ecw/currency";
import
CurrencySelect
from
"
@/views/ecw/channel/componrnts/currency-select.vue
"
;
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
;
import
WeightSelect
from
"
@/views/ecw/channel/componrnts/weight-select.vue
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
export
default
{
props
:{
value
:{
...
...
@@ -63,10 +66,11 @@ export default {
keyArr
:{
type
:
String
,
default
:
'
channelPriceStepClearanceList
'
}
},
readonly
:
Boolean
},
name
:
"
packaging-type
"
,
components
:
{
WeightSelect
,
CurrencySelect
},
components
:
{
Template
,
WeightSelect
,
CurrencySelect
},
created
()
{
getCurrencyPage
(
this
.
params
).
then
(
res
=>
this
.
currencyList
=
res
.
data
.
list
)
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
...
...
src/views/ecw/offer/edit.vue
View file @
41ee17b6
...
...
@@ -1019,6 +1019,10 @@ export default {
item
.
transportId
=
this
.
form
.
transportId
})
if
(
this
.
form
.
transportVO
?.
packageTypeArr
){
this
.
form
.
transportVO
.
packageType
=
this
.
form
.
transportVO
.
packageTypeArr
.
join
(
'
,
'
)
}
// 修改的提交
if
(
this
.
form
.
offerId
!=
null
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
...
...
src/views/ecw/order/components/BatchFeeApplication.vue
0 → 100644
View file @
41ee17b6
<
template
>
<div>
<h1>
{{
$t
(
'
申请信息【订单信息】
'
)
}}
</h1>
<el-descriptions
:column=
"4"
border
>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
></dict-tag>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货方式')"
>
{{
order
.
channelName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
{{
order
.
statusMsg
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发仓')"
>
{{
order
.
logisticsInfoDto
.
startTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的仓')"
>
{{
order
.
logisticsInfoDto
.
destTitleZh
}}
</el-descriptions-item>
</el-descriptions>
<div
style=
"font-size: 14px"
>
<p>
{{
$t
(
'
申请理由
'
)
}}
</p>
<div
v-for=
"(item, index) in feeList"
:key=
"item.id"
>
{{
index
+
1
}}
、【
<dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"item.feeType"
/>
】,
<dict-tag
:value=
"item.payType"
:type=
"DICT_TYPE.PAYMENT_TYPE"
></dict-tag>
,
{{
item
.
applicationFee
}}{{
currencyName
(
item
.
applicationFeeCurrency
)
}}
{{
$t
(
'
备注
'
)
}}
:
{{
item
.
remarks
||
$t
(
'
无
'
)
}}
</div>
</div>
</div>
</
template
>
<
script
>
import
{
warehouseApprovalGetByFormId
,
warehouseApprovalGetById
,
warehouseAreaPositionList
}
from
"
@/api/ecw/batchSingleApplication
"
;
import
{
applicationGetOrderByProcessId
,
feeApplicationGet
,
feeApplicationGetBatch
,
getBatchFeeByBusinessId
,
getBatchFeeByProcessId
,
getOrder
,
getOrderPage
,
getWarehouseUpdateApprovalInfo
,
qetBatchFeeByBusinessId
}
from
'
@/api/ecw/order
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
Template
from
"
@/views/cms/template
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
;
import
{
arrryToKeyedObjectBy
}
from
'
@/utils/index
'
export
default
{
components
:
{
Template
},
props
:{
businessId
:
[
Number
,
String
],
processInstanceId
:
String
},
name
:
"
BatchFeeApplicationDetail
"
,
data
(){
return
{
order
:
null
,
feeList
:
[],
currencyList
:[]
}
},
computed
:{
currencyMap
(){
return
arrryToKeyedObjectBy
(
this
.
currencyList
,
'
id
'
)
},
currencyName
(){
return
id
=>
{
let
obj
=
this
.
currencyMap
[
id
]
if
(
obj
)
return
this
.
$l
(
obj
,
'
title
'
)
return
this
.
$t
(
'
未知
'
)
}
}
},
created
()
{
getCurrencyList
().
then
(
res
=>
{
this
.
currencyList
=
res
.
data
})
getBatchFeeByBusinessId
(
this
.
businessId
).
then
(
res
=>
{
console
.
log
({
res
})
this
.
feeList
=
res
.
data
return
getOrder
(
res
.
data
[
0
].
orderId
)
}).
then
(
res
=>
{
this
.
order
=
res
.
data
})
},
methods
:{
}
}
</
script
>
src/views/ecw/order/detail.vue
View file @
41ee17b6
...
...
@@ -159,7 +159,7 @@
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('清关证书备注')"
>
{{ order.c
learCertRemark
}}
{{ order.c
ustomsClearCertRemarks
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('是否拆包')"
>
{{order.isUnpack? this.$t('是'):this.$t('否')}}
...
...
@@ -168,7 +168,10 @@
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('特殊要求')"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
:value=
"order.packageTypeArr"
/>
<
template
v-for=
"packageType in order.packageType.split(',')"
>
<dict-tag
class=
"mr-10"
v-if=
"packageType"
:key=
"packageType"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
:value=
"packageType"
/>
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('特殊要求备注')"
>
{{order.packageRemarks}}
...
...
src/views/ecw/order/edit.vue
View file @
41ee17b6
...
...
@@ -1273,7 +1273,7 @@ export default {
this
.
form
.
packageType
=
this
.
form
.
packageTypeArr
.
join
(
'
,
'
)
// 付款人=发货人提示
if
(
+
this
.
form
.
drawee
===
1
)
{
if
(
+
this
.
form
.
drawee
===
1
&&
!
this
.
updateChannel
)
{
await
this
.
$confirm
(
this
.
$t
(
'
请再次确认运费由您支付还是收货人支付?
'
))
}
...
...
src/views/ecw/order/feeApplication.vue
View file @
41ee17b6
...
...
@@ -12,35 +12,35 @@
</div></el-form-item>
<el-form-item
:label=
"$t('发货人')+':'"
><div
class=
"content"
>
{{
orderDetails
.
consignorVO
?
orderDetails
.
consignorVO
.
name
:
''
}}
</div></el-form-item>
<el-form-item
:label=
"$t('唛头')"
><div
class=
"content"
>
{{
orderDetails
.
marks
}}
</div></el-form-item>
<el-form-item>
<el-button
@
click=
"addCost"
>
{{
$t
(
'
添加申请
'
)
}}
</el-button></el-form-item>
<el-form-item>
<el-button
:disabled=
"!!processInstanceId"
@
click=
"addCost"
>
{{
$t
(
'
添加申请
'
)
}}
</el-button></el-form-item>
</el-form>
<el-table
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('费用类型')"
>
<template
v-slot:default =
"scope"
>
<dict-selector
:disabled=
"
isModify[forbidden(scope.row)]
"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
<dict-selector
:disabled=
"
!!processInstanceId
"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
>
<
template
v-slot:default =
'scope'
>
<el-input
:disabled=
"
isModify[forbidden(scope.row)]
"
v-model.number=
"scope.row.applicationFee"
></el-input>
<el-input
:disabled=
"
!!processInstanceId
"
v-model.number=
"scope.row.applicationFee"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货币类型')"
>
<
template
v-slot:default =
'scope'
>
<el-select
:disabled=
"
isModify[forbidden(scope.row)]
"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-select
:disabled=
"
!!processInstanceId
"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-option
v-for=
"item in JSON.parse(currencys)"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('付款类型')"
>
<
template
v-slot =
{row}
>
<dict-selector
:disabled=
"
isModify[forbidden(row)]
"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
<dict-selector
:disabled=
"
!!processInstanceId
"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('备注')"
>
<
template
v-slot:default=
"scope"
>
<el-input
:disabled=
"
isModify[forbidden(scope.row)]
"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
<el-input
:disabled=
"
!!processInstanceId
"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('确认收款')"
>
...
...
@@ -55,9 +55,10 @@
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot:default =
'scope'
>
<el-button
type=
"text"
v-if=
"scope.row.status !== 0&&scope.row.status !== 1"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-button>
<
!--
<
el-button
type=
"text"
v-if=
"scope.row.status !== 0&&scope.row.status !== 1"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status == 1"
@
click=
"examineFn"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 2"
@
click=
"modify(scope.row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 2"
@
click=
"modify(scope.row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
-->
<el-button
type=
"text"
:disabled=
"!!processInstanceId"
@
click=
"del(scope.$index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -65,9 +66,9 @@
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
</div>
<div
style=
"text-align: center;margin-top: 20px;"
>
<el-button
v-if=
"!IsExamine
"
style=
"margin-right: 30px;"
@
click=
"submit"
>
{{$t('提交')}}
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"examineFn
"
>
{{$t('审核中')}}
</el-button>
<el-button
v-if=
"IsExamine
"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
{{$t('取消审核')}}
</el-button>
<el-button
type=
"primary"
v-if=
"!processInstanceId
"
style=
"margin-right: 30px;"
@
click=
"submit"
>
{{$t('提交')}}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px;"
@
click=
"goProcessDetail
"
>
{{$t('审核中')}}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId
"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
{{$t('取消审核')}}
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
{{$t('返回')}}
</el-button>
</div>
</div>
...
...
@@ -78,10 +79,14 @@
<
script
>
import
{
getOrder
,
feeApplicationCreate
,
feeApplicationCreate
Batch
,
ApplicationListByOrderId
,
applicationUpdate
,
feeApplicationListByOrderId
,
feeApplicationCancel
feeApplicationListByOrderId
,
feeApplicationCancel
,
getFeeApplicationApproveByOrderId
,
getBatchFeeByProcessId
,
qetBatchFeeByBusinessId
,
getBatchFeeByBusinessId
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
Template
from
"
@/views/cms/template
"
;
...
...
@@ -100,7 +105,11 @@ export default {
data
(){
return
{
orderDetails
:{},
// 费用列表
list
:[],
// 审核ID,没有则表示不在审核中
processInstanceId
:
null
,
DICT_TYPE
,
getDictDatas
,
STATUS
:{},
...
...
@@ -114,24 +123,28 @@ export default {
this
.
STATUS
[
e
.
value
]
=
e
.
label
})
},
computed
:{
forbidden
(){
return
(
row
)
=>
{
return
this
.
list
.
findIndex
(
e
=>
e
.
id
===
row
.
id
)
getOrder
(
this
.
orderId
).
then
(
res
=>
{
this
.
orderDetails
=
res
.
data
})
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
(
res
=>
{
if
(
res
.
data
.
formId
){
this
.
processInstanceId
=
res
.
data
.
formId
getBatchFeeByBusinessId
(
res
.
data
.
orderApprovalId
).
then
(
res
=>
{
this
.
list
=
res
.
data
})
}
},
IsExamine
(){
return
this
.
list
.
some
(
e
=>
e
.
status
===
1
)
}
})
},
methods
:{
del
(
index
){
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
this
.
list
.
splice
(
index
,
1
)
})
},
addCost
(){
if
(
this
.
list
.
some
(
e
=>
e
.
status
===
0
||
e
.
status
===
1
)){
return
this
.
$message
.
success
(
this
.
$t
(
'
当前有申请费用为审核中或未提交,请审核后在申请
'
));
}
this
.
list
.
push
(
{
this
.
list
.
push
({
orderId
:
this
.
orderId
,
feeType
:
undefined
,
//费用申请类型
applicationFee
:
undefined
,
//金额
...
...
@@ -140,54 +153,24 @@ export default {
receiveFlag
:
0
,
applicationAuthor
:
undefined
,
status
:
0
,
}
)
this
.
isModify
.
push
(
false
)
this
.
isModifyIf
=
false
;
},
submit
(){
if
(
this
.
isModifyIf
){
applicationUpdate
({...
this
.
list
[
this
.
isModify
.
findIndex
(
e
=>
e
===
false
)],
status
:
1
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
));
}
})
}
else
{
if
(
this
.
list
[
this
.
list
.
length
-
1
].
status
===
0
){
feeApplicationCreate
(
{...
this
.
list
[
this
.
list
.
length
-
1
],
status
:
1
,
copyUserId
:
this
.
selectedUsers
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
this
.
$t
(
'
添加成功
'
));
this
.
selectedUsers
=
[];
}
})
}
else
{
this
.
$message
.
success
(
this
.
$t
(
'
当前有申请费用为审核中或未提交,请审核后在申请
'
));
}
}
},
getOrderList
(){
ApplicationListByOrderId
({
orderId
:
this
.
orderId
}).
then
(
r
=>
{
submit
(){
feeApplicationCreateBatch
(
{
orderFeeApplicationCreateReqVOList
:
this
.
list
,
copyUserId
:
this
.
selectedUsers
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
list
=
r
.
data
;
this
.
list
.
forEach
(()
=>
this
.
isModify
.
push
(
true
))
let
p
=
this
.
list
.
find
(
e
=>
e
.
status
===
1
)
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
this
.
$t
(
'
添加成功
'
));
this
.
selectedUsers
=
[];
}
})
},
modify
(
row
){
if
(
this
.
list
.
some
(
i
=>
i
.
status
===
0
||
i
.
status
===
1
))
return
this
.
$message
.
warning
(
this
.
$t
(
'
当前有未提交的数据或审核中的数据不能修改
'
))
this
.
isModifyIf
=
true
;
this
.
isModify
.
forEach
((
item
,
index
)
=>
{
this
.
$set
(
this
.
isModify
,
index
,
true
)
})
this
.
$set
(
this
.
isModify
,
this
.
list
.
findIndex
(
e
=>
e
.
id
===
row
.
id
),
false
)
},
examineFn
(){
let
item
=
this
.
list
.
find
(
e
=>
e
.
status
===
1
);
console
.
log
(
item
)
this
.
$router
.
push
({
path
:
'
/bpm/process-instance/detail
'
,
query
:{
id
:
item
.
bpmProcessId
}})
goProcessDetail
(){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$router
.
push
(
'
/bpm/process-instance/detail?id=
'
+
this
.
processInstanceId
)
},
cancel
(){
this
.
$prompt
(
this
.
$t
(
'
请输入取消原因
'
),
this
.
$t
(
'
提示
'
),
{
...
...
@@ -195,7 +178,7 @@ export default {
cancelButtonText
:
this
.
$t
(
'
取消
'
),
}).
then
(({
value
})
=>
{
let
item
=
this
.
list
.
find
(
e
=>
e
.
status
===
1
);
feeApplicationCancel
({
huifu
:
value
,
bpmProcessId
:
item
.
bpmProcess
Id
}).
then
(
r
=>
{
feeApplicationCancel
({
huifu
:
value
,
bpmProcessId
:
this
.
processInstance
Id
}).
then
(
r
=>
{
this
.
$message
({
type
:
'
success
'
,
message
:
this
.
$t
(
'
取消成功
'
)
...
...
src/views/ecw/order/index.vue
View file @
41ee17b6
...
...
@@ -497,7 +497,7 @@
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<batch-single-application
@
getList=
"getList"
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<fee-application
:order-id=
"orderId"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBol"
></fee-application>
<fee-application
v-if=
"feeApplicationBol"
:order-id=
"orderId"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBol"
></fee-application>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo=null"
/>
<pickup-log
v-if=
"showPickupLogOrderNo"
:order-no=
"showPickupLogOrderNo"
@
close=
"showPickupLogOrderNo=null"
@
delete=
"getList"
/>
<SplitRevoke
v-if=
"splitRevokeOrderId"
:order-id=
"splitRevokeOrderId"
@
close=
"splitRevokeOrderId=null;getList()"
></SplitRevoke>
...
...
src/views/ecw/order/special/Discounts.vue
View file @
41ee17b6
...
...
@@ -5,7 +5,7 @@
<span>
{{
order
.
orderNo
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('线路')"
>
{{
$t
(
'
【
'
)
}}
<dict-tag
:type=
"DICT_TYPE.TRANSPORT_TYPE"
:value=
"order.transportId"
/>
】
{{
channel
?
$l
(
channel
,
'
title
'
)
:
''
}}
{{
order
.
channelName
}}
{{
$t
(
"
从【{departureName
}
】发往【{objectiveName
}
】
"
,
{
departureName
:
$l
(
order
.
logisticsInfoDto
,
'
startTitle
'
),
objectiveName
:
$l
(
order
.
logisticsInfoDto
,
'
destTitle
'
)
}
)
}}
<
/el-form-item
>
<
/el-form
>
...
...
@@ -109,11 +109,11 @@ export default {
// getProductType(this.orderItem.prodType).then(res =>
{
// this.productType = res.data
//
}
)
if
(
this
.
order
.
channelId
){
/*
if(this.order.channelId){
getChannel(this.order.channelId).then(res => {
this.channel = res.data
}
)
}
}
*/
}
,
data
()
{
return
{
...
...
@@ -125,7 +125,7 @@ export default {
ccIdArr
:
[],
form
:
{
}
,
productType
:
null
,
channel
:
null
//
channel: null
}
}
,
watch
:{
...
...
src/views/ecw/order/splitApply.vue
deleted
100644 → 0
View file @
fc2029fc
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
拆单申请
'
)
}}
-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
{{
$t
(
'
原单信息
'
)
}}
</span>
<div>
<span
v-if=
"orderData.abnormalState!=0"
class=
"red"
>
{{
$t
(
'
异常无法拆单
'
)
}}
</span>
<el-button
v-else
type=
"primary"
@
click=
"addSplit"
:disabled=
"orderData.inWarehouseState==207"
>
{{
$t
(
'
新建拆单
'
)
}}
</el-button>
</div>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
orderData
.
marks
?
orderData
.
marks
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货日期')"
>
{{
orderData
.
deliveryDate
||
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
<template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
startTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
<
template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{orderData.consignorVO?orderData.consignorVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货公司')"
>
{{orderData.consignorVO?orderData.consignorVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货电话')"
>
{{!orderData.consignorVO?$t('无'):!orderData.consignorVO.phone?$t('无'):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{orderData.consigneeVO?orderData.consigneeVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货公司')"
>
{{orderData.consigneeVO?orderData.consigneeVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货电话')"
>
{{!orderData.consigneeVO?$t('无'):!orderData.consigneeVO.phone?$t('无'):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
{{$t('货物信息')}}
</div>
<el-table
id=
'table'
v-loading=
"loading"
border
:data=
"orderData.orderItemVOList"
:summary-method=
"getSummaries"
show-summary
>
<el-table-column
:label=
"$t('序号')"
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=
"$t('品名')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('填单货物属性')"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-row>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
/>
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
num
||
$t
(
'
未填
'
)
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
volume
||
$t
(
'
未填
'
)
}}
m³
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
weight
||
$t
(
'
未填
'
)
}}
kg
</span>
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入库货物属性')"
align=
"center"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<template
v-if=
"scope.row.brandName"
>
{{
scope
.
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.feeType"
/>
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('箱数')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.cartonsNum}}
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('体积')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}m³
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('重量')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg
</span>
</el-row>
<el-row
v-if=
"!scope.row.warehouseInInfoVO"
>
<span>
{{$t('暂时没有入仓信息')}}
</span>
</el-row>
</template>
</el-table-column>
<el-table-column
:label=
"$t('最后操作时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<!--
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
-->
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_STATUS"
:value=
"scope.row.itemStatus"
/>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"card"
v-if=
"splitData.length>0"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
{{$t('拆单信息')}}
</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>
{{$t('发往')}}:{{importCityName(item.dstWarehouseId)}}
</span>
</p>
</div>
<div>
<el-button
v-if=
"index==0"
disabled
type=
"primary"
@
click=
"addShop(index)"
>
{{$t('放入')}}
</el-button>
<el-button
v-if=
"index!=0"
type=
"primary"
@
click=
"addShop(index)"
>
{{$t('放入')}}
</el-button>
<!--<el-button v-if="index==0" disabled type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button>-->
<el-button
:disabled=
"index < splitData.length - 1"
type=
"primary"
plain
@
click=
"deleteSplit(item.id)"
>
{{$t('删除')}}
</el-button>
</div>
</div>
<el-table
v-if=
"item.orderSplitItemBackVOList"
border
:data=
"item.orderSplitItemBackVOList"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('中文名')"
align=
"center"
prop=
"prodTitleZh"
/>
<el-table-column
:label=
"$t('英文名')"
align=
"center"
prop=
"prodTitleEn"
/>
<el-table-column
:label=
"$t('品牌')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.brandName"
>
{{
scope
.
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.feeType"
/>
</template>
</el-table-column>
<el-table-column
:label=
"$t('入仓体积')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.volume"
@
change=
"updateField(scope.row, 'volume')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
m³
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收费体积')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.chargeVolume"
@
change=
"updateField(scope.row, 'chargeVolume')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
m³
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入仓重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.weight"
@
change=
"updateField(scope.row, 'weight')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收费重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.chargeWeight"
@
change=
"updateField(scope.row, 'chargeWeight')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货值')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.worth"
@
change=
"updateField(scope.row, 'worth')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
{{
$t
(
'
美元
'
)
}}
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('箱数')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
num
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
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)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
<el-button
v-else
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</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.abnormalState==0"
>
<el-button
v-if=
"orderData.inWarehouseState!=207"
type=
"primary"
@
click=
"submitForm"
>
{{$t('提交申请')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState!=207"
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('取消')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState==207"
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+orderApprovalBackVO.applyingFormId)"
>
{{$t('审核中')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState==207"
plain
type=
"primary"
@
click=
"dialogVisible = true"
>
{{$t('取消审核')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState==207"
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('返回')}}
</el-button>
</div>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('新建拆单')"
:visible.sync=
"open"
width=
"400px"
append-to-body
>
<el-form
ref=
"formSplit"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:clearable=
"true"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
@
change=
"changeTransport"
v-model=
"form.transportId"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
:placeholder=
"$t('请选择出货渠道')"
:clearable=
"true"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"$l(item, 'name')"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓库')"
>
<el-select
v-model=
"form.destWarehouseId"
@
change=
"changeDeatWarehouseId"
:placeholder=
"$t('请选择目的仓库')"
:clearable=
"true"
>
<el-option
v-for=
"items in importCityList"
:label=
"$l(items, 'title')"
:value=
"items.id"
:key=
"items.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"haddleAdd"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"cancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('放入品名')"
:visible.sync=
"shopOpen"
width=
"500px"
append-to-body
>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"120px"
>
<el-form-item
:label=
"$t('中文品名')"
v-if=
"splitData.length>0"
>
<el-select
v-model=
"shopForm.pordid"
:placeholder=
"$t('请选择中文品名')"
@
change=
"changeProdTitleZh"
clearable
>
<el-option
v-for=
"item in splitData[0].orderSplitItemBackVOList"
:label=
"item.prodTitleZh"
:value=
"item.id"
:key=
"item.prodTitleZh"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('英文品名')"
v-if=
"splitData.length>0"
>
<el-select
v-model=
"shopForm.pordid"
:placeholder=
"$t('请选择英文品名')"
@
change=
"changeProdTitleZh"
clearable
>
<el-option
v-for=
"item in splitData[0].orderSplitItemBackVOList"
:label=
"item.prodTitleEn"
:value=
"item.id"
:key=
"item.prodTitleEn"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label2=
"$t('剩余箱数')"
v-if=
"mainOrderItem.orderItemId"
>
{{$t('剩余箱数')}}{{ shopForm.sum || 0 }}
<!--,可放入箱数:{{ mainOrderItem.num - 1 }}-->
</el-form-item>
<el-form-item
:label=
"$t('放入箱数')"
>
<el-input-number
v-model=
"shopForm.num"
@
change=
"numChange"
controls-position=
"right"
:min=
"1"
:max=
"mainOrderItem.num"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"quantityshow"
:label=
"$t('放入数量')+'('+$t('个')+')'"
>
<el-input-number
v-model=
"shopForm.quantity"
controls-position=
"right"
:min=
"1"
:max=
"mainOrderItem.quantity-1"
:placeholder=
"$t('最多可放入{quantity}', {
quantity: mainOrderItem.quantity-1
})"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"mainOrderItem.orderItemId"
>
<div>
{{ $t('剩余入仓方数') }}:{{ mainOrderItem.volume || 0 }}m³
<!--,{{$t('可放入仓方数')}}:{{ (mainOrderItem.volume - 0.01).toFixed(2) }}m³-->
</div>
<div>
{{$t('剩余收费方数')}}:{{ mainOrderItem.chargeVolume || 0 }}m³
<!--,{{$t('可放入收费方数')}}:{{ (mainOrderItem.chargeVolume - 0.01).toFixed(2) }}m³-->
</div>
</el-form-item>
<el-form-item
:label=
"$t('入仓方数')"
>
<el-input-number
v-model=
"shopForm.volume"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.volume"
></el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('收费方数')"
>
<el-input-number
v-model=
"shopForm.chargeVolume"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.chargeVolume"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"mainOrderItem.orderItemId"
>
<div>
{{$t('剩余入仓重量')}}:{{ mainOrderItem.weight || 0 }}kg
<!--,{{$t('可放入重量')}}:{{ mainOrderItem.weight }}kg-->
</div>
<div>
{{$t('剩余收费重量')}}:{{ mainOrderItem.chargeWeight || 0 }}kg
<!--,{{$t('可放入收费重量')}}:{{ mainOrderItem.chargeWeight }}kg-->
</div>
</el-form-item>
<el-form-item
:label=
"$t('入仓重量')"
>
<el-input-number
v-model=
"shopForm.weight"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.weight"
></el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('收费重量')"
>
<el-input-number
v-model=
"shopForm.chargeWeight"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.chargeWeight"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"mainOrderItem.orderItemId"
>
<div>
{{$t('剩余货值')}}:{{ mainOrderItem.worth || 0 }}{{ $t('美元') }}
</div>
</el-form-item>
<el-form-item
:label=
"$t('放入货值')"
>
<el-input-number
v-model=
"shopForm.worth"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.worth"
>
<
template
slot=
"append"
>
{{
$t
(
'
元
'
)
}}
</
template
>
</el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息')+':'"
>
<el-input
v-model=
"shopForm.remark"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"shopCancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"$t('提示')"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<span
class=
"cancel_notice"
>
{{$t('拆单申请正在审核中,你确定取消拆单申请吗?')}}
</span>
<div
class=
"cancel_content"
>
<span>
{{$t('取消原因:')}}
</span>
<el-input
v-model=
"reason"
:placeholder=
"$t('请输入取消原因')"
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
{{$t('取消')}}
</el-button>
<el-button
type=
"primary"
@
click=
"cancelSplit"
>
{{$t('确定')}}
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
getDictData
,
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getSplitList
,
splitApply
,
createSplit
,
cancelApply
,
createSplitItem
,
deleteSplitItem
,
deleteSplit
,
deleteAllSplit
}
from
"
@/api/ecw/orderHandle
"
import
{
getWarehouseList
,
quantityRequired
}
from
'
@/api/ecw/warehouse
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
{
getOrder
,
splitItemUpdate
}
from
'
@/api/ecw/order
'
import
Decimal
from
'
decimal.js
'
import
Template
from
"
@/views/cms/template
"
;
export
default
{
name
:
"
SplitApply
"
,
components
:
{
Template
,
WorkFlow
},
data
()
{
return
{
checked
:
false
,
reason
:
''
,
dialogVisible
:
false
,
orderData
:{},
splitData
:[],
orderApprovalBackVO
:{},
splitIndex
:
0
,
channelData
:[],
tradeCityList
:[],
multipleSelection
:[],
loading
:
false
,
open
:
false
,
form
:{
},
importCityList
:[],
selectedUsers
:[],
shopOpen
:
false
,
quantityshow
:
false
,
shopForm
:{},
// 表单校验
rules
:
{
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择运输方式
"
),
trigger
:
"
change
"
}],
warehouseIds
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择目的仓库
"
),
trigger
:
"
change
"
}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择出货渠道
"
),
trigger
:
"
change
"
}],
},
// 表单校验
shopRules
:
{
prodTitleZh
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择中文品名
"
),
trigger
:
"
change
"
}],
prodTitleEn
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择英文品名
"
),
trigger
:
"
change
"
}],
},
queryParams
:{
orderId
:
7
,
lang
:
0
},
query
:{
page
:
1
,
rows
:
20
},
splitItemIndex
:
0
,
quantitySum
:
0
};
},
async
created
()
{
this
.
getChannel
()
getWarehouseList
().
then
(
res
=>
{
this
.
tradeCityList
=
res
.
data
this
.
importCityList
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
)
})
if
(
this
.
$route
.
query
.
orderId
)
{
this
.
queryParams
.
orderId
=
this
.
$route
.
query
.
orderId
}
Promise
.
all
([
this
.
getList
(),
this
.
getOrder
()]).
then
(
res
=>
{
console
.
log
(
"
拆单数据
"
,
this
.
splitData
,
this
.
splitData
.
length
)
if
(
this
.
orderData
.
inWarehouseState
!=
207
&&
this
.
splitData
.
length
){
// 2023-05-20确认不需要询问,直接重置
deleteAllSplit
(
this
.
queryParams
.
orderId
).
then
(
res
=>
{
this
.
getList
()
})
/*this.$confirm(this.$t('已有拆单数据,是否要重置?')).then(res => {
return deleteAllSplit(this.queryParams.orderId)
}).then(res => {
this.getList()
this.$message.success("重置成功")
})*/
}
})
},
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
"
;
tds
[
5
].
style
.
display
=
"
none
"
;
});
},
},
// 关闭放入弹层的时候清理弹层表单内容
shopOpen
(
show
){
if
(
!
show
){
this
.
shopForm
=
{}
}
}
},
computed
:{
getDictData
(){
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
},
getDictDatas
(){
return
getDictDatas
},
// 放入品名试选择的商品项
orderItem
(){
if
(
!
this
.
orderData
||
!
this
.
shopForm
.
orderItemId
)
return
{}
return
this
.
orderData
.
orderItemVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
shopForm
.
orderItemId
)
||
{}
},
// 主单数据,也就是拆分剩余的数据,可用来限制拆单放入的最大值
mainOrderItem
(){
if
(
!
this
.
orderItem
.
orderItemId
||
!
this
.
splitData
.
length
||
!
this
.
splitData
[
0
].
orderSplitItemBackVOList
)
return
{}
return
this
.
splitData
[
0
].
orderSplitItemBackVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
orderItem
.
orderItemId
)
||
{}
}
},
methods
:
{
/*检查并提交字段(体积,重量)修改*/
updateField
(
row
,
field
){
let
val
=
parseFloat
(
row
[
field
])
if
(
!
val
||
val
<
0
){
this
.
$message
.
error
(
this
.
$t
(
'
数据无效
'
))
return
this
.
getList
()
}
splitItemUpdate
(
row
).
then
(()
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
))
}).
finally
(()
=>
{
this
.
getList
()
})
},
checkCode
(
data
){
if
(
data
.
indexOf
(
'
+
'
)
==-
1
){
return
'
+
'
+
data
}
return
data
},
changeTransport
(
e
){
this
.
$set
(
this
.
form
,
'
transportId
'
,
e
)
console
.
log
(
this
.
form
.
transportId
)
this
.
$forceUpdate
()
},
changeDeatWarehouseId
(
e
){
this
.
$forceUpdate
()
this
.
$set
(
this
.
form
,
'
destWarehouseId
'
,
e
)
console
.
log
(
this
.
form
.
destWarehouseId
)
},
getOrder
(){
this
.
loading
=
true
;
return
getOrder
(
this
.
queryParams
.
orderId
).
then
(
response
=>
{
this
.
orderData
=
response
.
data
this
.
query
.
destWarehouseId
=
response
.
data
.
logisticsInfoDto
.
startWarehouseId
this
.
loading
=
false
});
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 执行查询
return
getSplitList
(
this
.
queryParams
).
then
(
response
=>
{
this
.
splitData
=
response
.
data
.
orderSplitBackVOList
this
.
orderApprovalBackVO
=
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
]
=
this
.
$t
(
'
小计
'
)
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
orderV
+=
column
.
volume
orderW
+=
column
.
weight
leviteSum
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
cartonsNum
:
0
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
});
sums
[
1
]
=
this
.
$t
(
'
下单统计
'
)
+
'
'
+
orderSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
orderV
.
toFixed
(
2
)
+
'
m³
'
+
orderW
+
'
kg
'
+
'
'
+
this
.
$t
(
'
入仓统计:
'
)
+
leviteSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
leviteV
.
toFixed
(
2
)
+
'
m³
'
+
leviteW
+
'
kg
'
return
sums
;
},
importCityName
(
id
){
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
this
.
$t
(
'
无
'
)
},
submitForm
(){
if
(
this
.
splitData
.
length
==
0
){
this
.
$modal
.
msgError
(
this
.
$t
(
"
请先新建拆单
"
))
return
}
// 判断体积和重量,子单和必须等于父单
// 1.将拆单中的商品项数据汇总保存到orderItem
this
.
splitData
.
forEach
(
item
=>
{
item
.
orderSplitItemBackVOList
.
forEach
(
splitItem
=>
{
let
orderItem
=
this
.
orderData
.
orderItemVOList
.
find
(
orderItem
=>
orderItem
.
orderItemId
==
splitItem
.
orderItemId
)
if
(
!
orderItem
.
splitSum
){
orderItem
.
splitSum
=
{
volume
:
new
Decimal
(
splitItem
.
volume
||
0
),
weight
:
new
Decimal
(
splitItem
.
weight
||
0
)
}
}
else
{
orderItem
.
splitSum
.
volume
=
orderItem
.
splitSum
.
volume
.
plus
(
splitItem
.
volume
||
0
)
orderItem
.
splitSum
.
weight
=
orderItem
.
splitSum
.
weight
.
plus
(
splitItem
.
weight
||
0
)
}
})
})
// 2. 遍历商品项 对比数据是否符合
let
prods
=
[]
// 数据不符合要求的商品
// 挂在到window测试
window
.
orderData
=
this
.
orderData
this
.
orderData
.
orderItemVOList
.
forEach
(
item
=>
{
// 未入仓的不检查
if
(
!
item
.
warehouseInInfoVO
){
return
}
// 没拆单的不检查
if
(
!
item
.
splitSum
){
// prods.push(this.$l(item, 'prodTitle'))
return
}
if
(
item
.
splitSum
.
volume
.
toNumber
()
!=
item
.
warehouseInInfoVO
.
volume
||
item
.
splitSum
.
weight
.
toNumber
()
!=
item
.
warehouseInInfoVO
.
weight
){
prods
.
push
(
this
.
$l
(
item
,
'
prodTitle
'
))
}
})
if
(
prods
.
length
){
return
this
.
$alert
(
this
.
$t
(
"
{prods}等商品拆单总数据跟主单不匹配
"
,
{
prods
:
prods
.
join
(
'
,
'
)}))
}
// if(this.selectedUsers.length==0){
// this.$modal.msgError("请选择抄送人")
// return
// }
var
params
=
{
orderId
:
this
.
queryParams
.
orderId
,
copyUserId
:
this
.
selectedUsers
}
splitApply
(
params
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
申请成功
"
));
this
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
addShop
(
index
){
this
.
splitItemIndex
=
index
this
.
shopOpen
=
true
},
addSplit
(){
this
.
form
.
transportId
=
this
.
orderData
.
transportId
this
.
form
.
destWarehouseId
=
this
.
orderData
.
destWarehouseId
if
(
this
.
orderData
.
logisticsInfoDto
&&
this
.
orderData
.
logisticsInfoDto
.
destTitleZh
){
this
.
form
.
destWarehouseId
=
this
.
importCityList
.
find
(
item
=>
item
.
titleZh
==
this
.
orderData
.
logisticsInfoDto
.
destTitleZh
).
id
if
(
this
.
orderData
.
logisticsInfoDto
&&
this
.
orderData
.
logisticsInfoDto
.
channelId
){
this
.
form
.
channelId
=
this
.
orderData
.
logisticsInfoDto
.
channelId
}
}
this
.
open
=
true
},
changeProdTitleZh
(
val
){
var
list
=
[]
list
=
this
.
splitData
[
0
].
orderSplitItemBackVOList
.
filter
(
item
=>
item
.
id
==
val
)
this
.
shopForm
.
sum
=
list
[
0
].
num
this
.
quantitySum
=
list
[
0
].
quantity
this
.
shopForm
.
orderItemId
=
list
[
0
].
orderItemId
this
.
shopForm
.
prodTitleEn
=
list
[
0
].
prodTitleEn
this
.
shopForm
.
prodTitleZh
=
list
[
0
].
prodTitleZh
var
orderItemData
=
this
.
orderData
.
orderItemVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
shopForm
.
orderItemId
)
/*var params = {
'seaFreightVolume':orderItemData.seaFreightVolume,
'clearanceFreightVolume':orderItemData.clearanceFreightVolume
}
console.log(orderItemData)*/
this
.
numcheck
()
},
numcheck
(){
quantityRequired
(
this
.
orderData
.
lineId
).
then
(
res
=>
{
this
.
quantityshow
=
res
.
data
})
},
// 输入方数箱数后,按照平均值计算数量和体积重量数据
numChange
(){
/*var sum = parseInt(this.quantitySum/this.shopForm.num)
this.$set(this.shopForm,'quantity',sum)*/
let
rate
=
this
.
shopForm
.
num
/
this
.
mainOrderItem
.
num
this
.
$set
(
this
.
shopForm
,
'
quantity
'
,
Math
.
ceil
(
this
.
mainOrderItem
.
quantity
*
rate
))
this
.
$set
(
this
.
shopForm
,
'
volume
'
,
(
this
.
mainOrderItem
.
volume
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
chargeVolume
'
,
(
this
.
mainOrderItem
.
chargeVolume
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
weight
'
,
(
this
.
mainOrderItem
.
weight
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
chargeWeight
'
,
(
this
.
mainOrderItem
.
chargeWeight
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
worth
'
,
(
this
.
mainOrderItem
.
worth
*
rate
).
toFixed
(
2
))
},
/*changeProdTitleEn(){
var list = []
list = this.splitData[0].orderSplitItemBackVOList.filter(item=>item.prodTitleEn == this.shopForm.prodTitleEn)
this.shopForm.sum = list[0].num
this.quantitySum = list[0].quantity
this.shopForm.prodTitleZh = list[0].prodTitleZh
},*/
haddleAdd
(){
let
that
=
this
if
(
!
that
.
form
.
transportId
){
that
.
$message
.
error
(
this
.
$t
(
"
请选择运输方式
"
));
return
}
if
(
!
that
.
form
.
destWarehouseId
){
that
.
$message
.
error
(
this
.
$t
(
"
请选择目的仓库
"
));
return
}
// 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
,
channelId
:
that
.
form
.
channelId
}
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
,
remark
:
this
.
shopForm
.
remark
,
volume
:
this
.
shopForm
.
volume
,
chargeVolume
:
this
.
shopForm
.
chargeVolume
,
weight
:
this
.
shopForm
.
weight
,
chargeWeight
:
this
.
shopForm
.
chargeWeight
,
worth
:
this
.
shopForm
.
worth
}
if
(
this
.
quantityshow
){
params
.
quantity
=
this
.
shopForm
.
quantity
}
createSplitItem
(
params
).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
放入成功
"
));
this
.
getList
()
this
.
shopForm
=
{}
})
this
.
shopOpen
=
false
},
removeShop
(
id
){
let
that
=
this
that
.
$confirm
(
that
.
$t
(
'
是否移除货物吗?
'
)).
then
(
function
()
{
deleteSplitItem
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
移除成功
"
));
that
.
getList
()
})
})
},
cancelSplit
(){
let
that
=
this
if
(
!
that
.
reason
){
that
.
$message
.
error
(
that
.
$t
(
"
请输入取消原因
"
));
return
}
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
,
reason
:
that
.
reason
}).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
取消成功
"
));
that
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
shopCancel
(){
this
.
shopOpen
=
false
this
.
shopForm
=
{}
},
/** 删除按钮操作 */
deleteSplit
(
id
)
{
let
that
=
this
that
.
$confirm
(
that
.
$t
(
'
是否确认删除新拆的订单吗?
'
)).
then
(
function
()
{
deleteSplit
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
删除成功
"
));
that
.
getList
()
})
})
},
}
}
</
script
>
<
style
scoped
>
.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
;
}
.cancel_notice
{
font-size
:
16px
;
font-weight
:
600
;
}
.cancel_content
{
display
:
flex
;
align-items
:
center
;
padding-top
:
20px
;
}
.cancel_content
span
{
width
:
100px
;
}
</
style
>
src/views/ecw/order/splitApply/index.vue
View file @
41ee17b6
...
...
@@ -2,60 +2,60 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
拆单申请
'
)
}}
-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
{{
$t
(
'
原单信息
'
)
}}
</span>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
orderData
.
marks
?
orderData
.
marks
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货日期')"
>
{{
orderData
.
deliveryDate
||
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
<template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
startTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
<
template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{orderData.consignorVO?orderData.consignorVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货公司')"
>
{{orderData.consignorVO?orderData.consignorVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货电话')"
>
{{!orderData.consignorVO?$t('无'):!orderData.consignorVO.phone?$t('无'):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{orderData.consigneeVO?orderData.consigneeVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货公司')"
>
{{orderData.consigneeVO?orderData.consigneeVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货电话')"
>
{{!orderData.consigneeVO?$t('无'):!orderData.consigneeVO.phone?$t('无'):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
拆单申请
'
)
}}
-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
{{
$t
(
'
原单信息
'
)
}}
</span>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
orderData
.
marks
?
orderData
.
marks
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货日期')"
>
{{
orderData
.
deliveryDate
||
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
<template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
startTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
<
template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{orderData.consignorVO?orderData.consignorVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货公司')"
>
{{orderData.consignorVO?orderData.consignorVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货电话')"
>
{{!orderData.consignorVO?$t('无'):!orderData.consignorVO.phone?$t('无'):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{orderData.consigneeVO?orderData.consigneeVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货公司')"
>
{{orderData.consigneeVO?orderData.consigneeVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货电话')"
>
{{!orderData.consigneeVO?$t('无'):!orderData.consigneeVO.phone?$t('无'):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
...
...
@@ -64,62 +64,62 @@
<el-table
id=
'table'
v-loading=
"loading"
border
:data=
"orderData.orderItemVOList"
:summary-method=
"getSummaries"
show-summary
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('品名')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('填单货物属性')"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-row>
<
template
slot-scope=
"scope"
>
<el-row>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
/>
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
num
||
$t
(
'
未填
'
)
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
volume
||
$t
(
'
未填
'
)
}}
m³
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
weight
||
$t
(
'
未填
'
)
}}
kg
</span>
</el-row>
</
template
>
</el-row>
<el-row>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
num
||
$t
(
'
未填
'
)
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
volume
||
$t
(
'
未填
'
)
}}
m³
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
weight
||
$t
(
'
未填
'
)
}}
kg
</span>
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入库货物属性')"
align=
"center"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<
template
slot-scope=
"scope"
>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<template
v-if=
"scope.row.brandName"
>
{{
scope
.
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.feeType"
/>
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('箱数')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.cartonsNum}}
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('体积')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}m³
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('重量')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('数量(个)')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.quantityAll}}
</span>
</el-row>
<el-row
v-if=
"!scope.row.warehouseInInfoVO"
>
<span>
{{$t('暂时没有入仓信息')}}
</span>
</el-row>
</template>
<span
style=
"margin-left: 10px;"
>
{{$t('箱数')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.cartonsNum}}
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('体积')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}m³
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('重量')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('数量(个)')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.quantityAll}}
</span>
</el-row>
<el-row
v-if=
"!scope.row.warehouseInInfoVO"
>
<span>
{{$t('暂时没有入仓信息')}}
</span>
</el-row>
</template>
</el-table-column>
<el-table-column
:label=
"$t('最后操作时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<!--
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
-->
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_STATUS"
:value=
"scope.row.itemStatus"
/>
<
template
slot-scope=
"scope"
>
<!--
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
-->
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_STATUS"
:value=
"scope.row.itemStatus"
/>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -153,7 +153,7 @@
<el-table
v-if=
"item.orderSplitItemBackVOList"
border
:data=
"item.orderSplitItemBackVOList"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('中文名')"
align=
"center"
prop=
"prodTitleZh"
/>
...
...
@@ -182,7 +182,7 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
weight
}}
kg
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('收费重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
chargeWeight
}}
kg
...
...
@@ -209,7 +209,7 @@
<el-table-column
:label=
"$t('数量(个)')"
align=
"center"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -219,34 +219,34 @@
</el-card>
<work-flow
xmlkey=
"split_order"
v-model=
"selectedUsers"
></work-flow>
<div
slot=
"footer"
class=
"card footer_btn"
v-if=
"orderData.abnormalState==0"
>
<
template
v-if=
"orderData.inWarehouseState!=207"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t
(
'
提交申请
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"cancel"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+orderApprovalBackVO.applyingFormId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"dialogVisible = true"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</
template
>
<
template
v-if=
"orderData.inWarehouseState!=207"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t
(
'
提交申请
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"cancel"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+orderApprovalBackVO.applyingFormId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"dialogVisible = true"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</
template
>
</div>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('新建拆单')"
:visible.sync=
"open"
width=
"400px"
append-to-body
>
<el-form
ref=
"formSplit"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:clearable=
"true"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
@
change=
"changeTransport"
v-model=
"form.transportId"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
:placeholder=
"$t('请选择出货渠道')"
:clearable=
"true"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"$l(item, 'name')"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:clearable=
"true"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
@
change=
"changeTransport"
v-model=
"form.transportId"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
:placeholder=
"$t('请选择出货渠道')"
:clearable=
"true"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"$l(item, 'name')"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓库')"
>
<el-select
v-model=
"form.destWarehouseId"
@
change=
"changeDeatWarehouseId"
:placeholder=
"$t('请选择目的仓库')"
:clearable=
"true"
>
<el-option
v-for=
"items in importCityList"
:label=
"$l(items, 'title')"
:value=
"items.id"
:key=
"items.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓库')"
>
<el-select
v-model=
"form.destWarehouseId"
@
change=
"changeDeatWarehouseId"
:placeholder=
"$t('请选择目的仓库')"
:clearable=
"true"
>
<el-option
v-for=
"items in importCityList"
:label=
"$l(items, 'title')"
:value=
"items.id"
:key=
"items.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -256,194 +256,194 @@
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('放入品名')"
:visible.sync=
"shopOpen"
width=
"1500px"
append-to-body
>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"120px"
inline
>
<el-form-item
:label=
"$t('中文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择中文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleZh"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('英文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择英文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleEn"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-card>
<div
slot=
"header"
class=
"page-title"
>
{{$t('品名可拆数据')}}
</div>
<div
class=
"pl-20"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ leftData.num || 0 }}
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ leftData.volume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('收费方数') }}:{{ leftData.chargeVolume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ leftData.weight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('收费重量') }}:{{ leftData.chargeWeight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ leftData.quantity || 0 }}
</span>
<span
class=
"mr-10"
v-if=
"orderLeftData"
>
{{ $t('剩余订单货值') }}:{{ orderLeftData.splitResidueWorth || 0 }}{{ $t('元') }}
</span>
</div>
</el-card>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"120px"
inline
>
<el-form-item
:label=
"$t('中文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择中文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleZh"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('英文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择英文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleEn"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-card>
<div
slot=
"header"
class=
"page-title"
>
{{$t('品名可拆数据')}}
</div>
<div
class=
"pl-20"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ leftData.num || 0 }}
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ leftData.volume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('收费方数') }}:{{ leftData.chargeVolume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ leftData.weight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('收费重量') }}:{{ leftData.chargeWeight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ leftData.quantity || 0 }}
</span>
<span
class=
"mr-10"
v-if=
"orderLeftData"
>
{{ $t('剩余订单货值') }}:{{ orderLeftData.splitResidueWorth || 0 }}{{ $t('元') }}
</span>
</div>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
{{$t('可拆入仓记录')}}
</div>
<el-table
:data=
"getOrderItemWarehouseIn(shopForm.orderItemId)"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
>
<
template
v-slot=
"{row,$index}"
>
<!--
{{
row
.
cartonsNum
}}
-->
{{
getWarehouseLeftData
(
row
,
'
num
'
)
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
volume
'
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
weight
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
prop=
"quantity"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
quantity
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationBackVOList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-tag
v-if=
"getWarehouseInSplitData(row.id,'num') >= row.cartonsNum"
disabled
size=
"mini"
type=
"primary"
>
{{
$t
(
'
已拆完
'
)
}}
</el-tag>
<el-button
v-else
size=
"mini"
type=
"primary"
@
click=
"putInRecord(row)"
>
放入
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"flex-between mt-20 mb-10"
>
<div
class=
"page-title"
style=
"margin: 0"
>
{{$t('已放入入仓记录')}}
</div>
<el-button
type=
"danger"
size=
"mini"
@
click=
"clearAll"
>
清空放入数据
</el-button>
</div>
<el-table
:data=
"shopForm.specsRecordVOList"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
width=
"200px"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
num
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
width=
"100px"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
volume
}}
</
template
>
</el-table-column>
<!--<el-table-column label="收费体积(m³)" prop="chargeVolume"></el-table-column>-->
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
></el-table-column>
<!--<el-table-column label="收费重量(Kg)" prop="chargeWeight"></el-table-column>-->
<el-table-column
:label=
"$t('数量')"
width=
"130px"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"deleteRow($index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
放入数据
</div>
<div>
<div
class=
"pl-20 mb-10"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ putin.num || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ putin.quantity || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ putin.volume || 0 }}m³,
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ putin.weight || 0 }}kg
</span>
</div>
<el-form-item
:label=
"$t('收费方数')"
prop=
"chargeVolume"
>
<el-input-number
v-model=
"shopForm.chargeVolume"
controls-position=
"right"
></el-input-number>
m³
</el-form-item>
<el-form-item
:label=
"$t('收费重量')"
prop=
"chargeWeight"
>
<el-input-number
v-model=
"shopForm.chargeWeight"
controls-position=
"right"
></el-input-number>
kg
</el-form-item>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
{{$t('可拆入仓记录')}}
</div>
<el-table
:data=
"getOrderItemWarehouseIn(shopForm.orderItemId)"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
>
<
template
v-slot=
"{row,$index}"
>
<!--
{{
row
.
cartonsNum
}}
-->
{{
getWarehouseLeftData
(
row
,
'
num
'
)
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
volume
'
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
weight
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
prop=
"quantity"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
quantity
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationBackVOList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-tag
v-if=
"getWarehouseInSplitData(row.id,'num') >= row.cartonsNum"
disabled
size=
"mini"
type=
"primary"
>
{{
$t
(
'
已拆完
'
)
}}
</el-tag>
<el-button
v-else
size=
"mini"
type=
"primary"
@
click=
"putInRecord(row)"
>
放入
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"flex-between mt-20 mb-10"
>
<div
class=
"page-title"
style=
"margin: 0"
>
{{$t('已放入入仓记录')}}
</div>
<el-button
type=
"danger"
size=
"mini"
@
click=
"clearAll"
>
清空放入数据
</el-button>
</div>
<el-table
:data=
"shopForm.specsRecordVOList"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
width=
"200px"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
num
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
width=
"100px"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
volume
}}
</
template
>
</el-table-column>
<!--<el-table-column label="收费体积(m³)" prop="chargeVolume"></el-table-column>-->
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
></el-table-column>
<!--<el-table-column label="收费重量(Kg)" prop="chargeWeight"></el-table-column>-->
<el-table-column
:label=
"$t('数量')"
width=
"130px"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"deleteRow($index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
放入数据
</div>
<div>
<div
class=
"pl-20 mb-10"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ putin.num || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ putin.quantity || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ putin.volume || 0 }}m³,
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ putin.weight || 0 }}kg
</span>
</div>
<el-form-item
:label=
"$t('收费方数')"
prop=
"chargeVolume"
>
<el-input-number
v-model=
"shopForm.chargeVolume"
controls-position=
"right"
></el-input-number>
m³
</el-form-item>
<el-form-item
:label=
"$t('收费重量')"
prop=
"chargeWeight"
>
<el-input-number
v-model=
"shopForm.chargeWeight"
controls-position=
"right"
></el-input-number>
kg
</el-form-item>
<el-form-item
:label=
"$t('放入货值')"
v-if=
"orderData.costVO"
>
<el-input-number
v-model=
"shopForm.worth"
controls-position=
"right"
:min=
"0"
:max=
"orderData.costVO.totalWorth"
>
<
template
slot=
"append"
>
{{
$t
(
'
元
'
)
}}
</
template
>
</el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息')"
>
<el-input
v-model=
"shopForm.remark"
></el-input>
</el-form-item>
</div>
</el-card>
<el-form-item
:label=
"$t('放入货值')"
v-if=
"orderData.costVO"
>
<el-input-number
v-model=
"shopForm.worth"
controls-position=
"right"
:min=
"0"
:max=
"orderData.costVO.totalWorth"
>
<
template
slot=
"append"
>
{{
$t
(
'
元
'
)
}}
</
template
>
</el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息')"
>
<el-input
v-model=
"shopForm.remark"
></el-input>
</el-form-item>
</div>
</el-card>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
:disabled=
"!shopForm.specsRecordVOList || !shopForm.specsRecordVOList.length"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"shopCancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
:disabled=
"!shopForm.specsRecordVOList || !shopForm.specsRecordVOList.length"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"shopCancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"$t('提示')"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<span
class=
"cancel_notice"
>
{{$t('拆单申请正在审核中,你确定取消拆单申请吗?')}}
</span>
<div
class=
"cancel_content"
>
<span>
{{$t('取消原因:')}}
</span>
<el-input
v-model=
"reason"
:placeholder=
"$t('请输入取消原因')"
></el-input>
</div>
:title=
"$t('提示')"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<span
class=
"cancel_notice"
>
{{$t('拆单申请正在审核中,你确定取消拆单申请吗?')}}
</span>
<div
class=
"cancel_content"
>
<span>
{{$t('取消原因:')}}
</span>
<el-input
v-model=
"reason"
:placeholder=
"$t('请输入取消原因')"
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
{{$t('取消')}}
</el-button>
<el-button
type=
"primary"
@
click=
"cancelSplit"
>
{{$t('确定')}}
</el-button>
</span>
...
...
@@ -613,12 +613,12 @@ export default {
},
// 关闭放入弹层的时候清理弹层表单内容
shopOpen
(
show
){
if
(
!
show
){
this
.
shopForm
=
{}
}
else
{
// 打开弹层查询剩余数据
this
.
getOrderLeftData
()
}
if
(
!
show
){
this
.
shopForm
=
{}
}
else
{
// 打开弹层查询剩余数据
this
.
getOrderLeftData
()
}
},
// 切换品名需要重置已放入的记录
'
shopForm.orderItemId
'
(){
...
...
@@ -654,10 +654,10 @@ export default {
},
computed
:{
getDictData
(){
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
},
getDictDatas
(){
return
getDictDatas
return
getDictDatas
},
// 放入品名试选择的商品项
orderItem
(){
...
...
@@ -835,7 +835,7 @@ export default {
},
checkCode
(
data
){
if
(
data
.
indexOf
(
'
+
'
)
==-
1
){
return
'
+
'
+
data
return
'
+
'
+
data
}
return
data
},
...
...
@@ -898,12 +898,12 @@ export default {
var
leviteV
=
0
var
leviteW
=
0
this
.
orderData
.
orderItemVOList
.
forEach
((
column
,
index
)
=>
{
orderSum
+=
column
.
num
orderV
+=
column
.
volume
orderW
+=
column
.
weight
leviteSum
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
cartonsNum
:
0
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
orderSum
+=
column
.
num
orderV
+=
column
.
volume
orderW
+=
column
.
weight
leviteSum
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
cartonsNum
:
0
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
});
sums
[
1
]
=
this
.
$t
(
'
下单统计
'
)
+
'
'
+
orderSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
orderV
.
toFixed
(
2
)
+
'
m³
'
+
orderW
+
'
kg
'
+
'
'
+
this
.
$t
(
'
入仓统计:
'
)
+
leviteSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
leviteV
.
toFixed
(
2
)
+
'
m³
'
+
leviteW
+
'
kg
'
...
...
@@ -911,13 +911,13 @@ export default {
},
importCityName
(
id
){
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
this
.
$t
(
'
无
'
)
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
this
.
$t
(
'
无
'
)
},
submitForm
(){
if
(
this
.
splitData
.
length
==
0
){
this
.
$modal
.
msgError
(
this
.
$t
(
"
请先新建拆单
"
))
return
this
.
$modal
.
msgError
(
this
.
$t
(
"
请先新建拆单
"
))
return
}
var
params
=
{
...
...
@@ -942,7 +942,7 @@ export default {
this
.
form
.
destWarehouseId
=
this
.
importCityList
.
find
(
item
=>
item
.
titleZh
==
this
.
orderData
.
logisticsInfoDto
.
destTitleZh
).
id
if
(
this
.
orderData
.
logisticsInfoDto
&&
this
.
orderData
.
logisticsInfoDto
.
channelId
){
this
.
form
.
channelId
=
this
.
orderData
.
logisticsInfoDto
.
channelId
}
}
}
this
.
open
=
true
},
...
...
@@ -985,11 +985,11 @@ export default {
// this.$modal.msgError("请选择出货渠道");
// }
var
params
=
{
dstWarehouseId
:
that
.
form
.
destWarehouseId
,
parentOrderId
:
that
.
orderData
.
orderId
,
parentOrderNo
:
that
.
orderData
.
orderNo
,
transportId
:
that
.
form
.
transportId
,
channelId
:
that
.
form
.
channelId
dstWarehouseId
:
that
.
form
.
destWarehouseId
,
parentOrderId
:
that
.
orderData
.
orderId
,
parentOrderNo
:
that
.
orderData
.
orderNo
,
transportId
:
that
.
form
.
transportId
,
channelId
:
that
.
form
.
channelId
}
createSplit
(
params
).
then
(
res
=>
{
that
.
getList
()
...
...
@@ -1067,7 +1067,7 @@ export default {
that
.
$confirm
(
that
.
$t
(
'
是否移除货物吗?
'
)).
then
(
function
()
{
deleteSplitItem
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
移除成功
"
));
that
.
getList
()
that
.
getList
()
})
})
},
...
...
@@ -1077,10 +1077,10 @@ export default {
that
.
$message
.
error
(
that
.
$t
(
"
请输入取消原因
"
));
return
}
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
,
reason
:
that
.
reason
}).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
取消成功
"
));
that
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
,
reason
:
that
.
reason
}).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
取消成功
"
));
that
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
shopCancel
(){
this
.
shopOpen
=
false
...
...
@@ -1092,7 +1092,7 @@ export default {
that
.
$confirm
(
that
.
$t
(
'
是否确认删除新拆的订单吗?
'
)).
then
(
function
()
{
deleteSplit
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
删除成功
"
));
that
.
getList
()
that
.
getList
()
})
})
},
...
...
@@ -1105,8 +1105,8 @@ export default {
// 计算体积
calcVolume
(
row
){
let
volume
=
Decimal
(
row
.
boxGauge1
||
0
)
.
times
(
Decimal
(
row
.
boxGauge2
||
0
))
.
times
(
Decimal
(
row
.
boxGauge3
||
0
)).
div
(
1000000
)
.
times
(
Decimal
(
row
.
boxGauge2
||
0
))
.
times
(
Decimal
(
row
.
boxGauge3
||
0
)).
div
(
1000000
)
// 如果是箱的单位要乘以箱数
if
(
row
.
specificationType
===
1
)
{
row
.
volume
=
volume
.
times
(
Decimal
(
row
.
num
||
0
))
...
...
@@ -1205,45 +1205,45 @@ export default {
.page-title
{
margin
:
0
;
}
.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
;
}
.cancel_notice
{
font-size
:
16px
;
font-weight
:
600
;
}
.cancel_content
{
display
:
flex
;
align-items
:
center
;
padding-top
:
20px
;
}
.cancel_content
span
{
width
:
100px
;
}
.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
;
}
.cancel_notice
{
font-size
:
16px
;
font-weight
:
600
;
}
.cancel_content
{
display
:
flex
;
align-items
:
center
;
padding-top
:
20px
;
}
.cancel_content
span
{
width
:
100px
;
}
::v-deep
.el-form-item--mini.is-error
{
margin-bottom
:
18px
;
}
::v-deep
.el-form-item--mini.is-error
{
margin-bottom
:
18px
;
}
</
style
>
src/views/ecw/productPrice/edit.vue
View file @
41ee17b6
...
...
@@ -60,6 +60,9 @@
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
v-if=
"channel"
:label=
"$t('出货渠道')"
>
{{$l(channel, 'name')}}
</el-form-item>
<!--有路线则不显示路线选择器-->
<routers-selector
v-else
v-model=
"selectedRoutes"
:option=
"routerOption"
:type=
"type"
/>
...
...
@@ -202,7 +205,9 @@
<
el
-
date
-
picker
v
-
model
=
"
form.validateEndDate
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
><
/el-date-picker
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<!--
编辑的时候右侧显示快捷设置,查看的时候空运显示商品清关费
-->
<
el
-
col
:
span
=
"
12
"
v
-
if
=
"
!readonly
"
>
<
h2
>
{{
$t
(
'
快捷设置
'
)
}}
<
/h2
>
<
div
class
=
"
flex items-center
"
>
{{
$t
(
'
批量加价
'
)
}}
+
...
...
@@ -222,6 +227,15 @@
<
el
-
button
@
click
=
"
quickSet
"
type
=
"
primary
"
:
disabled
=
"
!quickForm.plus && !quickForm.minus
"
>
{{
$t
(
'
确定
'
)
}}
<
/el-button
>
<
/div
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
v
-
else
-
if
=
"
readonly && type === 'air'
"
>
<!--
商品清关费
-->
<
h2
>
商品清关费价格
<
/h2
>
<
packaging
-
type
v
-
if
=
"
product && product.priceStepClearanceList && product.priceStepClearanceList.length
"
:
value
=
"
product
"
key
-
arr
=
"
priceStepClearanceList
"
readonly
/>
<
div
v
-
else
>
未设置清关费
<
/div
>
<
/el-col
>
<
/el-row
>
<
/el-card
>
...
...
@@ -363,8 +377,10 @@ import Inputor from '@/components/Inputor'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
{
openedRouterList
}
from
'
@/api/ecw/warehouse
'
import
Decimal
from
"
decimal.js
"
;
import
{
getChannel
}
from
"
@/api/ecw/channel
"
;
import
PackagingType
from
"
@/views/ecw/channel/componrnts/packaging-type.vue
"
;
export
default
{
components
:
{
RoutersSelector
,
ProductSelector
,
Selector
,
Inputor
}
,
components
:
{
PackagingType
,
RoutersSelector
,
ProductSelector
,
Selector
,
Inputor
}
,
filters
:
{
parseTime
}
,
data
()
{
return
{
...
...
@@ -399,7 +415,9 @@ export default {
showLogsDialog
:
false
,
// 显示价格日志弹层
logs
:
[],
// 批量加价/减价
quickForm
:{
}
// 快速加价/减价表单
quickForm
:{
}
,
// 快速加价/减价表单
// 渠道信息
channel
:
null
}
}
,
computed
:
{
...
...
@@ -555,6 +573,12 @@ export default {
if
(
this
.
$route
.
query
.
action
==
'
update
'
){
let
res
=
await
getProductPrice
(
this
.
$route
.
query
.
id
)
this
.
$set
(
this
,
'
form
'
,
res
.
data
)
// 显示渠道
if
(
this
.
readonly
&&
this
.
form
.
shippingChannelId
){
getChannel
(
this
.
form
.
shippingChannelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
}
)
}
if
(
this
.
form
.
needPay
){
this
.
needPay
=
true
}
...
...
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