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
3abc43ec
Commit
3abc43ec
authored
Oct 15, 2022
by
我在何方
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
b07cd6fb
68b7bb0e
Changes
23
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
434 additions
and
285 deletions
+434
-285
box.js
src/api/ecw/box.js
+0
-1
boxSea.js
src/api/ecw/boxSea.js
+15
-0
customer.js
src/api/ecw/customer.js
+10
-2
customerCommissionInfo.js
src/api/ecw/customerCommissionInfo.js
+2
-2
index.vue
src/components/CustomersSelector/index.vue
+1
-1
index.vue
src/components/WarehouseAreaDialog/index.vue
+67
-37
indexSea.vue
src/views/ecw/box/indexSea.vue
+45
-45
index.vue
src/views/ecw/box/ladingBill/index.vue
+3
-3
makeLadingBill.vue
src/views/ecw/box/ladingBill/makeLadingBill.vue
+8
-2
previewBill.vue
src/views/ecw/box/ladingBill/previewBill.vue
+7
-2
shippingDetail.vue
src/views/ecw/box/shippingDetail.vue
+2
-2
splitOrder.vue
...views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
+31
-25
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+1
-1
cusDeclaration.vue
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
+2
-7
startUnloading.vue
...ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
+21
-3
shippingSeaAir.vue
src/views/ecw/box/shippingSeaAir/shippingSeaAir.vue
+1
-1
edit.vue
src/views/ecw/customer/edit.vue
+33
-14
query.vue
src/views/ecw/customer/query.vue
+6
-4
index.vue
src/views/ecw/customerCommission/index.vue
+27
-8
index.vue
src/views/ecw/messageLeave/index.vue
+54
-54
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+4
-1
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+30
-6
index.vue
src/views/ecw/order/warehousing/index.vue
+64
-64
No files found.
src/api/ecw/box.js
View file @
3abc43ec
...
...
@@ -275,7 +275,6 @@ export function downloadSoncapFiles(params) {
export
function
downloadCustomFiles
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/downloadCustomFiles
"
,
responseType
:
"
arraybuffer
"
,
method
:
"
get
"
,
params
,
});
...
...
src/api/ecw/boxSea.js
View file @
3abc43ec
...
...
@@ -701,6 +701,21 @@ export function batchUnload(data) {
});
}
/**
* 单个卸柜
*
* @export
* @param {*} data
* @return {*}
*/
export
function
singleUnload
(
data
)
{
return
request
({
url
:
"
/ecw/box-load-info/singleUnload
"
,
method
:
"
post
"
,
data
,
});
}
/**
* 一键卸柜
*
...
...
src/api/ecw/customer.js
View file @
3abc43ec
...
...
@@ -149,10 +149,18 @@ export function getMyCustomerService(query){
})
}
//获取会员列表
export
function
userMemberUserList
(){
export
function
userMemberUserList
(
params
){
return
request
({
url
:
'
/member/user/member-user-list
'
,
method
:
'
get
'
method
:
'
get
'
,
params
})
}
export
function
memberUserList
(
params
){
return
request
({
url
:
'
/member/user/list
'
,
method
:
'
get
'
,
params
})
}
//查看某客户授权的品牌
...
...
src/api/ecw/customerCommissionInfo.js
View file @
3abc43ec
...
...
@@ -21,11 +21,11 @@ export function itemTypeListApi(query){
})
}
//
export
function
customerDropDownList
(
query
){
export
function
customerDropDownList
(
params
){
return
request
({
url
:
'
/ecw/customer/select
'
,
method
:
'
get
'
,
query
,
params
,
})
}
//商品
...
...
src/components/CustomersSelector/index.vue
View file @
3abc43ec
src/components/WarehouseAreaDialog/index.vue
View file @
3abc43ec
...
...
@@ -13,7 +13,7 @@
<div
style=
"text-align: center"
>
区域
</div>
<div
style=
"background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
v-for=
"
(warehouse, i) in item.children"
:key=
"i
"
>
<el-col
:span=
"12"
v-for=
"
warehouse in item.children"
:key=
"warehouse.id
"
>
<div
class=
"warehouse-block"
:class=
"
{'warehouse-block-selected': warehouse.selected, 'warehouse-block-active': warehouse.id === activeWarehouse.id}"
...
...
@@ -28,14 +28,25 @@
<div>
<div
style=
"text-align: center"
>
仓位
</div>
<div
class=
"position-group"
>
<div
class=
"position"
v-for=
"position in activeWarehouse.positionList"
:key=
"item.id"
>
<div
class=
"position"
v-for=
"position in activeWarehouse.positionList"
:key=
"position.id"
@
click=
"handleSelectPosition(position)"
>
<template
v-if=
"position.children"
>
<div
class=
"position-item"
v-for=
"item in position.children"
@
click=
"handleSelectPosition(item)"
:key=
"item.id"
@
click.stop=
"handleSelectPositionChild(item)"
:class=
"
{'position-item-active': item.selected}">
{{
item
.
code
}}
</div>
</
template
>
<
template
v-else
>
<div
class=
"position-item"
:class=
"
{'position-item-active': position.selected}">
{{
position
.
code
}}
</div>
</
template
>
</div>
</div>
</div>
...
...
@@ -82,7 +93,8 @@ export default {
activeName
:
'
0
'
,
selectedWarehouse
:
[],
selectedPosition
:
[],
activeWarehouse
:
{}
activeWarehouse
:
{},
activeWarehouseId
:
undefined
};
},
...
...
@@ -100,6 +112,7 @@ export default {
f
.
selected
=
false
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
g
.
selected
=
false
g
.
children
?.
forEach
(
k
=>
{
// 子位置
k
.
selected
=
false
...
...
@@ -130,18 +143,21 @@ export default {
this
.
activeWarehouse
=
warehouse
if
(
!!
warehouse
.
selected
)
{
warehouse
.
selected
=
false
}
else
if
(
this
.
activeWarehouseId
!==
warehouse
.
id
)
{
this
.
activeWarehouseId
=
warehouse
.
id
}
else
{
warehouse
.
selected
=
true
// 区域被选,清空该区域下的位置
if
(
warehouse
.
positionList
)
warehouse
.
positionList
.
forEach
(
g
=>
{
if
(
warehouse
.
positionList
)
warehouse
.
positionList
?.
forEach
(
g
=>
{
g
.
selected
=
false
g
.
children
?.
forEach
(
k
=>
{
k
.
selected
=
false
})
})
}
},
handleSelectPosition
(
position
)
{
handleSelectPosition
Child
(
position
)
{
if
(
!!
position
.
selected
)
{
position
.
selected
=
false
...
...
@@ -150,7 +166,7 @@ export default {
if
(
!
parentAre
.
selected
)
{
// 检查父区域下是否所有位置被反选
let
hasSelected
=
false
parentAre
.
positionList
.
forEach
(
g
=>
{
parentAre
.
positionList
?
.
forEach
(
g
=>
{
// 位置
g
.
children
?.
forEach
(
k
=>
{
// 子位置
...
...
@@ -166,6 +182,17 @@ export default {
// 选位置时,父区域反选
this
.
area
.
find
(
e
=>
e
.
id
===
position
.
domainId
).
children
.
find
(
f
=>
f
.
id
===
position
.
areaId
).
selected
=
false
}
},
handleSelectPosition
(
position
)
{
if
(
!!
position
.
selected
)
{
position
.
selected
=
false
}
else
{
position
.
selected
=
true
// 选位置时,父区域反选
this
.
area
.
find
(
e
=>
e
.
id
===
position
.
domainId
).
children
.
find
(
f
=>
f
.
id
===
position
.
areaId
).
selected
=
false
}
}
},
...
...
@@ -179,17 +206,17 @@ export default {
selected
()
{
const
result
=
[]
this
.
area
.
forEach
(
e
=>
{
this
.
area
?
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
e
.
children
?
.
forEach
(
f
=>
{
// 区域
if
(
f
.
selected
)
result
.
push
(
f
.
code
)
else
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
else
f
.
positionList
?
.
forEach
(
g
=>
{
// 位置
if
(
g
.
selected
)
result
.
push
(
k
.
code
)
g
.
children
?.
forEach
(
k
=>
{
if
(
g
.
selected
)
result
.
push
(
f
.
code
+
g
.
code
)
else
if
(
g
.
children
)
g
.
children
?.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
result
.
push
(
k
.
code
)
if
(
k
.
selected
)
result
.
push
(
f
.
code
+
k
.
code
)
})
})
})
...
...
@@ -200,16 +227,17 @@ export default {
inputValue
(){
const
result
=
[]
this
.
area
.
forEach
(
e
=>
{
this
.
area
?
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
e
.
children
?
.
forEach
(
f
=>
{
// 区域
if
(
f
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
wareId
:
f
.
pid
,
areaId
:
f
.
id
})
else
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
else
{
f
.
positionList
?.
forEach
(
g
=>
{
// 位置
if
(
g
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
...
...
@@ -217,7 +245,7 @@ export default {
areaId
:
g
.
areaId
,
locationId
:
g
.
id
})
else
g
.
children
.
forEach
(
k
=>
{
else
g
.
children
?
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
...
...
@@ -227,6 +255,7 @@ export default {
})
})
})
}
})
})
...
...
@@ -269,9 +298,10 @@ export default {
border
:
1px
#EFEFEF
solid
;
gap
:
1px
;
min-height
:
64px
;
flex-flow
:
wrap
;
}
.position
{
width
:
20%
;
width
:
calc
(
20%
-
1px
)
;
height
:
64px
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/views/ecw/box/indexSea.vue
View file @
3abc43ec
...
...
@@ -9,67 +9,67 @@
</el-select>
</el-form-item>
<el-form-item
label=
"自编号
"
prop=
"selfNo"
>
<el-input
v-model=
"queryParams.selfNo"
placeholder=
"请输入自编号
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('自编号')
"
prop=
"selfNo"
>
<el-input
v-model=
"queryParams.selfNo"
:placeholder=
"$t('请输入自编号')
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"柜号
"
prop=
"cubNo"
>
<el-input
v-model=
"queryParams.cubNo"
placeholder=
"请输入柜号
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('柜号')
"
prop=
"cubNo"
>
<el-input
v-model=
"queryParams.cubNo"
:placeholder=
"$t('请输入柜号')
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"柜型
"
prop=
"cabinetId"
>
<el-select
v-model=
"queryParams.cabinetId"
placeholder=
"请选择柜型
"
>
<el-option
v-for=
"item in cabinetList"
:label=
"
item.name
"
:value=
"item.name"
:key=
"item.id"
></el-option>
<el-form-item
:label=
"$t('柜型')
"
prop=
"cabinetId"
>
<el-select
v-model=
"queryParams.cabinetId"
:placeholder=
"$t('请选择柜型')
"
>
<el-option
v-for=
"item in cabinetList"
:label=
"
$l(item, 'name')
"
:value=
"item.name"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"始发地
"
prop=
"startWarehouseId"
>
<el-select
v-model=
"queryParams.startWarehouseId"
placeholder=
"请选择始发地
"
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"
item.titleZh
"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-form-item
:label=
"$t('始发地')
"
prop=
"startWarehouseId"
>
<el-select
v-model=
"queryParams.startWarehouseId"
:placeholder=
"$t('请选择始发地')
"
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"
$l(item, 'titleZh')
"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"目的地
"
prop=
"destWarehouseId"
>
<el-select
v-model=
"queryParams.destWarehouseId"
placeholder=
"请选择目的地
"
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"
item.titleZh
"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-form-item
:label=
"$t('目的地')
"
prop=
"destWarehouseId"
>
<el-select
v-model=
"queryParams.destWarehouseId"
:placeholder=
"$t('请选择目的地')
"
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"
$l(item, 'titleZh')
"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"date"
>
<el-select
v-model=
"queryParams.dateType"
placeholder=
"请选择时间类型
"
clearable
size=
"small"
>
<el-option
v-for=
"item in dateTypes"
:key=
"item.value"
:label=
"
item.label
"
:value=
"item.value"
/>
<el-select
v-model=
"queryParams.dateType"
:placeholder=
"$t('请选择时间类型')
"
clearable
size=
"small"
>
<el-option
v-for=
"item in dateTypes"
:key=
"item.value"
:label=
"
$l(item, 'label')
"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
""
>
<el-date-picker
v-model=
"queryParams.dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetimerange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期
"
/>
<el-date-picker
v-model=
"queryParams.dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetimerange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')
"
/>
</el-form-item>
<el-form-item
label=
"状态
"
prop=
"boxStatus"
>
<el-select
v-model=
"queryParams.boxStatus"
placeholder=
"请选择状态
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key=
"dict.value"
:label=
"
dict.label
"
:value=
"dict.value"
/>
<el-form-item
:label=
"$t('状态')
"
prop=
"boxStatus"
>
<el-select
v-model=
"queryParams.boxStatus"
:placeholder=
"$t('请选择状态')
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key=
"dict.value"
:label=
"
$l(dict, 'label')
"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"国家
"
>
<el-select
v-model=
"queryParams.countryId"
placeholder=
"请选择国家
"
>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"
item.titleZh
"
:value=
"item.id"
>
<el-form-item
:label=
"$t('国家')
"
>
<el-select
v-model=
"queryParams.countryId"
:placeholder=
"$t('请选择国家')
"
>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"
$l(item, 'titleZh')
"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['shipment:box:create']"
>
出货安排
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['shipment:box:create']"
>
{{
$t
(
'
出货安排
'
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['shipment:box:export']"
>
导出
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['shipment:box:export']"
>
{{
$t
(
'
导出
'
)
}}
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
...
...
@@ -77,54 +77,54 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"自编号
"
align=
"center"
prop=
"selfNo"
>
<el-table-column
:label=
"$t('自编号')
"
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"
>
<el-table-column
:label=
"$t('柜号')
"
align=
"center"
prop=
"cubNo"
/>
<el-table-column
:label=
"$t('柜型')
"
align=
"center"
prop=
"cabinetId"
>
<
template
slot-scope=
"scope"
>
<span>
{{
getCabinetName
(
scope
.
row
.
cabinetId
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"运输方式
"
align=
"center"
prop=
"transportType"
>
<el-table-column
:label=
"$t('运输方式')
"
align=
"center"
prop=
"transportType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.transportType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"方数(预装/已装)
"
align=
"center"
prop=
""
>
<el-table-column
:label=
"$t('方数(预装/已装)')
"
align=
"center"
prop=
""
>
<
template
slot-scope=
"{row}"
>
{{
row
.
boxStatistics
.
volume
}}
/
{{
row
.
boxStatistics
.
loadVolume
}}
</
template
>
</el-table-column>
<el-table-column
label=
"重量(预装/已装)
"
align=
"center"
prop=
"weight"
>
<el-table-column
:label=
"$t('重量(预装/已装)')
"
align=
"center"
prop=
"weight"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
boxStatistics
.
weight
}}
/
{{
row
.
boxStatistics
.
loadWeight
}}
</
template
>
</el-table-column>
<el-table-column
label=
"状态
"
align=
"center"
prop=
"shipmentStatusText"
/>
<el-table-column
:label=
"$t('状态')
"
align=
"center"
prop=
"shipmentStatusText"
/>
<el-table-column
label=
"日期
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
:label=
"$t('日期')
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
new
Date
(
scope
.
row
.
createTime
).
format
(
'
yyyy-MM-dd hh:mm:ss
'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作
"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"200px"
>
<el-table-column
:label=
"$t('操作')
"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
style=
"marginRight:10px;"
>
<el-button
type=
"primary"
>
操作
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
{{
$t
(
'
操作
'
)
}}
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"edit"
>
编辑
</el-dropdown-item>
<el-dropdown-item
command=
"sea"
>
操作-海运
</el-dropdown-item>
<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>42"
command=
"editLadingBill"
>
编辑提货单
</el-dropdown-item>
<el-dropdown-item
command=
"edit"
>
{{
$t
(
'
编辑
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"sea"
>
{{
$t
(
'
操作-海运
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"error"
>
{{
$t
(
'
异常登记
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"cost"
>
{{
$t
(
'
费用登记
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
>
{{
$t
(
'
删除
'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.ldStatus>42"
command=
"editLadingBill"
>
{{
$t
(
'
编辑提货单
'
)
}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
>
...
...
@@ -166,17 +166,17 @@
<div
class=
"notice-title"
>
您有
{{
noticeList
.
length
}}
个待处理出货操作,请尽快前往处理:
</div>
<el-table
:data=
"noticeList"
height=
"500px"
border
>
<el-table-column
:label=
"$t('自编号')"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"类型
"
align=
"center"
>
<el-table-column
:label=
"$t('类型')
"
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"
>
<el-table-column
:label=
"$t('预计时间')
"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
formatDate
(
scope
.
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作
"
align=
"center"
width=
"80"
>
<el-table-column
:label=
"$t('操作')
"
align=
"center"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleCommand(scope.row, 'sea')"
>
处理
</el-button>
</
template
>
...
...
src/views/ecw/box/ladingBill/index.vue
View file @
3abc43ec
...
...
@@ -192,6 +192,7 @@ export default {
}
this.currRow = row;
this.$set(this.dialogCfg, "type", type);
this.$set(this.dialogCfg, "width", "750px");
this.$set(this.dialogCfg, "visible", true);
},
makeBill(row) {
...
...
@@ -201,11 +202,10 @@ export default {
}).then((res) => {
const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
let billContent = `
$
{
titleZh
}
$
{
data
.
orderInfo
}
$
{
contentZh
}
`,
orderNo = data.orderInfo?.orderNo ?? "";
let billContent = `
$
{
titleZh
}
$
{
data
.
orderInfo
}
$
{
contentZh
}
`;
this.currData = {
billContent,
orderNo,
orderNo
: this.currRow.orderNo
,
};
});
},
...
...
src/views/ecw/box/ladingBill/makeLadingBill.vue
View file @
3abc43ec
...
...
@@ -3,7 +3,9 @@
<el-row>
<div
class=
"title-orderNo"
>
订单号:
{{
orderNo
}}
</div>
</el-row>
<vue-ueditor-wrap
v-model=
"billContent"
:config=
"editorConfig"
editor-id=
"billUeditor"
/>
<el-row
class=
"ueditor-row"
>
<vue-ueditor-wrap
v-model=
"billContent"
:config=
"editorConfig"
editor-id=
"billUeditor"
style=
"max-width: 690px;"
/>
</el-row>
<!-- 审核流程 -->
<el-row
class=
"process-area"
>
...
...
@@ -22,7 +24,7 @@
</div>
</el-row>
<el-dialog
:title=
"dialogCfg.title"
:visible.sync=
"visible"
width=
"8
0%
"
append-to-body
class=
"shippingSea-dialog"
>
<el-dialog
:title=
"dialogCfg.title"
:visible.sync=
"visible"
width=
"8
50px
"
append-to-body
class=
"shippingSea-dialog"
>
<previewBill
v-if=
"visible"
:contentHtml=
"billContent"
:currRow=
"currRow"
:type=
"dialogCfg.type"
/>
</el-dialog>
</el-row>
...
...
@@ -234,5 +236,9 @@ export default {
text-align
:
center
;
}
}
.ueditor-row
{
display
:
flex
;
justify-content
:
center
;
}
}
</
style
>
src/views/ecw/box/ladingBill/previewBill.vue
View file @
3abc43ec
<
template
>
<el-row>
<div
v-html=
"contentHtml"
></div>
<div
v-html=
"contentHtml"
class=
"contentHtml"
></div>
<el-row
v-if=
"currRow.status === 2 && type === 'previewBill'"
style=
"text-align: center;"
>
<el-button
type=
"primary"
@
click=
"download"
>
下载
</el-button>
<el-button
type=
"primary"
@
click=
"print"
>
打印
</el-button>
...
...
@@ -55,6 +55,11 @@ export default {
};
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.contentHtml
{
>
table
{
width
:
96%
!
important
;
margin-left
:
2%
;
}
}
</
style
>
src/views/ecw/box/shippingDetail.vue
View file @
3abc43ec
...
...
@@ -16,7 +16,7 @@
{{
getVolumeWeight
(
loadDetail
.
totalStatistics
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"货柜状态"
>
{{
getCabinetStatus
(
boxBackVO
)
}}
{{
boxBackVO
.
shipmentStatusText
}}
</el-descriptions-item>
</el-descriptions>
...
...
@@ -47,7 +47,7 @@
{{
getVolumeWeight
(
loadDetail
.
totalStatistics
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"货柜状态"
>
{{
getCabinetStatus
(
boxBackVO
)
}}
{{
boxBackVO
.
shipmentStatusText
}}
</el-descriptions-item>
</el-descriptions>
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
View file @
3abc43ec
...
...
@@ -182,15 +182,15 @@
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"100px"
>
<el-row>
<el-form-item
label=
"中文品名:"
prop=
"prodTitleZh"
>
<el-select
v-model=
"shopForm.
prodTitleZh
"
placeholder=
"请选择中文品名"
@
change=
"changeProdTitleZh"
>
<el-option
v-for=
"item in orderItems"
:label=
"item.prodTitleZh"
:value=
"i
tem.prodTitleZh"
:key=
"item.prodTitleZh
"
></el-option>
<el-select
v-model=
"shopForm.
zhId
"
placeholder=
"请选择中文品名"
@
change=
"changeProdTitleZh"
>
<el-option
v-for=
"item in orderItems"
:label=
"item.prodTitleZh"
:value=
"i
item.id"
:key=
"item.id
"
></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"英文品名:"
prop=
"prodTitleEn"
>
<el-select
v-model=
"shopForm.
prodTitleEn
"
placeholder=
"请选择英文品名"
@
change=
"changeProdTitleEn"
>
<el-option
v-for=
"item in orderItems"
:label=
"item.prodTitleEn"
:value=
"item.
prodTitleEn"
:key=
"item.prodTitleEn
"
></el-option>
<el-select
v-model=
"shopForm.
enId
"
placeholder=
"请选择英文品名"
@
change=
"changeProdTitleEn"
>
<el-option
v-for=
"item in orderItems"
:label=
"item.prodTitleEn"
:value=
"item.
id"
:key=
"item.id
"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"剩余箱数:"
>
...
...
@@ -318,8 +318,6 @@ export default {
},
/* 打开拆单 */
getSplit
()
{
this
.
querySplitGoods
().
then
((
res
)
=>
{
if
(
res
)
{
if
(
this
.
currRow
.
goodsList
&&
this
.
currRow
.
goodsList
.
length
)
{
const
[
orderItem
]
=
this
.
currRow
.
goodsList
;
createSplit
({
...
...
@@ -332,8 +330,6 @@ export default {
this
.
querySplitGoods
();
});
}
}
});
},
/* 查询拆单项 */
querySplitGoods
()
{
...
...
@@ -346,6 +342,7 @@ export default {
const
{
orderSplitBackVOList
}
=
res
.
data
;
if
(
orderSplitBackVOList
&&
orderSplitBackVOList
.
length
)
{
this
.
orderItems
=
this
.
currRow
.
goodsList
??
[];
console
.
log
(
this
.
orderItems
)
// 取拆单项
this
.
splitData
=
orderSplitBackVOList
.
filter
(
(
item
)
=>
!
item
.
isMaster
...
...
@@ -389,8 +386,14 @@ export default {
leviteSum
,
column
.
warehouseInInfoVO
?.
cartonsNum
??
0
).
toNumber
();
leviteV
+=
Decimal
.
add
(
leviteV
,
column
.
warehouseInInfoVO
?.
volume
??
0
).
toFixed
(
2
);
leviteW
+=
Decimal
.
add
(
leviteW
,
column
.
warehouseInInfoVO
?.
weight
??
0
).
toFixed
(
2
);
leviteV
=
Decimal
.
add
(
leviteV
,
column
.
warehouseInInfoVO
?.
volume
??
0
).
toFixed
(
2
);
leviteW
=
Decimal
.
add
(
leviteW
,
column
.
warehouseInInfoVO
?.
weight
??
0
).
toFixed
(
2
);
});
sums
[
1
]
=
"
下单统计:
"
+
...
...
@@ -438,7 +441,7 @@ export default {
changeProdTitleZh
()
{
let
list
=
[];
list
=
this
.
currRow
.
goodsList
.
filter
(
(
item
)
=>
item
.
prodTitleZh
==
this
.
shopForm
.
prodTitleZh
(
item
)
=>
item
.
id
==
this
.
shopForm
.
zhId
);
this
.
shopForm
.
sum
=
this
.
currRow
.
num
-
this
.
currRow
.
installNum
-
this
.
totalSplitNum
();
...
...
@@ -448,7 +451,7 @@ export default {
changeProdTitleEn
()
{
let
list
=
[];
list
=
this
.
orderData
.
orderItemVOList
.
filter
(
(
item
)
=>
item
.
prodTitleEn
==
this
.
shopForm
.
prodTitleEn
(
item
)
=>
item
.
id
==
this
.
shopForm
.
enId
);
this
.
shopForm
.
sum
=
this
.
currRow
.
num
-
this
.
currRow
.
installNum
-
this
.
totalSplitNum
();
...
...
@@ -460,7 +463,10 @@ export default {
if
(
valid
)
{
// 输入箱数大于实装箱数
const
total
=
this
.
totalSplitNum
();
const
canSplitNum
=
Decimal
.
sub
(
this
.
currRow
.
num
,
this
.
currRow
.
installNum
).
toNumber
();
const
canSplitNum
=
Decimal
.
sub
(
this
.
currRow
.
num
,
this
.
currRow
.
installNum
).
toNumber
();
const
remain
=
Decimal
.
sub
(
canSplitNum
,
total
).
toNumber
();
if
(
this
.
shopForm
.
num
>
remain
)
{
this
.
$message
.
error
(
"
放入箱数不能大于总箱数
"
);
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
3abc43ec
...
...
@@ -545,7 +545,7 @@ export default {
},
/* 是否显示拆单 */
isShowSplitOrder
(
row
)
{
if
(
row
.
num
>
row
.
installNum
)
{
if
(
row
.
num
>
row
.
installNum
&&
row
.
installNum
!==
0
)
{
return
true
;
}
return
false
;
...
...
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
View file @
3abc43ec
...
...
@@ -159,7 +159,7 @@ import {
formatDateStr
,
serviceMsg
,
toReviewDetail
,
downloadFile
,
downloadFile
ByUrl
,
}
from
"
../utils
"
;
import
ImageUpload
from
"
@/components/ImageUpload
"
;
import
Decimal
from
"
decimal.js
"
;
...
...
@@ -477,12 +477,7 @@ export default {
},
/* 下载报关单 */
downloadCusFile
()
{
downloadFile
(
"
downloadCustomFiles
"
,
{
shipmentId
:
this
.
shipmentObj
.
id
},
`报关单(
${
this
.
shipmentObj
.
selfNo
}
).xlsx`
,
"
xlsx
"
);
downloadFileByUrl
(
'
downloadCustomFiles
'
,
{
shipmentId
:
this
.
shipmentObj
.
id
});
},
},
watch
:
{
...
...
src/views/ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
View file @
3abc43ec
...
...
@@ -5,8 +5,9 @@
<el-row
class=
"number-area"
>
<p
class=
"label-font"
>
自编号:
</p>
<p
class=
"label-font"
>
{{
selfNo
}}
</p>
<el-input
v-model=
"labelNo"
placeholder=
"请输入
标签号
"
></el-input>
<el-input
v-model=
"labelNo"
placeholder=
"请输入"
></el-input>
<div>
<el-button
type=
"primary"
@
click=
"modifyUnload"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"modifyBatchUnload"
>
批量输入
</el-button>
<el-button
type=
"primary"
@
click=
"modifyAllUnload"
>
一键卸柜
</el-button>
</div>
...
...
@@ -122,6 +123,7 @@ import {
approvalCreate
,
approvalCancel
,
getSectionList
,
singleUnload
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
serviceMsg
,
getTotlContent
,
toReviewDetail
}
from
"
../../utils
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
...
...
@@ -190,14 +192,30 @@ export default {
this
.
loading
=
false
;
});
},
/* 单个卸柜 */
modifyUnload
()
{
if
(
!
this
.
labelNo
)
{
this
.
$message
.
error
(
"
请输入箱号标签
"
);
return
;
}
singleUnload
({
orderNumCode
:
this
.
labelNo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
this
.
labelNo
=
""
;
this
.
getLoadGoodsList
();
});
});
},
/* 批量输入 */
modifyBatchUnload
()
{
if
(
!
this
.
labelNo
)
{
this
.
$message
.
error
(
"
请输入
标签
号
"
);
this
.
$message
.
error
(
"
请输入
订单
号
"
);
return
;
}
batchUnload
({
orderN
umCode
:
this
.
labelNo
,
orderN
o
:
this
.
labelNo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
...
...
src/views/ecw/box/shippingSeaAir/shippingSeaAir.vue
View file @
3abc43ec
...
...
@@ -20,7 +20,7 @@
{{
importCityName
(
shipmentObj
.
destWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"状态"
>
{{
s
tatusLabel
}}
{{
s
hipmentObj
.
shipmentStatusText
}}
</el-descriptions-item>
</el-descriptions>
</el-card>
...
...
src/views/ecw/customer/edit.vue
View file @
3abc43ec
...
...
@@ -282,8 +282,8 @@
>
<
template
v-slot =
"{row}"
>
<el-form-item
label=
""
>
<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
v-model=
"row.userid"
remote
:remote-method=
"getUserMemberUserFn"
@
change=
"selectBD"
size=
"mini"
filterable
>
<el-option
v-for=
"(item,index) in
userMemberUser"
:value=
"item.id"
:key=
"index
"
:label=
"item.nickname + '(' + item.mobile + ')'"
></el-option>
</el-select>
</el-form-item>
</
template
>
...
...
@@ -408,7 +408,7 @@ import {
createCustomer
,
getCustomer
,
getCustomerList
,
getCustomerPage
,
getCustomerPage
,
memberUserList
,
updateCustomer
,
userMemberUserList
,
}
from
'
@/api/ecw/customer
'
...
...
@@ -440,16 +440,23 @@ export default {
created
()
{
this
.
getCustomerSelect
()
this
.
reset
()
this
.
getUserMemberUserFn
()
if
(
this
.
customerId
!==
'
0
'
)
{
// 编辑客户
this
.
getCustomer
(
this
.
customerId
).
then
(()
=>
{
getCustomerContactsListByCustomer
({
customerId
:
this
.
customerId
}).
then
(
r
=>
{
this
.
form
.
customerContacts
=
r
.
data
let
list
=
this
.
form
.
customerContacts
.
map
(
item
=>
item
.
userid
);
if
(
list
.
length
>
0
){
memberUserList
({
ids
:
list
.
join
(
'
,
'
)}).
then
(
r
=>
{
this
.
selectMemberList
=
r
.
data
})
}
if
(
this
.
form
.
promoter
){
getCustomerList
({
ids
:
this
.
form
.
promoter
}).
then
(
r
=>
{
console
.
log
(
r
,
'
r
'
);
this
.
recommended
=
r
.
data
;
})
}
})
})
}
else
{
...
...
@@ -478,10 +485,6 @@ export default {
getCountryListAll
().
then
(
r
=>
{
this
.
countryList
=
r
.
data
})
userMemberUserList
().
then
(
r
=>
{
this
.
memberList
=
r
.
data
})
this
.
getZhongPao
()
},
data
(){
...
...
@@ -532,10 +535,16 @@ export default {
zhongLines
:
[],
// 重货线路
paoLines
:
[],
// 泡货线路
memberList
:[],
//会员列表
selectMemberList
:[]
//选中会员列表
}
},
methods
:
{
getUserMemberUserFn
(
val
){
userMemberUserList
({
pageNo
:
1
,
pageSize
:
100
,
searchKey
:
val
}).
then
(
r
=>
{
this
.
memberList
=
r
.
data
.
list
})
},
remoteMethod
(
val
){
this
.
getCustomerSelect
(
val
);
},
...
...
@@ -585,8 +594,12 @@ export default {
this
.
form
.
customerContacts
[
0
].
isDefault
=
1
}
},
selectBD
(){
this
.
$forceUpdate
();
selectBD
(
val
){
let
i
=
this
.
selectMemberList
.
find
(
item
=>
item
.
id
===
val
);
if
(
i
===
undefined
){
this
.
selectMemberList
.
push
(
this
.
memberList
.
find
(
item
=>
item
.
id
===
val
))
}
this
.
getUserMemberUserFn
()
},
/** 取消按钮 */
cancel
()
{
...
...
@@ -743,6 +756,12 @@ export default {
}
},
computed
:
{
userMemberUser
(){
let
list
=
this
.
memberList
.
filter
(
item
=>
{
return
this
.
selectMemberList
.
findIndex
(
i
=>
i
.
id
===
item
.
id
)
<
0
})
return
[...
this
.
selectMemberList
,...
list
]
},
productListFilter
(){
return
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
this
.
form
.
productType
)
},
...
...
src/views/ecw/customer/query.vue
View file @
3abc43ec
...
...
@@ -406,7 +406,7 @@ import {
orderStatistics
,
creditLogCreate
,
creditScoreStatistic
,
infoListReceiptPage
,
userMemberUserList
infoListReceiptPage
,
userMemberUserList
,
memberUserList
}
from
'
@/api/ecw/customer
'
import
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas2
}
from
'
@/utils/dict
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
...
...
@@ -444,6 +444,10 @@ export default {
getCustomerContactsListByCustomer
({
customerId
:
this
.
id
}
).
then
(
r
=>
{
this
.
customerContacts
=
r
.
data
let
list
=
this
.
customerContacts
.
map
(
r
=>
r
.
userid
)
memberUserList
({
ids
:
list
.
join
(
'
,
'
)
}
).
then
(
r
=>
{
this
.
memberList
=
r
.
data
}
)
}
)
getCountry
(
this
.
customer
.
country
?
this
.
customer
.
country
:
0
).
then
(
r
=>
{
...
...
@@ -469,9 +473,7 @@ export default {
this
.
creditScoreStatisticFn
()
this
.
infoListReceiptFn
()
userMemberUserList
().
then
(
r
=>
{
this
.
memberList
=
r
.
data
}
)
}
,
data
()
{
return
{
...
...
src/views/ecw/customerCommission/index.vue
View file @
3abc43ec
...
...
@@ -5,13 +5,15 @@
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
:label=
"$t('客户名称')"
prop=
"customerId"
>
<el-select
:remote-method=
"customerDropDownFn"
remote
clearable
filterable
v-model=
"queryParams.customerId"
:placeholder=
"$t('请输入关键词')"
>
<el-option
v-for=
"(item, index) in custome
List
"
:key=
"i
ndex
"
v-for=
"(item, index) in custome
rNameFn
"
:key=
"i
tem.id
"
:value=
"item.id"
:label=
"item.name"
>
...
...
@@ -140,6 +142,7 @@ import {deleteCustomerCommission, getCustomerCommissionPage, exportCustomerCommi
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
getTradeCityList
}
from
"
@/api/ecw/region
"
;
import
{
customerDropDownList
}
from
"
@/api/ecw/customerCommissionInfo
"
;
import
{
getCustomerList
}
from
"
@/api/ecw/customer
"
;
export
default
{
name
:
"
CustomerCommission
"
,
...
...
@@ -187,6 +190,7 @@ export default {
darkReturnType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
暗佣类型 1产品2达标不能为空
'
),
trigger
:
"
change
"
}],
},
customeList
:[],
selectCustomeList
:[]
};
},
computed
:{
...
...
@@ -198,16 +202,24 @@ export default {
exportCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
},
customerNameFn
(){
if
(
this
.
selectCustomeList
.
length
>
0
){
let
i
=
this
.
customeList
.
findIndex
(
item
=>
item
.
id
===
this
.
selectCustomeList
[
0
].
id
)
if
(
i
<
0
){
this
.
customeList
.
unshift
(
this
.
selectCustomeList
[
0
])
}
}
return
this
.
customeList
}
},
created
()
{
customerDropDownList
().
then
(
res
=>
{
console
.
log
(
res
);
if
(
res
.
code
===
0
)
{
this
.
customeList
=
res
.
data
}
})
this
.
customerDropDownFn
()
if
(
this
.
$route
.
query
.
customerId
){
this
.
queryParams
.
customerId
=
Number
(
this
.
$route
.
query
.
customerId
)
getCustomerList
({
ids
:
this
.
queryParams
.
customerId
}).
then
(
r
=>
{
console
.
log
(
r
,
'
rrr
'
);
this
.
selectCustomeList
=
r
.
data
})
}
this
.
getList
();
getTradeCityList
().
then
(
res
=>
{
...
...
@@ -215,6 +227,13 @@ export default {
})
},
methods
:
{
customerDropDownFn
(
val
){
customerDropDownList
({
pageNo
:
1
,
pageSize
:
100
,
searchKey
:
val
}).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
this
.
customeList
=
res
.
data
.
list
}
})
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
src/views/ecw/messageLeave/index.vue
View file @
3abc43ec
...
...
@@ -3,29 +3,29 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"订单号
"
prop=
"orderCode"
>
<el-input
v-model=
"queryParams.orderCode"
placeholder=
"请输入订单号
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('订单号')
"
prop=
"orderCode"
>
<el-input
v-model=
"queryParams.orderCode"
:placeholder=
"$t('请输入订单号')
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"咨询类型
"
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
placeholder=
"请选择咨询类型
"
clearable
size=
"small"
>
<el-form-item
:label=
"$t('咨询类型')
"
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
:placeholder=
"$t('请选择咨询类型')
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.ECW_MESSAGE_LEAVE_TYPE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"状态
"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择状态
"
clearable
size=
"small"
>
<el-form-item
:label=
"$t('状态')
"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
:placeholder=
"$t('请选择状态')
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.ECW_MESSAGE_LEAVE_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"创建时间
"
>
<el-form-item
:label=
"$t('创建时间')
"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期
"
/>
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')
"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</el-form-item>
</el-form>
...
...
@@ -33,43 +33,43 @@
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:message-leave:create']"
>
新增
</el-button>
v-hasPermi=
"['ecw:message-leave:create']"
>
{{
$t
(
'
新增
'
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:message-leave:export']"
>
导出
</el-button>
v-hasPermi=
"['ecw:message-leave:export']"
>
{{
$t
(
'
导出
'
)
}}
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"主键
"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"姓名
"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"联系方式
"
align=
"center"
prop=
"phone"
/>
<el-table-column
label=
"订单号
"
align=
"center"
prop=
"orderCode"
/>
<el-table-column
label=
"留言内容
"
align=
"center"
prop=
"content"
/>
<el-table-column
label=
"咨询类型
"
align=
"center"
prop=
"type"
>
<el-table-column
:label=
"$t('主键')
"
align=
"center"
prop=
"id"
/>
<el-table-column
:label=
"$t('姓名')
"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('联系方式')
"
align=
"center"
prop=
"phone"
/>
<el-table-column
:label=
"$t('订单号')
"
align=
"center"
prop=
"orderCode"
/>
<el-table-column
:label=
"$t('留言内容')
"
align=
"center"
prop=
"content"
/>
<el-table-column
:label=
"$t('咨询类型')
"
align=
"center"
prop=
"type"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_MESSAGE_LEAVE_TYPE"
:value=
"scope.row.type"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"状态
"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('状态')
"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_MESSAGE_LEAVE_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"咨询时间
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
:label=
"$t('咨询时间')
"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作
"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
:label=
"$t('操作')
"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:message-leave:update']"
>
查看
</el-button>
v-hasPermi=
"['ecw:message-leave:update']"
>
{{
$t
(
'
查看
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:message-leave:delete']"
>
删除
</el-button>
v-hasPermi=
"['ecw:message-leave:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -80,83 +80,83 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"姓名
"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入姓名
"
:disabled=
"form.id ? true : false"
/>
<el-form-item
:label=
"$t('姓名')
"
prop=
"name"
>
<el-input
v-model=
"form.name"
:placeholder=
"$t('请输入姓名')
"
:disabled=
"form.id ? true : false"
/>
</el-form-item>
<el-form-item
label=
"联系方式
"
prop=
"phone"
>
<el-input
v-model=
"form.phone"
placeholder=
"请输入联系方式
"
:disabled=
"form.id ? true : false"
/>
<el-form-item
:label=
"$t('联系方式')
"
prop=
"phone"
>
<el-input
v-model=
"form.phone"
:placeholder=
"$t('请输入联系方式')
"
:disabled=
"form.id ? true : false"
/>
</el-form-item>
<el-form-item
label=
"订单号
"
prop=
"orderCode"
>
<el-input
v-model=
"form.orderCode"
placeholder=
"请输入订单号
"
:disabled=
"form.id ? true : false"
/>
<el-form-item
:label=
"$t('订单号')
"
prop=
"orderCode"
>
<el-input
v-model=
"form.orderCode"
:placeholder=
"$t('请输入订单号')
"
:disabled=
"form.id ? true : false"
/>
</el-form-item>
<el-form-item
label=
"咨询类型
"
prop=
"type"
>
<el-select
v-model=
"form.type"
placeholder=
"请选择咨询类型
"
:disabled=
"form.id ? true : false"
>
<el-form-item
:label=
"$t('咨询类型')
"
prop=
"type"
>
<el-select
v-model=
"form.type"
:placeholder=
"$t('请选择咨询类型')
"
:disabled=
"form.id ? true : false"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.ECW_MESSAGE_LEAVE_TYPE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"留言内容
"
>
<el-form-item
:label=
"$t('留言内容')
"
>
<el-input
v-model=
"form.content"
:disabled=
"form.id ? true : false"
type=
"textarea"
:rows=
"4"
placeholder=
"请输入留言内容
"
>
:placeholder=
"$t('请输入留言内容')
"
>
</el-input>
</el-form-item>
<el-form-item
label=
"回复内容
"
:hidden=
"form.id ? false : true"
>
<el-form-item
:label=
"$t('回复内容')
"
:hidden=
"form.id ? false : true"
>
<el-input
v-model=
"form.replyContent"
type=
"textarea"
:rows=
"4"
placeholder=
"请输入留言内容
"
>
:placeholder=
"$t('请输入留言内容')
"
>
</el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{$t('确 定')}}
</el-button>
<el-button
@
click=
"cancel"
>
{{$t('取 消')}}
</el-button>
</div>
</el-dialog>
<!-- 留言详情-->
<el-dialog
title=
"留言详情"
:visible.sync=
"leavingShow"
width=
"500px"
append-to-body
>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
姓名
:
</el-col><el-col
:span=
"12"
>
{{messageVal.name ? messageVal.name : ''}}
</el-col>
<el-col
:span=
"4"
>
{{$t('姓名')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.name ? messageVal.name : ''}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
联系方式
:
</el-col><el-col
:span=
"12"
>
{{messageVal.phone}}
</el-col>
<el-col
:span=
"4"
>
{{$t('联系方式')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.phone}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
当前状态
:
</el-col><el-col
:span=
"12"
>
{{messageVal.status === 1 ? '待回复' : '已回复'}}
</el-col>
<el-col
:span=
"4"
>
{{$t('当前状态')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.status === 1 ? '待回复' : '已回复'}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
订单编号
:
</el-col><el-col
:span=
"12"
>
{{messageVal.orderCode}}
</el-col>
<el-col
:span=
"4"
>
{{$t('订单编号')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.orderCode}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
留言类型
:
</el-col><el-col
:span=
"12"
>
{{messageVal.type === 1 ? '咨询':'建议'}}
</el-col>
<el-col
:span=
"4"
>
{{$t('留言类型')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.type === 1 ? '咨询':'建议'}}
</el-col>
</el-row>
<div
style=
"background-color:#cccccc;padding:10px 20px;"
>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
{{messageVal.type === 1 ?
'咨询':'建议'}}时间
:
</el-col><el-col
:span=
"12"
>
{{parseTime(messageVal.createTime)}}
</el-col>
<el-col
:span=
"4"
>
{{messageVal.type === 1 ?
$t('咨询'):$t('建议')}}{{$t('时间')}}
:
</el-col><el-col
:span=
"12"
>
{{parseTime(messageVal.createTime)}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
{{messageVal.type === 1 ?
'咨询':'建议'}}内容
:
</el-col><el-col
:span=
"12"
>
{{messageVal.content}}
</el-col>
<el-col
:span=
"4"
>
{{messageVal.type === 1 ?
$t('咨询'):$t('建议')}}{{$t('内容')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.content}}
</el-col>
</el-row>
</div>
<div
style=
"background-color:#f6f6f6;padding:10px 20px;margin-top: 20px;"
>
<el-row
v-if=
"messageVal.status === 2"
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
回复人
:
</el-col><el-col
:span=
"12"
>
{{messageVal.replyUserId}}
</el-col>
<el-col
:span=
"4"
>
{{$t('回复人')}}
:
</el-col><el-col
:span=
"12"
>
{{messageVal.replyUserId}}
</el-col>
</el-row>
<el-row
v-if=
"messageVal.status === 2"
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
回复时间
:
</el-col><el-col
:span=
"12"
>
{{parseTime(messageVal.replyTime)}}
</el-col>
<el-col
:span=
"4"
>
{{$t('回复时间')}}
:
</el-col><el-col
:span=
"12"
>
{{parseTime(messageVal.replyTime)}}
</el-col>
</el-row>
<el-row
class=
"el-row-leaving"
:gutter=
"10"
>
<el-col
:span=
"4"
>
回复内容:
</el-col><el-col
:span=
"12"
><el-input
type=
"textarea"
v-model=
"messageVal.replyContent"
:disabled=
"messageVal.status === 2"
></el-input></el-col><el-col
:span=
"4"
><el-button
v-if=
"messageVal.status === 1"
@
click=
"replyFn"
>
回复
</el-button></el-col>
<el-col
:span=
"4"
>
{{$t('回复内容')}}:
</el-col><el-col
:span=
"12"
><el-input
type=
"textarea"
v-model=
"messageVal.replyContent"
:disabled=
"messageVal.status === 2"
></el-input></el-col><el-col
:span=
"4"
><el-button
v-if=
"messageVal.status === 1"
@
click=
"replyFn"
>
{{$t('回复')}}
</el-button></el-col>
</el-row>
</div>
<div
slot=
"footer"
style=
"text-align: center;"
>
<el-button
type=
"primary"
@
click=
"leavingShow = false;"
>
关 闭
</el-button>
<el-button
type=
"primary"
@
click=
"leavingShow = false;"
>
{{$t('关 闭')}}
</el-button>
</div>
</el-dialog>
</div>
...
...
@@ -271,7 +271,7 @@ export default {
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加留言
"
;
this
.
title
=
this
.
$t
(
'
添加留言
'
)
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
...
...
@@ -291,7 +291,7 @@ export default {
}
// 添加的提交
createMessageLeave
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
新增成功
'
)
);
this
.
open
=
false
;
this
.
getList
();
});
...
...
@@ -300,11 +300,11 @@ export default {
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
'
是否确认删除留言编号为"
'
+
id
+
'
"的数据项?
'
).
then
(
function
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认删除留言编号为"
'
)
+
id
+
this
.
$t
(
'
"的数据项?
'
)
).
then
(
function
()
{
return
deleteMessageLeave
(
id
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
删除成功
'
)
);
}).
catch
(()
=>
{});
},
/** 导出按钮操作 */
...
...
@@ -315,7 +315,7 @@ export default {
params
.
pageSize
=
undefined
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行导出
this
.
$modal
.
confirm
(
'
是否确认导出所有留言数据项?
'
).
then
(()
=>
{
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出所有留言数据项?
'
)
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportMessageLeaveExcel
(
params
);
}).
then
(
response
=>
{
...
...
@@ -325,7 +325,7 @@ export default {
},
replyFn
(){
replyMessageLeave
({
id
:
this
.
messageVal
.
id
,
replyContent
:
this
.
messageVal
.
replyContent
,}).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
修改成功
'
)
);
this
.
leavingShow
=
false
;
this
.
getList
();
});
...
...
src/views/ecw/order/transferWarehousing.vue
View file @
3abc43ec
...
...
@@ -84,7 +84,10 @@
<el-descriptions-item
:label=
"$t('联系电话')"
>
<el-input
:disabled=
"type == 2"
v-model=
"params.phone"
></el-input>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出仓日期')"
>
<el-descriptions-item>
<
template
slot=
"label"
>
<span
style=
"color: red;font-size: 20px;margin-right: 5px;"
>
*
</span>
{{
$t
(
'
出仓日期
'
)
}}
</
template
>
<el-date-picker
:disabled=
"type == 2"
value-format=
"yyyy-MM-dd HH:mm:ss"
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
3abc43ec
...
...
@@ -174,13 +174,16 @@
<el-tab-pane
label=
"添加新品名"
name=
"second"
v-if=
"!edit"
>
<el-descriptions
border
:column=
"2"
>
<el-descriptions-item
label=
"中文品名"
>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
中文品名
</
template
>
<product-selector
v-model=
"form1.prodId"
@
change=
"onProductChange"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"英文品名"
>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
英文品名
</
template
>
<product-selector
lang=
"En"
v-model=
"form1.prodId"
@
change=
"onProductChange"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"品牌"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
品牌
</
template
>
<el-select
v-model=
"form1.brand"
placeholder=
"可修改"
...
...
@@ -195,8 +198,14 @@
</el-option>
</el-select>
</el-descriptions-item>
<el-descriptions-item
label=
"是否备案"
>
{{ isBeian1 }}
</el-descriptions-item>
<el-descriptions-item
label=
"收费模式"
>
{{ feeType1 }}
</el-descriptions-item>
<el-descriptions-item
label=
"是否备案"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
是否备案
</
template
>
{{ isBeian1 }}
</el-descriptions-item>
<el-descriptions-item
label=
"收费模式"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
收费模式
</
template
>
{{ feeType1 }}
</el-descriptions-item>
<el-descriptions-item
label=
"填单参数"
>
非填单货物
</el-descriptions-item>
</el-descriptions>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
style=
"margin-top: 20px"
>
...
...
@@ -219,6 +228,9 @@
:data=
"tableData1"
style=
"width: 100%"
>
<el-table-column
label=
"箱数"
width=
"150px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
箱数
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.cartonsNum"
:prop=
"$index + '.cartonsNum'"
>
<span
v-if=
"tableData1[$index].id"
>
...
...
@@ -232,6 +244,9 @@
</
template
>
</el-table-column>
<el-table-column
label=
"包装类型"
width=
"100px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
包装类型
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"tableData1[$index].id"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGING_TYPE
,
tableData1
[
$index
].
unit
)
}}
</span>
...
...
@@ -264,6 +279,9 @@
</
template
>
</el-table-column>
<el-table-column
label=
"体积(m³)"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
体积(m³)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.volume"
:prop=
"$index + '.volume'"
>
<span
v-if=
"tableData1[$index].id"
>
{{
tableData1
[
$index
].
volume
}}
</span>
...
...
@@ -272,6 +290,9 @@
</
template
>
</el-table-column>
<el-table-column
label=
"重量(Kg)"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
重量(Kg)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.weight"
:prop=
"$index + '.weight'"
>
<span
v-if=
"tableData1[$index].id"
>
{{
tableData1
[
$index
].
weight
}}
</span>
...
...
@@ -280,6 +301,9 @@
</
template
>
</el-table-column>
<el-table-column
label=
"数量"
width=
"130px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
数量
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.quantityAll"
:prop=
"$index + '.quantityAll'"
>
<span
v-if=
"tableData1[$index].id"
>
{{
tableData1
[
$index
].
quantityAll
}}
</span>
...
...
@@ -424,7 +448,7 @@ export default {
quantityAll
:
[{
required
:
true
,
message
:
"
数量不能为空
"
,
trigger
:
"
change
"
}]
},
form1
:
{
"
brand
"
:
"
0
"
,
"
brand
"
:
undefined
,
"
brandType
"
:
0
,
"
inTime
"
:
""
,
"
material
"
:
""
,
...
...
@@ -463,7 +487,7 @@ export default {
opened
(
val
)
{
if
(
val
)
{
this
.
form
.
material
=
this
.
warehousing
.
material
this
.
form
.
brand
=
this
.
warehousing
.
brand
||
'
0
'
this
.
form
.
brand
=
this
.
warehousing
.
brand
this
.
handleBrandChange
(
this
.
form
.
brand
)
}
else
{
this
.
$emit
(
'
update:visible
'
,
false
)
...
...
src/views/ecw/order/warehousing/index.vue
View file @
3abc43ec
...
...
@@ -5,60 +5,60 @@
<order-base-info
:order=
"order"
></order-base-info>
<div
style=
"margin-top: 20px"
>
<span>
储位
:
{{
(
$refs
.
area
?
$refs
.
area
.
selected
:
[]).
join
(
'
,
'
)
}}
</span>
<el-button
type=
"primary"
size=
"mini"
@
click=
"areaVisible = true"
style=
"margin-left: 15px"
>
选择
</el-button>
<span>
{{
$t
(
'
储位
'
)
}}
:
{{
(
$refs
.
area
?
$refs
.
area
.
selected
:
[]).
join
(
'
,
'
)
}}
</span>
<el-button
type=
"primary"
size=
"mini"
@
click=
"areaVisible = true"
style=
"margin-left: 15px"
>
{{
$t
(
'
选择
'
)
}}
</el-button>
</div>
<h2>
货物信息
</h2>
<h2>
{{
$t
(
'
货物信息
'
)
}}
</h2>
<el-table
:data=
"order.orderItemVOList || []"
style=
"width: 100%"
>
<el-table-column
type=
"index"
width=
"50"
label=
"序号
"
>
:label=
"$t('序号')
"
>
</el-table-column>
<el-table-column
prop=
"prodTitleZh"
label=
"品名
"
>
:label=
"$t('品名')
"
>
<template
v-slot=
"
{row}">
{{
row
.
prodTitleZh
}}
<br>
{{
row
.
prodTitleEn
}}
</
template
>
</el-table-column>
<el-table-column
label=
"填单货物属性
"
>
:label=
"$t('填单货物属性')
"
>
<
template
v-slot=
"{row}"
>
<span
v-if=
"row.isWarehouseInAdd"
>
非填单货物信息
</span>
<span
v-if=
"row.isWarehouseInAdd"
>
{{
$t
(
'
非填单货物信息
'
)
}}
</span>
<template
v-else
>
品牌:
{{
[
'
无牌
'
,
'
有牌
'
,
'
中性
'
][
row
.
brandType
]
}}
<br>
箱数
:
{{
row
.
num
}}
<br>
体积
:
{{
row
.
volume
}}
m³
<br>
重量
:
{{
row
.
weight
}}
Kg
{{
$t
(
'
品牌
'
)
}}
:
{{
[
$t
(
'
无牌
'
),
$t
(
'
有牌
'
),
$t
(
'
中性
'
)
][
row
.
brandType
]
}}
<br>
{{
$t
(
'
箱数
'
)
}}
:
{{
row
.
num
}}
<br>
{{
$t
(
'
体积
'
)
}}
:
{{
row
.
volume
}}
m³
<br>
{{
$t
(
'
重量
'
)
}}
:
{{
row
.
weight
}}
Kg
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"入库货物属性
"
>
:label=
"$t('入库货物属性')
"
>
<
template
v-slot=
"{row}"
>
<template
v-if=
"row.warehouseInInfoVO"
>
品牌:
{{
[
'
无牌
'
,
'
有牌
'
,
'
中性
'
][
row
.
feeType
]
}}
<br>
箱数
:
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}
<br>
体积
:
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
<br>
重量
:
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
{{
$t
(
'
品牌
'
)
}}
:
{{
[
$t
(
'
无牌
'
),
$t
(
'
有牌
'
),
$t
(
'
中性
'
)
][
row
.
feeType
]
}}
<br>
{{
$t
(
'
箱数
'
)
}}
:
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}
<br>
{{
$t
(
'
体积
'
)
}}
:
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
<br>
{{
$t
(
'
重量
'
)
}}
:
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
</
template
>
<span
v-else
>
暂无入仓信息
</span>
<span
v-else
>
{{$t('暂无入仓信息')}}
</span>
</template>
</el-table-column>
<el-table-column
prop=
"expressNo"
v-slot=
"{row}"
label=
"快递单号
"
>
:label=
"$t('快递单号')
"
>
{{ row.warehouseInInfoVO ? row.warehouseInInfoVO.expressNo : '' }}
</el-table-column>
<el-table-column
prop=
"createTime"
label=
"最后操作时间
"
>
:label=
"$t('最后操作时间')
"
>
<
template
v-slot=
"{row}"
>
{{
parseTime
(
row
.
createTime
)
}}
</
template
>
...
...
@@ -66,29 +66,29 @@
<el-table-column
prop=
"diffType"
v-slot=
"{row}"
label=
"状态
"
>
:label=
"$t('状态')
"
>
<dict-tag
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.diffType"
:type=
"DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"
:value=
"row.warehouseInInfoVO.diffType"
class=
"red"
:class=
"{green: row.warehouseInInfoVO.diffType === 4}"
/>
<span
class=
"red"
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.cartonsNumDiff"
>
{{ row.warehouseInInfoVO.cartonsNumDiff }}
箱
</span>
<span
class=
"red"
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.cartonsNumDiff"
>
{{ row.warehouseInInfoVO.cartonsNumDiff }}
{{$t('箱')}}
</span>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作
"
>
:label=
"$t('操作')
"
>
<
template
v-slot=
"{ row, column, $index }"
>
<el-button
v-if=
"isEdit"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
<el-button
v-if=
"isEdit"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<template
v-else-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
追加
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
退仓
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
{{
$t
(
'
追加
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
{{
$t
(
'
退仓
'
)
}}
</el-button>
</
template
>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
入仓
</el-button>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
{{$t('入仓')}}
</el-button>
</template>
</el-table-column>
</el-table>
<h2
v-if=
"orderSpecialNeeds.length > 0"
>
特殊需求
</h2>
<h2
v-if=
"orderSpecialNeeds.length > 0"
>
{{$t('特殊需求')}}
</h2>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
:label=
"item.label"
v-for=
"(item, index) in orderSpecialNeeds"
:key=
"item.value"
style=
"width: 400px"
>
<el-input
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoney"
:placeholder=
"
'请输入'
+ item.label"
>
<el-select
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency"
placeholder=
"请选择
"
slot=
"append"
style=
"width: 100px"
>
<el-input
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoney"
:placeholder=
"
$t('请输入')
+ item.label"
>
<el-select
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency"
:placeholder=
"$t('请选择')
"
slot=
"append"
style=
"width: 100px"
>
<el-option
v-for=
"item in currencyList"
:key=
"item.id"
...
...
@@ -99,21 +99,21 @@
</el-input>
</el-form-item>
<h2>
订单数据
</h2>
<el-form-item
label=
"总方数
"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumVolume"
placeholder=
"请输入总方数
"
readonly
>
<h2>
{{$t('订单数据')}}
</h2>
<el-form-item
:label=
"$t('总方数')
"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumVolume"
:placeholder=
"$t('请输入总方数')
"
readonly
>
<span
slot=
"append"
>
m³
</span>
</el-input>
</el-form-item>
<el-form-item
label=
"总重量
"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumWeight"
placeholder=
"请输入总重量
"
readonly
>
<el-form-item
:label=
"$t('总重量')
"
style=
"width: 300px"
>
<el-input
v-model=
"form.sumWeight"
:placeholder=
"$t('请输入总重量')
"
readonly
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</el-form-item>
<el-card
style=
"margin-top: 15px;"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size: 18px"
>
入仓影像
</span>
<span
style=
"font-size: 18px"
>
{{$t('入仓影像')}}
</span>
</div>
<div>
<image-and-video-upload
:fileSize=
"50"
:isShowTip=
"true"
v-model=
"form.urls"
></image-and-video-upload>
...
...
@@ -121,7 +121,7 @@
</el-card>
<
template
v-if=
"order.parentOrderId && isEdit"
>
<h2>
标签箱号
</h2>
<h2>
{{
$t
(
'
标签箱号
'
)
}}
</h2>
<div
v-for=
"(item, index) in label.orderLabelDtoList"
:key=
"index"
style=
"margin-bottom: 10px"
>
<el-input-number
v-model=
"item.start"
controls-position=
"right"
></el-input-number>
-
...
...
@@ -130,12 +130,12 @@
<el-button
icon=
"el-icon-plus"
circle
@
click=
"handleLabelAdd(index)"
></el-button>
</div>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"handleLabelSubmit"
>
修改箱号
</el-button>
<el-button
type=
"primary"
@
click=
"handleLabelSubmit"
>
{{
$t
(
'
修改箱号
'
)
}}
</el-button>
</div>
</
template
>
<div
style=
"text-align: center;margin-top: 15px"
v-if=
"!isEdit"
>
<el-button
@
click=
"escapeBol = true;"
type=
"primary"
>
转异
</el-button>
<el-button
type=
"primary"
@
click=
"finishVisible = true"
>
完成入仓
</el-button>
<el-button
@
click=
"escapeBol = true;"
type=
"primary"
>
{{$t('转异')}}
</el-button>
<el-button
type=
"primary"
@
click=
"finishVisible = true"
>
{{$t('完成入仓')}}
</el-button>
</div>
</el-form>
...
...
@@ -146,33 +146,33 @@
<!-- 完成入仓 -->
<el-dialog
title=
"确认入仓
"
:title=
"$t('确认入仓')
"
:visible.sync=
"finishVisible"
width=
"300px"
>
<div
style=
"text-align: center"
>
在完成入仓前,您还可以
</div>
<div
style=
"text-align: center"
>
{{$t('在完成入仓前,您还可以')}}
</div>
<div
style=
"text-align: center;padding: 15px 0"
>
<el-button
type=
"info"
@
click=
"areaVisible = true"
>
选择储位
</el-button>
<el-button
type=
"info"
@
click=
"isShowPrintTag = true"
>
打印标签
</el-button>
<el-button
type=
"info"
@
click=
"areaVisible = true"
>
{{$t('选择储位')}}
</el-button>
<el-button
type=
"info"
@
click=
"isShowPrintTag = true"
>
{{$t('打印标签')}}
</el-button>
</div>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
{{$t('确 定')}}
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"order.orderNo +
'订单转异'
"
center
:visible.sync=
"escapeBol"
>
<el-dialog
:title=
"order.orderNo +
$t('订单转异')
"
center
:visible.sync=
"escapeBol"
>
<el-form
label-position=
"top"
label-width=
"200"
>
<el-form-item
label=
"原因类型
"
>
<el-form-item
:label=
"$t('原因类型')
"
>
<dict-selector
v-model=
"form.manualExceptionType"
form-type=
"checkbox"
:type=
"DICT_TYPE.MANUAL_EXCEPTION_TYPE"
multiple
></dict-selector>
</el-form-item>
<el-form-item
required
label=
"附件
"
>
<el-form-item
required
:label=
"$t('附件')
"
>
<image-upload
v-model=
"form.exceptionUrls"
></image-upload>
</el-form-item>
<el-form-item
label=
"详细信息
"
>
<el-form-item
:label=
"$t('详细信息')
"
>
<el-input
v-model=
"form.descZh"
type=
"textarea"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
确认并完成入仓
</el-button>
<el-button
@
click=
"escapeBol = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
>
{{$t('确认并完成入仓')}}
</el-button>
<el-button
@
click=
"escapeBol = false"
>
{{$t('取消')}}
</el-button>
</span>
</el-dialog>
...
...
@@ -280,7 +280,7 @@ export default {
orderId
:
this
.
orderId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$message
.
success
(
r
.
msg
||
'
修改标签箱号成功
'
)
this
.
$message
.
success
(
r
.
msg
||
this
.
$t
(
'
修改标签箱号成功
'
)
)
}
})
},
...
...
@@ -317,9 +317,9 @@ export default {
},
async
handleSubmit
()
{
if
(
this
.
specialHas0
())
{
const
confirm
=
await
this
.
$confirm
(
'
有特需费用为0或未填写,请问是否继续?
'
,
'
注意
'
,
{
confirmButtonText
:
'
继续
'
,
cancelButtonText
:
'
取消
'
,
const
confirm
=
await
this
.
$confirm
(
this
.
$t
(
'
有特需费用为0或未填写,请问是否继续?
'
),
this
.
$t
(
'
注意
'
)
,
{
confirmButtonText
:
this
.
$t
(
'
继续
'
)
,
cancelButtonText
:
this
.
$t
(
'
取消
'
)
,
type
:
'
warning
'
})
if
(
confirm
!==
'
confirm
'
){
...
...
@@ -337,26 +337,26 @@ export default {
if
(
this
.
escapeBol
)
{
form
.
exceptionUrls
=
this
.
form
.
exceptionUrls
.
split
(
'
,
'
);
form
.
descZh
=
this
.
form
.
descZh
;
form
.
manualExceptionType
=
this
.
form
.
manualExceptionType
form
.
manualExceptionType
=
this
.
form
.
manualExceptionType
.
join
(
'
,
'
)
}
orderWarehouseInFinish
(
form
).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
this
.
escapeBol
=
false
;
this
.
finishVisible
=
false
const
message
=
!
r
.
data
?
'
该订单已成功入仓,是否打印?
'
:
"
<h3>货物已入仓,存在异常</h3>该订单已成功入仓,是否打印?
"
const
message
=
!
r
.
data
?
this
.
$t
(
'
该订单已成功入仓,是否打印?
'
)
:
`<h3>
${
this
.
$t
(
'
货物已入仓,存在异常
'
)}
</h3>
${
this
.
$t
(
'
该订单已成功入仓,是否打印?
'
)}
`
this
.
$confirm
(
message
,
'
货物已入仓
'
,
this
.
$t
(
'
货物已入仓
'
)
,
{
confirmButtonText
:
'
是
'
,
cancelButtonText
:
'
否
'
,
confirmButtonText
:
this
.
$t
(
'
是
'
)
,
cancelButtonText
:
this
.
$t
(
'
否
'
)
,
dangerouslyUseHTMLString
:
true
}
).
then
(()
=>
{
this
.
isShowPrint
=
true
}).
catch
(()
=>
{
// this.$store.dispatch('tagsView/delVisitedView')
this
.
$message
.
success
(
'
入仓成功
'
)
this
.
$message
.
success
(
this
.
$t
(
'
入仓成功
'
)
)
this
.
$tab
.
closePage
()
})
}
...
...
@@ -367,9 +367,9 @@ export default {
this
.
warehousingVisible
=
true
},
handleWarehousingReturn
(
item
){
this
.
$confirm
(
item
.
prodTitleZh
+
'
退仓后不可恢复,是否确认退仓?
'
,
'
确定要退仓?
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
this
.
$confirm
(
item
.
prodTitleZh
+
this
.
$t
(
'
退仓后不可恢复,是否确认退仓?
'
),
this
.
$t
(
'
确定要退仓?
'
)
,
{
confirmButtonText
:
this
.
$t
(
'
确定
'
)
,
cancelButtonText
:
this
.
$t
(
'
取消
'
)
,
type
:
'
warning
'
}).
then
(()
=>
{
rollbackDelete
({
...
...
@@ -378,7 +378,7 @@ export default {
}).
then
(()
=>
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
货物退仓成功!
'
message
:
this
.
$t
(
'
货物退仓成功!
'
)
});
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
())
...
...
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