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
0231012e
Commit
0231012e
authored
Oct 07, 2022
by
dcy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
542d3768
37182c43
Changes
51
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
1544 additions
and
478 deletions
+1544
-478
box.js
src/api/ecw/box.js
+95
-4
boxSea.js
src/api/ecw/boxSea.js
+28
-0
order.js
src/api/ecw/order.js
+28
-1
productBrank.js
src/api/ecw/productBrank.js
+2
-2
index.vue
src/components/Breadcrumb/index.vue
+1
-0
dict.js
src/utils/dict.js
+2
-1
detail.vue
src/views/bpm/processInstance/detail.vue
+18
-0
editSeaAirForm.vue
src/views/ecw/box/editSeaAirForm.vue
+2
-4
indexFutureBox.vue
src/views/ecw/box/indexFutureBox.vue
+2
-2
indexSea.vue
src/views/ecw/box/indexSea.vue
+121
-12
indexSeaAir.vue
src/views/ecw/box/indexSeaAir.vue
+60
-10
index.vue
src/views/ecw/box/ladingBill/index.vue
+24
-6
previewBill.vue
src/views/ecw/box/ladingBill/previewBill.vue
+0
-5
query.vue
src/views/ecw/box/query.vue
+40
-3
index.vue
src/views/ecw/box/shippingSea/nodePage/cabinet/index.vue
+29
-3
splitOrder.vue
...views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
+50
-20
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+104
-20
cusDeclaration.vue
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
+91
-18
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+30
-17
index.vue
src/views/ecw/box/shippingSea/nodePage/tally/index.vue
+10
-1
seaProcess.vue
src/views/ecw/box/shippingSea/seaProcess.vue
+1
-1
utils.js
src/views/ecw/box/shippingSea/utils.js
+18
-1
shippingSeaAir.vue
src/views/ecw/box/shippingSeaAir/shippingSeaAir.vue
+1
-1
edit.vue
src/views/ecw/customer/edit.vue
+7
-5
query.vue
src/views/ecw/customer/query.vue
+28
-6
creatCollection.vue
src/views/ecw/financial/creatCollection.vue
+21
-7
creatPayment.vue
src/views/ecw/financial/creatPayment.vue
+32
-12
Commossion.vue
src/views/ecw/offer/components/Commossion.vue
+1
-1
detail.vue
src/views/ecw/offer/detail.vue
+1
-1
edit.vue
src/views/ecw/offer/edit.vue
+27
-27
special.vue
src/views/ecw/offer/special.vue
+2
-2
associatedOrder.vue
src/views/ecw/order/associatedOrder.vue
+1
-1
cargoControl.vue
src/views/ecw/order/cargoControl.vue
+4
-2
ApprovalDetail.vue
src/views/ecw/order/components/ApprovalDetail.vue
+126
-0
LandingBillDetail.vue
src/views/ecw/order/components/LandingBillDetail.vue
+86
-0
PrintLadingBill.vue
src/views/ecw/order/components/PrintLadingBill.vue
+4
-3
UpdateDetail.vue
src/views/ecw/order/components/UpdateDetail.vue
+89
-0
detail.vue
src/views/ecw/order/detail.vue
+74
-63
edit.vue
src/views/ecw/order/edit.vue
+93
-134
index.vue
src/views/ecw/order/index.vue
+12
-7
pending.vue
src/views/ecw/order/pending.vue
+1
-1
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+21
-4
singleApply.vue
src/views/ecw/order/singleApply.vue
+4
-4
splitApply.vue
src/views/ecw/order/splitApply.vue
+9
-11
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+41
-26
index.vue
src/views/ecw/order/warehousing/index.vue
+17
-15
weightDeal.vue
src/views/ecw/order/weightDeal.vue
+16
-7
edit.vue
src/views/ecw/productPrice/edit.vue
+20
-3
index.vue
src/views/ecw/productPrice/index.vue
+15
-3
edit.vue
src/views/ecw/supplier/edit.vue
+28
-0
index.vue
src/views/system/menu/index.vue
+7
-1
No files found.
src/api/ecw/box.js
View file @
0231012e
...
...
@@ -210,13 +210,29 @@ function jsonToFormData(params) {
return
formData
;
}
// 根据订单ID下载提货单
// 创建制作提货单
export
function
getNoticeList
(
data
)
{
return
request
({
url
:
"
/shipment/box/noticeList
"
,
method
:
"
post
"
,
headers
:
{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
},
data
:
jsonToFormData
(
data
),
});
}
/**
* 根据订单ID下载提货单
*
* @export
* @param {*} orderId
* @return {*}
*/
export
function
downloadByOrderId
(
orderId
)
{
return
request
({
url
:
"
/shipment/make-bill-of-lading/downloadByOrderId
"
,
method
:
"
get
"
,
params
:
{
orderId
},
responseType
:
'
arraybuffer
'
params
:
{
orderId
},
responseType
:
"
arraybuffer
"
,
});
}
...
...
@@ -227,4 +243,79 @@ export function getBoxApproval(params) {
method
:
"
get
"
,
params
,
});
}
\ No newline at end of file
}
// 获得制作提货单(审核中调用)
export
function
getBillOfLandingInProcessing
(
params
){
return
request
({
url
:
"
/shipment/make-bill-of-lading/getInProcessing
"
,
method
:
"
get
"
,
params
,
});
}
// 下载agent list文件
export
function
downloadAgentListFiles
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadAgentListFiles
"
,
method
:
"
get
"
,
params
,
});
}
// 下载son cap文件
export
function
downloadSoncapFiles
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadSoncapFiles
"
,
method
:
"
get
"
,
params
,
});
}
// 下载报关单
export
function
downloadCustomFiles
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadCustomFiles
"
,
responseType
:
"
arraybuffer
"
,
method
:
"
get
"
,
params
,
});
}
// 下载已装单
export
function
downloadLoadGoodsList
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadLoadGoodsList
"
,
responseType
:
"
arraybuffer
"
,
method
:
"
get
"
,
params
,
});
}
// 下载预装单
export
function
downloadPreloadGoodsList
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadPreloadGoodsList
"
,
responseType
:
"
arraybuffer
"
,
method
:
"
get
"
,
params
,
});
}
// 下载应收汇总
export
function
downloadReceivableList
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadReceivableList
"
,
responseType
:
"
arraybuffer
"
,
method
:
"
get
"
,
params
,
});
}
// 下载提单copy
export
function
downloadLadingCopy
(
params
)
{
return
request
({
url
:
"
/ecw/box-lading-copy/downloadLadingCopy
"
,
method
:
"
get
"
,
params
,
});
}
src/api/ecw/boxSea.js
View file @
0231012e
...
...
@@ -624,6 +624,34 @@ export function createApproval(data) {
});
}
/**
* 订单详情
*
* @param {*} params
* @returns
*/
export
function
getOrderDetailByBoxNo
(
data
)
{
return
request
({
url
:
"
/my/shipment/searchLoadOrderByBoxNo
"
,
method
:
"
post
"
,
data
,
});
}
/**
* 外部仓装柜
*
* @param {*} params
* @returns
*/
export
function
externalLoad
(
data
)
{
return
request
({
url
:
"
/ecw/box-load-info/externalLoad
"
,
method
:
"
post
"
,
data
,
});
}
/***************************** 装柜 end **********************************/
/***************************** 卸柜 start **********************************/
...
...
src/api/ecw/order.js
View file @
0231012e
...
...
@@ -430,4 +430,31 @@ export function orderSpecialNeedGet(params){
method
:
'
delete
'
,
data
})
}
\ No newline at end of file
}
// 获得订单修改申请详情
export
function
getUpdateInfo
(
id
){
return
request
({
url
:
'
/ecw/order/update/info/
'
+
id
,
method
:
'
get
'
})
}
// 根据审批ID获得订单修改申请详情
export
function
getUpdateInfoByApproveId
(
approveId
){
return
request
({
url
:
'
/ecw/order/update/info
'
,
method
:
'
get
'
,
params
:
{
approveId
}
})
}
// (新修改订单)订单修改审批申请
export
function
updateApply
(
data
){
return
request
({
url
:
'
/ecw/order/update/apply
'
,
method
:
'
put
'
,
data
})
}
\ No newline at end of file
src/api/ecw/productBrank.js
View file @
0231012e
...
...
@@ -72,9 +72,9 @@ export function setUnauthCustomerFeeType(data) {
}
//
export
function
getFeeTypeBy
Custom
erProduct
(
data
){
export
function
getFeeTypeBy
Ord
erProduct
(
data
){
return
request
({
url
:
'
/ecw/product-brank/getFeeTypeBy
Custom
erProduct
'
,
url
:
'
/ecw/product-brank/getFeeTypeBy
Ord
erProduct
'
,
method
:
'
post
'
,
data
})
...
...
src/components/Breadcrumb/index.vue
View file @
0231012e
...
...
@@ -49,6 +49,7 @@ export default {
return
name
.
trim
()
===
'
首页
'
// 修复 Index 重复的问题
},
handleLink
(
item
)
{
return
const
{
redirect
,
path
}
=
item
if
(
redirect
)
{
this
.
$router
.
push
(
redirect
)
...
...
src/utils/dict.js
View file @
0231012e
...
...
@@ -89,7 +89,7 @@ export const DICT_TYPE = {
ECW_COOPERATION_TYPE
:
'
cooperation_type
'
,
// 合作类型
ECW_SHIPPING_DECLARATION_TYPE
:
'
shipping_declaration_type
'
,
// 出货报关方式(与订单报关方式相同)
ECW_CUSTOMS_TYPE
:
'
customs_type
'
,
// 订单报关方式(非出货报关),优惠券中的单证报关
ECW_PACKAGE_TYPE
:
'
packageType
'
,
// 包装单位
//
ECW_PACKAGE_TYPE: 'packageType', // 包装单位
ECW_DOUBLE_CLEAR
:
'
double_clear
'
,
// 是否双清
ECW_TRADE_TYPE
:
'
trade_type
'
,
// 交货放肆
ECW_OFFER_RESULT
:
'
offer_result
'
,
// 报单结果 赢单 输单
...
...
@@ -196,6 +196,7 @@ export const DICT_TYPE = {
BOX_SHIPPING_TICKET_EXCEPTION
:
'
shipping_ticket_exception
'
,
// 票异常
BOX_SHIPPING_PROCESS
:
'
shipping_process
'
,
// 海运出货流程
BOX_SHIPPING_BRAND_TYPE
:
'
shipping_brand_type
'
,
// 出货品牌类型
BOX_SHIPPING_NOTICE_TYPE
:
'
shipping_notice_type
'
,
// 出货通知类型
}
/**
...
...
src/views/bpm/processInstance/detail.vue
View file @
0231012e
...
...
@@ -299,6 +299,24 @@ export default {
id
:
this
.
processInstance
.
businessKey
,
applyType
:
10
},
// 提单审核
order_landing_bill
:{
component
:
()
=>
import
(
'
@/views/ecw/order/components/LandingBillDetail
'
),
id
:
this
.
processInstance
.
businessKey
,
path
:
this
.
processInstance
.
processDefinition
?.
formCustomViewPath
},
// 订单审核详情
order_approval
:{
component
:
()
=>
import
(
'
@/views/ecw/order/components/ApprovalDetail
'
),
id
:
this
.
processInstance
.
businessKey
,
path
:
this
.
processInstance
.
processDefinition
?.
formCustomViewPath
},
// 订单修改审批
order_update
:{
component
:
()
=>
import
(
'
@/views/ecw/order/components/UpdateDetail
'
),
id
:
this
.
processInstance
.
businessKey
,
path
:
this
.
processInstance
.
processDefinition
?.
formCustomViewPath
},
}
return
map
[
this
.
processInstance
.
processDefinition
.
formCustomViewPath
.
trim
()]
}
...
...
src/views/ecw/box/editSeaAirForm.vue
View file @
0231012e
...
...
@@ -96,16 +96,14 @@ export default {
if
(
this
.
form
.
id
!=
null
)
{
updatebox
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
'
修改成功
'
)
this
.
open
=
false
this
.
getList
()
this
.
$emit
(
"
closeDialog
"
,
"
edit
"
);
})
return
}
// 添加的提交
createbox
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
'
新增成功
'
)
this
.
open
=
false
this
.
getList
()
this
.
$emit
(
"
closeDialog
"
,
"
edit
"
);
})
})
},
...
...
src/views/ecw/box/indexFutureBox.vue
View file @
0231012e
...
...
@@ -33,10 +33,10 @@
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:future-box:create']"
>
新建计划
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<
!--
<
el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:future-box:export']"
>
导出
</el-button>
</el-col>
</el-col>
-->
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
...
...
src/views/ecw/box/indexSea.vue
View file @
0231012e
...
...
@@ -124,21 +124,21 @@
<el-dropdown-item
command=
"error"
>
异常登记
</el-dropdown-item>
<el-dropdown-item
command=
"cost"
>
费用登记
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
>
删除
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.ldStatus
==47
"
command=
"editLadingBill"
>
编辑提货单
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.ldStatus
>42
"
command=
"editLadingBill"
>
编辑提货单
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
trigger=
"click"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
>
<el-button
type=
"primary"
>
下载
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
""
>
预装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
已装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
应收汇总表
</el-dropdown-item>
<el-dropdown-item
command=
""
>
agent list
</el-dropdown-item>
<el-dropdown-item
command=
"
"
>
son
cap
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提货单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提单Copy
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadPreloadGoodsList
"
>
预装单
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadLoadGoodsList
"
>
已装单
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadReceivableList
"
>
应收汇总表
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadAgentListFiles
"
>
agent list
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadSoncapFiles"
>
son
cap
</el-dropdown-item>
<el-dropdown-item
command=
"
zipDownload
"
>
提货单
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadLadingCopy
"
>
提单Copy
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
...
...
@@ -161,12 +161,50 @@
<
template
v-if=
"dialogCfg.dialogType === 'editLadingBill'"
>
<ladingBill
v-if=
"dialogCfg.open"
@
closeDialog=
"closeDialog"
:shipmentObj=
"currRow"
:getCabinetName=
"getCabinetName"
/>
</
template
>
<
template
v-if=
"dialogCfg.dialogType === 'notice'"
>
<div
class=
"notice-dialog"
>
<div
class=
"notice-title"
>
您有一个/多个待处理出货操作,请尽快前往处理:
</div>
<el-table
:data=
"noticeList"
height=
"500px"
border
>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"类型"
align=
"center"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_NOTICE_TYPE"
:value=
"String(scope.row.noticeType)"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作时间"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
formatDate
(
scope
.
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleCommand(scope.row, 'sea')"
>
处理
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"closeDialog"
>
关闭窗口
</el-button>
</el-row>
</div>
</template>
</el-dialog>
</div>
</template>
<
script
>
import
{
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
}
from
"
@/api/ecw/box
"
;
import
{
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
,
getNoticeList
,
}
from
"
@/api/ecw/box
"
;
import
{
downloadFile
,
downloadFileByUrl
,
formatDate
,
}
from
"
./shippingSea/utils
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
...
...
@@ -224,8 +262,10 @@ export default {
cabinetList
:
[],
warehouseList
:
[],
transportTypes
:
[],
//国家信息列表
//
国家信息列表
countryList
:
[],
// 通知列表
noticeList
:
[],
};
},
computed
:
{
...
...
@@ -260,8 +300,22 @@ export default {
});
this
.
getList
();
this
.
getCountryList
();
this
.
queryNotice
();
},
methods
:
{
formatDate
,
queryNotice
()
{
getNoticeList
({}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
noticeList
=
data
??
[];
if
(
data
.
length
)
{
this
.
$set
(
this
.
dialogCfg
,
"
title
"
,
"
出货操作提醒
"
);
this
.
$set
(
this
.
dialogCfg
,
"
dialogType
"
,
"
notice
"
);
this
.
$set
(
this
.
dialogCfg
,
"
width
"
,
"
650px
"
);
this
.
$set
(
this
.
dialogCfg
,
"
open
"
,
true
);
}
});
},
/* 国家 */
getCountryList
()
{
getListTree
({
treeType
:
1
}).
then
((
response
)
=>
{
...
...
@@ -300,6 +354,9 @@ export default {
this
.
$set
(
this
.
dialogCfg
,
"
width
"
,
"
600px
"
);
this
.
$set
(
this
.
dialogCfg
,
"
fullscreen
"
,
false
);
this
.
$set
(
this
.
dialogCfg
,
"
open
"
,
true
);
this
.
currRow
=
{
transportType
:
"
1
"
,
};
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
...
...
@@ -340,7 +397,7 @@ export default {
return
exportboxExcel
(
params
);
})
.
then
((
response
)
=>
{
this
.
$download
.
excel
(
response
,
"
${table.classComment}
.xls
"
);
this
.
$download
.
excel
(
response
,
"
海运管理
.xls
"
);
this
.
exportLoading
=
false
;
})
.
catch
(()
=>
{});
...
...
@@ -389,6 +446,44 @@ export default {
case "error":
this.$set(this.dialogCfg, "title", "异常登记");
break;
case "downloadPreloadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`
预装单
(
$
{
row
.
selfNo
}).
xlsx
`,
"xlsx"
);
break;
case "downloadLoadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`
已装单
(
$
{
row
.
selfNo
}).
xlsx
`,
"xlsx"
);
break;
case "downloadReceivableList":
downloadFile(
command,
{ shipmentId: row.id },
`
应收汇总表
(
$
{
row
.
selfNo
}).
xlsx
`,
"xlsx"
);
break;
case "zipDownload":
downloadFile(
command,
{ shipmentId: row.id },
`
提货单
(
$
{
row
.
selfNo
}).
zip
`,
"zip"
);
break;
case "downloadAgentListFiles":
case "downloadSoncapFiles":
case "downloadLadingCopy":
downloadFileByUrl(command, { shipmentId: row.id });
break;
}
if (["editLadingBill", "cost", "error"].includes(command)) {
...
...
@@ -406,3 +501,17 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.notice-dialog
{
::v-deep
.notice-title
{
font-size
:
24px
;
font-weight
:
bold
;
margin-bottom
:
10px
;
}
::v-deep
.operate-button
{
margin-top
:
10px
;
text-align
:
center
;
}
}
</
style
>
src/views/ecw/box/indexSeaAir.vue
View file @
0231012e
...
...
@@ -149,7 +149,11 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
>
<template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCommand(scope.row, 'detail')"
>
{{
scope
.
row
.
selfNo
}}
</a>
</
template
>
</el-table-column>
<el-table-column
label=
"柜号"
align=
"center"
prop=
"cubNo"
/>
<el-table-column
label=
"柜型"
align=
"center"
prop=
"cabinetId"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -224,21 +228,21 @@
<el-dropdown-item
command=
"error"
>
异常登记
</el-dropdown-item>
<el-dropdown-item
command=
"cost"
>
费用登记
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
>
删除
</el-dropdown-item>
<el-dropdown-item
command=
"editLadingBill"
>
编辑提货单
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.ldStatus>42"
command=
"editLadingBill"
>
编辑提货单
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
trigger=
"click"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
>
<el-button
type=
"primary"
>
下载
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
""
>
预装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
已装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
应收汇总表
</el-dropdown-item>
<el-dropdown-item
command=
""
>
agent list
</el-dropdown-item>
<el-dropdown-item
command=
"
"
>
son
cap
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提货单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提单Copy
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadPreloadGoodsList
"
>
预装单
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadLoadGoodsList
"
>
已装单
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadReceivableList
"
>
应收汇总表
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadAgentListFiles
"
>
agent list
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadSoncapFiles"
>
son
cap
</el-dropdown-item>
<el-dropdown-item
command=
"
zipDownload
"
>
提货单
</el-dropdown-item>
<el-dropdown-item
command=
"
downloadLadingCopy
"
>
提单Copy
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
...
...
@@ -304,6 +308,11 @@ import {
getboxPage
,
exportboxExcel
}
from
'
@/api/ecw/box
'
import
{
downloadFile
,
downloadFileByUrl
,
formatDate
,
}
from
"
./shippingSea/utils
"
;
import
{
getCabinetPage
}
from
'
@/api/ecw/cabinet
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
...
...
@@ -536,6 +545,10 @@ export default {
this
.
$router
.
push
(
'
/boxSeaAir/shippingSeaAir/
'
+
row
.
id
)
break
case
"
detail
"
:
this
.
$router
.
push
(
"
/boxSeaAir/query/
"
+
row
.
id
);
break
;
case
'
edit
'
:
this
.
handleUpdate
(
row
)
break
...
...
@@ -560,6 +573,43 @@ export default {
case 'error':
this.$set(this.dialogCfg, 'title', '异常登记')
break
case "downloadPreloadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`
预装单
(
$
{
row
.
selfNo
}).
xlsx
`,
"xlsx"
);
break;
case "downloadLoadGoodsList":
downloadFile(
command,
{ shipmentId: row.id },
`
已装单
(
$
{
row
.
selfNo
}).
xlsx
`,
"xlsx"
);
break;
case "downloadReceivableList":
downloadFile(
command,
{ shipmentId: row.id },
`
应收汇总表
(
$
{
row
.
selfNo
}).
xlsx
`,
"xlsx"
);
break;
case "zipDownload":
downloadFile(
command,
{ shipmentId: row.id },
`
提货单
(
$
{
row
.
selfNo
}).
zip
`,
"zip"
);
break;
case "downloadAgentListFiles":
case "downloadSoncapFiles":
case "downloadLadingCopy":
downloadFileByUrl(command, { shipmentId: row.id });
break;
}
if (["editLadingBill", "cost", "error"].includes(command)) {
this.currRow = row;
...
...
src/views/ecw/box/ladingBill/index.vue
View file @
0231012e
...
...
@@ -2,8 +2,8 @@
<el-row
class=
"shipping-ladingBill"
>
<el-row
class=
"oper-button"
>
<el-button
type=
"primary"
@
click=
"clickZipDownload"
>
打包下载
</el-button>
<el-button
type=
"primary"
>
应收汇总单
</el-button>
<el-button
type=
"primary"
>
下载已装单
</el-button>
<el-button
type=
"primary"
@
click=
"handleCommand('downloadReceivableList')"
>
应收汇总表
</el-button>
<el-button
type=
"primary"
@
click=
"handleCommand('downloadLoadGoodsList')"
>
下载已装单
</el-button>
</el-row>
<el-row
style=
"margin-top:15px"
>
...
...
@@ -91,7 +91,11 @@ import {
deleteBillService
,
zipDownload
,
}
from
"
@/api/ecw/box
"
;
import
{
getTotlContent
,
getCapacity
}
from
"
../shippingSea/utils
"
;
import
{
getTotlContent
,
getCapacity
,
downloadFile
,
}
from
"
../shippingSea/utils
"
;
import
makeLadingBill
from
"
./makeLadingBill.vue
"
;
import
previewBill
from
"
./previewBill.vue
"
;
import
FileSaver
from
"
file-saver
"
;
...
...
@@ -169,17 +173,31 @@ export default {
}
});
break;
case "downloadLoadGoodsList":
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
`
已装单
(
$
{
this
.
shipmentObj
.
selfNo
}).
xlsx
`,
"xlsx"
);
return;
case "downloadReceivableList":
downloadFile(
type,
{ shipmentId: this.shipmentObj.id },
`
应收汇总表
(
$
{
this
.
shipmentObj
.
selfNo
}).
xlsx
`,
"xlsx"
);
return;
}
this.currRow = row;
this.$set(this.dialogCfg, "type", type);
this.$set(this.dialogCfg, "visible", true);
},
makeBill(row) {
const { bookSeaInfo } = this.shipmentObj;
makeBillService({
orderId: row.orderId,
zgDate: '2022-09-27',
// zgDate: bookSeaInfo.sailTime,
shipmentId: this.shipmentObj.id,
}).then((res) => {
const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
...
...
src/views/ecw/box/ladingBill/previewBill.vue
View file @
0231012e
...
...
@@ -52,11 +52,6 @@ export default {
});
},
},
watch
:
{
contentHtml
(
val
)
{
console
.
log
(
val
);
},
},
};
</
script
>
...
...
src/views/ecw/box/query.vue
View file @
0231012e
...
...
@@ -157,9 +157,14 @@
</el-table>
</el-tab-pane>
<el-tab-pane
label=
"表单"
name=
"download"
>
<el-table
:data=
"[]"
style=
"width: 50%"
>
<el-table-column
prop=
""
label=
"文件类型"
>
</el-table-column>
<el-table-column
prop=
""
label=
"下载链接"
>
</el-table-column>
<el-table
:data=
"downloadList"
style=
"width: 50%"
>
<el-table-column
prop=
"title"
label=
"文件类型"
></el-table-column>
<el-table-column
prop=
""
label=
"下载链接"
>
<
template
slot-scope=
"scope"
>
<a
v-if=
"scope.row.serviceName"
href=
"javascript:void(0)"
@
click=
"downloadDetailFile(scope.row)"
>
下载
</a>
<div
v-else
>
未完成
</div>
</
template
>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
...
...
@@ -199,6 +204,8 @@ import {
getTotlContent
,
formatDate
,
serviceMsg
,
downloadFile
,
downloadFileByUrl
,
}
from
"
./shippingSea/utils
"
;
import
{
getSectionList
,
boxGoodsDetail
}
from
"
@/api/ecw/boxSea
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
...
...
@@ -264,6 +271,20 @@ export default {
transportTypes
:
[],
// 费用详情
costDetail
:
{},
// 下载
downloadList
:
[
{
title
:
"
预装单
"
,
serviceName
:
"
downloadPreloadGoodsList
"
},
{
title
:
"
已装单
"
,
serviceName
:
"
downloadLoadGoodsList
"
},
{
title
:
"
应收汇总表
"
,
serviceName
:
"
downloadReceivableList
"
},
{
title
:
"
提货单
"
,
serviceName
:
"
zipDownload
"
,
fileFormat
:
"
zip
"
},
{
title
:
"
agent list
"
,
serviceName
:
"
downloadAgentListFiles
"
,
type
:
"
url
"
,
},
{
title
:
"
soncap
"
,
serviceName
:
"
downloadSoncapFiles
"
,
type
:
"
url
"
},
{
title
:
"
提单Copy
"
,
serviceName
:
"
downloadLadingCopy
"
,
type
:
"
url
"
},
],
};
},
methods
:
{
...
...
@@ -427,6 +448,22 @@ export default {
}
},
formatDate
,
downloadDetailFile
(
row
)
{
const
{
fileFormat
,
type
}
=
row
;
if
(
type
===
"
url
"
)
{
downloadFileByUrl
(
row
.
serviceName
,
{
shipmentId
:
this
.
shipmentId
});
}
else
{
let
fileName
=
`
${
row
.
title
}
(
${
this
.
shipmentObj
.
selfNo
}
).
${
fileFormat
??
"
xlsx
"
}
`;
downloadFile(
row.serviceName,
{ shipmentId: this.shipmentId },
fileName,
fileFormat ?? "xlsx"
);
}
},
},
computed: {
visitedViews() {
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/index.vue
View file @
0231012e
...
...
@@ -22,13 +22,13 @@
<!-- 开始装柜 -->
<el-dialog
title=
"开始装柜"
:visible.sync=
"dialogVisible"
fullscreen
:modal-append-to-body=
false
append-to-body
>
<startPacking
v-bind=
"$attrs"
v-if=
"dialogVisible"
@
closeDialog=
"closeDialog
"
/>
<startPacking
v-bind=
"$attrs"
v-if=
"dialogVisible"
v-on=
"$listeners"
@
closeDialog1=
"closeDialog1
"
/>
</el-dialog>
<!-- 操作 -->
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
>
保存
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit(2)"
:disabled=
"isS
tartCabinet
"
>
封柜
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit(2)"
:disabled=
"isS
eal
"
>
封柜
</el-button>
<el-button
@
click=
"cancel"
>
关闭
</el-button>
<el-button
type=
"danger"
@
click=
"startCabinet"
:disabled=
"isStartCabinet"
>
开始装柜
</el-button>
</el-row>
...
...
@@ -68,10 +68,20 @@ export default {
"
ldBoxTime
"
,
"
ldOutWarehouseTime
"
,
]);
let
pictures
=
oldData
.
ldPictures
;
if
(
oldData
.
ldPictures
)
{
pictures
=
JSON
.
parse
(
oldData
.
ldPictures
);
if
(
Array
.
isArray
(
pictures
))
{
pictures
=
pictures
.
map
((
item
)
=>
item
.
url
).
join
(
"
,
"
);
}
}
this
.
cabinetObj
=
{
...
oldData
,
ldWarehouseType
:
oldData
.
ldWarehouseType
===
0
?
undefined
:
oldData
.
ldWarehouseType
,
ldPictures
:
pictures
,
};
},
methods
:
{
...
...
@@ -87,9 +97,20 @@ export default {
return
;
}
}
const
{
ldPictures
}
=
this
.
cabinetObj
;
let
pictures
=
ldPictures
?.
split
(
"
,
"
)
??
[];
// 兼容手机端数据结构
pictures
=
pictures
.
map
((
item
)
=>
{
return
{
type
:
"
image
"
,
url
:
item
,
};
});
cabinetCreate
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
...
this
.
cabinetObj
,
ldPictures
:
JSON
.
stringify
(
pictures
),
operateType
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
...
...
@@ -99,7 +120,7 @@ export default {
}
});
},
closeDialog
(
type
)
{
closeDialog
1
(
type
)
{
this
.
dialogVisible
=
false
;
if
(
type
)
this
.
cancel
(
type
);
},
...
...
@@ -114,6 +135,11 @@ export default {
},
computed
:
{
isStartCabinet
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
const
status
=
shipmentObj
[
currNode
.
keyName
];
return
[
46
,
47
].
includes
(
status
)
?
true
:
false
;
},
isSeal
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
const
status
=
shipmentObj
[
currNode
.
keyName
];
return
status
===
47
?
true
:
false
;
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
View file @
0231012e
...
...
@@ -38,7 +38,7 @@
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
company
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货电话"
>
{{
orderData
.
consignorVO
?(
orderData
.
consignorVO
.
phone
?(
orderData
.
consignorVO
.
countryCode
+
orderData
.
consignorVO
.
phone
):
'
无
'
):
'
无
'
}}
{{
orderData
.
consignorVO
?(
orderData
.
consignorVO
.
phone
?(
"
+
"
+
orderData
.
consignorVO
.
countryCode
+
orderData
.
consignorVO
.
phone
):
'
无
'
):
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
...
...
@@ -49,7 +49,7 @@
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
company
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货电话"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
phone
?
orderData
.
consigneeVO
.
countryCode
+
orderData
.
consigneeVO
.
phone
:
'
无
'
:
'
无
'
}}
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
phone
?
"
+
"
+
orderData
.
consigneeVO
.
countryCode
+
orderData
.
consigneeVO
.
phone
:
'
无
'
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
</el-card>
...
...
@@ -117,7 +117,7 @@
</p>
</div>
<div>
<el-button
type=
"primary"
@
click=
"addShop"
>
放入
</el-button>
<el-button
type=
"primary"
:disabled=
"isAudit"
@
click=
"addShop"
>
放入
</el-button>
</div>
</div>
<el-table
border
:data=
"splitData.orderSplitItemBackVOList"
>
...
...
@@ -157,7 +157,7 @@
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
移出
</el-button>
<el-button
size=
"mini"
:disabled=
"isAudit"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
移出
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -168,12 +168,12 @@
<work-flow
xmlkey=
"split_order"
v-model=
"selectedUsers"
></work-flow>
</el-row>
<div
slot=
"footer"
class=
"card footer_btn"
v-if=
"orderData.status!=99"
>
<el-button
v-if=
"
orderData.status!=19
"
type=
"primary"
@
click=
"submitForm"
>
提交申请
</el-button>
<el-button
v-if=
"
orderData.status!=19"
plain
type=
"primary"
@
click=
"$emit('closeDialog
')"
>
取消
</el-button>
<el-button
v-if=
"
orderData.status==19"
type=
"primary
"
>
审核中
</el-button>
<el-button
v-if=
"
orderData.status==19
"
plain
type=
"primary"
@
click=
"cancelSplit"
>
取消审核
</el-button>
<el-button
v-if=
"
orderData.status==19"
plain
type=
"primary"
@
click=
"$emit('closeDialog
')"
>
返回
</el-button>
<div
slot=
"footer"
class=
"card footer_btn"
>
<el-button
v-if=
"
!isAudit
"
type=
"primary"
@
click=
"submitForm"
>
提交申请
</el-button>
<el-button
v-if=
"
!isAudit"
plain
type=
"primary"
@
click=
"$emit('closeDialog2
')"
>
取消
</el-button>
<el-button
v-if=
"
isAudit"
type=
"primary"
@
click=
"jumpReviewDetail
"
>
审核中
</el-button>
<el-button
v-if=
"
isAudit
"
plain
type=
"primary"
@
click=
"cancelSplit"
>
取消审核
</el-button>
<el-button
v-if=
"
isAudit"
plain
type=
"primary"
@
click=
"$emit('closeDialog2
')"
>
返回
</el-button>
</div>
<!-- 对话框(添加 / 修改) -->
...
...
@@ -196,7 +196,7 @@
{{shopForm.sum||0}}
</el-form-item>
<el-form-item
label=
"放入箱数:"
prop=
"num"
>
<el-input-number
v-model=
"shopForm.num"
controls-position=
"right"
:min=
"
1
"
:max=
"shopForm.sum"
></el-input-number>
<el-input-number
v-model=
"shopForm.num"
controls-position=
"right"
:min=
"
0
"
:max=
"shopForm.sum"
></el-input-number>
</el-form-item>
<el-form-item
label=
"备注信息:"
>
<el-input
v-model=
"shopForm.remarks"
></el-input>
...
...
@@ -215,15 +215,14 @@
import
{
getSplitList
,
createSplit
,
cancelApply
,
createSplitItem
,
deleteSplitItem
,
}
from
"
@/api/ecw/orderHandle
"
;
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
import
{
getOrder
}
from
"
@/api/ecw/order
"
;
import
{
serviceMsg
}
from
"
../../utils
"
;
import
{
createApproval
}
from
"
@/api/ecw/boxSea
"
;
import
{
serviceMsg
,
toReviewDetail
}
from
"
../../utils
"
;
import
{
createApproval
,
approvalCancel
}
from
"
@/api/ecw/boxSea
"
;
export
default
{
name
:
"
splitOrder
"
,
...
...
@@ -288,13 +287,30 @@ export default {
},
},
},
computed
:
{
isAudit
()
{
const
{
shipmentObj
}
=
this
.
$attrs
;
const
{
cabinetSplitInfo
}
=
shipmentObj
;
if
(
cabinetSplitInfo
)
{
/**
* PROCESS(1, "处理中"),
* APPROVE(2, "通过"),
* REJECT(3, "不通过"),
* CANCEL(4, "已取消");
*/
const
{
approvalStatus
}
=
cabinetSplitInfo
;
if
(
approvalStatus
===
1
)
return
true
;
}
return
false
;
},
},
methods
:
{
/* 拆箱总数 */
totalSplitNum
()
{
let
_total
=
0
;
const
{
orderSplitItemBackVOList
=
[]
}
=
this
.
splitData
;
orderSplitItemBackVOList
.
forEach
((
v
)
=>
{
_total
+=
Number
(
v
.
splitN
um
);
_total
+=
Number
(
v
.
n
um
);
});
return
_total
;
},
...
...
@@ -405,11 +421,13 @@ export default {
shipmentId
:
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
this
.
$emit
(
"
getBoxInfo
"
);
this
.
getSplit
();
});
});
},
addShop
()
{
this
.
shopForm
=
{};
this
.
shopOpen
=
true
;
},
changeProdTitleZh
()
{
...
...
@@ -417,7 +435,8 @@ export default {
list
=
this
.
currRow
.
goodsList
.
filter
(
(
item
)
=>
item
.
prodTitleZh
==
this
.
shopForm
.
prodTitleZh
);
this
.
shopForm
.
sum
=
list
[
0
].
num
;
this
.
shopForm
.
sum
=
this
.
currRow
.
num
-
this
.
currRow
.
installNum
-
this
.
totalSplitNum
();
this
.
shopForm
.
orderItemId
=
list
[
0
].
orderItemId
;
this
.
shopForm
.
prodTitleEn
=
list
[
0
].
prodTitleEn
;
},
...
...
@@ -426,7 +445,9 @@ export default {
list
=
this
.
orderData
.
orderItemVOList
.
filter
(
(
item
)
=>
item
.
prodTitleEn
==
this
.
shopForm
.
prodTitleEn
);
this
.
shopForm
.
sum
=
list
[
0
].
num
;
this
.
shopForm
.
sum
=
this
.
currRow
.
num
-
this
.
currRow
.
installNum
-
this
.
totalSplitNum
();
this
.
shopForm
.
orderItemId
=
list
[
0
].
orderItemId
;
this
.
shopForm
.
prodTitleZh
=
list
[
0
].
prodTitleZh
;
},
shopAdd
()
{
...
...
@@ -440,6 +461,10 @@ export default {
this
.
$message
.
error
(
"
放入箱数不能大于总箱数
"
);
return
;
}
if
(
this
.
shopForm
.
num
===
0
)
{
this
.
$message
.
error
(
"
放入箱数不能为0
"
);
return
;
}
let
params
=
{
num
:
this
.
shopForm
.
num
,
...
...
@@ -450,7 +475,6 @@ export default {
createSplitItem
(
params
).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
放入成功
"
);
this
.
getSplit
();
this
.
shopForm
=
{};
});
this
.
shopOpen
=
false
;
}
...
...
@@ -469,11 +493,12 @@ export default {
const
{
shipmentObj
}
=
this
.
$attrs
;
approvalCancel
({
applyReason
:
"
取消审核
"
,
id
:
shipmentObj
[
"
cabinet
Approval
Info
"
].
id
,
id
:
shipmentObj
[
"
cabinet
Split
Info
"
].
id
,
shipmentId
:
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
getBoxInfo
"
);
this
.
getSplit
();
});
});
},
...
...
@@ -481,6 +506,11 @@ export default {
this
.
shopOpen
=
false
;
this
.
shopForm
=
{};
},
jumpReviewDetail
()
{
const
{
cabinetSplitInfo
}
=
this
.
$attrs
.
shipmentObj
;
toReviewDetail
.
apply
(
this
,
[
cabinetSplitInfo
.
bpmProcessId
]);
this
.
$emit
(
"
closeDialog2
"
,
"
close
"
);
},
},
};
</
script
>
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
0231012e
...
...
@@ -40,7 +40,12 @@
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<
template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0);"
class=
"order-href"
@
click=
"orderClick(scope.row)"
>
{{
scope
.
row
.
orderNo
}}
</a>
<div>
<a
href=
"javascript:void(0);"
class=
"order-href"
@
click=
"orderClick(scope.row)"
>
{{
scope
.
row
.
orderNo
}}
</a>
</div>
<div
style=
"color:blue;fontWeight:bold;"
>
{{
scope
.
row
.
isExternalWarehouse
===
1
?
'
(外部仓)
'
:
''
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"货物信息"
align=
"center"
prop=
"goodsList"
>
...
...
@@ -119,7 +124,7 @@
<div
v-if=
"isUnderReview"
>
<el-button
type=
"primary"
@
click=
"jumpReviewDetail"
>
封柜审核中
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeDialog')"
>
返回
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeDialog
1
')"
>
返回
</el-button>
</div>
</el-row>
...
...
@@ -154,7 +159,7 @@
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('modifyForm')"
>
下一步
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
<el-button
@
click=
"closeDialog
2
"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 装柜纠错 -->
...
...
@@ -166,7 +171,7 @@
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('correctionForm')"
>
提交
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
<el-button
@
click=
"closeDialog
2
"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 批量装柜纠错(订单号) -->
...
...
@@ -178,23 +183,54 @@
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('orderForm')"
>
提交
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
<el-button
@
click=
"closeDialog
2
"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 装柜批量输入 -->
<
template
v-if=
"dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible"
>
<el-form
ref=
"batchForm"
:rules=
"rules"
:model=
"batchObj"
label-position=
"top"
>
<el-form-item
label=
""
prop=
"qrCode"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"batchObj.qrCode"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
<el-form
ref=
"batchForm"
:rules=
"rules"
:model=
"batchObj"
>
<el-form-item
label=
""
prop=
"qrCode"
class=
"two-element"
>
<el-input
v-model=
"batchObj.qrCode"
placeholder=
"请输入订单号"
clearable
/>
<el-button
style=
"marginLeft:10px;"
type=
"primary"
@
click=
"queryOrderInfo"
>
确定
</el-button>
</el-form-item>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"订单号"
>
{{
boxOrderInfo
.
orderNo
}}
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"箱数"
>
<el-input-number
v-if=
"boxOrderInfo.isExternalWarehouse === 1"
v-model=
"batchObj.boxNum"
:min=
"0"
:max=
"boxOrderInfo.num"
/>
<template
v-else
>
{{
boxOrderInfo
.
num
}}
</
template
>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"方数"
>
{{getTotlContent(boxOrderInfo, ['volume'])}}
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"重量"
>
{{getTotlContent(boxOrderInfo, ['weight'])}}
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('batchForm')
"
>
提交
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
<el-button
type=
"primary"
:disabled=
"boxOrderInfo.orderId ? false : true"
@
click=
"batchLoad
"
>
提交
</el-button>
<el-button
@
click=
"closeDialog
2
"
>
取消
</el-button>
</el-row>
</template>
<!-- 拆单 -->
<splitOrder
v-bind=
"$attrs"
:shipmentObj=
"shipmentObj"
v-if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog=
"closeDialog
"
/>
<splitOrder
v-bind=
"$attrs"
v-on=
"$listeners"
:shipmentObj=
"shipmentObj"
v-if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog2=
"closeDialog2
"
/>
</el-dialog>
</div>
</template>
...
...
@@ -214,6 +250,8 @@ import {
boxUpdate
,
approvalCreate
,
approvalCancel
,
getOrderDetailByBoxNo
,
externalLoad
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
getTotlContent
,
...
...
@@ -279,6 +317,8 @@ export default {
// 当前行
currRow
:
{},
selectedUsers
:
[],
// 订单信息
boxOrderInfo
:
{},
};
},
created
()
{
...
...
@@ -352,6 +392,7 @@ export default {
case
"
batchInput
"
:
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
false
);
this
.
batchObj
=
{};
this
.
boxOrderInfo
=
{};
break
;
case
"
correction
"
:
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
false
);
...
...
@@ -372,7 +413,7 @@ export default {
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
},
/** 关闭弹窗 */
closeDialog
()
{
closeDialog
2
()
{
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
false
);
},
/** 修改提交 */
...
...
@@ -428,7 +469,7 @@ export default {
params
.
orderNo
=
this
.
batchObj
.
qrCode
;
batchCreate
(
params
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
closeDialog
();
this
.
closeDialog
2
();
this
.
getLoadSecGoodsList
();
});
});
...
...
@@ -445,14 +486,14 @@ export default {
if
(
type
===
"
single
"
)
{
singleDelete
(
params
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
closeDialog
();
this
.
closeDialog
2
();
this
.
getLoadSecGoodsList
();
});
});
}
else
{
batchDelete
(
params
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
closeDialog
();
this
.
closeDialog
2
();
this
.
getLoadSecGoodsList
();
});
});
...
...
@@ -479,12 +520,12 @@ export default {
};
boxUpdate
(
params
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
);
this
.
closeDialog
();
this
.
closeDialog
2
();
});
},
/* 补单完成 */
supplementFinish
()
{
this
.
closeDialog
();
this
.
closeDialog
2
();
this
.
getLoadSecGoodsList
();
},
/* 申请封柜 */
...
...
@@ -497,7 +538,7 @@ export default {
shipmentId
:
this
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
submit
"
);
this
.
$emit
(
"
closeDialog
1
"
,
"
submit
"
);
});
});
},
...
...
@@ -516,14 +557,57 @@ export default {
shipmentId
:
this
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
submit
"
);
this
.
$emit
(
"
closeDialog
1
"
,
"
submit
"
);
});
});
},
/* 跳转详情 */
jumpReviewDetail
()
{
const
{
cabinetApprovalInfo
}
=
this
.
shipmentObj
;
toReviewDetail
.
apply
(
this
,
[
cabinetApprovalInfo
.
bpmProcessId
]);
this
.
$emit
(
"
closeDialog
"
,
"
close
"
);
this
.
$emit
(
"
closeDialog1
"
,
"
close
"
);
},
queryOrderInfo
()
{
this
.
$refs
[
"
batchForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
getOrderDetailByBoxNo
({
orderNumCode
:
this
.
batchObj
.
qrCode
,
shipmentId
:
this
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
boxOrderInfo
=
data
;
this
.
batchObj
.
boxNum
=
data
.
num
;
});
}
});
},
batchLoad
()
{
if
(
!
this
.
boxOrderInfo
.
orderId
)
{
this
.
$message
.
error
(
"
请输入订单号
"
);
return
;
}
if
(
this
.
batchObj
.
boxNum
===
0
)
{
this
.
$message
.
error
(
"
箱数不能为0
"
);
return
;
}
let
params
=
{
boxNum
:
this
.
boxOrderInfo
.
num
,
orderId
:
this
.
boxOrderInfo
.
orderId
,
orderNo
:
this
.
boxOrderInfo
.
orderNo
,
shipmentId
:
this
.
shipmentObj
.
id
,
};
if
(
this
.
boxOrderInfo
.
isExternalWarehouse
===
1
)
{
params
.
boxNum
=
this
.
batchObj
.
boxNum
;
}
externalLoad
(
params
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
closeDialog2
();
this
.
boxOrderInfo
=
{};
this
.
getLoadSecGoodsList
();
});
});
},
},
computed
:
{
...
...
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
View file @
0231012e
...
...
@@ -30,7 +30,7 @@
<el-date-picker
type=
"datetime"
placeholder=
"请选择日期"
v-model=
"cusDeclarationObj.dcCutOffTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"dcCustomsStatus"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCustomsStatus"
:disabled=
"inReview"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCustomsStatus"
:disabled=
"inReview
|| isCheckDeal
"
>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)"
:key=
"item.value"
:label=
"item.value"
>
{{item.label}}
</el-radio>
</el-radio-group>
</el-form-item>
...
...
@@ -38,14 +38,14 @@
<!-- 查验 -->
<div
v-show=
"cusDeclarationObj.dcCustomsStatus === '3'"
>
<el-form-item
label=
"查验"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCheckStatus"
:disabled=
"inReview"
>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)"
:key=
"item.value"
:label=
"item.value"
>
{{item.label}}
</el-radio>
<el-radio-group
v-model=
"cusDeclarationObj.dcCheckStatus"
:disabled=
"inReview
|| isCheckDeal
"
>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)"
:key=
"item.value"
:label=
"item.value"
:disabled=
"disabledRadio(item)"
>
{{item.label}}
</el-radio>
</el-radio-group>
</el-form-item>
</div>
<!-- 退场 -->
<div
v-show=
"
cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'
"
>
<div
v-show=
"
['1','2','3'].includes(cusDeclarationObj.dcCheckStatus)
"
>
<el-form-item
label=
"查验时间"
>
<el-date-picker
type=
"datetime"
placeholder=
"请选择日期"
v-model=
"cusDeclarationObj.dcCheckTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
...
...
@@ -55,18 +55,21 @@
<el-form-item
label=
"新封条"
>
<el-input
v-model=
"cusDeclarationObj.dcStripSeal"
placeholder=
"请输入新封条"
clearable
/>
</el-form-item>
<el-form-item
label=
"退场状态"
v-if=
"cusDeclarationObj.dcCheckStatus === '1' || cusDeclarationObj.dcCheckStatus === '2'"
>
{{getCheckExamineStatus}}
</el-form-item>
</div>
<!-- 放行 -->
<el-form-item
label=
"放行时间"
v-show=
"cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCheckStatus === '
2
'"
>
<el-form-item
label=
"放行时间"
v-show=
"cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCheckStatus === '
3
'"
>
<el-date-picker
type=
"datetime"
placeholder=
"请选择日期"
v-model=
"cusDeclarationObj.dcPassTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"装箱单"
>
<
!-- <
el-form-item label="装箱单">
<el-button type="primary">下载装箱单</el-button>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"报关单"
>
<el-button
type=
"primary"
>
下载所有报关单
</el-button>
<el-button
type=
"primary"
@
click=
"downloadCusFile"
>
下载所有报关单
</el-button>
</el-form-item>
</el-form>
...
...
@@ -75,8 +78,8 @@
<el-button
type=
"primary"
plain
@
click=
"canclAudit"
>
{{cusDeclarationObj.dcCheckStatus === '1' ? '取消全部退场审核' : '取消部分退场审核'}}
</el-button>
</el-row>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
>
保存
</el-button>
<el-button
type=
"success"
v-if=
"!inReview"
@
click=
"onSubmit(2)"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
:disabled=
"isCheckDeal"
>
保存
</el-button>
<el-button
type=
"success"
v-if=
"!inReview"
@
click=
"onSubmit(2)"
:disabled=
"isCheckDeal"
>
提交
</el-button>
<el-button
@
click=
"cancel"
>
关闭
</el-button>
<el-button
type=
"primary"
@
click=
"extraCost"
v-show=
"cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'"
>
额外费用
</el-button>
</el-row>
...
...
@@ -143,13 +146,14 @@ import {
extraCostOrder
,
extraCostCreate
,
extraCostUpdate
,
approvalC
reate
,
approvalC
ancel
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatNumberString
,
formatDateStr
,
serviceMsg
,
toReviewDetail
,
downloadFile
,
}
from
"
../utils
"
;
import
ImageUpload
from
"
@/components/ImageUpload
"
;
...
...
@@ -260,7 +264,7 @@ export default {
if
([
"
1
"
,
"
2
"
].
includes
(
dcCheckStatus
))
{
const
{
checkExamineStatus
}
=
this
.
shipmentObj
;
// 退场审核状态,1-审核中,2-审核成功,3-审核失败,4-取消
if
([
0
,
3
,
4
].
includes
(
checkExamineStatus
))
{
if
([
0
,
2
,
3
,
4
].
includes
(
checkExamineStatus
))
{
this
.
$modal
.
confirm
(
`您确认提交
${
...
...
@@ -278,8 +282,9 @@ export default {
this
.
$emit
(
"
getBoxInfo
"
);
});
});
})
.
catch
(()
=>
{});
});
}
else
{
this
.
submitCustomsCreate
(
operateType
);
}
}
}
...
...
@@ -409,19 +414,45 @@ export default {
},
/* 取消审核 */
canclAudit
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
const
{
voName
}
=
currNode
;
approvalCancel
({
applyReason
:
"
取消审核
"
,
id
:
shipmentObj
[
voName
].
id
,
shipmentId
:
shipmentObj
.
id
,
id
:
this
.
shipmentObj
[
"
customsApprovalInfo
"
].
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
// 触发外层重新查询出货信息
this
.
cancel
(
"
close
"
);
this
.
$emit
(
"
getBoxInfo
"
);
});
});
},
/* 判断查验选择是否禁用 */
disabledRadio
(
item
)
{
const
{
checkExamineStatus
,
checkDealStatus
,
customsInfo
=
{},
}
=
this
.
shipmentObj
;
const
{
dcCheckStatus
}
=
customsInfo
;
// 部分退场状态并且审核通过,退场不可选择
if
(
checkExamineStatus
===
2
&&
dcCheckStatus
===
2
&&
item
.
value
===
"
1
"
)
{
return
true
;
}
return
false
;
},
/* 下载报关单 */
downloadCusFile
()
{
downloadFile
(
"
downloadCustomFiles
"
,
{
shipmentId
:
this
.
shipmentObj
.
id
},
`报关单(
${
this
.
shipmentObj
.
selfNo
}
).xlsx`
,
"
xlsx
"
);
},
},
watch
:
{
"
cusDeclarationObj.dcBoxWgt
"
(
dcBoxWgt
)
{
...
...
@@ -433,6 +464,14 @@ export default {
"
cusDeclarationObj.dcCustomsStatus
"
(
val
)
{
if
(
val
!==
"
3
"
)
{
this
.
$set
(
this
.
cusDeclarationObj
,
"
dcCheckStatus
"
,
""
);
}
else
{
const
{
customsInfo
=
{}
}
=
this
.
shipmentObj
;
this
.
$set
(
this
.
cusDeclarationObj
,
"
dcCheckStatus
"
,
(
customsInfo
.
dcCheckStatus
&&
String
(
customsInfo
.
dcCheckStatus
))
||
"
3
"
);
}
},
shipmentObj
:
{
...
...
@@ -448,6 +487,40 @@ export default {
},
},
},
computed
:
{
/* 获取报关审核退场状态文字 */
getCheckExamineStatus
()
{
const
{
checkExamineStatus
,
customsInfo
=
{}
}
=
this
.
shipmentObj
;
const
{
dcCheckStatus
}
=
customsInfo
;
if
(
checkExamineStatus
===
1
)
{
return
dcCheckStatus
===
1
?
"
退场审核中
"
:
"
部分退场审核中
"
;
}
if
(
checkExamineStatus
===
2
)
{
return
dcCheckStatus
===
1
?
"
审核通过,退场中
"
:
"
审核通过,部分退场中
"
;
}
return
"
未审核
"
;
},
/* 判断是否已处理 */
isCheckDeal
()
{
const
{
checkExamineStatus
,
checkDealStatus
,
customsInfo
=
{},
}
=
this
.
shipmentObj
;
const
{
dcCheckStatus
}
=
customsInfo
;
// 退场未处理不能操作
if
(
checkExamineStatus
===
2
&&
dcCheckStatus
===
1
&&
checkDealStatus
===
0
)
{
return
true
;
}
return
false
;
},
},
};
</
script
>
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
0231012e
...
...
@@ -120,7 +120,16 @@
<div
v-show=
"!part.fold"
>
<el-table
v-loading=
"preLoading"
border
:data=
"part.sectionGoodsList"
@
select=
"(selection)=>checkboxSelect(selection, part)"
@
select-all=
"(selection)=>checkboxSelect(selection, part)"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
fixed=
"left"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
width=
"120"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
width=
"120"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
orderNo
}}
</div>
<div
style=
"color:blue;fontWeight:bold;"
>
{{
scope
.
row
.
isExternalWarehouse
===
1
?
'
(外部仓)
'
:
''
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"目的地"
align=
"center"
prop=
"destWarehouseName"
width=
"120"
/>
<el-table-column
label=
"入仓时间"
align=
"center"
prop=
"rucangTime"
width=
"120"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -205,6 +214,9 @@
<p>
重货比:
</p>
<p>
{{item.weightRatio}}
</p>
</div>
<div
v-if=
"item.isExternalWarehouse === 1"
style=
"color:blue;fontWeight:bold;"
>
<p>
外部仓
</p>
</div>
<div
class=
"table-button"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleGoods('all',item,command)"
>
<el-button
type=
"success"
size=
"small"
>
预装全部
</el-button>
...
...
@@ -234,7 +246,7 @@
</el-table-column>
<el-table-column
label=
"包装类型"
align=
"center"
prop=
""
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
:value=
"scope.row.unit"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
:value=
"scope.row.unit"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"材质"
align=
"center"
prop=
"material"
>
、
...
...
@@ -358,7 +370,7 @@ export default {
operatorData
:
{},
// 校验
rules
:
{
noticeUser
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
noticeUser
:
[{
required
:
true
,
message
:
"
目的地操作员
必填
"
,
trigger
:
"
change
"
}],
},
// 出货信息
shipmentObj
:
this
.
$attrs
.
shipmentObj
,
...
...
@@ -450,21 +462,22 @@ export default {
},
/** 提交 */
onSubmit
()
{
this
.
$refs
[
"
operatorForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
approvalCreate
({
...
this
.
operatorData
,
applyReason
:
"
预装审核
"
,
approvalStatus
:
0
,
approvalType
:
1
,
// 预装
copyUserId
:
this
.
selectedUsers
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
submit
"
);
});
});
this
.
$refs
[
"
operatorForm
"
].
validate
((
valid
,
errors
)
=>
{
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
);
}
approvalCreate
({
...
this
.
operatorData
,
applyReason
:
"
预装审核
"
,
approvalStatus
:
0
,
approvalType
:
1
,
// 预装
copyUserId
:
this
.
selectedUsers
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
submit
"
);
});
});
});
},
/* 统计列 */
...
...
src/views/ecw/box/shippingSea/nodePage/tally/index.vue
View file @
0231012e
...
...
@@ -28,7 +28,16 @@
<el-table
border
:data=
"tallyList"
@
select=
"checkboxSelect"
@
select-all=
"checkboxSelect"
max-height=
"600px"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
fixed=
"left"
/>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
orderNo
}}
</div>
<div
style=
"color:blue;fontWeight:bold;"
>
{{
scope
.
row
.
isExternalWarehouse
===
1
?
'
(外部仓)
'
:
''
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"商品信息"
width=
"250px"
align=
"center"
prop=
"prodTitleZh"
>
</el-table-column>
<el-table-column
label=
"备案"
align=
"center"
prop=
"productRecord"
>
...
...
src/views/ecw/box/shippingSea/seaProcess.vue
View file @
0231012e
...
...
@@ -286,7 +286,7 @@ export default {
}
}
.arrow-area
{
margin
:
0
10
px
;
margin
:
0
6
px
;
}
}
}
...
...
src/views/ecw/box/shippingSea/utils.js
View file @
0231012e
import
dayjs
from
"
dayjs
"
;
import
*
as
_BOX
from
"
@/api/ecw/box
"
;
import
FileSaver
from
"
file-saver
"
;
/**
* 节点状态值
...
...
@@ -442,7 +444,7 @@ function seaBaseData() {
*
* @return {*}
*/
function
seaAirBaseData
()
{
function
seaAirBaseData
()
{
return
[
[
{
...
...
@@ -1492,6 +1494,19 @@ function toReviewDetail(bpmProcessId) {
});
}
function downloadFile(funName, params, fileName, fileFormat) {
_BOX[funName](params).then((res) => {
let blob = new Blob([res], { type: `
application
/
$
{
fileFormat
}
` });
FileSaver.saveAs(blob, fileName);
});
}
function downloadFileByUrl(funName, params) {
_BOX[funName](params).then((res) => {
if (res.data) FileSaver.saveAs(res.data);
});
}
export {
getStatusName,
getColmnMapping,
...
...
@@ -1508,4 +1523,6 @@ export {
sumStatistics,
serviceMsg,
toReviewDetail,
downloadFile,
downloadFileByUrl,
};
src/views/ecw/box/shippingSeaAir/shippingSeaAir.vue
View file @
0231012e
...
...
@@ -26,7 +26,7 @@
</el-card>
<!-- 海运流程图 -->
<seaProcess
:seaBaseData=
"seaAirBaseData"
:shipmentObj=
"shipmentObj"
width=
"
66px"
height=
"66
px"
:allSupplier=
"allSupplier"
:allDocks=
"allDocks"
:allUsers=
"allUsers"
:warehouseList=
"warehouseList"
@
getBoxInfo=
"getBoxInfo"
/>
<seaProcess
:seaBaseData=
"seaAirBaseData"
:shipmentObj=
"shipmentObj"
width=
"
50px"
height=
"50
px"
:allSupplier=
"allSupplier"
:allDocks=
"allDocks"
:allUsers=
"allUsers"
:warehouseList=
"warehouseList"
@
getBoxInfo=
"getBoxInfo"
/>
<!-- 海运步骤图 -->
<seaStepDetail
:seaBaseData=
"seaAirBaseData"
:shipmentObj=
"shipmentObj"
:allSupplier=
"allSupplier"
:allDocks=
"allDocks"
:allUsers=
"allUsers"
:warehouseList=
"warehouseList"
/>
...
...
src/views/ecw/customer/edit.vue
View file @
0231012e
...
...
@@ -103,7 +103,7 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
:placeholder=
"$t('请选择客户经理')"
>
<el-select
v-model=
"form.customerService"
:placeholder=
"$t('请选择客户经理')"
:disabled=
"customerId !== '0' && form.customerService"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
...
...
@@ -282,7 +282,7 @@
>
<
template
v-slot =
"{row}"
>
<el-form-item
label=
""
>
<el-select
v-model=
"row.userid"
@
change=
"selectBD"
size=
"mini"
>
<el-select
v-model=
"row.userid"
@
change=
"selectBD"
size=
"mini"
filterable
>
<el-option
v-for=
"(item,index) in memberList"
:value=
"item.id"
:key=
"item.id"
:label=
"item.nickname + '(' + item.mobile + ')'"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -431,16 +431,17 @@ export default {
},
created
()
{
this
.
reset
()
if
(
this
.
customerId
!==
'
0
'
)
{
// 编辑客户
this
.
getCustomer
(
this
.
customerId
).
then
(()
=>
{
getCustomerContactsListByCustomer
({
customerId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
form
.
customerContacts
=
r
.
data
})
})
}
else
{
const
obj
=
Object
.
assign
({},
this
.
$route
,
{
title
:
this
.
$t
(
'
自定义标题
'
)
})
this
.
$tab
.
updatePage
(
obj
);
this
.
$tab
.
updatePage
({...
this
.
$route
,
meta
:
{...
this
.
$route
.
meta
,
name
:
'
abc
'
}})
// 新建客户
this
.
handleAddContact
()
}
getNodeList
().
then
(
r
=>
{
...
...
@@ -664,6 +665,7 @@ export default {
createTime
:
undefined
,
isShowTidanPrice
:
true
,
};
this
.
form
.
createTime
=
(
new
Date
()).
getTime
()
this
.
resetForm
(
"
form
"
);
},
getCustomer
(
id
)
{
...
...
src/views/ecw/customer/query.vue
View file @
0231012e
...
...
@@ -20,10 +20,10 @@
<el-descriptions-item
:label=
"$t('结算方式')"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_BALANCE
,
customer
.
balance
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户生日')"
>
{{
parseTime
(
customer
.
birthday
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户等级')
"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_LEVEL
,
customer
.
level
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('国家')
"
>
{{
getDictDataLabel
(
DICT_TYPE
.
COUNTRY
,
customer
.
country
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('国家')
"
>
{{
country
}}
<
/el-descriptions-item
>
<!--
<
el
-
descriptions
-
item
:
label
=
"
$t('业务员')
"
>
{{
customer
}}
<
/el-descriptions-item>--
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户来源')
"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_SOURCE
,
customer
.
source
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户类别')
"
>
{{
getDictData
Label
(
DICT_TYPE
.
CUSTOMER_TYPE
,
customer
.
type
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户类别')
"
>
{{
getDictData
s2
(
DICT_TYPE
.
CUSTOMER_TYPE
,
customer
.
type
.
split
(
'
,
'
)).
map
(
e
=>
e
.
label
).
join
(
'
,
'
)
}}
<
/el-descriptions-item
>
<!--
<
el
-
descriptions
-
item
:
label
=
"
$t('联系方式')
"
>
{{
customer
}}
<
/el-descriptions-item>--
>
<
el
-
descriptions
-
item
:
label
=
"
$t('推介人')
"
>
{{
promoter
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('客户经理')
"
>
{{
customerService
}}
<
/el-descriptions-item
>
...
...
@@ -73,13 +73,15 @@
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
user
name
"
prop
=
"
user
id
"
:
label
=
"
$t('关联账号')
"
:
formatter
=
"
userIdFormatter
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
social
"
:
label
=
"
$t('社交软件')
"
:
formatter
=
"
(row, column, cellValue) => getDictDataLabel(DICT_TYPE.SOCIAL, cellValue)
"
>
<
/el-table-column
>
<
el
-
table
-
column
...
...
@@ -404,9 +406,9 @@ import {
orderStatistics
,
creditLogCreate
,
creditScoreStatistic
,
infoListReceiptPage
infoListReceiptPage
,
userMemberUserList
}
from
'
@/api/ecw/customer
'
import
{
DICT_TYPE
,
getDictDataLabel
}
from
'
@/utils/dict
'
import
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas2
}
from
'
@/utils/dict
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
import
{
getNodeList
}
from
'
@/api/ecw/node
'
import
CustomerFollow
from
"
@/components/CustomerFollow
"
...
...
@@ -417,6 +419,7 @@ import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
Template
from
"
@/views/cms/template
"
;
import
{
getCreditRulePage
}
from
"
@/api/customer/creditRule
"
;
import
{
getCountry
}
from
"
@/api/ecw/country
"
export
default
{
name
:
'
query
'
,
...
...
@@ -442,6 +445,10 @@ export default {
getCustomerContactsListByCustomer
({
customerId
:
this
.
id
}
).
then
(
r
=>
{
this
.
customerContacts
=
r
.
data
}
)
getCountry
(
this
.
customer
.
country
).
then
(
r
=>
{
this
.
country
=
r
.
data
.
nameZh
}
)
}
)
getProductTypeList
().
then
(
r
=>
{
this
.
productTypeList
=
r
.
data
...
...
@@ -461,6 +468,10 @@ export default {
this
.
getOrderStatistics
()
this
.
creditScoreStatisticFn
()
this
.
infoListReceiptFn
()
userMemberUserList
().
then
(
r
=>
{
this
.
memberList
=
r
.
data
}
)
}
,
data
()
{
return
{
...
...
@@ -476,12 +487,14 @@ export default {
dialogVisible
:
false
,
DICT_TYPE
,
getDictDataLabel
,
getDictDatas2
,
parseTime
,
nodeList
:
[],
productTypeList
:
[],
customerSelect
:
[],
serviceUserList
:
[],
customerContacts
:
[],
memberList
:
[],
customer
:
{
id
:
undefined
,
number
:
undefined
,
...
...
@@ -559,7 +572,8 @@ export default {
pageNo
:
1
,
pageSize
:
10
,
}
,
infoListReceiptTotal
:
0
infoListReceiptTotal
:
0
,
country
:
''
}
}
,
computed
:
{
...
...
@@ -591,6 +605,14 @@ export default {
}
}
,
methods
:{
userIdFormatter
(
row
,
column
,
cellValue
){
const
member
=
this
.
memberList
.
find
(
e
=>
e
.
id
===
cellValue
)
if
(
member
)
{
return
member
.
nickname
+
'
(
'
+
member
.
mobile
+
'
)
'
}
else
{
return
''
}
}
,
changeDate
(
val
){
if
(
val
){
this
.
queryParams
.
houseStartDate
=
val
[
0
];
...
...
src/views/ecw/financial/creatCollection.vue
View file @
0231012e
...
...
@@ -84,7 +84,6 @@
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"remark"
:rules=
"
{ required: true, trigger: ['blur', 'change'], message: '备注不能为空' }"
>
<el-input
v-model=
"form.remark"
placeholder=
"备注"
></el-input>
</el-form-item>
...
...
@@ -136,7 +135,9 @@
</el-table-column>
<el-table-column
label=
"优惠金额"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
discountTotal
?
`${scope.row.discountTotal
}
(${scope.row.discountRemark
}
)`
:
0
}}
<span>
{{
scope
.
row
.
discountTotal
?
`${scope.row.discountTotal
}
`
:
0
}}
<
/span
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.BOX_SHIPPING_PRICE_UNIT
"
:
value
=
"
scope.row.currencyId
"
/>
<
span
>
{{
scope
.
row
.
discountRemark
?(
'
(
'
+
scope
.
row
.
discountRemark
+
'
)
'
):
''
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
>
...
...
@@ -608,10 +609,10 @@
{{
selectListRow
.
totalAmount
-
(
discountForm
.
discountTotal
||
0
)
}}
<
dict
-
tag
:
type
=
"
DICT_TYPE.BOX_SHIPPING_PRICE_UNIT
"
:
value
=
"
selectListRow.currencyId
"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
操作人
"
>
<
el
-
form
-
item
v
-
if
=
"
opnotice
"
label
=
"
操作人
"
>
{{
discountForm
.
author
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
操作时间
"
>
<
el
-
form
-
item
v
-
if
=
"
opnotice
"
label
=
"
操作时间
"
>
{{
discountForm
.
time
}}
<
/el-form-item
>
<
/el-form
>
...
...
@@ -657,6 +658,7 @@ export default {
list
:
[],
// fileList: [],
orderData
:
[],
opnotice
:
false
,
dialogTableKey
:
0
,
total
:
0
,
headers
:
{
...
...
@@ -1022,12 +1024,23 @@ export default {
this
.
$set
(
this
.
discountForm
,
'
discountTotal
'
,
res
.
data
.
discountTotal
)
this
.
$set
(
this
.
discountForm
,
'
discountRemark
'
,
res
.
data
.
discountRemark
)
this
.
$set
(
this
.
discountForm
,
'
author
'
,
res
.
data
.
creatorName
)
this
.
opnotice
=
true
}
else
{
this
.
opnotice
=
false
}
}
)
}
,
saveDiscount
()
{
console
.
log
(
this
.
discountForm
)
// this.selectListRow.id
if
(
this
.
discountForm
.
discountTotal
===
0
||!
this
.
discountForm
.
discountTotal
)
{
this
.
$modal
.
msgError
(
"
优惠金额不能为空
"
);
return
}
if
(
this
.
discountForm
.
discountRemark
===
0
||!
this
.
discountForm
.
discountRemark
)
{
this
.
$modal
.
msgError
(
"
优惠原因不能为空
"
);
return
}
const
params
=
{
id
:
this
.
selectListRow
.
id
,
discountTotal
:
this
.
discountForm
.
discountTotal
,
...
...
@@ -1075,7 +1088,8 @@ export default {
this
.
open
=
false
;
}
,
submitForm
(
addType
)
{
const
params
=
{...
this
.
form
,
addType
}
const
params
=
{...
this
.
form
}
params
.
addType
=
addType
params
.
receiptAccountList
.
length
=
params
.
receiptAccountList
.
length
-
1
params
.
receiptAccountList
.
map
(
v
=>
{
delete
v
.
discountTotal
...
...
@@ -1086,8 +1100,7 @@ export default {
delete
params
.
receivableDetail
if
(
this
.
list
&&
this
.
list
.
length
>
0
)
{
params
.
receivableVOList
=
this
.
list
}
if
(
params
.
receivableVOList
.
length
===
0
)
{
}
else
{
this
.
$modal
.
msgError
(
"
请添加未收客户款项
"
);
return
}
...
...
@@ -1130,6 +1143,7 @@ export default {
if
(
valid
)
{
this
.
saveBtnLoading
=
true
if
(
this
.
id
&&
this
.
id
!==
'
0
'
)
{
if
(
params
.
state
==
0
)
params
.
state
=
1
updateReceipt
(
params
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$router
.
back
();
...
...
src/views/ecw/financial/creatPayment.vue
View file @
0231012e
...
...
@@ -100,14 +100,12 @@
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"supplierBankAccount"
required
error=
"请选择收款账户"
>
<el-select
v-model=
"form.supplierBankAccount"
placeholder=
"请选择收款账户"
>
<el-select
v-model=
"form.supplierBankAccount"
@
change=
"selectChangeBank"
placeholder=
"请选择收款账户"
>
<el-option
v-for=
"item in bankData"
:key=
"item.id"
:label=
"item.ba
AccountName + '(' + item.baAccountNum
+ ')'"
:label=
"item.ba
nkName + '(' + item.bankAccount
+ ')'"
:value=
"item.id"
/>
</el-select>
...
...
@@ -414,10 +412,9 @@ import { DICT_TYPE } from "@/utils/dict";
import
{
getToken
}
from
"
@/utils/auth
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
CustomerSelector
from
"
@/components/CustomerSelector
"
;
import
{
getBankAccountPage
}
from
"
@/api/ecw/bankAccount
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
getSupplierPage
,
getSupplier
}
from
"
@/api/ecw/supplier
"
;
import
{
getPayableList
,
getPayableInfoByIds
,
createPayment
,
getPaymentInfoByIds
,
getPaymentItem
,
updatePayment
}
from
"
@/api/ecw/financial
"
export
default
{
name
:
"
CreatPayment
"
,
...
...
@@ -482,9 +479,9 @@ export default {
listSimpleUsers
().
then
((
res
)
=>
(
that
.
creatorData
=
res
.
data
));
getChannelList
().
then
((
res
)
=>
(
that
.
channelList
=
res
.
data
));
getTradeCityList
().
then
((
res
)
=>
(
that
.
tradeCityList
=
res
.
data
));
getBankAccountPage
(
that
.
params
).
then
(
(
res
)
=>
(
that
.
bankData
=
res
.
data
.
list
)
);
//
getBankAccountPage(that.params).then(
//
(res) => (that.bankData = res.data.list)
//
);
getSupplierPage
({
pageNo
:
"
1
"
,
pageSize
:
"
10000
"
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
allSupplier
=
data
.
list
;
...
...
@@ -558,6 +555,10 @@ export default {
if
(
this
.
list
&&
this
.
list
.
length
>
0
)
{
params
.
payableReqVOList
=
[...
this
.
list
]
}
if
(
!
params
.
supplierBankAccount
){
this
.
$modal
.
msgError
(
"
请选择供应商银行账号
"
);
return
}
if
(
params
.
payableReqVOList
.
length
===
0
)
{
this
.
$modal
.
msgError
(
"
请选择供应商未付款项
"
);
return
...
...
@@ -585,6 +586,10 @@ export default {
if
(
this
.
list
&&
this
.
list
.
length
>
0
)
{
params
.
payableReqVOList
=
[...
this
.
list
]
}
if
(
!
params
.
supplierBankAccount
){
this
.
$modal
.
msgError
(
"
请选择供应商银行账号
"
);
return
}
if
(
params
.
payableReqVOList
.
length
===
0
)
{
this
.
$modal
.
msgError
(
"
请选择供应商未付款项
"
);
return
...
...
@@ -593,9 +598,24 @@ export default {
}
})
},
selectChangeBank
(
val
){
this
.
$forceUpdate
()
console
.
log
(
this
.
form
.
supplierBankAccount
)
},
selectChange
(
val
)
{
this
.
bankData
=
[]
// this.form.supplierBankAccount=''
if
(
val
){
getSupplier
(
val
).
then
((
res
)
=>
{
this
.
bankData
=
res
.
data
.
bankList
this
.
form
.
supplierBankAccount
=
''
})
}
const
t
=
this
.
allSupplier
.
find
(
v
=>
v
.
id
==
val
)
t
&&
(
this
.
form
.
supplierName
=
t
.
companyZh
)
// t && (this.bankData = t.bankList)
},
handleQuery
()
{},
handleSelectionChange
(
val
)
{
...
...
@@ -635,7 +655,7 @@ export default {
var
chineseStr
=
''
;
//分离金额后用的数组,预定义
var
parts
;
// 传入的参数为空情况
// 传入的参数为空情况
if
(
money
===
''
)
{
return
''
;
}
...
...
@@ -643,7 +663,7 @@ export default {
if
(
money
>=
maxNum
){
return
''
}
// 传入的参数为0情况
// 传入的参数为0情况
if
(
money
===
0
)
{
chineseStr
=
cnNums
[
0
]
+
cnIntLast
+
cnInteger
;
return
chineseStr
...
...
@@ -678,7 +698,7 @@ export default {
chineseStr
+=
cnNums
[
parseInt
(
n
)]
+
cnIntRadice
[
m
];
}
if
(
m
==
0
&&
zeroCount
<
4
){
chineseStr
+=
cnIntUnits
[
q
];
chineseStr
+=
cnIntUnits
[
q
];
}
}
// 最后+ 元
...
...
src/views/ecw/offer/components/Commossion.vue
View file @
0231012e
<
template
>
<el-dialog
visible
:close-on-click-modal=
"false"
:before-close=
"closeDialog"
:title=
"$t('佣金规则申请')"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
:disabled=
"
!!form.applyStatus
"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
:disabled=
"
form.applyStatus == 1
"
>
<el-form-item
:label=
"$t('商品类型')"
>
<span>
{{
getProductTypeNameById
(
form
.
productType
)
}}
</span>
</el-form-item>
...
...
src/views/ecw/offer/detail.vue
View file @
0231012e
...
...
@@ -105,7 +105,7 @@
<el-table-column
:label=
"$t('件数')"
width=
"90px"
prop=
"num"
/>
<el-table-column
:label=
"$t('包装单位')"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:value=
"scope.row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
defaultable
/>
<dict-tag
:value=
"scope.row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
defaultable
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('箱规(m)')"
width=
"120px"
prop=
"boxGauge"
/>
...
...
src/views/ecw/offer/edit.vue
View file @
0231012e
...
...
@@ -75,7 +75,7 @@
</el-descriptions>
<el-descriptions
:column=
"3"
border
>
<el-descriptions-item
:label=
"$t('收货人')"
:labelStyle=
"labelStyle"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"consigneeId"
required
:error=
"$t('收货人不能为空')"
>
<customer-contact-selector
v-model=
"form.consigneeId"
@
change=
"consignee = $event"
type=
"2"
/>
</el-form-item>
...
...
@@ -90,7 +90,7 @@
{{
consignee
.
email
||
this
.
$t
(
'
无
'
)
}}
</el-descriptions-item>
</el-descriptions>
-->
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportId"
@
input=
"calculationPrice"
class=
"w-200"
/>
...
...
@@ -174,7 +174,7 @@
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('件数')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<el-input
v-model.number=
"row.num"
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
...
...
@@ -182,7 +182,7 @@
</el-table-column>
<el-table-column
:label=
"$t('包装单位')"
>
<
template
slot-scope=
"{row}"
>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
defaultable
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
defaultable
@
input=
"calculationPrice"
:disabled=
"!canAddProduct"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量') + '(个)'"
>
...
...
@@ -263,7 +263,7 @@
</
template
>
</el-table-column>
</el-table>
<!--
<!--
</el-card>
<el-card class="mt-10"> -->
<div
class=
"card-title"
style=
"padding:20px 0;"
>
{{$t('合计')}}
</div>
...
...
@@ -280,7 +280,7 @@
<el-descriptions-item
label=
"总数量"
>
{{sum.totalQuatity.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总货值') + '(RMB)'"
>
{{sum.totalWorth.toFixed() || 0}}{{$t('元')}}
</el-descriptions-item>
...
...
@@ -289,7 +289,7 @@
<el-card
class=
"mt-10"
>
<div
class=
"card-title"
slot=
"header"
>
{{$t('预计费用')}}
</div>
<el-descriptions
:column=
"5"
border
>
<el-descriptions-item
:label=
"$t('保价费')"
>
{{fee.insuranceFee || 0}} {{$t('美元')}}
...
...
@@ -316,7 +316,7 @@
</el-descriptions-item>
</el-descriptions>
<div
class=
"card-title"
style=
"padding:20px 0;"
>
{{$t('优惠信息')}}
</div>
<el-table
:data=
"couponList"
:show-header=
"false"
>
<el-table-column
label=
""
>
...
...
@@ -337,7 +337,7 @@
</el-table-column>
<el-table-column
label=
""
>
<
template
slot-scope=
"{row}"
>
-
{{
row
.
reduceAmount
}}
-
{{
row
.
reduceAmount
}}
{{
currencyMap
[
row
.
reduceCurrencyId
]
}}
</
template
>
</el-table-column>
...
...
@@ -361,7 +361,7 @@
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"mt-10"
>
<div
class=
"card-title"
slot=
"header"
>
{{$t('通用')}}
</div>
<div
class=
"form-section"
>
...
...
@@ -369,7 +369,7 @@
<el-input
v-model=
"form.marks"
placeholder=
""
class=
"w-200"
></el-input>
</el-form-item>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('报关方式')"
prop=
"customsType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"form.customsType"
form-type=
"radio"
defaultable
/>
</el-form-item>
...
...
@@ -398,7 +398,7 @@
<el-date-picker
v-model=
"form.endTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-200"
></el-date-picker>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('交货方式')"
>
<!--
...
...
@@ -406,7 +406,7 @@
FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价)
-->
<dict-selector
:type=
"DICT_TYPE.ECW_TRADE_TYPE"
fomtter=
"number"
v-model=
"form.tradeType"
class=
"w-200"
/>
</el-form-item>
<el-form-item
:label=
"$t('交货地址')"
>
<el-input
v-model=
"form.tradeAdress"
placeholder=
"港口或地点"
></el-input>
...
...
@@ -433,7 +433,7 @@
</el-select> -->
<supplier-selector
v-model=
"form.transportVO.airlineCompany"
companyType=
"10"
/>
</el-form-item>
<el-form-item
:label=
"$t('船公司')"
v-if=
"[2].indexOf(+form.transportId) > -1"
>
<!-- <el-select placeholder="" v-model="form.shippingCompany">
</el-select> -->
...
...
@@ -462,12 +462,12 @@
<el-input
v-model=
"form.transportVO.packageRemarks"
></el-input>
</el-form-item>
</el-card>
<el-form-item
label=
""
class=
"mt-20"
>
<!-- 非草稿状态显示为编辑按钮 -->
<el-button
v-if=
"form.offerId && form.status != 2"
type=
"primary"
@
click=
"submitForm(2)"
>
{{$t('编辑')}}
</el-button>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"submitForm(2)"
>
{{
$t
(
'
保存草稿
'
)
}}
</el-button>
<!-- 草稿 -->
<el-button
type=
"primary"
@
click=
"submitForm(3)"
>
{{
$t
(
'
确认报价
'
)
}}
</el-button>
<!-- 需求确认 -->
...
...
@@ -714,7 +714,7 @@ export default {
}
arr
.
push
(
it
)
})
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if
(
!
withInsuranceFee
&&
this
.
fee
&&
this
.
fee
.
insuranceFee
){
arr
.
push
({
...
...
@@ -771,7 +771,7 @@ export default {
},
'
form.lineId
'
(
lineId
){
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
lineId
)
if
(
!
router
)
return
if
(
!
router
)
return
this
.
$set
(
this
.
form
,
'
departureId
'
,
router
.
startCityId
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
router
.
destCityId
)
},
...
...
@@ -869,7 +869,7 @@ export default {
titleEn
:
product
.
titleEn
})
}
this
.
calculationPrice
()
},
onLineChange
(
row
){
...
...
@@ -934,14 +934,14 @@ export default {
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
)
}
this
.
form
.
prodCreateReqVOList
.
map
(
item
=>
{
item
.
prodAttrIds
=
item
.
prodAttrArr
.
join
(
'
,
'
)
item
.
lineId
=
this
.
form
.
lineId
item
.
channelId
=
this
.
form
.
channelId
item
.
transportId
=
this
.
form
.
transportId
})
// 修改的提交
if
(
this
.
form
.
offerId
!=
null
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
...
...
@@ -986,9 +986,9 @@ export default {
})
if
(
this
.
calculating
||
!
calcable
)
return
false
this
.
calculating
=
true
console
.
log
(
'
calculationPrice
'
)
calculationPrice
({
lineId
:
this
.
form
.
lineId
,
transportId
:
this
.
form
.
transportId
,
...
...
@@ -1005,8 +1005,8 @@ export default {
this
.
$set
(
this
,
'
couponTotalAmountList
'
,
res
.
data
.
availableDto
.
couponTotalAmountList
)
this
.
$set
(
this
,
'
couponAvailableGroupDtoList
'
,
res
.
data
.
availableDto
.
couponAvailableGroupDtoList
)
}
this
.
form
.
prodCreateReqVOList
.
map
((
item
,
index
)
=>
{
this
.
$set
(
item
,
'
fee
'
,
res
.
data
.
prodCostDtoList
[
index
]
||
null
)
})
...
...
@@ -1049,9 +1049,9 @@ export default {
cursor
:
pointer
;
}
}
}
::v-deep
.product-list
.el-form-item__error
{
position
:
static
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/ecw/offer/special.vue
View file @
0231012e
...
...
@@ -40,7 +40,7 @@
<el-table-column
:label=
"$t('包装')"
>
<
template
v-slot=
"{row}"
>
<dict-tag
:value=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
/>
<dict-tag
:value=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
/>
</
template
>
</el-table-column>
...
...
@@ -95,7 +95,7 @@
</el-table-column>
</el-table>
<!-- <div style="text-align: center;margin-top: 80px">
<el-button type="primary">申请重货优惠</el-button>
<el-button type="primary">申请泡货优惠</el-button>
...
...
src/views/ecw/order/associatedOrder.vue
View file @
0231012e
...
...
@@ -69,7 +69,7 @@
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
>
<
template
v
-
slot
:
default
=
'
scope
'
>
<
el
-
button
type
=
"
text
"
@
click
=
"
guanlianOrderByOrderId(scope.row.
o
rderId)
"
>
<
el
-
button
type
=
"
text
"
@
click
=
"
guanlianOrderByOrderId(scope.row.
relateO
rderId)
"
>
移出
<
/el-button
>
<
/template
>
...
...
src/views/ecw/order/cargoControl.vue
View file @
0231012e
...
...
@@ -124,15 +124,17 @@
<!--已全部放货,但是未复核-->
<
template
v-if=
"scope.row.cargoControlStatus == 1 && scope.row.isToReview"
>
<el-button
type=
"text"
size=
"mini"
@
click=
"review(scope.row)"
>
{{
$t
(
'
放货复核
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"toDetail(scope.row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"toDetail(scope.row)"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
</
template
>
<!--已完成放货,
切
没有待复核;真正的放货完成-->
<!--已完成放货,
且
没有待复核;真正的放货完成-->
<
template
v-if=
"scope.row.cargoControlStatus == 1 && !scope.row.isToReview"
>
<!--
<el-button
type=
"text"
size=
"mini"
@
click=
"toDetail(scope.row)"
>
{{
$t
(
'
查看
'
)
}}
</el-button>
-->
<el-button
type=
"text"
size=
"mini"
@
click=
"cargoTransfer(scope.row)"
>
{{
$t
(
'
调货
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"showFallbackOrder=scope.row"
v-if=
"scope.row.isReleaseAfterGoods"
>
{{
$t
(
'
反复核
'
)
}}
</el-button>
</
template
>
<el-button
type=
"text"
size=
"mini"
@
click=
"toDetail(scope.row)"
>
{{$t('查看')}}
</el-button>
</template>
</el-table-column>
</el-table>
...
...
src/views/ecw/order/components/ApprovalDetail.vue
0 → 100644
View file @
0231012e
<!--拆单审核中的申请信息部分-->
<
template
>
<div
v-if=
"detail && order"
>
<el-descriptions
:column=
"4"
v-if=
"order"
:colon=
"false"
>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
class=
"mr-10"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货方式')"
>
{{
channel
?
channel
.
nameZh
:
'
/
'
}}
</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('目的仓')"
:span=
"2"
>
{{
order
.
logisticsInfoDto
.
destAddressZh
}}
</el-descriptions-item>
<!-- 提单审核 -->
<el-descriptions-item
v-if=
"path == 'order_landing_bill'"
>
<el-button
type=
"primary"
@
click=
"getBillOfLandingInProcessing"
>
查看提单
</el-button>
</el-descriptions-item>
</el-descriptions>
<PrintLandingBill
:order-id=
"order.orderId"
v-if=
"ShowLandingBill"
@
close=
"ShowLandingBill=false"
/>
</div>
</
template
>
<
script
>
import
{
getOrder
,
getApproval
}
from
'
@/api/ecw/order
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getBillOfLandingInProcessing
,
getBillService
}
from
'
@/api/ecw/box
'
/*
优惠申请 1
管理优惠 2
佣金设置 3
重货优惠 4
泡货优惠 5
拆单申请 6
控货订单放货修改 7
控货订单反复核 8
控货订单已放货记录调货审批 9
控货订单取消放货 10
合单申请 11
费用申请 12
调仓申请 13
订单修改 14
预装审核 18
封柜审核 19
入仓修改 22
退仓 23
*/
export
default
{
name
:
'
OrderApprovalDetail
'
,
props
:{
id
:
[
String
,
Number
],
path
:
String
},
components
:{
PrintLandingBill
:
()
=>
import
(
'
./PrintLadingBill.vue
'
)
},
data
(){
return
{
detail
:
null
,
order
:
null
,
channel
:
null
,
ShowLandingBill
:
false
}
},
watch
:{
id
(){
this
.
getData
()
},
detail
(){
this
.
getOrder
()
},
order
(){
if
(
this
.
order
.
channelId
){
this
.
getChannel
()
}
}
},
created
(){
if
(
this
.
id
){
this
.
getData
()
}
},
methods
:{
getData
(){
getApproval
(
this
.
id
).
then
(
res
=>
{
this
.
detail
=
JSON
.
parse
(
res
.
data
.
details
)
})
},
getOrder
(){
getOrder
(
this
.
detail
.
orderId
).
then
(
res
=>
{
this
.
order
=
res
.
data
})
},
getChannel
(){
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
})
},
getBillService
(){
},
getBillOfLandingInProcessing
(){
getBillOfLandingInProcessing
({
orderId
:
this
.
detail
.
orderId
}).
then
(
res
=>
{
console
.
log
(
res
)
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.title
{
padding
:
10px
0
;
span
{
font-size
:
14px
;
font-weight
:
bold
;
}
}
</
style
>
\ No newline at end of file
src/views/ecw/order/components/LandingBillDetail.vue
0 → 100644
View file @
0231012e
<!--拆单审核中的申请信息部分-->
<
template
>
<div
v-if=
"order"
>
<el-descriptions
:column=
"4"
v-if=
"order"
:colon=
"false"
>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
class=
"mr-10"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货方式')"
>
{{
channel
?
channel
.
nameZh
:
'
/
'
}}
</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('目的仓')"
:span=
"2"
>
{{
order
.
logisticsInfoDto
.
destAddressZh
}}
</el-descriptions-item>
<!-- 提单审核 -->
<el-descriptions-item>
<el-button
type=
"primary"
@
click=
"ShowLandingBill=true"
>
查看提单
</el-button>
</el-descriptions-item>
</el-descriptions>
<el-dialog
title=
"查看提单"
:visible.sync=
"ShowLandingBill"
>
<div
style=
"text-align:center; width: 600px; margin: auto"
v-html=
"billContent"
/>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getBillService
}
from
'
@/api/ecw/box
'
export
default
{
name
:
'
OrderLandingBill
'
,
props
:{
id
:
[
String
,
Number
],
path
:
String
},
data
(){
return
{
order
:
null
,
channel
:
null
,
ShowLandingBill
:
false
,
billContent
:
null
}
},
watch
:{
order
(){
if
(
this
.
order
.
channelId
){
this
.
getChannel
()
}
}
},
created
(){
if
(
this
.
id
){
getBillService
({
id
:
this
.
id
}).
then
(
res
=>
{
this
.
billContent
=
res
.
data
.
billContent
return
getOrder
(
res
.
data
.
orderId
)
}).
then
(
res
=>
{
this
.
order
=
res
.
data
})
}
},
methods
:{
getChannel
(){
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.title
{
padding
:
10px
0
;
span
{
font-size
:
14px
;
font-weight
:
bold
;
}
}
</
style
>
\ No newline at end of file
src/views/ecw/order/components/PrintLadingBill.vue
View file @
0231012e
...
...
@@ -22,7 +22,7 @@ export default {
components
:
{
PdfViewer
},
filters
:
{
parseTime
},
props
:{
transportType
:
Number
,
//
transportType: Number,
// tidanNO: [String, Number],
orderId
:
String
},
...
...
@@ -45,11 +45,11 @@ export default {
}
return
t
},
type
(){
/*
type(){
if(this.transportType <= 2) return 1
if(this.transportType == 3) return 3
if(this.transportType == 4) return 2
}
}
*/
},
created
(){
this
.
show
=
true
...
...
@@ -60,6 +60,7 @@ export default {
this
.
loading
=
true
downloadByOrderId
(
this
.
orderId
)
.
then
(
arrayBuffer
=>
{
console
.
log
({
arrayBuffer
})
this
.
pdfData
=
arrayBuffer
})
.
finally
(()
=>
{
...
...
src/views/ecw/order/components/UpdateDetail.vue
0 → 100644
View file @
0231012e
<!--订单修改审核的申请信息部分-->
<
template
>
<div
v-if=
"order"
>
<el-descriptions
:column=
"4"
v-if=
"order"
:colon=
"false"
>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
class=
"mr-10"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货方式')"
>
{{
channel
?
channel
.
nameZh
:
'
/
'
}}
</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
?
$l
(
order
.
logisticsInfoDto
,
'
startTitle
'
)
:
'
-
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的仓')"
:span=
"2"
>
{{
order
.
logisticsInfoDto
?
$l
(
order
.
logisticsInfoDto
,
'
destAddress
'
)
:
'
-
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('申请理由')"
:span=
"4"
>
<div>
<div
v-for=
"(item, index) in order.applyInfoList"
:key=
"index"
>
{{
index
+
1
}}
、
{{
item
.
name
}}
{{
$t
(
'
从旧的【{orgValue
}
】改成新的【{newValue
}
】
'
,
{
orgValue
:
item
.
orgValue
,
newValue
:
item
.
newValue
}
)
}}
<
/div
>
<
/div
>
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/div
>
<
/template
>
<
script
>
import
{
getOrder
,
getUpdateInfoByApproveId
}
from
'
@/api/ecw/order
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getBillOfLandingInProcessing
,
getBillService
}
from
'
@/api/ecw/box
'
export
default
{
name
:
'
OrderApprovalDetail
'
,
props
:{
id
:
[
String
,
Number
],
path
:
String
}
,
components
:{
PrintLandingBill
:
()
=>
import
(
'
./PrintLadingBill.vue
'
)
}
,
data
(){
return
{
order
:
null
,
channel
:
null
}
}
,
watch
:{
id
(){
this
.
getData
()
}
,
order
(){
if
(
this
.
order
.
channelId
){
this
.
getChannel
()
}
}
}
,
created
(){
if
(
this
.
id
){
this
.
getData
()
}
}
,
methods
:{
getData
(){
getUpdateInfoByApproveId
(
this
.
id
).
then
(
res
=>
{
this
.
order
=
res
.
data
}
)
}
,
getChannel
(){
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
}
)
}
}
}
<
/script
>
<
style
scoped
lang
=
"
scss
"
>
.
title
{
padding
:
10
px
0
;
span
{
font
-
size
:
14
px
;
font
-
weight
:
bold
;
}
}
<
/style>
\ No newline at end of file
src/views/ecw/order/detail.vue
View file @
0231012e
This diff is collapsed.
Click to expand it.
src/views/ecw/order/edit.vue
View file @
0231012e
This diff is collapsed.
Click to expand it.
src/views/ecw/order/index.vue
View file @
0231012e
...
...
@@ -138,7 +138,12 @@
<
template
v-else
>
{{
row
.
sumVolume
}}
m³ /
{{
row
.
sumWeight
}}
Kg
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('始发仓')"
align=
"center"
prop=
"departureName"
/>
<el-table-column
:label=
"$t('始发仓')"
align=
"center"
prop=
"departureName"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
departureName
}}
<template
v-if=
"row.isExternalWarehouse"
>
(
{{
$t
(
'
外部仓
'
)
}}
)
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('运输方式/目的地')"
align=
"center"
prop=
"transportId"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"row.transportId"
/>
/
{{
row
.
objectiveName
}}
...
...
@@ -172,7 +177,7 @@
exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) &&
exclude(scope.row.status, [20,21]) &&
exclude(scope.row.shipmentState, [320,322,323]) &&
(exclude(scope.row.inWarehouseState, [ 212, 218, 213, 214, 215]) && exclude(scope.row.status, [5,8])
)
exclude(scope.row.inWarehouseState, [ 212, 218, 213, 214, 215]
)
"
>
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
编辑
'
)
}}
</el-dropdown-item>
</
template
>
...
...
@@ -253,12 +258,12 @@
<el-button
type=
"text"
>
{{$t('仓库')}}
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<!-- 入仓操作 -->
<
template
v-if=
"include(scope.row.status, [0,2]) || include(scope.row.abnormalState, [1])"
>
<
template
v-if=
"include(scope.row.status, [0,2]) || include(scope.row.abnormalState, [1])
|| scope.row.inWarehouseState == 208
"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓操作
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 入仓补充 -->
<
template
v-if=
"
include(scope.row.inWarehouseState, [201,202, 20
8, 20
2, 210, 202, 211, 202, 213, 214, 215, 216]) &&
include(scope.row.inWarehouseState, [201,202, 202, 210, 202, 211, 202, 213, 214, 215, 216]) &&
scope.row.abnormalState != 1 &&
include(scope.row.status, [2,3,5,10,9,8])
"
>
...
...
@@ -266,14 +271,14 @@
</
template
>
<!-- 入仓修改 -->
<
template
v-if=
"
include(scope.row.inWarehouseState, [202, 207, 20
8, 20
2, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206])
include(scope.row.inWarehouseState, [202, 207, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206])
"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-update?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓修改
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 退仓 -->
<
template
v-if=
"
include(scope.row.inWarehouseState, [201, 202, 207, 20
8, 20
2, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216]) &&
include(scope.row.inWarehouseState, [201, 202, 207, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216]) &&
exclude(scope.row.abnormalState, [1])
"
>
<el-dropdown-item
@
click.native=
"show = true;orderId = scope.row.orderId; "
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
退仓
'
)
}}
</el-dropdown-item>
...
...
@@ -282,7 +287,7 @@
<!-- 调仓 -->
<
template
v-if=
"
include(scope.row.inWarehouseState, [201, 202, 20
8, 20
2, 210, 202, 211, 202, 213, 215, 216])
include(scope.row.inWarehouseState, [201, 202, 202, 210, 202, 211, 202, 213, 215, 216])
"
>
<el-dropdown-item
@
click.native=
"orderId = scope.row.orderId;warehouseBol=true;"
>
{{
$t
(
'
调仓
'
)
}}
</el-dropdown-item>
</
template
>
...
...
src/views/ecw/order/pending.vue
View file @
0231012e
...
...
@@ -65,7 +65,7 @@
</el-table-column>
<el-table-column
:label=
"$t('异常描述')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
>
{{
scope
.
row
.
orderExceptionDescVO
.
descZh
}}
</span>
<span
v-if=
"scope.row.orderExceptionDescVO"
>
{{
$l
(
scope
.
row
.
orderExceptionDescVO
,
'
desc
'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
align=
"center"
scope=
"orderExceptionAmount"
/>
...
...
src/views/ecw/order/prepayDeal.vue
View file @
0231012e
...
...
@@ -209,19 +209,36 @@
</el-row>
<div
v-if=
"orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'"
>
<el-row>
<!--
<el-row>
<el-form-item :label="$t('详细内容:')">
{{orderExceptionData.orderExceptionDetails||'无'}}
</el-form-item>
</el-row>
</el-row>
-->
<el-row
>
<el-form-item
:label=
"$t('状态:')"
>
<el-radio
v-model=
"handlerParams.orderExceptionStatus"
label=
"1"
>
{{$t('处理中')}}
</el-radio>
<el-radio
v-model=
"handlerParams.orderExceptionStatus"
label=
"2"
>
{{$t('已处理')}}
</el-radio>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('处理结果:')"
required
v-if=
"handlerParams.orderExceptionStatus==2"
>
<el-select
v-model=
"handlerParams.orderExceptionHandlerResult"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in getDictDatas(orderExceptionData.orderExceptionType+'_don_result')"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row
>
<el-form-item
:label=
"$t('赔付金额:')"
size=
"medium"
required
v-if=
"handlerParams.orderExceptionStatus==2&&handlerParams.orderExceptionHandlerResult=='confirm_loss'"
>
<el-input
style=
"width: 100px;"
type=
"text"
v-model=
"handlerParams.amount"
/>
<el-select
v-model=
"handlerParams.currency"
style=
"width: 100px;margin-left: 10px;"
clearable
>
<el-option
v-for=
"dict in getDictDatas('shipping_price_unit') "
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('查明原因:')"
required
>
<el-form-item
:label=
"$t('查明原因:')"
required
v-if=
"handlerParams.orderExceptionStatus==1"
>
<el-select
v-model=
"handlerParams.orderExceptionHandlerResult"
clearable
>
<el-option
v-for=
"dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
...
...
@@ -300,7 +317,7 @@
getExceptionById
(
that
.
orderExceptionId
).
then
(
response
=>
{
that
.
orderExceptionData
=
response
.
data
;
// that.orderExceptionData.orderExceptionType = 'order_other_exception'
// that.orderExceptionData.orderExceptionType = 'order_
pick_up
_exception'
// that.orderExceptionData.orderExceptionType = 'order_
miss
_exception'
// that.orderExceptionData.orderExceptionType = 'order_pay_exception'
that
.
loading
=
false
;
that
.
orderId
=
response
.
data
.
orderId
...
...
src/views/ecw/order/singleApply.vue
View file @
0231012e
...
...
@@ -24,11 +24,11 @@
<el-descriptions-item
:label=
"$t('出货渠道')"
>
{{
orderData
.
channelId
?
getChannelName
(
orderData
.
channelId
):
'
/
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
:span=
"2"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
start
Address
Zh
:
$t
(
'
无
'
)
}}
<el-descriptions-item
:label=
"$t('始发地')"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
start
Title
Zh
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
dest
Address
Zh
:
$t
(
'
无
'
)
}}
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
dest
Title
Zh
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
name
||
$t
(
'
无
'
):
$t
(
'
无
'
)
}}
...
...
src/views/ecw/order/splitApply.vue
View file @
0231012e
...
...
@@ -27,11 +27,11 @@
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
:span=
"2"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
start
Address
Zh
:
$t
(
'
无
'
)
}}
<el-descriptions-item
:label=
"$t('始发地')"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
start
Title
Zh
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
dest
Address
Zh
:
$t
(
'
无
'
)
}}
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
dest
Title
Zh
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
name
||
$t
(
'
无
'
):
$t
(
'
无
'
)
}}
...
...
@@ -92,7 +92,7 @@
<el-table-column
:label=
"$t('入库货物属性')"
align=
"center"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<el-row>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
boxGauge
}}
</span>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
品牌
'
)
}}
:
...
...
@@ -157,7 +157,7 @@
</el-table-column>
<el-table-column
:label=
"$t('重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
weight
}}
m³
</span>
<span>
{{
scope
.
row
.
weight
}}
kg
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('箱数')"
align=
"center"
>
...
...
@@ -229,7 +229,7 @@
{{shopForm.sum||0}}
</el-form-item>
<el-form-item
:label=
"$t('放入箱数:')"
>
<el-input-number
v-model=
"shopForm.num"
controls-position=
"right"
:min=
"1"
:max=
"shopForm.sum
-1
"
></el-input-number>
<el-input-number
v-model=
"shopForm.num"
controls-position=
"right"
:min=
"1"
:max=
"shopForm.sum"
></el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息:')"
>
<el-input
v-model=
"shopForm.remarks"
></el-input>
...
...
@@ -335,7 +335,6 @@ export default {
const
tds
=
document
.
querySelectorAll
(
"
#table .el-table__footer-wrapper tr>td
"
);
console
.
log
(
tds
)
// colSpan合并列
tds
[
1
].
colSpan
=
5
;
tds
[
1
].
style
.
textAlign
=
"
left
"
;
...
...
@@ -381,7 +380,7 @@ export default {
getSplitList
(
this
.
queryParams
).
then
(
response
=>
{
this
.
splitData
=
response
.
data
.
orderSplitBackVOList
if
(
response
.
data
.
orderApprovalBackVO
){
this
.
orderApprovalBackVO
=
response
.
data
.
orderApprovalBackVO
this
.
orderApprovalBackVO
=
response
.
data
.
orderApprovalBackVO
}
this
.
loading
=
false
;
...
...
@@ -394,7 +393,6 @@ export default {
this
.
query
.
warehouseIds
=
this
.
form
.
destWarehouseId
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
console
.
log
(
rowIndex
)
if
(
rowIndex
==
this
.
orderData
.
orderItemVOList
.
length
)
{
if
(
columnIndex
===
1
)
{
return
[
2
,
3
];
...
...
@@ -424,7 +422,7 @@ export default {
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
});
sums
[
1
]
=
this
.
$t
(
'
下单统计
'
)
+
'
'
+
orderSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
orderV
+
'
m³
'
+
orderW
+
'
kg
'
+
'
'
+
this
.
$t
(
'
入仓统计:
'
)
+
leviteSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
leviteV
+
'
m³
'
+
leviteW
+
'
kg
'
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
;
},
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
0231012e
...
...
@@ -8,9 +8,16 @@
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleTabs"
>
<el-tab-pane
:label=
"edit ? '货物修改' : '货物入仓'"
name=
"first"
>
<el-descriptions
border
:column=
"2"
>
<el-descriptions-item
label=
"中文品名"
>
{{
warehousing
.
prodTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"英文品名"
>
{{
warehousing
.
prodTitleEn
}}
</el-descriptions-item>
<el-descriptions-item>
<template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
中文品名
</
template
>
{{ warehousing.prodTitleZh }}
</el-descriptions-item>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
英文品名
</
template
>
{{ warehousing.prodTitleEn }}
</el-descriptions-item>
<el-descriptions-item
label=
"品牌"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
品牌
</
template
>
<span
v-if=
"false"
>
{{ form.brand ? brand : '无' }}
</span>
<el-select
v-else
v-model=
"form.brand"
...
...
@@ -26,8 +33,14 @@
</el-option>
</el-select>
</el-descriptions-item>
<el-descriptions-item
label=
"是否备案"
>
{{
isBeian
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收费模式"
>
{{
feeType
}}
</el-descriptions-item>
<el-descriptions-item
label=
"是否备案"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
是否备案
</
template
>
{{ isBeian }}
</el-descriptions-item>
<el-descriptions-item
label=
"收费模式"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
收费模式
</
template
>
{{ feeType }}
</el-descriptions-item>
<el-descriptions-item
label=
"填单参数"
>
箱数:
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.num"
style=
"display: inline-block;width: 100px"
></el-input>
...
...
@@ -64,10 +77,10 @@
<el-form-item
:rules=
"tableFormRules.cartonsNum"
:prop=
"$index + '.cartonsNum'"
>
<span
v-if=
"tableData[$index].id && !edit"
>
{{
tableData
[
$index
].
cartonsNum
}}
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
E
_TYPE
,
tableData
[
$index
].
unit
)
}}
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
ING
_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
<el-input
v-else
v-model=
"tableData[$index].cartonsNum"
placeholder=
""
>
<span
slot=
"append"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
E
_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
<span
slot=
"append"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
ING
_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
</el-input>
</el-form-item>
</
template
>
...
...
@@ -75,8 +88,8 @@
<el-table-column
label=
"包装类型"
width=
"100px"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"tableData[$index].id && !edit"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
E
_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
<dict-selector
v-else
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
v-model=
"tableData[$index].unit"
></dict-selector>
<span
v-if=
"tableData[$index].id && !edit"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
ING
_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
<dict-selector
v-else
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
v-model=
"tableData[$index].unit"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -195,10 +208,10 @@
<el-form-item
:rules=
"tableFormRules.cartonsNum"
:prop=
"$index + '.cartonsNum'"
>
<span
v-if=
"tableData1[$index].id"
>
{{
tableData1
[
$index
].
cartonsNum
}}
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
E
_TYPE
,
tableData1
[
$index
].
unit
)
}}
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
ING
_TYPE
,
tableData1
[
$index
].
unit
)
}}
</span>
<el-input
v-else
v-model=
"tableData1[$index].cartonsNum"
placeholder=
""
>
<span
slot=
"append"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
E
_TYPE
,
tableData1
[
$index
].
unit
)
}}
</span>
<span
slot=
"append"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
ING
_TYPE
,
tableData1
[
$index
].
unit
)
}}
</span>
</el-input>
</el-form-item>
</
template
>
...
...
@@ -206,8 +219,8 @@
<el-table-column
label=
"包装类型"
width=
"100px"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"tableData1[$index].id"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
E
_TYPE
,
tableData1
[
$index
].
unit
)
}}
</span>
<dict-selector
v-else
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
v-model=
"tableData1[$index].unit"
></dict-selector>
<span
v-if=
"tableData1[$index].id"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAG
ING
_TYPE
,
tableData1
[
$index
].
unit
)
}}
</span>
<dict-selector
v-else
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
v-model=
"tableData1[$index].unit"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -294,7 +307,7 @@
import
dictSelector
from
"
@/components/DictSelector
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
{
orderWarehouseIn
,
orderWarehouseInUpdateApply
}
from
'
@/api/ecw/order
'
import
{
getFeeTypeBy
Custom
erProduct
,
getProductBrankPage
}
from
'
@/api/ecw/productBrank
'
import
{
getFeeTypeBy
Ord
erProduct
,
getProductBrankPage
}
from
'
@/api/ecw/productBrank
'
import
WorkFlow
from
"
@/components/WorkFlow
"
import
elSelect
from
'
@/components/render/slots/el-select
'
import
ProductSelector
from
"
@/components/ProductSelector
"
...
...
@@ -309,7 +322,7 @@ export default {
},
props
:
{
custom
erId
:
{
ord
erId
:
{
type
:
Number
,
default
:
undefined
},
...
...
@@ -346,12 +359,6 @@ export default {
if
(
e
.
id
){
e
.
id
=
e
.
id
.
toString
()
}
const
boxGauge
=
e
.
boxGauge
if
(
boxGauge
&&
boxGauge
.
length
>
0
)
{
const
boxGaugeList
=
boxGauge
.
split
(
'
*
'
)
const
[
boxGauge1
,
boxGauge2
,
boxGauge3
]
=
boxGaugeList
return
{...
e
,
boxGauge1
,
boxGauge2
,
boxGauge3
}
}
return
e
})
]
...
...
@@ -365,7 +372,7 @@ export default {
opened
:
false
,
brandList
:
[],
form
:
{
"
brand
"
:
""
,
"
brand
"
:
"
0
"
,
"
brandType
"
:
0
,
"
inTime
"
:
""
,
"
material
"
:
""
,
...
...
@@ -392,7 +399,7 @@ export default {
quantityAll
:
[{
required
:
true
,
message
:
"
数量不能为空
"
,
trigger
:
"
blur
"
}]
},
form1
:
{
"
brand
"
:
""
,
"
brand
"
:
"
0
"
,
"
brandType
"
:
0
,
"
inTime
"
:
""
,
"
material
"
:
""
,
...
...
@@ -457,10 +464,10 @@ export default {
},
handleTabs
(){},
handleBrandChange
(
v
){
getFeeTypeBy
Custom
erProduct
({
getFeeTypeBy
Ord
erProduct
({
brandId
:
parseInt
(
v
),
productId
:
this
.
warehousing
.
prodId
,
customerId
:
this
.
custom
erId
orderId
:
this
.
ord
erId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
(
this
.
activeName
===
"
first
"
?
this
.
form
:
this
.
form1
).
feeType
=
parseInt
(
r
.
data
.
feeType
);
...
...
@@ -581,7 +588,7 @@ export default {
"
cartonsNum
"
:
cartonsNum
>
0
?
cartonsNum
:
''
,
"
expressNo
"
:
""
,
"
quantityAll
"
:
""
,
"
unit
"
:
"
package
"
,
"
unit
"
:
"
1
"
,
"
volume
"
:
''
,
"
weight
"
:
''
})
...
...
@@ -605,7 +612,15 @@ export default {
// 入仓修改的时候
this
.
form
.
orderWarehouseInItemDoList
=
this
.
warehousing
.
orderWarehouseInBackItemDoList
return
this
.
form
.
orderWarehouseInItemDoList
return
this
.
form
.
orderWarehouseInItemDoList
.
map
(
e
=>
{
const
boxGauge
=
e
.
boxGauge
if
(
boxGauge
&&
boxGauge
.
length
>
0
)
{
const
boxGaugeList
=
boxGauge
.
split
(
'
*
'
)
const
[
boxGauge1
,
boxGauge2
,
boxGauge3
]
=
boxGaugeList
return
{...
e
,
boxGauge1
,
boxGauge2
,
boxGauge3
}
}
return
e
})
},
tableData1
()
{
return
this
.
form1
.
orderWarehouseInItemDoList
...
...
src/views/ecw/order/warehousing/index.vue
View file @
0231012e
...
...
@@ -142,7 +142,7 @@
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
:city-id=
"cityId"
></warehouse-area-dialog>
<edit-dialog
:title=
"title"
:
customer-id=
"order.custom
erId"
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"isEdit"
></edit-dialog>
<edit-dialog
:title=
"title"
:
order-id=
"order.ord
erId"
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"isEdit"
></edit-dialog>
<!-- 完成入仓 -->
<el-dialog
...
...
@@ -291,14 +291,14 @@ export default {
})
},
getTowSum
(){
let
sumVolume
=
0
let
sumWeight
=
0
this
.
order
.
orderItemVOList
.
forEach
(
e
=>
{
if
(
e
?.
warehouseInInfoVO
?.
volume
)
sumVolume
+=
e
.
warehouseInInfoVO
.
volume
if
(
e
?.
warehouseInInfoVO
?.
weight
)
sumWeight
+=
e
.
warehouseInInfoVO
.
weight
})
this
.
form
.
sumVolume
=
sumVolume
this
.
form
.
sumWeight
=
sumWeight
//
let sumVolume = 0
//
let sumWeight = 0
//
this.order.orderItemVOList.forEach(e => {
//
if (e?.warehouseInInfoVO?.volume) sumVolume += e.warehouseInInfoVO.volume
//
if (e?.warehouseInInfoVO?.weight) sumWeight += e.warehouseInInfoVO.weight
//
})
this
.
form
.
sumVolume
=
this
.
order
.
sumVolume
// ||
sumVolume
this
.
form
.
sumWeight
=
this
.
order
.
sumWeight
// ||
sumWeight
},
getOrder
(){
getOrder
(
this
.
orderId
).
then
(
r
=>
{
...
...
@@ -326,18 +326,20 @@ export default {
return
}
}
let
p
=
{
let
form
=
{
orderSpecialNeedReceivableReqVoList
:
this
.
form
.
orderSpecialNeedReceivableReqVoList
,
"
orderLocationCreateReqVOList
"
:
this
.
form
.
orderLocationCreateReqVOList
,
"
orderId
"
:
this
.
order
.
orderId
,
urls
:
this
.
form
.
urls
urls
:
this
.
form
.
urls
,
sumVolume
:
this
.
form
.
sumVolume
,
sumWeight
:
this
.
form
.
sumWeight
}
if
(
this
.
escapeBol
)
{
p
.
exceptionUrls
=
this
.
form
.
exceptionUrls
.
split
(
'
,
'
);
p
.
descZh
=
this
.
form
.
descZh
;
p
.
manualExceptionType
=
this
.
form
.
manualExceptionType
form
.
exceptionUrls
=
this
.
form
.
exceptionUrls
.
split
(
'
,
'
);
form
.
descZh
=
this
.
form
.
descZh
;
form
.
manualExceptionType
=
this
.
form
.
manualExceptionType
}
orderWarehouseInFinish
(
p
).
then
(
r
=>
{
orderWarehouseInFinish
(
form
).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
this
.
escapeBol
=
false
;
this
.
finishVisible
=
false
...
...
src/views/ecw/order/weightDeal.vue
View file @
0231012e
...
...
@@ -74,23 +74,23 @@
</el-table-column>
<el-table-column
:label=
"$t('入库货物属性')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
$t
(
'
箱规
'
)
}}
:
{{
scope
.
row
.
boxGauge
||
0
}}
</span>
<span>
{{
$t
(
'
箱规
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
<p>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:value=
"scope.row.brandType"
:type=
"DICT_TYPE.ECW_IS_BRAND"
/>
</span>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</span>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
volume
:
0
}}
CBM
</span>
<span>
{{
$t
(
'
品牌
'
)
}}
:
{{
getBrand
(
scope
.
row
.
brand
)
}}
</span>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</span>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
volume
:
0
}}
CBM
</span>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
weight
:
0
}}
KG
</span>
</p>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('重货方数')"
align=
"center"
v-if=
"type=='order_heavy_cargo_exception'"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
warehouseInInfoVO
?(
scope
.
row
.
warehouseInInfoVO
.
heavyNumber
||
0
):
0
}}
CBM
</span>
<span>
{{
scope
.
row
.
wvolume
||
0
}}
CBM
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('泡货方数')"
align=
"center"
v-else
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
warehouseInInfoVO
?(
scope
.
row
.
warehouseInInfoVO
.
lightNumber
||
0
):
0
}}
CBM
</span>
<span>
{{
scope
.
row
.
vweight
||
0
}}
CBM
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('最后操作时间')"
scope=
"handlerTime"
/>
...
...
@@ -111,6 +111,7 @@
import
{
getExceptionById
,
handlerExceptionByExceptionId
}
from
"
@/api/ecw/orderException
"
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getProductBrankPage
}
from
'
@/api/ecw/productBrank
'
export
default
{
name
:
"
WeightDeal
"
,
...
...
@@ -124,7 +125,8 @@ export default {
orderData
:{},
list
:
{},
orderId
:
0
,
type
:
''
type
:
''
,
branklist
:[]
};
},
created
()
{
...
...
@@ -135,6 +137,9 @@ export default {
if
(
this
.
$route
.
query
.
type
){
this
.
type
=
this
.
$route
.
query
.
type
}
getProductBrankPage
({
pageNo
:
1
,
pageSize
:
500
}).
then
((
data
)
=>
{
this
.
branklist
=
data
.
data
.
list
})
},
methods
:
{
/** 查询列表 */
...
...
@@ -147,6 +152,10 @@ export default {
this
.
getOrders
()
});
},
getBrand
(
id
){
var
brank
=
this
.
branklist
.
find
(
item
=>
item
.
id
==
id
)
return
brank
.
titleZh
||
''
},
checkCode
(
data
){
if
(
data
.
indexOf
(
'
+
'
)
==-
1
){
return
'
+
'
+
data
...
...
src/views/ecw/productPrice/edit.vue
View file @
0231012e
...
...
@@ -63,14 +63,14 @@
<div
slot=
"header"
style=
"font-size:20px;"
>
{{$t('价格设置')}}
<span>
<el-checkbox
label=
""
@
change=
"form.needPay=$event ? 1 : 0
"
>
{{$t('预付')}}
</el-checkbox>
<el-checkbox
label=
""
@
change=
"form.stepPrice=$event ? 1 : 0"
>
{{$t('阶梯订单
')}}
</el-checkbox>
<el-checkbox
label=
""
v-model=
"needPay
"
>
{{$t('预付')}}
</el-checkbox>
<el-checkbox
label=
""
v-model=
"stepPrice"
>
{{$t('阶梯定价
')}}
</el-checkbox>
</span>
</div>
<el-form-item
:label=
"$t('单价模式')"
prop=
"priceType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_TYPE"
v-model=
"form.priceType"
form-type=
"radio"
formatter=
"number"
defaultable
/>
</el-form-item>
<!--阶梯
订单
-->
<!--阶梯
定价
-->
<
template
v-if=
"form.stepPrice==1"
>
<div
v-for=
"(item, index) in priceStepList"
:key=
"index"
>
<div
style=
"font-size:14px; margin:10px 0"
>
...
...
@@ -224,6 +224,8 @@ export default {
validateEndDate
:
undefined
,
validateStartDate
:
undefined
}
,
needPay
:
false
,
// 是否需要预付
stepPrice
:
false
,
// 是否阶梯订单
specialProducts
:
[],
priceStepList
:
[{
}
,{
}
],
// 阶梯价格
// specialList:[], // 特殊需求,默认四个
...
...
@@ -314,6 +316,12 @@ export default {
if
(
val
)
this
.
$set
(
this
.
form
,
'
dayLimit
'
,
10000
)
else
delete
this
.
form
.
dayLimit
}
,
needPay
(
val
){
this
.
$set
(
this
.
form
,
'
needPay
'
,
val
?
1
:
0
)
}
,
stepPrice
(
val
){
this
.
$set
(
this
.
form
,
'
stepPrice
'
,
val
?
1
:
0
)
}
,
selectedRoutes
(
routers
)
{
let
transportIds
=
[]
routers
.
forEach
(
item
=>
{
...
...
@@ -339,6 +347,15 @@ export default {
if
(
this
.
$route
.
query
.
action
==
'
update
'
){
getProductPrice
(
this
.
$route
.
query
.
id
).
then
(
res
=>
{
this
.
$set
(
this
,
'
form
'
,
res
.
data
)
if
(
this
.
form
.
needPay
){
this
.
needPay
=
true
}
if
(
res
.
data
.
validateStartDate
){
this
.
form
.
validateStartDate
=
parseTime
(
res
.
data
.
validateStartDate
)
}
if
(
res
.
data
.
validateEndDate
){
this
.
form
.
validateEndDate
=
parseTime
(
res
.
data
.
validateEndDate
)
}
this
.
lineList
=
[
res
.
data
]
}
)
}
...
...
src/views/ecw/productPrice/index.vue
View file @
0231012e
...
...
@@ -336,9 +336,21 @@ export default {
// 根据状态获取状态名称 ,这个应该可以改成字典,目前接口缺少相关数据,待定
statusName
()
{
return
row
=>
{
if
(
row
.
blacklist
)
return
'
黑名单
'
;
if
(
row
.
auditStatus
===
AuditStatusEnum
.
PASS
)
return
'
已审核
'
;
return
'
已下架
'
;
//判断价格是否过期
let
validateStartDate
=
row
.
validateStartDate
;
let
validateEndDate
=
row
.
validateEndDate
;
let
notSetPrice
=
false
;
let
nowDate
=
new
Date
().
getTime
();
if
(
validateStartDate
&&
validateStartDate
>
nowDate
)
{
notSetPrice
=
true
;
}
if
(
validateEndDate
&&
validateEndDate
<
nowDate
)
{
notSetPrice
=
true
;
}
let
setPriceText
=
notSetPrice
?
'
(未设置价格)
'
:
''
;
if
(
row
.
blacklist
)
return
'
黑名单
'
+
setPriceText
;
if
(
row
.
auditStatus
===
AuditStatusEnum
.
PASS
)
return
'
已审核
'
+
setPriceText
;
return
'
已下架
'
+
setPriceText
;
}
},
...
...
src/views/ecw/supplier/edit.vue
View file @
0231012e
...
...
@@ -89,6 +89,9 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('名称') + '*'"
>
<
template
slot=
"header"
>
{{
$t
(
'
名称
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
...
...
@@ -100,6 +103,9 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('电话') + '*'"
>
<
template
slot=
"header"
>
{{
$t
(
'
电话
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
...
...
@@ -128,6 +134,9 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('账户名称') + '*'"
>
<
template
slot=
"header"
>
{{
$t
(
'
账户名称
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
...
...
@@ -139,6 +148,9 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('币别') + '*'"
>
<
template
slot=
"header"
>
{{
$t
(
'
币别
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
...
...
@@ -150,6 +162,9 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行名称') + '*'"
>
<
template
slot=
"header"
>
{{
$t
(
'
银行名称
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
...
...
@@ -161,6 +176,9 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('银行账户') + '*'"
>
<
template
slot=
"header"
>
{{
$t
(
'
银行账户
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
<
template
slot-scope=
"scope"
>
<el-form-item
class=
"mb-0 mr-0"
...
...
@@ -345,6 +363,13 @@ export default {
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
)
}
if
(
!
this
.
formData
.
bankList
.
length
){
return
this
.
$message
.
error
(
'
请添加银行信息
'
)
}
if
(
!
this
.
formData
.
contactList
.
length
){
return
this
.
$message
.
error
(
'
请添加联系人信息
'
)
}
let
data
=
Object
.
assign
({},
this
.
formData
)
// 修改的提交
...
...
@@ -385,4 +410,7 @@ export default {
::v-deep
.data-list
.el-form-item__error
{
position
:
static
;
}
.red
{
color
:
red
;
}
</
style
>
src/views/system/menu/index.vue
View file @
0231012e
...
...
@@ -139,6 +139,11 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
v-if=
"form.type != '3'"
label=
"重定向"
prop=
"redirect"
>
<el-input
v-model=
"form.redirect"
placeholder=
"请输入重定向地址"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -262,10 +267,11 @@ export default {
name
:
undefined
,
enName
:
undefined
,
icon
:
undefined
,
isShowInMenuBar
:
undefined
,
isShowInMenuBar
:
true
,
type
:
SystemMenuTypeEnum
.
DIR
,
sort
:
undefined
,
keepalive
:
false
,
redirect
:
undefined
,
status
:
CommonStatusEnum
.
ENABLE
};
this
.
resetForm
(
"
form
"
);
...
...
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