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
ee723e17
Commit
ee723e17
authored
Sep 28, 2022
by
我在何方
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
6d36f641
3507247e
Changes
35
Show whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
688 additions
and
321 deletions
+688
-321
box.js
src/api/ecw/box.js
+10
-0
order.js
src/api/ecw/order.js
+2
-2
index.js
src/router/index.js
+0
-1
dict.js
src/utils/dict.js
+2
-0
costForm.vue
src/views/ecw/box/costForm.vue
+14
-6
indexFutureBox.vue
src/views/ecw/box/indexFutureBox.vue
+44
-23
index.vue
src/views/ecw/box/ladingBill/index.vue
+2
-1
index.vue
src/views/ecw/channel/index.vue
+8
-51
edit.vue
src/views/ecw/customer/edit.vue
+1
-0
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+75
-22
index.vue
src/views/ecw/deptTarget/index.vue
+14
-3
index.vue
src/views/ecw/oceanCustomer/index.vue
+46
-20
Commossion.vue
src/views/ecw/offer/components/Commossion.vue
+13
-12
SpecialDetail.vue
src/views/ecw/offer/components/SpecialDetail.vue
+25
-20
SpecialDiscount.vue
src/views/ecw/offer/components/SpecialDiscount.vue
+1
-1
detail.vue
src/views/ecw/offer/detail.vue
+14
-6
edit.vue
src/views/ecw/offer/edit.vue
+11
-0
special.vue
src/views/ecw/offer/special.vue
+28
-10
cargoControlDetail.vue
src/views/ecw/order/cargoControlDetail.vue
+18
-7
CancelCargo.vue
src/views/ecw/order/components/CancelCargo.vue
+13
-27
CargoControlDetail.vue
src/views/ecw/order/components/CargoControlDetail.vue
+1
-1
PrintLadingBill.vue
src/views/ecw/order/components/PrintLadingBill.vue
+4
-5
SpecialDiscount.vue
src/views/ecw/order/components/SpecialDiscount.vue
+174
-0
TransferCargo.vue
src/views/ecw/order/components/TransferCargo.vue
+15
-2
detail.vue
src/views/ecw/order/detail.vue
+1
-1
edit.vue
src/views/ecw/order/edit.vue
+20
-4
index.vue
src/views/ecw/order/index.vue
+12
-12
mutexOrder.vue
src/views/ecw/order/mutexOrder.vue
+1
-1
notMutexOrder.vue
src/views/ecw/order/notMutexOrder.vue
+1
-1
pending.vue
src/views/ecw/order/pending.vue
+5
-2
discount.vue
src/views/ecw/order/special/discount.vue
+6
-20
index.vue
src/views/ecw/order/special/index.vue
+65
-44
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+9
-4
index.vue
src/views/ecw/order/warehousing/index.vue
+28
-11
index.vue
src/views/ecw/productPrice/index.vue
+5
-1
No files found.
src/api/ecw/box.js
View file @
ee723e17
...
...
@@ -209,3 +209,13 @@ function jsonToFormData(params) {
}
return
formData
;
}
// 根据订单ID下载提货单
export
function
downloadByOrderId
(
orderId
)
{
return
request
({
url
:
"
/shipment/make-bill-of-lading/downloadByOrderId
"
,
method
:
"
get
"
,
params
:
{
orderId
},
responseType
:
'
arraybuffer
'
});
}
\ No newline at end of file
src/api/ecw/order.js
View file @
ee723e17
...
...
@@ -346,9 +346,9 @@ export function cancelOrderSpecial(orderApprovalId,data) {
}
// 获得订单特价申请详情
export
function
getOrderSpecial
(
o
fferProd
Id
,
type
=
1
)
{
export
function
getOrderSpecial
(
o
rderItem
Id
,
type
=
1
)
{
return
request
({
url
:
'
/ecw/order/special/info/
'
+
o
fferProd
Id
+
'
/
'
+
type
,
url
:
'
/ecw/order/special/info/
'
+
o
rderItem
Id
+
'
/
'
+
type
,
method
:
'
get
'
})
}
...
...
src/router/index.js
View file @
ee723e17
...
...
@@ -2,7 +2,6 @@ import Vue from 'vue'
import
Router
from
'
vue-router
'
/* Layout */
import
Layout
from
'
@/layout
'
import
query
from
'
@/views/ecw/customer/query
'
Vue
.
use
(
Router
)
...
...
src/utils/dict.js
View file @
ee723e17
...
...
@@ -112,6 +112,8 @@ export const DICT_TYPE = {
ECW_PICK_RECURRENT_NUCLEAR_TYPE
:
'
PICK_RECURRENT_NUCLEAR_TYPE
'
,
// 放货反复核类型
ECW_COST_FEE_TYPE
:
'
cost_fee_type
'
,
// 清单费用类型
ECW_PRICE_AUDIT_STATUS
:
'
price_audit_status
'
,
// 路线价格审核状态
ECW_CANCEL_PICK_TYPE
:
'
cancel_pick_type
'
,
// 取消放货类型
//--------ecw---------
CUSTOMER_STATUS
:
'
customer_status
'
,
CUSTOMER_SOURCE
:
'
customer_source
'
,
...
...
src/views/ecw/box/costForm.vue
View file @
ee723e17
<
template
>
<div
class=
"app-costForm shippingSea-dialog"
>
<el-form
ref=
"costForm"
:model=
"costObj"
label-width=
"80px"
>
<el-form
ref=
"costForm"
:model=
"costObj"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"操作步骤"
>
<el-form-item
label=
"操作步骤"
prop=
"opStepType"
>
<el-select
v-model=
"costObj.opStepType"
placeholder=
"请选择操作步骤"
>
<el-option
v-for=
"type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)"
:key=
"type.value"
:label=
"type.label"
:value=
"type.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"费用类型"
>
<el-form-item
label=
"费用类型"
prop=
"costType"
>
<el-select
v-model=
"costObj.costType"
placeholder=
"请选择费用类型"
>
<el-option
v-for=
"type in this.getDictDatas(DICT_TYPE.FEE_TYPE)"
:key=
"type.value"
:label=
"type.label"
:value=
"type.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"供应商"
>
<el-form-item
label=
"供应商"
prop=
"supplierId"
>
<el-select
v-model=
"costObj.supplierId"
placeholder=
"请选择供应商"
>
<el-option
v-for=
"supplier in allSupplier"
:key=
"supplier.id"
:label=
"supplier.companyZh"
:value=
"supplier.id"
></el-option>
</el-select>
</el-form-item>
<el-row
class=
"two-element-formItem"
>
<el-form-item
label=
"金额"
>
<el-form-item
label=
"金额"
prop=
"price"
>
<el-input-number
v-model=
"costObj.price"
controls-position=
"right"
:min=
"1"
></el-input-number>
</el-form-item>
<el-form-item
label=
""
label-width=
"0px"
>
<el-form-item
label=
""
label-width=
"0px"
prop=
"priceUnit"
>
<el-select
v-model=
"costObj.priceUnit"
placeholder=
"请选择单位"
>
<el-option
v-for=
"type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)"
:key=
"type.value"
:label=
"type.label"
:value=
"type.value"
></el-option>
</el-select>
...
...
@@ -57,6 +57,14 @@ export default {
costObj
:
{},
// 供应商
allSupplier
:
[],
rules
:
{
opStepType
:
[{
required
:
true
,
message
:
"
操作步骤不能为空
"
,
trigger
:
"
change
"
}],
costType
:
[{
required
:
true
,
message
:
"
费用类型不能为空
"
,
trigger
:
"
change
"
}],
supplierId
:
[{
required
:
true
,
message
:
"
供应商不能为空
"
,
trigger
:
"
blur
"
}],
price
:
[{
required
:
true
,
message
:
"
金额不能为空
"
,
trigger
:
"
blur
"
}],
priceUnit
:
[{
required
:
true
,
message
:
"
金额单位不能为空
"
,
trigger
:
"
blur
"
}]
},
};
},
created
()
{
...
...
src/views/ecw/box/indexFutureBox.vue
View file @
ee723e17
...
...
@@ -126,9 +126,6 @@
</el-select>
</el-form-item>
<el-form-item
label=
"运输方式"
prop=
"transportType"
>
<!-- <el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group> -->
<dict-selector
:type=
"DICT_TYPE.TRANSPORT_TYPE"
v-model=
"form.transportType"
form-type=
"radio"
/>
</el-form-item>
<el-form-item
label=
"出货渠道"
prop=
"shippingChannelId"
v-if=
"form.transportType == 3 || form.transportType == 4"
>
...
...
@@ -304,38 +301,62 @@ export default {
this
.
getList
();
},
watch
:{
'
form.transportType
'
(
transportId
){
if
(
!
transportId
){
this
.
$set
(
this
.
form
,
'
loadingNumber
'
,
0
)
this
.
$set
(
this
.
form
,
'
readyWarehousingNumber
'
,
0
)
this
.
$set
(
this
.
form
,
'
warehousedNumber
'
,
0
)
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
0
)
return
'
form.transportType
'
(){
this
.
getVolume
()
},
'
form.startWarehouseId
'
(){
this
.
getVolume
()
},
'
form.destWarehouseId
'
(){
this
.
getVolume
()
},
'
form.shippingChannelId
'
(){
console
.
log
(
'
123shippingChannelId
'
)
this
.
getVolume
()
},
'
form.warehousedNumber
'
(){
//在仓 = 已入仓-已封柜
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
Decimal
(
this
.
form
.
warehousedNumber
).
minus
(
this
.
form
.
loadingNumber
))
},
'
form.loadingNumber
'
(){
//在仓 = 已入仓-已封柜
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
Decimal
(
this
.
form
.
warehousedNumber
).
minus
(
this
.
form
.
loadingNumber
))
}
},
methods
:
{
getVolume
(){
if
(
!
this
.
form
.
transportType
||
!
this
.
form
.
startWarehouseId
||
!
this
.
form
.
destWarehouseId
){
return
this
.
setDefaultVolume
()
}
// 空运需要选择渠道
if
((
this
.
form
.
transportType
==
3
||
this
.
form
.
transportType
==
4
)
&&
!
this
.
form
.
shippingChannelId
){
return
this
.
setDefaultVolume
()
}
let
data
=
{
transportId
:
this
.
form
.
transportType
,
channelId
:
this
.
form
.
shippingChannelId
,
departureId
:
this
.
form
.
startWarehouseId
,
objectiveId
:
this
.
form
.
destWarehouseId
}
// 获得已封柜方数
getBoxedVolume
(
{
transportId
}
).
then
(
res
=>
{
getBoxedVolume
(
data
).
then
(
res
=>
{
this
.
$set
(
this
.
form
,
'
loadingNumber
'
,
res
.
data
||
0
)
})
// 获得待入仓方数
getToBeWareHousedVolume
(
{
transportId
}
).
then
(
res
=>
{
getToBeWareHousedVolume
(
data
).
then
(
res
=>
{
this
.
$set
(
this
.
form
,
'
readyWarehousingNumber
'
,
res
.
data
||
0
)
})
// 获得已入仓方数
getWareHousedVolume
(
{
transportId
}
).
then
(
res
=>
{
getWareHousedVolume
(
data
).
then
(
res
=>
{
this
.
$set
(
this
.
form
,
'
warehousedNumber
'
,
res
.
data
||
0
)
})
},
'
form.warehousedNumber
'
(){
//在仓 = 已入仓-已封柜
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
Decimal
(
this
.
form
.
warehousedNumber
).
minus
(
this
.
form
.
loadingNumber
))
},
'
form.loadingNumber
'
(){
//在仓 = 已入仓-已封柜
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
Decimal
(
this
.
form
.
warehousedNumber
).
minus
(
this
.
form
.
loadingNumber
))
}
setDefaultVolume
(){
this
.
$set
(
this
.
form
,
'
loadingNumber
'
,
0
)
this
.
$set
(
this
.
form
,
'
readyWarehousingNumber
'
,
0
)
this
.
$set
(
this
.
form
,
'
warehousedNumber
'
,
0
)
this
.
$set
(
this
.
form
,
'
warehousingNumber
'
,
0
)
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
src/views/ecw/box/ladingBill/index.vue
View file @
ee723e17
...
...
@@ -178,7 +178,8 @@ export default {
const { bookSeaInfo } = this.shipmentObj;
makeBillService({
orderId: row.orderId,
zgDate: bookSeaInfo.sailTime,
zgDate: '2022-09-27',
// zgDate: bookSeaInfo.sailTime,
}).then((res) => {
const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
...
...
src/views/ecw/channel/index.vue
View file @
ee723e17
...
...
@@ -27,8 +27,8 @@
<el-form-item
label=
"快递ID"
prop=
"expressId"
>
<el-input
v-model=
"queryParams.expressId"
placeholder=
"请输入快递ID"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"
到达
时间"
>
<el-input
v-model=
"queryParams.
dateRangeE
taTime"
placeholder=
"预计到达天数"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
label=
"
预计
时间"
>
<el-input
v-model=
"queryParams.
e
taTime"
placeholder=
"预计到达天数"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"渠道代理"
prop=
"channelAgent"
>
<el-input
v-model=
"queryParams.channelAgent"
placeholder=
"请输入渠道代理"
clearable
@
keyup.enter.native=
"handleQuery"
/>
...
...
@@ -114,10 +114,6 @@
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
</el-dialog>
</div>
</template>
...
...
@@ -149,19 +145,7 @@ export default {
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
nameZh
:
null
,
nameEn
:
null
,
internalNameZh
:
null
,
internalNameEn
:
null
,
typeNumber
:
null
,
warehouseIds
:
null
,
sort
:
null
,
expressId
:
null
,
channelAgent
:
null
,
remarksZh
:
null
,
remarksEn
:
null
,
status
:
null
,
pageSize
:
10
},
// 表单参数
form
:
{},
...
...
@@ -180,8 +164,6 @@ export default {
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeEtaTime
,
'
etaTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行查询
getChannelPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
...
...
@@ -189,32 +171,6 @@ export default {
this
.
loading
=
false
;
});
},
/** 取消按钮 */
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
/** 表单重置 */
reset
()
{
this
.
form
=
{
channelId
:
undefined
,
nameZh
:
undefined
,
nameEn
:
undefined
,
internalNameZh
:
undefined
,
internalNameEn
:
undefined
,
typeNumber
:
undefined
,
code
:
undefined
,
warehouseIds
:
undefined
,
sort
:
undefined
,
expressId
:
undefined
,
etaTime
:
undefined
,
channelAgent
:
undefined
,
remarksZh
:
undefined
,
remarksEn
:
undefined
,
status
:
undefined
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
...
...
@@ -222,9 +178,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRangeEtaTime
=
[];
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
=
{
pageNo
:
1
,
pageSize
:
10
}
this
.
handleQuery
();
},
/** 新增按钮操作 */
...
...
@@ -259,7 +216,7 @@ export default {
this
.
exportLoading
=
true
;
return
exportChannelExcel
(
params
);
}).
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
'
${table.classComment}
.xls
'
);
this
.
$download
.
excel
(
response
,
'
渠道列表
.xls
'
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
...
...
src/views/ecw/customer/edit.vue
View file @
ee723e17
...
...
@@ -543,6 +543,7 @@ export default {
},
/** 取消按钮 */
cancel
()
{
this
.
$tab
.
closePage
()
this
.
open
=
false
;
this
.
reset
();
},
...
...
src/views/ecw/customerToBeAssigned/index.vue
View file @
ee723e17
...
...
@@ -11,36 +11,50 @@
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"客户等级"
prop=
"level"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"联系方式"
>
<el-input
placeholder=
"请输入联系方式"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
label=
"客户类别"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户来源"
prop=
"source"
>
<el-select
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"
客户经理"
prop=
"customerServi
ce"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small
"
>
<el-option
v-for=
"dict in c
ustomerService
List"
:key=
"dict.id"
:label=
"dict.n
ickname"
:value=
"dict.id"
/>
<el-form-item
label=
"
国家"
prop=
"sour
ce"
>
<el-select
clearable
v-model=
"form.country"
placeholder=
"请选择国家
"
>
<el-option
v-for=
"dict in c
ountry
List"
:key=
"dict.id"
:label=
"dict.n
ameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"queryParams.department"
placeholder=
"请输入部门"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-date-picker
clearable
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
<el-form-item
label=
"信用等级"
prop=
"department"
>
<el-select
clearable
v-model=
"form.level"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
...
...
@@ -57,36 +71,44 @@
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
:disabled=
"selectCustomerList.length === 0"
type=
"warning"
size=
"mini"
@
click=
"batchTransferShow = true;"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:customer:export']"
>
批量移交
</el-button>
</el-col>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
ref=
"multipleTable"
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"客户编号"
align=
"center"
prop=
"number"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
level
"
>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
vipLevelNameZh
"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"信用等级"
prop=
"creditLevelNameZh"
></el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"部门"
align=
"center"
prop=
"department"
/>
<el-table-column
label=
"主联系人"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
label=
"主联系方式"
prop=
"defaultContactPhone"
></el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
:formatter=
"countryFormatter"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
...
...
@@ -120,6 +142,7 @@
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<transfer-customer
:show.sync=
"batchTransferShow"
:customer-ids.sync=
"selectCustomerList"
></transfer-customer>
</div>
</template>
...
...
@@ -129,13 +152,18 @@ import { createCustomer, updateCustomer, deleteCustomer, getCustomer,handOverCus
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
upload
from
'
@/components/ImageUpload
'
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
export
default
{
name
:
"
customerToBeAssigned
"
,
components
:
{
upload
upload
,
transferCustomer
},
data
()
{
return
{
batchTransferShow
:
false
,
getDictDatas
,
DICT_TYPE
,
// 遮罩层
...
...
@@ -186,9 +214,19 @@ export default {
service
:
undefined
,
//客服
transferData
:
undefined
,
//移交数据
transferShow
:
false
,
creditList
:[],
selectCustomerList
:[],
countryList
:[]
};
},
created
()
{
getCountryListAll
().
then
(
r
=>
{
console
.
log
(
r
,
'
国家
'
)
this
.
countryList
=
r
.
data
})
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
(
r
=>
{
this
.
creditList
=
r
.
data
.
list
})
this
.
getList
();
listServiceUser
().
then
(
r
=>
{
console
.
log
(
r
,
'
客服
'
);
...
...
@@ -199,6 +237,13 @@ export default {
// })
},
methods
:
{
countryFormatter
(
row
,
column
,
cellValue
)
{
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
return
country
?.
nameZh
},
handleSelectionChange
(
val
){
this
.
selectCustomerList
=
val
.
map
(
i
=>
i
.
id
);
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
@@ -370,6 +415,14 @@ export default {
return
''
}
}
},
watch
:{
selectCustomerList
(
val
){
if
(
val
.
length
===
0
){
this
.
getList
()
this
.
$refs
.
multipleTable
.
clearSelection
();
}
},
}
};
</
script
>
src/views/ecw/deptTarget/index.vue
View file @
ee723e17
...
...
@@ -111,9 +111,9 @@
</el-select>
</el-form-item>
<el-form-item
label=
"运输方式"
prop=
"transportType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportType"
formatter=
"number"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportType"
formatter=
"number"
@
change=
"showChannel"
/>
</el-form-item>
<el-form-item
label=
"出货渠道"
prop=
"shippingChannel"
>
<el-form-item
label=
"出货渠道"
prop=
"shippingChannel"
v-if=
"this.showFlag"
>
<el-select
v-model=
"form.shippingChannel"
placeholder=
"请选择出货渠道"
>
<el-option
v-for=
"item in channelList"
:label=
"item.nameZh"
:value=
"item.channelId"
:key=
"item.channelId"
></el-option>
...
...
@@ -154,6 +154,7 @@
return
{
// 遮罩层
loading
:
true
,
showFlag
:
false
,
// 导出遮罩层
exportLoading
:
false
,
// 显示搜索条件
...
...
@@ -206,8 +207,10 @@
form
:
{},
// 表单校验
rules
:
{
deptId
:
[{
required
:
true
,
message
:
"
部门
ID
不能为空
"
,
trigger
:
"
blur
"
}],
deptId
:
[{
required
:
true
,
message
:
"
部门不能为空
"
,
trigger
:
"
blur
"
}],
targetType
:
[{
required
:
true
,
message
:
"
目标类型不能为空
"
,
trigger
:
"
change
"
}],
targetPeriodName
:
[{
required
:
true
,
message
:
"
计算周期不能为空
"
,
trigger
:
"
change
"
}],
transportType
:
[{
required
:
true
,
message
:
"
运输方式不能为空
"
,
trigger
:
"
change
"
}],
cubeNum
:
[{
required
:
true
,
message
:
"
立方数不能为空
"
,
trigger
:
"
blur
"
}],
}
};
...
...
@@ -279,6 +282,14 @@
}
})
},
showChannel
(
val
){
console
.
log
(
val
);
if
(
val
===
3
||
val
===
4
){
this
.
showFlag
=
true
;
}
else
{
this
.
showFlag
=
false
;
}
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
ee723e17
...
...
@@ -11,36 +11,50 @@
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入客户名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"客户等级"
prop=
"level"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.level"
placeholder=
"请选择客户等级"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_LEVEL)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"联系方式"
>
<el-input
placeholder=
"请输入联系方式"
v-model=
"queryParams.defaultContactPhone"
></el-input>
</el-form-item>
<el-form-item
label=
"客户类别"
prop=
"level"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
multiple
v-model=
"queryParams.type"
></dict-selector>
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in customerServiceList"
:key=
"dict.id"
:label=
"dict.nickname"
:value=
"dict.id"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户来源"
prop=
"source"
>
<el-select
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.source"
placeholder=
"请选择客户来源"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"
客户经理"
prop=
"customerServi
ce"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small
"
>
<el-option
v-for=
"dict in c
ustomerService
List"
:key=
"dict.id"
:label=
"dict.n
ickname"
:value=
"dict.id"
/>
<el-form-item
label=
"
国家"
prop=
"sour
ce"
>
<el-select
clearable
v-model=
"form.country"
placeholder=
"请选择国家
"
>
<el-option
v-for=
"dict in c
ountry
List"
:key=
"dict.id"
:label=
"dict.n
ameZh"
:value=
"parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-select
clearable
v-model=
"queryParams.status"
placeholder=
"请选择客户状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"queryParams.department"
placeholder=
"请输入部门"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-date-picker
clearable
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
<el-form-item
label=
"信用等级"
prop=
"department"
>
<el-select
clearable
v-model=
"form.level"
>
<el-option
v-for=
"(item,index) in creditList"
:label=
"item.nameZh"
:key=
"index"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
...
...
@@ -73,29 +87,27 @@
</el-table-column>
<el-table-column
label=
"客户编号"
align=
"center"
prop=
"number"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
level
"
>
<el-table-column
label=
"客户等级"
align=
"center"
prop=
"
vipLevelNameZh
"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_LEVEL"
:value=
"scope.row.level"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.COUNTRY"
:value=
"scope.row.country"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"信用等级"
prop=
"creditLevelNameZh"
></el-table-column>
<el-table-column
label=
"客户状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CUSTOMER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"部门"
align=
"center"
prop=
"department"
/>
<el-table-column
label=
"主联系人"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
label=
"主联系方式"
prop=
"defaultContactPhone"
></el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"客户经理"
align=
"center"
prop=
"customerService"
:formatter=
"customerServiceFn"
>
</el-table-column>
<el-table-column
label=
"国家"
align=
"center"
prop=
"country"
:formatter=
"countryFormatter"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-folder-add"
@
click=
"distribution(scope.row)"
>
移交
</el-button>
...
...
@@ -134,6 +146,8 @@ import { createCustomer, updateCustomer, deleteCustomer,handOverCustomer,getPubl
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
upload
from
'
@/components/ImageUpload
'
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
export
default
{
name
:
"
customerToBeAssigned
"
,
components
:
{
...
...
@@ -193,6 +207,8 @@ export default {
transferShow
:
false
,
multipleSelection
:[],
isBatch
:
false
,
countryList
:[],
creditList
:[]
};
},
created
()
{
...
...
@@ -201,11 +217,21 @@ export default {
console
.
log
(
r
,
'
客服
'
);
this
.
customerServiceList
=
r
.
data
;
})
getCountryListAll
().
then
(
r
=>
{
this
.
countryList
=
r
.
data
})
getCreditPage
({
page
:
1
,
rows
:
999
}).
then
(
r
=>
{
this
.
creditList
=
r
.
data
.
list
})
// getNodeList().then(r => {
// this.nodeList = r.data
// })
},
methods
:
{
countryFormatter
(
row
,
column
,
cellValue
)
{
const
country
=
this
.
countryList
.
find
((
e
)
=>
e
.
id
===
cellValue
)
return
country
?.
nameZh
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
src/views/ecw/offer/components/Commossion.vue
View file @
ee723e17
...
...
@@ -18,17 +18,17 @@
<
el
-
row
v
-
if
=
"
!form.charging
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('运费')
"
>
{{
form
.
orgSeaFreight
}}
{{
curren
tMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
{{
form
.
orgSeaFreight
}}
{{
curren
cyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('清关费')
"
>
{{
form
.
orgClearanceFreight
}}
{{
curren
tMap
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgC
learanceFreightVolume
]
}}
{{
form
.
orgClearanceFreight
}}
{{
curren
cyMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
c
learanceFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
:
label
=
"
$t('全包价')
"
v
-
if
=
"
form.charging
"
>
{{
form
.
orgSeaFreight
}}
{{
curren
tMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
{{
form
.
orgSeaFreight
}}
{{
curren
cyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('佣金类型')
"
prop
=
"
commissionType
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.COMMISSION_TYPE
"
v
-
model
=
"
form.commissionType
"
form
-
type
=
"
radio
"
/>
...
...
@@ -37,36 +37,37 @@
<!--
明佣或者明佣
+
暗佣才显示
-->
<
el
-
form
-
item
label
=
"
明佣佣金
"
v
-
if
=
"
form.commissionType == 1 || form.commissionType == 3
"
>
<
el
-
input
v
-
model
.
number
=
"
form.lightCommissionAmount
"
placeholder
=
""
class
=
"
w-100
"
><
/el-input
>
{{
curren
tMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
{{
curren
cyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/el-form-item
>
<!--
明佣
+
暗佣才显示
-->
<
el
-
form
-
item
label
=
"
暗佣佣金
"
v
-
if
=
"
form.commissionType == 3
"
>
<
el
-
input
v
-
model
.
number
=
"
form.shadeCommissionAmount
"
placeholder
=
""
class
=
"
w-100
"
><
/el-input
>
{{
curren
tMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
{{
curren
cyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/el-form-item
>
<!--
无佣金不显示
-->
<
div
class
=
"
pl-50
"
v
-
if
=
"
form.commissionType != 0
"
>
<
div
>
{{
$l
(
form
,
'
prodTitle
'
)
}}
<
/div
>
<
div
v
-
if
=
"
form.commissionType != 2
"
>
{{
$l
(
form
,
'
prodTitle
'
)
}}
<
/div
>
<!--
明佣
+
暗佣显示
-->
<
div
v
-
if
=
"
form.commissionType == 3
"
>
成本价:
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
{{
$t
(
'
成本价
'
)
}}
:
{{
form
.
orgSeaFreight
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/div
>
<!--
暗佣显示
-->
<
div
v
-
if
=
"
form.commissionType == 2
"
>
{{
$l
(
form
,
'
prodTitle
'
)
}}
<
template
v
-
if
=
"
darkCommission
"
>
{{
$t
(
'
暗佣
'
)
}}
:
{{
darkCommission
}}
{{
curren
tMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
{{
$t
(
'
暗佣
'
)
}}
:
{{
darkCommission
}}
{{
curren
cyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/template
>
<
el
-
link
type
=
"
primary
"
@
click
.
native
=
"
$router.push('/customer/customerCommission?customerId=' + customerId)
"
>
去设置
<
/el-link
>
<
/div
>
<
div
v
-
if
=
"
form.commissionType == 1 || form.commissionType == 3
"
>
销售价:
{{
form
.
orgSeaFreight
+
form
.
shadeCommissionAmount
+
form
.
lightCommissionAmount
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
<
/div
>
<
div
v
-
if
=
"
form.commissionType == 3
"
>
实际佣金返点:
{{
form
.
shadeCommissionAmount
+
form
.
lightCommissionAmount
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
<
/div
>
<
div
v
-
if
=
"
form.commissionType == 1 || form.commissionType == 3
"
>
{{
$t
(
'
销售价
'
)
}}
:
{{
form
.
orgSeaFreight
+
form
.
shadeCommissionAmount
+
form
.
lightCommissionAmount
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/div
>
<
div
v
-
if
=
"
form.commissionType == 3
"
>
{{
$t
(
'
实际佣金返点
'
)
}}
:
{{
form
.
shadeCommissionAmount
+
form
.
lightCommissionAmount
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
<
/div
>
<
/div
>
<
div
class
=
"
page-title
"
>
审批流程
<
/div
>
<
div
class
=
"
page-title
"
>
{{
$t
(
'
审批流程
'
)
}}
<
/div
>
<
work
-
flow
xmlkey
=
"
sheet_sale
"
v
-
model
=
"
ccIdArr
"
/>
<
/el-form
>
...
...
@@ -139,7 +140,7 @@ export default {
return
s
?
'
【
'
+
s
+
'
】
'
:
''
}
}
,
curren
t
Map
(){
curren
cy
Map
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
...
...
src/views/ecw/offer/components/SpecialDetail.vue
View file @
ee723e17
...
...
@@ -25,35 +25,40 @@
<
/div
>
<
div
>
原运费:
{{
form
.
seaFreight
+
curren
t
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
原运费:
{{
form
.
seaFreight
+
curren
cy
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/div
>
<
div
>
新运费:
{{
newSeaFreight
+
curren
t
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
新运费:
{{
newSeaFreight
+
curren
cy
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/div
>
<
div
>
成本价:
{{
form
.
orgSeaFreight
+
curren
t
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
成本价:
{{
form
.
orgSeaFreight
+
curren
cy
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/div
>
<
div
>
明佣:
{{
form
.
lightCommissionAmount
+
curren
t
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
明佣:
{{
form
.
lightCommissionAmount
+
curren
cy
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/div
>
<
div
>
暗佣:
{{
form
.
shadeCommissionAmount
+
curren
t
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
暗佣:
{{
form
.
shadeCommissionAmount
+
curren
cy
Map
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/div
>
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
申请原因
"
:
span
=
"
3
"
v
-
if
=
"
type == 1
"
>
<
div
class
=
"
item
"
>
商品:
{{
$l
(
form
,
'
prodTitle
'
)
}}
<
/div
>
<
template
v
-
if
=
"
form.charging
"
>
原全包价:
{{
form
.
orgSeaFreight
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
,
新全包价:
{{
form
.
seaFreight
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/template
>
<
template
v
-
else
>
<
div
>
原运费:
{{
form
.
orgSeaFreight
+
currentMap
[
form
.
seaFreight
]
+
'
/
'
+
unitMap
[
form
.
seaFreight
]
}}
,
原清关费:
{{
form
.
orgClearanceFreight
+
currentMap
[
form
.
clearanceFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
clearanceFreightVolume
]
}}
原运费:
{{
form
.
orgSeaFreight
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
,
原清关费:
{{
form
.
orgClearanceFreight
}}
{{
currencyMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/div
>
<
div
>
新运费:
{{
seaFreight
+
currentMap
[
form
.
orgSeaFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
orgS
eaFreightVolume
]
}}
,
新清关费:
{{
form
.
clearanceFreight
+
currentMap
[
form
.
clearanceFreightCurrency
]
+
'
/
'
+
unitMap
[
form
.
clearanceFreightVolume
]
}}
新运费:
{{
form
.
seaFreight
}}
{{
currencyMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
eaFreightVolume
]
}}
,
新清关费:
{{
form
.
clearanceFreight
}}
{{
currencyMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/div
>
<
/template
>
<
/el-descriptions-item
>
<!--
...
...
@@ -71,10 +76,10 @@
<
el
-
descriptions
-
item
label
=
"
是否预付
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_PAY_ADVANCE
"
:
value
=
"
form.isPayAdvance
"
/>
<
/el-descriptions-item> --
>
<!--
<
el
-
descriptions
-
item
label
=
"
旧运费
"
>
{{
form
.
orgSeaFreight
}}
{{
curren
t
Map
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧清关费
"
>
{{
form
.
orgClearanceFreight
}}
{{
curren
t
Map
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新运费
"
>
{{
form
.
seaFreight
}}
{{
curren
t
Map
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新清关费
"
>
{{
form
.
clearanceFreight
}}
{{
curren
t
Map
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-descriptions-item> --
>
<!--
<
el
-
descriptions
-
item
label
=
"
旧运费
"
>
{{
form
.
orgSeaFreight
}}
{{
curren
cy
Map
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧清关费
"
>
{{
form
.
orgClearanceFreight
}}
{{
curren
cy
Map
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新运费
"
>
{{
form
.
seaFreight
}}
{{
curren
cy
Map
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新清关费
"
>
{{
form
.
clearanceFreight
}}
{{
curren
cy
Map
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-descriptions-item> --
>
<
/el-descriptions
>
<
/template
>
...
...
@@ -112,7 +117,7 @@ export default {
}
}
,
computed
:
{
curren
t
Map
(){
curren
cy
Map
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
...
...
src/views/ecw/offer/components/SpecialDiscount.vue
View file @
ee723e17
...
...
@@ -49,7 +49,7 @@
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('新全包价')
"
style
=
"
width: 400px
"
prop
=
"
clearanceFreight
"
v
-
if
=
"
form.charging
"
>
<
el
-
input
v
-
model
=
"
form.seaFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
s
orgS
eaFreightVolume
]
}}
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-form-item
>
<
/el-form
>
...
...
src/views/ecw/offer/detail.vue
View file @
ee723e17
...
...
@@ -120,12 +120,20 @@
</el-table-column>
<el-table-column
:label=
"$t('运费')"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.seaFreight"
>
<div>
{{
$t
(
'
运费
'
)
+
"
:
"
+
scope
.
row
.
seaFreight
}}{{
currentcyMap
[
scope
.
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
scope
.
row
.
seaFreightVolume
]
}}
</div>
<div>
{{
$t
(
'
清关费
'
)
+
'
:
'
+
scope
.
row
.
clearanceFreight
}}{{
currentcyMap
[
scope
.
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
scope
.
row
.
clearanceFreightVolume
]
}}
</div>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.charging ==1"
>
<template
v-if=
"!row.seaFreight"
>
未报价
</
template
>
<
template
>
{{
$t
(
'
全包价
'
)
}}
{{
row
.
oneSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
</template>
<
template
v-else-if=
"!row.seaFreight && !row.clearanceFreight"
>
未报价
</
template
>
<
template
v-else
>
<div>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div
v-else
>
未报价
</div>
<div>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currentcyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
</
template
>
</template>
</el-table-column>
</el-table>
...
...
src/views/ecw/offer/edit.vue
View file @
ee723e17
...
...
@@ -532,6 +532,17 @@ export default {
},
// 表单校验
rules
:
{
marks
:
[
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
value
&&
!
/
[
a-zA-Z
]
/
.
test
(
value
.
charAt
(
0
))){
return
callback
(
new
Error
(
this
.
$t
(
'
唛头必须以字母开头
'
)))
}
callback
()
},
trigger
:
'
blur
'
}
],
lineId
:
[{
required
:
true
,
message
:
"
请选择线路
"
}],
consignorId
:
[{
required
:
true
,
message
:
"
发货人不能为空
"
,}],
consigneeId
:
[{
required
:
true
,
message
:
"
收货人不能为空
"
}],
...
...
src/views/ecw/offer/special.vue
View file @
ee723e17
...
...
@@ -47,26 +47,44 @@
<el-table-column
:label=
"$t('原价')"
>
<
template
v-slot=
"{row}"
>
<template
v-if=
"!row.originalSeaFreight"
>
未报价
</
template
>
<
template
v-else-if=
"row.charging ==1"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
originalClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</template>
</el-table-column>
<el-table-column
label=
"成本价"
>
<
template
v-slot=
"{row}"
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
seaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<template
v-if=
"!row.costSeaFreight"
>
未报价
</
template
>
<
template
v-else-if=
"row.charging"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
costSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
costSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('销售价')"
>
<
template
v-slot=
"{row}"
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
saleSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<template
v-if=
"!row.oneSeaFreight"
>
未报价
</
template
>
<
template
v-else-if=
"row.charging"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
...
...
src/views/ecw/order/cargoControlDetail.vue
View file @
ee723e17
...
...
@@ -62,7 +62,7 @@
<el-table-column
:label=
"$t('操作')"
width=
"300px"
>
<
template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.status == 1"
type=
"primary"
size=
"mini"
@
click=
"editIndex=scope.$index"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.status == 1"
type=
"danger"
size=
"mini"
@
click=
"cancel
(scope.row.id)
"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.status == 1"
type=
"danger"
size=
"mini"
@
click=
"cancel
CargoPickId = scope.row.id
"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.status == 1"
type=
"success"
size=
"mini"
@
click=
"review(scope.row.id)"
>
{{
$t
(
'
放货复核
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.status == 3"
type=
"danger"
size=
"mini"
@
click=
"fallbackIndex=scope.$index"
>
{{
$t
(
'
反复核
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.status == 3"
type=
"success"
size=
"mini"
@
click=
"cargoControlPickId=scope.row.id"
>
{{
$t
(
'
调货
'
)
}}
</el-button>
...
...
@@ -111,6 +111,11 @@
:cargo-control-pick-id=
"cargoControlPickId"
@
close=
"cargoControlPickId=null"
@
success=
"onTransferCargoSuccess"
/>
<cancel-cargo
v-if=
"!!cancelCargoPickId"
:order=
"detail"
:cargo-control-pick-id=
"cancelCargoPickId"
@
close=
"cancelCargoPickId=null"
@
success=
"onCancelCargoSuccess"
/>
</div>
</template>
<
script
>
...
...
@@ -119,10 +124,11 @@ import {createPick, getPickRleaseInfo, review, cancel, cancelApproval} from '@/a
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
Fallback
from
'
./components/Fallback
'
import
TransferCargo
from
'
@/views/ecw/order/components/TransferCargo
'
import
CancelCargo
from
'
./components/CancelCargo.vue
'
export
default
{
filters
:
{
parseTime
},
components
:
{
edit
,
Fallback
,
TransferCargo
},
components
:
{
edit
,
Fallback
,
TransferCargo
,
CancelCargo
,
CancelCargo
},
data
(){
return
{
detail
:
null
,
...
...
@@ -131,6 +137,7 @@ export default {
editIndex
:
null
,
// 修改索引
fallbackIndex
:
null
,
// 反复核索引
cargoControlPickId
:
null
,
// 调货ID
cancelCargoPickId
:
null
,
// 取消返货ID
}
},
created
(){
...
...
@@ -205,6 +212,10 @@ export default {
onTransferCargoSuccess
(){
this
.
cargoControlPickId
=
null
this
.
loadData
()
},
onCancelCargoSuccess
(){
this
.
cancelCargoPickId
=
null
this
.
loadData
()
}
}
}
...
...
src/views/ecw/order/components/CancelCargo.vue
View file @
ee723e17
...
...
@@ -8,12 +8,12 @@
<el-row>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('收货人')"
>
{{
info
.
consigneeName
}}
{{
detail
.
consigneeName
}}
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('收货人电话')"
>
+
{{
info
.
consigneeCountryCode
}}
{{
info
.
consigneePhone
}}
+
{{
detail
.
consigneeCountryCode
}}
{{
detail
.
consigneePhone
}}
</el-form-item>
</el-col>
</el-row>
...
...
@@ -21,16 +21,16 @@
{{
order
.
sumNum
}}
</el-form-item>
<el-form-item
:label=
"$t('取消放货原因')"
>
<el-form-item
:label=
"$t('取消放货原因')"
prop=
"cancelPickType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CANCEL_PICK_TYPE"
v-model=
"formData.cancelPickType"
form-type=
"radio"
/>
</el-form-item>
<el-form-item
:label=
"$t('上传凭证')"
>
<image-upload
v-model=
"formData.voucher"
/>
</el-form-item>
<el-form-item
:label=
"$t('控货手机号')"
>
+
{{
info
.
countryCode
}}
{{
info
.
phone
}}
+
{{
detail
.
countryCode
}}
{{
detail
.
phone
}}
</el-form-item>
<el-form-item
:label=
"$t('手机验证码')"
>
<el-input
v-model=
"formData.code"
placeholder=
""
style=
"width: 100px; margin-right:10px"
></el-input>
...
...
@@ -44,11 +44,6 @@
<el-button
type=
"primary"
@
click=
"submit"
>
{{
$t
(
'
提交申请
'
)
}}
</el-button>
<el-button
@
click=
"closeDialog"
>
{{
$t
(
'
关闭
'
)
}}
</el-button>
</el-form-item>
<el-form-item
label=
""
style=
"margin-top:20px"
>
<el-button
type=
"success"
@
click=
"submit"
>
{{
$t
(
'
提交申请
'
)
}}
</el-button>
<el-button
type=
"default"
@
click=
"closeDialog"
>
{{
$t
(
'
关闭
'
)
}}
</el-button>
</el-form-item>
</el-form>
</el-dialog>
</
template
>
...
...
@@ -57,33 +52,29 @@ import {createPick, getRleaseInfo, seasoningCondimentsSelect, updateApply} from
import
AreaCodeSelector
from
'
@/components/AreaCodeSelector
'
import
SendSmsCode
from
'
@/views/ecw/order/components/SendSmsCode
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
ImageUpload
from
'
@/components/ImageUpload
'
export
default
{
props
:{
order
Id
:
[
String
,
Number
]
,
order
:
Object
,
cargoControlPickId
:
Number
},
components
:
{
AreaCodeSelector
,
SendSmsCode
,
WorkFlow
},
components
:
{
AreaCodeSelector
,
SendSmsCode
,
WorkFlow
,
ImageUpload
},
data
(){
return
{
show
:
false
,
detail
:
null
,
ccIdArr
:
[],
formData
:{
applyType
:
10
,
//
调货
审核
applyType
:
10
,
//
取消
审核
ccIds
:
''
},
rules
:{
cancelPickType
:
{
required
:
true
,
message
:
this
.
$t
(
'
请选择取消放货类型
'
)},
code
:
{
required
:
true
,
message
:
this
.
$t
(
'
请填写验证码
'
)}
},
orders
:
[],
selectedOrders
:[]
}
},
watch
:{
'
formData.orderIds
'
(
val
){
this
.
selectedOrders
=
this
.
orders
.
filter
(
item
=>
val
.
indexOf
(
item
.
orderId
)
>
-
1
)
},
ccIdArr
(
val
){
this
.
formData
.
ccIds
=
val
.
join
(
'
,
'
)
}
...
...
@@ -94,10 +85,7 @@ export default {
},
methods
:{
loadData
(){
getRleaseInfo
(
this
.
orderId
).
then
(
res
=>
this
.
detail
=
res
.
data
)
seasoningCondimentsSelect
({
orderId
:
this
.
orderId
}).
then
(
res
=>
{
this
.
orders
=
res
.
data
})
getRleaseInfo
(
this
.
order
.
orderId
).
then
(
res
=>
this
.
detail
=
res
.
data
)
},
closeDialog
(){
this
.
show
=
false
...
...
@@ -112,15 +100,13 @@ export default {
updateApply
(
Object
.
assign
({
cargoControlPickId
:
this
.
cargoControlPickId
,
orderBackPageVOList
:
this
.
selectedOrders
,
orderId
:
this
.
orderId
orderId
:
this
.
order
.
order
Id
},
this
.
formData
)).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
操作成功
'
))
this
.
show
=
false
this
.
$emit
(
'
success
'
)
})
})
}
}
}
...
...
src/views/ecw/order/components/CargoControlDetail.vue
View file @
ee723e17
...
...
@@ -33,7 +33,7 @@
<!-- 取消放货 -->
<el-descriptions-item
label=
"申请原因"
v-if=
"applyType == 10"
>
{{
detail
.
reason
}}
<dict-tag
:type=
"DICT_TYPE.ECW_CANCEL_PICK_TYPE"
:value=
"detail.cancelPickType"
/>
</el-descriptions-item>
</el-descriptions>
...
...
src/views/ecw/order/components/PrintLadingBill.vue
View file @
ee723e17
...
...
@@ -16,13 +16,15 @@ import {getLadingBill} from '@/api/ecw/order'
import
lodop
from
'
@/utils/lodop
'
import
PdfViewer
from
'
@/components/PdfViewer
'
import
FileSaver
from
'
file-saver
'
import
{
downloadByOrderId
}
from
'
@/api/ecw/box
'
export
default
{
components
:
{
PdfViewer
},
filters
:
{
parseTime
},
props
:{
transportType
:
Number
,
tidanNO
:
[
String
,
Number
]
// tidanNO: [String, Number],
orderId
:
String
},
data
(){
return
{
...
...
@@ -56,10 +58,7 @@ export default {
methods
:{
loadData
(){
this
.
loading
=
true
getLadingBill
({
billLadingNo
:
this
.
tidanNo
,
type
:
this
.
type
})
downloadByOrderId
(
this
.
orderId
)
.
then
(
arrayBuffer
=>
{
this
.
pdfData
=
arrayBuffer
})
...
...
src/views/ecw/order/components/SpecialDiscount.vue
0 → 100644
View file @
ee723e17
<
template
>
<el-dialog
visible
:close-on-click-modal=
"false"
:before-close=
"closeDialog"
:title=
"$t('优惠申请')"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-form-item
:label=
"$t('商品类型')"
>
<span>
{{
$l
(
productType
,
'
title
'
)
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('商品名称')"
>
<span>
{{
form
.
prodTitleZh
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('英文名称')"
>
<span>
{{
form
.
prodTitleEn
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('线路')"
>
【
<dict-tag
:type=
"DICT_TYPE.TRANSPORT_TYPE"
:value=
"form.transportId"
/>
】
{{
channel
?
$l
(
channel
,
'
title
'
)
:
''
}}
{{
$t
(
"
从【{departureName
}
】发往【{objectiveName
}
】
"
,
{
departureName
:
form
.
departureName
,
objectiveName
:
form
.
objectiveName
}
)
}}
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('是否预付')
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_YESNO
"
:
value
=
"
form.isPayAdvance
"
/>
<
/el-form-item
>
<
el
-
row
v
-
if
=
"
!form.charging
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('旧运费')
"
>
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('旧清关费')
"
>
{{
form
.
orgClearanceFreight
}}
{{
currentMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
v
-
if
=
"
!form.charging
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('新运费')
"
style
=
"
width: 400px
"
prop
=
"
seaFreight
"
>
<
el
-
input
v
-
model
=
"
form.seaFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('新清关费')
"
style
=
"
width: 400px
"
prop
=
"
clearanceFreight
"
>
<
el
-
input
v
-
model
=
"
form.clearanceFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
:
label
=
"
$t('旧全包价')
"
v
-
if
=
"
form.charging
"
>
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('新全包价')
"
style
=
"
width: 400px
"
prop
=
"
clearanceFreight
"
v
-
if
=
"
form.charging
"
>
<
el
-
input
v
-
model
=
"
form.seaFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-form-item
>
<
/el-form
>
<
div
class
=
"
page-title
"
>
审批流程
<
/div
>
<
work
-
flow
xmlkey
=
"
sheet_sale
"
v
-
model
=
"
ccIdArr
"
/>
<
div
v
-
if
=
"
!form.applyStatus
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
/div
>
<
div
v
-
else
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
$router.push('/bpm/process-instance/detail?id=' + form.formId)
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.APPLY_STATUS
"
:
value
=
"
form.applyStatus
"
/>
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
/template
>
<
script
>
import
{
createOrderSpecial
,
getOrderSpecial
}
from
"
@/api/ecw/order
"
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getChannel
,
getChannelList
}
from
"
@/api/ecw/channel
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getProductTypeList
,
getProductType
}
from
'
@/api/ecw/productType
'
import
WorkFlow
from
'
@/components/WorkFlow
'
export
default
{
name
:
"
specialDiscount
"
,
props
:
{
orderItemId
:
Number
,
}
,
components
:
{
WorkFlow
}
,
created
()
{
// 查看详情,列表进来的
if
(
this
.
orderItemId
){
this
.
getOrderSpecial
()
}
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
// getChannelList().then(res => this.channelList = res.data)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
// getProductTypeList().then(res => this.productTypeList = res.data)
}
,
data
()
{
return
{
unitList
:[],
// channelList:[],
currencyList
:[],
// productTypeList:[],
ccIdArr
:
[],
form
:
{
type
:
1
}
,
rules
:{
seaFreight
:
{
required
:
true
,
message
:
'
运费不能为空
'
}
,
clearanceFreight
:
{
required
:
true
,
message
:
'
清关费不能为空
'
}
}
,
productType
:
null
,
channel
:
null
}
}
,
watch
:{
ccIdArr
(){
this
.
$set
(
this
.
form
,
'
ccIds
'
,
this
.
ccIdArr
.
join
(
'
,
'
))
}
}
,
methods
:
{
handleSubmit
(){
this
.
$refs
.
form
.
validate
().
then
(
res
=>
{
createOrderSpecial
(
Object
.
assign
({
}
,
this
.
form
,
{
type
:
1
}
)).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
提交成功
'
))
this
.
$emit
(
'
success
'
)
}
)
}
)
}
,
getOrderSpecial
(){
getOrderSpecial
(
this
.
orderItemId
).
then
(
r
=>
{
this
.
form
=
r
.
data
getProductType
(
this
.
form
.
productType
).
then
(
res
=>
{
this
.
productType
=
res
.
data
}
)
if
(
this
.
form
.
channelId
){
getChannel
(
this
.
form
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
}
)
}
}
)
}
,
/* getProductTypeNameById(id){
return this.$l(this.productTypeList.find(e => e.id === id), 'title')
}
, */
closeDialog
(){
this
.
$emit
(
'
close
'
)
}
}
,
computed
:
{
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
const
s
=
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)
?.
nameZh
return
s
?
'
【
'
+
s
+
'
】
'
:
''
}
}
,
currentMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
,
unitMap
(){
let
map
=
{
}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
}
}
<
/script
>
src/views/ecw/order/components/TransferCargo.vue
View file @
ee723e17
...
...
@@ -45,12 +45,12 @@
</el-table-column>
<el-table-column
:label=
"$t('体积') + '(m³)'"
>
<
template
slot-scope=
"{row}"
>
{{
r
ow
.
sumVolume
}}
{{
r
eleaseVolme
(
row
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('重量') + '(kg)'"
>
<
template
slot-scope=
"{row}"
>
{{
r
ow
.
sumWeight
}}
{{
r
eleaseWeight
(
row
)
}}
</
template
>
</el-table-column>
</el-table>
...
...
@@ -80,6 +80,7 @@ import {createPick, getRleaseInfo, seasoningCondimentsSelect, updateApply} from
import
AreaCodeSelector
from
'
@/components/AreaCodeSelector
'
import
SendSmsCode
from
'
@/views/ecw/order/components/SendSmsCode
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
Decimal
from
'
decimal.js
'
export
default
{
props
:{
orderId
:
[
String
,
Number
],
...
...
@@ -111,6 +112,18 @@ export default {
this
.
formData
.
ccIds
=
val
.
join
(
'
,
'
)
}
},
computed
:{
releaseVolme
(){
return
row
=>
{
return
new
Decimal
(
row
.
sumVolume
).
mul
(
row
.
releaseNum
).
div
(
row
.
sumNum
).
toFixed
(
2
)
}
},
releaseWeight
(){
return
row
=>
{
return
new
Decimal
(
row
.
sumWeight
).
mul
(
row
.
releaseNum
).
div
(
row
.
sumNum
).
toFixed
(
2
)
}
}
},
created
(){
this
.
show
=
true
this
.
loadData
()
...
...
src/views/ecw/order/detail.vue
View file @
ee723e17
...
...
@@ -3,7 +3,7 @@
<el-card
class=
"card"
>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
订单编号
'
)
}}
:
{{
order
.
orderNo
}}
<template
v-if=
"order.
containerNumber"
>
-
{{
order
.
containerNumber
}}
</
template
>
<template
v-if=
"order.
tidanNo"
>
-
{{
order
.
tidanNo
}}
</
template
>
</div>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
v-if=
"order.consignorVO"
>
...
...
src/views/ecw/order/edit.vue
View file @
ee723e17
...
...
@@ -248,7 +248,7 @@
<div>
{{fee.seaRMB || 0}}{{$t('人民币')}}
</div>
<div>
{{fee.seaUSD || 0}}{{$t('美元')}}
</div>
</el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item
:label=
"$t('总清关费')"
>
<div>
{{fee.clearanceNGN || 0}}{{$t('奈拉')}}
</div>
<div>
{{fee.clearanceRMB || 0}}{{$t('人民币')}}
</div>
...
...
@@ -478,7 +478,11 @@
</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=
"brand"
></el-table-column>
<el-table-column
:label=
"$t('品牌')"
prop=
"brand"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('件数')"
prop=
"num"
></el-table-column>
<el-table-column
:label=
"$t('重量') + '(kg)'"
prop=
"weight"
></el-table-column>
<el-table-column
:label=
"$t('体积') + '(m³)'"
prop=
"volume"
></el-table-column>
...
...
@@ -556,6 +560,7 @@ export default {
status
:
0
,
sendstatus
:
0
,
isCargoControl
:
false
,
isCollection
:
false
,
type
:[],
isExternalWarehouse
:
false
,
externalWarehouseDtoList
:[{}],
...
...
@@ -563,7 +568,18 @@ export default {
},
// 表单校验
rules
:
{
marks
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请填写唛头
'
)}],
marks
:
[
{
required
:
true
,
message
:
this
.
$t
(
'
请填写唛头
'
)},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
!
/
[
a-zA-Z
]
/
.
test
(
value
.
charAt
(
0
))){
return
callback
(
new
Error
(
this
.
$t
(
'
唛头必须以字母开头
'
)))
}
callback
()
},
trigger
:
'
blur
'
}
],
consignorContactsId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
发货人不能为空
'
)}],
consigneeContactsId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
收货人不能为空
'
)}],
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择运输方式
'
)}],
...
...
@@ -820,7 +836,7 @@ export default {
let
form
=
new
FormData
()
form
.
append
(
'
file
'
,
e
.
file
)
orderImport
(
form
).
then
(
res
=>
{
if
(
!
this
.
importL
ist
.
length
){
if
(
!
res
.
data
.
l
ist
.
length
){
return
this
.
$message
.
error
(
'
无有效数据
'
)
}
...
...
src/views/ecw/order/index.vue
View file @
ee723e17
...
...
@@ -10,11 +10,11 @@
<el-input
v-model=
"queryParams.marks"
placeholder=
"唛头"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<el-form-item
:label=
"$t('发货人')"
prop=
"consignor
Id
"
>
<el-input
v-model=
"queryParams.consignor
Id
"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignor
Key
"
>
<el-input
v-model=
"queryParams.consignor
Key
"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consignee
Id
"
>
<el-input
v-model=
"queryParams.consignee
Id
"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('收货人')"
prop=
"consignee
Key
"
>
<el-input
v-model=
"queryParams.consignee
Key
"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
""
>
<dict-selector
:type=
"DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME"
v-model=
"dateFilterType"
defaultable
style=
"width: 150px; margin-right: 5px"
/>
...
...
@@ -214,13 +214,13 @@
<el-dropdown-item
@
click.native=
"$router.push('/order/special/' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
特价
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 确认
放
货 -->
<!-- 确认
提
货 -->
<
template
v-if=
"
exclude(scope.row.status, [0,2]) &&
exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) &&
exclude(scope.row.shipmentState, [320,322,323])
"
>
<el-dropdown-item
@
click.native=
"$router.push(`/order/release?orderId=$
{scope.row.orderId}`)" >
{{
$t
(
'
确认
放
货
'
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push(`/order/release?orderId=$
{scope.row.orderId}`)" >
{{
$t
(
'
确认
提
货
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 合单,拆单 -->
...
...
@@ -254,13 +254,13 @@
include(scope.row.inWarehouseState, [201,202, 208, 202, 210, 202, 211, 202, 213, 214, 215, 216]) ||
include(scope.row.abnormalState, [99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14])
"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓补充
'
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing
-add
?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓补充
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 入仓修改 -->
<
template
v-if=
"
include(scope.row.inWarehouseState, [202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206])
"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓修改
'
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing
-update
?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓修改
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 退仓 -->
...
...
@@ -307,7 +307,7 @@
<!--打印相关的-->
<el-dropdown>
<el-button
type=
"text"
>
{{$t('
操作
')}}
</el-button>
<el-button
type=
"text"
>
{{$t('
打印
')}}
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<!-- 打印标签 -->
<
template
v-if=
"
...
...
@@ -328,7 +328,7 @@
</
template
>
<!-- 打印提单 -->
<el-dropdown-item
@
click.native=
"printLadingBill
Info={tidanNO: scope.row.tidanNo, transportType: scope.row.transportId}
"
:disabled=
"!scope.row.tidanNo"
>
{{$t('打印提单')}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"printLadingBill
OrderId=scope.row.orderId
"
:disabled=
"!scope.row.tidanNo"
>
{{$t('打印提单')}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
...
...
@@ -341,7 +341,7 @@
<special-needs
:show.sync=
"isShow"
:order-id=
"orderId"
@
determine=
"getList"
></special-needs>
<print-tag
v-if=
"printTagOrderId !== null"
:order-id=
"printTagOrderId"
@
close=
"printTagOrderId=null"
/>
<print-warehouse-receipt
v-if=
"printWarehouseReceiptOrderId !== null"
:order-id=
"printWarehouseReceiptOrderId"
@
close=
"printWarehouseReceiptOrderId=null"
/>
<print-lading-bill
v-if=
"printLadingBill
Info !== null"
v-bind=
"printLadingBillInfo"
@
close=
"printLadingBillInfo
=null"
/>
<print-lading-bill
v-if=
"printLadingBill
OrderId !== null"
:order-id=
"printLadingBillOrderId"
@
close=
"printLadingBillOrderId
=null"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<batch-single-application
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
...
...
@@ -430,7 +430,7 @@ export default {
printTagOrderId
:
null
,
// 显示打印标签的订单ID
printWarehouseReceiptOrderId
:
null
,
// 打印入仓单的订单ID
printLadingBill
Info
:
null
,
// 打印提单
printLadingBill
OrderId
:
null
,
// 打印提单的订单ID
showBatchPickup
:
false
,
// 是否显示批量提货弹窗
showMergedLogOrderNo
:
null
,
// 显示合单日志订单号
showPickupLogOrderNo
:
null
,
// 显示提货日志的订单号
...
...
src/views/ecw/order/mutexOrder.vue
View file @
ee723e17
...
...
@@ -8,7 +8,7 @@
<el-divider></el-divider>
<el-form
inline
label-width=
"100px"
>
<el-form-item
label=
"订单号"
><div
class=
"content"
>
<el-input
v-model.trim=
"params.
relate
OrderNo"
></el-input>
<el-input
v-model.trim=
"params.
mutual
OrderNo"
></el-input>
</div></el-form-item>
<el-form-item><div
class=
"content"
>
<el-button
@
click=
"getList"
>
查询
</el-button>
...
...
src/views/ecw/order/notMutexOrder.vue
View file @
ee723e17
...
...
@@ -5,7 +5,7 @@
<el-form
inline
label-width=
"85px"
label-position=
"left"
>
<el-form-item
label=
"订单号"
>
<div
class=
"content"
>
<el-input
v-model.trim=
"params.
relate
OrderNo"
></el-input>
<el-input
v-model.trim=
"params.
mutual
OrderNo"
></el-input>
</div>
</el-form-item>
<el-form-item>
...
...
src/views/ecw/order/pending.vue
View file @
ee723e17
...
...
@@ -174,8 +174,11 @@ export default {
})
}
}
else
{
return
this
.
$confirm
(
this
.
$t
(
'
数据缺少orderItemId参数,确定要跳转设置路线价格么?
'
)).
then
(
res
=>
{
let
url
=
'
../../lineProject/product-price/edit
'
return
this
.
$router
.
push
(
url
)
this
.
$router
.
push
(
url
)
})
}
}
else
if
(
row
.
orderExceptionType
==
'
order_heavy_cargo_exception
'
||
row
.
orderExceptionType
==
'
order_bulky_cargo_exception
'
){
...
...
src/views/ecw/order/special/discount.vue
View file @
ee723e17
...
...
@@ -3,10 +3,10 @@
<el-row
type=
"flex"
justify=
"center"
>
<el-col
:xs=
"24"
:sm=
"24"
:md=
"24"
:lg=
"20"
:xl=
"16"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
v-if=
"!readonly"
>
<span
style=
"font-size: 18px;font-weight: bold"
>
{{
isDiscount
?
'
折扣管理
'
:
'
优惠申请
'
}}
</span>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size: 18px;font-weight: bold"
>
{{
$t
(
'
优惠申请
'
)
}}
</span>
</div>
<el-form
v-if=
"!readonly"
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"商品类型"
>
<span>
{{
getProductAttrNameById
(
form
.
prodType
)
}}
</span>
</el-form-item>
...
...
@@ -18,6 +18,7 @@
</el-form-item>
<el-form-item
label=
"线路"
>
{{
`【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)
}
】${ getChannelNameById(form.channelId)
}
从【${startTitleZh
}
】发往【${destTitleZh
}
】`
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
是否预付
"
>
{{
form
.
isPayAdvance
===
0
?
'
是
'
:
'
否
'
}}
...
...
@@ -48,29 +49,14 @@
<
/el-form-item
>
<
/el-form
>
<
div
>
<
div
>
<
h2
>
审批流程
<
/h2
>
<
work
-
flow
xmlkey
=
"
free_apply
"
v
-
model
=
"
form.channelId
"
/>
<!--
<
div
>
选择的用户:
{{
selectedUsers
}}
<
/div>--
>
<
/div
>
<
div
v
-
if
=
"
!readonly
"
>
<
div
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
/div
>
<
el
-
descriptions
border
v
-
if
=
"
readonly
"
:
column
=
"
1
"
>
<
el
-
descriptions
-
item
label
=
"
商品类型
"
>
{{
form
.
productType
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
商品名称
"
>
{{
form
.
prodTitleZh
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
英文名称
"
>
{{
form
.
prodTitleEn
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
线路
"
>
{{
`【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)
}
】${ getChannelNameById(form.channelId)
}
从【${startTitleZh
}
】发往【${destTitleZh
}
】`
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
是否预付
"
>
{{
form
.
isPayAdvance
===
0
?
'
是
'
:
'
否
'
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧运费
"
>
{{
form
.
orgFreight
}}
{{
currentMap
[
form
.
orgFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧清关费
"
>
{{
form
.
orgClearanceFreight
}}
{{
currentMap
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新运费
"
>
{{
form
.
freight
}}
{{
currentMap
[
form
.
freightCurrency
]
}}
/
{{
unitMap
[
form
.
freightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新清关费
"
>
{{
form
.
clearanceFreight
}}
{{
currentMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/el-card
>
<
/el-col
>
<
/el-row
>
...
...
src/views/ecw/order/special/index.vue
View file @
ee723e17
<
template
>
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
申请特价
</div>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
申请特价
'
)
}}
</div>
<!-- 列表 -->
<div
class=
"order-header"
>
<span
style=
"font-size: 15px;"
>
订单号
:
{{
order
.
orderNo
}}
</span>
<span
style=
"font-size: 15px;"
>
{{
$t
(
'
订单号
'
)
}}
:
{{
order
.
orderNo
}}
</span>
</div>
<el-table
v-loading=
"loading"
:data=
"order.orderItemVOList"
>
<el-table-column
label=
"序号
"
align=
"center"
prop=
"id"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('序号')
"
align=
"center"
prop=
"id"
type=
"index"
></el-table-column>
<el-table-column
prop=
"prodTitleZh"
label=
"品名
"
>
:label=
"$t('品名')
"
>
<template
v-slot=
"
{row}">
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"prodAttrIds"
label=
"填单货物属性
"
>
:label=
"$t('填单货物属性')
"
>
<
template
v-slot=
"{row}"
>
品牌:
{{
[
'
无牌
'
,
'
有牌
'
,
'
中性
'
][
row
.
brandType
]
}}
<br>
箱数
:
{{
row
.
num
}}
<br>
体积
:
{{
row
.
volume
}}
m³
<br>
重量
:
{{
row
.
weight
}}
Kg
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
<br>
{{
$t
(
'
箱数
'
)
}}
:
{{
row
.
num
}}
<br>
{{
$t
(
'
体积
'
)
}}
:
{{
row
.
volume
}}
m³
<br>
{{
$t
(
'
重量
'
)
}}
:
{{
row
.
weight
}}
Kg
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"入库货物属性
"
>
:label=
"$t('入库货物属性')
"
>
<
template
v-slot=
"{row}"
>
<!-- // TODO 待测试完善 -->
<template
v-if=
"row.warehouseInInfoVO"
>
品牌:
{{
[
'
无牌
'
,
'
有牌
'
,
'
中性
'
][
row
.
brandType
]
}}
<br>
箱数
:
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}
<br>
体积
:
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
<br>
重量
:
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
<br>
{{
$t
(
'
箱数
'
)
}}
:
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}
<br>
{{
$t
(
'
体积
'
)
}}
:
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
<br>
{{
$t
(
'
重量
'
)
}}
:
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
</
template
>
<span
v-else
>
暂时没有入库信息
</span>
<span
v-else
>
{{$t('暂时没有入库信息')}}
</span>
</template>
</el-table-column>
<el-table-column
prop=
"updateTime"
:formatter=
"(_, __, v) => parseTime(v)"
label=
"最后操作时间
"
>
:label=
"$t('最后操作时间')
"
>
</el-table-column>
<el-table-column
label=
"原价
"
>
:label=
"$t('原价')
"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
originalSeaFreight
}}
{{
currentMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<template
v-if=
"!row.originalSeaFreight"
>
未报价
</
template
>
<
template
v-else-if=
"row.charging ==1"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
originalClearanceFreight
}}
{{
currentMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
originalClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"address"
label=
"成本价"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
seaFreight
}}
{{
currentMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<template
v-if=
"!row.costSeaFreight"
>
未报价
</
template
>
<
template
v-else-if=
"row.charging"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
costSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
costSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
clearanceFreight
}}
{{
currentMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"address"
label=
"销售价"
>
:label=
"$t('销售价')"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
seaFreight
}}
{{
currentMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<template
v-if=
"!row.oneSeaFreight"
>
未报价
</
template
>
<
template
v-else-if=
"row.charging"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
clearanceFreight
}}
{{
currentMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- prop="status"-->
<!-- :formatter="(v) => ['取消报价', '特价审批中', '需求确认(草稿)', '跟进中', '赢单', '输单', '报价完成', '审批通过', '审批拒绝'][v.status]"-->
<!-- label="审核状态">-->
<!-- </el-table-column>-->
<el-table-column
prop=
"address"
label=
"操作
"
>
:label=
"$t('操作')
"
>
<
template
v-slot=
"{row}"
>
<template
v-if=
"row.originalSeaFreight !== 0 && row.originalClearanceFreight !== 0"
>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"$router.push(`/order/discount/$
{row.orderItemId}?orderId=${row.orderId}`)">优惠申请
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"showDiscountItemId=row.orderItemId"
>
优惠申请
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"$router.push(`/order/specialCommission/$
{row.orderItemId}`)">佣金规则
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:order:update']"
@
click=
"$router.push(`/order/discount1/$
{row.orderItemId}?orderId=${row.orderId}
&
discount=1`)">管理折扣
</el-button>
</
template
>
</template>
</el-table-column>
</el-table>
...
...
@@ -95,6 +107,10 @@
<el-button
type=
"primary"
@
click=
"$tab.closePage()"
>
关闭窗口
</el-button>
</div>
</el-card>
<special-discount
v-if=
"!!showDiscountItemId"
:orderItemId=
"showDiscountItemId"
/>
</div>
</template>
...
...
@@ -105,9 +121,12 @@ import {getCurrencyList} from "@/api/ecw/currency"
import
{
getProductAttrList
}
from
"
@/api/ecw/productAttr
"
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
{
getOrder
}
from
"
@/api/ecw/order
"
import
SpecialDiscount
from
'
@/views/ecw/order/components/SpecialDiscount.vue
'
export
default
{
name
:
"
OrderSpecial
"
,
components
:
{
SpecialDiscount
},
props
:
{
orderId
:
[
String
,
Number
]
...
...
@@ -136,7 +155,9 @@ export default {
unitList
:[],
currencyList
:[],
productAttrList
:[],
hasWarehouseInInfo
:
false
hasWarehouseInInfo
:
false
,
showDiscountItemId
:
null
};
},
created
()
{
...
...
@@ -171,7 +192,7 @@ export default {
path
:
"
/order/specialLight/
"
+
this
.
params
.
orderId
,
})
},
getProductNamesByIds
(
ids
){
/*
getProductNamesByIds(ids){
const result = []
ids.split(',').forEach(e => {
this.productAttrList.forEach(f => {
...
...
@@ -181,20 +202,20 @@ export default {
})
})
return result.join(',')
}
}
*/
},
computed
:
{
curren
t
Map
(){
curren
cy
Map
(){
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
},
unitMap
(){
let
map
=
{}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
}
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
ee723e17
<
template
>
<div>
<el-dialog
:title=
"
(edit ? '入仓修改' : (warehousing.orderWarehouseInBackItemDoList.length > 0 ? '入仓补充' : '入仓操作'))
+ ' - ' + warehousing.orderNo"
:title=
"
title
+ ' - ' + warehousing.orderNo"
:visible.sync=
"opened"
width=
"1080px"
>
...
...
@@ -431,7 +431,7 @@ export default {
opened
(
val
)
{
if
(
val
)
{
this
.
form
.
material
=
this
.
warehousing
.
material
this
.
form
.
brand
=
this
.
warehousing
.
brand
this
.
form
.
brand
=
this
.
warehousing
.
brand
||
'
0
'
this
.
handleBrandChange
(
this
.
form
.
brand
)
}
else
{
this
.
$emit
(
'
update:visible
'
,
false
)
...
...
@@ -442,10 +442,12 @@ export default {
this
.
form
.
orderWarehouseInItemDoList
=
[]
this
.
form1
.
orderWarehouseInItemDoList
=
[]
this
.
activeName
=
'
first
'
if
(
!
this
.
edit
){
this
.
handleAdd
()
this
.
handleAdd
(
1
)
}
}
}
},
methods
:
{
...
...
@@ -587,6 +589,9 @@ export default {
},
computed
:
{
title
()
{
return
this
.
$route
.
name
},
brandObject
(){
return
this
.
brandList
.
find
(
e
=>
e
.
id
===
this
.
form
.
brand
)
||
''
},
...
...
src/views/ecw/order/warehousing/index.vue
View file @
ee723e17
<
template
>
<div
class=
"app-container"
>
<h2>
入仓操作
-
{{
order
.
orderNo
}}
</h2>
<h2>
{{
title
}}
-
{{
order
.
orderNo
}}
</h2>
<order-base-info
:order=
"order"
></order-base-info>
...
...
@@ -74,15 +74,13 @@
prop=
"address"
label=
"操作"
>
<
template
v-slot=
"{ row, column, $index }"
>
<el-button
v-if=
"order.status === 5"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
<template
v-else
>
<template
v-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
>
<el-button
v-if=
"isEdit"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
修改
</el-button>
<template
v-else-if=
"orderItemList[$index] && orderItemList[$index].orderWarehouseInBackItemDoList && orderItemList[$index].orderWarehouseInBackItemDoList.length > 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
追加
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
退仓
</el-button>
</
template
>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing($index)"
>
入仓
</el-button>
</template>
</template>
</el-table-column>
</el-table>
...
...
@@ -145,7 +143,7 @@
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
:order-id=
"orderId"
:city-id=
"cityId"
></warehouse-area-dialog>
<edit-dialog
:
customer-id=
"order.customerId"
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"order.status === 5
"
></edit-dialog>
<edit-dialog
:
title=
"title"
:customer-id=
"order.customerId"
:visible.sync=
"warehousingVisible"
:warehousing=
"warehousing"
:edit=
"isEdit
"
></edit-dialog>
<!-- 完成入仓 -->
<el-dialog
...
...
@@ -267,6 +265,16 @@ export default {
},
methods
:
{
include
(){
return
(
state
,
arr
)
=>
{
return
arr
.
indexOf
(
state
)
>
-
1
}
},
exclude
(){
return
(
state
,
arr
)
=>
{
return
arr
.
indexOf
(
state
)
==
-
1
}
},
handleLabelSubmit
(){
orderWarehouseInUpdateLabel
({
...
this
.
label
,
...
...
@@ -367,14 +375,14 @@ export default {
}).
then
(()
=>
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
申请
退仓成功!
'
message
:
'
货物
退仓成功!
'
});
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
())
this
.
getOrder
()
})
}).
catch
(
()
=>
{
}).
catch
(
e
=>
{
});
}
},
...
...
@@ -398,6 +406,15 @@ export default {
},
computed
:
{
// isAdd() {
// return this.$route.path === "/order/warehousing-add"
// },
isEdit
()
{
return
this
.
$route
.
path
===
"
/order/warehousing-update
"
},
title
()
{
return
this
.
$route
.
name
},
orderSpecialNeedsDict
()
{
return
this
.
$store
.
state
.
dict
.
dictDatas
.
order_special_needs
},
...
...
src/views/ecw/productPrice/index.vue
View file @
ee723e17
...
...
@@ -145,13 +145,17 @@
<el-table-column
prop=
"price"
:label=
"$t('价格')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<div>
<div
v-if=
"scope.row.priceType == 0"
>
{{
$t
(
'
运费
'
)
}}
:
{{
getCurrencySymbol
(
scope
.
row
.
transportPriceUnit
)
+
scope
.
row
.
transportPrice
}}
{{
getCurrencyTitle
(
scope
.
row
.
transportPriceUnit
)
+
'
/
'
+
getUnitTitle
(
scope
.
row
.
transportVolumeUnit
)
}}
<br
/>
{{
$t
(
'
清关费
'
)
}}
:
{{
getCurrencySymbol
(
scope
.
row
.
clearancePriceUnit
)
+
scope
.
row
.
clearancePrice
}}
{{
getCurrencyTitle
(
scope
.
row
.
clearancePriceUnit
)
+
'
/
'
+
getUnitTitle
(
scope
.
row
.
clearanceVolumeUnit
)
}}
</div>
<div
v-if=
"scope.row.priceType == 1"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
getCurrencySymbol
(
scope
.
row
.
allPriceUnit
)
+
scope
.
row
.
allPrice
}}
{{
getCurrencyTitle
(
scope
.
row
.
allPriceUnit
)
+
'
/
'
+
getUnitTitle
(
scope
.
row
.
allVolumeUnit
)
}}
</div>
</
template
>
</el-table-column>
...
...
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