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
45f2ffc8
Commit
45f2ffc8
authored
Aug 30, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
解决商品列表冲突
parents
91131da6
0e1f7431
Changes
44
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
1016 additions
and
731 deletions
+1016
-731
boxSea.js
src/api/ecw/boxSea.js
+66
-0
warehouseArea.js
src/api/ecw/warehouseArea.js
+3
-2
lh-end.png
src/assets/images/shipping/lh-end.png
+0
-0
lh-start.png
src/assets/images/shipping/lh-start.png
+0
-0
lh-wait.png
src/assets/images/shipping/lh-wait.png
+0
-0
index.vue
src/components/OrderBaseInfo/index.vue
+1
-1
index.vue
src/components/WarehouseAreaDialog/index.vue
+26
-23
indexSea.vue
src/views/ecw/box/indexSea.vue
+20
-3
query.vue
src/views/ecw/box/query.vue
+0
-1
shippingDetail.vue
src/views/ecw/box/shippingDetail.vue
+6
-6
booking.vue
src/views/ecw/box/shippingSea/nodePage/booking.vue
+1
-2
index.vue
src/views/ecw/box/shippingSea/nodePage/cabinet/index.vue
+5
-1
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+53
-157
supplementOrder.vue
.../ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
+1
-1
clrDocument.vue
src/views/ecw/box/shippingSea/nodePage/clrDocument.vue
+5
-1
dockSelect.vue
src/views/ecw/box/shippingSea/nodePage/common/dockSelect.vue
+1
-1
supplierSelect.vue
...ws/ecw/box/shippingSea/nodePage/common/supplierSelect.vue
+1
-1
userSelect.vue
src/views/ecw/box/shippingSea/nodePage/common/userSelect.vue
+1
-1
cusDeclaration.vue
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
+15
-3
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+85
-267
subMaterial.vue
src/views/ecw/box/shippingSea/nodePage/subMaterial.vue
+5
-2
batchTally.vue
src/views/ecw/box/shippingSea/nodePage/tally/batchTally.vue
+171
-0
index.vue
src/views/ecw/box/shippingSea/nodePage/tally/index.vue
+236
-0
startUnloading.vue
...ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
+26
-70
unloadingError.vue
...ecw/box/shippingSea/nodePage/unloading/unloadingError.vue
+1
-1
seaProcess.vue
src/views/ecw/box/shippingSea/seaProcess.vue
+14
-7
seaStepDetail.vue
src/views/ecw/box/shippingSea/seaStepDetail.vue
+10
-3
shippingSea.vue
src/views/ecw/box/shippingSea/shippingSea.vue
+1
-0
utils.js
src/views/ecw/box/shippingSea/utils.js
+49
-12
quickCreate.vue
src/views/ecw/customer/components/quickCreate.vue
+5
-5
edit.vue
src/views/ecw/customer/edit.vue
+3
-3
index.vue
src/views/ecw/customer/index.vue
+6
-6
query.vue
src/views/ecw/customer/query.vue
+1
-1
index.vue
src/views/ecw/customerConfirm/index.vue
+7
-7
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+5
-5
index.vue
src/views/ecw/oceanCustomer/index.vue
+5
-5
specialNeeds.vue
src/views/ecw/order/components/specialNeeds.vue
+33
-31
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+25
-4
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+10
-1
index.vue
src/views/ecw/order/warehousing/index.vue
+14
-9
index.vue
src/views/ecw/product/index.vue
+8
-6
index.vue
src/views/member/user/index.vue
+75
-65
index.vue
src/views/system/needKnow/index.vue
+2
-2
index.vue
src/views/system/user/index.vue
+14
-15
No files found.
src/api/ecw/boxSea.js
View file @
45f2ffc8
...
@@ -740,6 +740,72 @@ export function extraCostList(params) {
...
@@ -740,6 +740,72 @@ export function extraCostList(params) {
/***************************** 报关费用 end **********************************/
/***************************** 报关费用 end **********************************/
/***************************** 理货 start **********************************/
/**
* 理货列表
*
* @export
* @param {*} data
* @return {*}
*/
export
function
getTallyList
(
data
)
{
return
request
({
url
:
"
/shipment/box/tallyList
"
,
method
:
"
post
"
,
headers
:
{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
},
data
:
jsonToFormData
(
data
),
});
}
/**
* 理货移出
*
* @export
* @param {*} data
* @return {*}
*/
export
function
tallyRemove
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/remove
"
,
method
:
"
post
"
,
data
,
});
}
/**
* 理货
*
* @export
* @param {*} data
* @return {*}
*/
export
function
tallyLocationUpdate
(
data
)
{
return
request
({
url
:
"
/shipment/box/batchOrderLocationUpdate
"
,
method
:
"
post
"
,
data
,
});
}
/**
* 理货提交
*
* @export
* @param {*} data
* @return {*}
*/
export
function
tallyCommit
(
data
)
{
return
request
({
url
:
"
/shipment/box/tallyCommit
"
,
method
:
"
post
"
,
headers
:
{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
},
data
:
jsonToFormData
(
data
),
});
}
/***************************** 理货 end **********************************/
function
jsonToFormData
(
params
)
{
function
jsonToFormData
(
params
)
{
const
formData
=
new
FormData
();
const
formData
=
new
FormData
();
for
(
const
[
key
,
value
]
of
Object
.
entries
(
params
))
{
for
(
const
[
key
,
value
]
of
Object
.
entries
(
params
))
{
...
...
src/api/ecw/warehouseArea.js
View file @
45f2ffc8
...
@@ -35,10 +35,11 @@ export function getWarehouseArea(id) {
...
@@ -35,10 +35,11 @@ export function getWarehouseArea(id) {
}
}
// 获得仓库查询库域
// 获得仓库查询库域
export
function
getByWarehouseId
()
{
export
function
getByWarehouseId
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/warehouse-area/getByWarehouseId
'
,
url
:
'
/ecw/warehouse-area/getByWarehouseId
'
,
method
:
'
get
'
method
:
'
get
'
,
params
})
})
}
}
...
...
src/assets/images/shipping/lh-end.png
0 → 100644
View file @
45f2ffc8
5.55 KB
src/assets/images/shipping/lh-start.png
0 → 100644
View file @
45f2ffc8
2.04 KB
src/assets/images/shipping/lh-wait.png
0 → 100644
View file @
45f2ffc8
2.26 KB
src/components/OrderBaseInfo/index.vue
View file @
45f2ffc8
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div>
<div>
<el-descriptions
border
v-if=
"order.orderId"
>
<el-descriptions
border
v-if=
"order.orderId"
>
<el-descriptions-item
label=
"唛头"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
label=
"唛头"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数
"
>
{{
order
.
sum
Num
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数
/总箱数"
>
{{
order
.
sumNum
}}
/
{{
order
.
costVO
.
total
Num
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
><dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"order.status"
:class=
"
{red: order.status === 1, green: order.status === 5 || order.status === 2}" />
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
><dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"order.status"
:class=
"
{red: order.status === 1, green: order.status === 5 || order.status === 2}" />
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
deliveryDate
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
deliveryDate
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<el-descriptions-item
label=
"运输方式"
>
...
...
src/components/WarehouseAreaDialog/index.vue
View file @
45f2ffc8
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
:visible.sync=
"opened"
:visible.sync=
"opened"
width=
"600px"
width=
"600px"
:before-close=
"handleClose()"
:before-close=
"handleClose()"
v-bind=
"$attrs"
>
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"activeWarehouse =
{}">
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"activeWarehouse =
{}">
<el-tab-pane
:label=
"item.name"
:name=
"'' + index"
v-for=
"(item, index) in area"
:key=
"index"
>
<el-tab-pane
:label=
"item.name"
:name=
"'' + index"
v-for=
"(item, index) in area"
:key=
"index"
>
...
@@ -62,7 +63,11 @@ export default {
...
@@ -62,7 +63,11 @@ export default {
default
:
false
default
:
false
},
},
value
:
Array
,
value
:
Array
,
orderId
:
Number
orderId
:
Number
,
cityId
:
{
type
:
Number
,
default
:
undefined
}
},
},
data
()
{
data
()
{
...
@@ -81,6 +86,25 @@ export default {
...
@@ -81,6 +86,25 @@ export default {
visible
(
val
)
{
visible
(
val
)
{
if
(
val
)
{
if
(
val
)
{
this
.
opened
=
true
this
.
opened
=
true
getByWarehouseId
({
cityId
:
this
.
cityId
}).
then
(
r
=>
{
const
area
=
r
.
data
area
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
// 区域
f
.
selected
=
false
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
g
.
children
.
forEach
(
k
=>
{
// 子位置
k
.
selected
=
false
})
})
})
})
this
.
area
=
area
})
}
else
{
}
else
{
}
}
},
},
...
@@ -143,28 +167,7 @@ export default {
...
@@ -143,28 +167,7 @@ export default {
},
},
mounted
()
{
mounted
()
{
if
(
this
.
visible
)
{
console
.
log
(
'
area dialog mounted
'
)
this
.
opened
=
true
}
getByWarehouseId
().
then
(
r
=>
{
const
area
=
r
.
data
area
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
// 区域
f
.
selected
=
false
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
g
.
children
.
forEach
(
k
=>
{
// 子位置
k
.
selected
=
false
})
})
})
})
this
.
area
=
area
})
},
},
computed
:
{
computed
:
{
...
...
src/views/ecw/box/indexSea.vue
View file @
45f2ffc8
...
@@ -3,6 +3,12 @@
...
@@ -3,6 +3,12 @@
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"运输方式"
prop=
"transportType"
>
<el-select
v-model=
"queryParams.transportType"
placeholder=
"请选择运输方式"
clearable
size=
"small"
>
<el-option
v-for=
"dict in transportTypes"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"自编号"
prop=
"selfNo"
>
<el-form-item
label=
"自编号"
prop=
"selfNo"
>
<el-input
v-model=
"queryParams.selfNo"
placeholder=
"请输入自编号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.selfNo"
placeholder=
"请输入自编号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
...
@@ -43,9 +49,10 @@
...
@@ -43,9 +49,10 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"运输方式"
prop=
"transportType"
>
<el-form-item
label=
"国家"
>
<el-select
v-model=
"queryParams.transportType"
placeholder=
"请选择运输方式"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.countryId"
placeholder=
"请选择国家"
>
<el-option
v-for=
"dict in transportTypes"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -154,6 +161,7 @@
...
@@ -154,6 +161,7 @@
import
{
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
}
from
"
@/api/ecw/box
"
;
import
{
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
}
from
"
@/api/ecw/box
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
import
costForm
from
"
./costForm.vue
"
;
import
costForm
from
"
./costForm.vue
"
;
import
regError
from
"
./regError.vue
"
;
import
regError
from
"
./regError.vue
"
;
import
editForm
from
"
./editForm.vue
"
;
import
editForm
from
"
./editForm.vue
"
;
...
@@ -202,6 +210,8 @@ export default {
...
@@ -202,6 +210,8 @@ export default {
cabinetList
:
[],
cabinetList
:
[],
warehouseList
:
[],
warehouseList
:
[],
transportTypes
:
[],
transportTypes
:
[],
//国家信息列表
countryList
:
[],
};
};
},
},
computed
:
{
computed
:
{
...
@@ -235,8 +245,15 @@ export default {
...
@@ -235,8 +245,15 @@ export default {
this
.
cabinetList
=
response
.
data
.
list
;
this
.
cabinetList
=
response
.
data
.
list
;
});
});
this
.
getList
();
this
.
getList
();
this
.
getCountryList
();
},
},
methods
:
{
methods
:
{
/* 国家 */
getCountryList
()
{
getListTree
({
treeType
:
1
}).
then
((
response
)
=>
{
this
.
countryList
=
response
.
data
;
});
},
/** 查询列表 */
/** 查询列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
...
...
src/views/ecw/box/query.vue
View file @
45f2ffc8
...
@@ -217,7 +217,6 @@ export default {
...
@@ -217,7 +217,6 @@ export default {
editForm
,
editForm
,
},
},
created
()
{
created
()
{
console
.
log
();
this
.
transportTypes
=
this
.
getDictDatas
(
this
.
transportTypes
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
).
filter
((
item
)
=>
item
.
value
==
"
1
"
||
item
.
value
==
"
2
"
);
).
filter
((
item
)
=>
item
.
value
==
"
1
"
||
item
.
value
==
"
2
"
);
...
...
src/views/ecw/box/shippingDetail.vue
View file @
45f2ffc8
...
@@ -6,9 +6,9 @@
...
@@ -6,9 +6,9 @@
<el-descriptions-item
label=
"运输方式"
>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"boxBackVO.transportType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"boxBackVO.transportType"
/>
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
>
<
!--
<
el-descriptions-item
label=
"出货渠道"
>
{{
getShipChannelName
(
boxBackVO
.
shippingChannelId
)
}}
{{
getShipChannelName
(
boxBackVO
.
shippingChannelId
)
}}
</el-descriptions-item>
</el-descriptions-item>
-->
<el-descriptions-item
label=
"柜型"
>
<el-descriptions-item
label=
"柜型"
>
{{
cabinetLabel
}}
{{
cabinetLabel
}}
</el-descriptions-item>
</el-descriptions-item>
...
@@ -24,10 +24,10 @@
...
@@ -24,10 +24,10 @@
<el-button
type=
"primary"
@
click=
"showOrder"
>
订单列表
</el-button>
<el-button
type=
"primary"
@
click=
"showOrder"
>
订单列表
</el-button>
</el-row>
</el-row>
<div>
<div
v-if=
"boxBackVO.preInstallInfo && boxBackVO.preInstallInfo.applyReason"
>
<p>
申请原因
</p>
<p>
申请原因
</p>
<div>
<div>
{{
boxBackVO
.
preInstallInfo
?
boxBackVO
.
preInstallInfo
.
applyReason
:
''
}}
{{
boxBackVO
.
preInstallInfo
.
applyReason
}}
</div>
</div>
</div>
</div>
...
@@ -37,9 +37,9 @@
...
@@ -37,9 +37,9 @@
<el-descriptions-item
label=
"运输方式"
>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"boxBackVO.transportType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"boxBackVO.transportType"
/>
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
>
<
!--
<
el-descriptions-item
label=
"出货渠道"
>
{{
getShipChannelName
(
boxBackVO
.
shippingChannelId
)
}}
{{
getShipChannelName
(
boxBackVO
.
shippingChannelId
)
}}
</el-descriptions-item>
</el-descriptions-item>
-->
<el-descriptions-item
label=
"柜型"
>
<el-descriptions-item
label=
"柜型"
>
{{
cabinetLabel
}}
{{
cabinetLabel
}}
</el-descriptions-item>
</el-descriptions-item>
...
...
src/views/ecw/box/shippingSea/nodePage/booking.vue
View file @
45f2ffc8
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
<el-form-item
label=
"订舱公司"
>
<el-form-item
label=
"订舱公司"
>
<supplierSelect
v-model=
"bookingObj.spaceCompanyId"
:companyType=
"'1'"
placeholder=
"请选择订舱公司"
:allSupplier=
"this.$attrs.allSupplier"
/>
<supplierSelect
v-model=
"bookingObj.spaceCompanyId"
:companyType=
"'1'"
placeholder=
"请选择订舱公司"
:allSupplier=
"this.$attrs.allSupplier"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"预计驳船时间"
prop=
"bargeTime"
>
<el-form-item
label=
"预计驳船时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
value-format=
"yyyy-MM-dd"
v-model=
"bookingObj.bargeTime"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
value-format=
"yyyy-MM-dd"
v-model=
"bookingObj.bargeTime"
></el-date-picker>
</el-form-item>
</el-form-item>
...
@@ -110,7 +110,6 @@ export default {
...
@@ -110,7 +110,6 @@ export default {
bookingObj
:
{},
bookingObj
:
{},
// 校验
// 校验
rules
:
{
rules
:
{
bargeTime
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
sailTime
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
sailTime
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
},
},
};
};
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/index.vue
View file @
45f2ffc8
...
@@ -68,7 +68,11 @@ export default {
...
@@ -68,7 +68,11 @@ export default {
"
ldBoxTime
"
,
"
ldBoxTime
"
,
"
ldOutWarehouseTime
"
,
"
ldOutWarehouseTime
"
,
]);
]);
this
.
cabinetObj
=
oldData
;
this
.
cabinetObj
=
{
...
oldData
,
ldWarehouseType
:
oldData
.
ldWarehouseType
===
0
?
undefined
:
oldData
.
ldWarehouseType
,
};
},
},
methods
:
{
methods
:
{
/** 提交 */
/** 提交 */
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
45f2ffc8
This diff is collapsed.
Click to expand it.
src/views/ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
View file @
45f2ffc8
...
@@ -315,7 +315,7 @@ export default {
...
@@ -315,7 +315,7 @@ export default {
orderId
:
item
.
orderId
,
orderId
:
item
.
orderId
,
};
};
if
(
type
===
"
all
"
)
{
if
(
type
===
"
all
"
)
{
params
.
orderItemIdList
=
item
.
o
rderItemList
.
map
(
params
.
orderItemIdList
=
item
.
boxO
rderItemList
.
map
(
(
data
)
=>
data
.
orderItemId
(
data
)
=>
data
.
orderItemId
);
);
}
else
{
}
else
{
...
...
src/views/ecw/box/shippingSea/nodePage/clrDocument.vue
View file @
45f2ffc8
...
@@ -108,7 +108,11 @@ export default {
...
@@ -108,7 +108,11 @@ export default {
"
cdAgentlistType
"
,
"
cdAgentlistType
"
,
"
cdSoncapType
"
,
"
cdSoncapType
"
,
]);
]);
this
.
cDocObj
=
oldData
;
this
.
cDocObj
=
{
...
oldData
,
cdOutBillType
:
oldData
.
cdOutBillType
===
0
?
undefined
:
oldData
.
cdOutBillType
,
};
},
},
methods
:
{
methods
:
{
/** 提交 */
/** 提交 */
...
...
src/views/ecw/box/shippingSea/nodePage/common/dockSelect.vue
View file @
45f2ffc8
<
template
>
<
template
>
<el-select
filterable
:value=
"value"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-select
filterable
:value=
"value
=== 0 ? undefined : value
"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-option
v-for=
"dock in getDock"
:key=
"dock.id"
:label=
"dock.titleZh"
:value=
"dock.id"
></el-option>
<el-option
v-for=
"dock in getDock"
:key=
"dock.id"
:label=
"dock.titleZh"
:value=
"dock.id"
></el-option>
</el-select>
</el-select>
</
template
>
</
template
>
...
...
src/views/ecw/box/shippingSea/nodePage/common/supplierSelect.vue
View file @
45f2ffc8
<
template
>
<
template
>
<el-select
filterable
:value=
"value"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-select
filterable
:value=
"value
=== 0 ? undefined : value
"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-option
v-for=
"supplier in getSuppliers"
:key=
"supplier.id"
:label=
"supplier.companyZh"
:value=
"supplier.id"
></el-option>
<el-option
v-for=
"supplier in getSuppliers"
:key=
"supplier.id"
:label=
"supplier.companyZh"
:value=
"supplier.id"
></el-option>
</el-select>
</el-select>
</
template
>
</
template
>
...
...
src/views/ecw/box/shippingSea/nodePage/common/userSelect.vue
View file @
45f2ffc8
<
template
>
<
template
>
<el-select
filterable
:value=
"value"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-select
filterable
:value=
"value
=== 0 ? undefined : value
"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-option
v-for=
"user in getUser"
:key=
"user.id"
:value=
"user.id"
:label=
"user.nickname"
></el-option>
<el-option
v-for=
"user in getUser"
:key=
"user.id"
:value=
"user.id"
:label=
"user.nickname"
></el-option>
</el-select>
</el-select>
</
template
>
</
template
>
...
...
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
View file @
45f2ffc8
<
template
>
<
template
>
<div>
<div>
<el-form
ref=
"cusDeclarationForm"
:rules=
"rules"
:model=
"cusDeclarationObj"
label-width=
"120px"
>
<el-form
ref=
"cusDeclarationForm"
:rules=
"rules"
:model=
"cusDeclarationObj"
label-width=
"120px"
>
<el-form-item
label=
"单证要求"
>
无返回
<el-button
type=
"primary"
style=
"margin-left:10px;"
@
click=
"downloadVGM"
>
VGM声明
</el-button>
<el-form-item
label=
"单证要求"
>
<template
v-for=
"(item, index) in cusDeclarationObj.documentInfo"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item"
:key=
"index"
/>
</
template
>
<el-button
type=
"primary"
style=
"margin-left:10px;"
@
click=
"downloadVGM"
>
{{getButtonLabel(cusDeclarationObj.documentInfo)}}
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"柜重"
prop=
"dcBoxWgt"
>
<el-form-item
label=
"柜重"
prop=
"dcBoxWgt"
>
<el-input
v-model=
"cusDeclarationObj.dcBoxWgt"
placeholder=
"请输入柜重"
clearable
/>
<el-input
v-model=
"cusDeclarationObj.dcBoxWgt"
placeholder=
"请输入柜重"
clearable
/>
...
@@ -171,8 +175,12 @@ export default {
...
@@ -171,8 +175,12 @@ export default {
};
};
},
},
created
()
{
created
()
{
const
voName
=
this
.
$attrs
.
currNode
.
voName
;
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
let
oldData
=
{
...
this
.
$attrs
.
shipmentObj
[
voName
]
};
const
{
voName
}
=
currNode
;
let
oldData
=
{
...
shipmentObj
[
voName
],
documentInfo
:
shipmentObj
.
documentInfo
?.
split
(
"
,
"
)
??
[],
};
oldData
=
formatDateStr
(
oldData
,
[
oldData
=
formatDateStr
(
oldData
,
[
"
dcCutOffTime
"
,
"
dcCutOffTime
"
,
"
dcCheckTime
"
,
"
dcCheckTime
"
,
...
@@ -186,6 +194,10 @@ export default {
...
@@ -186,6 +194,10 @@ export default {
this
.
cusDeclarationObj
=
oldData
;
this
.
cusDeclarationObj
=
oldData
;
},
},
methods
:
{
methods
:
{
getButtonLabel
(
documentInfo
=
[])
{
const
newList
=
Array
.
from
(
new
Set
(
documentInfo
));
return
newList
.
length
>
2
?
"
混合报关
"
:
"
VGM声明
"
;
},
/** 提交 */
/** 提交 */
onSubmit
(
operateType
)
{
onSubmit
(
operateType
)
{
this
.
$refs
[
"
cusDeclarationForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
cusDeclarationForm
"
].
validate
((
valid
)
=>
{
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
45f2ffc8
This diff is collapsed.
Click to expand it.
src/views/ecw/box/shippingSea/nodePage/subMaterial.vue
View file @
45f2ffc8
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
<userSelect
v-model=
"subMaterialObj.notifyingId"
placeholder=
"请选择通知方"
:allUsers=
"this.$attrs.allUsers"
/>
<userSelect
v-model=
"subMaterialObj.notifyingId"
placeholder=
"请选择通知方"
:allUsers=
"this.$attrs.allUsers"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"Mark & No."
>
<el-form-item
label=
"Mark & No."
>
<el-input
v-model=
"subMaterialObj.markNo"
></el-input>
<el-input
v-model=
"subMaterialObj.markNo"
placeholder=
"请输入Mark & No."
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"包装数量与单位"
class=
"two-element"
>
<el-form-item
label=
"包装数量与单位"
class=
"two-element"
>
<el-input
v-model=
"subMaterialObj.packageNum"
placeholder=
"请输入包装数量"
></el-input>
<el-input
v-model=
"subMaterialObj.packageNum"
placeholder=
"请输入包装数量"
></el-input>
...
@@ -124,7 +124,10 @@ export default {
...
@@ -124,7 +124,10 @@ export default {
const
voName
=
this
.
$attrs
.
currNode
.
voName
;
const
voName
=
this
.
$attrs
.
currNode
.
voName
;
let
oldData
=
{
...
this
.
shipmentObj
[
voName
]
};
let
oldData
=
{
...
this
.
shipmentObj
[
voName
]
};
oldData
=
formatNumberString
(
oldData
,
[
"
issueType
"
]);
oldData
=
formatNumberString
(
oldData
,
[
"
issueType
"
]);
this
.
subMaterialObj
=
oldData
;
this
.
subMaterialObj
=
{
...
oldData
,
packageUnit
:
oldData
.
packageUnit
===
0
?
undefined
:
oldData
.
packageUnit
,
};
},
},
methods
:
{
methods
:
{
/** 提交 */
/** 提交 */
...
...
src/views/ecw/box/shippingSea/nodePage/tally/batchTally.vue
0 → 100644
View file @
45f2ffc8
<
template
>
<div
class=
"shipping-batchTally"
>
<el-row
v-if=
"$attrs.type === 'batchTally'"
>
<el-button
type=
"text"
size=
"small"
@
click=
"()=>openStorage('all')"
>
批量修改储位
</el-button>
</el-row>
<el-scrollbar
viewClass=
"tally-list"
>
<el-row
class=
"tally-detail"
v-for=
"(item, index) in storageList"
:key=
"item.id"
>
<div
class=
"status-number"
>
{{
++
index
}}
</div>
<div
class=
"detail-info"
>
<div>
入仓单号:
{{
item
.
orderNo
}}
</div>
<div>
入仓统计:
{{
getTotlContent
(
item
)
}}
</div>
<div
class=
"detail-modify"
>
<el-tooltip
effect=
"dark"
:content=
"item.positionNo"
placement=
"top"
>
<div>
储位:
{{
item
.
positionNo
}}
</div>
</el-tooltip>
<el-button
type=
"text"
size=
"small"
@
click=
"()=>openStorage('single', item)"
>
修改
</el-button>
</div>
</div>
</el-row>
</el-scrollbar>
<el-row
class=
"operate-button"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"tallyModify"
>
确定
</el-button>
<el-button
size=
"small"
@
click=
"$emit('closeDialog')"
>
关闭
</el-button>
</el-row>
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"visible"
v-model=
"storageSpaces"
:order-id=
"orderId"
:modal-append-to-body=
false
append-to-body
v-if=
"visible"
/>
</div>
</
template
>
<
script
>
import
{
getTotlContent
,
serviceMsg
}
from
"
../../utils
"
;
import
WarehouseAreaDialog
from
"
@/components/WarehouseAreaDialog
"
;
import
{
deepClone
}
from
"
@/utils
"
;
import
{
tallyLocationUpdate
}
from
"
@/api/ecw/boxSea
"
;
export
default
{
name
:
"
batchTally
"
,
inheritAttrs
:
false
,
components
:
{
WarehouseAreaDialog
},
props
:
{
tallyRows
:
Array
,
},
data
()
{
return
{
visible
:
false
,
// 储位
storageSpaces
:
[],
// 订单ID
orderId
:
-
1
,
// 仓位数据
storageList
:
deepClone
(
this
.
tallyRows
),
};
},
methods
:
{
getTotlContent
,
// 打开储位
openStorage
(
type
,
item
)
{
if
(
type
===
"
all
"
)
{
this
.
orderId
=
-
1
;
}
else
{
this
.
orderId
=
item
.
orderId
;
}
this
.
visible
=
true
;
},
// 修改储位
tallyModify
()
{
// 查找数据中存在storageList的订单
let
orderLocationList
=
[];
this
.
storageList
.
forEach
((
item
)
=>
{
const
{
storageList
}
=
item
;
if
(
storageList
&&
storageList
.
length
)
{
storageList
.
forEach
((
sItem
)
=>
{
orderLocationList
.
push
({
...
sItem
,
orderId
:
item
.
orderId
,
});
});
}
});
if
(
orderLocationList
.
length
===
0
)
{
this
.
$message
.
error
(
"
没有需要修改储位的订单
"
);
return
;
}
tallyLocationUpdate
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
orderLocationList
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
query
"
);
});
});
},
},
watch
:
{
storageSpaces
(
val
)
{
let
newList
=
[];
const
{
selected
=
[]
}
=
this
.
$refs
.
area
;
// 批量修改储位
if
(
this
.
orderId
===
-
1
)
{
newList
=
this
.
storageList
.
map
((
item
)
=>
{
item
.
positionNo
=
selected
.
join
(
"
,
"
);
item
.
storageList
=
val
;
return
item
;
});
}
else
{
newList
=
this
.
storageList
.
map
((
item
)
=>
{
if
(
item
.
orderId
===
this
.
orderId
)
{
item
.
positionNo
=
selected
.
join
(
"
,
"
);
item
.
storageList
=
val
;
}
return
item
;
});
}
this
.
storageList
=
newList
;
},
},
};
</
script
>
<
style
lang=
"scss"
>
.shipping-batchTally
{
.el-scrollbar__wrap
{
max-height
:
500px
;
.tally-list
{
.tally-detail
{
display
:
flex
;
padding
:
10px
0px
;
border-bottom
:
1px
solid
rgb
(
223
,
230
,
236
);
.status-number
{
width
:
26px
;
height
:
26px
;
border
:
1px
solid
#ccc
;
border-radius
:
50%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
margin-right
:
20px
;
}
.detail-info
{
>
div
{
height
:
30px
;
line-height
:
30px
;
}
.detail-modify
{
display
:
flex
;
align-items
:
center
;
>
:first-child
{
width
:
150px
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
margin-right
:
10px
;
}
}
}
}
>
.tally-detail
:last-child
{
border-bottom
:
none
;
}
}
}
}
</
style
>
src/views/ecw/box/shippingSea/nodePage/tally/index.vue
0 → 100644
View file @
45f2ffc8
<
template
>
<div
class=
"shipping-tally"
>
<el-row
type=
"flex"
style=
"margin-top: 15px; margin-bottom: 15px"
justify=
"center"
>
<el-col
:xs=
"24"
:sm=
"24"
:md=
"24"
:lg=
"20"
:xl=
"22"
>
<el-card>
<el-descriptions
:column=
"4"
border
>
<el-descriptions-item
label=
"自编号"
>
{{
shipmentObj
.
selfNo
}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"shipmentObj.transportType"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
getCityName
(
shipmentObj
.
startWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
getCityName
(
shipmentObj
.
destWarehouseId
)
}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-row
style=
"margin-top: 15px"
>
<el-row>
<el-button
size=
"small"
type=
"primary"
@
click=
"()=>tallyClick('batch')"
>
批量理货
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"()=>removeClick('batch')"
>
批量移出
</el-button>
</el-row>
<el-row
style=
"margin-top: 5px"
>
<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=
"商品信息"
width=
"250px"
align=
"center"
prop=
"prodTitleZh"
>
</el-table-column>
<el-table-column
label=
"备案"
align=
"center"
prop=
"productRecord"
>
<template
v-slot=
"
{row}">
<dict-tag
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:value=
"row.productRecord"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"纸箱尺寸"
align=
"center"
prop=
"boxGauge"
>
</el-table-column>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
>
</el-table-column>
<el-table-column
label=
"数量(个)"
align=
"center"
prop=
"quantity"
></el-table-column>
<el-table-column
label=
"储位"
align=
"center"
prop=
"positionNo"
width=
"250px"
></el-table-column>
<el-table-column
label=
"状态"
align=
"center"
prop=
"tallyStatus"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
tallyStatus
===
1
?
'
已理货
'
:
'
未理货
'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"理货时间"
align=
"center"
prop=
"tallyTime"
>
<
template
slot-scope=
"scope"
>
{{
formatDate
(
scope
.
row
.
tallyTime
,
'
YYYY-MM-DD HH:mm:ss
'
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"160"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"tallyClick('single',scope.row)"
>
理货
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"removeClick('single',scope.row)"
>
移出
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-row>
</el-row>
<el-row
style=
"margin-top: 15px"
class=
"operate-button"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"tallyFinish"
>
完成理货
</el-button>
<el-button
size=
"small"
@
click=
"cancel"
>
取消
</el-button>
</el-row>
</el-col>
</el-row>
<!-- 对话框 -->
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:fullscreen=
"dialogConfig.fullscreen"
:width=
"dialogConfig.width"
:modal-append-to-body=
false
append-to-body
>
<batchTally
v-if=
"dialogConfig.dialogVisible"
v-bind=
"$attrs"
@
closeDialog=
"closeDialog"
:type=
"dialogConfig.type"
:tallyRows=
"tallyRows"
:shipmentObj=
"shipmentObj"
/>
</el-dialog>
</div>
</template>
<
script
>
import
batchTally
from
"
./batchTally.vue
"
;
import
{
getTallyList
,
tallyRemove
,
tallyCommit
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDate
,
serviceMsg
}
from
"
../../utils
"
;
export
default
{
name
:
"
tally
"
,
inheritAttrs
:
false
,
components
:
{
batchTally
,
},
props
:
{
shipmentObj
:
Object
,
},
data
()
{
return
{
tallyList
:
[],
// 理货数据
tallyRows
:
[],
// 勾选行
selectedRows
:
[],
// 弹窗配置
dialogConfig
:
{
title
:
""
,
dialogVisible
:
false
,
width
:
"
30%
"
,
type
:
""
,
fullscreen
:
false
,
},
};
},
created
()
{
this
.
getList
();
},
methods
:
{
// 格式化日期
formatDate
,
// 查询理货列表
getList
()
{
getTallyList
({
shipmentId
:
this
.
shipmentObj
.
id
}).
then
((
res
)
=>
{
let
list
=
[];
res
.
data
.
forEach
((
item
)
=>
{
item
.
orderItemList
.
forEach
((
oItem
)
=>
{
list
.
push
({
...
oItem
,
positionNo
:
item
.
positionNo
,
tallyStatus
:
item
.
tallyStatus
,
tallyTime
:
item
.
tallyTime
,
});
});
});
this
.
tallyList
=
list
;
});
},
// 选中
checkboxSelect
(
selection
)
{
this
.
selectedRows
=
selection
;
},
// 理货点击
tallyClick
(
type
,
data
)
{
if
(
type
===
"
batch
"
)
{
if
(
this
.
selectedRows
.
length
===
0
)
{
this
.
$message
.
error
(
"
请选择需要理货的订单
"
);
return
;
}
this
.
tallyRows
=
this
.
selectedRows
;
this
.
showDialog
(
"
batchTally
"
);
}
else
{
this
.
tallyRows
=
[
data
];
this
.
showDialog
(
"
singleTally
"
);
}
},
// 移出点击
removeClick
(
type
,
data
)
{
let
orderNos
=
[],
orderIds
=
[];
if
(
type
===
"
batch
"
)
{
if
(
this
.
selectedRows
.
length
===
0
)
{
this
.
$message
.
error
(
"
请选择需要移出的订单
"
);
return
;
}
orderNos
=
this
.
selectedRows
.
map
((
item
)
=>
item
.
orderNo
);
orderIds
=
this
.
selectedRows
.
map
((
item
)
=>
item
.
orderId
);
}
else
{
orderNos
=
[
data
.
orderNo
];
orderIds
=
[
data
.
orderId
];
}
let
msgTitle
=
`您确定要将
${
orderNos
.
join
(
"
,
"
)}
移出
${
this
.
shipmentObj
.
selfNo
}
吗?`
;
this
.
$confirm
(
msgTitle
,
"
提示
"
,
{
type
:
"
warning
"
,
})
.
then
((
_
)
=>
{
tallyRemove
({
orderIdLIst
:
orderIds
,
shipmentId
:
this
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
getList
();
});
});
})
.
catch
((
_
)
=>
{});
},
// 关闭弹窗
closeDialog
(
type
)
{
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
false
);
if
(
type
===
"
query
"
)
{
this
.
getList
();
}
},
// 打开弹窗
showDialog
(
type
)
{
switch
(
type
)
{
case
"
batchTally
"
:
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
批量理货
"
);
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
500px
"
);
break
;
case
"
singleTally
"
:
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
理货确认
"
);
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
500px
"
);
break
;
}
this
.
$set
(
this
.
dialogConfig
,
"
type
"
,
type
);
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
},
/** 取消 */
cancel
(
type
)
{
this
.
$emit
(
"
closeDialog
"
,
type
);
},
// 理货完成
tallyFinish
()
{
tallyCommit
({
shipmentId
:
this
.
shipmentObj
.
id
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
submit
"
);
});
});
},
},
computed
:
{
/* 获取仓库 */
getCityName
()
{
return
(
id
)
=>
{
let
arr
=
this
.
$attrs
.
warehouseList
.
filter
((
item
)
=>
item
.
id
==
id
);
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
"
无
"
;
};
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
src/views/ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
View file @
45f2ffc8
...
@@ -5,29 +5,19 @@
...
@@ -5,29 +5,19 @@
<el-row
class=
"number-area"
>
<el-row
class=
"number-area"
>
<p
class=
"label-font"
>
自编号:
</p>
<p
class=
"label-font"
>
自编号:
</p>
<p
class=
"label-font"
>
{{
selfNo
}}
</p>
<p
class=
"label-font"
>
{{
selfNo
}}
</p>
<el-input
v-model=
"labelNo"
<el-input
v-model=
"labelNo"
placeholder=
"请输入标签号"
></el-input>
placeholder=
"请输入标签号"
></el-input>
<div>
<div>
<el-button
type=
"primary"
<el-button
type=
"primary"
@
click=
"modifyBatchUnload"
>
批量输入
</el-button>
@
click=
"modifyBatchUnload"
>
批量输入
</el-button>
<el-button
type=
"primary"
@
click=
"modifyAllUnload"
>
一键卸柜
</el-button>
<el-button
type=
"primary"
@
click=
"modifyAllUnload"
>
一键卸柜
</el-button>
</div>
</div>
</el-row>
</el-row>
<!-- 当前部分 -->
<!-- 当前部分 -->
<el-row
class=
"number-area"
>
<el-row
class=
"number-area"
>
<p
class=
"label-font"
>
当前部分:
</p>
<p
class=
"label-font"
>
当前部分:
</p>
<el-select
placeholder=
"请选择"
<el-select
placeholder=
"请选择"
v-model=
"sectionId"
@
change=
"sectionChange"
>
v-model=
"sectionId"
<el-option
key=
"0"
label=
"全部"
value=
"0"
></el-option>
@
change=
"sectionChange"
>
<el-option
v-for=
"item in sectionList"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
></el-option>
<el-option
key=
"0"
label=
"全部"
value=
"0"
></el-option>
<el-option
v-for=
"item in sectionList"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
<p>
<p>
{{
getSectionInfo
}}
{{
getSectionInfo
}}
...
@@ -36,58 +26,32 @@
...
@@ -36,58 +26,32 @@
<!-- 表格 -->
<!-- 表格 -->
<el-row
class=
"table-area"
>
<el-row
class=
"table-area"
>
<el-table
v-loading=
"loading"
<el-table
v-loading=
"loading"
:data=
"pageData.sectionOrderList"
border
>
:data=
"pageData.sectionOrderList"
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
border
>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0);"
<a
href=
"javascript:void(0);"
class=
"order-href"
>
{{
scope
.
row
.
orderNo
}}
</a>
class=
"order-href"
>
{{
scope
.
row
.
orderNo
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"商品信息"
<el-table-column
label=
"商品信息"
align=
"center"
prop=
"goodsList"
>
align=
"center"
prop=
"goodsList"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<section
class=
"table-goodList"
>
<section
class=
"table-goodList"
>
<div
v-for=
"(item, index) in scope.row.goodsList"
<div
v-for=
"(item, index) in scope.row.goodsList"
:key=
"index"
class=
"goodList-div"
>
:key=
"index"
class=
"goodList-div"
>
<p>
{{
index
+
1
}}
:
{{
item
.
prodTitleZh
}}
</p>
<p>
{{
index
+
1
}}
:
{{
item
.
prodTitleZh
}}
</p>
</div>
</div>
</section>
</section>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"实装箱数"
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
/>
align=
"center"
<el-table-column
label=
"卸柜箱数"
align=
"center"
prop=
"unloadNum"
/>
prop=
"installNum"
/>
<el-table-column
label=
"清关状态"
align=
"center"
prop=
""
>
<el-table-column
label=
"卸柜箱数"
align=
"center"
prop=
"unloadNum"
/>
<el-table-column
label=
"清关状态"
align=
"center"
prop=
""
>
<
template
slot-scope=
"scope"
>
{{
clearStatus
(
scope
.
row
)
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
clearStatus
(
scope
.
row
)
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"体积"
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
/>
align=
"center"
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
/>
prop=
"volume"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"danger"
<el-button
type=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
异常
</el-button>
size=
"small"
@
click=
"openError(scope.row)"
>
异常
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -110,21 +74,12 @@
...
@@ -110,21 +74,12 @@
</el-row>
</el-row>
<el-row>
<el-row>
<el-button
type=
"success"
<el-button
type=
"success"
@
click=
"onSubmit"
>
卸柜完成
</el-button>
@
click=
"onSubmit"
>
卸柜完成
</el-button>
</el-row>
</el-row>
<!-- 对话框 -->
<!-- 对话框 -->
<el-dialog
custom-class=
"shipping-dialog"
<el-dialog
custom-class=
"shipping-dialog"
title=
"异常"
:visible.sync=
"dialogVisible"
width=
"600px"
:modal-append-to-body=
false
append-to-body
>
title=
"异常"
<unloadingError
v-if=
"dialogVisible"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:currRow=
"currRow"
/>
:visible.sync=
"dialogVisible"
width=
"600px"
:modal-append-to-body=
false
append-to-body
>
<unloadingError
v-if=
"dialogVisible"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:currRow=
"currRow"
/>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -188,6 +143,7 @@ export default {
...
@@ -188,6 +143,7 @@ export default {
});
});
},
},
methods
:
{
methods
:
{
getTotlContent
,
/* 获取卸柜数据 */
/* 获取卸柜数据 */
getLoadGoodsList
()
{
getLoadGoodsList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
...
@@ -208,7 +164,7 @@ export default {
...
@@ -208,7 +164,7 @@ export default {
return
;
return
;
}
}
batchUnload
({
batchUnload
({
orderN
o
:
this
.
labelNo
,
orderN
umCode
:
this
.
labelNo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
...
@@ -247,9 +203,9 @@ export default {
...
@@ -247,9 +203,9 @@ export default {
this
.
$emit
(
"
closeStart
"
);
this
.
$emit
(
"
closeStart
"
);
},
},
/* 关闭弹窗 */
/* 关闭弹窗 */
closeDialog
()
{
closeDialog
(
type
)
{
this
.
dialogVisible
=
false
;
this
.
dialogVisible
=
false
;
this
.
getLoadGoodsList
();
if
(
type
===
"
query
"
)
this
.
getLoadGoodsList
();
},
},
/* 打开异常 */
/* 打开异常 */
openError
(
row
)
{
openError
(
row
)
{
...
...
src/views/ecw/box/shippingSea/nodePage/unloading/unloadingError.vue
View file @
45f2ffc8
...
@@ -62,7 +62,7 @@ export default {
...
@@ -62,7 +62,7 @@ export default {
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
((
res
)
=>
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
closeDialog
"
,
"
query
"
);
});
});
});
});
}
}
...
...
src/views/ecw/box/shippingSea/seaProcess.vue
View file @
45f2ffc8
...
@@ -42,7 +42,8 @@ import arrivalWidget from "./nodePage/arrival.vue";
...
@@ -42,7 +42,8 @@ import arrivalWidget from "./nodePage/arrival.vue";
import
cusClearanceWidget
from
"
./nodePage/cusClearance.vue
"
;
import
cusClearanceWidget
from
"
./nodePage/cusClearance.vue
"
;
import
unloadingWidget
from
"
./nodePage/unloading/index.vue
"
;
import
unloadingWidget
from
"
./nodePage/unloading/index.vue
"
;
import
settlementWidget
from
"
./nodePage/settlement.vue
"
;
import
settlementWidget
from
"
./nodePage/settlement.vue
"
;
import
ReviewWidget
from
"
./nodePage/review.vue
"
;
import
reviewWidget
from
"
./nodePage/review.vue
"
;
import
tallyWidget
from
"
./nodePage/tally/index.vue
"
;
/**
/**
* 海运流程图
* 海运流程图
...
@@ -67,7 +68,8 @@ export default {
...
@@ -67,7 +68,8 @@ export default {
cusClearanceWidget
,
cusClearanceWidget
,
unloadingWidget
,
unloadingWidget
,
settlementWidget
,
settlementWidget
,
ReviewWidget
,
reviewWidget
,
tallyWidget
,
},
},
props
:
{
props
:
{
shipmentObj
:
Object
,
shipmentObj
:
Object
,
...
@@ -137,12 +139,16 @@ export default {
...
@@ -137,12 +139,16 @@ export default {
case
"
agent
"
:
case
"
agent
"
:
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
代理商设置
"
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
代理商设置
"
);
break
;
break
;
// 理货
case
"
tally
"
:
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
true
);
break
;
// 预装
// 预装
case
"
preinstall
"
:
case
"
preinstall
"
:
// 预装反审
// 预装反审
const
preStatus
=
this
.
shipmentObj
[
node
.
keyName
];
const
preStatus
=
this
.
shipmentObj
[
node
.
keyName
];
if
([
2
4
,
2
5
].
includes
(
preStatus
))
{
if
([
25
].
includes
(
preStatus
))
{
this
.
currentComponent
=
`
R
eviewWidget`
;
this
.
currentComponent
=
`
r
eviewWidget`
;
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
预装反审
"
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
预装反审
"
);
}
else
{
}
else
{
...
@@ -153,8 +159,8 @@ export default {
...
@@ -153,8 +159,8 @@ export default {
case
"
unloading
"
:
case
"
unloading
"
:
// 卸柜反审
// 卸柜反审
const
unStatus
=
this
.
shipmentObj
[
node
.
keyName
];
const
unStatus
=
this
.
shipmentObj
[
node
.
keyName
];
if
([
18
4
,
185
].
includes
(
unStatus
))
{
if
([
18
6
].
includes
(
unStatus
))
{
this
.
currentComponent
=
`
R
eviewWidget`
;
this
.
currentComponent
=
`
r
eviewWidget`
;
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
卸柜反审
"
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
卸柜反审
"
);
}
}
...
@@ -223,7 +229,8 @@ export default {
...
@@ -223,7 +229,8 @@ export default {
.shipping-chart
{
.shipping-chart
{
display
:
flex
;
display
:
flex
;
padding
:
10px
10px
;
padding
:
10px
10px
;
min-width
:
1320px
;
min-width
:
1300px
;
width
:
max-content
;
.chart-nodes
{
.chart-nodes
{
display
:
flex
;
display
:
flex
;
...
...
src/views/ecw/box/shippingSea/seaStepDetail.vue
View file @
45f2ffc8
<
template
>
<
template
>
<div
class=
"app-seaStepDetail"
>
<div
class=
"app-seaStepDetail"
>
<el-scrollbar
:vertical=
"true"
viewClass=
"shipping-step"
>
<el-scrollbar
:vertical=
"true"
viewClass=
"shipping-step"
>
<!--
<div
class=
"shipping-step"
>
-->
<template
v-for=
"(step, index) in flatSeaStep"
>
<template
v-for=
"(step, index) in flatSeaStep"
>
<div
:key=
"index"
v-if=
"shipmentObj[step.voName] && columnsMapping[step.voName]"
class=
"step-table"
>
<div
:key=
"index"
v-if=
"shipmentObj[step.voName] && columnsMapping[step.voName]"
class=
"step-table"
>
<div
class=
"step-title"
>
{{
step
.
title
}}
</div>
<div
class=
"step-title"
>
{{
step
.
title
}}
</div>
...
@@ -11,7 +10,6 @@
...
@@ -11,7 +10,6 @@
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<!-- </div> -->
</el-scrollbar>
</el-scrollbar>
</div>
</div>
</template>
</template>
...
@@ -64,9 +62,13 @@ export default {
...
@@ -64,9 +62,13 @@ export default {
case
"
billingMethod
"
:
case
"
billingMethod
"
:
val
=
this
.
getConstant
(
type
,
String
(
val
));
val
=
this
.
getConstant
(
type
,
String
(
val
));
break
;
break
;
case
"
user
"
:
val
=
this
.
getUser
(
val
);
break
;
}
}
}
}
return
val
;
return
val
===
0
?
""
:
val
;
},
},
getSupplier
(
id
)
{
getSupplier
(
id
)
{
return
(
return
(
...
@@ -81,6 +83,11 @@ export default {
...
@@ -81,6 +83,11 @@ export default {
this
.
$attrs
.
warehouseList
.
find
((
item
)
=>
item
.
id
===
id
)?.
titleZh
??
id
this
.
$attrs
.
warehouseList
.
find
((
item
)
=>
item
.
id
===
id
)?.
titleZh
??
id
);
);
},
},
getUser
(
id
)
{
return
(
this
.
$attrs
.
allUsers
.
find
((
item
)
=>
item
.
id
===
id
)?.
nickname
??
id
);
},
getDict
(
code
,
id
)
{
getDict
(
code
,
id
)
{
return
(
return
(
this
.
getDictDatas
(
code
).
find
((
item
)
=>
item
.
value
===
id
)?.
label
??
id
this
.
getDictDatas
(
code
).
find
((
item
)
=>
item
.
value
===
id
)?.
label
??
id
...
...
src/views/ecw/box/shippingSea/shippingSea.vue
View file @
45f2ffc8
...
@@ -139,6 +139,7 @@ export default {
...
@@ -139,6 +139,7 @@ export default {
}
}
}
}
.operate-button
{
.operate-button
{
padding-top
:
10px
;
text-align
:
center
;
text-align
:
center
;
}
}
.two-element
{
.two-element
{
...
...
src/views/ecw/box/shippingSea/utils.js
View file @
45f2ffc8
...
@@ -17,6 +17,9 @@ function getStatusName(statu) {
...
@@ -17,6 +17,9 @@ function getStatusName(statu) {
statusName
.
set
(
24
,
"
预装审核失败
"
);
statusName
.
set
(
24
,
"
预装审核失败
"
);
statusName
.
set
(
25
,
"
预装审核成功
"
);
statusName
.
set
(
25
,
"
预装审核成功
"
);
statusName
.
set
(
2111
,
"
未理货
"
);
statusName
.
set
(
2112
,
"
已理货
"
);
statusName
.
set
(
31
,
"
未派车
"
);
statusName
.
set
(
31
,
"
未派车
"
);
statusName
.
set
(
32
,
"
已派车
"
);
statusName
.
set
(
32
,
"
已派车
"
);
...
@@ -99,7 +102,7 @@ function seaBaseData() {
...
@@ -99,7 +102,7 @@ function seaBaseData() {
],
],
[
[
{
{
title
:
"
预装
"
,
title
:
"
排单
"
,
imgSrc
:
{
imgSrc
:
{
start
:
require
(
"
@/assets/images/shipping/yz-start.png
"
),
start
:
require
(
"
@/assets/images/shipping/yz-start.png
"
),
wait
:
require
(
"
@/assets/images/shipping/yz-wait.png
"
),
wait
:
require
(
"
@/assets/images/shipping/yz-wait.png
"
),
...
@@ -118,6 +121,39 @@ function seaBaseData() {
...
@@ -118,6 +121,39 @@ function seaBaseData() {
end
:
[
25
],
end
:
[
25
],
},
},
},
},
{
title
:
"
AGENT
"
,
imgSrc
:
{
start
:
require
(
"
@/assets/images/shipping/agent-start.png
"
),
wait
:
require
(
"
@/assets/images/shipping/agent-wait.png
"
),
end
:
require
(
"
@/assets/images/shipping/agent-end.png
"
),
},
type
:
"
agent
"
,
voName
:
"
agentInfo
"
,
currStatus
:
"
start
"
,
},
],
[
{
title
:
"
理货
"
,
imgSrc
:
{
start
:
require
(
"
@/assets/images/shipping/lh-start.png
"
),
wait
:
require
(
"
@/assets/images/shipping/lh-wait.png
"
),
end
:
require
(
"
@/assets/images/shipping/lh-end.png
"
),
},
type
:
"
tally
"
,
dataKey
:
"
16
"
,
// 字典数据键值
/**
* 理货状态:2111、未理货;2112、已理货
*/
voName
:
"
tallyInfo
"
,
keyName
:
"
tyStatus
"
,
status
:
{
start
:
[
2111
],
wait
:
[],
end
:
[
2112
],
},
},
{
{
title
:
"
拖车
"
,
title
:
"
拖车
"
,
imgSrc
:
{
imgSrc
:
{
...
@@ -138,17 +174,6 @@ function seaBaseData() {
...
@@ -138,17 +174,6 @@ function seaBaseData() {
end
:
[
32
],
end
:
[
32
],
},
},
},
},
{
title
:
"
AGENT
"
,
imgSrc
:
{
start
:
require
(
"
@/assets/images/shipping/agent-start.png
"
),
wait
:
require
(
"
@/assets/images/shipping/agent-wait.png
"
),
end
:
require
(
"
@/assets/images/shipping/agent-end.png
"
),
},
type
:
"
agent
"
,
voName
:
"
agentInfo
"
,
currStatus
:
"
start
"
,
},
],
],
[
[
{
{
...
@@ -510,6 +535,17 @@ function getColmnMapping() {
...
@@ -510,6 +535,17 @@ function getColmnMapping() {
key
:
"
operator
"
,
key
:
"
operator
"
,
},
},
],
],
tallyInfo
:
[
{
title
:
"
完成理货时间
"
,
key
:
"
tyTime
"
,
type
:
"
datetime
"
,
},
{
title
:
"
业务员
"
,
key
:
"
tyOperator
"
,
},
],
agentInfo
:
[
agentInfo
:
[
{
{
title
:
"
代理商
"
,
title
:
"
代理商
"
,
...
@@ -618,6 +654,7 @@ function getColmnMapping() {
...
@@ -618,6 +654,7 @@ function getColmnMapping() {
{
{
title
:
"
通知方
"
,
title
:
"
通知方
"
,
key
:
"
notifyingId
"
,
key
:
"
notifyingId
"
,
type
:
"
user
"
,
},
},
{
{
title
:
"
提单备注
"
,
title
:
"
提单备注
"
,
...
...
src/views/ecw/customer/components/quickCreate.vue
View file @
45f2ffc8
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
v-model=
"form.remarks"
placeholder=
"请输入备注"
/>
<el-input
v-model=
"form.remarks"
placeholder=
"请输入备注"
/>
</el-form-item>
</el-form-item>
...
@@ -61,7 +61,7 @@ export default {
...
@@ -61,7 +61,7 @@ export default {
props
:{
props
:{
default
:
Object
,
default
:
Object
,
},
},
data
(){
data
(){
return
{
return
{
show
:
true
,
show
:
true
,
...
@@ -77,9 +77,9 @@ export default {
...
@@ -77,9 +77,9 @@ export default {
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
createTime
:
[{
required
:
true
,
message
:
"
创建时间不能为空
"
,
trigger
:
"
blur
"
}],
createTime
:
[{
required
:
true
,
message
:
"
创建时间不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
跟进客服
不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
客户经理
不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
},
},
serviceUserList
:
[],
serviceUserList
:
[],
countryList
:
[],
countryList
:
[],
...
@@ -132,4 +132,4 @@ export default {
...
@@ -132,4 +132,4 @@ export default {
.quick-create-customer
.el-form-item
{
.quick-create-customer
.el-form-item
{
margin-bottom
:
22px
;
margin-bottom
:
22px
;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/views/ecw/customer/edit.vue
View file @
45f2ffc8
...
@@ -102,8 +102,8 @@
...
@@ -102,8 +102,8 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择
跟进客服
"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择
客户经理
"
>
<el-option
v-for=
"item in serviceUserList"
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
</el-select>
...
@@ -459,7 +459,7 @@ export default {
...
@@ -459,7 +459,7 @@ export default {
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
createTime
:
[{
required
:
true
,
message
:
"
创建时间不能为空
"
,
trigger
:
"
blur
"
}],
createTime
:
[{
required
:
true
,
message
:
"
创建时间不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
跟进客服
不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
客户经理
不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
},
},
...
...
src/views/ecw/customer/index.vue
View file @
45f2ffc8
...
@@ -21,8 +21,8 @@
...
@@ -21,8 +21,8 @@
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
跟进客服
"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
客户经理
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"
跟进客服
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
<el-table-column
label=
"
客户经理
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -211,8 +211,8 @@
...
@@ -211,8 +211,8 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择
跟进客服
"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择
客户经理
"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
...
@@ -519,7 +519,7 @@ export default {
...
@@ -519,7 +519,7 @@ export default {
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
跟进客服
不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
客户经理
不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
},
},
...
...
src/views/ecw/customer/query.vue
View file @
45f2ffc8
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
<
el
-
descriptions
-
item
label
=
"
客户类别
"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_TYPE
,
customer
.
type
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
客户类别
"
>
{{
getDictDataLabel
(
DICT_TYPE
.
CUSTOMER_TYPE
,
customer
.
type
)
}}
<
/el-descriptions-item
>
<!--
<
el
-
descriptions
-
item
label
=
"
联系方式
"
>
{{
customer
}}
<
/el-descriptions-item>--
>
<!--
<
el
-
descriptions
-
item
label
=
"
联系方式
"
>
{{
customer
}}
<
/el-descriptions-item>--
>
<
el
-
descriptions
-
item
label
=
"
推介人
"
>
{{
promoter
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
推介人
"
>
{{
promoter
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
跟进客服
"
>
{{
customerService
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
客户经理
"
>
{{
customerService
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
公司名称
"
>
{{
customer
.
company
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
公司名称
"
>
{{
customer
.
company
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
联系地址
"
>
{{
customer
.
address
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
联系地址
"
>
{{
customer
.
address
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
创建时间
"
>
{{
parseTime
(
customer
.
createTime
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
创建时间
"
>
{{
parseTime
(
customer
.
createTime
)
}}
<
/el-descriptions-item
>
...
...
src/views/ecw/customerConfirm/index.vue
View file @
45f2ffc8
...
@@ -21,8 +21,8 @@
...
@@ -21,8 +21,8 @@
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
跟进客服
"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
客户经理
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
...
@@ -70,7 +70,7 @@
...
@@ -70,7 +70,7 @@
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"
跟进客服
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
<el-table-column
label=
"
客户经理
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -193,8 +193,8 @@
...
@@ -193,8 +193,8 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择
跟进客服
"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择
客户经理
"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
...
@@ -291,8 +291,8 @@
...
@@ -291,8 +291,8 @@
<!-- 对话框(添加 / 修改) -->
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"openHandOver"
width=
"500px"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"openHandOver"
width=
"500px"
append-to-body
>
<el-form
ref=
"handOverForm"
:model=
"handOverForm"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"handOverForm"
:model=
"handOverForm"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"
跟进客服
"
prop=
"customerServiceId"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerServiceId"
>
<el-select
v-model=
"handOverForm.customerServiceId"
placeholder=
"请选择
跟进客服
"
clearable
filterable
>
<el-select
v-model=
"handOverForm.customerServiceId"
placeholder=
"请选择
客户经理
"
clearable
filterable
>
<el-option
v-for=
"user in serviceStaffOptions"
<el-option
v-for=
"user in serviceStaffOptions"
:key=
"user.id"
:value=
"user.id"
:key=
"user.id"
:value=
"user.id"
:label=
"user.nickname"
/>
:label=
"user.nickname"
/>
...
...
src/views/ecw/customerToBeAssigned/index.vue
View file @
45f2ffc8
...
@@ -22,8 +22,8 @@
...
@@ -22,8 +22,8 @@
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
跟进客服
"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
客户经理
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
...
@@ -74,7 +74,7 @@
...
@@ -74,7 +74,7 @@
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"
跟进客服
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
<el-table-column
label=
"
客户经理
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -176,7 +176,7 @@ export default {
...
@@ -176,7 +176,7 @@ export default {
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
跟进客服
不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
客户经理
不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
},
},
...
@@ -332,7 +332,7 @@ export default {
...
@@ -332,7 +332,7 @@ export default {
},
},
transferFn
(){
transferFn
(){
if
(
!
this
.
service
){
if
(
!
this
.
service
){
return
this
.
$message
.
warning
(
'
请选择
跟进客服
!
'
);
return
this
.
$message
.
warning
(
'
请选择
客户经理
!
'
);
}
}
handOverCustomer
({
handOverCustomer
({
customerServiceId
:
this
.
service
,
customerServiceId
:
this
.
service
,
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
45f2ffc8
...
@@ -22,8 +22,8 @@
...
@@ -22,8 +22,8 @@
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
跟进客服
"
prop=
"customerService"
>
<el-form-item
label=
"
客户经理
"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
跟进客服
"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择
客户经理
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
...
@@ -83,7 +83,7 @@
...
@@ -83,7 +83,7 @@
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"
跟进客服
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
<el-table-column
label=
"
客户经理
"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -181,7 +181,7 @@ export default {
...
@@ -181,7 +181,7 @@ export default {
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
跟进客服
不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
客户经理
不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
},
},
...
@@ -365,7 +365,7 @@ export default {
...
@@ -365,7 +365,7 @@ export default {
},
},
transferFn
(
val
){
transferFn
(
val
){
if
(
!
this
.
service
){
if
(
!
this
.
service
){
return
this
.
$message
.
warning
(
'
请选择
跟进客服
!
'
);
return
this
.
$message
.
warning
(
'
请选择
客户经理
!
'
);
}
}
handOverCustomer
({
handOverCustomer
({
customerServiceId
:
this
.
service
,
customerServiceId
:
this
.
service
,
...
...
src/views/ecw/order/components/specialNeeds.vue
View file @
45f2ffc8
<
template
>
<
template
>
<div>
<div>
<el-dialog
:before-close=
"()=>
{
<el-dialog
:before-close=
"()=>
{$emit('update:show',false)
clearFrom();$emit('update:show',false)
}" center width="80%" :visible.sync="show">
}" center width="80%" :visible.sync="show">
<div
class=
"content"
>
<div
class=
"content"
>
<el-form
label-width=
"180px"
label-position=
"left"
>
<el-form
label-width=
"180px"
label-position=
"left"
>
<el-form-item
label=
"特殊要求"
>
<el-form-item
label=
"特殊要求"
>
<dict-selector
v-if=
"show"
v-model=
"
form.
advanceType"
multiple
formType=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
></dict-selector>
<dict-selector
v-if=
"show"
v-model=
"advanceType"
multiple
formType=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
></dict-selector>
</el-form-item>
</el-form-item>
<el-form-item
label=
"特殊要求备注"
><el-input
type=
"textarea"
style=
"width: 300px;"
v-model=
"
form.
todoDetail"
></el-input></el-form-item>
<el-form-item
label=
"特殊要求备注"
><el-input
type=
"textarea"
style=
"width: 300px;"
v-model=
"todoDetail"
></el-input></el-form-item>
<el-form-item
label=
"内陆运费垫付预计金额"
v-if=
"form.advanceType.indexOf('6') > -1
"
>
<el-form-item
v-for=
"(item,index) in this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS)"
v-if=
"advanceType.indexOf(item.value) > -1"
:key=
"item.value"
:label=
"item.label + '预计金额'
"
>
<el-input
style=
"width: 300px;"
v-model=
"
form
.transFee"
>
<el-input
style=
"width: 300px;"
v-model=
"
specialNeedsList[index]
.transFee"
>
<div
style=
"width: 100px;"
slot=
"append"
>
<div
style=
"width: 100px;"
slot=
"append"
>
<dict-selector
v-model=
"
form
.transCurrency"
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
></dict-selector>
<dict-selector
v-model=
"
specialNeedsList[index]
.transCurrency"
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
></dict-selector>
</div>
</div>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"付款类型"
v-if=
"form.advanceType.indexOf('6') > -1"
>
<el-form-item
label=
"付款类型"
>
<div
style=
"width: 300px;"
>
<dict-selector
placeholder=
"请选择付款类型"
v-model=
"payType"
:type=
"DICT_TYPE.PAYMENT_TYPE"
></dict-selector>
<dict-selector
v-model=
"form.payType"
:type=
"DICT_TYPE.PAYMENT_TYPE"
></dict-selector>
</div>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"submit"
>
提交
</el-button>
<el-button
@
click=
"
clearFrom();
$emit('update:show',false)"
>
取消
</el-button>
<el-button
@
click=
"$emit('update:show',false)"
>
取消
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
...
@@ -36,9 +33,6 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
...
@@ -36,9 +33,6 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import
{
specialNeedCreate
}
from
"
@/api/ecw/order
"
;
import
{
specialNeedCreate
}
from
"
@/api/ecw/order
"
;
export
default
{
export
default
{
name
:
"
specialNeeds
"
,
name
:
"
specialNeeds
"
,
created
()
{
this
.
clearFrom
()
},
props
:{
props
:{
orderId
:{
orderId
:{
type
:[
String
,
Number
],
type
:[
String
,
Number
],
...
@@ -50,23 +44,21 @@ export default {
...
@@ -50,23 +44,21 @@ export default {
getDictDatas
,
getDictDatas
,
DICT_TYPE
,
DICT_TYPE
,
form
:{},
form
:{},
advanceType
:[],
specialNeedsList
:[],
todoDetail
:
''
,
payType
:
''
}
}
},
},
methods
:{
methods
:{
clearFrom
(){
this
.
form
=
{
advanceType
:[],
advanceWho
:
undefined
,
payType
:
undefined
,
todoDetail
:
undefined
,
transCurrency
:
undefined
,
transFee
:
undefined
}
},
submit
(){
submit
(){
specialNeedCreate
([{
orderId
:
this
.
orderId
,
...
this
.
form
}]).
then
(
r
=>
{
this
.
specialNeedsList
.
forEach
(
i
=>
{
i
.
todoDetail
=
this
.
todoDetail
i
.
payType
=
this
.
payType
})
let
p
=
this
.
specialNeedsList
.
filter
(
i
=>
this
.
advanceType
.
indexOf
(
i
.
advanceType
)
>
-
1
)
specialNeedCreate
(
p
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
if
(
r
.
code
===
0
){
this
.
clearFrom
();
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
determine
'
)
this
.
$emit
(
'
determine
'
)
this
.
$message
.
success
(
'
提交成功
'
);
this
.
$message
.
success
(
'
提交成功
'
);
...
@@ -75,10 +67,20 @@ export default {
...
@@ -75,10 +67,20 @@ export default {
},
},
},
},
watch
:{
watch
:{
'
form.advanceType
'
(
val
){
show
(
val
){
this
.
form
.
transFee
=
undefined
;
if
(
val
){
this
.
form
.
transCurrency
=
undefined
;
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ORDER_SPECIAL_NEEDS
).
forEach
(
r
=>
{
this
.
form
.
payType
=
undefined
;
this
.
specialNeedsList
.
push
({
advanceType
:
r
.
value
,
orderId
:
this
.
orderId
,
transFee
:
''
,
//预计金额
transCurrency
:
''
,
//运输费币种
})
})
}
else
{
this
.
specialNeedsList
=
[]
this
.
advanceType
=
[]
}
}
}
}
}
}
}
...
...
src/views/ecw/order/components/warehouseDetails.vue
View file @
45f2ffc8
...
@@ -69,7 +69,24 @@
...
@@ -69,7 +69,24 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-descriptions
v-else
:column=
"4"
border
>
<el-descriptions
v-else-if=
"type === 2"
:column=
"4"
border
>
<el-descriptions-item
label=
"订单号"
>
{{FeeDetails.orderBackVO.orderNo}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"FeeDetails.orderBackVO.transportId"
></dict-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"出货方式"
>
{{selectChannel(FeeDetails.channelId)}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_ABNORMAL_STATE"
:value=
"FeeDetails.orderBackVO.abnormalState"
></dict-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"唛头"
>
{{FeeDetails.orderBackVO.marks}}
</el-descriptions-item>
<el-descriptions-item
label=
"始发仓"
>
{{FeeDetails.startWarehouse}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的仓"
>
{{FeeDetails.destWarehouse}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
v-else-if=
"type === 3"
:column=
"4"
border
>
<el-descriptions-item
label=
"订单号"
>
{{FeeDetails.orderNo}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单号"
>
{{FeeDetails.orderNo}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"FeeDetails.transportId"
></dict-tag>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"FeeDetails.transportId"
></dict-tag>
...
@@ -83,8 +100,8 @@
...
@@ -83,8 +100,8 @@
<el-descriptions-item
label=
"唛头"
>
<el-descriptions-item
label=
"唛头"
>
{{FeeDetails.marks}}
{{FeeDetails.marks}}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"始发仓"
>
{{FeeDetails.
startWarehouse
}}
</el-descriptions-item>
<el-descriptions-item
label=
"始发仓"
>
{{FeeDetails.
logisticsInfoDto.startTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的仓"
>
{{FeeDetails.
destWarehouse
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的仓"
>
{{FeeDetails.
logisticsInfoDto.destTitleZh
}}
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
<div
v-if=
"type === 1"
>
<div
v-if=
"type === 1"
>
<p>
<p>
...
@@ -134,7 +151,10 @@ export default {
...
@@ -134,7 +151,10 @@ export default {
name
:
"
warehouseDetails
"
,
name
:
"
warehouseDetails
"
,
data
(){
data
(){
return
{
return
{
FeeDetails
:{},
FeeDetails
:{
orderBackVO
:{},
logisticsInfoDto
:{}
},
transfer
:{},
transfer
:{},
warehouseList
:[],
warehouseList
:[],
channelList
:[],
channelList
:[],
...
@@ -189,6 +209,7 @@ export default {
...
@@ -189,6 +209,7 @@ export default {
// 费用申请
// 费用申请
applicationGetOrderByProcessId
({
processId
:
this
.
processInstanceID
}).
then
(
r
=>
{
applicationGetOrderByProcessId
({
processId
:
this
.
processInstanceID
}).
then
(
r
=>
{
this
.
FeeDetails
=
r
.
data
this
.
FeeDetails
=
r
.
data
console
.
log
(
this
.
FeeDetails
,
'
FeeDetails
'
)
})
})
break
;
break
;
case
3
:
case
3
:
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
45f2ffc8
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<el-descriptions-item
label=
"中文品名"
>
{{
warehousing
.
prodTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"中文品名"
>
{{
warehousing
.
prodTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"英文品名"
>
{{
warehousing
.
prodTitleEn
}}
</el-descriptions-item>
<el-descriptions-item
label=
"英文品名"
>
{{
warehousing
.
prodTitleEn
}}
</el-descriptions-item>
<el-descriptions-item
label=
"品牌"
>
<el-descriptions-item
label=
"品牌"
>
<span
v-if=
"warehousing.orderWarehouseInBackItemDoList && warehousing.orderWarehouseInBackItemDoList.length"
>
{{
form
.
brand
||
'
无
'
}}
</span>
<span
v-if=
"warehousing.orderWarehouseInBackItemDoList && warehousing.orderWarehouseInBackItemDoList.length"
>
{{
form
.
brand
?
brand
:
'
无
'
}}
</span>
<el-select
<el-select
v-else
v-model=
"form.brand"
v-else
v-model=
"form.brand"
placeholder=
"可修改"
placeholder=
"可修改"
...
@@ -316,6 +316,15 @@ export default {
...
@@ -316,6 +316,15 @@ export default {
},
},
isBeian
(){
isBeian
(){
return
this
.
brandList
.
find
(
e
=>
e
.
titleZh
===
this
.
form
.
brand
)
?
'
有备案
'
:
'
无备案
'
return
this
.
brandList
.
find
(
e
=>
e
.
titleZh
===
this
.
form
.
brand
)
?
'
有备案
'
:
'
无备案
'
},
brand
(){
if
(
!!
this
.
form
.
brand
){
const
brand
=
this
.
brandList
.
find
(
e
=>
e
.
id
===
this
.
form
.
brand
)
if
(
brand
)
{
return
brand
.
titleZh
}
}
return
''
}
}
}
}
}
}
...
...
src/views/ecw/order/warehousing/index.vue
View file @
45f2ffc8
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<el-table-column
<el-table-column
label=
"填单货物属性"
>
label=
"填单货物属性"
>
<template
v-slot=
"
{row}">
<template
v-slot=
"
{row}">
品牌:
{{
row
.
brand
?
'
有
'
:
'
无
'
}}
<br>
品牌:
{{
row
.
brand
!==
'
0
'
?
'
有
'
:
'
无
'
}}
<br>
箱数:
{{
row
.
num
}}
<br>
箱数:
{{
row
.
num
}}
<br>
体积:
{{
row
.
volume
}}
m³
<br>
体积:
{{
row
.
volume
}}
m³
<br>
重量:
{{
row
.
weight
}}
Kg
重量:
{{
row
.
weight
}}
Kg
...
@@ -34,10 +34,10 @@
...
@@ -34,10 +34,10 @@
<el-table-column
<el-table-column
label=
"入库货物属性"
>
label=
"入库货物属性"
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
品牌:
{{
row
.
brand
?
'
有
'
:
'
无
'
}}
<br>
品牌:
{{
row
.
brand
!==
'
0
'
?
'
有
'
:
'
无
'
}}
<br>
箱数:
{{
row
.
n
um
}}
<br>
箱数:
{{
row
.
warehouseInInfoVO
.
cartonsN
um
}}
<br>
体积:
{{
row
.
volume
}}
m³
<br>
体积:
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
<br>
重量:
{{
row
.
weight
}}
Kg
重量:
{{
row
.
w
arehouseInInfoVO
.
w
eight
}}
Kg
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -58,6 +58,7 @@
...
@@ -58,6 +58,7 @@
v-slot=
"{row}"
v-slot=
"{row}"
label=
"状态"
>
label=
"状态"
>
<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}"
/>
<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>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"address"
prop=
"address"
...
@@ -104,7 +105,8 @@
...
@@ -104,7 +105,8 @@
</div>
</div>
</el-form>
</el-form>
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
></warehouse-area-dialog>
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
:city-id=
"cityId"
></warehouse-area-dialog>
<edit-dialog
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"order.status === 5"
></edit-dialog>
<edit-dialog
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"order.status === 5"
></edit-dialog>
...
@@ -194,7 +196,7 @@ export default {
...
@@ -194,7 +196,7 @@ export default {
if
(
this
.
$route
.
query
.
id
){
if
(
this
.
$route
.
query
.
id
){
this
.
orderId
=
parseInt
(
this
.
$route
.
query
.
id
||
undefined
)
this
.
orderId
=
parseInt
(
this
.
$route
.
query
.
id
||
undefined
)
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
()
)
getSpecialListByOrderId
(
this
.
orderId
).
then
(
r
=>
this
.
specialList
=
r
.
data
)
getSpecialListByOrderId
(
this
.
orderId
).
then
(
r
=>
this
.
specialList
=
r
.
data
)
listByOrderId
({
orderId
:
this
.
orderId
}).
then
(
r
=>
this
.
form
.
orderLocationCreateReqVOList
=
r
.
data
)
listByOrderId
({
orderId
:
this
.
orderId
}).
then
(
r
=>
this
.
form
.
orderLocationCreateReqVOList
=
r
.
data
)
}
}
...
@@ -242,7 +244,7 @@ export default {
...
@@ -242,7 +244,7 @@ export default {
p
.
manualExceptionType
=
this
.
form
.
manualExceptionType
p
.
manualExceptionType
=
this
.
form
.
manualExceptionType
}
}
orderWarehouseInFinish
(
p
).
then
(
r
=>
{
orderWarehouseInFinish
(
p
).
then
(
r
=>
{
if
(
r
.
data
)
{
if
(
r
.
code
===
0
)
{
this
.
escapeBol
=
false
;
this
.
escapeBol
=
false
;
this
.
$confirm
(
this
.
$confirm
(
'
该订单已成功入仓,是否打印?
'
,
'
该订单已成功入仓,是否打印?
'
,
...
@@ -290,7 +292,7 @@ export default {
...
@@ -290,7 +292,7 @@ export default {
warehousingVisible
(
val
)
{
warehousingVisible
(
val
)
{
if
(
!
val
){
if
(
!
val
){
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
order
=
r
.
data
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
()
)
}
}
},
},
orderSpecialNeeds
(
val
){
orderSpecialNeeds
(
val
){
...
@@ -317,6 +319,9 @@ export default {
...
@@ -317,6 +319,9 @@ export default {
}
}
})
})
return
result
return
result
},
cityId
(){
return
this
.
order
?.
departureVO
?.
departureId
}
}
}
}
}
}
...
...
src/views/ecw/product/index.vue
View file @
45f2ffc8
...
@@ -178,12 +178,13 @@
...
@@ -178,12 +178,13 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"否预约入仓"
prop=
"needBook"
>
<el-form-item
label=
"是否预约入仓"
prop=
"needBook"
>
<el-radio
v-model.number=
"form.needBook"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model.number=
"form.needBook"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model.number=
"form.needBook"
:label=
"0"
>
否
</el-radio>
<el-radio
v-model.number=
"form.needBook"
:label=
"0"
>
否
</el-radio>
</el-form-item>
</el-form-item>
<el-form-item
label=
"每日入仓上限"
prop=
"dayLimit"
>
<el-form-item
label=
"每日入仓上限"
prop=
"dayLimit"
v-if=
"form.needBook==1"
>
<el-input
v-model.number=
"form.dayLimit"
type=
"number"
>
<el-input
v-model.number=
"form.dayLimit"
type=
"number"
>
<
template
slot=
"append"
>
立方米
</
template
>
<
template
slot=
"append"
>
立方米
</
template
>
</el-input>
</el-input>
...
@@ -264,10 +265,10 @@ export default {
...
@@ -264,10 +265,10 @@ export default {
titleZh
:
[{
required
:
true
,
message
:
"
中文标题不能为空
"
,
trigger
:
"
blur
"
}],
titleZh
:
[{
required
:
true
,
message
:
"
中文标题不能为空
"
,
trigger
:
"
blur
"
}],
titleEn
:
[{
required
:
true
,
message
:
"
英文标题不能为空
"
,
trigger
:
"
blur
"
}],
titleEn
:
[{
required
:
true
,
message
:
"
英文标题不能为空
"
,
trigger
:
"
blur
"
}],
materialType
:
[{
required
:
true
,
message
:
"
商品材质不能为空
"
,
trigger
:
"
blur
"
}],
materialType
:
[{
required
:
true
,
message
:
"
商品材质不能为空
"
,
trigger
:
"
blur
"
}],
packaging
:
[{
required
:
true
,
message
:
"
包装要求不能为空
"
,
trigger
:
"
blur
"
}],
//
packaging: [{ required: true, message: "包装要求不能为空", trigger: "blur" }],
containerLocation
:
[{
required
:
true
,
message
:
"
默认货柜位置不能为空
"
,
trigger
:
"
blur
"
}],
//
containerLocation: [{ required: true, message: "默认货柜位置不能为空", trigger: "blur" }],
square
:
[{
required
:
true
,
message
:
"
默认方数
不能为空
"
,
trigger
:
"
blur
"
}],
// square: [{ required: true, message: "订单方数上线
不能为空", trigger: "blur" }],
needBook
:
[{
required
:
true
,
message
:
"
预约入仓不能为空
"
,
trigger
:
"
blur
"
}],
// needBook: [{ required: true, message: "是否
预约入仓不能为空", trigger: "blur" }],
},
},
CommonStatusEnum
:
CommonStatusEnum
,
CommonStatusEnum
:
CommonStatusEnum
,
...
@@ -391,6 +392,7 @@ export default {
...
@@ -391,6 +392,7 @@ export default {
auditStatus
:
undefined
,
auditStatus
:
undefined
,
status
:
undefined
,
status
:
undefined
,
requirements
:
0
,
requirements
:
0
,
needBook
:
0
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
...
src/views/member/user/index.vue
View file @
45f2ffc8
...
@@ -144,13 +144,13 @@
...
@@ -144,13 +144,13 @@
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
证件正面照
"
prop
=
"
img1
"
>
<
el
-
form
-
item
label
=
"
证件正面照
"
prop
=
"
img1
"
>
<
div
>
<
div
>
<
el
-
input
style
=
"
margin-bottom: 20px
"
v
-
model
=
"
IdDetails.img1
"
><
/el-input
>
<
el
-
input
readonly
style
=
"
margin-bottom: 20px
"
v
-
model
=
"
IdDetails.img1
"
><
/el-input
>
<
ImageUpload
:
isShowTip
=
"
false
"
v
-
model
=
"
IdDetails.img1
"
:
limit
=
"
1
"
><
/ImageUpload
>
<
ImageUpload
:
isShowTip
=
"
false
"
v
-
model
=
"
IdDetails.img1
"
:
limit
=
"
1
"
><
/ImageUpload
>
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
证件背面照
"
prop
=
"
img2
"
>
<
el
-
form
-
item
label
=
"
证件背面照
"
prop
=
"
img2
"
>
<
div
>
<
div
>
<
el
-
input
style
=
"
margin-bottom: 20px
"
v
-
model
=
"
IdDetails.img2
"
><
/el-input
>
<
el
-
input
readonly
style
=
"
margin-bottom: 20px
"
v
-
model
=
"
IdDetails.img2
"
><
/el-input
>
<
ImageUpload
:
isShowTip
=
"
false
"
:
limit
=
"
1
"
v
-
model
=
"
IdDetails.img2
"
><
/ImageUpload
>
<
ImageUpload
:
isShowTip
=
"
false
"
:
limit
=
"
1
"
v
-
model
=
"
IdDetails.img2
"
><
/ImageUpload
>
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-form-item
>
...
@@ -189,12 +189,12 @@
...
@@ -189,12 +189,12 @@
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
证件照
"
prop
=
"
img1
"
>
<
el
-
form
-
item
label
=
"
证件照
"
prop
=
"
img1
"
>
<
div
>
<
div
>
<
el
-
input
style
=
"
margin-bottom: 20px
"
v
-
model
=
"
enterpriseFrom.img1
"
><
/el-input
>
<
el
-
input
readonly
style
=
"
margin-bottom: 20px
"
v
-
model
=
"
enterpriseFrom.img1
"
><
/el-input
>
<
ImageUpload
:
isShowTip
=
"
false
"
:
limit
=
"
1
"
v
-
model
=
"
enterpriseFrom.img1
"
><
/ImageUpload
>
<
ImageUpload
:
isShowTip
=
"
false
"
:
limit
=
"
1
"
v
-
model
=
"
enterpriseFrom.img1
"
><
/ImageUpload
>
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
附件
"
>
<
el
-
form
-
item
label
=
"
附件
"
>
<
el
-
input
v
-
model
=
"
enterpriseFrom.img2
"
><
/el-input
>
<
el
-
input
readonly
v
-
model
=
"
enterpriseFrom.img2
"
><
/el-input
>
<
ImageUpload
:
isShowTip
=
"
false
"
:
limit
=
"
1
"
v
-
model
=
"
enterpriseFrom.img2
"
><
/ImageUpload
>
<
ImageUpload
:
isShowTip
=
"
false
"
:
limit
=
"
1
"
v
-
model
=
"
enterpriseFrom.img2
"
><
/ImageUpload
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
审核状态
"
>
{{
getDictDatas
(
DICT_TYPE
.
AUDIT_STATUS
)[
enterpriseFrom
.
status
].
label
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
审核状态
"
>
{{
getDictDatas
(
DICT_TYPE
.
AUDIT_STATUS
)[
enterpriseFrom
.
status
].
label
}}
<
/el-form-item
>
...
@@ -244,7 +244,7 @@ import FileUpload from "@/components/FileUpload"
...
@@ -244,7 +244,7 @@ import FileUpload from "@/components/FileUpload"
import
ImageUpload
from
"
@/components/ImageUpload
"
;
import
ImageUpload
from
"
@/components/ImageUpload
"
;
import
uploadImage
from
"
@/components/UploadImage
"
;
import
uploadImage
from
"
@/components/UploadImage
"
;
import
{
CommonStatusEnum
}
from
"
@/utils/constants
"
;
import
{
CommonStatusEnum
}
from
"
@/utils/constants
"
;
import
{
changeUserStatus
}
from
"
@/api/system/user
"
;
import
{
changeUserStatus
,
listServiceUser
,
listSimpleUsers
}
from
"
@/api/system/user
"
;
let
stateId
=
{
let
stateId
=
{
0
:
'
审核中
'
,
0
:
'
审核中
'
,
...
@@ -492,11 +492,12 @@ export default {
...
@@ -492,11 +492,12 @@ export default {
userCardAuthId
:
this
.
IdDetails
.
id
,
userCardAuthId
:
this
.
IdDetails
.
id
,
auditRemark
:
this
.
IdDetails
.
auditRemark
auditRemark
:
this
.
IdDetails
.
auditRemark
}
}
if
(
val
===
3
){
if
(
val
===
2
){
p
.
auditRemark
=
undefined
p
.
auditRemark
=
undefined
}
}
memberUserAuditIdCard
(
p
).
then
(
r
=>
{
memberUserAuditIdCard
(
p
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
if
(
r
.
code
===
0
){
this
.
$message
.
success
(
'
修改成功
'
);
this
.
getList
()
this
.
getList
()
this
.
getIdentityDetails
()
this
.
getIdentityDetails
()
}
}
...
@@ -509,7 +510,7 @@ export default {
...
@@ -509,7 +510,7 @@ export default {
userCardAuthId
:
this
.
enterpriseFrom
.
id
,
userCardAuthId
:
this
.
enterpriseFrom
.
id
,
auditRemark
:
this
.
enterpriseFrom
.
auditRemark
auditRemark
:
this
.
enterpriseFrom
.
auditRemark
}
}
if
(
val
===
3
){
if
(
val
===
2
){
p
.
auditRemark
=
undefined
p
.
auditRemark
=
undefined
}
}
memberUserAuditEnterprise
(
p
).
then
(
r
=>
{
memberUserAuditEnterprise
(
p
).
then
(
r
=>
{
...
@@ -520,67 +521,77 @@ export default {
...
@@ -520,67 +521,77 @@ export default {
}
)
}
)
}
,
}
,
setMemberUserUpdateIdCard
(){
setMemberUserUpdateIdCard
(){
this
.
$refs
.
formId
.
validate
(
valid
=>
{
this
.
$refs
.
formId
.
validate
(
async
valid
=>
{
if
(
valid
){
let
p
=
{
let
p
=
{
cardNumber
:
this
.
IdDetails
.
cardNumber
,
cardNumber
:
this
.
IdDetails
.
cardNumber
,
cardType
:
this
.
IdDetails
.
cardType
,
cardType
:
this
.
IdDetails
.
cardType
,
img1
:
this
.
IdDetails
.
img1
,
img1
:
this
.
IdDetails
.
img1
,
img2
:
this
.
IdDetails
.
img2
,
img2
:
this
.
IdDetails
.
img2
,
name
:
this
.
IdDetails
.
name
,
name
:
this
.
IdDetails
.
name
,
userCardAuthId
:
this
.
IdDetails
.
id
,
userCardAuthId
:
this
.
IdDetails
.
id
,
}
;
auditPass
:
this
.
IdDetails
.
status
===
3
?
true
:
false
,
if
(
valid
&&
this
.
IdDetails
.
status
===
3
){
}
;
let
res
=
await
new
Promise
((
resolve
)
=>
{
memberUserUpdateIdCard
(
p
).
then
(
r
=>
{
this
.
$confirm
(
'
是否要将当前状态修改为审核成功?
'
,
'
状态修改
'
,
{
if
(
r
.
code
===
0
){
confirmButtonText
:
'
确定
'
,
if
(
this
.
IdDetails
.
status
===
3
){
cancelButtonText
:
'
取消
'
,
this
.
$confirm
(
'
是否要将当前状态修改为审核成功?
'
,
'
状态修改
'
,
{
type
:
'
warning
'
confirmButtonText
:
'
确定
'
,
}
).
then
(
r
=>
{
cancelButtonText
:
'
取消
'
,
resolve
(
r
)
type
:
'
warning
'
}
).
catch
((
r
)
=>
{
}
).
then
(()
=>
{
resolve
(
r
)
this
.
idCardAuditFn
(
2
);
}
)
}
).
catch
(()
=>
{
}
)
this
.
getIdentityDetails
()
p
.
auditPass
=
res
===
'
confirm
'
?
true
:
false
;
}
);
}
else
if
(
valid
)
{
}
p
.
auditPass
=
false
;
this
.
getList
()
}
else
{
this
.
$message
.
success
(
'
修改成功
'
);
return
}
}
)
}
}
memberUserUpdateIdCard
(
p
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$message
.
success
(
'
修改成功
'
)
if
(
p
.
auditPass
===
true
){
this
.
getIdentityDetails
()
}
this
.
getList
()
}
}
)
}
)
}
)
}
,
}
,
setMemberUserUpdateEnterprise
(){
setMemberUserUpdateEnterprise
(){
this
.
$refs
.
formEnter
.
validate
(
valid
=>
{
this
.
$refs
.
formEnter
.
validate
(
async
valid
=>
{
if
(
valid
){
let
p
=
{
let
p
=
{
cardNumber
:
this
.
enterpriseFrom
.
cardNumber
,
cardNumber
:
this
.
enterpriseFrom
.
cardNumber
,
img1
:
this
.
enterpriseFrom
.
img1
,
img1
:
this
.
enterpriseFrom
.
img1
,
img2
:
this
.
enterpriseFrom
.
img2
,
img2
:
this
.
enterpriseFrom
.
img2
,
legalName
:
this
.
enterpriseFrom
.
legalName
,
legalName
:
this
.
enterpriseFrom
.
legalName
,
name
:
this
.
enterpriseFrom
.
name
,
name
:
this
.
enterpriseFrom
.
name
,
userEnterpriseAuthId
:
this
.
enterpriseFrom
.
id
,
userEnterpriseAuthId
:
this
.
enterpriseFrom
.
id
,
}
auditPass
:
this
.
enterpriseFrom
.
status
===
3
?
true
:
false
,
if
(
valid
&&
this
.
enterpriseFrom
.
status
===
3
){
}
let
res
=
await
new
Promise
((
resolve
)
=>
{
memberUserUpdateEnterprise
(
p
).
then
(
r
=>
{
this
.
$confirm
(
'
是否要将当前状态修改为审核成功?
'
,
'
状态修改
'
,
{
if
(
r
.
code
===
0
){
confirmButtonText
:
'
确定
'
,
if
(
this
.
enterpriseFrom
.
status
===
3
){
cancelButtonText
:
'
取消
'
,
this
.
$confirm
(
'
是否要将当前状态修改为审核成功?
'
,
'
状态修改
'
,
{
type
:
'
warning
'
confirmButtonText
:
'
确定
'
,
}
).
then
(
r
=>
resolve
(
r
)).
catch
(
r
=>
resolve
(
r
))
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}
).
then
(()
=>
{
this
.
certificateVerificationFn
(
2
);
}
).
catch
(()
=>
{
this
.
getEnterpriseFn
();
}
);
}
this
.
getList
()
this
.
$message
.
success
(
'
修改成功
'
);
}
}
)
}
)
p
.
auditPass
=
res
===
'
confirm
'
?
true
:
false
;
}
else
if
(
valid
){
p
.
auditPass
=
false
;
}
else
{
return
}
}
memberUserUpdateEnterprise
(
p
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
if
(
p
.
auditPass
===
3
){
this
.
getEnterpriseFn
();
}
this
.
getList
()
this
.
$message
.
success
(
'
修改成功
'
);
}
}
)
}
)
}
)
}
,
}
,
authentication
(
row
){
authentication
(
row
){
...
@@ -608,10 +619,9 @@ export default {
...
@@ -608,10 +619,9 @@ export default {
console
.
log
(
r
);
console
.
log
(
r
);
if
(
r
.
code
===
0
){
if
(
r
.
code
===
0
){
this
.
$message
.
success
(
'
添加成功!
'
);
this
.
$message
.
success
(
'
添加成功!
'
);
this
.
enterpriseFrom
.
status
=
3
this
.
enterpriseFrom
.
status
=
2
this
.
enterpriseFrom
.
auditTime
=
new
Date
().
getTime
()
this
.
enterpriseFrom
.
auditTime
=
new
Date
().
getTime
()
this
.
getEnterpriseFn
();
}
}
}
)
}
)
}
}
...
...
src/views/system/needKnow/index.vue
View file @
45f2ffc8
...
@@ -54,8 +54,8 @@
...
@@ -54,8 +54,8 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"标题中文"
align=
"center"
prop=
"titleZh"
/>
<el-table-column
label=
"标题中文"
align=
"center"
prop=
"titleZh"
/>
<el-table-column
label=
"标题英文"
align=
"center"
prop=
"titleEn"
/>
<el-table-column
label=
"标题英文"
align=
"center"
prop=
"titleEn"
/>
<el-table-column
label=
"内容中文"
align=
"center"
prop=
"contentZh"
/
>
<!-- <el-table-column label="内容中文" align="center" prop="contentZh" />--
>
<el-table-column
label=
"内容英语"
align=
"center"
prop=
"contentEn"
/
>
<!-- <el-table-column label="内容英语" align="center" prop="contentEn" />--
>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.NEED_KNOW_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.NEED_KNOW_STATUS"
:value=
"scope.row.status"
/>
...
...
src/views/system/user/index.vue
View file @
45f2ffc8
...
@@ -146,7 +146,7 @@
...
@@ -146,7 +146,7 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"岗位"
>
<el-form-item
label=
"岗位"
>
<el-select
@
change=
"changList"
v-model=
"form.postIds"
multiple
placeholder=
"请选择"
>
<el-select
v-model=
"form.postIds"
multiple
placeholder=
"请选择"
>
<el-option
<el-option
v-for=
"item in postOptions"
v-for=
"item in postOptions"
:key=
"item.id"
:key=
"item.id"
...
@@ -369,6 +369,18 @@ export default {
...
@@ -369,6 +369,18 @@ export default {
// 根据名称筛选部门树
// 根据名称筛选部门树
deptName
(
val
)
{
deptName
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
this
.
$refs
.
tree
.
filter
(
val
);
},
'
form.postIds
'
(
val
){
let
codes
=
this
.
postOptions
.
filter
(
i
=>
{
if
(
val
.
indexOf
(
i
.
id
)
>
-
1
)
return
i
}).
map
(
v
=>
v
.
code
).
join
(
'
,
'
);
if
(
codes
){
userList
(
codes
).
then
(
r
=>
{
this
.
followUpList
=
r
.
data
;
})
}
else
{
this
.
followUpList
=
[];
}
}
}
},
},
created
()
{
created
()
{
...
@@ -652,20 +664,7 @@ export default {
...
@@ -652,20 +664,7 @@ export default {
children
:
node
.
children
children
:
node
.
children
}
}
},
},
changList
(
e
){
},
let
codes
=
this
.
postOptions
.
filter
(
i
=>
{
if
(
e
.
indexOf
(
i
.
id
)
>
-
1
)
return
i
.
code
}).
map
(
v
=>
v
.
code
).
join
(
'
,
'
);
if
(
codes
){
userList
(
codes
).
then
(
r
=>
{
console
.
log
(
r
,
'
r
'
);
this
.
followUpList
=
r
.
data
;
})
}
else
{
this
.
followUpList
=
[];
}
},
}
};
};
</
script
>
</
script
>
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