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
8e738046
Commit
8e738046
authored
Oct 06, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
解决box.js冲突
parents
b51a3386
ca449abe
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
774 additions
and
198 deletions
+774
-198
box.js
src/api/ecw/box.js
+86
-4
boxSea.js
src/api/ecw/boxSea.js
+28
-0
productBrank.js
src/api/ecw/productBrank.js
+2
-2
dict.js
src/utils/dict.js
+2
-1
indexSea.vue
src/views/ecw/box/indexSea.vue
+120
-11
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
+27
-1
splitOrder.vue
...views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
+12
-5
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+89
-5
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
utils.js
src/views/ecw/box/shippingSea/utils.js
+18
-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
+2
-2
creatPayment.vue
src/views/ecw/financial/creatPayment.vue
+26
-7
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
detail.vue
src/views/ecw/order/detail.vue
+6
-6
edit.vue
src/views/ecw/order/edit.vue
+17
-17
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+21
-4
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+41
-26
index.vue
src/views/ecw/order/warehousing/index.vue
+17
-15
No files found.
src/api/ecw/box.js
View file @
8e738046
...
...
@@ -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
"
,
});
}
...
...
@@ -236,4 +252,70 @@ export function getBillOfLandingInProcessing(params){
method
:
"
get
"
,
params
,
});
}
\ No newline at end of file
}
// 下载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 @
8e738046
...
...
@@ -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/productBrank.js
View file @
8e738046
...
...
@@ -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/utils/dict.js
View file @
8e738046
...
...
@@ -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/ecw/box/indexSea.vue
View file @
8e738046
...
...
@@ -127,18 +127,18 @@
<el-dropdown-item
v-if=
"scope.row.ldStatus==47"
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/ladingBill/index.vue
View file @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -52,11 +52,6 @@ export default {
});
},
},
watch
:
{
contentHtml
(
val
)
{
console
.
log
(
val
);
},
},
};
</
script
>
...
...
src/views/ecw/box/query.vue
View file @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -28,7 +28,7 @@
<!-- 操作 -->
<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
(()
=>
{
...
...
@@ -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 @
8e738046
...
...
@@ -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>
...
...
@@ -310,7 +310,7 @@ export default {
let
_total
=
0
;
const
{
orderSplitItemBackVOList
=
[]
}
=
this
.
splitData
;
orderSplitItemBackVOList
.
forEach
((
v
)
=>
{
_total
+=
Number
(
v
.
splitN
um
);
_total
+=
Number
(
v
.
n
um
);
});
return
_total
;
},
...
...
@@ -427,6 +427,7 @@ export default {
});
},
addShop
()
{
this
.
shopForm
=
{};
this
.
shopOpen
=
true
;
},
changeProdTitleZh
()
{
...
...
@@ -434,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
;
},
...
...
@@ -443,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
()
{
...
...
@@ -457,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
,
...
...
@@ -467,7 +475,6 @@ export default {
createSplitItem
(
params
).
then
((
res
)
=>
{
this
.
$message
.
success
(
"
放入成功
"
);
this
.
getSplit
();
this
.
shopForm
=
{};
});
this
.
shopOpen
=
false
;
}
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
8e738046
...
...
@@ -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"
>
...
...
@@ -183,13 +188,44 @@
</
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
type=
"primary"
:disabled=
"boxOrderInfo.orderId ? false : true"
@
click=
"batchLoad
"
>
提交
</el-button>
<el-button
@
click=
"closeDialog2"
>
取消
</el-button>
</el-row>
</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
);
...
...
@@ -520,11 +561,54 @@ export default {
});
});
},
/* 跳转详情 */
jumpReviewDetail
()
{
const
{
cabinetApprovalInfo
}
=
this
.
shipmentObj
;
toReviewDetail
.
apply
(
this
,
[
cabinetApprovalInfo
.
bpmProcessId
]);
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 @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -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/utils.js
View file @
8e738046
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/customer/edit.vue
View file @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -1100,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
}
...
...
@@ -1144,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 @
8e738046
...
...
@@ -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.bankName + '(' + item.bank
Name
Account+ ')'"
:label=
"item.bankName + '(' + item.bankAccount+ ')'"
:value=
"item.id"
/>
</el-select>
...
...
@@ -416,7 +414,7 @@ import { getChannelList } from "@/api/ecw/channel";
import
CustomerSelector
from
"
@/components/CustomerSelector
"
;
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
"
,
...
...
@@ -557,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
...
...
@@ -584,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
...
...
@@ -592,11 +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
)
//
t && (this.bankData = t.bankList)
},
handleQuery
()
{},
handleSelectionChange
(
val
)
{
...
...
src/views/ecw/offer/detail.vue
View file @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -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/detail.vue
View file @
8e738046
...
...
@@ -68,10 +68,10 @@
{{order.costVO.totalQuantity}}{{$t('个')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('仓库实测')"
>
{{order.sumNum}}{{$t('箱')}}
{{order.sumWeight}}Kg
{{order.sumNum}}{{$t('箱')}}
{{order.sumWeight}}Kg
{{order.sumVolume}}m³
{{order.sumQuantity}}{{$t('个')}}
{{order.sumQuantity}}{{$t('个')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收款数据')"
>
{{order.sumNum}}{{$t('箱')}}
...
...
@@ -117,7 +117,7 @@
</el-table-column>
<el-table-column
prop=
"unit"
:label=
"$t('单位')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAG
E
_TYPE"
:value=
"row.unit"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
:value=
"row.unit"
/>
</
template
>
</el-table-column>
...
...
@@ -145,7 +145,7 @@
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('成交单价')"
width=
"220px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.charging ==1"
>
<template
v-if=
"!row.seaFreight"
>
未报价
</
template
>
<
template
>
{{
$t
(
'
全包价
'
)
}}
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
...
...
@@ -346,7 +346,7 @@ export default {
});
},
getChannel
(){
if
(
!
this
.
order
||
!
this
.
order
.
channelId
)
return
if
(
!
this
.
order
||
!
this
.
order
.
channelId
)
return
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channelName
=
res
.
data
.
nameZh
})
...
...
src/views/ecw/order/edit.vue
View file @
8e738046
...
...
@@ -11,7 +11,7 @@
<el-checkbox
label=
"2"
v-if=
"!selectedRouter || routeOtherServices.indexOf('2') > -1"
>
{{
$t
(
'
海外仓
'
)
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorContactsId"
>
<!--
<customer-contact-selector
v-model=
"form.consignorContactsId"
@
change=
"consignorContact = $event"
type=
"1"
/>
-->
...
...
@@ -146,7 +146,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
:disabled=
"!canAddProduct || !productEditable"
/>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAG
ING
_TYPE"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量') + '(个)'"
width=
"120px"
>
...
...
@@ -184,7 +184,7 @@
</el-checkbox-group>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('是否预付')"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
v-if=
"row.fee"
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.fee.isPayAdvance"
/>
...
...
@@ -208,9 +208,9 @@
<el-button
size=
"mini"
type=
"danger"
@
click=
"delProduct(scope.$index)"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<!--
<!--
</el-card>
<el-card class="mt-10"> -->
<div
class=
"card-title"
style=
"padding:20px 0;"
>
{{$t('合计')}}
</div>
...
...
@@ -355,7 +355,7 @@
<dict-selector
v-model=
"form.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
defaultable
/>
</el-form-item>
</div>
<div
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('航空公司')"
>
<supplier-selector
v-model=
"form.airlineCompany"
company-type=
"10"
/>
...
...
@@ -366,7 +366,7 @@
<supplier-selector
v-model=
"form.shippingCompany"
company-type=
"9"
/>
</el-form-item>
</div>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('清关证书')"
>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
defaultable
/>
</el-form-item>
...
...
@@ -394,7 +394,7 @@
<el-input
v-model=
"form.packageRemarks"
></el-input>
</el-form-item>
</el-card>
<el-form-item
label=
""
style=
"margin: 30px 0"
>
<el-button
type=
"primary"
@
click=
"submitForm(0)"
>
{{$t('保存')}}
</el-button>
<!--草稿-->
...
...
@@ -459,7 +459,7 @@ import {getDictData, getDictDatas} from '@/utils/dict'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
import
AreaSelector
from
'
@/components/AreaSelector
'
import
FileUpload
from
'
@/components/FileUpload
'
import
FileUpload
from
'
@/components/FileUpload
'
import
AreaCodeSelector
from
'
@/components/AreaCodeSelector
'
import
ChooseContactDialog
from
'
@/components/ChooseContactDialog
'
import
QuickCreateCustomer
from
'
@/components/QuickCreateCustomer
'
...
...
@@ -639,7 +639,7 @@ export default {
// 是否可以编辑商品基本信息(货值除外)
productEditable
(){
// 非编辑模式 或者 草稿状态就可以编辑
return
!
this
.
editMode
||
this
.
form
.
status
==
0
return
!
this
.
editMode
||
this
.
form
.
status
==
0
},
// 路线开通的服务
routeOtherServices
(){
...
...
@@ -698,7 +698,7 @@ export default {
this
.
form
.
type
.
splice
(
this
.
form
.
type
.
findIndex
(
item
=>
item
==
service
),
1
)
}
})
}
},
activated
(){
...
...
@@ -743,7 +743,7 @@ export default {
this
.
$set
(
this
.
form
,
'
consignorId
'
,
res
.
data
.
consignorVO
.
customerId
)
this
.
$set
(
this
.
form
,
'
consignorName
'
,
res
.
data
.
consignorVO
.
name
)
this
.
$set
(
this
.
form
,
'
consignorPhone
'
,
res
.
data
.
consignorVO
.
phone
)
this
.
$set
(
this
.
form
,
'
consigneeCompany
'
,
res
.
data
.
consigneeVO
.
company
)
this
.
$set
(
this
.
form
,
'
consigneeContactsId
'
,
res
.
data
.
consigneeVO
.
customerContactsId
)
this
.
$set
(
this
.
form
,
'
consigneeCountryCode
'
,
res
.
data
.
consigneeVO
.
countryCode
.
replace
(
'
+
'
,
''
))
...
...
@@ -780,7 +780,7 @@ export default {
this
.
importList
=
res
.
data
.
list
this
.
$set
(
this
.
form
,
'
packingListUrl
'
,
res
.
data
.
packingListUrl
)
})
},
addToProductList
(){
...
...
@@ -846,7 +846,7 @@ export default {
onProductAttrChange
(
row
,
attr
){
console
.
log
(
attr
)
},
addProduct
(
data
){
this
.
form
.
orderItemVOList
.
push
(
data
||
{
prodAttrArr
:[]})
},
...
...
@@ -889,7 +889,7 @@ export default {
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
)
}
this
.
form
.
orderItemVOList
.
map
(
item
=>
{
item
.
prodAttrIds
=
item
.
prodAttrArr
.
join
(
'
,
'
)
})
...
...
@@ -997,9 +997,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/order/prepayDeal.vue
View file @
8e738046
...
...
@@ -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+'_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"
>
<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/warehousing/components/editDialog.vue
View file @
8e738046
...
...
@@ -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 @
8e738046
...
...
@@ -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
...
...
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