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
ca65a30e
Commit
ca65a30e
authored
Nov 15, 2024
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'pre-release' into 'jd_dev'
Pre Release最新代码合并入捷道研发分支20241115 See merge request
!98
parents
f0e4a1a4
e1e318a5
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
2589 additions
and
2336 deletions
+2589
-2336
offer.js
src/api/ecw/offer.js
+52
-45
warehouse.js
src/api/ecw/warehouse.js
+18
-0
index.vue
src/components/RoutersSelector/index.vue
+61
-52
custom.scss
src/styles/custom.scss
+10
-0
startUnloading.vue
...ecw/box/shippingAir/nodePage/unloading/startUnloading.vue
+6
-1
startUnloading.vue
...ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
+1
-1
index.vue
src/views/ecw/coupon/index.vue
+9
-9
customerFollow.vue
src/views/ecw/customer/components/customerFollow.vue
+52
-27
customerFollowUpdateStatus.vue
...ws/ecw/customer/components/customerFollowUpdateStatus.vue
+1
-1
edit.vue
src/views/ecw/customer/edit.vue
+1
-1
index.vue
src/views/ecw/customer/index.vue
+18
-19
query.vue
src/views/ecw/customer/query.vue
+1
-1
index.vue
src/views/ecw/customerConfirm/index.vue
+236
-278
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+242
-265
index.vue
src/views/ecw/myCustomerService/index.vue
+25
-25
detail.vue
src/views/ecw/offer/detail.vue
+16
-8
edit.vue
src/views/ecw/offer/edit.vue
+25
-15
logListCommon.vue
src/views/ecw/offer/logListCommon.vue
+5
-7
cargoControl.vue
src/views/ecw/order/cargoControl.vue
+3
-3
Release.vue
src/views/ecw/order/components/Release.vue
+191
-184
edit.vue
src/views/ecw/order/edit.vue
+1467
-1337
index.vue
src/views/ecw/order/exception/index.vue
+1
-3
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+24
-21
index.vue
src/views/ecw/order/index.vue
+83
-11
penddingList.vue
src/views/ecw/order/penddingList.vue
+8
-4
stockingList.vue
src/views/ecw/order/stockingList.vue
+0
-3
Warehouse.vue
src/views/ecw/order/warehousing/components/Warehouse.vue
+17
-8
index.vue
src/views/ecw/order/warehousing/index.vue
+7
-1
warningCargoControl.vue
src/views/ecw/order/warningCargoControl.vue
+8
-5
index.vue
src/views/ecw/warehouse/index.vue
+1
-1
No files found.
src/api/ecw/offer.js
View file @
ca65a30e
import
request
from
'
@/utils/request
'
import
request
from
"
@/utils/request
"
// 创建报价单管理
// 创建报价单管理
export
function
createOffer
(
data
)
{
export
function
createOffer
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/create
'
,
url
:
"
/ecw/offer/create
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -12,8 +12,8 @@ export function createOffer(data) {
...
@@ -12,8 +12,8 @@ export function createOffer(data) {
// 更新报价单管理
// 更新报价单管理
export
function
updateOffer
(
data
)
{
export
function
updateOffer
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/update
'
,
url
:
"
/ecw/offer/update
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -21,24 +21,24 @@ export function updateOffer(data) {
...
@@ -21,24 +21,24 @@ export function updateOffer(data) {
// 删除报价单管理
// 删除报价单管理
export
function
deleteOffer
(
id
)
{
export
function
deleteOffer
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/delete?id=
'
+
id
,
url
:
"
/ecw/offer/delete?id=
"
+
id
,
method
:
'
delete
'
method
:
"
delete
"
})
})
}
}
// 获得报价单管理
// 获得报价单管理
export
function
getOffer
(
id
)
{
export
function
getOffer
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/get?offerId=
'
+
id
,
url
:
"
/ecw/offer/get?offerId=
"
+
id
,
method
:
'
get
'
method
:
"
get
"
})
})
}
}
// 获得报价单管理分页
// 获得报价单管理分页
export
function
getOfferPage
(
query
)
{
export
function
getOfferPage
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/page
'
,
url
:
"
/ecw/offer/page
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
params
:
query
})
})
}
}
...
@@ -46,36 +46,36 @@ export function getOfferPage(query) {
...
@@ -46,36 +46,36 @@ export function getOfferPage(query) {
// 导出报价单管理 Excel
// 导出报价单管理 Excel
export
function
exportOfferExcel
(
query
)
{
export
function
exportOfferExcel
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/export-excel
'
,
url
:
"
/ecw/offer/export-excel
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
,
params
:
query
,
responseType
:
'
blob
'
responseType
:
"
blob
"
})
})
}
}
// 更新报价单结果
// 更新报价单结果
export
function
updateOfferResult
(
data
)
{
export
function
updateOfferResult
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/update/result
'
,
url
:
"
/ecw/offer/update/result
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
// 获取费用清单列表
// 获取费用清单列表
export
function
getProductFeeList
(
prodCreateReqVO
){
export
function
getProductFeeList
(
prodCreateReqVO
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/calculation/prod-fee-List
'
,
url
:
"
/ecw/offer/calculation/prod-fee-List
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
prodCreateReqVO
data
:
prodCreateReqVO
})
})
}
}
// 获取费用清单
// 获取费用清单
export
function
getProductFee
(
calculationFeeParamVO
){
export
function
getProductFee
(
calculationFeeParamVO
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/calculation/fee-List
'
,
url
:
"
/ecw/offer/calculation/fee-List
"
,
method
:
'
post
'
,
method
:
"
post
"
,
data
:
calculationFeeParamVO
data
:
calculationFeeParamVO
})
})
}
}
...
@@ -83,8 +83,8 @@ export function getProductFee(calculationFeeParamVO){
...
@@ -83,8 +83,8 @@ export function getProductFee(calculationFeeParamVO){
// 特价申请
// 特价申请
export
function
createOfferSpecial
(
data
)
{
export
function
createOfferSpecial
(
data
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/apply
'
,
url
:
"
/ecw/offer/special/apply
"
,
method
:
'
put
'
,
method
:
"
put
"
,
data
:
data
data
:
data
})
})
}
}
...
@@ -92,8 +92,8 @@ export function createOfferSpecial(data) {
...
@@ -92,8 +92,8 @@ export function createOfferSpecial(data) {
// 特价详情
// 特价详情
export
function
getOfferSpecial
(
offerProdId
,
params
)
{
export
function
getOfferSpecial
(
offerProdId
,
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/info/
'
+
offerProdId
,
url
:
"
/ecw/offer/special/info/
"
+
offerProdId
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
...
@@ -101,35 +101,34 @@ export function getOfferSpecial(offerProdId, params) {
...
@@ -101,35 +101,34 @@ export function getOfferSpecial(offerProdId, params) {
// 特价详情
// 特价详情
export
function
getOfferSpecialByApproveId
(
approveId
)
{
export
function
getOfferSpecialByApproveId
(
approveId
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/info?approveId=
'
+
approveId
,
url
:
"
/ecw/offer/special/info?approveId=
"
+
approveId
,
method
:
'
get
'
method
:
"
get
"
})
})
}
}
// 取消报价管理
// 取消报价管理
export
function
cancel
(
id
)
{
export
function
cancel
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/cancel
'
,
url
:
"
/ecw/offer/cancel
"
,
method
:
'
delete
'
,
method
:
"
delete
"
,
params
:
{
id
}
params
:
{
id
}
})
})
}
}
// 恢复取消的报价管理
// 恢复取消的报价管理
export
function
recovery
(
id
)
{
export
function
recovery
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/recovery
'
,
url
:
"
/ecw/offer/recovery
"
,
method
:
'
delete
'
,
method
:
"
delete
"
,
params
:
{
id
}
params
:
{
id
}
})
})
}
}
// 获取部门报价单列表
// 获取部门报价单列表
export
function
offerDeptPage
(
params
)
{
export
function
offerDeptPage
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/dept/page
'
,
url
:
"
/ecw/offer/dept/page
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
...
@@ -137,25 +136,33 @@ export function offerDeptPage(params) {
...
@@ -137,25 +136,33 @@ export function offerDeptPage(params) {
// 导出部分报价单 exportDeptOfferExcel
// 导出部分报价单 exportDeptOfferExcel
export
function
exportDeptOfferExcel
(
query
)
{
export
function
exportDeptOfferExcel
(
query
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/dept/export-excel
'
,
url
:
"
/ecw/offer/dept/export-excel
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
:
query
,
params
:
query
,
responseType
:
'
blob
'
responseType
:
"
blob
"
})
})
}
}
// 报价单
// 报价单
export
function
getOfferSelect
(
params
)
{
export
function
getOfferSelect
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/select
'
,
url
:
"
/ecw/offer/select
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
// 报价单
// 报价单
export
function
getOfferCheck
(
params
)
{
export
function
getOfferCheck
(
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/check
'
,
url
:
"
/ecw/offer/check
"
,
method
:
'
get
'
,
method
:
"
get
"
,
params
params
})
})
}
}
// 特价详情
export
function
getOfferNumber
(
offerId
)
{
return
request
({
url
:
"
/ecw/offer/getNumber/
"
+
offerId
,
method
:
"
get
"
})
}
src/api/ecw/warehouse.js
View file @
ca65a30e
...
@@ -150,3 +150,21 @@ export function getGuojiaAndShiAndWarehouseList(params = {}) {
...
@@ -150,3 +150,21 @@ export function getGuojiaAndShiAndWarehouseList(params = {}) {
params
params
})
})
}
}
// 出货阶段-追加申请
export
function
appendApplyWhenShipment
(
data
)
{
return
request
({
url
:
'
/order/order-warehouse-in/append-apply-when-shipment
'
,
method
:
'
post
'
,
data
})
}
// 出货阶段-入仓修改申请
export
function
updateApplyWhenShipment
(
data
)
{
return
request
({
url
:
'
/order/order-warehouse-in/update-apply-when-shipment
'
,
method
:
'
put
'
,
data
})
}
src/components/RoutersSelector/index.vue
View file @
ca65a30e
...
@@ -11,7 +11,10 @@
...
@@ -11,7 +11,10 @@
</el-select>
</el-select>
{{$t('目的国')}}:
{{$t('目的国')}}:
<el-select
:placeholder=
"$t('请选择目的国')"
v-model=
"destCountryId"
clearable
>
<el-select
:placeholder=
"$t('请选择目的国')"
v-model=
"destCountryIds"
multiple
clearable
>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"$l(item, 'title')"
:value=
"item.id"
/>
<el-option
v-for=
"item in countryList"
:key=
"item.id"
:label=
"$l(item, 'title')"
:value=
"item.id"
/>
</el-select>
</el-select>
...
@@ -21,11 +24,17 @@
...
@@ -21,11 +24,17 @@
<el-option v-for="item in importCityList" :key="item.id" :label="item.titleZh" :value="item.id" />
<el-option v-for="item in importCityList" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select>
</el-select>
-->
-->
<el-select
:placeholder=
"$t('请选择目的城市')"
v-model=
"destCityId"
clearable
>
<el-select
:placeholder=
"$t('请选择目的城市')"
v-model=
"destCityIds"
multiple
clearable
>
<el-option
v-for=
"item in AddressCity"
:key=
"item.shi"
:label=
"item.shiName"
:value=
"item.shi"
/>
<el-option
v-for=
"item in AddressCity"
:key=
"item.shi"
:label=
"item.shiName"
:value=
"item.shi"
/>
</el-select>
</el-select>
{{$t('目的仓')}}:
{{$t('目的仓')}}:
<el-select
:placeholder=
"$t('请选择目的仓')"
v-model=
"destWarehouseId"
clearable
>
<el-select
:placeholder=
"$t('请选择目的仓')"
v-model=
"destWarehouseIds"
multiple
clearable
>
<el-option
v-for=
"item in AddressTown"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
<el-option
v-for=
"item in AddressTown"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
</el-select>
...
@@ -134,9 +143,9 @@ export default {
...
@@ -134,9 +143,9 @@ export default {
countryList
:
[],
//目的国
countryList
:
[],
//目的国
AddressCity
:
[],
//目的地
AddressCity
:
[],
//目的地
AddressTown
:
[],
//目的仓
AddressTown
:
[],
//目的仓
destCountryId
:
null
,
destCountryId
s
:
null
,
destCityId
:
null
,
destCityId
s
:
null
,
destWarehouseId
:
null
,
destWarehouseId
s
:
null
,
}
}
},
},
...
@@ -283,17 +292,17 @@ export default {
...
@@ -283,17 +292,17 @@ export default {
//每当值省份值改变时其下地区值进行清空
//每当值省份值改变时其下地区值进行清空
this
.
AddressCity
=
[];
this
.
AddressCity
=
[];
this
.
AddressTown
=
[];
this
.
AddressTown
=
[];
this
.
destWarehouseId
=
""
;
this
.
destWarehouseId
s
=
""
;
this
.
destCityId
=
""
;
this
.
destCityId
s
=
""
;
this
.
findByprovinceCode
();
this
.
findByprovinceCode
();
if
(
this
.
destCountryId
==
""
)
{
if
(
this
.
destCountryId
s
==
""
)
{
//1 是所有区域,2 国家,3是市,
//1 是所有区域,2 国家,3是市,
this
.
getAddressCity
()
this
.
getAddressCity
()
this
.
getAddressTown
()
this
.
getAddressTown
()
}
else
if
(
}
else
if
(
this
.
destCountryId
!=
""
&&
this
.
destCountryId
s
!=
""
&&
this
.
destCityId
==
""
&&
this
.
destCityId
s
==
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
this
.
getAddressTown
()
this
.
getAddressTown
()
}
}
...
@@ -304,32 +313,32 @@ export default {
...
@@ -304,32 +313,32 @@ export default {
deep
:
true
,
//深度监听 目的仓
deep
:
true
,
//深度监听 目的仓
handler
()
{
handler
()
{
this
.
AddressTown
=
[];
this
.
AddressTown
=
[];
this
.
destWarehouseId
=
""
;
this
.
destWarehouseId
s
=
""
;
this
.
findBycityCode
();
this
.
findBycityCode
();
if
(
if
(
this
.
destCityId
!=
""
&&
this
.
destCityId
s
!=
""
&&
this
.
destCountryId
!=
""
&&
this
.
destCountryId
s
!=
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
//获取当前城市值id,获取该城市下区域
//获取当前城市值id,获取该城市下区域
}
else
if
(
}
else
if
(
this
.
destCountryId
==
""
&&
this
.
destCountryId
s
==
""
&&
this
.
destCityId
==
""
&&
this
.
destCityId
s
==
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
this
.
getAddressTown
()
this
.
getAddressTown
()
}
else
if
(
}
else
if
(
this
.
destCountryId
!=
""
&&
this
.
destCountryId
s
!=
""
&&
this
.
destCityId
==
""
&&
this
.
destCityId
s
==
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
this
.
findByprovinceCode
()
this
.
findByprovinceCode
()
this
.
getAddressTown
()
this
.
getAddressTown
()
}
else
if
(
}
else
if
(
this
.
destCountryId
==
""
&&
this
.
destCountryId
s
==
""
&&
this
.
destCityId
!=
""
&&
this
.
destCityId
s
!=
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
//获取当前城市值id,获取该城市下区域
//获取当前城市值id,获取该城市下区域
...
@@ -342,22 +351,22 @@ export default {
...
@@ -342,22 +351,22 @@ export default {
deep
:
true
,
//深度监听
deep
:
true
,
//深度监听
handler
()
{
handler
()
{
if
(
if
(
this
.
destCountryId
!=
""
&&
this
.
destCountryId
s
!=
""
&&
this
.
destCityId
!=
""
&&
this
.
destCityId
s
!=
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
//获取当前城市值id,获取该城市下区域
//获取当前城市值id,获取该城市下区域
this
.
findBycityCode
()
this
.
findBycityCode
()
}
else
if
(
}
else
if
(
this
.
destCountryId
!=
""
&&
this
.
destCountryId
s
!=
""
&&
this
.
destCityId
==
""
&&
this
.
destCityId
s
==
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
this
.
getAddressTown
()
this
.
getAddressTown
()
}
else
if
(
}
else
if
(
this
.
destCountryId
==
""
&&
this
.
destCountryId
s
==
""
&&
this
.
destCityId
!=
""
&&
this
.
destCityId
s
!=
""
&&
this
.
destWarehouseId
==
""
this
.
destWarehouseId
s
==
""
)
{
)
{
this
.
findBycityCode
()
this
.
findBycityCode
()
}
}
...
@@ -394,7 +403,7 @@ export default {
...
@@ -394,7 +403,7 @@ export default {
if
(
this
.
type
==
'
sea
'
)
return
if
(
this
.
type
==
'
sea
'
)
return
let
query
=
{
let
query
=
{
// cityId: this.importCity
// cityId: this.importCity
cityId
:
this
.
destCityId
cityId
:
this
.
destCityId
s
}
}
getChannelList
(
query
).
then
(
res
=>
{
getChannelList
(
query
).
then
(
res
=>
{
this
.
channelList
=
res
.
data
this
.
channelList
=
res
.
data
...
@@ -407,9 +416,9 @@ export default {
...
@@ -407,9 +416,9 @@ export default {
},
},
changeOption
(){
changeOption
(){
if
(
!
this
.
option
)
return
if
(
!
this
.
option
)
return
this
.
destCountryId
=
+
this
.
option
.
destCountryId
||
null
this
.
destCountryId
s
=
+
this
.
option
.
destCountryId
||
null
this
.
destCityId
=
+
this
.
option
.
destCityId
||
null
this
.
destCityId
s
=
+
this
.
option
.
destCityId
||
null
this
.
destWarehouseId
=
+
this
.
option
.
destWarehouseId
||
null
this
.
destWarehouseId
s
=
+
this
.
option
.
destWarehouseId
||
null
// this.importCity = +this.option.importCity || null
// this.importCity = +this.option.importCity || null
this
.
exportCity
=
+
this
.
option
.
exportCity
||
null
this
.
exportCity
=
+
this
.
option
.
exportCity
||
null
this
.
transportType
=
this
.
option
.
transportId
||
null
this
.
transportType
=
this
.
option
.
transportId
||
null
...
@@ -428,14 +437,14 @@ export default {
...
@@ -428,14 +437,14 @@ export default {
if
(
this
.
exportCity
){
if
(
this
.
exportCity
){
params
.
startCityId
=
this
.
exportCity
params
.
startCityId
=
this
.
exportCity
}
}
if
(
this
.
destCountryId
){
if
(
this
.
destCountryId
s
){
params
.
destCountryId
=
this
.
destCountryId
params
.
destCountryId
s
=
this
.
destCountryId
}
}
if
(
this
.
destCityId
){
if
(
this
.
destCityId
s
){
params
.
destCityId
=
this
.
destCityId
params
.
destCityId
s
=
this
.
destCityIds
}
}
if
(
this
.
destWarehouseId
){
if
(
this
.
destWarehouseId
s
){
params
.
destWarehouseId
=
this
.
destWarehouseId
params
.
destWarehouseId
s
=
this
.
destWarehouseIds
}
}
const
res
=
await
openedRouterList
(
params
)
const
res
=
await
openedRouterList
(
params
)
this
.
openedRouterList
=
res
.
data
.
filter
(
item
=>
{
this
.
openedRouterList
=
res
.
data
.
filter
(
item
=>
{
...
@@ -511,18 +520,18 @@ export default {
...
@@ -511,18 +520,18 @@ export default {
})
})
},
},
findByprovinceCode
()
{
findByprovinceCode
()
{
if
(
this
.
destCountryId
!=
null
&&
this
.
destCountryId
!=
''
)
{
if
(
this
.
destCountryId
s
!=
null
&&
this
.
destCountryIds
!=
''
)
{
//获取当前省份值id,获取该省份下城市 destCountryId provinceCode
//获取当前省份值id,获取该省份下城市 destCountryId provinceCode
getRegionList
(
2
,
this
.
destCountryId
).
then
(({
data
})
=>
{
getRegionList
(
2
,
this
.
destCountryId
s
).
then
(({
data
})
=>
{
this
.
AddressCity
=
data
;
this
.
AddressCity
=
data
;
})
})
}
}
},
},
findBycityCode
()
{
findBycityCode
()
{
if
(
this
.
destCityId
!=
null
&&
this
.
destCityId
!=
''
)
{
if
(
this
.
destCityId
s
!=
null
&&
this
.
destCityIds
!=
''
)
{
//获取当前城市值id,获取该城市下区域
//获取当前城市值id,获取该城市下区域
getRegionList
(
3
,
this
.
destCityId
).
then
(({
data
})
=>
{
getRegionList
(
3
,
this
.
destCityId
s
).
then
(({
data
})
=>
{
this
.
AddressTown
=
data
;
this
.
AddressTown
=
data
;
})
})
}
}
...
...
src/styles/custom.scss
View file @
ca65a30e
...
@@ -15,3 +15,13 @@
...
@@ -15,3 +15,13 @@
justify-content
:
center
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
}
}
.custom-form-1
{
padding-right
:
40px
;
.el-textarea
,
.dict-selector
,
.el-select
{
width
:
100%
;
}
}
src/views/ecw/box/shippingAir/nodePage/unloading/startUnloading.vue
View file @
ca65a30e
...
@@ -145,7 +145,7 @@
...
@@ -145,7 +145,7 @@
<div
class=
"btns"
>
<div
class=
"btns"
>
<el-button
type=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
{{
$t
(
"
异常
"
)
}}
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
{{
$t
(
"
异常
"
)
}}
</el-button>
<el-button
v-if=
"pageData.boxCustomsBackVO && pageData.boxCustomsBackVO.overMachineStatus == 2 && pageData.boxCustomsBackVO.overMachineAbnormalStatus == 2"
plain
type=
"primary"
size=
"small"
@
click=
"$router.push('/order/warehousing-update?id=' + scope.row.orderId)"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-button>
<el-button
v-if=
"pageData.boxCustomsBackVO && pageData.boxCustomsBackVO.overMachineStatus == 2 && pageData.boxCustomsBackVO.overMachineAbnormalStatus == 2"
plain
type=
"primary"
size=
"small"
@
click=
"$router.push('/order/warehousing-update?id=' + scope.row.orderId)"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_revoke(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218"
>
{{
$t
(
"
撤销到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_revoke(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218
&& !isSuccessReview && !isUnderReview
"
>
{{
$t
(
"
撤销到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_force(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum"
>
{{
$t
(
"
强制到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_force(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum"
>
{{
$t
(
"
强制到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218"
>
{{
$t
(
"
到仓修改
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218"
>
{{
$t
(
"
到仓修改
"
)
}}
</el-button>
</div>
</div>
...
@@ -619,6 +619,11 @@ export default {
...
@@ -619,6 +619,11 @@ export default {
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
return
shipmentObj
[
currNode
.
keyName
]
===
183
?
true
:
false
return
shipmentObj
[
currNode
.
keyName
]
===
183
?
true
:
false
},
},
/* 是否卸柜审核成功 */
isSuccessReview
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
return
shipmentObj
[
currNode
.
keyName
]
===
185
?
true
:
false
},
// 部分信息
// 部分信息
getSectionInfo
()
{
getSectionInfo
()
{
const
{
totalStatistics
,
secStatistics
}
=
this
.
pageData
const
{
totalStatistics
,
secStatistics
}
=
this
.
pageData
...
...
src/views/ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
View file @
ca65a30e
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
class=
"btns"
>
<div
class=
"btns"
>
<el-button
type=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
{{
$t
(
"
异常
"
)
}}
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
{{
$t
(
"
异常
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_revoke(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218"
>
{{
$t
(
"
撤销到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_revoke(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218
&& !isSuccessReview && !isUnderReview
"
>
{{
$t
(
"
撤销到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_force(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum"
>
{{
$t
(
"
强制到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"order_warehouse_check_force(scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 0 && scope.row.unloadNum > 0 && scope.row.installNum > scope.row.unloadNum"
>
{{
$t
(
"
强制到仓
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218"
>
{{
$t
(
"
到仓修改
"
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"$router.push('/order/warehousingTo-update?id=' + scope.row.orderId)"
v-if=
"scope.row.inWarehouseState == 218"
>
{{
$t
(
"
到仓修改
"
)
}}
</el-button>
</div>
</div>
...
...
src/views/ecw/coupon/index.vue
View file @
ca65a30e
...
@@ -34,14 +34,15 @@
...
@@ -34,14 +34,15 @@
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('有效期')"
prop=
"validDays"
>
<el-form-item
:label=
"$t('结束时间')"
>
<el-input
<el-date-picker
v-model.trim=
"queryParams.validDays"
v-model=
"dateRangeEndTime"
:placeholder=
"$t('请输入有效期')"
type=
"daterange"
clearable
:start-placeholder=
"$t('开始日期')"
@
keyup.enter.native=
"handleQuery"
value-format=
"yyyy-MM-dd"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
:end-placeholder=
"$t('结束日期')"
/>
>
</el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('创建时间')"
>
<el-form-item
:label=
"$t('创建时间')"
>
...
@@ -103,7 +104,6 @@
...
@@ -103,7 +104,6 @@
<div>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</div>
<div>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('有效期(天)')"
align=
"center"
prop=
"validDays"
width=
"90"
/>
<el-table-column
:label=
"$t('开始时间')"
align=
"center"
prop=
"startTime"
width=
"100"
>
<el-table-column
:label=
"$t('开始时间')"
align=
"center"
prop=
"startTime"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
...
src/views/ecw/customer/components/customerFollow.vue
View file @
ca65a30e
<
template
>
<
template
>
<div
class=
"customer-follow"
>
<div
class=
"customer-follow"
>
<el-dialog
append-to-body
:title=
"$t('客户跟进')"
:visible.sync=
"customerFollow.dialogVisible"
:before-close=
"customerFollowClose"
width=
"
9
00px"
>
<el-dialog
append-to-body
:title=
"$t('客户跟进')"
:visible.sync=
"customerFollow.dialogVisible"
:before-close=
"customerFollowClose"
width=
"
12
00px"
>
<el-form
ref=
"customerFollowForm"
:model=
"form"
label-width=
"120px"
>
<el-form
class=
"custom-form-1"
ref=
"customerFollowForm"
:model=
"form"
label-width=
"120px"
>
<el-row
:gutter=
"10"
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('编号')"
prop=
"number"
>
<el-form-item
:label=
"$t('编号')"
prop=
"number"
>
<el-input
v-model=
"form.number"
:placeholder=
"$t('请输入编号')"
disabled
/>
<el-input
v-model=
"form.number"
:placeholder=
"$t('请输入编号')"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('跟进状态')"
>
<el-form-item
:label=
"$t('跟进状态')"
>
<el-select
v-model=
"form.status"
:placeholder=
"$t('请选择')"
disabled
>
<el-select
v-model=
"form.status"
:placeholder=
"$t('请选择')"
disabled
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('客户编号')"
>
<el-form-item
:label=
"$t('客户编号')"
>
<el-input
v-model=
"form.customerNumber"
:placeholder=
"$t('请输入客户编号')"
disabled
/>
<el-input
v-model=
"form.customerNumber"
:placeholder=
"$t('请输入客户编号')"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('跟进类型')"
required
>
<el-form-item
:label=
"$t('跟进类型')"
required
>
<el-select
v-model=
"form.followType"
clearable
:placeholder=
"$t('请选择')"
@
change=
"handleFollowType"
:disabled=
"isView || !!offerId"
>
<el-select
v-model=
"form.followType"
clearable
:placeholder=
"$t('请选择')"
@
change=
"handleFollowType"
:disabled=
"isView || !!offerId"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"8"
v-if=
"form.followType == 2"
>
<el-form-item
:label=
"$t('报价单')"
required
prop=
"offerId"
>
<el-input
:value=
"form.offerNumber"
readonly
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"CustomerFollowSelectOffer = true"
v-if=
"!(isView || offerId)"
></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('跟进时间')"
required
>
<el-form-item
:label=
"$t('跟进时间')"
required
>
<el-date-picker
v-model=
"form.followTime"
clearable
type=
"datetime"
:placeholder=
"$t('请选择')"
:disabled=
"isView"
/>
<el-date-picker
v-model=
"form.followTime"
clearable
type=
"datetime"
:placeholder=
"$t('请选择')"
:disabled=
"isView"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
v-if=
"customerId"
>
<el-col
:span=
"
8
"
v-if=
"customerId"
>
<el-form-item
:label=
"$t('联系人')"
required
>
<el-form-item
:label=
"$t('联系人')"
required
>
<el-select
v-model=
"form.contactId"
clearable
:placeholder=
"$t('请选择')"
:disabled=
"isView"
@
change=
"changeContactUser"
>
<el-select
v-model=
"form.contactId"
clearable
:placeholder=
"$t('请选择')"
:disabled=
"isView"
@
change=
"changeContactUser"
>
<el-option
v-for=
"(item, index) in customerContactsList"
:key=
"index"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"(item, index) in customerContactsList"
:key=
"index"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
v-else
>
<el-col
:span=
"
8
"
v-else
>
<el-form-item
:label=
"$t('联系人')"
required
>
<el-form-item
:label=
"$t('联系人')"
required
>
<div
class=
"contact"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.contactName"
:value=
"form.customerContactsId"
placeholder=
""
disabled
/>
<el-input
v-model=
"form.contactName"
:value=
"form.customerContactsId"
placeholder=
""
disabled
/>
...
@@ -48,47 +55,47 @@
...
@@ -48,47 +55,47 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('联系方式')"
>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
v-model=
"form.contactPhone"
disabled
/>
<el-input
v-model=
"form.contactPhone"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('客户经理')"
required
>
<el-form-item
:label=
"$t('客户经理')"
required
>
<el-select
v-model=
"form.followUserId"
clearable
:placeholder=
"$t('请选择')"
:disabled=
"isView"
>
<el-select
v-model=
"form.followUserId"
clearable
:placeholder=
"$t('请选择')"
:disabled=
"isView"
>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"item in serviceUserList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('跟进方式')"
required
>
<el-form-item
:label=
"$t('跟进方式')"
required
>
<dict-selector
ref=
"dictMethod"
v-model=
"form.followMethod"
clearable
:disabled=
"isView"
:type=
"DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD"
></dict-selector>
<dict-selector
ref=
"dictMethod"
v-model=
"form.followMethod"
clearable
:disabled=
"isView"
:type=
"DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD"
></dict-selector>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('上一级跟进单')"
prop=
"parentNumber"
>
<el-form-item
:label=
"$t('上一级跟进单')"
prop=
"parentNumber"
>
<el-input
v-model=
"form.parentNumber"
:placeholder=
"$t('请输入上一级跟进单')"
disabled
/>
<el-input
v-model=
"form.parentNumber"
:placeholder=
"$t('请输入上一级跟进单')"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('跟进结果')"
prop=
"followMethod"
>
<el-form-item
:label=
"$t('跟进结果')"
prop=
"followMethod"
>
<el-select
v-model=
"form.resultType"
clearable
:placeholder=
"$t('请选择')"
:disabled=
"isView"
>
<el-select
v-model=
"form.resultType"
clearable
:placeholder=
"$t('请选择')"
:disabled=
"isView"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_RESULT_TYPE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_RESULT_TYPE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"2
0
"
>
<el-col
:span=
"2
4
"
>
<el-form-item
:label=
"$t('目的')"
prop=
"purpose"
>
<el-form-item
:label=
"$t('目的')"
prop=
"purpose"
>
<el-input
type=
"textarea"
:rows=
"
2
"
v-model=
"form.purpose"
:placeholder=
"$t('请输入目的')"
maxlength=
"200"
show-word-limit
:disabled=
"isView"
/>
<el-input
type=
"textarea"
:rows=
"
3
"
v-model=
"form.purpose"
:placeholder=
"$t('请输入目的')"
maxlength=
"200"
show-word-limit
:disabled=
"isView"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"2
0
"
>
<el-col
:span=
"2
4
"
>
<el-form-item
:label=
"$t('跟进情况')"
>
<el-form-item
:label=
"$t('跟进情况')"
>
<el-input
rows=
"3"
class=
"text_style"
type=
"textarea"
v-model=
"form.feedback"
maxlength=
"500"
show-word-limit
:disabled=
"isView"
/>
<el-input
rows=
"3"
class=
"text_style"
type=
"textarea"
v-model=
"form.feedback"
maxlength=
"500"
show-word-limit
:disabled=
"isView"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"2
0
"
>
<el-col
:span=
"2
4
"
>
<el-form-item
:label=
"$t('附件')"
prop=
"attatchment"
>
<el-form-item
:label=
"$t('附件')"
prop=
"attatchment"
>
<FileUpload
:limit=
"5"
:isShowTip=
"true"
v-model=
"form.attatchment"
:fileType=
"fileType"
:disabled=
"isView"
/>
<FileUpload
:limit=
"5"
:isShowTip=
"true"
v-model=
"form.attatchment"
:fileType=
"fileType"
:disabled=
"isView"
/>
</el-form-item>
</el-form-item>
...
@@ -98,12 +105,12 @@
...
@@ -98,12 +105,12 @@
<el-date-picker
v-model=
"form.nextTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
:disabled=
"isView"
@
change=
"changeNextTime"
>
</el-date-picker>
<el-date-picker
v-model=
"form.nextTime"
type=
"datetime"
:placeholder=
"$t('请选择')"
:disabled=
"isView"
@
change=
"changeNextTime"
>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"2
0
"
>
<el-col
:span=
"2
4
"
>
<el-form-item
:label=
"$t('下一步计划')"
prop=
"nextPlan"
>
<el-form-item
:label=
"$t('下一步计划')"
prop=
"nextPlan"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"form.nextPlan"
:placeholder=
"$t('请输入下一步计划')"
maxlength=
"500"
show-word-limit
:disabled=
"isView"
/>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"form.nextPlan"
:placeholder=
"$t('请输入下一步计划')"
maxlength=
"500"
show-word-limit
:disabled=
"isView"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"2
0
"
v-if=
"isView"
>
<el-col
:span=
"2
4
"
v-if=
"isView"
>
<el-form-item>
<el-form-item>
<div
style=
"text-align: right"
>
<div
style=
"text-align: right"
>
<!--
<el-button
size=
"mini"
icon=
"el-icon-collection"
type=
"primary"
@
click=
"$emit('handleCustomerFollowAdd', form)"
v-has-permi=
"['ecw:customer:follow-add-plan']"
>
{{
$t
(
"
增加计划
"
)
}}
</el-button>
-->
<!--
<el-button
size=
"mini"
icon=
"el-icon-collection"
type=
"primary"
@
click=
"$emit('handleCustomerFollowAdd', form)"
v-has-permi=
"['ecw:customer:follow-add-plan']"
>
{{
$t
(
"
增加计划
"
)
}}
</el-button>
-->
...
@@ -111,26 +118,26 @@
...
@@ -111,26 +118,26 @@
</div>
</div>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('创建人')"
prop=
"founder"
>
<el-form-item
:label=
"$t('创建人')"
prop=
"founder"
>
<el-select
v-model=
"form.creatorName"
disabled
:placeholder=
"$t('请选择')"
>
<el-select
v-model=
"form.creatorName"
disabled
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('创建时间')"
prop=
"createTime"
>
<el-form-item
:label=
"$t('创建时间')"
prop=
"createTime"
>
<el-date-picker
v-model=
"form.createTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择')"
>
</el-date-picker>
<el-date-picker
v-model=
"form.createTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择')"
>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('最后更新人')"
>
<el-form-item
:label=
"$t('最后更新人')"
>
<el-select
v-model=
"form.updaterName"
disabled
>
<el-select
v-model=
"form.updaterName"
disabled
>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"item in allSimplList"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('最后更新时间')"
>
<el-form-item
:label=
"$t('最后更新时间')"
>
<el-date-picker
v-model=
"form.updateTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择')"
>
</el-date-picker>
<el-date-picker
v-model=
"form.updateTime"
type=
"datetime"
disabled
:placeholder=
"$t('请选择')"
>
</el-date-picker>
</el-form-item>
</el-form-item>
...
@@ -166,7 +173,7 @@
...
@@ -166,7 +173,7 @@
<
script
>
<
script
>
import
{
createCustomerFollow
,
getCustomerFollowPage
,
getCustomerFollowPage2
,
addCustomerFollow
,
getCustomerFollowList
,
editCustomerFollow
,
getFollowupNewNumber
}
from
"
@/api/ecw/customerFollow
"
import
{
createCustomerFollow
,
getCustomerFollowPage
,
getCustomerFollowPage2
,
addCustomerFollow
,
getCustomerFollowList
,
editCustomerFollow
,
getFollowupNewNumber
}
from
"
@/api/ecw/customerFollow
"
import
{
getCustomerContactsSelect
}
from
"
@/api/ecw/customerContacts
"
import
{
getCustomerContactsSelect
}
from
"
@/api/ecw/customerContacts
"
import
{
getOfferPage
}
from
"
@/api/ecw/offer
"
import
{
getOfferPage
,
getOfferNumber
}
from
"
@/api/ecw/offer
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
{
getCustomerContactsListByCustomer
}
from
"
@/api/ecw/customerContacts
"
import
{
getCustomerContactsListByCustomer
}
from
"
@/api/ecw/customerContacts
"
import
{
listAllSimpl
,
listServiceUser
,
listSimpleUsers
}
from
"
@/api/system/user
"
import
{
listAllSimpl
,
listServiceUser
,
listSimpleUsers
}
from
"
@/api/system/user
"
...
@@ -213,7 +220,9 @@ export default {
...
@@ -213,7 +220,9 @@ export default {
}
}
},
},
offerDialogVisible
:
true
,
offerDialogVisible
:
true
,
form
:
{},
form
:
{
offerId
:
undefined
},
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
total
:
10
,
total
:
10
,
...
@@ -247,6 +256,17 @@ export default {
...
@@ -247,6 +256,17 @@ export default {
this
.
allSimplList
=
r
.
data
this
.
allSimplList
=
r
.
data
})
})
},
},
watch
:
{
"
form.offerId
"
(
v
)
{
if
(
v
)
{
getOfferNumber
(
v
).
then
((
r
)
=>
{
this
.
form
.
offerNumber
=
r
.
data
})
}
else
{
this
.
form
.
offerNumber
=
""
}
}
},
methods
:
{
methods
:
{
selectOffer
(
offerId
)
{
selectOffer
(
offerId
)
{
this
.
form
.
offerId
=
offerId
this
.
form
.
offerId
=
offerId
...
@@ -317,7 +337,6 @@ export default {
...
@@ -317,7 +337,6 @@ export default {
handleFollowType
(
val
)
{
handleFollowType
(
val
)
{
console
.
log
(
val
)
console
.
log
(
val
)
if
(
val
==
2
)
{
if
(
val
==
2
)
{
this
.
CustomerFollowSelectOffer
=
true
}
else
{
}
else
{
this
.
form
.
offerId
=
undefined
this
.
form
.
offerId
=
undefined
}
}
...
@@ -339,6 +358,7 @@ export default {
...
@@ -339,6 +358,7 @@ export default {
nextTime
:
undefined
,
nextTime
:
undefined
,
number
:
undefined
,
number
:
undefined
,
offerId
:
this
.
offerId
,
offerId
:
this
.
offerId
,
offerNumber
:
undefined
,
parentId
:
undefined
,
parentId
:
undefined
,
parentNumber
:
undefined
,
parentNumber
:
undefined
,
purpose
:
undefined
,
purpose
:
undefined
,
...
@@ -386,6 +406,10 @@ export default {
...
@@ -386,6 +406,10 @@ export default {
this
.
$modal
.
msgError
(
this
.
$t
(
"
请选择跟进方式
"
))
this
.
$modal
.
msgError
(
this
.
$t
(
"
请选择跟进方式
"
))
return
return
}
}
if
(
!
this
.
form
.
offerId
&&
this
.
form
.
followType
==
2
)
{
this
.
$modal
.
msgError
(
this
.
$t
(
"
请选择报价单
"
))
return
}
if
(
status
===
0
)
{
if
(
status
===
0
)
{
this
.
saveSubmitData
(
status
)
this
.
saveSubmitData
(
status
)
...
@@ -457,6 +481,7 @@ export default {
...
@@ -457,6 +481,7 @@ export default {
...
row
,
...
row
,
id
:
null
,
id
:
null
,
parentNumber
:
row
.
number
,
parentNumber
:
row
.
number
,
purpose
:
row
.
nextPlan
,
followTime
:
row
.
nextTime
,
followTime
:
row
.
nextTime
,
nextTime
:
""
,
nextTime
:
""
,
number
:
r
.
data
.
number
,
number
:
r
.
data
.
number
,
...
...
src/views/ecw/customer/components/customerFollowUpdateStatus.vue
View file @
ca65a30e
...
@@ -61,7 +61,7 @@ export default {
...
@@ -61,7 +61,7 @@ export default {
},
},
methods
:
{
methods
:
{
submit
()
{
submit
()
{
if
(
!
this
.
status
)
{
if
(
this
.
status
==
null
||
this
.
status
==
undefined
)
{
return
this
.
$message
.
warning
(
this
.
$t
(
'
请选择修改的状态!
'
));
return
this
.
$message
.
warning
(
this
.
$t
(
'
请选择修改的状态!
'
));
}
}
console
.
log
(
this
.
followupIds
,
'
this.followupIds
'
)
console
.
log
(
this
.
followupIds
,
'
this.followupIds
'
)
...
...
src/views/ecw/customer/edit.vue
View file @
ca65a30e
...
@@ -854,7 +854,7 @@ export default {
...
@@ -854,7 +854,7 @@ export default {
currecyList
:
[],
currecyList
:
[],
enterOpenSeaTime
:
undefined
,
enterOpenSeaTime
:
undefined
,
showBaseFlag
:
false
,
showBaseFlag
:
false
,
showShippingFlag
:
fals
e
,
showShippingFlag
:
tru
e
,
showSettingFlag
:
false
,
showSettingFlag
:
false
,
showFinanceFlag
:
false
,
showFinanceFlag
:
false
,
competitorList
:
[]
competitorList
:
[]
...
...
src/views/ecw/customer/index.vue
View file @
ca65a30e
...
@@ -228,21 +228,21 @@
...
@@ -228,21 +228,21 @@
-->
-->
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{ row }">-->
<!-- <template v-slot="{ row }">-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- <contacts :id="row.id">-->
<!-- <contacts :id="row.id">-->
<!-- <el-button type="text">更多</el-button>-->
<!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>-->
<!-- </contacts>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -667,7 +667,7 @@
...
@@ -667,7 +667,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
@
close=
"customerFollowVisible = false"
v-if=
"customerFollowVisible"
/>
<customer-complaints
:customer-id=
"customerId"
ref=
"customerComplaints"
></customer-complaints>
<customer-complaints
:customer-id=
"customerId"
ref=
"customerComplaints"
></customer-complaints>
<transfer-customer
:show.sync=
"transferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<transfer-customer
:show.sync=
"transferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<add-potential-custom
ref=
"potentialCustom"
@
change=
"getList"
></add-potential-custom>
<add-potential-custom
ref=
"potentialCustom"
@
change=
"getList"
></add-potential-custom>
...
@@ -719,10 +719,10 @@ import { getCustomerSelect } from "@/api/ecw/customer"
...
@@ -719,10 +719,10 @@ import { getCustomerSelect } from "@/api/ecw/customer"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
import
UserSelector
from
"
@/components/UserSelector/index.vue
"
;
import
UserSelector
from
"
@/components/UserSelector/index.vue
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
;
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
import
ProductSelector
from
"
@/components/ProductSelector/index.vue
"
;
import
ProductSelector
from
"
@/components/ProductSelector/index.vue
"
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
;
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
export
default
{
export
default
{
name
:
"
EcwCustomerIndex
"
,
name
:
"
EcwCustomerIndex
"
,
components
:
{
components
:
{
...
@@ -1011,7 +1011,6 @@ export default {
...
@@ -1011,7 +1011,6 @@ export default {
this
.
getList
()
this
.
getList
()
},
},
methods
:
{
methods
:
{
onCompetitorChange
(
row
,
competitor
)
{
onCompetitorChange
(
row
,
competitor
)
{
// row.goodsType = product ? product.typeId : null
// row.goodsType = product ? product.typeId : null
row
.
id
=
!
competitor
row
.
id
=
!
competitor
...
...
src/views/ecw/customer/query.vue
View file @
ca65a30e
...
@@ -672,7 +672,7 @@
...
@@ -672,7 +672,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
:customer-id=
"id"
:customer-service=
"customer.customerService"
:customer-number=
"customer.number"
@
refresh=
"logListCommonRefresh"
/>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
@
close=
"customerFollowVisible = false"
:customer-id=
"id"
:customer-service=
"customer.customerService"
:customer-number=
"customer.number"
@
refresh=
"logListCommonRefresh"
/>
</div>
</div>
</template>
</template>
...
...
src/views/ecw/customerConfirm/index.vue
View file @
ca65a30e
...
@@ -168,12 +168,10 @@
...
@@ -168,12 +168,10 @@
<!-- 操作工具栏 -->
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"$router.push({path:'/customer/add-edit/0',query:{isCustomerServiceConfirmed:true,}})"
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"$router.push({ path: '/customer/add-edit/0', query: { isCustomerServiceConfirmed: true } })"
v-hasPermi=
"['ecw:customer: treat-create']"
>
{{ $t("新增") }}
</el-button>
v-hasPermi=
"['ecw:customer: treat-create']"
>
{{$t('新增')}}
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:treat-export']"
>
{{ $t("导出") }}
</el-button>
v-hasPermi=
"['ecw:customer:treat-export']"
>
{{$t('导出')}}
</el-button>
</el-col>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
</el-row>
...
@@ -182,15 +180,15 @@
...
@@ -182,15 +180,15 @@
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
fixed
>
<
template
v-slot=
"{
row
}"
>
<
template
v-slot=
"{
row
}"
>
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
<router-link
:to=
"`/customer/query/$
{row.id}`" class="link-type">
{{
row
.
number
}}
{{
row
.
number
}}
</router-link>
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
fixed
>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
fixed
>
<
template
v-slot=
"{
row
}"
>
<
template
v-slot=
"{
row
}"
>
<p
style=
"display:
inline-block;white-space: pre-wrap;"
>
{{
$l
(
row
,
'
name
'
)
}}
</p>
<p
style=
"display:
inline-block; white-space: pre-wrap"
>
{{
$l
(
row
,
"
name
"
)
}}
</p>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!--
<!--
...
@@ -207,41 +205,49 @@
...
@@ -207,41 +205,49 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{row}">-->
<!-- <template v-slot="{row}">-->
<!-- +{{row.defaultContactPhone}} <br/>-->
<!-- +{{row.defaultContactPhone}} <br/>-->
<!-- <contacts :id="row.id" >-->
<!-- <contacts :id="row.id" >-->
<!-- <el-button type="text">更多</el-button>-->
<!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>-->
<!-- </contacts>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户类别')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('客户类别')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_TYPE
,
(
row
.
type
||
''
).
split
(
'
,
'
)).
map
(
e
=>
isChinese
?
e
.
label
:
e
.
labelEn
).
join
(
'
,
'
)
}}
{{
<!--
<dict-tag-->
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_TYPE
,
(
row
.
type
||
""
).
split
(
"
,
"
))
<!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
.
map
((
e
)
=>
(
isChinese
?
e
.
label
:
e
.
labelEn
))
<!-- :value="scope.row.type"-->
.
join
(
"
,
"
)
<!-- />-->
}}
<!--
<dict-tag-->
<!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
<!-- :value="scope.row.type"-->
<!-- />-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('角色')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('角色')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_ROLE
,
(
row
.
roles
||
''
).
split
(
'
,
'
)).
map
(
e
=>
isChinese
?
e
.
label
:
e
.
labelEn
).
join
(
'
,
'
)
}}
{{
<!--
<dict-tag-->
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_ROLE
,
(
row
.
roles
||
""
).
split
(
"
,
"
))
<!-- :type="DICT_TYPE.CUSTOMER_ROLE"-->
.
map
((
e
)
=>
(
isChinese
?
e
.
label
:
e
.
labelEn
))
<!-- :value="scope.row.roles"-->
.
join
(
"
,
"
)
<!-- />-->
}}
<!--
<dict-tag-->
<!-- :type="DICT_TYPE.CUSTOMER_ROLE"-->
<!-- :value="scope.row.roles"-->
<!-- />-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"customerServiceName"
></el-table-column>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"customerServiceName"
></el-table-column>
...
@@ -253,10 +259,7 @@
...
@@ -253,10 +259,7 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户来源')"
>
<el-table-column
:label=
"$t('客户来源')"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('业务国家')"
>
<el-table-column
:label=
"$t('业务国家')"
>
...
@@ -279,8 +282,7 @@
...
@@ -279,8 +282,7 @@
{{
getProductTypeNames
(
row
.
productTypes
)
}}
{{
getProductTypeNames
(
row
.
productTypes
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('主要竞争对手')"
prop=
"competitorNames"
>
<el-table-column
:label=
"$t('主要竞争对手')"
prop=
"competitorNames"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('年度发货次数')"
align=
"center"
>
<el-table-column
:label=
"$t('年度发货次数')"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
numYearly
}}
{{
row
.
numYearly
}}
...
@@ -293,13 +295,13 @@
...
@@ -293,13 +295,13 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('入公海时间')"
align=
"center"
width=
"160"
>
<el-table-column
:label=
"$t('入公海时间')"
align=
"center"
width=
"160"
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
{{
parseTime
(
row
.
enterOpenSeaTime
?
row
.
enterOpenSeaTime
:
row
.
estimateEnterOpenSeaTime
)
}}
{{
parseTime
(
row
.
enterOpenSeaTime
?
row
.
enterOpenSeaTime
:
row
.
estimateEnterOpenSeaTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('入仓确认')"
align=
"center"
>
<el-table-column
:label=
"$t('入仓确认')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tag
type=
"success"
v-if=
"scope.row.arrivalConfirm == 1"
>
{{
$t
(
'
是
'
)
}}
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.arrivalConfirm == 1"
>
{{
$t
(
"
是
"
)
}}
</el-tag>
<el-tag
type=
"info"
v-else
>
{{
$t
(
'
否
'
)
}}
</el-tag>
<el-tag
type=
"info"
v-else
>
{{
$t
(
"
否
"
)
}}
</el-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('控货无收货人')"
align=
"center"
>
<el-table-column
:label=
"$t('控货无收货人')"
align=
"center"
>
...
@@ -324,14 +326,10 @@
...
@@ -324,14 +326,10 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('获取方式')"
align=
"center"
>
<el-table-column
:label=
"$t('获取方式')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_GET_METHOD"
:value=
"scope.row.getMethod"
/>
:type=
"DICT_TYPE.CUSTOMER_GET_METHOD"
:value=
"scope.row.getMethod"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('创建人')"
prop=
"createUsername"
align=
"center"
>
<el-table-column
:label=
"$t('创建人')"
prop=
"createUsername"
align=
"center"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
width=
"160"
>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
@@ -339,51 +337,38 @@
...
@@ -339,51 +337,38 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最后更新时间')"
align=
"center"
width=
"160"
>
<el-table-column
:label=
"$t('最后更新时间')"
align=
"center"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('分配时间')"
align=
"center"
width=
"180"
>
<el-table-column
:label=
"$t('分配时间')"
align=
"center"
width=
"180"
>
<
template
v-slot=
"{row
}"
>
<
template
v-slot=
"{ row
}"
>
<span>
{{
parseTime
(
row
.
customerServiceAssignedTime
)
}}
</span>
<span>
{{
parseTime
(
row
.
customerServiceAssignedTime
)
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"200px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
>
<el-table-column
width=
"200px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"'/customer/query/' + scope.row.id"
>
<router-link
:to=
"'/customer/query/' + scope.row.id"
>
<el-button
v-has-permi=
"['ecw:customer:treat-view']"
size=
"mini"
style=
"margin-right: 10px"
type=
"text"
>
查看
</el-button>
<el-button
v-has-permi=
"['ecw:customer:treat-view']"
size=
"mini"
style=
"margin-right: 10px"
type=
"text"
>
查看
</el-button>
</router-link>
</router-link>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleConfirmService(scope.row)"
<el-button
size=
"mini"
type=
"text"
@
click=
"handleConfirmService(scope.row)"
v-hasPermi=
"['ecw:customer:treat-accept']"
>
{{
$t
(
"
确认接收
"
)
}}
</el-button>
v-hasPermi=
"['ecw:customer:treat-accept']"
>
{{
$t
(
'
确认接收
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handOver(scope.row)"
v-hasPermi=
"['ecw:customer:treat-transfer']"
>
{{
$t
(
"
移交
"
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handOver(scope.row)"
<router-link
style=
"margin: 0 10px"
to=
"/offer/create"
>
v-hasPermi=
"['ecw:customer:treat-transfer']"
>
{{
$t
(
'
移交
'
)
}}
</el-button>
<router-link
style=
"margin: 0 10px;"
to=
"/offer/create"
>
<el-button
v-has-permi=
"['ecw:customer:treat-quoted-price']"
size=
"mini"
type=
"text"
>
<el-button
v-has-permi=
"['ecw:customer:treat-quoted-price']"
size=
"mini"
type=
"text"
>
{{
$t
(
'
报价
'
)
}}
{{
$t
(
"
报价
"
)
}}
</el-button>
</el-button>
</router-link>
</router-link>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleUpdate(scope.row)"
<el-button
size=
"mini"
type=
"text"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:customer:treat-perfect']"
>
{{
$t
(
"
完善
"
)
}}
</el-button>
v-hasPermi=
"['ecw:customer:treat-perfect']"
>
{{
$t
(
'
完善
'
)
}}
</el-button>
<!--
<el-button
v-has-permi=
"['ecw:customer:treat-recovery']"
size=
"mini"
type=
"text"
@
click=
"recovery(scope.row)"
>
{{
$t
(
'
回收客户
'
)
}}
</el-button>
-->
<!--
<el-button
v-has-permi=
"['ecw:customer:treat-recovery']"
size=
"mini"
type=
"text"
@
click=
"recovery(scope.row)"
>
{{
$t
(
'
回收客户
'
)
}}
</el-button>
-->
<el-button
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button>
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 分页组件 -->
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户名称')"
prop=
"name"
>
<el-form-item
:label=
"$t('客户名称')"
prop=
"name"
>
<el-input
v-model=
"form.name"
:placeholder=
"$t('请输入客户名称')"
/>
<el-input
v-model=
"form.name"
:placeholder=
"$t('请输入客户名称')"
/>
...
@@ -392,24 +377,21 @@
...
@@ -392,24 +377,21 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('国家')"
prop=
"country"
>
<el-form-item
:label=
"$t('国家')"
prop=
"country"
>
<el-select
v-model=
"form.country"
:placeholder=
"$t('请选择国家')"
>
<el-select
v-model=
"form.country"
:placeholder=
"$t('请选择国家')"
>
<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>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户等级')"
prop=
"level"
>
<el-form-item
:label=
"$t('客户等级')"
prop=
"level"
>
<el-select
v-model=
"form.level"
:placeholder=
"$t('请选择客户等级')"
>
<el-select
v-model=
"form.level"
:placeholder=
"$t('请选择客户等级')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('所属代理')"
prop=
"agentId"
>
<el-form-item
:label=
"$t('所属代理')"
prop=
"agentId"
>
<el-select
v-model=
"form.agentId"
:placeholder=
"$t('请选择所属代理')"
>
<el-select
v-model=
"form.agentId"
:placeholder=
"$t('请选择所属代理')"
>
<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=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -421,8 +403,7 @@
...
@@ -421,8 +403,7 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户类别')"
prop=
"type"
>
<el-form-item
:label=
"$t('客户类别')"
prop=
"type"
>
<el-select
v-model=
"form.type"
:placeholder=
"$t('请选择客户类别')"
>
<el-select
v-model=
"form.type"
:placeholder=
"$t('请选择客户类别')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_TYPE)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_TYPE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -434,13 +415,11 @@
...
@@ -434,13 +415,11 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('公司名称')"
prop=
"company"
>
<el-form-item
:label=
"$t('公司名称')"
prop=
"company"
>
<el-input
v-model=
"form.company"
:placeholder=
"$t('请输入公司名称')"
/>
<el-input
v-model=
"form.company"
:placeholder=
"$t('请输入公司名称')"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户生日')"
prop=
"birthday"
>
<el-form-item
:label=
"$t('客户生日')"
prop=
"birthday"
>
<el-input
v-model=
"form.birthday"
:placeholder=
"$t('请输入客户生日')"
/>
<el-input
v-model=
"form.birthday"
:placeholder=
"$t('请输入客户生日')"
/>
</el-form-item>
</el-form-item>
...
@@ -456,44 +435,35 @@
...
@@ -456,44 +435,35 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
v-model=
"form.source"
:placeholder=
"$t('请选择客户来源')"
>
<el-select
v-model=
"form.source"
:placeholder=
"$t('请选择客户来源')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('结算方式')"
prop=
"balance"
>
<el-form-item
:label=
"$t('结算方式')"
prop=
"balance"
>
<el-select
v-model=
"form.balance"
:placeholder=
"$t('请选择结算方式')"
>
<el-select
v-model=
"form.balance"
:placeholder=
"$t('请选择结算方式')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_BALANCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
:placeholder=
"$t('请选择客户经理')"
>
<el-select
v-model=
"form.customerService"
:placeholder=
"$t('请选择客户经理')"
>
<el-option
v-for=
"dict in serviceStaffOptions"
<el-option
v-for=
"dict in serviceStaffOptions"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('图片')"
prop=
"picture"
>
<el-form-item
:label=
"$t('图片')"
prop=
"picture"
>
<el-input
v-model=
"form.picture"
:placeholder=
"$t('请输入图片')"
/>
<el-input
v-model=
"form.picture"
:placeholder=
"$t('请输入图片')"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('客户状态')"
prop=
"status"
>
<el-form-item
:label=
"$t('客户状态')"
prop=
"status"
>
<el-select
v-model=
"form.status"
:placeholder=
"$t('请选择客户状态')"
>
<el-select
v-model=
"form.status"
:placeholder=
"$t('请选择客户状态')"
>
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -528,9 +498,6 @@
...
@@ -528,9 +498,6 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-form-item
:label=
"$t('关联会员账号')"
prop=
"memberId"
>
<el-form-item
:label=
"$t('关联会员账号')"
prop=
"memberId"
>
<el-input
v-model=
"form.memberId"
:placeholder=
"$t('请输入关联会员账号')"
/>
<el-input
v-model=
"form.memberId"
:placeholder=
"$t('请输入关联会员账号')"
/>
</el-form-item>
</el-form-item>
...
@@ -564,8 +531,8 @@
...
@@ -564,8 +531,8 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t('确 定')
}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t("确 定")
}}
</el-button>
<el-button
@
click=
"cancel"
>
{{
$t('取 消')
}}
</el-button>
<el-button
@
click=
"cancel"
>
{{
$t("取 消")
}}
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
...
@@ -575,65 +542,52 @@
...
@@ -575,65 +542,52 @@
<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=
"$t('客户经理')"
prop=
"customerServiceId"
>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerServiceId"
>
<el-select
v-model=
"handOverForm.customerServiceId"
:placeholder=
"$t('请选择客户经理')"
clearable
filterable
>
<el-select
v-model=
"handOverForm.customerServiceId"
:placeholder=
"$t('请选择客户经理')"
clearable
filterable
>
<el-option
v-for=
"user in serviceStaffOptions"
<el-option
v-for=
"user in serviceStaffOptions"
:key=
"user.id"
:value=
"user.id"
:label=
"user.nickname"
/>
:key=
"user.id"
:value=
"user.id"
:label=
"user.nickname"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitHandOverForm"
>
{{
$t('确 定')
}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitHandOverForm"
>
{{
$t("确 定")
}}
</el-button>
<el-button
@
click=
"cancelHandOver"
>
{{
$t('取 消')
}}
</el-button>
<el-button
@
click=
"cancelHandOver"
>
{{
$t("取 消")
}}
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<transfer-customer
:show.sync=
"openHandOver"
:customer-ids.sync=
"handOverForm.customerIdList"
></transfer-customer>
<transfer-customer
:show.sync=
"openHandOver"
:customer-ids.sync=
"handOverForm.customerIdList"
></transfer-customer>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-follow
ref=
"customerFollow"
@
close=
"customerFollowVisible = false"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-setting
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
updateCustomer
,
getCustomer
,
exportCustomerExcel
,
getWaitForConfirmList
,
confirm
,
waiteConfirmExportExcel
,
waiteConfirEexportExcel
,
recycleUnconfirmedCustomer
,
competitorListAll
}
from
"
@/api/ecw/customer
"
updateCustomer
,
getCustomer
,
exportCustomerExcel
,
getWaitForConfirmList
,
confirm
,
waiteConfirmExportExcel
,
waiteConfirEexportExcel
,
recycleUnconfirmedCustomer
,
competitorListAll
}
from
"
@/api/ecw/customer
"
;
import
{
listServiceUser
,
listAllSimpl
}
from
"
@/api/system/user
"
import
{
listServiceUser
,
listAllSimpl
}
from
"
@/api/system/user
"
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
'
@/utils/dict
'
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
import
{
CommonStatusEnum
}
from
'
@/utils/constants
'
import
{
CommonStatusEnum
}
from
"
@/utils/constants
"
import
{
handOverCustomer
}
from
"
../../../api/ecw/customer
"
;
import
{
handOverCustomer
}
from
"
../../../api/ecw/customer
"
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer.vue
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer.vue
"
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
;
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
;
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
;
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
;
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
;
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
;
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
;
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
export
default
{
export
default
{
name
:
"
EcwCustomerconfirmIndex
"
,
name
:
"
EcwCustomerconfirmIndex
"
,
activated
()
{
activated
()
{
this
.
getList
()
;
this
.
getList
()
},
},
computed
:{
computed
:
{
DICT_TYPE
()
{
DICT_TYPE
()
{
return
DICT_TYPE
return
DICT_TYPE
},
},
isChinese
(){
isChinese
()
{
return
this
.
$i18n
.
locale
===
'
zh_CN
'
return
this
.
$i18n
.
locale
===
"
zh_CN
"
},
},
channel
()
{
channel
()
{
return
(
val
)
=>
{
return
(
val
)
=>
{
...
@@ -642,20 +596,18 @@ export default {
...
@@ -642,20 +596,18 @@ export default {
.
filter
((
i
)
=>
(
val
.
split
(
"
,
"
)
||
[]).
includes
(
i
.
value
))
.
filter
((
i
)
=>
(
val
.
split
(
"
,
"
)
||
[]).
includes
(
i
.
value
))
.
map
((
i
)
=>
(
this
.
isChinese
?
i
.
label
:
i
.
labelEn
))
.
map
((
i
)
=>
(
this
.
isChinese
?
i
.
label
:
i
.
labelEn
))
.
join
(
"
,
"
)
.
join
(
"
,
"
)
:
""
;
:
""
}
;
}
},
},
customerSelectFn
()
{
customerSelectFn
()
{
if
(
this
.
recommended
.
length
>
0
)
{
if
(
this
.
recommended
.
length
>
0
)
{
let
i
=
this
.
customerSelect
.
find
(
let
i
=
this
.
customerSelect
.
find
((
item
)
=>
item
.
id
===
this
.
recommended
[
0
].
id
)
(
item
)
=>
item
.
id
===
this
.
recommended
[
0
].
id
);
if
(
!
i
)
{
if
(
!
i
)
{
this
.
customerSelect
.
push
(
this
.
recommended
[
0
])
;
this
.
customerSelect
.
push
(
this
.
recommended
[
0
])
}
}
return
this
.
customerSelect
;
return
this
.
customerSelect
}
else
{
}
else
{
return
this
.
customerSelect
;
return
this
.
customerSelect
}
}
},
},
combinedQueryParams
()
{
combinedQueryParams
()
{
...
@@ -677,26 +629,26 @@ export default {
...
@@ -677,26 +629,26 @@ export default {
queryParams
.
endFirstDealTime
=
this
.
firstDealTime
[
1
]
queryParams
.
endFirstDealTime
=
this
.
firstDealTime
[
1
]
}
}
if
(
this
.
weightYearly
.
value
)
{
if
(
this
.
weightYearly
.
value
)
{
let
key
=
'
eqWeightYearly
'
let
key
=
"
eqWeightYearly
"
if
(
this
.
weightYearly
.
key
==
'
leNumberKey
'
)
{
if
(
this
.
weightYearly
.
key
==
"
leNumberKey
"
)
{
key
=
'
leWeightYearly
'
key
=
"
leWeightYearly
"
}
else
if
(
this
.
weightYearly
.
key
==
'
geNumberKey
'
)
{
}
else
if
(
this
.
weightYearly
.
key
==
"
geNumberKey
"
)
{
key
=
'
geWeightYearly
'
key
=
"
geWeightYearly
"
}
}
queryParams
[
key
]
=
this
.
weightYearly
.
value
;
queryParams
[
key
]
=
this
.
weightYearly
.
value
}
}
if
(
this
.
numYearly
.
value
)
{
if
(
this
.
numYearly
.
value
)
{
let
key
=
'
eqNumYearly
'
let
key
=
"
eqNumYearly
"
if
(
this
.
numYearly
.
key
==
'
leNumberKey
'
)
{
if
(
this
.
numYearly
.
key
==
"
leNumberKey
"
)
{
key
=
'
leNumYearly
'
key
=
"
leNumYearly
"
}
else
if
(
this
.
numYearly
.
key
==
'
geNumberKey
'
)
{
}
else
if
(
this
.
numYearly
.
key
==
"
geNumberKey
"
)
{
key
=
'
geNumYearly
'
key
=
"
geNumYearly
"
}
}
queryParams
[
key
]
=
this
.
numYearly
.
value
;
queryParams
[
key
]
=
this
.
numYearly
.
value
}
}
return
queryParams
;
return
queryParams
}
,
}
},
},
components
:
{
components
:
{
CompetitorSelector
,
CompetitorSelector
,
...
@@ -730,7 +682,7 @@ export default {
...
@@ -730,7 +682,7 @@ export default {
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
/*number: null,
/*number: null,
name: null,
name: null,
level: null,
level: null,
...
@@ -751,14 +703,14 @@ export default {
...
@@ -751,14 +703,14 @@ export default {
handOverForm
:
{},
handOverForm
:
{},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
name
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户名称不能为空
'
),
trigger
:
"
blur
"
}],
name
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户名称不能为空
"
),
trigger
:
"
blur
"
}],
weightUnit
:
[{
required
:
true
,
message
:
this
.
$t
(
'
重货标准(CBM)不能为空
'
),
trigger
:
"
blur
"
}],
weightUnit
:
[{
required
:
true
,
message
:
this
.
$t
(
"
重货标准(CBM)不能为空
"
),
trigger
:
"
blur
"
}]
},
},
serviceStaffOptions
:
[],
serviceStaffOptions
:
[],
customerServiceList
:[],
customerServiceList
:
[],
countryList
:[],
countryList
:
[],
creditList
:[],
creditList
:
[],
selectCustomerList
:
[],
selectCustomerList
:
[],
enterOpenSeaTime
:
[],
enterOpenSeaTime
:
[],
customerServiceConfirmedTime
:
[],
customerServiceConfirmedTime
:
[],
...
@@ -769,47 +721,47 @@ export default {
...
@@ -769,47 +721,47 @@ export default {
allSimplList
:
[],
allSimplList
:
[],
weightYearly
:
{
weightYearly
:
{
key
:
"
eqNumberKey
"
,
key
:
"
eqNumberKey
"
,
value
:
""
,
value
:
""
},
},
numYearly
:
{
numYearly
:
{
key
:
"
eqNumberKey
"
,
key
:
"
eqNumberKey
"
,
value
:
""
,
value
:
""
},
},
productTypeList
:
[],
productTypeList
:
[],
productList
:
[],
productList
:
[],
competitorList
:
[],
competitorList
:
[],
deptList
:
[]
,
deptList
:
[]
}
;
}
},
},
created
()
{
created
()
{
this
.
getList
()
;
this
.
getList
()
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
(
r
=>
{
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
((
r
)
=>
{
this
.
creditList
=
r
.
data
.
list
this
.
creditList
=
r
.
data
.
list
})
})
// 获得客服人员列表
// 获得客服人员列表
listServiceUser
().
then
(
response
=>
{
listServiceUser
().
then
(
(
response
)
=>
{
this
.
serviceStaffOptions
=
response
.
data
;
this
.
serviceStaffOptions
=
response
.
data
})
})
listServiceUser
().
then
(
r
=>
{
listServiceUser
().
then
(
(
r
)
=>
{
this
.
customerServiceList
=
r
.
data
;
this
.
customerServiceList
=
r
.
data
})
})
getCountryListAll
().
then
(
r
=>
{
getCountryListAll
().
then
(
(
r
)
=>
{
this
.
countryList
=
r
.
data
this
.
countryList
=
r
.
data
})
})
this
.
getCustomerSelect
()
;
this
.
getCustomerSelect
()
getNodeList
().
then
((
r
)
=>
{
getNodeList
().
then
((
r
)
=>
{
this
.
getNodeLists
=
r
.
data
;
this
.
getNodeLists
=
r
.
data
})
;
})
listAllSimpl
().
then
((
r
)
=>
{
listAllSimpl
().
then
((
r
)
=>
{
this
.
allSimplList
=
r
.
data
;
this
.
allSimplList
=
r
.
data
})
;
})
getProductTypeList
().
then
((
r
)
=>
{
getProductTypeList
().
then
((
r
)
=>
{
this
.
productTypeList
=
r
.
data
;
this
.
productTypeList
=
r
.
data
})
;
})
competitorListAll
().
then
((
r
)
=>
{
competitorListAll
().
then
((
r
)
=>
{
this
.
competitorList
=
r
.
data
;
this
.
competitorList
=
r
.
data
})
})
listMySimpleDepts
().
then
(
response
=>
{
listMySimpleDepts
().
then
(
(
response
)
=>
{
this
.
deptList
=
response
.
data
this
.
deptList
=
response
.
data
})
})
},
},
...
@@ -839,38 +791,36 @@ export default {
...
@@ -839,38 +791,36 @@ export default {
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
return
this
.
isChinese
?
country
?.
nameZh
:
country
?.
nameEn
return
this
.
isChinese
?
country
?.
nameZh
:
country
?.
nameEn
},
},
handleSelectionChange
(
val
){
handleSelectionChange
(
val
)
{
this
.
selectCustomerList
=
val
.
map
(
i
=>
i
.
id
);
this
.
selectCustomerList
=
val
.
map
(
(
i
)
=>
i
.
id
)
},
},
/** 查询列表 */
/** 查询列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
// 处理查询参数
// 处理查询参数
let
params
=
{
...
this
.
queryParams
,
...
this
.
combinedQueryParams
};
let
params
=
{
...
this
.
queryParams
,
...
this
.
combinedQueryParams
}
// this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// 执行查询
// 执行查询
getWaitForConfirmList
(
params
).
then
(
response
=>
{
getWaitForConfirmList
(
params
).
then
(
(
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
list
=
response
.
data
.
list
this
.
total
=
response
.
data
.
total
;
this
.
total
=
response
.
data
.
total
this
.
loading
=
false
;
this
.
loading
=
false
})
;
})
},
},
remoteMethod
(
val
)
{
remoteMethod
(
val
)
{
this
.
getCustomerSelect
(
val
)
;
this
.
getCustomerSelect
(
val
)
},
},
getCustomerSelect
(
val
=
""
)
{
getCustomerSelect
(
val
=
""
)
{
getCustomerSelect
({
pageNo
:
1
,
pageSize
:
30
,
searchKey
:
val
}).
then
(
getCustomerSelect
({
pageNo
:
1
,
pageSize
:
30
,
searchKey
:
val
}).
then
((
res
)
=>
{
(
res
)
=>
{
this
.
customerSelect
=
res
.
data
.
list
this
.
customerSelect
=
res
.
data
.
list
;
})
}
);
},
},
handleSelectProductType
(
val
)
{
handleSelectProductType
(
val
)
{
if
(
val
&&
val
.
length
>=
1
)
{
if
(
val
&&
val
.
length
>=
1
)
{
this
.
queryParams
.
productIds
=
[]
this
.
queryParams
.
productIds
=
[]
getProductList
({
typeIds
:
val
}).
then
((
r
)
=>
{
getProductList
({
typeIds
:
val
}).
then
((
r
)
=>
{
this
.
productList
=
r
.
data
this
.
productList
=
r
.
data
})
;
})
}
else
{
}
else
{
this
.
queryParams
.
productIds
=
[]
this
.
queryParams
.
productIds
=
[]
this
.
productList
=
[]
this
.
productList
=
[]
...
@@ -878,8 +828,8 @@ export default {
...
@@ -878,8 +828,8 @@ export default {
},
},
/** 取消按钮 */
/** 取消按钮 */
cancel
()
{
cancel
()
{
this
.
open
=
false
;
this
.
open
=
false
this
.
reset
()
;
this
.
reset
()
},
},
/** 表单重置 */
/** 表单重置 */
reset
()
{
reset
()
{
...
@@ -916,49 +866,49 @@ export default {
...
@@ -916,49 +866,49 @@ export default {
taxRate
:
undefined
,
taxRate
:
undefined
,
remarks
:
undefined
,
remarks
:
undefined
,
arrivalConfirm
:
undefined
,
arrivalConfirm
:
undefined
,
weightUnit
:
undefined
,
weightUnit
:
undefined
}
;
}
this
.
resetForm
(
"
form
"
)
;
this
.
resetForm
(
"
form
"
)
},
},
/** 表单重置 */
/** 表单重置 */
resetHandOverForm
()
{
resetHandOverForm
()
{
this
.
form
=
{
this
.
form
=
{
customerIdList
:
undefined
,
customerIdList
:
undefined
,
customerServiceId
:
undefined
customerServiceId
:
undefined
}
;
}
this
.
resetForm
(
"
handOverForm
"
)
;
this
.
resetForm
(
"
handOverForm
"
)
},
},
/** 搜索按钮操作 */
/** 搜索按钮操作 */
handleQuery
()
{
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
queryParams
.
pageNo
=
1
this
.
getList
()
;
this
.
getList
()
},
},
/** 重置按钮操作 */
/** 重置按钮操作 */
resetQuery
()
{
resetQuery
()
{
this
.
dateRangeCreateTime
=
[]
;
this
.
dateRangeCreateTime
=
[]
this
.
enterOpenSeaTime
=
[]
this
.
enterOpenSeaTime
=
[]
this
.
customerServiceConfirmedTime
=
[]
this
.
customerServiceConfirmedTime
=
[]
this
.
firstDealTime
=
[]
this
.
firstDealTime
=
[]
this
.
resetForm
(
"
queryForm
"
)
;
this
.
resetForm
(
"
queryForm
"
)
this
.
queryParams
=
{
this
.
queryParams
=
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
}
;
}
this
.
weightYearly
.
value
=
""
;
this
.
weightYearly
.
value
=
""
this
.
numYearly
.
value
=
""
;
this
.
numYearly
.
value
=
""
this
.
handleQuery
()
;
this
.
handleQuery
()
},
},
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
this
.
reset
()
;
this
.
reset
()
this
.
open
=
true
;
this
.
open
=
true
this
.
title
=
this
.
$t
(
'
添加客户
'
);
this
.
title
=
this
.
$t
(
"
添加客户
"
)
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
this
.
reset
()
;
this
.
reset
()
const
id
=
row
.
id
;
const
id
=
row
.
id
this
.
$router
.
push
({
path
:
'
/customer/perfect/
'
+
id
,
query
:{
isCustomerServiceConfirmed
:
true
,}});
this
.
$router
.
push
({
path
:
"
/customer/perfect/
"
+
id
,
query
:
{
isCustomerServiceConfirmed
:
true
}
})
// getCustomer(id).then(response => {
// getCustomer(id).then(response => {
// this.form = response.data;
// this.form = response.data;
// this.open = true;
// this.open = true;
...
@@ -967,49 +917,56 @@ export default {
...
@@ -967,49 +917,56 @@ export default {
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleConfirmService
(
row
)
{
handleConfirmService
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认接收客户
'
)
+
'
["
'
+
row
.
name
+
'
"]?
'
).
then
(
function
()
{
this
.
$modal
return
confirm
({
"
customerId
"
:
id
});
.
confirm
(
this
.
$t
(
"
是否确认接收客户
"
)
+
'
["
'
+
row
.
name
+
'
"]?
'
)
}).
then
(()
=>
{
.
then
(
function
()
{
this
.
getList
();
return
confirm
({
customerId
:
id
})
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
接收成功
'
));
})
}).
catch
(()
=>
{});
.
then
(()
=>
{
this
.
getList
()
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
接收成功
"
))
})
.
catch
(()
=>
{})
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handOver
(
row
)
{
handOver
(
row
)
{
// this.resetHandOverForm();
// this.resetHandOverForm();
this
.
openHandOver
=
true
;
this
.
openHandOver
=
true
this
.
handOverForm
.
customerIdList
=
[
row
.
id
];
this
.
handOverForm
.
customerIdList
=
[
row
.
id
]
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
()
{
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
(
valid
)
=>
{
if
(
!
valid
)
{
if
(
!
valid
)
{
return
;
return
}
}
// 修改的提交
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateCustomer
(
this
.
form
).
then
(
response
=>
{
updateCustomer
(
this
.
form
).
then
(
(
response
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
修改成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
))
this
.
open
=
false
;
this
.
open
=
false
this
.
getList
()
;
this
.
getList
()
})
;
})
return
;
return
}
}
})
;
})
},
},
/** 删除按钮操作 */
/** 删除按钮操作 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认删除客户编号为"
'
)
+
id
+
this
.
$t
(
'
"的数据项?
'
)).
then
(
function
()
{
this
.
$modal
return
deleteCustomer
(
id
);
.
confirm
(
this
.
$t
(
'
是否确认删除客户编号为"
'
)
+
id
+
this
.
$t
(
'
"的数据项?
'
))
}).
then
(()
=>
{
.
then
(
function
()
{
this
.
getList
();
return
deleteCustomer
(
id
)
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
删除成功
'
));
})
}).
catch
(()
=>
{});
.
then
(()
=>
{
this
.
getList
()
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
删除成功
"
))
})
.
catch
(()
=>
{})
},
},
/** 导出按钮操作 */
/** 导出按钮操作 */
handleExport
()
{
handleExport
()
{
...
@@ -1019,85 +976,86 @@ export default {
...
@@ -1019,85 +976,86 @@ export default {
// params.pageSize = undefined;
// params.pageSize = undefined;
// this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出我的待接受客户数据项?
'
)).
then
(()
=>
{
this
.
$modal
waiteConfirEexportExcel
().
then
(()
=>
{
.
confirm
(
this
.
$t
(
"
是否确认导出我的待接受客户数据项?
"
))
this
.
$message
.
success
(
this
.
$t
(
'
已加入导出队列,请稍后在下载日志中下载
'
))
.
then
(()
=>
{
waiteConfirEexportExcel
().
then
(()
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
已加入导出队列,请稍后在下载日志中下载
"
))
})
})
})
}).
catch
(()
=>
{});
.
catch
(()
=>
{})
},
},
/** 提交按钮 */
/** 提交按钮 */
submitHandOverForm
()
{
submitHandOverForm
()
{
// 移交的提交
// 移交的提交
handOverCustomer
(
this
.
handOverForm
).
then
(
response
=>
{
handOverCustomer
(
this
.
handOverForm
).
then
(
(
response
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
移交成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
移交成功
"
))
this
.
openHandOver
=
false
;
this
.
openHandOver
=
false
this
.
getList
()
;
this
.
getList
()
})
;
})
},
},
/** 取消按钮 */
/** 取消按钮 */
cancelHandOver
()
{
cancelHandOver
()
{
this
.
openHandOver
=
false
;
this
.
openHandOver
=
false
this
.
handOverForm
=
{
this
.
handOverForm
=
{
customerId
:
undefined
,
customerId
:
undefined
,
customerIdList
:
undefined
customerIdList
:
undefined
}
;
}
},
},
handleSetting
(
row
)
{
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$refs
[
"
customerSetting
"
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$nextTick
(
(
_
)
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
this
.
$refs
[
"
customerSetting
"
].
init
(
row
.
id
)
})
})
},
},
getBusiCountryNames
(
ids
)
{
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
split
(
'
,
'
)
const
idsArr
=
ids
.
split
(
"
,
"
)
const
strArr
=
[]
const
strArr
=
[]
this
.
countryList
.
forEach
(
item
=>
{
this
.
countryList
.
forEach
(
(
item
)
=>
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
strArr
.
push
(
this
.
isChinese
?
item
.
nameZh
:
item
.
nameEn
)
strArr
.
push
(
this
.
isChinese
?
item
.
nameZh
:
item
.
nameEn
)
}
}
})
})
return
strArr
.
length
>
0
?
strArr
.
join
(
'
,
'
)
:
null
return
strArr
.
length
>
0
?
strArr
.
join
(
"
,
"
)
:
null
}
else
{
}
else
{
return
null
return
null
}
}
},
},
getPickupPointNames
(
ids
)
{
getPickupPointNames
(
ids
)
{
if
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
split
(
'
,
'
)
const
idsArr
=
ids
.
split
(
"
,
"
)
const
strArr
=
[]
const
strArr
=
[]
this
.
getNodeLists
.
forEach
(
item
=>
{
this
.
getNodeLists
.
forEach
(
(
item
)
=>
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
}
}
})
})
return
strArr
.
length
>
0
?
strArr
.
join
(
'
,
'
)
:
null
return
strArr
.
length
>
0
?
strArr
.
join
(
"
,
"
)
:
null
}
else
{
}
else
{
return
null
return
null
}
}
},
},
getProductTypeNames
(
ids
)
{
getProductTypeNames
(
ids
)
{
if
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
toString
().
split
(
'
,
'
)
const
idsArr
=
ids
.
toString
().
split
(
"
,
"
)
const
strArr
=
[]
const
strArr
=
[]
this
.
productTypeList
.
forEach
(
item
=>
{
this
.
productTypeList
.
forEach
(
(
item
)
=>
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
}
}
})
})
return
strArr
.
length
>
0
?
strArr
.
join
(
'
,
'
)
:
null
return
strArr
.
length
>
0
?
strArr
.
join
(
"
,
"
)
:
null
}
else
{
}
else
{
return
null
return
null
}
}
},
},
getPromoterName
(
id
)
{
getPromoterName
(
id
)
{
if
(
id
)
{
if
(
id
)
{
let
strName
=
''
let
strName
=
""
for
(
const
item
of
this
.
customerSelectFn
)
{
for
(
const
item
of
this
.
customerSelectFn
)
{
if
(
item
.
id
==
id
)
{
if
(
item
.
id
==
id
)
{
strName
=
item
.
name
strName
=
item
.
name
break
break
...
@@ -1109,5 +1067,5 @@ export default {
...
@@ -1109,5 +1067,5 @@ export default {
}
}
}
}
}
}
}
;
}
</
script
>
</
script
>
src/views/ecw/customerToBeAssigned/index.vue
View file @
ca65a30e
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
...
@@ -169,17 +168,14 @@
...
@@ -169,17 +168,14 @@
<!-- 操作工具栏 -->
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:customer:distribution-create']"
>
{{ $t("新增") }}
</el-button>
v-hasPermi=
"['ecw:customer:distribution-create']"
>
{{$t('新增')}}
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:distribution-export']"
>
{{ $t("导出") }}
</el-button>
v-hasPermi=
"['ecw:customer:distribution-export']"
>
{{$t('导出')}}
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"primary"
size=
"mini"
@
click=
"batchTransferShow = true;"
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"primary"
size=
"mini"
@
click=
"batchTransferShow = true"
v-hasPermi=
"['ecw:customer:distribution-transfer']"
>
{{ $t("批量移交") }}
</el-button>
v-hasPermi=
"['ecw:customer:distribution-transfer']"
>
{{$t('批量移交')}}
</el-button>
</el-col>
</el-col>
</el-col>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
...
@@ -189,13 +185,13 @@
...
@@ -189,13 +185,13 @@
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
type=
"selection"
width=
"55"
fixed
></el-table-column>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
prop=
"number"
>
<el-table-column
:label=
"$t('客户编号')"
align=
"center"
prop=
"number"
>
<
template
v-slot=
"{
row
}"
>
<
template
v-slot=
"{
row
}"
>
{{
row
.
number
}}
{{
row
.
number
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"name"
>
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"name"
>
<
template
v-slot=
"{
row
}"
>
<
template
v-slot=
"{
row
}"
>
<p
style=
"display:
inline-block;white-space: pre-wrap;"
>
{{
$l
(
row
,
'
name
'
)
}}
</p>
<p
style=
"display:
inline-block; white-space: pre-wrap"
>
{{
$l
(
row
,
"
name
"
)
}}
</p>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户状态')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('客户状态')"
align=
"center"
prop=
"status"
>
...
@@ -204,41 +200,49 @@
...
@@ -204,41 +200,49 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{row}">-->
<!-- <template v-slot="{row}">-->
<!-- +{{row.defaultContactPhone}} <br/>-->
<!-- +{{row.defaultContactPhone}} <br/>-->
<!-- <contacts :id="row.id" >-->
<!-- <contacts :id="row.id" >-->
<!-- <el-button type="text">更多</el-button>-->
<!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>-->
<!-- </contacts>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户类别')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('客户类别')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_TYPE
,
(
row
.
type
||
''
).
split
(
'
,
'
)).
map
(
e
=>
isChinese
?
e
.
label
:
e
.
labelEn
).
join
(
'
,
'
)
}}
{{
<!--
<dict-tag-->
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_TYPE
,
(
row
.
type
||
""
).
split
(
"
,
"
))
<!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
.
map
((
e
)
=>
(
isChinese
?
e
.
label
:
e
.
labelEn
))
<!-- :value="scope.row.type"-->
.
join
(
"
,
"
)
<!-- />-->
}}
<!--
<dict-tag-->
<!-- :type="DICT_TYPE.CUSTOMER_TYPE"-->
<!-- :value="scope.row.type"-->
<!-- />-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('角色')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('角色')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_ROLE
,
(
row
.
roles
||
''
).
split
(
'
,
'
)).
map
(
e
=>
isChinese
?
e
.
label
:
e
.
labelEn
).
join
(
'
,
'
)
}}
{{
<!--
<dict-tag-->
getDictDatas2
(
DICT_TYPE
.
CUSTOMER_ROLE
,
(
row
.
roles
||
""
).
split
(
"
,
"
))
<!-- :type="DICT_TYPE.CUSTOMER_ROLE"-->
.
map
((
e
)
=>
(
isChinese
?
e
.
label
:
e
.
labelEn
))
<!-- :value="scope.row.roles"-->
.
join
(
"
,
"
)
<!-- />-->
}}
<!--
<dict-tag-->
<!-- :type="DICT_TYPE.CUSTOMER_ROLE"-->
<!-- :value="scope.row.roles"-->
<!-- />-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"customerServiceName"
></el-table-column>
<el-table-column
:label=
"$t('客户经理')"
align=
"center"
prop=
"customerServiceName"
></el-table-column>
...
@@ -250,10 +254,7 @@
...
@@ -250,10 +254,7 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('客户来源')"
>
<el-table-column
:label=
"$t('客户来源')"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
:type=
"DICT_TYPE.CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('业务国家')"
>
<el-table-column
:label=
"$t('业务国家')"
>
...
@@ -276,8 +277,7 @@
...
@@ -276,8 +277,7 @@
{{
getProductTypeNames
(
row
.
productTypes
)
}}
{{
getProductTypeNames
(
row
.
productTypes
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('主要竞争对手')"
prop=
"competitorNames"
>
<el-table-column
:label=
"$t('主要竞争对手')"
prop=
"competitorNames"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('年度发货次数')"
align=
"center"
>
<el-table-column
:label=
"$t('年度发货次数')"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
numYearly
}}
{{
row
.
numYearly
}}
...
@@ -290,13 +290,13 @@
...
@@ -290,13 +290,13 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('入公海时间')"
align=
"center"
width=
"160"
>
<el-table-column
:label=
"$t('入公海时间')"
align=
"center"
width=
"160"
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
{{
parseTime
(
row
.
enterOpenSeaTime
?
row
.
enterOpenSeaTime
:
row
.
estimateEnterOpenSeaTime
)
}}
{{
parseTime
(
row
.
enterOpenSeaTime
?
row
.
enterOpenSeaTime
:
row
.
estimateEnterOpenSeaTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('入仓确认')"
align=
"center"
>
<el-table-column
:label=
"$t('入仓确认')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tag
type=
"success"
v-if=
"scope.row.arrivalConfirm == 1"
>
{{
$t
(
'
是
'
)
}}
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.arrivalConfirm == 1"
>
{{
$t
(
"
是
"
)
}}
</el-tag>
<el-tag
type=
"info"
v-else
>
{{
$t
(
'
否
'
)
}}
</el-tag>
<el-tag
type=
"info"
v-else
>
{{
$t
(
"
否
"
)
}}
</el-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('控货无收货人')"
align=
"center"
>
<el-table-column
:label=
"$t('控货无收货人')"
align=
"center"
>
...
@@ -321,14 +321,10 @@
...
@@ -321,14 +321,10 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('获取方式')"
align=
"center"
>
<el-table-column
:label=
"$t('获取方式')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_GET_METHOD"
:value=
"scope.row.getMethod"
/>
:type=
"DICT_TYPE.CUSTOMER_GET_METHOD"
:value=
"scope.row.getMethod"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('创建人')"
prop=
"createUsername"
align=
"center"
>
<el-table-column
:label=
"$t('创建人')"
prop=
"createUsername"
align=
"center"
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
width=
"160"
>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
@@ -336,85 +332,63 @@
...
@@ -336,85 +332,63 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最后更新时间')"
align=
"center"
width=
"160"
>
<el-table-column
:label=
"$t('最后更新时间')"
align=
"center"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"200px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
>
<el-table-column
width=
"200px"
:label=
"$t('操作')"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"'/customer/query/' + scope.row.id"
>
<router-link
:to=
"'/customer/query/' + scope.row.id"
>
<el-button
v-has-permi=
"['ecw:customer:distribution-view']"
size=
"mini"
style=
"margin-right: 10px"
type=
"text"
>
查看
</el-button>
<el-button
v-has-permi=
"['ecw:customer:distribution-view']"
size=
"mini"
style=
"margin-right: 10px"
type=
"text"
>
查看
</el-button>
</router-link>
</router-link>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:customer:distribution-update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-button>
v-hasPermi=
"['ecw:customer:distribution-update']"
>
{{
$t
(
'
编辑
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:customer:distribution-delete']"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"distribution(scope.row)"
v-hasPermi=
"['ecw:customer:distribution-customer-service']"
>
{{
$t
(
"
分配客服
"
)
}}
</el-button>
v-hasPermi=
"['ecw:customer:distribution-delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"distribution(scope.row)"
v-hasPermi=
"['ecw:customer:distribution-customer-service']"
>
{{
$t
(
'
分配客服
'
)
}}
</el-button>
<el-button
v-has-permi=
"['ecw:customer:setting']"
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleSetting(scope.row)"
>
{{
$t
(
"
设置
"
)
}}
</el-button
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 移交 -->
<!-- 移交 -->
<el-dialog
<el-dialog
center
:title=
"$t('客服')"
:visible.sync=
"transferShow"
width=
"30%"
>
center
<div
style=
"width: 100%; min-height: 200px; text-align: center"
>
:title=
"$t('客服')"
<!-- <el-radio-group v-model="service">-->
:visible.sync=
"transferShow"
<!-- <el-radio style="margin: 5px;" v-for="(item,index) in customerServiceList" :key="index" :label="item.id">{{item.nickname}}</el-radio>-->
width=
"30%"
>
<!-- </el-radio-group>-->
<div
style=
"width: 100%;min-height: 200px;text-align: center;"
>
<!-- <el-radio-group v-model="service">-->
<!-- <el-radio style="margin: 5px;" v-for="(item,index) in customerServiceList" :key="index" :label="item.id">{{item.nickname}}</el-radio>-->
<!-- </el-radio-group>-->
<el-select
filterable
v-model=
"service"
>
<el-select
filterable
v-model=
"service"
>
<el-option
v-for=
"(item,index) in customerServiceList"
:key=
"index"
:label=
"item.nickname"
:value=
"item.id"
></el-option>
<el-option
v-for=
"(item,
index) in customerServiceList"
:key=
"index"
:label=
"item.nickname"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"transferShow = false"
>
{{$t('取 消')
}}
</el-button>
<el-button
@
click=
"transferShow = false"
>
{{ $t("取 消")
}}
</el-button>
<el-button
type=
"primary"
@
click=
"transferFn"
>
{{$t('确 定')
}}
</el-button>
<el-button
type=
"primary"
@
click=
"transferFn"
>
{{ $t("确 定")
}}
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 分页组件 -->
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
<transfer-customer
:show.sync=
"batchTransferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<transfer-customer
:show.sync=
"batchTransferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-follow
ref=
"customerFollow"
@
close=
"customerFollowVisible = false"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-setting
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
createCustomer
,
updateCustomer
,
deleteCustomer
,
getCustomer
,
handOverCustomer
,
exportCustomerExcel
,
getCustomerToBeAssigned
,
waitDistributionExportExcel
,
competitorListAll
}
from
"
@/api/ecw/customer
"
createCustomer
,
updateCustomer
,
deleteCustomer
,
getCustomer
,
handOverCustomer
,
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
exportCustomerExcel
,
getCustomerToBeAssigned
,
waitDistributionExportExcel
,
import
upload
from
"
@/components/ImageUpload
"
competitorListAll
import
{
listServiceUser
,
listAllSimpl
}
from
"
@/api/system/user
"
}
from
"
@/api/ecw/customer
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
'
@/utils/dict
'
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
import
upload
from
'
@/components/ImageUpload
'
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
import
{
listServiceUser
,
listAllSimpl
}
from
"
@/api/system/user
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
import
CustomerSetting
from
"
../customer/components/customerSetting.vue
"
;
import
{
getNodeList
}
from
"
@/api/ecw/node
"
import
AreaCodeSelector
from
"
@/components/AreaCodeSelector/index.vue
"
;
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow.vue
"
;
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
;
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
getNodeList
}
from
"
@/api/ecw/node
"
;
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
;
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
;
import
{
getProductList
}
from
"
@/api/ecw/product
"
;
import
{
listMySimpleDepts
}
from
"
@/api/system/dept
"
;
export
default
{
export
default
{
name
:
"
EcwCustomertobeassignedIndex
"
,
name
:
"
EcwCustomertobeassignedIndex
"
,
...
@@ -434,7 +408,7 @@ export default {
...
@@ -434,7 +408,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
customerFollowVisible
:
false
,
customerFollowVisible
:
false
,
batchTransferShow
:
false
,
batchTransferShow
:
false
,
getDictDatas
,
getDictDatas
,
getDictDatas2
,
getDictDatas2
,
DICT_TYPE
,
DICT_TYPE
,
...
@@ -453,11 +427,11 @@ export default {
...
@@ -453,11 +427,11 @@ export default {
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
dateRangeCreateTime
:
[],
dateRangeCreateTime
:
[],
customerServiceList
:[],
customerServiceList
:
[],
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
/*number: null,
/*number: null,
name: null,
name: null,
level: null,
level: null,
...
@@ -477,25 +451,25 @@ export default {
...
@@ -477,25 +451,25 @@ export default {
form
:
{},
form
:
{},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
name
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户名称不能为空
'
),
trigger
:
"
blur
"
}],
name
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户名称不能为空
"
),
trigger
:
"
blur
"
}],
country
:
[{
required
:
true
,
message
:
this
.
$t
(
'
国家不能为空
'
),
trigger
:
"
blur
"
}],
country
:
[{
required
:
true
,
message
:
this
.
$t
(
"
国家不能为空
"
),
trigger
:
"
blur
"
}],
level
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户等级不能为空
'
),
trigger
:
"
blur
"
}],
level
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户等级不能为空
"
),
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户类别不能为空
'
),
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户类别不能为空
"
),
trigger
:
"
blur
"
}],
// createTime: [{ required: true, message: this.$t("创建时间不能为空"), trigger: "blur" }],
// createTime: [{ required: true, message: this.$t("创建时间不能为空"), trigger: "blur" }],
source
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户来源不能为空
'
),
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户来源不能为空
"
),
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户经理不能为空
'
),
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户经理不能为空
"
),
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
this
.
$t
(
'
客户状态不能为空
'
),
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户状态不能为空
"
),
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
this
.
$t
(
'
创建人不能为空
'
),
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
this
.
$t
(
"
创建人不能为空
"
),
trigger
:
"
blur
"
}]
},
},
// 网点
// 网点
nodeList
:
[],
nodeList
:
[],
showLine
:
false
,
showLine
:
false
,
service
:
undefined
,
//客服
service
:
undefined
,
//客服
transferData
:
undefined
,
//移交数据
transferData
:
undefined
,
//移交数据
transferShow
:
false
,
transferShow
:
false
,
creditList
:[],
creditList
:
[],
selectCustomerList
:[],
selectCustomerList
:
[],
countryList
:[],
countryList
:
[],
enterOpenSeaTime
:
[],
enterOpenSeaTime
:
[],
customerServiceConfirmedTime
:
[],
customerServiceConfirmedTime
:
[],
firstDealTime
:
[],
firstDealTime
:
[],
...
@@ -505,48 +479,48 @@ export default {
...
@@ -505,48 +479,48 @@ export default {
allSimplList
:
[],
allSimplList
:
[],
weightYearly
:
{
weightYearly
:
{
key
:
"
eqNumberKey
"
,
key
:
"
eqNumberKey
"
,
value
:
""
,
value
:
""
},
},
numYearly
:
{
numYearly
:
{
key
:
"
eqNumberKey
"
,
key
:
"
eqNumberKey
"
,
value
:
""
,
value
:
""
},
},
productTypeList
:
[],
productTypeList
:
[],
productList
:
[],
productList
:
[],
competitorList
:
[],
competitorList
:
[],
deptList
:
[]
,
deptList
:
[]
}
;
}
},
},
created
()
{
created
()
{
getCountryListAll
().
then
(
r
=>
{
getCountryListAll
().
then
(
(
r
)
=>
{
console
.
log
(
r
,
'
国家
'
)
console
.
log
(
r
,
"
国家
"
)
this
.
countryList
=
r
.
data
this
.
countryList
=
r
.
data
})
})
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
(
r
=>
{
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
((
r
)
=>
{
this
.
creditList
=
r
.
data
.
list
this
.
creditList
=
r
.
data
.
list
})
})
this
.
getList
()
;
this
.
getList
()
listServiceUser
().
then
(
r
=>
{
listServiceUser
().
then
(
(
r
)
=>
{
console
.
log
(
r
,
'
客服
'
);
console
.
log
(
r
,
"
客服
"
)
this
.
customerServiceList
=
r
.
data
;
this
.
customerServiceList
=
r
.
data
})
})
// getNodeList().then(r => {
// getNodeList().then(r => {
// this.nodeList = r.data
// this.nodeList = r.data
// })
// })
this
.
getCustomerSelect
()
;
this
.
getCustomerSelect
()
getNodeList
().
then
((
r
)
=>
{
getNodeList
().
then
((
r
)
=>
{
this
.
getNodeLists
=
r
.
data
;
this
.
getNodeLists
=
r
.
data
})
;
})
listAllSimpl
().
then
((
r
)
=>
{
listAllSimpl
().
then
((
r
)
=>
{
this
.
allSimplList
=
r
.
data
;
this
.
allSimplList
=
r
.
data
})
;
})
getProductTypeList
().
then
((
r
)
=>
{
getProductTypeList
().
then
((
r
)
=>
{
this
.
productTypeList
=
r
.
data
;
this
.
productTypeList
=
r
.
data
})
;
})
competitorListAll
().
then
((
r
)
=>
{
competitorListAll
().
then
((
r
)
=>
{
this
.
competitorList
=
r
.
data
;
this
.
competitorList
=
r
.
data
})
})
listMySimpleDepts
().
then
(
response
=>
{
listMySimpleDepts
().
then
(
(
response
)
=>
{
this
.
deptList
=
response
.
data
this
.
deptList
=
response
.
data
})
})
},
},
...
@@ -560,8 +534,8 @@ export default {
...
@@ -560,8 +534,8 @@ export default {
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
return
this
.
isChinese
?
country
?.
nameZh
:
country
?.
nameEn
return
this
.
isChinese
?
country
?.
nameZh
:
country
?.
nameEn
},
},
handleSelectionChange
(
val
){
handleSelectionChange
(
val
)
{
this
.
selectCustomerList
=
val
.
map
(
i
=>
i
.
id
);
this
.
selectCustomerList
=
val
.
map
(
(
i
)
=>
i
.
id
)
},
},
handleCustomerFollowLink
(
row
)
{
handleCustomerFollowLink
(
row
)
{
this
.
customerFollowVisible
=
true
this
.
customerFollowVisible
=
true
...
@@ -571,33 +545,31 @@ export default {
...
@@ -571,33 +545,31 @@ export default {
},
},
/** 查询列表 */
/** 查询列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
// 处理查询参数
// 处理查询参数
let
params
=
{
...
this
.
queryParams
,
...
this
.
combinedQueryParams
};
let
params
=
{
...
this
.
queryParams
,
...
this
.
combinedQueryParams
}
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
,
false
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
"
createTime
"
,
false
)
// 执行查询
// 执行查询
getCustomerToBeAssigned
(
params
).
then
(
response
=>
{
getCustomerToBeAssigned
(
params
).
then
(
(
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
list
=
response
.
data
.
list
this
.
total
=
response
.
data
.
total
;
this
.
total
=
response
.
data
.
total
this
.
loading
=
false
;
this
.
loading
=
false
})
;
})
},
},
remoteMethod
(
val
)
{
remoteMethod
(
val
)
{
this
.
getCustomerSelect
(
val
)
;
this
.
getCustomerSelect
(
val
)
},
},
getCustomerSelect
(
val
=
""
)
{
getCustomerSelect
(
val
=
""
)
{
getCustomerSelect
({
pageNo
:
1
,
pageSize
:
30
,
searchKey
:
val
}).
then
(
getCustomerSelect
({
pageNo
:
1
,
pageSize
:
30
,
searchKey
:
val
}).
then
((
res
)
=>
{
(
res
)
=>
{
this
.
customerSelect
=
res
.
data
.
list
this
.
customerSelect
=
res
.
data
.
list
;
})
}
);
},
},
handleSelectProductType
(
val
)
{
handleSelectProductType
(
val
)
{
if
(
val
&&
val
.
length
>=
1
)
{
if
(
val
&&
val
.
length
>=
1
)
{
this
.
queryParams
.
productIds
=
[]
this
.
queryParams
.
productIds
=
[]
getProductList
({
typeIds
:
val
}).
then
((
r
)
=>
{
getProductList
({
typeIds
:
val
}).
then
((
r
)
=>
{
this
.
productList
=
r
.
data
this
.
productList
=
r
.
data
})
;
})
}
else
{
}
else
{
this
.
queryParams
.
productIds
=
[]
this
.
queryParams
.
productIds
=
[]
this
.
productList
=
[]
this
.
productList
=
[]
...
@@ -605,8 +577,8 @@ export default {
...
@@ -605,8 +577,8 @@ export default {
},
},
/** 取消按钮 */
/** 取消按钮 */
cancel
()
{
cancel
()
{
this
.
open
=
false
;
this
.
open
=
false
this
.
reset
()
;
this
.
reset
()
},
},
/** 表单重置 */
/** 表单重置 */
reset
()
{
reset
()
{
...
@@ -645,44 +617,44 @@ export default {
...
@@ -645,44 +617,44 @@ export default {
taxRate
:
undefined
,
taxRate
:
undefined
,
remarks
:
undefined
,
remarks
:
undefined
,
arrivalConfirm
:
undefined
,
arrivalConfirm
:
undefined
,
weightUnit
:
undefined
,
weightUnit
:
undefined
}
;
}
this
.
resetForm
(
"
form
"
)
;
this
.
resetForm
(
"
form
"
)
},
},
/** 搜索按钮操作 */
/** 搜索按钮操作 */
handleQuery
()
{
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
queryParams
.
pageNo
=
1
this
.
getList
()
;
this
.
getList
()
},
},
/** 重置按钮操作 */
/** 重置按钮操作 */
resetQuery
()
{
resetQuery
()
{
this
.
dateRangeCreateTime
=
[]
;
this
.
dateRangeCreateTime
=
[]
this
.
enterOpenSeaTime
=
[]
this
.
enterOpenSeaTime
=
[]
this
.
customerServiceConfirmedTime
=
[]
this
.
customerServiceConfirmedTime
=
[]
this
.
firstDealTime
=
[]
this
.
firstDealTime
=
[]
this
.
resetForm
(
"
queryForm
"
)
;
this
.
resetForm
(
"
queryForm
"
)
this
.
queryParams
=
{
this
.
queryParams
=
{
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
}
;
}
this
.
weightYearly
.
value
=
""
;
this
.
weightYearly
.
value
=
""
this
.
numYearly
.
value
=
""
;
this
.
numYearly
.
value
=
""
this
.
handleQuery
()
;
this
.
handleQuery
()
},
},
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
this
.
$router
.
push
(
'
/customer/add-edit/0
'
)
this
.
$router
.
push
(
"
/customer/add-edit/0
"
)
// this.reset();
// this.reset();
// this.open = true;
// this.open = true;
// this.title = this.$t("添加客户");
// this.title = this.$t("添加客户");
},
},
/** 查看按钮操作 */
/** 查看按钮操作 */
handleView
(
row
)
{
handleView
(
row
)
{
this
.
$router
.
push
(
'
/customer/query/
'
+
row
.
id
)
this
.
$router
.
push
(
"
/customer/query/
"
+
row
.
id
)
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
this
.
$router
.
push
(
'
/customer/edit-distribution/
'
+
row
.
id
)
this
.
$router
.
push
(
"
/customer/edit-distribution/
"
+
row
.
id
)
// this.reset();
// this.reset();
// const id = row.id;
// const id = row.id;
// getCustomer(id).then(response => {
// getCustomer(id).then(response => {
...
@@ -693,120 +665,127 @@ export default {
...
@@ -693,120 +665,127 @@ export default {
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
()
{
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
(
valid
)
=>
{
if
(
!
valid
)
{
if
(
!
valid
)
{
// return;
// return;
}
}
// 修改的提交
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateCustomer
(
this
.
form
).
then
(
response
=>
{
updateCustomer
(
this
.
form
).
then
(
(
response
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
修改成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
))
this
.
open
=
false
;
this
.
open
=
false
this
.
getList
()
;
this
.
getList
()
})
;
})
return
;
return
}
}
// 添加的提交
// 添加的提交
createCustomer
(
this
.
form
).
then
(
response
=>
{
createCustomer
(
this
.
form
).
then
(
(
response
)
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
新增成功
'
));
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
))
this
.
open
=
false
;
this
.
open
=
false
this
.
getList
()
;
this
.
getList
()
})
;
})
})
;
})
},
},
/** 移交按钮操作 */
/** 移交按钮操作 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
const
id
=
row
.
id
;
const
id
=
row
.
id
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认删除客户编号为"
'
)
+
row
.
number
+
this
.
$t
(
'
"的数据项?
'
)).
then
(
function
()
{
this
.
$modal
return
deleteCustomer
(
id
);
.
confirm
(
this
.
$t
(
'
是否确认删除客户编号为"
'
)
+
row
.
number
+
this
.
$t
(
'
"的数据项?
'
))
}).
then
(()
=>
{
.
then
(
function
()
{
this
.
getList
();
return
deleteCustomer
(
id
)
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
删除成功
'
));
})
}).
catch
(()
=>
{});
.
then
(()
=>
{
this
.
getList
()
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
删除成功
"
))
})
.
catch
(()
=>
{})
},
},
//分配客服
//分配客服
distribution
(
row
){
distribution
(
row
)
{
// this.service = row.customerService;
// this.service = row.customerService;
// this.transferData = row;
// this.transferData = row;
this
.
selectCustomerList
=
[
row
.
id
]
this
.
selectCustomerList
=
[
row
.
id
]
this
.
batchTransferShow
=
true
;
this
.
batchTransferShow
=
true
},
},
transferFn
(){
transferFn
()
{
if
(
!
this
.
service
)
{
if
(
!
this
.
service
)
{
return
this
.
$message
.
warning
(
this
.
$t
(
'
请选择客户经理!
'
));
return
this
.
$message
.
warning
(
this
.
$t
(
"
请选择客户经理!
"
))
}
}
handOverCustomer
({
handOverCustomer
({
customerServiceId
:
this
.
service
,
customerServiceId
:
this
.
service
,
customerIdList
:
[
this
.
transferData
.
id
]
customerIdList
:
[
this
.
transferData
.
id
]
}).
then
(
r
=>
{
}).
then
(
(
r
)
=>
{
if
(
r
.
code
===
0
)
{
if
(
r
.
code
===
0
)
{
this
.
transferShow
=
false
;
this
.
transferShow
=
false
this
.
service
=
''
;
this
.
service
=
""
this
.
getList
()
;
this
.
getList
()
this
.
$message
.
success
(
this
.
$t
(
'
移交成功!
'
));
this
.
$message
.
success
(
this
.
$t
(
"
移交成功!
"
))
}
}
})
})
},
},
/** 导出按钮操作 */
/** 导出按钮操作 */
handleExport
()
{
handleExport
()
{
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出待分配客户数据项?
'
)).
then
(
response
=>
{
this
.
$modal
waitDistributionExportExcel
().
then
(()
=>
{
.
confirm
(
this
.
$t
(
"
是否确认导出待分配客户数据项?
"
))
this
.
$message
.
success
(
this
.
$t
(
'
已加入导出队列,请稍后在下载日志中下载
'
))
.
then
((
response
)
=>
{
waitDistributionExportExcel
().
then
(()
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
已加入导出队列,请稍后在下载日志中下载
"
))
})
})
}).
catch
(()
=>
{});
})
.
catch
(()
=>
{})
},
},
handleSetting
(
row
)
{
handleSetting
(
row
)
{
this
.
$refs
[
'
customerSetting
'
].
dialogVisible
=
true
this
.
$refs
[
"
customerSetting
"
].
dialogVisible
=
true
this
.
$nextTick
(
_
=>
{
this
.
$nextTick
(
(
_
)
=>
{
this
.
$refs
[
'
customerSetting
'
].
init
(
row
.
id
)
this
.
$refs
[
"
customerSetting
"
].
init
(
row
.
id
)
})
})
},
},
getBusiCountryNames
(
ids
)
{
getBusiCountryNames
(
ids
)
{
if
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
split
(
'
,
'
)
const
idsArr
=
ids
.
split
(
"
,
"
)
const
strArr
=
[]
const
strArr
=
[]
this
.
countryList
.
forEach
(
item
=>
{
this
.
countryList
.
forEach
(
(
item
)
=>
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
strArr
.
push
(
this
.
isChinese
?
item
.
nameZh
:
item
.
nameEn
)
strArr
.
push
(
this
.
isChinese
?
item
.
nameZh
:
item
.
nameEn
)
}
}
})
})
return
strArr
.
length
>
0
?
strArr
.
join
(
'
,
'
)
:
null
return
strArr
.
length
>
0
?
strArr
.
join
(
"
,
"
)
:
null
}
else
{
}
else
{
return
null
return
null
}
}
},
},
getPickupPointNames
(
ids
)
{
getPickupPointNames
(
ids
)
{
if
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
split
(
'
,
'
)
const
idsArr
=
ids
.
split
(
"
,
"
)
const
strArr
=
[]
const
strArr
=
[]
this
.
getNodeLists
.
forEach
(
item
=>
{
this
.
getNodeLists
.
forEach
(
(
item
)
=>
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
}
}
})
})
return
strArr
.
length
>
0
?
strArr
.
join
(
'
,
'
)
:
null
return
strArr
.
length
>
0
?
strArr
.
join
(
"
,
"
)
:
null
}
else
{
}
else
{
return
null
return
null
}
}
},
},
getProductTypeNames
(
ids
)
{
getProductTypeNames
(
ids
)
{
if
(
ids
)
{
if
(
ids
)
{
const
idsArr
=
ids
.
toString
().
split
(
'
,
'
)
const
idsArr
=
ids
.
toString
().
split
(
"
,
"
)
const
strArr
=
[]
const
strArr
=
[]
this
.
productTypeList
.
forEach
(
item
=>
{
this
.
productTypeList
.
forEach
(
(
item
)
=>
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
if
(
idsArr
.
includes
(
item
.
id
.
toString
()))
{
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
strArr
.
push
(
this
.
isChinese
?
item
.
titleZh
:
item
.
titleEn
)
}
}
})
})
return
strArr
.
length
>
0
?
strArr
.
join
(
'
,
'
)
:
null
return
strArr
.
length
>
0
?
strArr
.
join
(
"
,
"
)
:
null
}
else
{
}
else
{
return
null
return
null
}
}
},
},
getPromoterName
(
id
)
{
getPromoterName
(
id
)
{
if
(
id
)
{
if
(
id
)
{
let
strName
=
''
let
strName
=
""
for
(
const
item
of
this
.
customerSelectFn
)
{
for
(
const
item
of
this
.
customerSelectFn
)
{
if
(
item
.
id
==
id
)
{
if
(
item
.
id
==
id
)
{
strName
=
item
.
name
strName
=
item
.
name
break
break
...
@@ -821,7 +800,7 @@ export default {
...
@@ -821,7 +800,7 @@ export default {
changeCustomerDefaultPay
({
changeCustomerDefaultPay
({
customerIdList
:
this
.
selectCustomerList
,
customerIdList
:
this
.
selectCustomerList
,
defaultPay
:
true
defaultPay
:
true
}).
then
(
_
=>
{
}).
then
(
(
_
)
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
this
.
getList
()
})
})
...
@@ -830,7 +809,7 @@ export default {
...
@@ -830,7 +809,7 @@ export default {
changeCustomerNoConsignee
({
changeCustomerNoConsignee
({
customerIdList
:
this
.
selectCustomerList
,
customerIdList
:
this
.
selectCustomerList
,
noConsigee
:
true
noConsigee
:
true
}).
then
(
_
=>
{
}).
then
(
(
_
)
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
this
.
getList
()
})
})
...
@@ -839,23 +818,23 @@ export default {
...
@@ -839,23 +818,23 @@ export default {
changeCustomerDefaultBilling
({
changeCustomerDefaultBilling
({
customerIdList
:
this
.
selectCustomerList
,
customerIdList
:
this
.
selectCustomerList
,
defaultBilling
:
true
defaultBilling
:
true
}).
then
(
_
=>
{
}).
then
(
(
_
)
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
))
this
.
getList
()
this
.
getList
()
})
})
}
},
},
},
watch
:
{
watch
:{
selectCustomerList
(
val
)
{
selectCustomerList
(
val
){
if
(
val
.
length
===
0
)
{
if
(
val
.
length
===
0
){
this
.
getList
()
this
.
getList
()
this
.
$refs
.
multipleTable
.
clearSelection
();
this
.
$refs
.
multipleTable
.
clearSelection
()
}
}
}
},
},
},
computed
:
{
computed
:{
isChinese
()
{
isChinese
(){
return
this
.
$i18n
.
locale
===
"
zh_CN
"
return
this
.
$i18n
.
locale
===
'
zh_CN
'
},
},
channel
()
{
channel
()
{
return
(
val
)
=>
{
return
(
val
)
=>
{
...
@@ -864,20 +843,18 @@ export default {
...
@@ -864,20 +843,18 @@ export default {
.
filter
((
i
)
=>
(
val
.
split
(
"
,
"
)
||
[]).
includes
(
i
.
value
))
.
filter
((
i
)
=>
(
val
.
split
(
"
,
"
)
||
[]).
includes
(
i
.
value
))
.
map
((
i
)
=>
(
this
.
isChinese
?
i
.
label
:
i
.
labelEn
))
.
map
((
i
)
=>
(
this
.
isChinese
?
i
.
label
:
i
.
labelEn
))
.
join
(
"
,
"
)
.
join
(
"
,
"
)
:
""
;
:
""
}
;
}
},
},
customerSelectFn
()
{
customerSelectFn
()
{
if
(
this
.
recommended
.
length
>
0
)
{
if
(
this
.
recommended
.
length
>
0
)
{
let
i
=
this
.
customerSelect
.
find
(
let
i
=
this
.
customerSelect
.
find
((
item
)
=>
item
.
id
===
this
.
recommended
[
0
].
id
)
(
item
)
=>
item
.
id
===
this
.
recommended
[
0
].
id
);
if
(
!
i
)
{
if
(
!
i
)
{
this
.
customerSelect
.
push
(
this
.
recommended
[
0
])
;
this
.
customerSelect
.
push
(
this
.
recommended
[
0
])
}
}
return
this
.
customerSelect
;
return
this
.
customerSelect
}
else
{
}
else
{
return
this
.
customerSelect
;
return
this
.
customerSelect
}
}
},
},
combinedQueryParams
()
{
combinedQueryParams
()
{
...
@@ -899,26 +876,26 @@ export default {
...
@@ -899,26 +876,26 @@ export default {
queryParams
.
endFirstDealTime
=
this
.
firstDealTime
[
1
]
queryParams
.
endFirstDealTime
=
this
.
firstDealTime
[
1
]
}
}
if
(
this
.
weightYearly
.
value
)
{
if
(
this
.
weightYearly
.
value
)
{
let
key
=
'
eqWeightYearly
'
let
key
=
"
eqWeightYearly
"
if
(
this
.
weightYearly
.
key
==
'
leNumberKey
'
)
{
if
(
this
.
weightYearly
.
key
==
"
leNumberKey
"
)
{
key
=
'
leWeightYearly
'
key
=
"
leWeightYearly
"
}
else
if
(
this
.
weightYearly
.
key
==
'
geNumberKey
'
)
{
}
else
if
(
this
.
weightYearly
.
key
==
"
geNumberKey
"
)
{
key
=
'
geWeightYearly
'
key
=
"
geWeightYearly
"
}
}
queryParams
[
key
]
=
this
.
weightYearly
.
value
;
queryParams
[
key
]
=
this
.
weightYearly
.
value
}
}
if
(
this
.
numYearly
.
value
)
{
if
(
this
.
numYearly
.
value
)
{
let
key
=
'
eqNumYearly
'
let
key
=
"
eqNumYearly
"
if
(
this
.
numYearly
.
key
==
'
leNumberKey
'
)
{
if
(
this
.
numYearly
.
key
==
"
leNumberKey
"
)
{
key
=
'
leNumYearly
'
key
=
"
leNumYearly
"
}
else
if
(
this
.
numYearly
.
key
==
'
geNumberKey
'
)
{
}
else
if
(
this
.
numYearly
.
key
==
"
geNumberKey
"
)
{
key
=
'
geNumYearly
'
key
=
"
geNumYearly
"
}
}
queryParams
[
key
]
=
this
.
numYearly
.
value
;
queryParams
[
key
]
=
this
.
numYearly
.
value
}
}
return
queryParams
;
return
queryParams
}
,
}
}
}
}
;
}
</
script
>
</
script
>
src/views/ecw/myCustomerService/index.vue
View file @
ca65a30e
...
@@ -17,16 +17,16 @@
...
@@ -17,16 +17,16 @@
<el-form-item
:label=
"$t('联系方式')"
>
<el-form-item
:label=
"$t('联系方式')"
>
<el-input
:placeholder=
"$t('请输入联系方式')"
clearable
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
<el-input
:placeholder=
"$t('请输入联系方式')"
clearable
v-model.trim=
"queryParams.defaultContactPhone"
@
input=
"queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"
></el-input>
</el-form-item>
</el-form-item>
<!--
<el-form-item
:label=
"$t('部门')"
v-if=
"path != '/customer/department-customers'"
>
-->
<!--
<el-form-item
:label=
"$t('部门')"
v-if=
"path != '/customer/department-customers'"
>
-->
<!--
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
-->
<!--
<el-select
v-model=
"queryParams.deptIds"
:placeholder=
"$t('请选择部门')"
>
-->
<!--
<el-option
v-for=
"item in deptList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
-->
<!--
<el-option
v-for=
"item in deptList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
-->
<!--
</el-select>
-->
<!--
</el-select>
-->
<!--
</el-form-item>
-->
<!--
</el-form-item>
-->
<!--
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
-->
<!--
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
-->
<!--
<el-select
multiple
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
size=
"small"
@
change=
"handleQuery"
>
-->
<!--
<el-select
multiple
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
size=
"small"
@
change=
"handleQuery"
>
-->
<!--
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
-->
<!--
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
-->
<!--
</el-select>
-->
<!--
</el-select>
-->
<!--
</el-form-item>
-->
<!--
</el-form-item>
-->
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-form-item
:label=
"$t('客户来源')"
prop=
"source"
>
<el-select
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<el-select
multiple
clearable
v-model=
"queryParams.source"
:placeholder=
"$t('请选择客户来源')"
size=
"small"
@
change=
"handleQuery"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"isChinese ? dict.label : dict.labelEn"
:value=
"dict.value"
/>
...
@@ -222,21 +222,21 @@
...
@@ -222,21 +222,21 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">-->
<!-- <template v-slot="{ row }">-->
<!-- <template v-slot="{ row }">-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- +{{ row.defaultContactPhone }} <br />-->
<!-- <contacts :id="row.id">-->
<!-- <contacts :id="row.id">-->
<!-- <el-button type="text">更多</el-button>-->
<!-- <el-button type="text">更多</el-button>-->
<!-- </contacts>-->
<!-- </contacts>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进时间')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
{{
parseTime
(
scope
.
row
.
followupBackVO
.
followTime
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<el-table-column
:label=
"$t('最新跟进记录')"
width=
"120"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<
template
slot-scope=
"scope"
v-if=
"scope.row.followupBackVO"
>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
<a
href=
"javascript:void(0)"
@
click=
"handleCustomerFollowLink(scope.row.followupBackVO)"
class=
"link-type"
>
{{
scope
.
row
.
followupBackVO
.
number
}}
</a>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -373,7 +373,7 @@
...
@@ -373,7 +373,7 @@
<!-- 分页组件 -->
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow-list
:customer-id=
"customerId"
:id=
"customerId"
:customer-service=
"customerService"
:customer-number=
"customerNumber"
ref=
"CustomerFollowList"
v-if=
"customerFollowVisible"
></customer-follow-list>
<customer-follow
ref=
"customerFollow"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-follow
ref=
"customerFollow"
@
close=
"customerFollowVisible = false"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
/>
<customer-complaints
ref=
"customerComplaint"
:customer-id.sync=
"customerId"
></customer-complaints>
<customer-complaints
ref=
"customerComplaint"
:customer-id.sync=
"customerId"
></customer-complaints>
<transfer-customer
:show.sync=
"show"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<transfer-customer
:show.sync=
"show"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
<customer-setting
ref=
"customerSetting"
@
refresh=
"getList"
></customer-setting>
...
@@ -399,7 +399,7 @@ import { getNodeList } from "@/api/ecw/node"
...
@@ -399,7 +399,7 @@ import { getNodeList } from "@/api/ecw/node"
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
import
{
getCustomerSelect
,
changeCustomerDefaultPay
,
changeCustomerNoConsignee
,
changeCustomerDefaultBilling
}
from
"
@/api/ecw/customer
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
{
getProductList
}
from
"
@/api/ecw/product
"
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
;
import
CompetitorSelector
from
"
@/components/CompetitorSelector/index.vue
"
export
default
{
export
default
{
name
:
"
EcwMyCustomerServiceIndex
"
,
name
:
"
EcwMyCustomerServiceIndex
"
,
components
:
{
components
:
{
...
...
src/views/ecw/offer/detail.vue
View file @
ca65a30e
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<span
style=
"font-size: 15px"
></span>
<span
style=
"font-size: 15px"
></span>
<div
class=
"btns"
>
<div
class=
"btns"
>
<el-button
v-hasPermi=
"['ecw:offer:update']"
size=
"mini"
type=
"primary"
v-if=
"[4, 5, 6].indexOf(list.status) == -1"
@
click=
"$router.push('edit?id=' + offerId)"
>
{{
$t
(
"
编辑
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:update']"
size=
"mini"
type=
"primary"
v-if=
"[4, 5, 6].indexOf(list.status) == -1"
@
click=
"$router.push('edit?id=' + offerId)"
>
{{
$t
(
"
编辑
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:loglist']"
type=
"primary"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"handleAdd"
>
{{
$t
(
"
跟进
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:loglist']"
type=
"primary"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"handleAdd
Offer
"
>
{{
$t
(
"
跟进
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:result']"
type=
"primary"
v-if=
"[3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"toResult"
>
{{
$t
(
"
结果
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:result']"
type=
"primary"
v-if=
"[3, 7].indexOf(list.status) > -1"
size=
"mini"
@
click=
"toResult"
>
{{
$t
(
"
结果
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:discount', 'ecw:offer:commission']"
size=
"mini"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
type=
"primary"
@
click.native=
"$router.push('/offer/special?offerId=' + offerId)"
>
{{
$t
(
"
特价
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:discount', 'ecw:offer:commission']"
size=
"mini"
v-if=
"[1, 3, 7].indexOf(list.status) > -1"
type=
"primary"
@
click.native=
"$router.push('/offer/special?offerId=' + offerId)"
>
{{
$t
(
"
特价
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:delete']"
type=
"danger"
size=
"mini"
@
click=
"handleDelete"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:offer:delete']"
type=
"danger"
size=
"mini"
@
click=
"handleDelete"
>
{{
$t
(
"
删除
"
)
}}
</el-button>
...
@@ -74,10 +74,10 @@
...
@@ -74,10 +74,10 @@
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, list.transportId).cssClass == 'channel'"
:label=
"$t('出货渠道')"
>
{{
list
.
channelName
}}
</el-descriptions-item>
<el-descriptions-item
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, list.transportId).cssClass == 'channel'"
:label=
"$t('出货渠道')"
>
{{
list
.
channelName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('服务')"
>
<el-descriptions-item
:label=
"$t('服务')"
>
<el-tag
v-if=
"list.
type && list.t
ype.indexOf('1') > -1"
>
<el-tag
v-if=
"list.
serviceType && list.serviceT
ype.indexOf('1') > -1"
>
{{
$t
(
"
集运
"
)
}}
{{
$t
(
"
集运
"
)
}}
</el-tag>
</el-tag>
<el-tag
v-if=
"list.
type && list.t
ype.indexOf('2') > -1"
>
<el-tag
v-if=
"list.
serviceType && list.serviceT
ype.indexOf('2') > -1"
>
{{
$t
(
"
海外仓
"
)
}}
{{
$t
(
"
海外仓
"
)
}}
</el-tag>
</el-tag>
</el-descriptions-item>
</el-descriptions-item>
...
@@ -313,7 +313,7 @@
...
@@ -313,7 +313,7 @@
</el-descriptions-item>
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
</el-card>
</el-card>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
:customerService=
"curData.salesmanId"
:customerNumber=
"curData.customerNumber"
:offerId=
"offerId"
/>
<customer-follow
ref=
"customerFollow"
v-if=
"customerFollowVisible"
@
close=
"customerFollowVisible = false"
:customerService=
"curData.salesmanId"
:customerNumber=
"curData.customerNumber"
:offerId=
"offerId"
/>
</div>
</div>
</template>
</template>
...
@@ -521,14 +521,13 @@ export default {
...
@@ -521,14 +521,13 @@ export default {
getTradeCityList
().
then
((
res
)
=>
(
this
.
tradeCityList
=
res
.
data
))
getTradeCityList
().
then
((
res
)
=>
(
this
.
tradeCityList
=
res
.
data
))
getProductAttrList
().
then
((
res
)
=>
(
this
.
productAttrList
=
res
.
data
))
getProductAttrList
().
then
((
res
)
=>
(
this
.
productAttrList
=
res
.
data
))
if
(
this
.
$route
.
query
.
offerId
)
{
if
(
this
.
$route
.
query
.
offerId
)
{
this
.
offerId
=
this
.
$route
.
query
.
offerId
this
.
offerId
=
parseInt
(
this
.
$route
.
query
.
offerId
)
this
.
getList
()
this
.
getList
()
}
}
},
},
methods
:
{
methods
:
{
handleAddOffer
(
row
)
{
handleAddOffer
()
{
console
.
log
(
row
)
this
.
curData
=
this
.
list
this
.
curData
=
row
this
.
customerFollowVisible
=
true
this
.
customerFollowVisible
=
true
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
[
"
customerFollow
"
].
handleAdd
()
this
.
$refs
[
"
customerFollow
"
].
handleAdd
()
...
@@ -784,4 +783,13 @@ export default {
...
@@ -784,4 +783,13 @@ export default {
.card
{
.card
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
/
deep
/
.el-table__fixed-footer-wrapper
tbody
td
.el-table__cell
{
font-size
:
16px
;
font-weight
:
bold
;
}
/
deep
/
.el-table__footer-wrapper
tbody
td
.el-table__cell
{
font-size
:
20px
;
font-weight
:
bold
;
}
</
style
>
</
style
>
src/views/ecw/offer/edit.vue
View file @
ca65a30e
...
@@ -143,7 +143,7 @@
...
@@ -143,7 +143,7 @@
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('增值服务')"
v-if=
"routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1"
>
<el-form-item
:label=
"$t('增值服务')"
v-if=
"routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1"
>
<el-checkbox-group
v-model=
"form.
t
ype"
>
<el-checkbox-group
v-model=
"form.
serviceT
ype"
>
<el-checkbox
label=
"1"
v-if=
"routeOtherServices.indexOf('1') > -1"
>
{{ $t("集运服务") }}
</el-checkbox>
<el-checkbox
label=
"1"
v-if=
"routeOtherServices.indexOf('1') > -1"
>
{{ $t("集运服务") }}
</el-checkbox>
<el-checkbox
label=
"2"
v-if=
"routeOtherServices.indexOf('4') > -1"
>
{{ $t("海外仓") }}
</el-checkbox>
<el-checkbox
label=
"2"
v-if=
"routeOtherServices.indexOf('4') > -1"
>
{{ $t("海外仓") }}
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
...
@@ -576,7 +576,8 @@ const createDefaultForm = () => {
...
@@ -576,7 +576,8 @@ const createDefaultForm = () => {
control
:
false
,
control
:
false
,
isCargoControl
:
false
,
isCargoControl
:
false
,
prodCreateReqVOList
:
[],
prodCreateReqVOList
:
[],
transportVO
:
{}
transportVO
:
{},
serviceType
:
[]
}
}
}
}
export
default
{
export
default
{
...
@@ -742,6 +743,8 @@ export default {
...
@@ -742,6 +743,8 @@ export default {
startTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
有效期开始时间不能为空
"
)
}],
startTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
有效期开始时间不能为空
"
)
}],
endTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
有效期结束时间不能为空
"
)
}],
endTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
有效期结束时间不能为空
"
)
}],
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
选择运输方式
"
)
}],
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
选择运输方式
"
)
}],
// departureId: [{required: true, message: this.$t('请选择始发城市')}],
destCountryId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择目的国家
"
)
}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
选择出货渠道
"
)
}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
选择出货渠道
"
)
}],
stopTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
不能为空
"
)
}],
stopTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
不能为空
"
)
}],
relation
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择所属人
"
)
}],
relation
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择所属人
"
)
}],
...
@@ -1074,9 +1077,9 @@ export default {
...
@@ -1074,9 +1077,9 @@ export default {
selectedRouter
(
val
)
{
selectedRouter
(
val
)
{
if
(
!
val
)
return
if
(
!
val
)
return
;[
"
1
"
,
"
4
"
].
forEach
((
service
)
=>
{
;[
"
1
"
,
"
4
"
].
forEach
((
service
)
=>
{
if
(
this
.
routeOtherServices
.
indexOf
(
service
)
<
0
&&
this
.
form
.
type
.
indexOf
(
service
)
>
-
1
)
{
if
(
this
.
routeOtherServices
.
indexOf
(
service
)
<
0
&&
this
.
form
.
serviceType
.
indexOf
(
service
==
4
?
2
:
service
)
>
-
1
)
{
this
.
form
.
t
ype
.
splice
(
this
.
form
.
serviceT
ype
.
splice
(
this
.
form
.
type
.
findIndex
((
item
)
=>
item
==
service
),
this
.
form
.
serviceType
.
findIndex
((
item
)
=>
item
==
(
service
==
4
?
2
:
service
)
),
1
1
)
)
}
}
...
@@ -1084,10 +1087,10 @@ export default {
...
@@ -1084,10 +1087,10 @@ export default {
}
}
},
},
activated
()
{
activated
()
{
if
(
this
.
form
.
offerId
!
=
this
.
$route
.
query
.
id
)
{
if
(
this
.
$route
.
query
.
id
&&
this
.
form
.
offerId
!=
=
this
.
$route
.
query
.
id
)
{
this
.
getOffer
()
this
.
getOffer
()
}
}
if
(
this
.
$route
.
query
.
copyId
&&
this
.
form
.
copyId
!=
this
.
$route
.
query
.
copyId
)
{
if
(
this
.
$route
.
query
.
copyId
&&
this
.
form
.
copyId
!=
=
this
.
$route
.
query
.
copyId
)
{
this
.
getOffer
()
this
.
getOffer
()
}
}
},
},
...
@@ -1102,14 +1105,14 @@ export default {
...
@@ -1102,14 +1105,14 @@ export default {
getRegionList
(
4
,
4
).
then
((
res
)
=>
(
this
.
AddressCity
=
res
.
data
))
getRegionList
(
4
,
4
).
then
((
res
)
=>
(
this
.
AddressCity
=
res
.
data
))
competitorListAll
().
then
((
res
)
=>
(
this
.
competitorList
=
res
.
data
))
competitorListAll
().
then
((
res
)
=>
(
this
.
competitorList
=
res
.
data
))
if
(
this
.
$route
.
query
.
id
)
{
if
(
this
.
$route
.
query
.
id
&&
this
.
$route
.
query
.
copyId
)
{
this
.
getOffer
()
this
.
getOffer
()
}
else
{
}
else
{
// alert(this.$route.query.customer.defaultContactPhone)
// alert(this.$route.query.customer.defaultContactPhone)
this
.
addProduct
()
this
.
addProduct
()
}
}
if
(
this
.
$route
.
query
.
type
==
1
)
{
if
(
this
.
$route
.
query
.
type
&&
this
.
$route
.
query
.
type
=
==
1
)
{
let
res
=
await
getCustomerContactsListByCustomer
({
customerId
:
parseInt
(
this
.
$route
.
query
.
customerId
||
0
)
})
let
res
=
await
getCustomerContactsListByCustomer
({
customerId
:
parseInt
(
this
.
$route
.
query
.
customerId
||
0
)
})
this
.
customer
=
res
.
data
.
find
((
item
)
=>
item
.
isDefault
)
this
.
customer
=
res
.
data
.
find
((
item
)
=>
item
.
isDefault
)
...
@@ -1143,10 +1146,12 @@ export default {
...
@@ -1143,10 +1146,12 @@ export default {
},
},
getOffer
()
{
getOffer
()
{
//加了是否从全部客户列表中报价按钮进来的判断
//加了是否从全部客户列表中报价按钮进来的判断
if
(
this
.
$route
.
query
!==
1
)
{
if
(
this
.
$route
.
query
.
type
!==
1
)
{
getOffer
(
this
.
$route
.
query
.
id
||
this
.
$route
.
query
.
copyId
).
then
((
res
)
=>
{
getOffer
(
this
.
$route
.
query
.
id
||
this
.
$route
.
query
.
copyId
).
then
((
res
)
=>
{
let
formData
=
res
.
data
let
formData
=
res
.
data
formData
.
type
=
formData
.
type
?
formData
.
type
.
split
(
"
,
"
).
filter
((
item
)
=>
item
!=
""
)
:
[]
formData
.
serviceType
=
formData
.
serviceType
?
formData
.
serviceType
.
split
(
"
,
"
).
filter
((
item
)
=>
item
!=
""
)
:
[]
console
.
log
(
formData
.
serviceType
)
formData
.
prodCreateReqVOList
=
[]
formData
.
prodCreateReqVOList
=
[]
if
(
formData
.
transportVO
&&
formData
.
transportVO
.
packageType
)
{
if
(
formData
.
transportVO
&&
formData
.
transportVO
.
packageType
)
{
formData
.
transportVO
.
packageTypeArr
=
formData
.
transportVO
.
packageType
.
split
(
"
,
"
).
filter
((
item
)
=>
item
&&
item
!=
""
)
formData
.
transportVO
.
packageTypeArr
=
formData
.
transportVO
.
packageType
.
split
(
"
,
"
).
filter
((
item
)
=>
item
&&
item
!=
""
)
...
@@ -1179,10 +1184,12 @@ export default {
...
@@ -1179,10 +1184,12 @@ export default {
}
}
if
(
this
.
$route
.
query
.
copyId
)
{
if
(
this
.
$route
.
query
.
copyId
)
{
formData
.
offerId
=
""
formData
.
offerId
=
null
formData
.
startTime
=
""
formData
.
startTime
=
""
formData
.
endTime
=
""
formData
.
endTime
=
""
formData
.
stopTime
=
""
formData
.
stopTime
=
""
// 复制报价单状态重置为草稿
formData
.
status
=
2
}
}
formData
.
channelId
=
formData
.
channelId
||
null
formData
.
channelId
=
formData
.
channelId
||
null
...
@@ -1327,7 +1334,8 @@ export default {
...
@@ -1327,7 +1334,8 @@ export default {
if
(
this
.
form
.
offerId
!=
null
)
{
if
(
this
.
form
.
offerId
!=
null
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
prodUpdateReqVOList
:
this
.
getProductListWithDefaultValue
()
prodUpdateReqVOList
:
this
.
getProductListWithDefaultValue
(),
serviceType
:
this
.
form
.
serviceType
.
join
(
"
,
"
)
})
})
if
(
data
.
status
<
3
)
{
if
(
data
.
status
<
3
)
{
data
.
status
=
status
data
.
status
=
status
...
@@ -1343,12 +1351,14 @@ export default {
...
@@ -1343,12 +1351,14 @@ export default {
console
.
log
(
JSON
.
stringify
(
this
.
contactsList
))
console
.
log
(
JSON
.
stringify
(
this
.
contactsList
))
data
=
Object
.
assign
({},
this
.
form
,
{
data
=
Object
.
assign
({},
this
.
form
,
{
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
status
status
,
serviceType
:
this
.
form
.
serviceType
.
join
(
"
,
"
)
})
})
}
else
{
}
else
{
data
=
Object
.
assign
({},
this
.
form
,
{
data
=
Object
.
assign
({},
this
.
form
,
{
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
status
status
,
serviceType
:
this
.
form
.
serviceType
.
join
(
"
,
"
)
})
})
}
}
...
...
src/views/ecw/offer/logListCommon.vue
View file @
ca65a30e
...
@@ -52,10 +52,8 @@
...
@@ -52,10 +52,8 @@
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
</div>
</div>
<!-- 操作工具栏 -->
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
...
@@ -125,8 +123,8 @@
...
@@ -125,8 +123,8 @@
</el-table>
</el-table>
<pagination
:total=
"customerFollowTotal"
:page.sync=
"followForm.pageNo"
:limit.sync=
"followForm.pageSize"
@
pagination=
"getCustomerFollowList"
/>
<pagination
:total=
"customerFollowTotal"
:page.sync=
"followForm.pageNo"
:limit.sync=
"followForm.pageSize"
@
pagination=
"getCustomerFollowList"
/>
</el-card>
</el-card>
<customer-follow
ref=
"customerFollow"
@
handleCustomerFollowAdd=
"handleCustomerFollowAdd"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
:customer-id=
"customerId"
:customerService=
"customerService"
:customerNumber=
"customerNumber"
/>
<customer-follow
ref=
"customerFollow"
@
close=
"customerFollowVisible = false"
@
handleCustomerFollowAdd=
"handleCustomerFollowAdd"
@
refresh=
"handleQuery"
v-if=
"customerFollowVisible"
:customer-id=
"customerId"
:customerService=
"customerService"
:customerNumber=
"customerNumber"
/>
<customer-follow-update-status
:show.sync=
"updateStatus"
:followup-ids.sync=
"selectCustomerFollowList"
@
refresh=
"handleQuery"
/
>
<customer-follow-update-status
:show.sync=
"updateStatus"
:followup-ids.sync=
"selectCustomerFollowList"
@
refresh=
"handleQuery"
></customer-follow-update-status
>
</div>
</div>
</template>
</template>
...
@@ -135,10 +133,10 @@ import { getCustomerFollowList, exportCustomerFollow } from "@/api/ecw/customerF
...
@@ -135,10 +133,10 @@ import { getCustomerFollowList, exportCustomerFollow } from "@/api/ecw/customerF
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
import
{
getDictDatas
,
DICT_TYPE
,
getDictDatas2
}
from
"
@/utils/dict
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
import
CustomerFollow
from
"
@/views/ecw/customer/components/customerFollow
"
import
UserSelector
from
"
@/components/UserSelector
"
import
UserSelector
from
"
@/components/UserSelector
"
import
customerFollowUpdateStatus
from
"
@/views/ecw/customer/components/customerFollowUpdateStatus.vue
"
;
import
customerFollowUpdateStatus
from
"
@/views/ecw/customer/components/customerFollowUpdateStatus.vue
"
export
default
{
export
default
{
name
:
"
logListCommon
"
,
name
:
"
logListCommon
"
,
components
:
{
customerFollowUpdateStatus
,
UserSelector
,
CustomerFollow
},
components
:
{
customerFollowUpdateStatus
,
UserSelector
,
CustomerFollow
},
props
:
[
"
customerId
"
,
"
offerId
"
,
"
customerService
"
,
"
customerNumber
"
],
props
:
[
"
customerId
"
,
"
offerId
"
,
"
customerService
"
,
"
customerNumber
"
],
data
()
{
data
()
{
return
{
return
{
...
...
src/views/ecw/order/cargoControl.vue
View file @
ca65a30e
...
@@ -10,10 +10,10 @@
...
@@ -10,10 +10,10 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-input
v-model.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consignorKey')"
/>
<el-input
v-model.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-input
v-model.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consigneeKey')"
/>
<el-input
v-model.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货状态')"
prop=
"isCargoControl"
>
<el-form-item
:label=
"$t('控货状态')"
prop=
"isCargoControl"
>
<dict-selector
v-model=
"queryParams.cargoControlStatusList"
multiple
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
clearable
@
change=
"handleQuery"
/>
<dict-selector
v-model=
"queryParams.cargoControlStatusList"
multiple
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
clearable
@
change=
"handleQuery"
/>
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/\s+/g, '')" />
</el-form-item>-->
</el-form-item>-->
<el-form-item
:label=
"$t('商品') + ':'"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('商品') + ':'"
v-show=
"showSearch"
>
<el-input
v-model.trim=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(prodParam, 'value')"
>
<el-input
v-model.trim=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<
template
slot=
"prepend"
>
<
template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_PROD_FIELD"
defaultable
v-model=
"prodParam.key"
class=
"w-50"
/>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_PROD_FIELD"
defaultable
v-model=
"prodParam.key"
class=
"w-50"
/>
</
template
>
</
template
>
...
...
src/views/ecw/order/components/Release.vue
View file @
ca65a30e
<
template
>
<
template
>
<el-dialog
:title=
"title"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
width=
"1000px"
>
<el-dialog
:title=
"title"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
width=
"1000px"
>
<el-form
v-if=
"agreement"
ref=
"form"
:model=
"formData"
:rules=
"rules"
size=
"small"
label-width=
"100px"
>
<el-form
v-if=
"agreement"
ref=
"form"
:model=
"formData"
:rules=
"rules"
size=
"small"
label-width=
"100px"
>
<el-row>
<el-row>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('订单号')"
>
<el-form-item
:label=
"$t('订单号')"
>
{{
detail
.
orderNo
}}
{{
detail
.
orderNo
}}
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('总箱数')"
>
<el-form-item
:label=
"$t('总箱数')"
>
{{
detail
.
sumNum
}}
{{
detail
.
sumNum
}}
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('体积')"
>
<el-form-item
:label=
"$t('体积')"
>
{{
detail
.
sumVolume
}}
m³
{{
detail
.
sumVolume
}}
m³
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('重量')"
>
<el-form-item
:label=
"$t('重量')"
>
{{
detail
.
sumWeight
}}
kg
{{
detail
.
sumWeight
}}
kg
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('总控货箱数')"
>
<el-form-item
:label=
"$t('总控货箱数')"
>
{{
detail
.
sumNum
}}
{{
detail
.
sumNum
}}
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('剩余放货箱数')"
>
<el-form-item
:label=
"$t('剩余放货箱数')"
>
{{
detail
.
sumNum
-
detail
.
releaseNum
}}
{{
detail
.
sumNum
-
detail
.
releaseNum
}}
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('到仓日期/卸柜日期')"
label-width=
"200px"
>
<el-form-item
:label=
"$t('到仓日期/卸柜日期')"
label-width=
"200px"
>
{{
detail
.
unloadTime
}}
{{
detail
.
unloadTime
}}
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('放货锁定收货人到期')"
label-width=
"200px"
>
<el-form-item
:label=
"$t('放货锁定收货人到期')"
label-width=
"200px"
>
{{
detail
.
lockConsigneeTime
||
'
-
'
}}
{{
detail
.
lockConsigneeTime
||
'
-
'
}}
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<div
class=
"title"
>
{{
$t
(
'
请填写放货信息
'
)
}}
</div>
<div
class=
"title"
>
{{
$t
(
'
请填写放货信息
'
)
}}
</div>
<div
class=
"flex"
>
<div
class=
"flex"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeName"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeName"
>
<el-input
v-model=
"formData.consigneeName"
:placeholder=
"$t('请输入收货人')"
clearable
class=
"w-150"
></el-input>
<el-input
v-model=
"formData.consigneeName"
:placeholder=
"$t('请输入收货人')"
clearable
class=
"w-150"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consigneePhone"
>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consigneePhone"
>
<!--
<el-input
v-model=
"formData.field109"
:placeholder=
"$t('区号')"
clearable
class=
"w-150"
></el-input>
-->
<!--
<el-input
v-model=
"formData.field109"
:placeholder=
"$t('区号')"
clearable
class=
"w-150"
></el-input>
-->
<area-code-selector
v-model=
"formData.consigneeCountryCode"
class=
"w-150"
/>
<area-code-selector
v-model=
"formData.consigneeCountryCode"
class=
"w-150"
/>
<el-input
v-model=
"formData.consigneePhone"
:placeholder=
"$t('请输入收货人电话')"
clearable
class=
"w-150 ml-10"
></el-input>
<el-input
v-model=
"formData.consigneePhone"
:placeholder=
"$t('请输入收货人电话')"
clearable
class=
"w-150 ml-10"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人邮箱')"
prop=
"consigneeEmail"
>
<el-form-item
:label=
"$t('收货人邮箱')"
prop=
"consigneeEmail"
>
<el-input
v-model=
"formData.consigneeEmail"
:placeholder=
"$t('请输入收货人邮箱')"
clearable
class=
"w-150"
></el-input>
<el-input
v-model=
"formData.consigneeEmail"
:placeholder=
"$t('请输入收货人邮箱')"
clearable
class=
"w-150"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<el-table
:data=
"[formData]"
border
class=
"release-table"
>
<el-table
:data=
"[formData]"
border
class=
"release-table"
>
<el-table-column
:label=
"$t('控货箱数')"
>
<el-table-column
:label=
"$t('控货箱数')"
>
{{
detail
.
sumNum
-
detail
.
releaseNum
}}
{{
detail
.
sumNum
-
detail
.
releaseNum
}}
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('放货箱数')"
>
<el-table-column
:label=
"$t('放货箱数')"
>
<template
slot-scope=
"
{row}">
<template
slot-scope=
"
{row}">
...
@@ -87,27 +90,28 @@
...
@@ -87,27 +90,28 @@
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-form-item
:label=
"$t('控货手机号')"
prop=
"field117"
style=
"margin-top:20px"
>
<el-form-item
:label=
"$t('控货手机号')"
prop=
"field117"
style=
"margin-top:20px"
>
<el-input
:value=
"'+' + detail.dialCode + detail.phone"
readonly
:placeholder=
"$t('请输入控货手机号')"
>
<el-input
:value=
"'+' + detail.dialCode + detail.phone"
readonly
:placeholder=
"$t('请输入控货手机号')"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('手机验证码')"
prop=
"code"
>
<el-form-item
:label=
"$t('手机验证码')"
prop=
"code"
>
<el-input
v-model=
"formData.code"
:placeholder=
"$t('请输入手机验证码')"
clearable
class=
"w-150 mr-10"
></el-input>
<el-input
v-model=
"formData.code"
:placeholder=
"$t('请输入手机验证码')"
clearable
class=
"w-150 mr-10"
></el-input>
<!-- <el-button type="success">{{ $t('获取验证码') }}</el-button> -->
<!-- <el-button type="success">{{ $t('获取验证码') }}</el-button> -->
<send-sms-code
:order-id=
"detail.orderId"
scene=
"5"
/>
<send-sms-code
:order-id=
"detail.orderId"
scene=
"5"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
""
style=
"margin-top:20px"
>
<el-form-item
label=
""
style=
"margin-top:20px"
>
<el-button
type=
"success"
@
click=
"submit"
>
{{$t('确认提货')
}}
</el-button>
<el-button
type=
"success"
@
click=
"submit"
>
{{ $t('确认提货')
}}
</el-button>
<el-button
type=
"default"
@
click=
"closeDialog"
>
{{$t('关闭')
}}
</el-button>
<el-button
type=
"default"
@
click=
"closeDialog"
>
{{ $t('关闭')
}}
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
v-else
>
<div
v-else
>
<!-- <release-agreement /> -->
<!-- <release-agreement /> -->
<need-know
ref=
"needKnow"
keyname=
"control"
/>
<need-know
ref=
"needKnow"
keyname=
"control"
/>
<div
style=
"margin-top:30px"
>
<div
style=
"margin-top:30px"
>
<el-button
type=
"primary"
@
click=
"agreement=true"
>
{{$t('我同意')
}}
</el-button>
<el-button
type=
"primary"
@
click=
"agreement=true"
>
{{ $t('我同意')
}}
</el-button>
<!-- <el-button type="primary" @click="$refs.needKnow.download()">{{ $t('保存协议') }}</el-button> -->
<!-- <el-button type="primary" @click="$refs.needKnow.download()">{{ $t('保存协议') }}</el-button> -->
<el-button
@
click=
"closeDialog"
>
{{$t('关闭')
}}
</el-button>
<el-button
@
click=
"closeDialog"
>
{{ $t('关闭')
}}
</el-button>
</div>
</div>
</div>
</div>
</el-dialog>
</el-dialog>
...
@@ -119,16 +123,17 @@ import AreaCodeSelector from '@/components/AreaCodeSelector'
...
@@ -119,16 +123,17 @@ import AreaCodeSelector from '@/components/AreaCodeSelector'
import
SendSmsCode
from
'
@/views/ecw/order/components/SendSmsCode
'
import
SendSmsCode
from
'
@/views/ecw/order/components/SendSmsCode
'
import
NeedKnow
from
'
@/components/NeedKnow
'
import
NeedKnow
from
'
@/components/NeedKnow
'
import
Decimal
from
'
decimal.js
'
import
Decimal
from
'
decimal.js
'
export
default
{
export
default
{
props
:
{
props
:
{
orderId
:
[
String
,
Number
]
orderId
:
[
String
,
Number
]
},
},
components
:
{
AreaCodeSelector
,
SendSmsCode
,
NeedKnow
},
components
:
{
AreaCodeSelector
,
SendSmsCode
,
NeedKnow
},
data
()
{
data
()
{
return
{
return
{
show
:
false
,
show
:
false
,
detail
:
null
,
detail
:
null
,
formData
:
{
formData
:
{
"
pickNum
"
:
0
,
"
pickNum
"
:
0
,
"
pickQuantity
"
:
0
,
"
pickQuantity
"
:
0
,
"
pickVolume
"
:
0
,
"
pickVolume
"
:
0
,
...
@@ -138,14 +143,14 @@ export default {
...
@@ -138,14 +143,14 @@ export default {
agreement
:
false
,
// 是否同意协议
agreement
:
false
,
// 是否同意协议
}
}
},
},
watch
:
{
watch
:
{
'
formData.pickNum
'
(
pickNum
)
{
'
formData.pickNum
'
(
pickNum
)
{
this
.
$set
(
this
.
formData
,
'
pickVolume
'
,
Decimal
(
this
.
detail
.
sumVolume
).
mul
(
pickNum
).
div
(
this
.
detail
.
sumNum
).
toFixed
(
2
))
this
.
$set
(
this
.
formData
,
'
pickVolume
'
,
Decimal
(
this
.
detail
.
sumVolume
).
mul
(
pickNum
).
div
(
this
.
detail
.
sumNum
).
toFixed
(
2
))
this
.
$set
(
this
.
formData
,
'
pickWeight
'
,
Decimal
(
this
.
detail
.
sumWeight
).
mul
(
pickNum
).
div
(
this
.
detail
.
sumNum
).
toFixed
(
2
))
this
.
$set
(
this
.
formData
,
'
pickWeight
'
,
Decimal
(
this
.
detail
.
sumWeight
).
mul
(
pickNum
).
div
(
this
.
detail
.
sumNum
).
toFixed
(
2
))
}
}
},
},
computed
:
{
computed
:
{
rules
()
{
rules
()
{
return
{
return
{
consigneeName
:
{
required
:
true
,
message
:
this
.
$t
(
'
请填写收货人
'
)},
consigneeName
:
{
required
:
true
,
message
:
this
.
$t
(
'
请填写收货人
'
)},
code
:
{
required
:
true
,
message
:
this
.
$t
(
'
请填写验证码
'
)},
code
:
{
required
:
true
,
message
:
this
.
$t
(
'
请填写验证码
'
)},
...
@@ -157,35 +162,35 @@ export default {
...
@@ -157,35 +162,35 @@ export default {
}
}
}
}
},
},
title
()
{
title
()
{
let
t
=
this
.
$t
(
'
放货
'
)
let
t
=
this
.
$t
(
'
放货
'
)
if
(
this
.
detail
)
{
if
(
this
.
detail
)
{
t
+=
'
-
'
+
this
.
detail
.
orderNo
t
+=
'
-
'
+
this
.
detail
.
orderNo
}
}
return
t
return
t
}
}
},
},
created
()
{
created
()
{
this
.
show
=
true
this
.
show
=
true
this
.
loadData
()
this
.
loadData
()
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
getReleaseInfo
(
this
.
orderId
).
then
(
res
=>
{
getReleaseInfo
(
this
.
orderId
).
then
(
res
=>
{
this
.
detail
=
res
.
data
this
.
detail
=
res
.
data
this
.
$set
(
this
.
formData
,
'
consigneeName
'
,
res
.
data
.
consigneeName
)
this
.
$set
(
this
.
formData
,
'
consigneeName
'
,
res
.
data
.
consigneeName
)
this
.
$set
(
this
.
formData
,
'
consigneeCountryCode
'
,
'
+
'
+
res
.
data
.
consigneeCountryCode
)
this
.
$set
(
this
.
formData
,
'
consigneeCountryCode
'
,
res
.
data
.
consigneeCountryCode
?
(
'
+
'
+
res
.
data
.
consigneeCountryCode
)
:
null
)
this
.
$set
(
this
.
formData
,
'
consigneePhone
'
,
res
.
data
.
consigneePhone
)
this
.
$set
(
this
.
formData
,
'
consigneePhone
'
,
res
.
data
.
consigneePhone
)
this
.
$set
(
this
.
formData
,
'
consigneeEmail
'
,
res
.
data
.
consigneeEmail
)
this
.
$set
(
this
.
formData
,
'
consigneeEmail
'
,
res
.
data
.
consigneeEmail
)
})
})
},
},
closeDialog
()
{
closeDialog
()
{
this
.
show
=
false
this
.
show
=
false
this
.
$emit
(
'
close
'
)
this
.
$emit
(
'
close
'
)
},
},
submit
()
{
submit
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
!
valid
)
{
if
(
!
valid
)
{
return
false
return
false
}
}
createPick
(
Object
.
assign
({
orderId
:
this
.
orderId
},
this
.
formData
)).
then
(
res
=>
{
createPick
(
Object
.
assign
({
orderId
:
this
.
orderId
},
this
.
formData
)).
then
(
res
=>
{
...
@@ -201,20 +206,22 @@ export default {
...
@@ -201,20 +206,22 @@ export default {
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.title
{
.title
{
font-size
:
16px
;
font-size
:
16px
;
margin
:
20px
0
;
margin
:
20px
0
;
display
:flex
;
display
:
flex
;
align-items
:center
;
align-items
:
center
;
&
:before
{
&
:before
{
content
:
''
;
content
:
''
;
width
:
5px
;
width
:
5px
;
height
:
15px
;
height
:
15px
;
background
:
#666
;
background
:
#666
;
margin-right
:
10px
;
margin-right
:
10px
;
}
}
}
}
::v-deep
.release-table
.el-form-item__error
{
::v-deep
.release-table
.el-form-item__error
{
position
:
static
;
position
:
static
;
}
}
</
style
>
</
style
>
src/views/ecw/order/edit.vue
View file @
ca65a30e
...
@@ -11,51 +11,55 @@
...
@@ -11,51 +11,55 @@
:validate-on-rule-change=
"false"
:validate-on-rule-change=
"false"
>
>
<el-card
v-if=
"form.applyStatus == 1"
class=
"mb-10"
>
<el-card
v-if=
"form.applyStatus == 1"
class=
"mb-10"
>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
以下信息修改审核中
'
)
}}
</div>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
以下信息修改审核中
'
)
}}
</div>
<el-table
:data=
"form.applyInfoList"
>
<el-table
:data=
"form.applyInfoList"
>
<el-table-column
label=
"字段"
prop=
"name"
></el-table-column>
<el-table-column
label=
"字段"
prop=
"name"
></el-table-column>
<el-table-column
label=
"旧内容"
prop=
"orgValue"
></el-table-column>
<el-table-column
label=
"旧内容"
prop=
"orgValue"
></el-table-column>
<el-table-column
label=
"新内容"
prop=
"newValue"
></el-table-column>
<el-table-column
label=
"新内容"
prop=
"newValue"
></el-table-column>
</el-table>
</el-table>
</el-card>
</el-card>
<div
class=
"page-title"
>
{{
editMode
?
$t
(
'
编辑订单
'
)
+
'
-
'
+
(
form
.
orderNo
||
$t
(
'
草稿
'
))
:
$t
(
'
新建订单
'
)
}}
</div>
<div
class=
"page-title"
>
{{
editMode
?
$t
(
'
编辑订单
'
)
+
'
-
'
+
(
form
.
orderNo
||
$t
(
'
草稿
'
))
:
$t
(
'
新建订单
'
)
}}
</div>
<el-card
class=
"form-section mt-10"
>
<el-card
class=
"form-section mt-10"
>
<template
#header
>
<template
#header
>
<div
slot=
"header"
class=
"card-title"
>
发货人
</div>
<div
slot=
"header"
class=
"card-title"
>
发货人
</div>
</
template
>
</
template
>
<el-form-item
:label=
"$t('名称')"
prop=
"consignorContactsId"
>
<el-form-item
:label=
"$t('名称')"
prop=
"consignorContactsId"
>
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div
class=
"contact"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.consignorName"
placeholder=
""
:disabled2=
"inWarehouse"
/>
<el-input
v-model=
"form.consignorName"
placeholder=
""
:disabled2=
"inWarehouse"
/>
<img
v-if=
"!updateChannel"
src=
"@/assets/svg/contacts.svg"
class=
"phonebook"
@
click=
"contactChooseType='consignor'"
/>
<img
v-if=
"!updateChannel"
src=
"@/assets/svg/contacts.svg"
class=
"phonebook"
<img
v-if=
"!updateChannel"
src=
"@/assets/svg/contact_create.svg"
class=
"phonebook"
@
click=
"quickCreateType='0'"
/>
@
click=
"contactChooseType='consignor'"
/>
<img
v-if=
"!updateChannel"
src=
"@/assets/svg/contact_create.svg"
class=
"phonebook"
@
click=
"quickCreateType='0'"
/>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('电话')"
prop=
"consignorPhone"
>
<el-form-item
:label=
"$t('电话')"
prop=
"consignorPhone"
>
<area-code-selector
v-model=
"form.consignorCountryCode"
class=
"w-200 mr-10"
disabled
/>
<area-code-selector
v-model=
"form.consignorCountryCode"
class=
"w-200 mr-10"
disabled
/>
<el-input
v-model=
"form.consignorPhone"
class=
"w-200"
disabled
/>
<el-input
v-model=
"form.consignorPhone"
class=
"w-200"
disabled
/>
</el-form-item>
</el-form-item>
<el-button
circle
icon=
"el-icon-circle-plus"
v-if=
"!showFullConsignor"
@
click=
"showFullConsignor=true"
></el-button>
<el-button
circle
icon=
"el-icon-circle-plus"
v-if=
"!showFullConsignor"
@
click=
"showFullConsignor=true"
></el-button>
<el-button
circle
icon=
"el-icon-remove"
v-else
@
click=
"showFullConsignor=false"
></el-button>
<el-button
circle
icon=
"el-icon-remove"
v-else
@
click=
"showFullConsignor=false"
></el-button>
<div
v-if=
"showFullConsignor"
>
<div
v-if=
"showFullConsignor"
>
<el-form-item
:label=
"$t('英文名称')"
prop=
"consignorNameEn"
>
<el-form-item
:label=
"$t('英文名称')"
prop=
"consignorNameEn"
>
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div
class=
"contact"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.consignorNameEn"
placeholder=
""
:disabled2=
"inWarehouse"
/>
<el-input
v-model=
"form.consignorNameEn"
placeholder=
""
:disabled2=
"inWarehouse"
/>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('公司中文名称')"
prop=
"consignorPhone"
>
<el-form-item
:label=
"$t('公司中文名称')"
prop=
"consignorPhone"
>
<el-input
v-model=
"form.consignorCompany"
:disabled2=
"inWarehouse"
/>
<el-input
v-model=
"form.consignorCompany"
:disabled2=
"inWarehouse"
/>
</el-form-item>
</el-form-item>
<!-- v1.7新增 -->
<!-- v1.7新增 -->
<el-form-item
:label=
"$t('公司英文名称')"
prop=
"consignorPhone"
>
<el-form-item
:label=
"$t('公司英文名称')"
prop=
"consignorPhone"
>
<el-input
v-model=
"form.consignorCompanyEn"
:disabled2=
"inWarehouse"
/>
<el-input
v-model=
"form.consignorCompanyEn"
:disabled2=
"inWarehouse"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"Email"
prop=
"consignorPhone"
>
<el-form-item
label=
"Email"
prop=
"consignorPhone"
>
<el-input
v-model=
"form.consignorEmail"
:disabled2=
"inWarehouse"
/>
<el-input
v-model=
"form.consignorEmail"
:disabled2=
"inWarehouse"
/>
</el-form-item>
</el-form-item>
</div>
</div>
</el-card>
</el-card>
...
@@ -64,87 +68,103 @@
...
@@ -64,87 +68,103 @@
<div
class=
"flex items-center"
>
<div
class=
"flex items-center"
>
<div
slot=
"header"
class=
"card-title mr-20"
>
收货人
</div>
<div
slot=
"header"
class=
"card-title mr-20"
>
收货人
</div>
<el-radio-group
v-if=
"noConsignee"
v-model=
"hasConsignee"
>
<el-radio-group
v-if=
"noConsignee"
v-model=
"hasConsignee"
>
<el-radio
:label=
"true"
>
{{
$t
(
'
有
'
)
}}
</el-radio>
<el-radio
:label=
"true"
>
{{
$t
(
'
有
'
)
}}
</el-radio>
<el-radio
:label=
"false"
>
{{
$t
(
'
无
'
)
}}
</el-radio>
<el-radio
:label=
"false"
>
{{
$t
(
'
无
'
)
}}
</el-radio>
</el-radio-group>
</el-radio-group>
</div>
</div>
</
template
>
</
template
>
<el-form-item
:label=
"$t('名称')"
prop=
"consigneeContactsId"
>
<el-form-item
v-if=
"hasConsignee"
:label=
"$t('名称')"
prop=
"consigneeContactsId"
>
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div
class=
"contact"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.consigneeName"
placeholder=
""
:disabled=
"!hasConsignee"
/>
<el-input
v-model=
"form.consigneeName"
placeholder=
""
:disabled=
"!hasConsignee"
/>
<img
v-if=
"!updateChannel && hasConsignee"
src=
"@/assets/svg/contacts.svg"
class=
"phonebook"
@
click=
"contactChooseType='consignee'"
/>
<img
v-if=
"!updateChannel && hasConsignee"
src=
"@/assets/svg/contacts.svg"
class=
"phonebook"
<img
v-if=
"!updateChannel && hasConsignee"
src=
"@/assets/svg/contact_create.svg"
class=
"phonebook"
@
click=
"quickCreateType='1'"
/>
@
click=
"contactChooseType='consignee'"
/>
<img
v-if=
"!updateChannel && hasConsignee"
src=
"@/assets/svg/contact_create.svg"
class=
"phonebook"
@
click=
"quickCreateType='1'"
/>
</div>
</div>
</el-form-item>
</el-form-item>
<!-- v1.7新增 -->
<!-- v1.7新增 -->
<el-form-item
:label=
"$t('电话')"
prop=
"consigneePhone"
>
<el-form-item
v-if=
"hasConsignee"
:label=
"$t('电话')"
prop=
"consigneePhone"
>
<area-code-selector
v-model=
"form.consigneeCountryCode"
class=
"w-200 mr-10"
disabled
/>
<area-code-selector
v-model=
"form.consigneeCountryCode"
class=
"w-200 mr-10"
disabled
/>
<el-input
v-model=
"form.consigneePhone"
class=
"w-200"
disabled
/>
<el-input
v-model=
"form.consigneePhone"
class=
"w-200"
disabled
/>
</el-form-item>
</el-form-item>
<el-button
circle
icon=
"el-icon-circle-plus"
v-if=
"!showFullConsignee"
@
click=
"showFullConsignee=true"
></el-button>
<el-button
circle
icon=
"el-icon-circle-plus"
v-if=
"hasConsignee && !showFullConsignee"
<el-button
circle
icon=
"el-icon-remove"
v-else
@
click=
"showFullConsignee=false"
></el-button>
@
click=
"showFullConsignee=true"
></el-button>
<el-button
circle
icon=
"el-icon-remove"
v-if=
"hasConsignee && showFullConsignee"
@
click=
"showFullConsignee=false"
></el-button>
<div
v-if=
"showFullConsignee"
>
<div
v-if=
"showFullConsignee"
>
<el-form-item
:label=
"$t('英文名称')"
prop=
"consigneeNameEn"
>
<el-form-item
v-if=
"hasConsignee"
:label=
"$t('英文名称')"
prop=
"consigneeNameEn"
>
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div
class=
"contact"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.consigneeNameEn"
placeholder=
""
:disabled=
"!hasConsignee"
/>
<el-input
v-model=
"form.consigneeNameEn"
placeholder=
""
:disabled=
"!hasConsignee"
/>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('公司中文名称')"
prop=
"consigneePhone"
>
<el-form-item
v-if=
"hasConsignee"
:label=
"$t('公司中文名称')"
prop=
"consigneePhone"
>
<el-input
v-model=
"form.consigneeCompany"
:disabled=
"!hasConsignee"
/>
<el-input
v-model=
"form.consigneeCompany"
:disabled=
"!hasConsignee"
/>
</el-form-item>
</el-form-item>
<!-- v1.7新增 -->
<!-- v1.7新增 -->
<el-form-item
:label=
"$t('公司英文名称')"
prop=
"consigneePhone"
>
<el-form-item
v-if=
"hasConsignee"
:label=
"$t('公司英文名称')"
prop=
"consigneePhone"
>
<el-input
v-model=
"form.consigneeCompanyEn"
:disabled=
"!hasConsignee"
/>
<el-input
v-model=
"form.consigneeCompanyEn"
:disabled=
"!hasConsignee"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"Email"
prop=
"consigneePhone"
>
<el-form-item
v-if=
"hasConsignee"
label=
"Email"
prop=
"consigneePhone"
>
<el-input
v-model=
"form.consigneeEmail"
:disabled=
"!hasConsignee"
/>
<el-input
v-model=
"form.consigneeEmail"
:disabled=
"!hasConsignee"
/>
</el-form-item>
</el-form-item>
</div>
</div>
</el-card>
</el-card>
<el-card
class=
"mt-10"
>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"card-title"
>
{{$t('运输')
}}
</div>
<div
slot=
"header"
class=
"card-title"
>
{{ $t('运输')
}}
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportId"
formatter=
"number"
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportId"
formatter=
"number"
clearable
@
input=
"updateRoutes('transportId')"
:disabled=
"form.shipmentState
"
/>
clearable
@
input=
"updateRoutes('transportId')"
:disabled=
"form.shipmentState > 0
"
/>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('始发城市')"
prop=
"departureId"
:disabled=
"false"
>
<el-form-item
:label=
"$t('始发城市')"
prop=
"departureId"
:disabled=
"false"
>
<el-select
v-model=
"form.departureId"
:placeholder=
"$t('请选择始发地')"
:disabled=
"form.shipmentState"
clearable
@
input=
"updateRoutes('departureId')"
>
<el-select
v-model=
"form.departureId"
:placeholder=
"$t('请选择始发地')"
:disabled=
"form.shipmentState > 0"
<el-option
v-for=
"item in exportCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
clearable
@
input=
"updateRoutes('departureId')"
>
<el-option
v-for=
"item in exportCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('目的国家')"
prop=
"destCountryId"
>
<el-form-item
:label=
"$t('目的国家')"
prop=
"destCountryId"
>
<el-select
v-model=
"form.destCountryId"
:placeholder=
"$t('请选择目的国家')"
@
change=
"handleChangeDestCountry"
clearable
:disabled=
"form.shipmentState"
>
<el-select
v-model=
"form.destCountryId"
:placeholder=
"$t('请选择目的国家')"
<el-option
v-for=
"item in showDestCountryList"
:label=
"$l(item, 'guojiaName')"
:value=
"item.guojia"
:key=
"item.guojia"
></el-option>
@
change=
"handleChangeDestCountry"
clearable
:disabled=
"form.shipmentState > 0"
>
<el-option
v-for=
"item in showDestCountryList"
:label=
"$l(item, 'guojiaName')"
:value=
"item.guojia"
:key=
"item.guojia"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('目的城市')"
prop=
"objectiveId"
>
<el-form-item
:label=
"$t('目的城市')"
prop=
"objectiveId"
>
<el-select
v-model=
"form.objectiveId"
:placeholder=
"$t('请选择目的地')"
@
change=
"handleChangeDestCity"
clearable
>
<el-select
v-model=
"form.objectiveId"
:placeholder=
"$t('请选择目的地')"
@
change=
"handleChangeDestCity"
<el-option
v-for=
"item in showDestCityList"
:label=
"$l(item, 'shiName')"
:value=
"item.shi"
:key=
"item.shi"
></el-option>
clearable
>
<el-option
v-for=
"item in showDestCityList"
:label=
"$l(item, 'shiName')"
:value=
"item.shi"
:key=
"item.shi"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('选择线路')"
prop=
"lineId"
>
<el-form-item
:label=
"$t('选择线路')"
prop=
"lineId"
>
<el-input
:value=
"selectedRouter ? $l(selectedRouter, 'startTitle') + ' > ' + $l(selectedRouter, 'destTitle') : ''"
disabled
:placeholder=
"$t('请在右侧选择线路')"
></el-input>
<el-input
:value=
"selectedRouter ? $l(selectedRouter, 'startTitle') + ' > ' + $l(selectedRouter, 'destTitle') : ''"
disabled
:placeholder=
"$t('请在右侧选择线路')"
></el-input>
</el-form-item>
</el-form-item>
<!--select是原生组件,不受el-form的disabled控制-->
<!--select是原生组件,不受el-form的disabled控制-->
<select
size=
"5"
v-model=
"form.lineId"
style=
"min-width: 300px; border:1px solid #DCDFE6; border-radius:4px"
@
change=
"handleChangeLineId"
>
<select
size=
"5"
v-model=
"form.lineId"
style=
"min-width: 300px; border:1px solid #DCDFE6; border-radius:4px"
@
change=
"handleChangeLineId"
>
<option
v-for=
"item in routerList"
:value=
"item.id"
:key=
"item.id"
>
<option
v-for=
"item in routerList"
:value=
"item.id"
:key=
"item.id"
>
{{$l(item, 'startTitle')}} >> {{$l(item, 'destTitle')}}
{{ $l(item, 'startTitle') }} >> {{ $l(item, 'destTitle') }}
(
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"item.transportType"
></dict-tag>
)
(
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"item.transportType"
></dict-tag>
)
</option>
</option>
</select>
</select>
</div>
</div>
<div
class=
"form-section mt-10"
>
<div
class=
"form-section mt-10"
>
<el-form-item
:label=
"$t('出货渠道')"
prop=
"channelId"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-form-item
:label=
"$t('出货渠道')"
prop=
"channelId"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<!--嵌套一个form来脱离disabled控制-->
<!--嵌套一个form来脱离disabled控制-->
<el-form>
<el-form>
<selector
<selector
...
@@ -159,10 +179,13 @@
...
@@ -159,10 +179,13 @@
</div>
</div>
<div>
<div>
<!--默认显示类型(selectedRouter==null),如果选择路线后没开通则隐藏-->
<!--默认显示类型(selectedRouter==null),如果选择路线后没开通则隐藏-->
<el-form-item
:label=
"$t('增值服务')"
v-if=
"routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1"
>
<el-form-item
:label=
"$t('增值服务')"
v-if=
"routeOtherServices.indexOf('1') > -1 || routeOtherServices.indexOf('4') > -1"
>
<el-checkbox-group
v-model=
"form.type"
>
<el-checkbox-group
v-model=
"form.type"
>
<el-checkbox
label=
"1"
v-if=
"routeOtherServices.indexOf('1') > -1"
>
{{$t('集运')}}
</el-checkbox>
<el-checkbox
label=
"1"
v-if=
"routeOtherServices.indexOf('1') > -1"
>
{{ $t('集运') }}
</el-checkbox>
<el-checkbox
label=
"2"
v-if=
"routeOtherServices.indexOf('4') > -1"
:disabled=
"form.shipmentState"
>
{{$t('海外仓')}}
</el-checkbox>
<el-checkbox
label=
"2"
v-if=
"routeOtherServices.indexOf('4') > -1"
:disabled=
"form.shipmentState > 0"
>
{{ $t('海外仓') }}
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
</el-form-item>
</el-form-item>
</div>
</div>
...
@@ -170,19 +193,23 @@
...
@@ -170,19 +193,23 @@
<el-card
class=
"mt-10"
>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"card-title"
>
<div
slot=
"header"
class=
"card-title"
>
<!--lanbm 根据需求文档改 商品信息 为 商品 -->
<!--lanbm 根据需求文档改 商品信息 为 商品 -->
<div
class=
"card-name"
>
{{$t('商品')}}
</div>
<div
class=
"card-name"
>
{{ $t('商品') }}
</div>
<el-button
type=
"primary"
size=
"mini"
@
click=
"addProduct(null)"
:disabled=
"!canAddProduct || !productEditable || updateChannel"
>
{{$t('添加')}}
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"addProduct(null)"
<el-button
type=
"primary"
size=
"mini"
@
click=
"showBatchImportDialog=true"
:disabled=
"!canAddProduct || !productEditable || updateChannel"
>
{{$t('批量添加')}}
</el-button>
:disabled=
"!canAddProduct || !productEditable || updateChannel"
>
{{ $t('添加') }}
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"showBatchImportDialog=true"
:disabled=
"!canAddProduct || !productEditable || updateChannel"
>
{{ $t('批量添加') }}
</el-button>
</div>
</div>
<el-table
:data=
"form.orderItemVOList"
border
class=
"product-list"
v-if=
"!initing"
>
<el-table
:data=
"form.orderItemVOList"
border
class=
"product-list"
v-if=
"!initing"
>
<el-table-column
:label=
"$t('序号')"
width=
"60px"
fixed
>
<el-table-column
:label=
"$t('序号')"
width=
"60px"
fixed
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
{{
scope
.
$index
+
1
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('中文品名')"
width=
"160px"
>
<el-table-column
:label=
"$t('中文品名')"
width=
"160px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
'
中文品名
'
)
}}
<span
class=
"red"
>
*
</span>
{{
$t
(
'
中文品名
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-form-item
label=
""
<el-form-item
label=
""
...
@@ -204,7 +231,7 @@
...
@@ -204,7 +231,7 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('英文品名')"
width=
"160px"
>
<el-table-column
:label=
"$t('英文品名')"
width=
"160px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
'
英文品名
'
)
}}
<span
class=
"red"
>
*
</span>
{{
$t
(
'
英文品名
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<product-selector
<product-selector
...
@@ -212,13 +239,13 @@
...
@@ -212,13 +239,13 @@
v-model=
"scope.row.prodId"
v-model=
"scope.row.prodId"
@
change=
"onProductChange(scope.row, $event)"
@
change=
"onProductChange(scope.row, $event)"
@
focus=
"scope.row.updated = true"
@
focus=
"scope.row.updated = true"
:disabled=
"!canAddProduct || !productEditable"
/>
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('品牌')"
width=
"100px"
>
<el-table-column
:label=
"$t('品牌')"
width=
"100px"
>
<
template
slot=
"header"
>
<
template
slot=
"header"
>
{{
$t
(
'
品牌
'
)
}}
<span
class=
"red"
>
*
</span>
{{
$t
(
'
品牌
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-form-item
label=
""
<el-form-item
label=
""
...
@@ -228,29 +255,33 @@
...
@@ -228,29 +255,33 @@
}"
}"
class="mb-0 mr-0"
class="mb-0 mr-0"
>
>
<dict-selector
v-model=
"scope.row.brandType"
:type=
"DICT_TYPE.ECW_IS_BRAND"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
<dict-selector
v-model=
"scope.row.brandType"
:type=
"DICT_TYPE.ECW_IS_BRAND"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('件数')"
width=
"90px"
>
<el-table-column
:label=
"$t('件数')"
width=
"90px"
>
<
template
slot=
"header"
>
<
template
slot=
"header"
>
{{
$t
(
'
件数
'
)
}}
<span
class=
"red"
>
*
</span>
{{
$t
(
'
件数
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
</
template
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-input-number
:min=
"0"
:controls=
"false"
style=
"width: 65px"
v-model.number=
"row.num"
:disabled=
"!canAddProduct || !productEditable"
/>
<el-input-number
:min=
"0"
:controls=
"false"
style=
"width: 65px"
v-model.number=
"row.num"
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('包装单位')"
width=
"100px"
>
<el-table-column
:label=
"$t('包装单位')"
width=
"100px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
'
包装单位
'
)
}}
<span
class=
"red"
>
*
</span>
{{
$t
(
'
包装单位
'
)
}}
<span
class=
"red"
>
*
</span>
</
template
>
</
template
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"`${$t('数量')}(${$t('个')})`"
width=
"120px"
>
<el-table-column
:label=
"`${$t('数量')}(${$t('个')})`"
width=
"120px"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-input-number
:min=
"1"
:step=
"1"
style=
"width: 80px;"
:controls=
"false"
v-model=
"row.quantity"
:disabled=
"!canAddProduct || !productEditable"
/>
<el-input-number
:min=
"1"
:step=
"1"
style=
"width: 80px;"
:controls=
"false"
v-model=
"row.quantity"
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('总体积') + '(m³)'"
width=
"120px"
>
<el-table-column
:label=
"$t('总体积') + '(m³)'"
width=
"120px"
>
...
@@ -262,7 +293,8 @@
...
@@ -262,7 +293,8 @@
]"
]"
class="mb-0 mr-0"
class="mb-0 mr-0"
>
>
<el-input-number
:min=
"0"
v-model=
"scope.row.volume"
:disabled=
"!canAddProduct || !productEditable"
:controls=
"false"
style=
"width: 80px"
/>
<el-input-number
:min=
"0"
v-model=
"scope.row.volume"
:disabled=
"!canAddProduct || !productEditable"
:controls=
"false"
style=
"width: 80px"
/>
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -275,13 +307,14 @@
...
@@ -275,13 +307,14 @@
]"
]"
class="mb-0 mr-0"
class="mb-0 mr-0"
>
>
<el-input-number
:min=
"0"
:controls=
"false"
style=
"width: 80px"
v-model=
"scope.row.weight"
:disabled=
"!canAddProduct || !productEditable"
/>
<el-input-number
:min=
"0"
:controls=
"false"
style=
"width: 80px"
v-model=
"scope.row.weight"
:disabled=
"!canAddProduct || !productEditable"
/>
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('总货值') + '(RMB)'"
width=
"100px"
>
<el-table-column
:label=
"$t('总货值') + '(RMB)'"
width=
"100px"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
{{
$t
(
'
货值
'
)
}}
(RMB)
<span
class=
"red"
>
*
</span>
{{
$t
(
'
货值
'
)
}}
(RMB)
<span
class=
"red"
>
*
</span>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-form-item
label=
""
<el-form-item
label=
""
...
@@ -293,39 +326,45 @@
...
@@ -293,39 +326,45 @@
class="mb-0 mr-0"
class="mb-0 mr-0"
>
>
<!--input事件在快速输入的时候,可能最后拿到的结果不是最后输入的参数,所以改成在blur的时候计算-->
<!--input事件在快速输入的时候,可能最后拿到的结果不是最后输入的参数,所以改成在blur的时候计算-->
<el-input-number
:min=
"0"
:controls=
"false"
style=
"width: 80px"
v-model.number=
"scope.row.worth"
:disabled=
"!canAddProduct"
@
blur=
"calculationPrice"
/>
<el-input-number
:min=
"0"
:controls=
"false"
style=
"width: 80px"
v-model.number=
"scope.row.worth"
:disabled=
"!canAddProduct"
@
blur=
"calculationPrice"
/>
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('商品特性')"
width=
"250px"
>
<el-table-column
:label=
"$t('商品特性')"
width=
"250px"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-checkbox-group
v-model=
"row.prodAttrArr"
@
change=
"onProductAttrChange(row, $event)"
:disabled=
"row.prodAttrArr.indexOf(4)!=-1||!canAddProduct || !productEditable"
>
<el-checkbox-group
v-model=
"row.prodAttrArr"
@
change=
"onProductAttrChange(row, $event)"
<el-checkbox
v-for=
"item in productAttrList"
:label=
"item.id"
:key=
"item.id"
>
{{
$l
(
item
,
'
attrName
'
)
}}
</el-checkbox>
:disabled=
"row.prodAttrArr.indexOf(4)!=-1||!canAddProduct || !productEditable"
>
<el-checkbox
v-for=
"item in productAttrList"
:label=
"item.id"
:key=
"item.id"
>
{{
$l
(
item
,
'
attrName
'
)
}}
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('是否预付')"
>
<el-table-column
:label=
"$t('是否预付')"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
v-if=
"row.fee"
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.fee.isPayAdvance"
/>
<dict-tag
v-if=
"row.fee"
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.fee.isPayAdvance"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('商品链接')"
width=
"200px"
align=
"center"
>
<el-table-column
:label=
"$t('商品链接')"
width=
"200px"
align=
"center"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-link
type=
"primary"
:href=
"row.link"
target=
"_blank"
style=
"display:block"
>
{{
row
.
link
}}
</el-link>
<el-link
type=
"primary"
:href=
"row.link"
target=
"_blank"
style=
"display:block"
>
{{
row
.
link
}}
</el-link>
<el-button
type=
"primary"
size=
"mini"
@
click=
"setLink(row)"
v-if=
"productEditable"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"setLink(row)"
v-if=
"productEditable"
>
{{
row
.
link
?
$t
(
'
编辑商品链接
'
)
:
$t
(
'
添加商品链接
'
)
}}
{{
row
.
link
?
$t
(
'
编辑商品链接
'
)
:
$t
(
'
添加商品链接
'
)
}}
</el-button>
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
width=
"100px"
>
<el-table-column
:label=
"$t('快递单号')"
width=
"100px"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-input
v-model=
"row.expressNo"
placeholder=
""
:disabled=
"!productEditable"
/>
<el-input
v-model=
"row.expressNo"
placeholder=
""
:disabled=
"!productEditable"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
width=
"80px"
fixed=
"right"
>
<el-table-column
:label=
"$t('操作')"
width=
"80px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"danger"
@
click=
"delProduct(scope.$index)"
:disabled=
"!productEditable || updateChannel"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"danger"
@
click=
"delProduct(scope.$index)"
:disabled=
"!productEditable || updateChannel"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -333,85 +372,86 @@
...
@@ -333,85 +372,86 @@
<!--
<!--
</el-card>
</el-card>
<el-card class="mt-10"> -->
<el-card class="mt-10"> -->
<div
class=
"card-title"
style=
"padding:20px 0;"
>
{{$t('合计')
}}
</div>
<div
class=
"card-title"
style=
"padding:20px 0;"
>
{{ $t('合计')
}}
</div>
<el-descriptions
:column=
"6"
border
>
<el-descriptions
:column=
"6"
border
>
<el-descriptions-item
:label=
"$t('总件数')"
>
<el-descriptions-item
:label=
"$t('总件数')"
>
{{sum.totalNum.toFixed()
}}
{{ sum.totalNum.toFixed()
}}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总体积')"
>
<el-descriptions-item
:label=
"$t('总体积')"
>
{{sum.totalVolume.toFixed()
}}m³
{{ sum.totalVolume.toFixed()
}}m³
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总重量')"
>
<el-descriptions-item
:label=
"$t('总重量')"
>
{{sum.totalWeight.toFixed()
}}kg
{{ sum.totalWeight.toFixed()
}}kg
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总数量')"
>
<el-descriptions-item
:label=
"$t('总数量')"
>
{{sum.totalQuatity.toFixed() || 0
}}
{{ sum.totalQuatity.toFixed() || 0
}}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总货值') + '(RMB)'"
>
<el-descriptions-item
:label=
"$t('总货值') + '(RMB)'"
>
{{sum.totalWorth.toFixed() || 0
}}元
{{ sum.totalWorth.toFixed() || 0
}}元
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('保价费')"
>
<el-descriptions-item
:label=
"$t('保价费')"
>
{{fee.insuranceFee || 0
}}
{{ fee.insuranceFee || 0
}}
{{ selectedRouter ? currentcyMap[selectedRouter.currencyUnit || 1] : '' }}
{{ selectedRouter ? currentcyMap[selectedRouter.currencyUnit || 1] : '' }}
</el-descriptions-item>
</el-descriptions-item>
</el-descriptions>
</el-descriptions>
</el-card>
</el-card>
<el-card
class=
"mt-10
"
>
<el-card
class=
"mt-10 right-label
"
>
<div
class=
"card-title"
slot=
"header"
>
{{$t('通用')
}}
</div>
<div
class=
"card-title"
slot=
"header"
>
{{ $t('通用')
}}
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('唛头')"
prop=
"marks"
class=
"w-500"
>
<el-form-item
:label=
"$t('唛头')"
prop=
"marks"
class=
"w-500"
>
<el-input
v-model=
"form.marks"
></el-input>
<el-input
v-model=
"form.marks"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('单证报关')"
:span=
"2"
prop=
"customsType"
>
<el-form-item
:label=
"$t('单证报关')"
:span=
"2"
prop=
"customsType"
>
<
template
#label
>
<
template
#label
>
{{
$t
(
'
单证报关
'
)
}}
{{
$t
(
'
单证报关
'
)
}}
<el-tooltip
effect=
"dark"
:content=
"$t('我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现')"
placement=
"top"
>
<el-tooltip
effect=
"dark"
:content=
"$t('我司全代 : 该货物的出口手续由我司代为办理 ; 自单代报: 该货物由发货人提供相关出口单证并委托我司代为办理 ;混单代报该货物有以上两种情况出现')"
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
</el-tooltip>
</el-tooltip>
</
template
>
</
template
>
<!--241023 已起运不让修改报关方式-->
<!--241023 已起运不让修改报关方式-->
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"form.customsType"
form-type=
"radio"
defaultable
:disabled=
"isShipment"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"form.customsType"
form-type=
"radio"
defaultable
:disabled=
"isShipment"
/>
<!--自单代报显示提示-->
<!--自单代报显示提示-->
<div
v-if=
"+form.customsType === 2"
style=
"color:red;font-size:14px"
>
{{$t('报关退税,请备齐资料。')
}}
</div>
<div
v-if=
"+form.customsType === 2"
style=
"color:red;font-size:14px"
>
{{ $t('报关退税,请备齐资料。')
}}
</div>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
v-if=
"form.transportId == 3"
>
<div
class=
"form-section"
v-if=
"form.transportId == 3"
>
<!--目的港清关:选择专线空运才显示,默认选中我司
<!--目的港清关:选择专线空运才显示,默认选中我司
我司选中后,按钮下方显示“多票”和“单票”的操作,默认选中多票。
我司选中后,按钮下方显示“多票”和“单票”的操作,默认选中多票。
客户选中后,按钮下方显示“单票”的操作,默认选中,无需点击-->
客户选中后,按钮下方显示“单票”的操作,默认选中,无需点击-->
<div
class=
"form-section w-500"
>
<el-form-item
:label=
"$t('目的港清关')"
class=
"w-500"
>
<el-form-item
:label=
"$t('目的港清关')"
>
<el-radio-group
v-model=
"form.portDestCustomsClear"
>
<el-radio-group
v-model=
"form.portDestCustomsClear"
>
<el-radio
:label=
"1"
>
<el-radio
:label=
"1"
>
{{$t('我司')
}}
{{ $t('我司')
}}
<el-tooltip
effect=
"dark"
:content=
"$t('我司承接')"
placement=
"top"
>
<el-tooltip
effect=
"dark"
:content=
"$t('我司承接')"
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
</el-tooltip>
</el-tooltip>
</el-radio>
</el-radio>
<el-radio
:label=
"2"
>
<el-radio
:label=
"2"
>
{{$t('客户')
}}
{{ $t('客户')
}}
<el-tooltip
effect=
"dark"
:content=
"$t('客户自清')"
placement=
"top"
>
<el-tooltip
effect=
"dark"
:content=
"$t('客户自清')"
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
</el-tooltip>
</el-tooltip>
</el-radio>
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('发货方式')"
>
<el-form-item
:label=
"$t('发货方式')"
>
<el-radio-group
v-model=
"form.deliveryWay"
>
<el-radio-group
v-model=
"form.deliveryWay"
>
<el-radio
:label=
"1"
v-if=
"form.portDestCustomsClear == 1"
>
{{$t('多票')
}}
</el-radio>
<el-radio
:label=
"1"
v-if=
"form.portDestCustomsClear == 1"
>
{{ $t('多票')
}}
</el-radio>
<el-radio
:label=
"2"
>
{{$t('单票')
}}
</el-radio>
<el-radio
:label=
"2"
>
{{ $t('单票')
}}
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</div>
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('是否控货')"
prop=
"isCargoControl"
class=
"w-500"
>
<el-form-item
:label=
"$t('是否控货')"
prop=
"isCargoControl"
class=
"w-500"
>
<
template
#label
>
<
template
#label
>
{{
$t
(
'
是否控货
'
)
}}
{{
$t
(
'
是否控货
'
)
}}
<el-tooltip
effect=
"dark"
:content=
"$t('是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式')"
placement=
"top"
>
<el-tooltip
effect=
"dark"
:content=
"$t('是指由发货人与收货人约定在货物的国际运输过程中,我司作为第三方对该货物货权的控制;需由发货人授权我司放货的情况下收货人才能提取该票货物的一种交易方式')"
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
</el-tooltip>
</el-tooltip>
</
template
>
</
template
>
...
@@ -427,41 +467,47 @@
...
@@ -427,41 +467,47 @@
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('付款人')"
prop=
"drawee"
class=
"w-500"
>
<el-form-item
:label=
"$t('付款人')"
prop=
"drawee"
class=
"w-500"
>
<dict-selector
:formatter=
"Number"
:type=
"DICT_TYPE.DRAWEE"
v-model=
"form.drawee"
defaultable
form-type=
"radio"
:disabled=
"false"
/>
<dict-selector
:formatter=
"Number"
:type=
"DICT_TYPE.DRAWEE"
v-model=
"form.drawee"
defaultable
<el-table
:data=
"customDraweeList"
v-if=
"form.drawee==3"
>
form-type=
"radio"
:disabled=
"false"
/>
<el-table
:data=
"customDraweeList"
v-if=
"form.drawee==3"
>
<el-table-column
:label=
"$t('费用类型')"
prop=
"label"
width=
"200px"
></el-table-column>
<el-table-column
:label=
"$t('费用类型')"
prop=
"label"
width=
"200px"
></el-table-column>
<el-table-column
:label=
"$t('付款人')"
width=
"300px"
>
<el-table-column
:label=
"$t('付款人')"
width=
"300px"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<dict-selector
:formatter=
"Number"
:type=
"DICT_TYPE.DRAWEE"
:filter=
"(e) => e.value == 1 || e.value == 2"
v-model=
"row.value"
form-type=
"radio"
:disabled=
"false"
/>
<dict-selector
:formatter=
"Number"
:type=
"DICT_TYPE.DRAWEE"
:filter=
"(e) => e.value == 1 || e.value == 2"
v-model=
"row.value"
form-type=
"radio"
:disabled=
"false"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('提单是否显示价格')"
prop=
"displayBillLadingPrice"
>
<el-form-item
:label=
"$t('提单是否显示价格')"
prop=
"displayBillLadingPrice"
>
<el-radio-group
v-model=
"form.displayBillLadingPrice"
>
<el-radio-group
v-model=
"form.displayBillLadingPrice"
>
<el-radio
:label=
"true"
>
{{$t('显示')
}}
</el-radio>
<el-radio
:label=
"true"
>
{{ $t('显示')
}}
</el-radio>
<el-radio
:label=
"false"
>
{{$t('不显示')
}}
</el-radio>
<el-radio
:label=
"false"
>
{{ $t('不显示')
}}
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section flex"
>
<div
class=
"form-section flex"
>
<el-form-item
:label=
"$t('入仓类型')"
prop=
"warehouseType"
class=
"w-500"
>
<el-form-item
:label=
"$t('入仓类型')"
prop=
"warehouseType"
class=
"w-500"
>
<dict-selector
:type=
"DICT_TYPE.ECW_WAREHOUSING_TYPE"
v-model=
"form.warehouseType"
defaultable
:disabled=
"false"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_WAREHOUSING_TYPE"
v-model=
"form.warehouseType"
defaultable
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
<div>
<div>
<el-form-item
:label=
"$t('外部仓库')"
prop=
"isExternalWarehouse"
>
<el-form-item
:label=
"$t('外部仓库')"
prop=
"isExternalWarehouse"
>
<el-checkbox
label=
""
v-model=
"form.isExternalWarehouse"
@
change=
"form.isExternalWarehouse=$event"
:disabled=
"false"
></el-checkbox>
<el-checkbox
label=
""
v-model=
"form.isExternalWarehouse"
@
change=
"form.isExternalWarehouse=$event"
:disabled=
"false"
></el-checkbox>
</el-form-item>
</el-form-item>
<div
v-if=
"form.isExternalWarehouse"
>
<div
v-if=
"form.isExternalWarehouse"
>
<div
v-for=
"(item, index) in form.externalWarehouseDtoList"
class=
"flex"
:key=
"index"
>
<div
v-for=
"(item, index) in form.externalWarehouseDtoList"
class=
"flex"
:key=
"index"
>
<div
class=
"w-30
0"
>
<div
class=
"w-38
0"
>
<el-form-item
:label=
"$t('装货时间')"
<el-form-item
:label=
"$t('装货时间')"
:prop=
"'externalWarehouseDtoList.' + index + '.estLoadingTime'"
:prop=
"'externalWarehouseDtoList.' + index + '.estLoadingTime'"
:rules=
"{
:rules=
"{
required: true, message: '装货时间不能为空', trigger: 'blur'
required: true, message: '装货时间不能为空', trigger: 'blur'
}"
}"
>
>
<el-date-picker
v-model=
"item.estLoadingTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-200"
></el-date-picker>
<el-date-picker
v-model=
"item.estLoadingTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-200"
></el-date-picker>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"w-500"
>
<div
class=
"w-500"
>
...
@@ -473,8 +519,11 @@
...
@@ -473,8 +519,11 @@
>
>
<el-input
v-model=
"item.loadingAddress"
placeholder=
""
class=
"w-200"
></el-input>
<el-input
v-model=
"item.loadingAddress"
placeholder=
""
class=
"w-200"
></el-input>
</el-form-item>
</el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-plus"
v-if=
"index==0"
@
click=
"form.externalWarehouseDtoList.push({})"
></el-button>
<el-button
type=
"primary"
icon=
"el-icon-plus"
v-if=
"index==0"
<el-button
type=
"danger"
icon=
"el-icon-delete"
v-else-if=
"index == form.externalWarehouseDtoList.length-1"
@
click=
"form.externalWarehouseDtoList.splice(index, 1)"
></el-button>
@
click=
"form.externalWarehouseDtoList.push({})"
></el-button>
<el-button
type=
"danger"
icon=
"el-icon-delete"
v-else-if=
"index == form.externalWarehouseDtoList.length-1"
@
click=
"form.externalWarehouseDtoList.splice(index, 1)"
></el-button>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -485,30 +534,32 @@
...
@@ -485,30 +534,32 @@
<el-date-picker
v-model=
"form.deliveryDate"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
v-model=
"form.deliveryDate"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('是否代收货款')"
prop=
"isCollection"
v-if=
"collectionProxy"
class=
"w-500"
>
<el-form-item
:label=
"$t('是否代收货款')"
prop=
"isCollection"
v-if=
"collectionProxy"
class=
"w-500"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
v-model=
"form.isCollection"
form-type=
"radio"
:disabled=
"false"
/>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
v-model=
"form.isCollection"
form-type=
"radio"
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-form-item
:label=
"$t('代收货款金额')"
v-if=
"collectionProxy && form.isCollection"
prop=
"collectionProxy"
>
<el-form-item
:label=
"$t('代收货款金额')"
v-if=
"collectionProxy && form.isCollection"
prop=
"collectionProxy"
>
<el-input
type=
"number"
v-model=
"form.collectionProxy"
class=
"w-200 mr-10"
:disabled=
"false"
></el-input>
<el-input
type=
"number"
v-model=
"form.collectionProxy"
class=
"w-200 mr-10"
:disabled=
"false"
></el-input>
<selector
v-model=
"form.collectionProxyCurrency"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
class=
"w-100"
:disabled=
"false"
/>
<selector
v-model=
"form.collectionProxyCurrency"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
class=
"w-100"
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section flex"
>
<div
class=
"form-section flex"
>
<el-form-item
:label=
"$t('收货方式')"
prop=
"harvestMethod"
class=
"w-500"
>
<el-form-item
:label=
"$t('收货方式')"
prop=
"harvestMethod"
class=
"w-500"
>
<el-select
v-model=
"form.harvestMethod"
@
change=
"handleChange"
>
<el-select
v-model=
"form.harvestMethod"
@
change=
"handleChange"
>
<el-option
:label=
"$t('自提')"
:value=
"1"
></el-option>
<el-option
:label=
"$t('自提')"
:value=
"1"
></el-option>
<el-option
v-if=
"homeDeliveryService"
:label=
"$t('送货上门')"
:value=
"2"
></el-option>
<el-option
v-if=
"homeDeliveryService"
:label=
"$t('送货上门')"
:value=
"2"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('关联报价单')"
prop=
"offerId"
>
<el-form-item
:label=
"$t('关联报价单')"
prop=
"offerId"
>
<span
v-if=
"offerIdNochange&&offerNumber"
>
{{offerNumber
}}
</span>
<span
v-if=
"offerIdNochange&&offerNumber"
>
{{ offerNumber
}}
</span>
<el-select
<el-select
v-else
v-else
v-model=
"form.offerId"
v-model=
"form.offerId"
filterable
filterable
clearable
clearable
reserve-keyword
reserve-keyword
:disabled =
"offerIdNochange"
:disabled=
"offerIdNochange"
:placeholder=
"$t('请选择')"
:placeholder=
"$t('请选择')"
>
>
<el-option
<el-option
...
@@ -543,41 +594,50 @@
...
@@ -543,41 +594,50 @@
<div
class=
"card-title"
>
其他
</div>
<div
class=
"card-title"
>
其他
</div>
</
template
>
</
template
>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('特殊要求')"
>
<el-form-item
:label=
"$t('特殊要求')"
>
<
template
#label
>
<
template
#label
>
{{
$t
(
'
特殊要求
'
)
}}
{{
$t
(
'
特殊要求
'
)
}}
<el-tooltip
effect=
"dark"
:content=
"$t('如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充')"
placement=
"top"
>
<el-tooltip
effect=
"dark"
:content=
"$t('如需我司打包,请勾选相应选项,费用付款人及打包要求可备注补充')"
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
</el-tooltip>
</el-tooltip>
</
template
>
</
template
>
<dict-selector
v-model=
"form.packageTypeArr"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
:disabled=
"false"
/>
<dict-selector
v-model=
"form.packageTypeArr"
form-type=
"checkbox"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
multiple
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('特殊要求备注')"
>
<el-form-item
:label=
"$t('特殊要求备注')"
>
<el-input
v-model=
"form.packageRemarks"
:disabled=
"false"
></el-input>
<el-input
v-model=
"form.packageRemarks"
:disabled=
"false"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('快递单号')"
>
<el-form-item
:label=
"$t('快递单号')"
>
<el-input
v-model=
"form.number"
:placeholder=
"$t('请输入购买商品的快递单号')"
:disabled=
"false"
>
<el-input
v-model=
"form.number"
:placeholder=
"$t('请输入购买商品的快递单号')"
:disabled=
"false"
>
<el-button
type=
"primary"
slot=
"append"
@
click=
"getOrderCourierNumber"
:disabled=
"false"
>
{{$t('生成单号')}}
</el-button>
<el-button
type=
"primary"
slot=
"append"
@
click=
"getOrderCourierNumber"
:disabled=
"false"
>
{{ $t('生成单号') }}
</el-button>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<div
class=
"form-section"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('清关证书')"
>
<el-form-item
:label=
"$t('清关证书')"
>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
:defaultable=
"!editMode"
:disabled=
"false"
/>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
:defaultable=
"!editMode"
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('清关证书备注')"
>
<el-form-item
:label=
"$t('清关证书备注')"
>
<el-input
v-model=
"form.customsClearCertRemarks"
:disabled=
"false"
></el-input>
<el-input
v-model=
"form.customsClearCertRemarks"
:disabled=
"false"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<div
class=
"form-section"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<div
class=
"form-section"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('是否拆包')"
>
<el-form-item
:label=
"$t('是否拆包')"
>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
:defaultable=
"!editMode"
:disabled=
"false"
/>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
:defaultable=
"!editMode"
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('单票立刻转运')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('单票立刻转运')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.isSingleTicketTransport"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
:defaultable=
"!editMode"
:disabled=
"false"
/>
<dict-selector
v-model=
"form.isSingleTicketTransport"
form-type=
"radio"
<span
style=
"margin-left:10px"
>
{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}
</span>
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
:defaultable=
"!editMode"
:disabled=
"false"
/>
<span
style=
"margin-left:10px"
>
{{ $t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”') }}
</span>
</el-form-item>
</el-form-item>
</div>
</div>
<!-- 20240823 新需求改动:屏蔽出单方式 和 是否双清字段
<!-- 20240823 新需求改动:屏蔽出单方式 和 是否双清字段
...
@@ -600,52 +660,58 @@
...
@@ -600,52 +660,58 @@
</el-card>
</el-card>
<el-card
class=
"mt-10"
v-if=
"showWorkFlow"
>
<el-card
class=
"mt-10"
v-if=
"showWorkFlow"
>
<div
class=
"card-title"
slot=
"header"
>
{{$t('审批流程')
}}
</div>
<div
class=
"card-title"
slot=
"header"
>
{{ $t('审批流程')
}}
</div>
<work-flow
:xmlkey=
"updateChannel ? 'shipment_channel_change' : 'order_modify'"
v-model=
"ccIdArr"
/>
<work-flow
:xmlkey=
"updateChannel ? 'shipment_channel_change' : 'order_modify'"
v-model=
"ccIdArr"
/>
</el-card>
</el-card>
<div
style=
"margin: 30px 0; display: flex"
>
<div
style=
"margin: 30px 0; display: flex"
>
<!--返回按钮应该在表单被禁用的情况下也可以点击,所以需要用一个form来包裹以脱离原form的disabled控制-->
<!--返回按钮应该在表单被禁用的情况下也可以点击,所以需要用一个form来包裹以脱离原form的disabled控制-->
<el-form
inline
class=
"mr-10"
>
<el-form
inline
class=
"mr-10"
>
<el-button
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('返回')
}}
</el-button>
<el-button
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{ $t('返回')
}}
</el-button>
</el-form>
</el-form>
<
template
v-if=
"form.applyStatus == 1"
>
<
template
v-if=
"form.applyStatus == 1"
>
<el-button
type=
"primary"
@
click=
"$router.push('/bpm/process-instance/detail?id=' + form.formId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"$router.push('/bpm/process-instance/detail?id=' + form.formId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
</
template
>
</
template
>
<!--更新渠道的时候用一个form包裹按钮,脱离原form的disabled控制-->
<!--更新渠道的时候用一个form包裹按钮,脱离原form的disabled控制-->
<el-form
v-else-if=
"updateChannel"
inline
>
<el-form
v-else-if=
"updateChannel"
inline
>
<el-button
type=
"primary"
@
click=
"submitForm(2)"
>
{{$t('编辑订单')
}}
</el-button>
<!--修改-->
<el-button
type=
"primary"
@
click=
"submitForm(2)"
>
{{ $t('编辑订单')
}}
</el-button>
<!--修改-->
</el-form>
</el-form>
<
template
v-else
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"submitForm(0)"
v-if=
"!form.status"
>
{{
$t
(
'
保存草稿
'
)
}}
</el-button>
<!--草稿-->
<el-button
type=
"primary"
@
click=
"submitForm(0)"
v-if=
"!form.status"
>
{{
$t
(
'
保存草稿
'
)
}}
</el-button>
<!--草稿-->
<el-button
type=
"primary"
@
click=
"submitForm(2)"
v-if=
"!form.orderId || !form.status"
>
{{
$t
(
'
新建订单
'
)
}}
</el-button>
<!--待入仓-->
<el-button
type=
"primary"
@
click=
"submitForm(2)"
v-if=
"!form.orderId || !form.status"
>
{{
$t
(
'
新建订单
'
)
}}
<el-button
type=
"primary"
@
click=
"submitForm(2)"
v-else
>
{{
$t
(
'
编辑订单
'
)
}}
</el-button>
<!--修改-->
</el-button>
<!--待入仓-->
<el-button
type=
"primary"
@
click=
"submitForm(2)"
v-else
>
{{
$t
(
'
编辑订单
'
)
}}
</el-button>
<!--修改-->
</
template
>
</
template
>
</div>
</div>
</el-form>
</el-form>
<el-dialog
:title=
"$t('批量导入')"
:visible.sync=
"showBatchImportDialog"
width=
"1000px"
:close-on-click-modal=
"false"
>
<el-dialog
:title=
"$t('批量导入')"
:visible.sync=
"showBatchImportDialog"
width=
"1000px"
:close-on-click-modal=
"false"
>
<el-steps
:active=
"importList.length > 0 ? 1 : 0"
finish-status=
"success"
class=
"w-500"
style=
"margin: 20px auto"
>
<el-steps
:active=
"importList.length > 0 ? 1 : 0"
finish-status=
"success"
class=
"w-500"
style=
"margin: 20px auto"
>
<el-step
:title=
"$t('上传装箱单')"
></el-step>
<el-step
:title=
"$t('上传装箱单')"
></el-step>
<el-step
:title=
"$t('开始导入')"
></el-step>
<el-step
:title=
"$t('开始导入')"
></el-step>
<el-step
:title=
"$t('完成')"
></el-step>
<el-step
:title=
"$t('完成')"
></el-step>
</el-steps>
</el-steps>
<div
class=
"mt-20"
>
<div
class=
"mt-20"
>
<el-upload
:http-request=
"upload"
:show-file-list=
"false"
action=
""
class=
"mr-10"
style=
"display:inline-block; "
>
<el-upload
:http-request=
"upload"
:show-file-list=
"false"
action=
""
class=
"mr-10"
<el-button
size=
"small"
type=
"primary"
>
{{$t('点击上传')}}
</el-button>
style=
"display:inline-block; "
>
<el-button
size=
"small"
type=
"primary"
>
{{ $t('点击上传') }}
</el-button>
</el-upload>
</el-upload>
<el-button
type=
"info"
@
click=
"downloadTpl"
size=
"small"
:loading=
"exportLoading"
>
{{$t('装箱单模板')}}
</el-button>
<el-button
type=
"info"
@
click=
"downloadTpl"
size=
"small"
:loading=
"exportLoading"
>
{{ $t('装箱单模板') }}
</el-button>
</div>
</div>
<el-table
:data=
"importList"
class=
"mt-10"
height=
"300"
>
<el-table
:data=
"importList"
class=
"mt-10"
height=
"300"
>
<el-table-column
:label=
"$t('序号')"
>
<el-table-column
:label=
"$t('序号')"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('中文品名')"
prop=
"prodTitleZh"
></el-table-column>
<el-table-column
:label=
"$t('中文品名')"
prop=
"prodTitleZh"
></el-table-column>
<el-table-column
:label=
"$t('英文品名')"
prop=
"prodTitleEn"
></el-table-column>
<el-table-column
:label=
"$t('英文品名')"
prop=
"prodTitleEn"
></el-table-column>
<el-table-column
:label=
"$t('品牌')"
prop=
"brand"
>
<el-table-column
:label=
"$t('品牌')"
prop=
"brand"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('件数')"
prop=
"num"
></el-table-column>
<el-table-column
:label=
"$t('件数')"
prop=
"num"
></el-table-column>
...
@@ -658,13 +724,15 @@
...
@@ -658,13 +724,15 @@
</el-table>
</el-table>
<div
class=
"mt-10 center"
>
<div
class=
"mt-10 center"
>
<el-button
type=
"primary"
@
click=
"addToProductList"
>
{{$t('下一步')
}}
</el-button>
<el-button
type=
"primary"
@
click=
"addToProductList"
>
{{ $t('下一步')
}}
</el-button>
<el-button
type=
"default"
@
click=
"showBatchImportDialog=false"
>
{{$t('取消')
}}
</el-button>
<el-button
type=
"default"
@
click=
"showBatchImportDialog=false"
>
{{ $t('取消')
}}
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<choose-contact-dialog
v-if=
"!!contactChooseType"
:type=
"2"
@
choose=
"onContactChoose"
@
close=
"contactChooseType=null"
/>
<choose-contact-dialog
v-if=
"!!contactChooseType"
:type=
"2"
@
choose=
"onContactChoose"
<quick-create-customer
v-if=
"quickCreateType"
:type=
"quickCreateType"
@
success=
"onContactChoose"
@
close=
"quickCreateType=null"
/>
@
close=
"contactChooseType=null"
/>
<quick-create-customer
v-if=
"quickCreateType"
:type=
"quickCreateType"
@
success=
"onContactChoose"
@
close=
"quickCreateType=null"
/>
</div>
</div>
</template>
</template>
...
@@ -684,8 +752,8 @@ import {getProductAttrList} from '@/api/ecw/productAttr'
...
@@ -684,8 +752,8 @@ import {getProductAttrList} from '@/api/ecw/productAttr'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
Selector
from
'
@/components/Selector
'
import
Selector
from
'
@/components/Selector
'
import
CustomerContactSelector
from
'
@/components/CustomerContactSelector
'
import
CustomerContactSelector
from
'
@/components/CustomerContactSelector
'
import
{
getGuojiaAndShiAndWarehouseList
,
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
import
{
getGuojiaAndShiAndWarehouseList
,
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
import
{
checkCountryCode
,
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
checkCountryCode
,
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
getDictData
,
getDictDatas
}
from
'
@/utils/dict
'
import
{
getDictData
,
getDictDatas
}
from
'
@/utils/dict
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
...
@@ -698,9 +766,9 @@ import {calculationPrice} from '@/api/ecw/product'
...
@@ -698,9 +766,9 @@ import {calculationPrice} from '@/api/ecw/product'
import
SupplierSelector
from
'
@/components/SupplierSelector
'
import
SupplierSelector
from
'
@/components/SupplierSelector
'
import
Decimal
from
'
decimal.js
'
import
Decimal
from
'
decimal.js
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
{
getCustomer
}
from
"
@/api/ecw/customer
"
;
import
{
getCustomer
}
from
"
@/api/ecw/customer
"
;
import
{
debounce
}
from
"
@/utils
"
;
import
{
debounce
}
from
"
@/utils
"
;
import
{
getOfferSelect
,
getOfferCheck
}
from
"
@/api/ecw/offer
"
import
{
getOfferSelect
,
getOfferCheck
}
from
"
@/api/ecw/offer
"
import
Template
from
'
@/views/cms/template/index.vue
'
import
Template
from
'
@/views/cms/template/index.vue
'
// 缓存默认的表单数据
// 缓存默认的表单数据
...
@@ -710,14 +778,14 @@ let makeDefaultFormData = () => {
...
@@ -710,14 +778,14 @@ let makeDefaultFormData = () => {
lineId
:
null
,
lineId
:
null
,
objectiveId
:
null
,
objectiveId
:
null
,
departureId
:
null
,
departureId
:
null
,
status
:
0
,
status
:
0
,
sendstatus
:
0
,
sendstatus
:
0
,
isCargoControl
:
false
,
isCargoControl
:
false
,
isCollection
:
false
,
isCollection
:
false
,
type
:[],
type
:
[],
isExternalWarehouse
:
false
,
isExternalWarehouse
:
false
,
externalWarehouseDtoList
:[],
externalWarehouseDtoList
:
[],
orderItemVOList
:[],
orderItemVOList
:
[],
drawee
:
2
,
drawee
:
2
,
harvestMethod
:
1
,
harvestMethod
:
1
,
displayBillLadingPrice
:
true
displayBillLadingPrice
:
true
...
@@ -729,11 +797,20 @@ export default {
...
@@ -729,11 +797,20 @@ export default {
name
:
"
EcwOrderEdit
"
,
name
:
"
EcwOrderEdit
"
,
components
:
{
components
:
{
Template
,
Template
,
ProductSelector
,
Selector
,
CustomerContactSelector
,
AreaSelector
,
FileUpload
,
AreaCodeSelector
,
ChooseContactDialog
,
QuickCreateCustomer
,
SupplierSelector
,
WorkFlow
ProductSelector
,
Selector
,
CustomerContactSelector
,
AreaSelector
,
FileUpload
,
AreaCodeSelector
,
ChooseContactDialog
,
QuickCreateCustomer
,
SupplierSelector
,
WorkFlow
},
},
data
()
{
data
()
{
let
validatorPositiveNumber
=
(
rule
,
value
,
callback
)
=>
{
let
validatorPositiveNumber
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
||
value
==
''
)
return
callback
();
if
(
!
value
||
value
==
''
)
return
callback
();
if
(
!
value
)
return
callback
(
new
Error
(
'
请输入数字
'
))
if
(
!
value
)
return
callback
(
new
Error
(
'
请输入数字
'
))
if
(
!
Number
(
value
))
return
callback
(
new
Error
(
'
请输入有效数字
'
))
if
(
!
Number
(
value
))
return
callback
(
new
Error
(
'
请输入有效数字
'
))
let
reg
=
/
((
^
[
1-9
]\d
*
)
|^0
)(\.\d
*
){0,1}
$/
;
let
reg
=
/
((
^
[
1-9
]\d
*
)
|^0
)(\.\d
*
){0,1}
$/
;
...
@@ -747,18 +824,18 @@ export default {
...
@@ -747,18 +824,18 @@ export default {
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
//productList:[], // 商品信息
//productList:[], // 商品信息
productAttrList
:[],
// 商品属性
productAttrList
:
[],
// 商品属性
channelList
:
[],
// 出货取到
channelList
:
[],
// 出货取到
routerList
:
[],
routerList
:
[],
tradeCityList
:
[],
tradeCityList
:
[],
treeList
:
[],
treeList
:
[],
consignorContact
:
{},
// 发货联系人
consignorContact
:
{},
// 发货联系人
consigneeContact
:{},
// 收货联系人
consigneeContact
:
{},
// 收货联系人
/* consignee: null,
/* consignee: null,
consignor: null, */
consignor: null, */
transportList
:
[],
transportList
:
[],
currencyList
:[],
currencyList
:
[],
unitList
:[],
unitList
:
[],
couponList
:
[],
couponList
:
[],
couponTypeList
:
[],
couponTypeList
:
[],
fee
:
{},
// 费用
fee
:
{},
// 费用
...
@@ -768,7 +845,7 @@ export default {
...
@@ -768,7 +845,7 @@ export default {
// 表单校验
// 表单校验
labelStyle
:
'
width:120px
'
,
labelStyle
:
'
width:120px
'
,
showBatchImportDialog
:
false
,
// 显示批量导入弹窗
showBatchImportDialog
:
false
,
// 显示批量导入弹窗
importList
:[],
importList
:
[],
exportLoading
:
false
,
// 装下单模板下载状态
exportLoading
:
false
,
// 装下单模板下载状态
contactChooseType
:
null
,
// 联系人选择对象consignor(发货人) 或者 consignee(收货人)
contactChooseType
:
null
,
// 联系人选择对象consignor(发货人) 或者 consignee(收货人)
quickCreateType
:
null
,
// 快速新建客户类型,1发货人,2收货人
quickCreateType
:
null
,
// 快速新建客户类型,1发货人,2收货人
...
@@ -777,14 +854,16 @@ export default {
...
@@ -777,14 +854,16 @@ export default {
initing
:
true
,
// 初始化中,
initing
:
true
,
// 初始化中,
updateChannel
:
false
,
// 是否更新渠道
updateChannel
:
false
,
// 是否更新渠道
offerData
:
[],
// 关联报价单
offerData
:
[],
// 关联报价单
offerIdNochange
:
false
,
offerIdNochange
:
false
,
offerNumber
:
null
,
offerNumber
:
null
,
showAdress
:
false
,
showAdress
:
false
,
// harvestMethod2: null,
// harvestMethod2: null,
/* lunchList: [
/* lunchList: [
{ label: "自提", value: 1 },
{ label: "自提", value: 1 },
{ label: "送货上门", value: 2 },
{ label: "送货上门", value: 2 },
], */
], */
// 发货人客户最新信息
consignorCustomer
:
null
,
// 发货人是否允许控货无收货人
// 发货人是否允许控货无收货人
noConsignee
:
false
,
noConsignee
:
false
,
// 是否有收货人
// 是否有收货人
...
@@ -793,13 +872,13 @@ export default {
...
@@ -793,13 +872,13 @@ export default {
showFullConsignor
:
false
,
showFullConsignor
:
false
,
// 是否展示全部收货人信息
// 是否展示全部收货人信息
showFullConsignee
:
false
,
showFullConsignee
:
false
,
destCountryList
:[],
destCountryList
:
[],
destCityList
:
[],
destCityList
:
[],
selectedRouter
:
null
selectedRouter
:
null
};
};
},
},
computed
:{
computed
:
{
rules
(){
rules
()
{
const
rules
=
{
const
rules
=
{
marks
:
[
marks
:
[
{
required
:
true
,
message
:
this
.
$t
(
'
请填写唛头
'
)},
{
required
:
true
,
message
:
this
.
$t
(
'
请填写唛头
'
)},
...
@@ -815,56 +894,63 @@ export default {
...
@@ -815,56 +894,63 @@ export default {
trigger
:
'
blur
'
trigger
:
'
blur
'
}
}
],
],
consignorContactsId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
发货人不能为空
'
)}],
consignorContactsId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
发货人不能为空
'
)}],
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择运输方式
'
)}],
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择运输方式
'
)}],
departureId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择始发城市
'
)}],
departureId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择始发城市
'
)}],
objectiveId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择目的城市
'
)}],
destCountryId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择目的国家
'
)}],
lineId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择路线
'
)}],
lineId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择路线
'
)}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择出货渠道
'
)}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择出货渠道
'
)}],
deliveryDate
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择预计送货日期
'
)}],
deliveryDate
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择预计送货日期
'
)}],
consigneeAddress
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请填写详细地址
'
)}],
consigneeAddress
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请填写详细地址
'
)}],
country
:
[{
required
:
true
,
message
:
this
.
$t
(
'
收货地区填写不完整
'
)}],
country
:
[{
required
:
true
,
message
:
this
.
$t
(
'
收货地区填写不完整
'
)}],
isCargoControl
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择是否控货
'
)}],
isCargoControl
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择是否控货
'
)}],
isCollection
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择代收货款
'
)}],
isCollection
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择代收货款
'
)}],
collectionProxy
:
[{
required
:
true
,
message
:
this
.
$t
(
'
代收货款不能为空
'
)}],
collectionProxy
:
[{
required
:
true
,
message
:
this
.
$t
(
'
代收货款不能为空
'
)}],
customsType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择单证报关
'
)}],
customsType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择单证报关
'
)}],
warehouseType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择入仓类型
'
)}],
warehouseType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择入仓类型
'
)}],
harvestMethod
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择收货方式
'
)}]
harvestMethod
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择收货方式
'
)}]
}
}
// 有收货人则添加收货人校验
// 有收货人则添加收货人校验
if
(
this
.
hasConsignee
)
{
if
(
this
.
hasConsignee
)
{
rules
.
consigneeContactsId
=
[{
required
:
true
,
message
:
this
.
$t
(
'
收货人不能为空
'
)}]
rules
.
consigneeContactsId
=
[{
required
:
true
,
message
:
this
.
$t
(
'
收货人不能为空
'
)}]
}
}
return
rules
return
rules
},
},
// 是否已完成入仓
// 是否已完成入仓
inWarehouse
(){
inWarehouse
()
{
return
(
!!
this
.
form
.
inWarehouseState
&&
this
.
form
.
inWarehouseState
>
201
)
||
this
.
form
.
shipmentState
>
0
return
(
!!
this
.
form
.
inWarehouseState
&&
this
.
form
.
inWarehouseState
>
201
)
||
this
.
form
.
shipmentState
>
0
},
},
exportCityList
(){
exportCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
||
item
.
type
==
3
)
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
||
item
.
type
==
3
)
},
},
importCityList
(){
importCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
||
item
.
type
==
3
)
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
||
item
.
type
==
3
)
},
},
exportCityIds
(){
exportCityIds
()
{
let
ids
=
[]
let
ids
=
[]
this
.
exportCityList
.
forEach
(
item
=>
{
this
.
exportCityList
.
forEach
(
item
=>
{
ids
.
push
(
item
.
id
)
ids
.
push
(
item
.
id
)
})
})
return
ids
return
ids
},
},
importC
ityIds
()
{
importC
ountryIds
()
{
let
ids
=
[]
let
ids
=
[]
this
.
importCit
yList
.
forEach
(
item
=>
{
this
.
destCountr
yList
.
forEach
(
item
=>
{
ids
.
push
(
item
.
id
)
ids
.
push
(
item
.
guojia
)
})
})
return
ids
return
ids
},
},
getDictData
(){
importCityIds
()
{
let
ids
=
[]
this
.
destCityList
.
forEach
(
item
=>
{
ids
.
push
(
item
.
shi
)
})
return
ids
},
getDictData
()
{
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
},
},
getDictDatas
(){
getDictDatas
()
{
return
getDictDatas
return
getDictDatas
},
},
/* selectedRouter(){
/* selectedRouter(){
...
@@ -873,45 +959,45 @@ export default {
...
@@ -873,45 +959,45 @@ export default {
return this.routerList.find(item => item.id == this.form.lineId)
return this.routerList.find(item => item.id == this.form.lineId)
}, */
}, */
// 送货上门
// 送货上门
homeDeliveryService
(){
homeDeliveryService
()
{
return
this
.
selectedRouter
&&
this
.
selectedRouter
.
otherService
&&
this
.
selectedRouter
.
otherService
.
indexOf
(
'
2
'
)
>
-
1
return
this
.
selectedRouter
&&
this
.
selectedRouter
.
otherService
&&
this
.
selectedRouter
.
otherService
.
indexOf
(
'
2
'
)
>
-
1
},
},
// 代收货款(非控货订单,且路线开通了代收服务)
// 代收货款(非控货订单,且路线开通了代收服务)
collectionProxy
(){
collectionProxy
()
{
return
!
this
.
form
.
isCargoControl
&&
this
.
selectedRouter
&&
this
.
selectedRouter
.
otherService
&&
this
.
selectedRouter
.
otherService
.
indexOf
(
'
3
'
)
>
-
1
return
!
this
.
form
.
isCargoControl
&&
this
.
selectedRouter
&&
this
.
selectedRouter
.
otherService
&&
this
.
selectedRouter
.
otherService
.
indexOf
(
'
3
'
)
>
-
1
},
},
// 根据渠道id显示渠道名
// 根据渠道id显示渠道名
getChannelNameById
(){
getChannelNameById
()
{
return
channelId
=>
{
return
channelId
=>
{
return
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)
?.
nameZh
return
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)?.
nameZh
}
}
},
},
// 当前运输方式
// 当前运输方式
transport
(){
transport
()
{
return
this
.
transportList
.
find
(
item
=>
item
.
value
==
this
.
form
.
transportId
)
return
this
.
transportList
.
find
(
item
=>
item
.
value
==
this
.
form
.
transportId
)
},
},
// 根据id获取优惠券
// 根据id获取优惠券
getCoupon
(){
getCoupon
()
{
return
couponId
=>
{
return
couponId
=>
{
if
(
!
couponId
)
return
null
if
(
!
couponId
)
return
null
return
this
.
couponList
.
find
(
item
=>
item
.
couponId
==
couponId
)
return
this
.
couponList
.
find
(
item
=>
item
.
couponId
==
couponId
)
}
}
},
},
currentcyMap
(){
currentcyMap
()
{
let
map
=
{}
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
item
.
titleZh
})
})
return
map
return
map
},
},
unitMap
(){
unitMap
()
{
let
map
=
{}
let
map
=
{}
this
.
unitList
.
forEach
(
item
=>
{
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
item
.
titleZh
})
})
return
map
return
map
},
},
sum
(){
sum
()
{
let
sum
=
{
let
sum
=
{
totalNum
:
new
Decimal
(
0
),
totalNum
:
new
Decimal
(
0
),
totalVolume
:
new
Decimal
(
0
),
totalVolume
:
new
Decimal
(
0
),
...
@@ -919,7 +1005,7 @@ export default {
...
@@ -919,7 +1005,7 @@ export default {
totalWorth
:
new
Decimal
(
0
),
totalWorth
:
new
Decimal
(
0
),
totalQuatity
:
new
Decimal
(
0
)
totalQuatity
:
new
Decimal
(
0
)
}
}
if
(
!
this
.
form
||
!
this
.
form
.
orderItemVOList
)
return
sum
if
(
!
this
.
form
||
!
this
.
form
.
orderItemVOList
)
return
sum
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
sum
.
totalNum
=
sum
.
totalNum
.
plus
(
item
.
num
||
0
)
sum
.
totalNum
=
sum
.
totalNum
.
plus
(
item
.
num
||
0
)
sum
.
totalVolume
=
sum
.
totalVolume
.
plus
(
item
.
volume
||
0
)
sum
.
totalVolume
=
sum
.
totalVolume
.
plus
(
item
.
volume
||
0
)
...
@@ -930,51 +1016,51 @@ export default {
...
@@ -930,51 +1016,51 @@ export default {
return
sum
return
sum
},
},
// 总优惠金额
// 总优惠金额
discount
(){
discount
()
{
return
0
return
0
},
},
// 是否编辑
// 是否编辑
editMode
(){
editMode
()
{
return
this
.
$route
.
path
.
indexOf
(
'
create
'
)
==
-
1
return
this
.
$route
.
path
.
indexOf
(
'
create
'
)
==
-
1
},
},
// 是否可以编辑商品基本信息(货值除外)
// 是否可以编辑商品基本信息(货值除外)
productEditable
(){
productEditable
()
{
// 非编辑模式 或者 未完成入仓
// 非编辑模式 或者 未完成入仓
return
!
this
.
editMode
||
!
this
.
inWarehouse
return
!
this
.
editMode
||
!
this
.
inWarehouse
},
},
// 路线开通的服务
// 路线开通的服务
routeOtherServices
(){
routeOtherServices
()
{
if
(
!
this
.
selectedRouter
||
!
this
.
selectedRouter
.
otherService
)
return
[]
if
(
!
this
.
selectedRouter
||
!
this
.
selectedRouter
.
otherService
)
return
[]
return
this
.
selectedRouter
.
otherService
.
split
(
'
,
'
)
return
this
.
selectedRouter
.
otherService
.
split
(
'
,
'
)
},
},
// 是否可以添加商品
// 是否可以添加商品
canAddProduct
(){
canAddProduct
()
{
if
(
!
this
.
form
.
lineId
)
{
if
(
!
this
.
form
.
lineId
)
{
return
false
return
false
}
}
// 如果是海空联运或者空运专线则必须选择渠道
// 如果是海空联运或者空运专线则必须选择渠道
if
(
this
.
transport
&&
this
.
transport
.
cssClass
==
'
channel
'
&&
!
this
.
form
.
channelId
)
{
if
(
this
.
transport
&&
this
.
transport
.
cssClass
==
'
channel
'
&&
!
this
.
form
.
channelId
)
{
return
false
return
false
}
}
return
true
return
true
},
},
// 显示的目的国
// 显示的目的国
showDestCountryList
(){
showDestCountryList
()
{
return
this
.
destCountryList
return
this
.
destCountryList
},
},
showDestCityList
(){
showDestCityList
()
{
if
(
!
this
.
form
.
destCountryId
)
return
this
.
destCityList
if
(
!
this
.
form
.
destCountryId
)
return
this
.
destCityList
return
this
.
destCityList
.
filter
(
item
=>
item
.
guojia
===
this
.
form
.
destCountryId
)
||
[]
return
this
.
destCityList
.
filter
(
item
=>
item
.
guojia
===
this
.
form
.
destCountryId
)
||
[]
},
},
// 是否已起运(已起运不让修改报关方式)
// 是否已起运(已起运不让修改报关方式)
isShipment
(){
isShipment
()
{
return
[
326
,
328
,
329
,
330
,
332
,
391
,
392
,
426
,
428
,
432
].
indexOf
(
this
.
form
.
shipmentState
)
>
-
1
return
[
326
,
328
,
329
,
330
,
332
,
391
,
392
,
426
,
428
,
432
].
indexOf
(
this
.
form
.
shipmentState
)
>
-
1
}
}
},
},
watch
:{
watch
:
{
// 如果无收货人则必须控货
// 如果无收货人则必须控货
hasConsignee
(
val
){
hasConsignee
(
val
)
{
if
(
!
val
)
{
if
(
!
val
)
{
this
.
$set
(
this
.
form
,
'
isCargoControl
'
,
true
)
this
.
$set
(
this
.
form
,
'
isCargoControl
'
,
true
)
// 无收货人且控货则默认发货人付款
// 无收货人且控货则默认发货人付款
this
.
$set
(
this
.
form
,
'
drawee
'
,
1
)
this
.
$set
(
this
.
form
,
'
drawee
'
,
1
)
...
@@ -982,24 +1068,24 @@ export default {
...
@@ -982,24 +1068,24 @@ export default {
this
.
$refs
.
form
?.
clearValidate
(
"
consigneeContactsId
"
)
this
.
$refs
.
form
?.
clearValidate
(
"
consigneeContactsId
"
)
}
}
},
},
ccIdArr
(
arr
){
ccIdArr
(
arr
)
{
this
.
$set
(
this
.
form
,
'
ccIds
'
,
arr
.
join
(
"
,
"
))
this
.
$set
(
this
.
form
,
'
ccIds
'
,
arr
.
join
(
"
,
"
))
},
},
// 始发地
// 始发地
'
form.departureId
'
(
departureId
,
oldDepartureId
){
'
form.departureId
'
(
departureId
,
oldDepartureId
)
{
console
.
log
(
'
departureId
'
,
departureId
)
console
.
log
(
'
departureId
'
,
departureId
)
// this.getOpenedRouterList()
// this.getOpenedRouterList()
},
},
// 目的地
// 目的地
async
'
form.objectiveId
'
(
objectiveId
,
oldObjectiveId
){
async
'
form.objectiveId
'
(
objectiveId
,
oldObjectiveId
)
{
// 重新获取路线
// 重新获取路线
// await this.getOpenedRouterList()
// await this.getOpenedRouterList()
// 重新获取渠道
// 重新获取渠道
await
this
.
getChannelList
()
await
this
.
getChannelList
()
},
},
'
form.transportId
'
(
transportId
,
oldTransportId
){
'
form.transportId
'
(
transportId
,
oldTransportId
)
{
// 空运
// 空运
if
(
!
this
.
initing
&&
(
this
.
form
.
transportId
==
4
||
this
.
form
.
transportId
==
3
))
{
if
(
!
this
.
initing
&&
(
this
.
form
.
transportId
==
4
||
this
.
form
.
transportId
==
3
))
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
console
.
log
(
'
切换空运,修改默认值
'
)
console
.
log
(
'
切换空运,修改默认值
'
)
this
.
$set
(
this
,
'
form
'
,
Object
.
assign
(
this
.
form
,
{
this
.
$set
(
this
,
'
form
'
,
Object
.
assign
(
this
.
form
,
{
...
@@ -1017,28 +1103,28 @@ export default {
...
@@ -1017,28 +1103,28 @@ export default {
} */
} */
// 选择海运拼柜和海运整柜清空渠道值
// 选择海运拼柜和海运整柜清空渠道值
if
(
transportId
==
1
||
transportId
==
2
)
{
if
(
transportId
==
1
||
transportId
==
2
)
{
this
.
$set
(
this
.
form
,
'
channelId
'
,
null
)
this
.
$set
(
this
.
form
,
'
channelId
'
,
null
)
}
}
console
.
log
(
'
form.transportId
'
,
this
.
form
.
transportId
,
this
.
initing
)
console
.
log
(
'
form.transportId
'
,
this
.
form
.
transportId
,
this
.
initing
)
if
(
!
this
.
initing
&&
transportId
==
3
)
{
if
(
!
this
.
initing
&&
transportId
==
3
)
{
// 如果是专线空运默认目的港清关选择我司
// 如果是专线空运默认目的港清关选择我司
this
.
$set
(
this
.
form
,
'
portDestCustomsClear
'
,
1
)
this
.
$set
(
this
.
form
,
'
portDestCustomsClear
'
,
1
)
}
}
// this.getOpenedRouterList()
// this.getOpenedRouterList()
},
},
'
form.channelId
'
(){
'
form.channelId
'
()
{
this
.
calculationPrice
()
this
.
calculationPrice
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
// 选择渠道后需要筛选目的城市和线路
// 选择渠道后需要筛选目的城市和线路
// 有点卡,改异步
// 有点卡,改异步
this
.
$nextTick
(
async
()
=>
{
this
.
$nextTick
(
async
()
=>
{
// 更新目的城市备选
// 更新目的城市备选
await
this
.
getTradeCity
()
await
this
.
getTradeCity
()
// 如果已选择城市,在切换后不可用则重置
// 如果已选择城市,在切换后不可用则重置
if
(
this
.
form
.
objectiveId
&&
!
this
.
importCityList
.
find
(
item
=>
item
.
id
==
this
.
form
.
objectiveId
))
{
if
(
this
.
form
.
objectiveId
&&
!
this
.
importCityList
.
find
(
item
=>
item
.
id
==
this
.
form
.
objectiveId
))
{
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
null
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
null
)
}
}
// 更新线路备选
// 更新线路备选
...
@@ -1049,22 +1135,22 @@ export default {
...
@@ -1049,22 +1135,22 @@ export default {
} */
} */
})
})
},
},
'
form.consigneeCountryCode
'
(){
'
form.consigneeCountryCode
'
()
{
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
},
'
form.consignorCountryCode
'
(){
'
form.consignorCountryCode
'
()
{
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
},
'
form.consigneePhone
'
(){
'
form.consigneePhone
'
()
{
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
},
'
form.consignorPhone
'
(){
'
form.consignorPhone
'
()
{
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
},
async
'
form.lineId
'
(
lineId
){
async
'
form.lineId
'
(
lineId
)
{
console
.
log
(
"
路线修改
"
,
lineId
)
console
.
log
(
"
路线修改
"
,
lineId
)
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
lineId
)
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
lineId
)
if
(
!
router
)
{
if
(
!
router
)
{
return
return
}
}
/* this.$set(this.form, 'departureId', router.startCityId)
/* this.$set(this.form, 'departureId', router.startCityId)
...
@@ -1088,56 +1174,56 @@ export default {
...
@@ -1088,56 +1174,56 @@ export default {
console.log('packageType', val, val.length)
console.log('packageType', val, val.length)
this.$set(this.form, 'packageType', val ? val.join(',') : '')
this.$set(this.form, 'packageType', val ? val.join(',') : '')
}, */
}, */
'
form.isExternalWarehouse
'
(
isExternalWarehouse
){
'
form.isExternalWarehouse
'
(
isExternalWarehouse
)
{
// 勾选外部仓则添加一个默认的,取消则删除默认的空的
// 勾选外部仓则添加一个默认的,取消则删除默认的空的
if
(
!
isExternalWarehouse
)
{
if
(
!
isExternalWarehouse
)
{
this
.
$set
(
this
.
form
,
'
externalWarehouseDtoList
'
,
[])
this
.
$set
(
this
.
form
,
'
externalWarehouseDtoList
'
,
[])
}
else
if
(
!
this
.
form
.
externalWarehouseDtoList
||
!
this
.
form
.
externalWarehouseDtoList
.
length
)
{
}
else
if
(
!
this
.
form
.
externalWarehouseDtoList
||
!
this
.
form
.
externalWarehouseDtoList
.
length
)
{
this
.
$set
(
this
.
form
,
'
externalWarehouseDtoList
'
,
[{}])
this
.
$set
(
this
.
form
,
'
externalWarehouseDtoList
'
,
[{}])
}
}
},
},
// 选择送货上门需要查询并填充默认地址
// 选择送货上门需要查询并填充默认地址
'
form.harvestMethod
'
(
harvestMethod
){
'
form.harvestMethod
'
(
harvestMethod
)
{
if
(
harvestMethod
==
2
&&
!
this
.
form
.
address
&&
this
.
form
.
consigneeId
)
{
if
(
harvestMethod
==
2
&&
!
this
.
form
.
address
&&
this
.
form
.
consigneeId
)
{
getCustomer
(
this
.
form
.
consigneeId
).
then
(
res
=>
{
getCustomer
(
this
.
form
.
consigneeId
).
then
(
res
=>
{
if
(
res
.
data
.
address
)
{
if
(
res
.
data
.
address
)
{
this
.
$set
(
this
.
form
,
'
consigneeAddress
'
,
res
.
data
.
address
)
this
.
$set
(
this
.
form
,
'
consigneeAddress
'
,
res
.
data
.
address
)
}
}
})
})
}
}
},
},
'
form.isCargoControl
'
(
isCargoControl
){
'
form.isCargoControl
'
(
isCargoControl
)
{
console
.
log
(
'
form.isCargoControl
'
,
this
.
form
.
isCargoControl
,
this
.
initing
)
console
.
log
(
'
form.isCargoControl
'
,
this
.
form
.
isCargoControl
,
this
.
initing
)
if
(
!
this
.
initing
)
{
if
(
!
this
.
initing
)
{
this
.
$set
(
this
.
form
,
'
drawee
'
,
isCargoControl
&&
!
this
.
hasConsignee
?
1
:
2
)
this
.
$set
(
this
.
form
,
'
drawee
'
,
isCargoControl
&&
!
this
.
hasConsignee
?
1
:
2
)
}
}
this
.
setBllLandingPrice
(
'
form.isCargoControl
'
)
this
.
setBllLandingPrice
(
'
form.isCargoControl
'
)
},
},
'
form.type
'
(
newVal
,
oldVal
){
'
form.type
'
(
newVal
,
oldVal
)
{
// 在选择预计送货日期后这里会触发,暂不清楚原因,所以加一个判断
// 在选择预计送货日期后这里会触发,暂不清楚原因,所以加一个判断
/* if(newVal?.join(",") == oldVal?.join(",")){
/* if(newVal?.join(",") == oldVal?.join(",")){
return
return
} */
} */
this
.
setBllLandingPrice
(
'
form.type
'
)
this
.
setBllLandingPrice
(
'
form.type
'
)
},
},
'
form.drawee
'
(
old
,
newVal
){
'
form.drawee
'
(
old
,
newVal
)
{
this
.
setBllLandingPrice
(
'
form.drawee
'
)
this
.
setBllLandingPrice
(
'
form.drawee
'
)
},
},
'
form.consigneeId
'
(){
'
form.consigneeId
'
()
{
this
.
setBllLandingPrice
(
'
form.consigneeId
'
)
this
.
setBllLandingPrice
(
'
form.consigneeId
'
)
},
},
'
form.consignorId
'
(){
'
form.consignorId
'
()
{
this
.
setBllLandingPrice
(
'
form.consignorId
'
)
this
.
setBllLandingPrice
(
'
form.consignorId
'
)
},
},
// 目的港清关,1我司,2客户
// 目的港清关,1我司,2客户
'
form.portDestCustomsClear
'
(
portDestCustomsClear
){
'
form.portDestCustomsClear
'
(
portDestCustomsClear
)
{
// 我司默认多票
// 我司默认多票
if
(
portDestCustomsClear
==
1
)
{
if
(
portDestCustomsClear
==
1
)
{
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
1
)
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
1
)
}
}
// 客户默认单票
// 客户默认单票
if
(
portDestCustomsClear
==
2
)
{
if
(
portDestCustomsClear
==
2
)
{
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
2
)
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
2
)
}
}
},
},
...
@@ -1145,26 +1231,27 @@ export default {
...
@@ -1145,26 +1231,27 @@ export default {
console.log('form.orderItemVOList', this.form.orderItemVOList.length, this.form.orderItemVOList)
console.log('form.orderItemVOList', this.form.orderItemVOList.length, this.form.orderItemVOList)
}, */
}, */
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
// 选择的路线变化后,需要判断是否开通了对应的服务,如果没开通需要取消对应的服务选择
selectedRouter
(
val
){
selectedRouter
(
val
)
{
if
(
!
val
)
{
if
(
!
val
)
{
return
return
}
}
[
'
1
'
,
'
4
'
].
forEach
(
service
=>
{
[
'
1
'
,
'
4
'
].
forEach
(
service
=>
{
if
(
this
.
routeOtherServices
.
indexOf
(
service
)
<
0
&&
this
.
form
.
type
.
indexOf
(
service
)
>
-
1
){
if
(
this
.
routeOtherServices
.
indexOf
(
service
)
<
0
&&
this
.
form
.
type
.
indexOf
(
service
==
4
?
2
:
service
)
>
-
1
)
{
this
.
form
.
type
.
splice
(
this
.
form
.
type
.
findIndex
(
item
=>
item
==
service
),
1
)
console
.
log
(
"
当前集运服务选择
"
,
this
.
form
.
type
)
this
.
form
.
type
.
splice
(
this
.
form
.
type
.
findIndex
(
item
=>
item
==
(
service
==
4
?
2
:
service
)),
1
)
}
}
})
})
},
},
// 送货上门变化后需要判断当前选择的收货方式,如果选择了送货上门但是当前不支持送货上门则需要重置
// 送货上门变化后需要判断当前选择的收货方式,如果选择了送货上门但是当前不支持送货上门则需要重置
homeDeliveryService
(
enable
){
homeDeliveryService
(
enable
)
{
if
(
!
enable
&&
this
.
form
.
harvestMethod
!=
1
)
{
if
(
!
enable
&&
this
.
form
.
harvestMethod
!=
1
)
{
this
.
form
.
harvestMethod
=
1
this
.
form
.
harvestMethod
=
1
}
}
},
},
// 变更渠道需要显示工作流组件
// 变更渠道需要显示工作流组件
updateChannel
(
updateChannel
){
updateChannel
(
updateChannel
)
{
if
(
updateChannel
)
{
if
(
updateChannel
)
{
this
.
$set
(
this
,
'
showWorkFlow
'
,
true
)
this
.
$set
(
this
,
'
showWorkFlow
'
,
true
)
}
}
},
},
...
@@ -1172,17 +1259,17 @@ export default {
...
@@ -1172,17 +1259,17 @@ export default {
this.$set(this.form, 'transportId', transportType ? +transportType : undefined)
this.$set(this.form, 'transportId', transportType ? +transportType : undefined)
}*/
}*/
},
},
activated
(){
activated
()
{
console
.
log
(
"
%c activated
"
,
"
color: red
"
)
console
.
log
(
"
%c activated
"
,
"
color: red
"
)
if
(
this
.
$route
.
query
.
id
!=
this
.
form
.
id
)
{
if
(
this
.
$route
.
query
.
id
!=
this
.
form
.
id
)
{
console
.
log
(
"
activated 加载订单数据
"
)
console
.
log
(
"
activated 加载订单数据
"
)
this
.
getOrder
()
this
.
getOrder
()
}
}
let
transportType
=
undefined
let
transportType
=
undefined
if
(
this
.
$route
.
query
.
transportType
)
{
if
(
this
.
$route
.
query
.
transportType
)
{
transportType
=
+
this
.
$route
.
query
.
transportType
transportType
=
+
this
.
$route
.
query
.
transportType
}
}
if
(
transportType
!=
this
.
transportId
)
{
if
(
transportType
!=
this
.
transportId
)
{
this
.
$set
(
this
.
form
,
'
transportId
'
,
transportType
)
this
.
$set
(
this
.
form
,
'
transportId
'
,
transportType
)
}
}
...
@@ -1210,17 +1297,17 @@ export default {
...
@@ -1210,17 +1297,17 @@ export default {
this
.
unitList
=
(
await
getUnitList
()).
data
this
.
unitList
=
(
await
getUnitList
()).
data
this
.
transportList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
)
this
.
transportList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
)
if
(
this
.
$route
.
query
.
transportType
)
{
if
(
this
.
$route
.
query
.
transportType
)
{
this
.
$set
(
this
.
form
,
'
transportId
'
,
+
this
.
$route
.
query
.
transportType
)
this
.
$set
(
this
.
form
,
'
transportId
'
,
+
this
.
$route
.
query
.
transportType
)
}
}
// 变更出货渠道
// 变更出货渠道
if
(
this
.
$route
.
query
.
updateChannel
)
{
if
(
this
.
$route
.
query
.
updateChannel
)
{
this
.
updateChannel
=
true
this
.
updateChannel
=
true
}
}
if
(
this
.
$route
.
query
.
id
)
{
if
(
this
.
$route
.
query
.
id
)
{
console
.
log
(
'
created 加载订单数据
'
)
console
.
log
(
'
created 加载订单数据
'
)
this
.
getOrder
()
this
.
getOrder
()
}
else
{
}
else
{
await
this
.
getTradeCity
()
await
this
.
getTradeCity
()
this
.
addProduct
()
this
.
addProduct
()
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -1229,25 +1316,47 @@ export default {
...
@@ -1229,25 +1316,47 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
async
getTradeCity
(
a
){
async
getTradeCity
(
a
)
{
let
query
=
{}
let
query
=
{}
if
(
this
.
form
.
channelId
)
{
if
(
this
.
form
.
channelId
)
{
query
.
channelId
=
this
.
form
.
channelId
query
.
channelId
=
this
.
form
.
channelId
}
}
this
.
tradeCityList
=
(
await
getTradeCityList
(
query
)).
data
this
.
tradeCityList
=
(
await
getTradeCityList
(
query
)).
data
},
},
async
getChannelList
(){
async
getChannelList
()
{
let
query
=
{
let
query
=
{
cityId
:
this
.
form
.
objectiveId
,
cityId
:
this
.
form
.
objectiveId
,
lineId
:
this
.
form
.
lineId
lineId
:
this
.
form
.
lineId
}
}
this
.
channelList
=
(
await
getChannelList
(
query
)).
data
this
.
channelList
=
(
await
getChannelList
(
query
)).
data
},
},
onTableMounted
(
e
){
onTableMounted
(
e
)
{
// console.warn('onTableMounted', e)
// console.warn('onTableMounted', e)
},
},
async
getOrder
(){
getCustomer
(
id
)
{
if
(
this
.
form
.
orderId
==
this
.
$route
.
query
.
id
){
getCustomer
(
id
).
then
((
response
)
=>
{
console
.
log
(
response
.
data
,
"
response
"
)
this
.
consignorCustomer
=
{
...
this
.
consignorCustomer
,
...
response
.
data
}
if
(
this
.
consignorCustomer
)
{
// 最新的客户设置信息,是否允许控货无收货人
this
.
noConsignee
=
this
.
consignorCustomer
.
noConsignee
}
else
{
// 默认不允许控货无收货人
this
.
noConsignee
=
false
}
// 如果订单无收货人,但是最新的发货人允许无收货人则重置状态
if
(
this
.
noConsignee
&&
!
this
.
hasConsignee
)
{
// 最新的发货人允许无收货人,则重置为有收货人
this
.
hasConsignee
=
true
}
})
},
async
getOrder
()
{
console
.
log
(
'
是否加载编辑订单数据
'
)
if
(
this
.
form
.
orderId
==
this
.
$route
.
query
.
id
)
{
console
.
log
(
'
加载中或者已加载此订单数据,不重复加载
'
,
this
.
initing
,
this
.
form
.
orderId
,
this
.
$route
.
query
.
id
)
console
.
log
(
'
加载中或者已加载此订单数据,不重复加载
'
,
this
.
initing
,
this
.
form
.
orderId
,
this
.
$route
.
query
.
id
)
return
return
}
}
...
@@ -1261,9 +1370,9 @@ export default {
...
@@ -1261,9 +1370,9 @@ export default {
await
this
.
getTradeCity
()
await
this
.
getTradeCity
()
await
this
.
getOpenedRouterList
()
await
this
.
getOpenedRouterList
()
this
.
selectedRouter
=
this
.
routerList
.
find
(
item
=>
item
.
id
===
this
.
form
.
lineId
)
this
.
selectedRouter
=
this
.
routerList
.
find
(
item
=>
item
.
id
===
this
.
form
.
lineId
)
if
(
this
.
selectedRouter
)
{
if
(
this
.
selectedRouter
)
{
this
.
form
.
destCountryId
=
this
.
selectedRouter
.
destCountryId
this
.
form
.
destCountryId
=
this
.
selectedRouter
.
destCountryId
}
else
console
.
log
(
"
未找到选择的路线
"
,
this
.
routerList
,
this
.
selectedRouter
)
}
else
console
.
log
(
"
未找到选择的路线
"
,
this
.
routerList
,
this
.
selectedRouter
)
console
.
log
(
"
国家ID
"
,
this
.
form
.
destCountryId
)
console
.
log
(
"
国家ID
"
,
this
.
form
.
destCountryId
)
...
@@ -1272,10 +1381,11 @@ export default {
...
@@ -1272,10 +1381,11 @@ export default {
isUnpack: this.form.isUnpack,
isUnpack: this.form.isUnpack,
isSingleTicketTransport: this.form.isSingleTicketTransport,
isSingleTicketTransport: this.form.isSingleTicketTransport,
}) */
}) */
console
.
log
(
"
集运服务类型
"
,
this
.
form
.
type
)
this
.
form
.
type
=
this
.
form
.
type
?
this
.
form
.
type
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
this
.
form
.
type
=
this
.
form
.
type
?
this
.
form
.
type
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
this
.
form
.
packageTypeArr
=
this
.
form
.
packageType
?
this
.
form
.
packageType
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
this
.
form
.
packageTypeArr
=
this
.
form
.
packageType
?
this
.
form
.
packageType
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
if
(
res
.
data
.
consignorVO
){
// 每次编辑订单详情需要实时获取发货人当前信息
if
(
res
.
data
.
consignorVO
)
{
this
.
$set
(
this
.
form
,
'
consignorCompany
'
,
res
.
data
.
consignorVO
.
company
)
this
.
$set
(
this
.
form
,
'
consignorCompany
'
,
res
.
data
.
consignorVO
.
company
)
this
.
$set
(
this
.
form
,
'
consignorCompanyEn
'
,
res
.
data
.
consignorVO
.
companyEn
)
this
.
$set
(
this
.
form
,
'
consignorCompanyEn
'
,
res
.
data
.
consignorVO
.
companyEn
)
this
.
$set
(
this
.
form
,
'
consignorContactsId
'
,
res
.
data
.
consignorVO
.
customerContactsId
)
this
.
$set
(
this
.
form
,
'
consignorContactsId
'
,
res
.
data
.
consignorVO
.
customerContactsId
)
...
@@ -1285,9 +1395,10 @@ export default {
...
@@ -1285,9 +1395,10 @@ export default {
this
.
$set
(
this
.
form
,
'
consignorName
'
,
res
.
data
.
consignorVO
.
name
)
this
.
$set
(
this
.
form
,
'
consignorName
'
,
res
.
data
.
consignorVO
.
name
)
this
.
$set
(
this
.
form
,
'
consignorNameEn
'
,
res
.
data
.
consignorVO
.
nameEn
)
this
.
$set
(
this
.
form
,
'
consignorNameEn
'
,
res
.
data
.
consignorVO
.
nameEn
)
this
.
$set
(
this
.
form
,
'
consignorPhone
'
,
res
.
data
.
consignorVO
.
phone
)
this
.
$set
(
this
.
form
,
'
consignorPhone
'
,
res
.
data
.
consignorVO
.
phone
)
this
.
getCustomer
(
res
.
data
.
consignorVO
.
customerId
)
}
}
if
(
res
.
data
.
consigneeVO
)
{
if
(
res
.
data
.
consigneeVO
)
{
this
.
$set
(
this
.
form
,
'
consigneeCompany
'
,
res
.
data
.
consigneeVO
.
company
)
this
.
$set
(
this
.
form
,
'
consigneeCompany
'
,
res
.
data
.
consigneeVO
.
company
)
this
.
$set
(
this
.
form
,
'
consigneeCompanyEn
'
,
res
.
data
.
consigneeVO
.
companyEn
)
this
.
$set
(
this
.
form
,
'
consigneeCompanyEn
'
,
res
.
data
.
consigneeVO
.
companyEn
)
this
.
$set
(
this
.
form
,
'
consigneeContactsId
'
,
res
.
data
.
consigneeVO
.
customerContactsId
)
this
.
$set
(
this
.
form
,
'
consigneeContactsId
'
,
res
.
data
.
consigneeVO
.
customerContactsId
)
...
@@ -1301,37 +1412,28 @@ export default {
...
@@ -1301,37 +1412,28 @@ export default {
// res.data.hasConsignee 订单冗余的发货人是否允许无收货人
// res.data.hasConsignee 订单冗余的发货人是否允许无收货人
// res.data.noConsignee 当前订单发货人是否允许无收货
// res.data.noConsignee 当前订单发货人是否允许无收货
// 回显冗余数据
this
.
noConsignee
=
res
.
data
.
hasConsignee
// 是否有收货人
// 是否有收货人
this
.
hasConsignee
=
!!
res
.
data
.
consigneeVO
this
.
hasConsignee
=
!!
res
.
data
.
consigneeVO
// 如果订单无收货人,但是最新的发货人不允许无收货人则重置状态
if
(
this
.
form
.
channelId
==
0
)
{
if
(
!
res
.
data
.
noConsignee
&&
!
this
.
hasConsignee
){
// 最新的发货人不允许无收货人,则重置为有收货人
this
.
hasConsignee
=
true
// 如果发货人不允许无收货人,则更新是否允许无收货人状态
this
.
noConsignee
=
false
}
if
(
this
.
form
.
channelId
==
0
){
delete
this
.
form
.
channelId
delete
this
.
form
.
channelId
}
}
if
(
res
.
data
.
ccIds
)
{
if
(
res
.
data
.
ccIds
)
{
this
.
ccIdArr
=
res
.
data
.
ccIds
.
split
(
"
,
"
).
filter
(
item
=>
item
&&
item
!=
''
)
this
.
ccIdArr
=
res
.
data
.
ccIds
.
split
(
"
,
"
).
filter
(
item
=>
item
&&
item
!=
''
)
}
}
// 审核中需要显示流程表单
// 审核中需要显示流程表单
if
(
this
.
form
.
applyStaus
==
1
)
{
if
(
this
.
form
.
applyStaus
==
1
)
{
this
.
showWorkFlow
=
true
this
.
showWorkFlow
=
true
}
}
// 如果是自定义付款人,则需要同步具体发货人信息
// 如果是自定义付款人,则需要同步具体发货人信息
if
(
this
.
form
.
drawee
==
3
)
{
if
(
this
.
form
.
drawee
==
3
)
{
console
.
log
(
'
同步自定义付款人信息
'
,
JSON
.
stringify
(
this
.
customDraweeList
))
console
.
log
(
'
同步自定义付款人信息
'
,
JSON
.
stringify
(
this
.
customDraweeList
))
this
.
customDraweeList
.
forEach
(
item
=>
{
this
.
customDraweeList
.
forEach
(
item
=>
{
console
.
log
(
item
.
name
,
this
.
form
.
customDraweeVOList
.
find
(
it
=>
it
.
name
==
item
.
name
)?.
value
,
item
.
value
)
console
.
log
(
item
.
name
,
this
.
form
.
customDraweeVOList
.
find
(
it
=>
it
.
name
==
item
.
name
)?.
value
,
item
.
value
)
item
.
value
=
this
.
form
.
customDraweeVOList
.
find
(
it
=>
it
.
name
==
item
.
name
)?.
value
||
item
.
value
item
.
value
=
this
.
form
.
customDraweeVOList
.
find
(
it
=>
it
.
name
==
item
.
name
)?.
value
||
item
.
value
})
})
console
.
log
(
'
同步自定义付款人信息
'
,
this
.
customDraweeList
,
this
.
form
.
customDraweeVOList
)
console
.
log
(
'
同步自定义付款人信息
'
,
this
.
customDraweeList
,
this
.
form
.
customDraweeVOList
)
...
@@ -1346,7 +1448,7 @@ export default {
...
@@ -1346,7 +1448,7 @@ export default {
})
})
// 已入仓后,必填字段修改则需要显示审批流
// 已入仓后,必填字段修改则需要显示审批流
if
(
this
.
inWarehouse
)
{
if
(
this
.
inWarehouse
)
{
Object
.
keys
(
this
.
rules
).
forEach
(
field
=>
{
Object
.
keys
(
this
.
rules
).
forEach
(
field
=>
{
console
.
log
(
"
watch
"
,
field
)
console
.
log
(
"
watch
"
,
field
)
this
.
$watch
(
`form.
${
field
}
`
,
()
=>
{
this
.
$watch
(
`form.
${
field
}
`
,
()
=>
{
...
@@ -1356,13 +1458,13 @@ export default {
...
@@ -1356,13 +1458,13 @@ export default {
}
}
// 在初始化结束后transportId还会发生一次变化导致目的港清关被重置,所以需要延迟一下。暂不清楚原因
// 在初始化结束后transportId还会发生一次变化导致目的港清关被重置,所以需要延迟一下。暂不清楚原因
setTimeout
(()
=>
{
setTimeout
(()
=>
{
console
.
log
(
'
transportId
'
,
this
.
form
.
transportId
)
console
.
log
(
'
transportId
'
,
this
.
form
.
transportId
)
console
.
log
(
'
portDestCustomsClear
'
,
this
.
form
.
portDestCustomsClear
,
res
.
data
.
portDestCustomsClear
)
console
.
log
(
'
portDestCustomsClear
'
,
this
.
form
.
portDestCustomsClear
,
res
.
data
.
portDestCustomsClear
)
if
(
res
.
data
.
portDestCustomsClear
)
{
if
(
res
.
data
.
portDestCustomsClear
)
{
this
.
$set
(
this
.
form
,
'
portDestCustomsClear
'
,
res
.
data
.
portDestCustomsClear
)
this
.
$set
(
this
.
form
,
'
portDestCustomsClear
'
,
res
.
data
.
portDestCustomsClear
)
}
}
if
(
res
.
data
.
deliveryWay
)
{
if
(
res
.
data
.
deliveryWay
)
{
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
res
.
data
.
deliveryWay
)
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
res
.
data
.
deliveryWay
)
}
}
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -1388,23 +1490,24 @@ export default {
...
@@ -1388,23 +1490,24 @@ export default {
this
.
initing
=
false
this
.
initing
=
false
})
})
},
},
onContactChoose
(
contact
){
onContactChoose
(
contact
)
{
console
.
log
(
'
选择联系人
'
,
contact
)
console
.
log
(
'
选择联系人
'
,
contact
)
if
(
!
this
.
contactChooseType
&&
!
this
.
quickCreateType
)
return
if
(
!
this
.
contactChooseType
&&
!
this
.
quickCreateType
)
return
if
(
!
this
.
contactChooseType
&&
this
.
quickCreateType
)
{
if
(
!
this
.
contactChooseType
&&
this
.
quickCreateType
)
{
this
.
contactChooseType
=
this
.
quickCreateType
==
0
?
'
consignor
'
:
'
consignee
'
this
.
contactChooseType
=
this
.
quickCreateType
==
0
?
'
consignor
'
:
'
consignee
'
}
}
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Company
'
,
contact
.
company
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Company
'
,
contact
.
company
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
CompanyEn
'
,
contact
.
companyEn
||
''
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
CompanyEn
'
,
contact
.
companyEn
||
''
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
ContactsId
'
,
contact
.
customerContactsId
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
ContactsId
'
,
contact
.
customerContactsId
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
CountryCode
'
,
contact
.
areaCode
.
replace
(
'
+
'
,
''
))
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
CountryCode
'
,
contact
.
areaCode
.
replace
(
'
+
'
,
''
))
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Email
'
,
contact
.
email
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Email
'
,
contact
.
email
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Id
'
,
contact
.
customerId
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Id
'
,
contact
.
customerId
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Name
'
,
contact
.
contactsName
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Name
'
,
contact
.
contactsName
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
NameEn
'
,
contact
.
contactsNameEn
||
''
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
NameEn
'
,
contact
.
contactsNameEn
||
''
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Phone
'
,
contact
.
phoneNew
)
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Phone
'
,
contact
.
phoneNew
)
if
(
this
.
contactChooseType
==
'
consignor
'
){
if
(
this
.
contactChooseType
==
'
consignor
'
)
{
this
.
noConsignee
=
contact
.
noConsignee
this
.
noConsignee
=
contact
.
noConsignee
// 如果允许无收货人,则默认无收货人、控货
// 如果允许无收货人,则默认无收货人、控货
// 241023 根据最新的原型,默认有收货人
// 241023 根据最新的原型,默认有收货人
...
@@ -1412,25 +1515,25 @@ export default {
...
@@ -1412,25 +1515,25 @@ export default {
this.hasConsignee = false
this.hasConsignee = false
}*/
}*/
// 如果发货人不允许无收货人,则重置为有收货人
// 如果发货人不允许无收货人,则重置为有收货人
if
(
!
this
.
noConsignee
&&
!
this
.
hasConsignee
)
{
if
(
!
this
.
noConsignee
&&
!
this
.
hasConsignee
)
{
this
.
$set
(
this
,
'
hasConsignee
'
,
true
)
this
.
$set
(
this
,
'
hasConsignee
'
,
true
)
}
}
// 如果默认付款则设置为发货人付款
// 如果默认付款则设置为发货人付款
if
(
contact
.
defaultPay
)
{
if
(
contact
.
defaultPay
)
{
this
.
$set
(
this
.
form
,
'
drawee
'
,
1
)
this
.
$set
(
this
.
form
,
'
drawee
'
,
1
)
}
}
}
}
this
.
contactChooseType
=
null
this
.
contactChooseType
=
null
this
.
quickCreateType
=
null
this
.
quickCreateType
=
null
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
},
upload
(
e
){
upload
(
e
)
{
console
.
log
({
upload
:
e
})
console
.
log
({
upload
:
e
})
let
form
=
new
FormData
()
let
form
=
new
FormData
()
form
.
append
(
'
file
'
,
e
.
file
)
form
.
append
(
'
file
'
,
e
.
file
)
orderImport
(
form
).
then
(
res
=>
{
orderImport
(
form
).
then
(
res
=>
{
if
(
!
res
.
data
.
list
.
length
)
{
if
(
!
res
.
data
.
list
.
length
)
{
return
this
.
$message
.
error
(
'
无有效数据
'
)
return
this
.
$message
.
error
(
'
无有效数据
'
)
}
}
...
@@ -1439,7 +1542,7 @@ export default {
...
@@ -1439,7 +1542,7 @@ export default {
})
})
},
},
addToProductList
(){
addToProductList
()
{
console
.
log
(
'
addToProductList
'
)
console
.
log
(
'
addToProductList
'
)
this
.
importList
.
forEach
(
item
=>
{
this
.
importList
.
forEach
(
item
=>
{
this
.
form
.
orderItemVOList
.
push
({
this
.
form
.
orderItemVOList
.
push
({
...
@@ -1449,63 +1552,64 @@ export default {
...
@@ -1449,63 +1552,64 @@ export default {
quantity
:
item
.
quantity
,
quantity
:
item
.
quantity
,
volume
:
item
.
volume
,
volume
:
item
.
volume
,
weight
:
item
.
weight
,
weight
:
item
.
weight
,
prodAttrArr
:
[]
prodAttrArr
:
[]
})
})
})
})
// 重置
// 重置
this
.
importList
=
[]
this
.
importList
=
[]
this
.
showBatchImportDialog
=
false
this
.
showBatchImportDialog
=
false
},
},
downloadTpl
(){
downloadTpl
()
{
this
.
exportLoading
=
true
;
this
.
exportLoading
=
true
;
exportPackingList
().
then
(
response
=>
{
exportPackingList
().
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
this
.
$t
(
'
装箱单模板
'
)
+
'
.xls
'
);
this
.
$download
.
excel
(
response
,
this
.
$t
(
'
装箱单模板
'
)
+
'
.xls
'
);
this
.
exportLoading
=
false
;
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{
});
}).
catch
(()
=>
{
});
},
},
setLink
(
row
){
setLink
(
row
)
{
this
.
$prompt
(
this
.
$t
(
'
请输入商品链接
'
),
{
inputValue
:
row
.
link
}).
then
(({
value
})
=>
{
this
.
$prompt
(
this
.
$t
(
'
请输入商品链接
'
),
{
inputValue
:
row
.
link
}).
then
(({
value
})
=>
{
this
.
$set
(
row
,
'
link
'
,
value
)
this
.
$set
(
row
,
'
link
'
,
value
)
})
})
},
},
// 检查正整数
// 检查正整数
checkPositiveInterge
(
row
,
field
){
checkPositiveInterge
(
row
,
field
)
{
console
.
log
(
'
checkPositiveInterge
'
,
field
,
row
[
field
])
console
.
log
(
'
checkPositiveInterge
'
,
field
,
row
[
field
])
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/
[^\d]
/g
,
''
)
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/
[^\d]
/g
,
''
)
},
},
onProductChange
(
row
,
product
){
onProductChange
(
row
,
product
)
{
console
.
log
(
product
)
console
.
log
(
product
)
// 如果是清除商品
// 如果是清除商品
if
(
!
product
)
{
if
(
!
product
)
{
row
.
fee
=
null
row
.
fee
=
null
row
.
prodAttrArr
=
[]
row
.
prodAttrArr
=
[]
return
false
return
false
}
}
// 没有orderItemId则表示新增的,否则就是编辑回显的
// 没有orderItemId则表示新增的,否则就是编辑回显的
// row.updated 表示用户操作了,用来区分是自动回显还是用户选择商品
// row.updated 表示用户操作了,用来区分是自动回显还是用户选择商品
if
(
!
row
.
orderItemId
||
row
.
updated
)
{
if
(
!
row
.
orderItemId
||
row
.
updated
)
{
row
.
prodAttrArr
=
!
product
?
[]
:
product
.
attrId
.
split
(
'
,
'
).
filter
(
item
=>
item
!==
''
).
map
(
item
=>
+
item
)
row
.
prodAttrArr
=
!
product
?
[]
:
product
.
attrId
.
split
(
'
,
'
).
filter
(
item
=>
item
!==
''
).
map
(
item
=>
+
item
)
}
}
row
.
prodTitleEn
=
product
.
titleEn
row
.
prodTitleEn
=
product
.
titleEn
row
.
prodTitleZh
=
product
.
titleZh
row
.
prodTitleZh
=
product
.
titleZh
this
.
calculationPrice
()
this
.
calculationPrice
()
},
},
onAreaChange
(
type
,
val
){
onAreaChange
(
type
,
val
)
{
this
.
$set
(
this
.
form
,
type
,
val
)
this
.
$set
(
this
.
form
,
type
,
val
)
},
},
// 生成快递单号
// 生成快递单号
getOrderCourierNumber
(){
getOrderCourierNumber
()
{
getOrderCourierNumber
().
then
(
res
=>
{
getOrderCourierNumber
().
then
(
res
=>
{
this
.
$set
(
this
.
form
,
'
number
'
,
res
.
data
)
this
.
$set
(
this
.
form
,
'
number
'
,
res
.
data
)
})
})
},
},
onProductAttrChange
(
row
,
attr
){
onProductAttrChange
(
row
,
attr
)
{
console
.
log
(
attr
)
console
.
log
(
attr
)
},
},
addProduct
(
data
){
addProduct
(
data
)
{
this
.
form
.
orderItemVOList
.
push
(
data
||
{
this
.
form
.
orderItemVOList
.
push
(
data
||
{
prodAttrArr
:
[],
prodAttrArr
:
[],
prodId
:
null
,
prodId
:
null
,
worth
:
''
,
worth
:
''
,
volume
:
''
,
volume
:
''
,
...
@@ -1514,31 +1618,34 @@ export default {
...
@@ -1514,31 +1618,34 @@ export default {
})
})
},
},
// 更新路线并打印来源
// 更新路线并打印来源
updateRoutes
(
fr
){
updateRoutes
(
fr
)
{
console
.
log
(
"
%cupdateRotutes
"
,
"
color: blue
"
,
fr
)
console
.
log
(
"
%cupdateRotutes
"
,
"
color: blue
"
,
fr
)
return
this
.
getOpenedRouterList
()
return
this
.
getOpenedRouterList
()
},
},
// 获取路线
// 获取路线
async
getOpenedRouterList
(){
async
getOpenedRouterList
()
{
let
params
=
{}
let
params
=
{}
if
(
this
.
form
.
departureId
)
{
if
(
this
.
form
.
departureId
)
{
params
.
startCityId
=
this
.
form
.
departureId
params
.
startCityId
=
this
.
form
.
departureId
}
}
if
(
this
.
form
.
objectiveId
){
if
(
this
.
form
.
destCountryId
)
{
params
.
destCountryId
=
this
.
form
.
destCountryId
}
if
(
this
.
form
.
objectiveId
)
{
params
.
destCityId
=
this
.
form
.
objectiveId
params
.
destCityId
=
this
.
form
.
objectiveId
}
}
if
(
this
.
form
.
transportId
)
{
if
(
this
.
form
.
transportId
)
{
params
.
transportType
=
this
.
form
.
transportId
params
.
transportType
=
this
.
form
.
transportId
}
}
if
(
this
.
form
.
channelId
)
{
if
(
this
.
form
.
channelId
)
{
params
.
channelId
=
this
.
form
.
channelId
params
.
channelId
=
this
.
form
.
channelId
}
}
console
.
log
(
"
获取路线,参数
"
,
params
)
console
.
log
(
"
获取路线,参数
"
,
params
)
// 始发,目的和运输方式都没有的时候不获取
// 始发,目的和运输方式都没有的时候不获取
if
(
!
params
.
startCit
yId
&&
!
params
.
destCityId
&&
!
params
.
transportType
)
return
false
if
(
!
params
.
startCityId
&&
!
params
.
destCountr
yId
&&
!
params
.
destCityId
&&
!
params
.
transportType
)
return
false
return
getOpenedRouterList
(
params
).
then
(
res
=>
{
return
getOpenedRouterList
(
params
).
then
(
res
=>
{
this
.
routerList
=
res
.
data
.
filter
(
item
=>
{
this
.
routerList
=
res
.
data
.
filter
(
item
=>
{
return
this
.
exportCityIds
.
indexOf
(
item
.
startCityId
)
>
-
1
&&
this
.
importC
ityIds
.
indexOf
(
item
.
destCityId
)
>
-
1
return
this
.
exportCityIds
.
indexOf
(
item
.
startCityId
)
>
-
1
&&
this
.
importC
ountryIds
.
indexOf
(
item
.
destCountryId
)
>
-
1
&&
(
this
.
importCityIds
&&
this
.
importCityIds
.
indexOf
(
item
.
destCityId
)
>
-
1
)
})
})
console
.
log
(
`已获取到路线
${
res
.
data
?.
length
}
条,有效路线
$
{
this
.
routerList
.
length
}
条
,
参数
:
$
{
JSON
.
stringify
(
params
)}
`
)
console
.
log
(
`已获取到路线
${
res
.
data
?.
length
}
条,有效路线
$
{
this
.
routerList
.
length
}
条
,
参数
:
$
{
JSON
.
stringify
(
params
)}
`
)
console
.
table
([
console
.
table
([
...
@@ -1548,9 +1655,9 @@ export default {
...
@@ -1548,9 +1655,9 @@ export default {
}
}
])
])
// 如果已选择的线路ID不在上述路线列表里则重置
// 如果已选择的线路ID不在上述路线列表里则重置
if
(
this
.
form
.
lineId
)
{
if
(
this
.
form
.
lineId
)
{
this
.
selectedRouter
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
this
.
form
.
lineId
)
this
.
selectedRouter
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
this
.
form
.
lineId
)
if
(
!
this
.
selectedRouter
)
{
if
(
!
this
.
selectedRouter
)
{
console
.
log
(
`获取到的路线未找到原路线lineId:
${
this
.
form
.
lineId
}
,重置为null`
)
console
.
log
(
`获取到的路线未找到原路线lineId:
${
this
.
form
.
lineId
}
,重置为null`
)
this
.
$set
(
this
.
form
,
'
lineId
'
,
null
)
this
.
$set
(
this
.
form
,
'
lineId
'
,
null
)
}
}
...
@@ -1558,16 +1665,16 @@ export default {
...
@@ -1558,16 +1665,16 @@ export default {
})
})
},
},
// 计算体积
// 计算体积
calcVolume
(
row
){
calcVolume
(
row
)
{
if
(
!
row
.
boxGauge
||
!
row
.
num
)
return
false
if
(
!
row
.
boxGauge
||
!
row
.
num
)
return
false
try
{
try
{
row
.
volume
=
(
eval
(
row
.
boxGauge
)
*
row
.
num
).
toFixed
(
2
)
row
.
volume
=
(
eval
(
row
.
boxGauge
)
*
row
.
num
).
toFixed
(
2
)
}
catch
(
e
)
{
}
catch
(
e
)
{
row
.
volume
=
''
row
.
volume
=
''
}
}
},
},
// 删除一条产品
// 删除一条产品
delProduct
(
index
){
delProduct
(
index
)
{
this
.
$confirm
(
this
.
$t
(
'
确定删除此条内容么?
'
))
this
.
$confirm
(
this
.
$t
(
'
确定删除此条内容么?
'
))
.
then
(
res
=>
{
.
then
(
res
=>
{
this
.
form
.
orderItemVOList
.
splice
(
index
,
1
)
this
.
form
.
orderItemVOList
.
splice
(
index
,
1
)
...
@@ -1604,8 +1711,8 @@ export default {
...
@@ -1604,8 +1711,8 @@ export default {
return
this
.
$showFormValidateErrors
(
errors
)
return
this
.
$showFormValidateErrors
(
errors
)
}
}
if
(
this
.
form
.
harvestMethod
==
2
)
{
if
(
this
.
form
.
harvestMethod
==
2
)
{
if
(
!
this
.
form
.
country
||
!
this
.
form
.
province
||
!
this
.
form
.
city
)
{
if
(
!
this
.
form
.
country
||
!
this
.
form
.
province
||
!
this
.
form
.
city
)
{
return
this
.
$notify
({
return
this
.
$notify
({
title
:
this
.
$t
(
'
提示
'
),
title
:
this
.
$t
(
'
提示
'
),
message
:
this
.
$t
(
"
收货地区填写不完整
"
),
message
:
this
.
$t
(
"
收货地区填写不完整
"
),
...
@@ -1616,12 +1723,12 @@ export default {
...
@@ -1616,12 +1723,12 @@ export default {
let
isInclude
=
false
let
isInclude
=
false
this
.
form
.
orderItemVOList
.
map
(
item
=>
{
this
.
form
.
orderItemVOList
.
map
(
item
=>
{
//如果商品特性包含不接受货物,不能创建订单或修改订单
//如果商品特性包含不接受货物,不能创建订单或修改订单
if
(
item
.
prodAttrArr
.
indexOf
(
4
)
!=-
1
)
{
if
(
item
.
prodAttrArr
.
indexOf
(
4
)
!=
-
1
)
{
isInclude
=
true
isInclude
=
true
}
}
item
.
prodAttrIds
=
item
.
prodAttrArr
.
join
(
'
,
'
)
item
.
prodAttrIds
=
item
.
prodAttrArr
.
join
(
'
,
'
)
})
})
if
(
isInclude
)
{
if
(
isInclude
)
{
return
this
.
$notify
({
return
this
.
$notify
({
title
:
this
.
$t
(
'
提示
'
),
title
:
this
.
$t
(
'
提示
'
),
message
:
this
.
$t
(
"
订单包含不接受货物,请检查
"
),
message
:
this
.
$t
(
"
订单包含不接受货物,请检查
"
),
...
@@ -1629,17 +1736,17 @@ export default {
...
@@ -1629,17 +1736,17 @@ export default {
});
});
}
}
this
.
transportList
.
map
(
item
=>
{
this
.
transportList
.
map
(
item
=>
{
if
(
item
.
_enabled
)
{
if
(
item
.
_enabled
)
{
item
.
lineIds
=
Array
.
from
(
item
.
lineIdSet
).
join
(
'
,
'
)
item
.
lineIds
=
Array
.
from
(
item
.
lineIdSet
).
join
(
'
,
'
)
item
.
channelIds
=
Array
.
from
(
item
.
channelIdSet
).
join
(
'
,
'
)
item
.
channelIds
=
Array
.
from
(
item
.
channelIdSet
).
join
(
'
,
'
)
}
}
})
})
this
.
form
.
packageType
=
this
.
form
.
packageTypeArr
.
join
(
'
,
'
)
this
.
form
.
packageType
=
this
.
form
.
packageTypeArr
.
join
(
'
,
'
)
for
(
const
i
in
this
.
form
.
orderItemVOList
)
{
for
(
const
i
in
this
.
form
.
orderItemVOList
)
{
const
item
=
this
.
form
.
orderItemVOList
[
i
]
const
item
=
this
.
form
.
orderItemVOList
[
i
]
if
(
!
item
.
prodId
)
{
if
(
!
item
.
prodId
)
{
return
this
.
$message
.
error
(
this
.
$t
(
`第
${
Number
(
i
)
+
1
}
行未选择商品`
,
i
+
1
))
return
this
.
$message
.
error
(
this
.
$t
(
`第
${
Number
(
i
)
+
1
}
行未选择商品`
,
i
+
1
))
}
}
}
}
...
@@ -1649,25 +1756,29 @@ export default {
...
@@ -1649,25 +1756,29 @@ export default {
}
}
// 24-02-08 新需求 当付款人=发货人且提单显示价格,需要弹出提示,付款人=发货人,请再次确认提单是否显示价格明细,是则允许提交订单,否则留在当前页面
// 24-02-08 新需求 当付款人=发货人且提单显示价格,需要弹出提示,付款人=发货人,请再次确认提单是否显示价格明细,是则允许提交订单,否则留在当前页面
// https://zentao.test.jdshangmen.com/task-view-3442.html
// https://zentao.test.jdshangmen.com/task-view-3442.html
if
(
+
this
.
form
.
drawee
===
1
&&
this
.
form
.
displayBillLadingPrice
&&
!
this
.
updateChannel
)
{
if
(
+
this
.
form
.
drawee
===
1
&&
this
.
form
.
displayBillLadingPrice
&&
!
this
.
updateChannel
)
{
await
this
.
$confirm
(
this
.
$t
(
'
付款人=发货人,请再次确认提单是否显示价格明细
'
))
await
this
.
$confirm
(
this
.
$t
(
'
付款人=发货人,请再次确认提单是否显示价格明细
'
))
}
}
// 校验手机号跟目的国是否匹配
// 校验手机号跟目的国是否匹配
if
(
this
.
hasConsignee
&&
this
.
form
.
consigneeCountryCode
&&
this
.
form
.
consigneePhone
){
if
(
this
.
hasConsignee
&&
this
.
form
.
consigneeCountryCode
&&
this
.
form
.
consigneePhone
)
{
if
(
this
.
form
.
isCargoControl
&&
(
this
.
form
.
consigneeCountryCode
==
"
86
"
||
this
.
form
.
consigneeCountryCode
==
"
+86
"
))
{
this
.
$message
.
error
(
this
.
$t
(
"
控货订单的收货人手机号不能是国内号码
"
))
return
}
const
res
=
await
checkCountryCode
({
const
res
=
await
checkCountryCode
({
areaCode
:
this
.
form
.
consigneeCountryCode
,
areaCode
:
this
.
form
.
consigneeCountryCode
,
currencyId
:
this
.
form
.
destCountryId
currencyId
:
this
.
form
.
destCountryId
})
})
// 并不一致则提示
// 并不一致则提示
if
(
!
res
.
data
)
{
if
(
!
res
.
data
)
{
await
this
.
$confirm
(
this
.
$t
(
'
电话所在国与目的国不一致,请检查
'
))
await
this
.
$confirm
(
this
.
$t
(
'
电话所在国与目的国不一致,请检查
'
))
}
}
}
}
// 修改的提交
// 修改的提交
if
(
this
.
form
.
orderId
)
{
if
(
this
.
form
.
orderId
)
{
if
(
this
.
form
.
tidanNo
)
{
if
(
this
.
form
.
tidanNo
)
{
await
this
.
$confirm
(
this
.
$t
(
'
提单已制作,如需修改请联系客服
'
))
await
this
.
$confirm
(
this
.
$t
(
'
提单已制作,如需修改请联系客服
'
))
}
}
let
data
=
Object
.
assign
({},
this
.
form
,
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
...
@@ -1688,7 +1799,7 @@ export default {
...
@@ -1688,7 +1799,7 @@ export default {
let
data
=
Object
.
assign
({
let
data
=
Object
.
assign
({
consigneeId
:
this
.
consigneeContact
.
customerId
,
consigneeId
:
this
.
consigneeContact
.
customerId
,
consignorId
:
this
.
consignorContact
.
customerId
,
consignorId
:
this
.
consignorContact
.
customerId
,
customerId
:
this
.
consignorContact
.
customerId
,
customerId
:
this
.
consignorContact
.
customerId
,
// couponIds: coupons.join(","),
// couponIds: coupons.join(","),
},
this
.
form
,
{
},
this
.
form
,
{
customDraweeVOList
:
this
.
customDraweeList
,
customDraweeVOList
:
this
.
customDraweeList
,
...
@@ -1707,7 +1818,7 @@ export default {
...
@@ -1707,7 +1818,7 @@ export default {
this
.
form
=
{...
makeDefaultFormData
()}
this
.
form
=
{...
makeDefaultFormData
()}
this
.
routerList
=
[]
this
.
routerList
=
[]
this
.
addProduct
()
this
.
addProduct
()
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
initing
=
false
this
.
initing
=
false
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$redirect
(
'
success?orderId=
'
+
response
.
data
)
this
.
$redirect
(
'
success?orderId=
'
+
response
.
data
)
...
@@ -1717,26 +1828,26 @@ export default {
...
@@ -1717,26 +1828,26 @@ export default {
});
});
},
},
// 计算商品运费(根据货值计算保费)
// 计算商品运费(根据货值计算保费)
calculationPrice
(){
calculationPrice
()
{
let
calcable
=
true
let
calcable
=
true
if
(
!
this
.
form
.
orderItemVOList
.
length
)
return
false
if
(
!
this
.
form
.
orderItemVOList
.
length
)
return
false
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
if
(
!
item
.
prodId
)
{
if
(
!
item
.
prodId
)
{
calcable
=
false
calcable
=
false
}
}
})
})
console
.
log
(
'
calculationPrice
'
,
calcable
)
console
.
log
(
'
calculationPrice
'
,
calcable
)
if
(
this
.
calculating
||
!
calcable
)
return
false
if
(
this
.
calculating
||
!
calcable
)
return
false
this
.
calculating
=
true
this
.
calculating
=
true
console
.
log
(
'
calculating --->
'
)
console
.
log
(
'
calculating --->
'
)
const
data
=
{
const
data
=
{
lineId
:
this
.
form
.
lineId
,
lineId
:
this
.
form
.
lineId
,
transportId
:
this
.
form
.
transportId
,
transportId
:
this
.
form
.
transportId
,
channelId
:
[
3
,
4
].
indexOf
(
this
.
form
.
transportId
)
>
-
1
?
this
.
form
.
channelId
:
undefined
,
channelId
:
[
3
,
4
].
indexOf
(
this
.
form
.
transportId
)
>
-
1
?
this
.
form
.
channelId
:
undefined
,
prodConditionParamList
:
this
.
getProductListWithDefaultValue
(),
prodConditionParamList
:
this
.
getProductListWithDefaultValue
(),
orderType
:
this
.
form
.
orderType
orderType
:
this
.
form
.
orderType
}
}
if
(
this
.
form
.
channelId
)
{
if
(
this
.
form
.
channelId
)
{
data
.
channelId
=
this
.
form
.
channelId
data
.
channelId
=
this
.
form
.
channelId
}
}
calculationPrice
(
data
).
then
(
res
=>
{
calculationPrice
(
data
).
then
(
res
=>
{
...
@@ -1749,7 +1860,7 @@ export default {
...
@@ -1749,7 +1860,7 @@ export default {
})
})
},
},
// 体积。件数,数量,重量为选填,但是接口确实必填,所以生成一个副本并赋予默认值
// 体积。件数,数量,重量为选填,但是接口确实必填,所以生成一个副本并赋予默认值
getProductListWithDefaultValue
(){
getProductListWithDefaultValue
()
{
let
arr
=
[]
let
arr
=
[]
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
this
.
form
.
orderItemVOList
.
forEach
(
item
=>
{
// 商品信息只要商品id、品牌收费模式、件数、数量、体积、重量、货值、包装类型即可
// 商品信息只要商品id、品牌收费模式、件数、数量、体积、重量、货值、包装类型即可
...
@@ -1766,10 +1877,10 @@ export default {
...
@@ -1766,10 +1877,10 @@ export default {
packageType: item.packageType,
packageType: item.packageType,
unit: item.unit
unit: item.unit
} */
} */
if
(
!
tmp
.
volume
)
tmp
.
volume
=
0
if
(
!
tmp
.
volume
)
tmp
.
volume
=
0
if
(
!
tmp
.
weight
)
tmp
.
weight
=
0
if
(
!
tmp
.
weight
)
tmp
.
weight
=
0
if
(
!
tmp
.
quantity
)
tmp
.
quantity
=
0
if
(
!
tmp
.
quantity
)
tmp
.
quantity
=
0
if
(
!
tmp
.
num
)
tmp
.
num
=
0
if
(
!
tmp
.
num
)
tmp
.
num
=
0
tmp
.
orderType
=
item
.
orderItemType
tmp
.
orderType
=
item
.
orderItemType
delete
tmp
.
fee
delete
tmp
.
fee
delete
tmp
.
couponInfo
delete
tmp
.
couponInfo
...
@@ -1811,9 +1922,9 @@ export default {
...
@@ -1811,9 +1922,9 @@ export default {
getOfferNumber
(
id
)
{
getOfferNumber
(
id
)
{
const
that
=
this
const
that
=
this
that
.
offerIdNochange
=
false
that
.
offerIdNochange
=
false
getOfferCheck
({
orderId
:
id
}).
then
(
response
=>
{
getOfferCheck
({
orderId
:
id
}).
then
(
response
=>
{
if
(
!
response
.
data
)
return
if
(
!
response
.
data
)
return
if
(
that
.
offerData
.
length
==
0
)
{
if
(
that
.
offerData
.
length
==
0
)
{
that
.
offerData
.
push
(
response
.
data
)
that
.
offerData
.
push
(
response
.
data
)
}
}
that
.
offerIdNochange
=
true
that
.
offerIdNochange
=
true
...
@@ -1822,17 +1933,17 @@ export default {
...
@@ -1822,17 +1933,17 @@ export default {
})
})
},
},
// 设置默认的提货单是否显示价格
// 设置默认的提货单是否显示价格
setBllLandingPrice
(
src
){
setBllLandingPrice
(
src
)
{
console
.
log
(
"
更新默认的提单是否显示价格:src
"
+
src
,
this
.
initing
,
{...
this
.
form
});
console
.
log
(
"
更新默认的提单是否显示价格:src
"
+
src
,
this
.
initing
,
{...
this
.
form
});
if
(
this
.
form
.
orderId
&&
this
.
initing
)
return
if
(
this
.
form
.
orderId
&&
this
.
initing
)
return
// 240224 微信反馈
// 240224 微信反馈
// 不好意思,这写错了,付款人=发货人----提单价格默认否;付款人=收货人,提交价格默认是
// 不好意思,这写错了,付款人=发货人----提单价格默认否;付款人=收货人,提交价格默认是
if
(
this
.
form
.
drawee
==
1
)
{
if
(
this
.
form
.
drawee
==
1
)
{
this
.
form
.
displayBillLadingPrice
=
false
this
.
form
.
displayBillLadingPrice
=
false
return
return
}
}
if
(
this
.
form
.
drawee
==
2
)
{
if
(
this
.
form
.
drawee
==
2
)
{
this
.
form
.
displayBillLadingPrice
=
true
this
.
form
.
displayBillLadingPrice
=
true
return
return
}
}
...
@@ -1841,17 +1952,17 @@ export default {
...
@@ -1841,17 +1952,17 @@ export default {
// 控货订单归属发货人
// 控货订单归属发货人
// 非控货订单 + 付款人为发货人 归属发货人, 其他归属收货人
// 非控货订单 + 付款人为发货人 归属发货人, 其他归属收货人
let
customerId
=
null
let
customerId
=
null
if
(
this
.
form
.
type
==
2
||
this
.
form
.
isCargoControl
==
1
||
this
.
form
.
drawee
==
2
)
{
if
(
this
.
form
.
type
==
2
||
this
.
form
.
isCargoControl
==
1
||
this
.
form
.
drawee
==
2
)
{
customerId
=
this
.
form
.
consignorId
customerId
=
this
.
form
.
consignorId
}
else
{
}
else
{
customerId
=
this
.
form
.
consigneeId
customerId
=
this
.
form
.
consigneeId
}
}
if
(
!
customerId
)
return
if
(
!
customerId
)
return
console
.
log
(
'
原归属人
'
,
this
.
displayBillLadingPriceFrom
,
'
新归属人
'
,
customerId
)
console
.
log
(
'
原归属人
'
,
this
.
displayBillLadingPriceFrom
,
'
新归属人
'
,
customerId
)
// 如果当前的提单价格设置来自同一个客户则不在查询
// 如果当前的提单价格设置来自同一个客户则不在查询
if
(
this
.
displayBillLadingPriceFrom
==
customerId
)
return
;
if
(
this
.
displayBillLadingPriceFrom
==
customerId
)
return
;
this
.
displayBillLadingPriceFrom
=
customerId
this
.
displayBillLadingPriceFrom
=
customerId
// 获取客户信息
// 获取客户信息
...
@@ -1864,7 +1975,7 @@ export default {
...
@@ -1864,7 +1975,7 @@ export default {
handleChangeDestCountry
(
val
)
{
handleChangeDestCountry
(
val
)
{
console
.
log
(
"
handleChangeDestCountry
"
,
val
)
console
.
log
(
"
handleChangeDestCountry
"
,
val
)
this
.
form
.
destCountryId
=
val
this
.
form
.
destCountryId
=
val
if
(
this
.
form
.
destCountryId
)
{
if
(
this
.
form
.
destCountryId
)
{
this
.
form
.
objectiveId
=
null
this
.
form
.
objectiveId
=
null
this
.
form
.
lineId
=
null
this
.
form
.
lineId
=
null
this
.
selectedRouter
=
null
this
.
selectedRouter
=
null
...
@@ -1872,9 +1983,9 @@ export default {
...
@@ -1872,9 +1983,9 @@ export default {
}
}
},
},
// 切换目的城市
// 切换目的城市
async
handleChangeDestCity
(
val
){
async
handleChangeDestCity
(
val
)
{
this
.
form
.
objectiveId
=
val
this
.
form
.
objectiveId
=
val
if
(
this
.
form
.
objectiveId
)
{
if
(
this
.
form
.
objectiveId
)
{
this
.
form
.
lineId
=
null
this
.
form
.
lineId
=
null
this
.
selectedRouter
=
null
this
.
selectedRouter
=
null
this
.
form
.
destCountryId
=
this
.
destCityList
.
find
(
item
=>
item
.
shi
===
val
)?.
guojia
this
.
form
.
destCountryId
=
this
.
destCityList
.
find
(
item
=>
item
.
shi
===
val
)?.
guojia
...
@@ -1883,12 +1994,12 @@ export default {
...
@@ -1883,12 +1994,12 @@ export default {
await
this
.
updateRoutes
(
'
handleChangeDestCity
'
)
await
this
.
updateRoutes
(
'
handleChangeDestCity
'
)
},
},
// 切换路线
// 切换路线
setLineId
(
lineId
){
setLineId
(
lineId
)
{
this
.
form
.
lineId
=
lineId
this
.
form
.
lineId
=
lineId
this
.
handleChangeLineId
()
this
.
handleChangeLineId
()
},
},
// 切换线路回调
// 切换线路回调
async
handleChangeLineId
(){
async
handleChangeLineId
()
{
await
this
.
$nextTick
()
await
this
.
$nextTick
()
this
.
selectedRouter
=
this
.
routerList
.
find
(
item
=>
item
.
id
===
this
.
form
.
lineId
)
this
.
selectedRouter
=
this
.
routerList
.
find
(
item
=>
item
.
id
===
this
.
form
.
lineId
)
console
.
log
(
"
handleChangeLineId
"
,
console
.
log
(
"
handleChangeLineId
"
,
...
@@ -1896,7 +2007,7 @@ export default {
...
@@ -1896,7 +2007,7 @@ export default {
"
目的市
"
,
this
.
selectedRouter
?.
destCityId
,
"
目的市
"
,
this
.
selectedRouter
?.
destCityId
,
"
目的国
"
,
this
.
selectedRouter
?.
destCountryId
,
"
目的国
"
,
this
.
selectedRouter
?.
destCountryId
,
"
始发市
"
,
this
.
selectedRouter
?.
startCityId
)
"
始发市
"
,
this
.
selectedRouter
?.
startCityId
)
if
(
this
.
form
.
lineId
)
{
if
(
this
.
form
.
lineId
)
{
this
.
form
.
objectiveId
=
this
.
selectedRouter
?.
destCityId
this
.
form
.
objectiveId
=
this
.
selectedRouter
?.
destCityId
this
.
form
.
destCountryId
=
this
.
selectedRouter
?.
destCountryId
this
.
form
.
destCountryId
=
this
.
selectedRouter
?.
destCountryId
this
.
form
.
departureId
=
this
.
selectedRouter
?.
startCityId
this
.
form
.
departureId
=
this
.
selectedRouter
?.
startCityId
...
@@ -1906,18 +2017,25 @@ export default {
...
@@ -1906,18 +2017,25 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.card-title
{
.w-380
{
width
:
380px
;
}
.card-title
{
font-size
:
18px
;
font-size
:
18px
;
display
:
flex
;
display
:
flex
;
.card-name
{
.card-name
{
flex
:
1
;
flex
:
1
;
}
}
}
}
.form-section
{
.contact
{
.form-section
{
.contact
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
img
.phonebook
{
img
.phonebook
{
width
:
30px
;
width
:
30px
;
height
:
30px
;
height
:
30px
;
margin-left
:
10px
;
margin-left
:
10px
;
...
@@ -1926,13 +2044,25 @@ export default {
...
@@ -1926,13 +2044,25 @@ export default {
}
}
}
}
::v-deep
.product-list
.el-form-item__error
{
::v-deep
.product-list
.el-form-item__error
{
position
:
static
;
position
:
static
;
}
}
::v-deep
th
.el-table__cell
.cell
{
::v-deep
th
.el-table__cell
.cell
{
white-space
:
nowrap
;
white-space
:
nowrap
;
.red
{
.red
{
color
:
red
;
color
:
red
;
}
}
}
}
::v-deep
.right-label
{
.el-form-item__label
{
width
:
150px
;
display
:
inline-flex
;
justify-content
:
flex-end
;
align-items
:
center
;
}
}
</
style
>
</
style
>
src/views/ecw/order/exception/index.vue
View file @
ca65a30e
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
:placeholder=
"$t('发货人')"
:placeholder=
"$t('发货人')"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consignorText')"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeText"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeText"
>
...
@@ -40,7 +39,6 @@
...
@@ -40,7 +39,6 @@
:placeholder=
"$t('收货人')"
:placeholder=
"$t('收货人')"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consigneeText')"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('运输方式') + ':'"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('运输方式') + ':'"
v-show=
"showSearch"
>
...
@@ -211,7 +209,7 @@
...
@@ -211,7 +209,7 @@
v-model=
"queryParams.goodsNameKey"
v-model=
"queryParams.goodsNameKey"
/>
/>
<product-selector
<product-selector
v-model=
"queryParams.goodsName"
v-model
.trim
=
"queryParams.goodsName"
style=
"flex: 1"
style=
"flex: 1"
:clearable=
"true"
:clearable=
"true"
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
...
...
src/views/ecw/order/feeApplication.vue
View file @
ca65a30e
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
>
>
<el-form-item>
<el-form-item>
<el-button
<el-button
:disabled=
"!!processInstanceId
|| editMode
"
:disabled=
"!!processInstanceId "
@
click=
"addCost"
@
click=
"addCost"
>
{{
$t
(
"
添加申请
"
)
}}
>
{{
$t
(
"
添加申请
"
)
}}
</el-button
</el-button
...
@@ -119,7 +119,7 @@
...
@@ -119,7 +119,7 @@
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button-->
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button-->
<el-button
<el-button
type=
"text"
type=
"text"
v-if=
"
modifable(scope.$index
)"
v-if=
"
scope.row.id && modifable(scope.row
)"
@
click=
"modify(scope.row)"
@
click=
"modify(scope.row)"
>
{{
$t
(
"
修改
"
)
}}
>
{{
$t
(
"
修改
"
)
}}
</el-button
</el-button
...
@@ -225,7 +225,8 @@ export default {
...
@@ -225,7 +225,8 @@ export default {
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
},
},
feeList
()
{
feeList
()
{
return
this
.
list
.
filter
((
item
)
=>
item
.
status
===
0
);
// return this.list.filter((item) => item.status === 0);
return
this
.
list
;
},
},
// 正在编辑的费用申请
// 正在编辑的费用申请
currentItem
()
{
currentItem
()
{
...
@@ -236,13 +237,13 @@ export default {
...
@@ -236,13 +237,13 @@ export default {
return
!!
this
.
currentItem
;
return
!!
this
.
currentItem
;
},
},
modifable
()
{
modifable
()
{
return
(
i
ndex
)
=>
{
return
(
i
tem
)
=>
{
// 审核中不允许修改
// 审核中不允许修改
if
(
this
.
processInstanceId
)
return
false
;
if
(
this
.
processInstanceId
)
return
false
;
// 有未提交的不允许修改
// 有未提交的不允许修改
if
(
this
.
feeList
.
length
)
return
false
;
//
if (this.feeList.length) return false;
//
有
修改中的不允许修改
// 修改中的不允许修改
if
(
this
.
list
.
findIndex
((
item
)
=>
item
.
editMode
)
>
-
1
)
return
false
;
if
(
item
.
editMode
)
return
false
;
return
true
;
return
true
;
}
}
}
}
...
@@ -263,7 +264,7 @@ export default {
...
@@ -263,7 +264,7 @@ export default {
// 查询是否有审核中的费用申请
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
((
res
)
=>
{
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
((
res
)
=>
{
if
(
res
.
data
.
formId
)
{
if
(
res
.
data
)
{
this
.
processInstanceId
=
res
.
data
.
formId
;
this
.
processInstanceId
=
res
.
data
.
formId
;
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
this.list = res.data
this.list = res.data
...
@@ -306,10 +307,11 @@ export default {
...
@@ -306,10 +307,11 @@ export default {
},
},
submit
()
{
submit
()
{
// 判断费用申请是否有未填项
// 判断费用申请是否有未填项
// console.log("提交的费用信息列表", this.feeList)
const
errList
=
this
.
feeList
.
filter
((
item
)
=>
{
const
errList
=
this
.
feeList
.
filter
((
item
)
=>
{
return
(
return
(
!
item
[
"
feeType
"
]
||
!
item
[
"
feeType
"
]
||
!
item
[
"
applicationFee
"
]
||
item
.
applicationFee
==
null
||
item
.
applicationFee
==
undefined
||
!
item
[
"
applicationFeeCurrency
"
]
||
!
item
[
"
applicationFeeCurrency
"
]
||
!
item
[
"
payType
"
]
!
item
[
"
payType
"
]
);
);
...
@@ -317,18 +319,18 @@ export default {
...
@@ -317,18 +319,18 @@ export default {
if
(
errList
.
length
)
{
if
(
errList
.
length
)
{
return
this
.
$message
.
error
(
"
请填写完整费用申请信息
"
);
return
this
.
$message
.
error
(
"
请填写完整费用申请信息
"
);
}
}
if
(
this
.
editMode
)
{
//
if (this.editMode) {
// 要提交status=1,否则保持原状态
//
// 要提交status=1,否则保持原状态
const
data
=
{
//
const data = {
...
this
.
currentItem
,
//
...this.currentItem,
status
:
1
,
//
status: 1,
copyUserId
:
this
.
selectedUsers
,
//
copyUserId: this.selectedUsers,
};
//
};
return
applicationUpdate
(
data
).
then
((
r
)
=>
{
//
return applicationUpdate(data).then((r) => {
this
.
$message
.
success
(
this
.
$t
(
"
修改成功
"
));
//
this.$message.success(this.$t("修改成功"));
this
.
$emit
(
"
update:dialogVisible
"
,
false
);
//
this.$emit("update:dialogVisible", false);
});
//
});
}
//
}
feeApplicationCreateBatch
({
feeApplicationCreateBatch
({
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
...
@@ -339,6 +341,7 @@ export default {
...
@@ -339,6 +341,7 @@ export default {
this
.
$emit
(
"
update:dialogVisible
"
,
false
);
this
.
$emit
(
"
update:dialogVisible
"
,
false
);
this
.
$message
.
success
(
this
.
$t
(
"
添加成功
"
));
this
.
$message
.
success
(
this
.
$t
(
"
添加成功
"
));
this
.
selectedUsers
=
[];
this
.
selectedUsers
=
[];
this
.
$emit
(
"
refresh
"
)
}
}
});
});
},
},
...
...
src/views/ecw/order/index.vue
View file @
ca65a30e
...
@@ -13,10 +13,10 @@
...
@@ -13,10 +13,10 @@
</el-form-item> -->
</el-form-item> -->
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-input
v-model.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consignorKey')"
/>
<el-input
v-model.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-input
v-model.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consigneeKey')"
/>
<el-input
v-model.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
v-show=
"showSearch"
>
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
</el-form-item> -->
</el-form-item> -->
<el-form-item
:label=
"$t('商品')"
prop=
"tidanNo"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('商品')"
prop=
"tidanNo"
v-show=
"showSearch"
>
<el-input
v-model.trim=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(prodParam, 'value')"
>
<el-input
v-model.trim=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<
template
slot=
"prepend"
>
<
template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_PROD_FIELD"
defaultable
v-model=
"prodParam.key"
class=
"w-50"
/>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_PROD_FIELD"
defaultable
v-model=
"prodParam.key"
class=
"w-50"
/>
</
template
>
</
template
>
...
@@ -289,7 +289,7 @@
...
@@ -289,7 +289,7 @@
<el-table-column
v-if=
"dept"
:label=
"$t('客户经理')"
align=
"center"
prop=
"salesmanName"
/>
<el-table-column
v-if=
"dept"
:label=
"$t('客户经理')"
align=
"center"
prop=
"salesmanName"
/>
<el-table-column
:label=
"$t('发货人客服')"
align=
"center"
prop=
"consignorFollowCustomerService"
/>
<el-table-column
:label=
"$t('发货人客服')"
align=
"center"
prop=
"consignorFollowCustomerService"
/>
<el-table-column
:label=
"$t('收货人客服')"
align=
"center"
prop=
"consigneeFollowCustomerService"
/>
<el-table-column
:label=
"$t('收货人客服')"
align=
"center"
prop=
"consigneeFollowCustomerService"
/>
<el-table-column
:label=
"$t('到仓箱数/方数重量')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('到仓箱数/方数
/
重量')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
checkNum
}}{{
$t
(
"
箱
"
)
}}
/
{{
row
.
checkVolume
}}
m³ /
{{
row
.
checkWeight
}}
Kg
{{
row
.
checkNum
}}{{
$t
(
"
箱
"
)
}}
/
{{
row
.
checkVolume
}}
m³ /
{{
row
.
checkWeight
}}
Kg
</
template
>
</
template
>
...
@@ -449,10 +449,28 @@
...
@@ -449,10 +449,28 @@
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
<
template
v-if=
"exclude(scope.row.status, [0, 11, 12, 13, 14, 15, 17, 18, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206])"
>
<
template
v-if=
"
(exclude(scope.row.status,[0, 11, 12, 13, 14, 15, 17, 18, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206]))
||
(scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0)
"
>
<!--
<el-divider
direction=
"vertical"
></el-divider>
-->
<!--
<el-divider
direction=
"vertical"
></el-divider>
-->
<!--仓库相关的-->
<!--仓库相关的-->
<el-dropdown
v-hasPermi=
"['ecw:order:warehouse_add', 'ecw:order:warehouse_update', 'ecw:order:warehouse_exit', 'ecw:order:warehouse_adjustment', 'ecw:order:warehouse_transfer', 'ecw:order:warehouse_arrive', 'ecw:order:stocking']"
>
<el-dropdown
v-hasPermi=
"[
'ecw:order:warehouse_add',
'ecw:order:warehouse_update',
'ecw:order:warehouse_exit',
'ecw:order:warehouse_adjustment',
'ecw:order:warehouse_transfer',
'ecw:order:warehouse_arrive',
'ecw:order:stocking',
'ecw:order:shipment:warehouse_replenish',
'ecw:order:shipment:warehouse_update',
]"
>
<el-button
type=
"text"
>
{{
$t
(
"
仓库
"
)
}}
</el-button>
<el-button
type=
"text"
>
{{
$t
(
"
仓库
"
)
}}
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<!-- 入仓操作 -->
<!-- 入仓操作 -->
...
@@ -460,12 +478,66 @@
...
@@ -460,12 +478,66 @@
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_add']"
>
{{
$t
(
"
入仓操作
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_add']"
>
{{
$t
(
"
入仓操作
"
)
}}
</el-dropdown-item>
</
template
>
</
template
>
<!-- 入仓补充 -->
<!-- 入仓补充 -->
<
template
v-if=
"include(scope.row.inWarehouseState, [201, 202, 202, 210, 202, 211, 202, 214, 215, 216]) && include(scope.row.status, [2, 3, 5, 10, 9, 8])"
>
<
template
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-add?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item>
v-if=
"scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-add?shipment=1&id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:shipment:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item
>
</
template
>
<
template
v-else-if=
"
include(
scope.row.inWarehouseState,
[201, 202, 202, 210, 202, 211, 202, 214, 215, 216]
) && include(scope.row.status, [2, 3, 5, 10, 9, 8])
"
>
<el-dropdown-item
@
click.native=
"
$router.push(
'/order/warehousing-add?id=' + scope.row.orderId
)
"
v-hasPermi=
"['ecw:order:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<!-- 入仓修改 -->
<!-- 入仓修改 -->
<
template
v-if=
"include(scope.row.inWarehouseState, [201, 202, 207, 202, 209, 210, 202, 211, 202, 214, 215, 216, 204, 205]) && scope.row.status != 11 && exclude(scope.row.shipmentState, [314, 315, 317, 318])"
>
<
template
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-update?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_update']"
:disabled2=
"scope.row.parentOrderId"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item>
v-if=
"scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-update?shipment=1&id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:shipment:warehouse_update']"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item
>
</
template
>
<
template
v-else-if=
"
include(
scope.row.inWarehouseState,
[
201, 202, 207, 202, 209, 210, 202, 211, 202, 214, 215,
216, 204, 205,
]
) &&
scope.row.status != 11 &&
exclude(scope.row.shipmentState, [305, 307, 407])
"
>
<el-dropdown-item
@
click.native=
"
$router.push(
'/order/warehousing-update?id=' + scope.row.orderId
)
"
v-hasPermi=
"['ecw:order:warehouse_update']"
:disabled2=
"scope.row.parentOrderId"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<!-- 退仓 -->
<!-- 退仓 -->
...
@@ -589,7 +661,7 @@
...
@@ -589,7 +661,7 @@
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<batch-single-application
@
getList=
"getList"
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<batch-single-application
@
getList=
"getList"
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<fee-application
v-if=
"feeApplicationBol"
:order-id=
"orderId"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBol"
></fee-application>
<fee-application
v-if=
"feeApplicationBol"
:order-id=
"orderId"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBol
"
@
refresh=
"getList
"
></fee-application>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo = null"
/>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo = null"
/>
<pickup-log
v-if=
"showPickupLogOrderNo"
:order-no=
"showPickupLogOrderNo"
@
close=
"showPickupLogOrderNo = null"
@
delete=
"getList"
/>
<pickup-log
v-if=
"showPickupLogOrderNo"
:order-no=
"showPickupLogOrderNo"
@
close=
"showPickupLogOrderNo = null"
@
delete=
"getList"
/>
<SplitRevoke
<SplitRevoke
...
...
src/views/ecw/order/penddingList.vue
View file @
ca65a30e
...
@@ -4,14 +4,14 @@
...
@@ -4,14 +4,14 @@
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-form-item
:label=
"$t('编号')"
prop=
"orderNo"
>
<el-form-item
:label=
"$t('编号')"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.numberKey"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/\s+/g, '
')"
/>
<el-input
v-model=
"queryParams.numberKey"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'numberKey
')"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-input
v-model
=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')
"
/>
<el-input
v-model
.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery
"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-input
v-model
=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')
"
/>
<el-input
v-model
.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery
"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
>
<el-form-item
:label=
"$t('客户经理')"
>
<user-selector
manage
v-model=
"queryParams.salesmanIds"
multiple
clearable
@
change=
"handleQuery"
<user-selector
manage
v-model=
"queryParams.salesmanIds"
multiple
clearable
@
change=
"handleQuery"
...
@@ -685,6 +685,10 @@ export default {
...
@@ -685,6 +685,10 @@ export default {
this
.
AddressTown
=
data
;
this
.
AddressTown
=
data
;
})
})
}
}
},
// 自动去除空格
replaceSpace
(
obj
,
field
)
{
obj
[
field
]
=
obj
[
field
].
replace
(
/
\s
+/g
,
""
)
}
}
}
}
};
};
...
...
src/views/ecw/order/stockingList.vue
View file @
ca65a30e
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
:placeholder=
"$t('发货人')"
:placeholder=
"$t('发货人')"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consignorKey')"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
...
@@ -28,7 +27,6 @@
...
@@ -28,7 +27,6 @@
:placeholder=
"$t('收货人')"
:placeholder=
"$t('收货人')"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'consigneeKey')"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
>
<el-form-item
:label=
"$t('客户经理')"
>
...
@@ -115,7 +113,6 @@
...
@@ -115,7 +113,6 @@
:placeholder=
"$t('请输入商品类型、品名或品牌')"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
clearable
@
keyup.enter.native=
"handleQuery"
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'prodKey')"
/>
/>
</el-form-item>
</el-form-item>
...
...
src/views/ecw/order/warehousing/components/Warehouse.vue
View file @
ca65a30e
...
@@ -407,8 +407,8 @@
...
@@ -407,8 +407,8 @@
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
<div
v-if=
"
edit && order.status !== 3
"
>
<div
v-if=
"
(edit && order.status !== 3) || isShipment
"
>
<h2>
{{ $t(
"审批流程"
) }}
</h2>
<h2>
{{ $t(
'审批流程'
) }}
</h2>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div>
</div>
...
@@ -471,6 +471,7 @@ import { getProductTypeList } from "@/api/ecw/productType"
...
@@ -471,6 +471,7 @@ import { getProductTypeList } from "@/api/ecw/productType"
import
{
addProduct
}
from
"
@/api/ecw/product
"
import
{
addProduct
}
from
"
@/api/ecw/product
"
import
ImageAndVideoUpload
from
"
@/components/ImageAndVideoUpload/index.vue
"
import
ImageAndVideoUpload
from
"
@/components/ImageAndVideoUpload/index.vue
"
import
WarehouseRecordDetail
from
"
@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue
"
import
WarehouseRecordDetail
from
"
@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue
"
import
{
appendApplyWhenShipment
,
updateApplyWhenShipment
}
from
'
@/api/ecw/warehouse
'
export
default
{
export
default
{
name
:
"
Warehouse
"
,
name
:
"
Warehouse
"
,
...
@@ -520,6 +521,10 @@ export default {
...
@@ -520,6 +521,10 @@ export default {
orderWarehouseInBackItemDoList
:
[]
orderWarehouseInBackItemDoList
:
[]
}
}
}
}
},
isShipment
:{
type
:
Boolean
,
default
:
false
}
}
},
},
...
@@ -803,7 +808,9 @@ export default {
...
@@ -803,7 +808,9 @@ export default {
return
return
}
}
this
.
submitting
=
true
this
.
submitting
=
true
return
orderWarehouseIn
({
const
func
=
this
.
isShipment
?
appendApplyWhenShipment
:
orderWarehouseIn
console
.
log
(
"
提交追加
"
,
this
.
isShipment
,
func
)
return
func
({
...
this
.
form1
,
...
this
.
form1
,
brandType
:
this
.
warehousing
.
brandType
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderId
:
this
.
warehousing
.
orderId
,
...
@@ -849,7 +856,8 @@ export default {
...
@@ -849,7 +856,8 @@ export default {
if
(
this
.
edit
)
{
if
(
this
.
edit
)
{
// 入仓修改
// 入仓修改
this
.
submitting
=
true
this
.
submitting
=
true
return
orderWarehouseInUpdateApply
({
const
func
=
this
.
isShipment
?
updateApplyWhenShipment
:
orderWarehouseInUpdateApply
return
func
({
...
this
.
form
,
...
this
.
form
,
brandType
:
this
.
warehousing
.
brandType
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderId
:
this
.
warehousing
.
orderId
,
...
@@ -873,7 +881,7 @@ export default {
...
@@ -873,7 +881,7 @@ export default {
.
then
((
r
)
=>
{
.
then
((
r
)
=>
{
this
.
submitting
=
false
this
.
submitting
=
false
if
(
r
.
data
)
{
if
(
r
.
data
)
{
this
.
$message
.
success
(
r
.
msg
||
"
入仓修改发起成功
"
)
this
.
$message
.
success
(
this
.
$t
(
"
入仓修改发起成功
"
)
)
this
.
handleClose
()
this
.
handleClose
()
}
else
{
}
else
{
this
.
$message
.
success
(
r
.
msg
||
"
入仓修改发起失败
"
)
this
.
$message
.
success
(
r
.
msg
||
"
入仓修改发起失败
"
)
...
@@ -885,7 +893,8 @@ export default {
...
@@ -885,7 +893,8 @@ export default {
}
else
{
}
else
{
// 首次入仓、入仓补充
// 首次入仓、入仓补充
this
.
submitting
=
true
this
.
submitting
=
true
return
orderWarehouseIn
({
const
func
=
this
.
isShipment
?
appendApplyWhenShipment
:
orderWarehouseIn
return
func
({
...
this
.
form
,
...
this
.
form
,
brandType
:
this
.
warehousing
.
brandType
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderId
:
this
.
warehousing
.
orderId
,
...
@@ -905,7 +914,7 @@ export default {
...
@@ -905,7 +914,7 @@ export default {
.
then
((
r
)
=>
{
.
then
((
r
)
=>
{
this
.
submitting
=
false
this
.
submitting
=
false
if
(
r
.
data
)
{
if
(
r
.
data
)
{
this
.
$message
.
success
(
"
入仓成功
"
)
this
.
$message
.
success
(
this
.
isShipment
?
this
.
$t
(
'
入仓追加已提交审批
'
)
:
this
.
$t
(
"
入仓成功
"
)
)
this
.
handleClose
()
this
.
handleClose
()
}
else
{
}
else
{
this
.
$message
.
success
(
"
入仓失败
"
)
this
.
$message
.
success
(
"
入仓失败
"
)
...
...
src/views/ecw/order/warehousing/index.vue
View file @
ca65a30e
...
@@ -103,6 +103,7 @@
...
@@ -103,6 +103,7 @@
:order-item-b=
"orderItemList[$index]"
:order-item-b=
"orderItemList[$index]"
:title=
"$t('修改')"
:title=
"$t('修改')"
:order=
"order"
:order=
"order"
:is-shipment=
"isShipment"
@
close=
"getList"
@
close=
"getList"
></warehouse>
></warehouse>
<template
<template
...
@@ -120,9 +121,11 @@
...
@@ -120,9 +121,11 @@
:order-item-b=
"orderItemList[$index]"
:order-item-b=
"orderItemList[$index]"
:title=
"$t('追加')"
:title=
"$t('追加')"
:order=
"order"
:order=
"order"
:is-shipment=
"isShipment"
@
close=
"getList"
@
close=
"getList"
></warehouse>
></warehouse>
<el-button
<el-button
v-if=
"!isShipment"
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
@
click=
"handleWarehousingReturn(row)"
...
@@ -254,7 +257,7 @@
...
@@ -254,7 +257,7 @@
</el-card>
</el-card>
<div
<div
style=
"text-align: center; margin-top: 15px"
style=
"text-align: center; margin-top: 15px"
v-if=
"!(order.status !== 3 && isEdit)"
v-if=
"!(order.status !== 3 && isEdit)
&& !isShipment
"
>
>
<el-button
@
click=
"escapeBol = true"
type=
"primary"
>
{{
<el-button
@
click=
"escapeBol = true"
type=
"primary"
>
{{
$t("转异")
$t("转异")
...
@@ -696,6 +699,9 @@ export default {
...
@@ -696,6 +699,9 @@ export default {
warehouseId
()
{
warehouseId
()
{
return
this
.
order
?.
logisticsInfoDto
?.
startWarehouseId
;
return
this
.
order
?.
logisticsInfoDto
?.
startWarehouseId
;
},
},
isShipment
(){
return
this
.
$route
.
query
?.
shipment
==
1
}
},
},
};
};
</
script
>
</
script
>
...
...
src/views/ecw/order/warningCargoControl.vue
View file @
ca65a30e
...
@@ -3,14 +3,14 @@
...
@@ -3,14 +3,14 @@
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
:label=
"$t('订单编号')"
prop=
"orderNo"
>
<el-form-item
:label=
"$t('订单编号')"
prop=
"orderNo"
>
<el-input
v-model
=
"queryParams.orderNo"
:placeholder=
"$t('订单编号')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/\s+/g, '
')"
/>
<el-input
v-model
.trim=
"queryParams.orderNo"
:placeholder=
"$t('订单编号')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"replaceSpace(queryParams, 'orderNo
')"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
>
<el-input
v-model
=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"
/>
<el-input
v-model
.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
>
<el-input
v-model
=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')
"
/>
<el-input
v-model
.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery
"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货状态')"
prop=
"isCargoControl"
>
<el-form-item
:label=
"$t('控货状态')"
prop=
"isCargoControl"
>
<dict-selector
v-model=
"queryParams.cargoControlStatusList"
multiple
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
clearable
@
change=
"handleQuery"
/>
<dict-selector
v-model=
"queryParams.cargoControlStatusList"
multiple
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
clearable
@
change=
"handleQuery"
/>
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('商品')"
prop=
"prodId"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('商品')"
prop=
"prodId"
v-show=
"showSearch"
>
<product-selector
v-model
=
"queryParams.prodId"
@
keyup.enter.native=
"handleQuery"
clearable
@
change=
"handleQuery"
onkeyup=
"this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')
"
/>
<product-selector
v-model
.trim=
"queryParams.prodId"
@
keyup.enter.native=
"handleQuery"
clearable
@
change=
"handleQuery
"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('订单状态')"
prop=
"statusList"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('订单状态')"
prop=
"statusList"
v-show=
"showSearch"
>
...
@@ -351,7 +351,10 @@ export default {
...
@@ -351,7 +351,10 @@ export default {
this
.
loading
=
false
this
.
loading
=
false
})
})
},
},
// 自动去除空格
replaceSpace
(
obj
,
field
)
{
obj
[
field
]
=
obj
[
field
].
replace
(
/
\s
+/g
,
""
)
},
/** 搜索按钮操作 */
/** 搜索按钮操作 */
handleQuery
()
{
handleQuery
()
{
this
.
queryParams
.
page
=
1
this
.
queryParams
.
page
=
1
...
...
src/views/ecw/warehouse/index.vue
View file @
ca65a30e
...
@@ -921,7 +921,7 @@ export default {
...
@@ -921,7 +921,7 @@ export default {
cityList
:
[],
cityList
:
[],
serviceGroup
:
[
serviceGroup
:
[
{
id
:
"
1
"
,
text
:
this
.
$t
(
"
集运
服务
"
)
},
{
id
:
"
1
"
,
text
:
this
.
$t
(
"
集运
"
)
},
{
id
:
"
6
"
,
text
:
this
.
$t
(
"
数量(个)是否必填
"
)
},
{
id
:
"
6
"
,
text
:
this
.
$t
(
"
数量(个)是否必填
"
)
},
],
],
...
...
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