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
c849cd37
Commit
c849cd37
authored
Aug 01, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
699e01d1
91a7422f
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
519 additions
and
66 deletions
+519
-66
dict.js
src/utils/dict.js
+3
-0
detail.vue
src/views/bpm/processInstance/detail.vue
+7
-1
indexAir.vue
src/views/ecw/box/indexAir.vue
+28
-12
indexSea.vue
src/views/ecw/box/indexSea.vue
+20
-0
agent.vue
src/views/ecw/box/shippingAir/nodePage/agent.vue
+11
-3
checkout.vue
src/views/ecw/box/shippingAir/nodePage/checkout.vue
+67
-2
supplierOutSelect.vue
...ecw/box/shippingAir/nodePage/common/supplierOutSelect.vue
+70
-0
shipment.vue
src/views/ecw/box/shippingAir/nodePage/shipment.vue
+1
-1
seaProcess.vue
src/views/ecw/box/shippingAir/seaProcess.vue
+5
-5
NotShipingChannel.vue
src/views/ecw/order/components/NotShipingChannel.vue
+202
-0
PrintTag.vue
src/views/ecw/order/components/PrintTag.vue
+7
-3
detail.vue
src/views/ecw/order/detail.vue
+6
-6
edit.vue
src/views/ecw/order/edit.vue
+4
-3
index.vue
src/views/ecw/order/index.vue
+34
-5
pending.vue
src/views/ecw/order/pending.vue
+1
-1
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+53
-24
No files found.
src/utils/dict.js
View file @
c849cd37
...
...
@@ -183,6 +183,8 @@ export const DICT_TYPE = {
ORDER_COD_EXCEPTION_RESULT
:
'
order_cod_exception_result
'
,
//代收货款异常处理结果
ORDER_OTHER_EXCEPTION_RESULT
:
'
order_other_exception_result
'
,
//其它异常处理结果
ORDER_BULKY_CARGO_EXCEPTION_RESULT
:
'
order_bulky_cargo_exception_result
'
,
//泡货异常处理结果
ORDER_QUERY_PROD_FIELD
:
'
order_query_prod_field
'
,
//订单查询产品字段
ORDER_QUERY_NO_FIELD
:
'
order_query_no_field
'
,
//订单查询非产品字段
NEED_KNOW_TYPE
:
'
need_know_type
'
,
//需知类型
NEED_KNOW_STATUS
:
'
need_know_status
'
,
//需知状态
MANUAL_EXCEPTION_TYPE
:
'
manual_exception_type
'
,
...
...
@@ -223,6 +225,7 @@ export const DICT_TYPE = {
BOX_SHIPPING_ERROR_TYPE
:
"
shipping_error_type
"
,
// 起运异常状态
BOX_ARRIVAL_ERROR_TYPE
:
"
arrival_error_type
"
,
// 到港异常状态
APP_TYPE
:
"
app_type
"
,
//系统类型
AIR_SHIPMENT_PROCESS
:
'
air_shipment_process
'
}
...
...
src/views/bpm/processInstance/detail.vue
View file @
c849cd37
...
...
@@ -396,7 +396,13 @@ export default {
split_revoke
:{
component
:
()
=>
import
(
"
@/views/ecw/order/components/SplitRevokeDetail
"
),
id
:
this
.
processInstance
.
businessKey
}
},
// 不可出渠道异常审核
not_shiping_channel
:{
component
:
()
=>
import
(
'
@/views/ecw/order/components/NotShipingChannel
'
),
id
:
this
.
processInstance
.
businessKey
,
path
:
this
.
processInstance
.
processDefinition
?.
formCustomViewPath
},
}
console
.
log
(
'
formCustomViewPath
'
,
this
.
processInstance
.
processDefinition
.
formCustomViewPath
.
trim
())
return
map
[
this
.
processInstance
.
processDefinition
.
formCustomViewPath
.
trim
()]
...
...
src/views/ecw/box/indexAir.vue
View file @
c849cd37
...
...
@@ -26,17 +26,22 @@
<el-option
v-for=
"dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key=
"dict.value"
:label=
"$l(dict, 'label')"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"date"
>
<el-select
v-model=
"queryParams.dateType"
:placeholder=
"$t('请选择时间类型')"
clearable
size=
"small"
>
<el-option
v-for=
"item in dateTypes"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
""
>
<el-date-picker
v-model=
"queryParams.dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetimerange"
range-separator=
"-"
start-:placeholder=
"$t('开始日期')"
end-:placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-row>
<el-form-item
:label=
"$t('时间')"
prop=
"date"
>
<el-select
v-model=
"queryParams.dateType"
:placeholder=
"$t('请选择时间类型')"
clearable
size=
"small"
>
<el-option
v-for=
"item in dateTypes"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
""
>
<el-date-picker
v-model=
"queryParams.dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetimerange"
range-separator=
"-"
start-:placeholder=
"$t('开始日期')"
end-:placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('提单制作')"
prop=
"ladingBillStatus"
>
<el-select
v-model=
"queryParams.ladingBillStatus"
:placeholder=
"$t('请选择提单制作状态')"
clearable
size=
"small"
>
<el-option
v-for=
"(item,index) in ladingBillStatusData"
:key=
"index"
:label=
"item"
:value=
"index"
>
</el-option>
</el-select>
</el-form-item>
</el-row>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
...
...
@@ -86,6 +91,12 @@
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"shipmentStatusText"
/>
<el-table-column
:label=
"$t('提单状态')"
align=
"center"
prop=
"ladingBillStatus"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
ladingBillStatusData
[
scope
.
row
.
ladingBillStatus
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('日期')"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
new
Date
(
scope
.
row
.
createTime
).
format
(
'
yyyy-MM-dd hh:mm:ss
'
)
}}
</span>
...
...
@@ -267,7 +278,12 @@ export default {
trigger
:
'
blur
'
}
]
}
}
,
ladingBillStatusData
:
[
this
.
$t
(
"
未完成
"
),
this
.
$t
(
"
部分完成
"
),
this
.
$t
(
"
已完成
"
),
],
}
}
,
computed
:
{
...
...
src/views/ecw/box/indexSea.vue
View file @
c849cd37
...
...
@@ -56,6 +56,14 @@
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('提单制作')"
prop=
"ladingBillStatus"
>
<el-select
v-model=
"queryParams.ladingBillStatus"
:placeholder=
"$t('请选择提单制作状态')"
clearable
size=
"small"
>
<el-option
v-for=
"(item,index) in ladingBillStatusData"
:key=
"index"
:label=
"item"
:value=
"index"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
...
...
@@ -107,6 +115,13 @@
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"shipmentStatusText"
/>
<el-table-column
:label=
"$t('提单状态')"
align=
"center"
prop=
"ladingBillStatus"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
ladingBillStatusData
[
scope
.
row
.
ladingBillStatus
]
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('日期')"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
new
Date
(
scope
.
row
.
createTime
).
format
(
'
yyyy-MM-dd hh:mm:ss
'
)
}}
</span>
...
...
@@ -268,6 +283,11 @@ export default {
// 通知列表
noticeList
:
[],
allUsers
:
[],
ladingBillStatusData
:
[
this
.
$t
(
"
未完成
"
),
this
.
$t
(
"
部分完成
"
),
this
.
$t
(
"
已完成
"
),
],
}
;
}
,
computed
:
{
...
...
src/views/ecw/box/shippingAir/nodePage/agent.vue
View file @
c849cd37
...
...
@@ -2,7 +2,8 @@
<div>
<el-form
ref=
"agentForm"
:model=
"agentObj"
:rules=
"rules"
label-width=
"120px"
>
<el-form-item
:label=
"$t('代理商Agent')"
prop=
"agentId"
>
<supplierSelect
v-model=
"agentObj.agentId"
:companyType=
"'1'"
:areaType=
"1"
:placeholder=
"$t('请选择代理商')"
:allSupplier=
"this.$attrs.allSupplier"
/>
<supplierOutSelect
v-model=
"agentObj.agentId"
:companyType=
"'1'"
:areaType=
"1"
:placeholder=
"$t('请选择代理商')"
:allSupplier=
"this.$attrs.allSupplier"
@
change=
"changesupplier"
/>
<el-button
v-hasPermi=
"['ecw:supplier:query']"
type=
"text"
style=
"font-size: 13px; margin-left: 240px;"
@
click=
"SupplierDetail"
>
{{
$t
(
'
查看代理商详情
'
)
}}
</el-button>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
...
...
@@ -14,7 +15,7 @@
<
script
>
import
{
agentSet
}
from
"
@/api/ecw/boxSea
"
;
import
supplier
Select
from
"
./common/supplier
Select.vue
"
;
import
supplier
OutSelect
from
"
./common/supplierOut
Select.vue
"
;
import
{
formatStringNumber
,
serviceMsg
}
from
"
../utils
"
;
/**
* agent
...
...
@@ -22,7 +23,7 @@ import { formatStringNumber, serviceMsg } from "../utils";
export
default
{
name
:
"
agent
"
,
inheritAttrs
:
false
,
components
:
{
supplierSelect
},
components
:
{
supplier
Out
Select
},
data
()
{
return
{
// agent对象
...
...
@@ -31,6 +32,7 @@ export default {
rules
:
{
agentId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
}],
},
supplierId
:
0
};
},
created
()
{
...
...
@@ -60,6 +62,12 @@ export default {
cancel
(
type
)
{
this
.
$emit
(
"
closeDialog
"
,
type
);
},
SupplierDetail
(){
this
.
$router
.
push
(
'
/supplier/detail?id=
'
+
this
.
supplierId
)
},
changesupplier
(
val
){
this
.
supplierId
=
val
}
},
};
</
script
>
...
...
src/views/ecw/box/shippingAir/nodePage/checkout.vue
View file @
c849cd37
<
template
>
<div>
<el-form
ref=
"airCheckoutForm"
:model=
"airCheckoutObj"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"airCheckoutForm"
:model=
"airCheckoutObj"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
:label=
"$t('')"
prop=
"deliverType"
>
<el-radio-group
v-model=
"airShipmentObj.deliverType"
:disabled=
"true"
>
<el-radio
v-for=
"item in deliverTypes"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
</el-radio-group>
</el-form-item>
<div
v-show=
"airShipmentObj.deliverType === '1'"
>
<el-form-item
:label=
"$t('送货时间')"
>
<el-date-picker
type=
"datetime"
:disabled=
"true"
:placeholder=
"$t('请选择日期')"
v-model=
"airShipmentObj.deliverTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('送货地址')"
>
<el-input
v-model=
"airShipmentObj.deliverAddress"
:disabled=
"true"
:placeholder=
"$t('请输入送货地址')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('车牌')"
>
<el-input
v-model=
"airShipmentObj.licensePlate"
:disabled=
"true"
:placeholder=
"$t('请输入车牌')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('司机')"
>
<el-input
v-model=
"airShipmentObj.driver"
:disabled=
"true"
:placeholder=
"$t('请输入司机')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('司机联系方式')"
>
<el-input
v-model=
"airShipmentObj.driverPhone"
:disabled=
"true"
:placeholder=
"$t('请输入司机联系方式')"
></el-input>
</el-form-item>
</div>
<div
v-show=
"airShipmentObj.deliverType === '2'"
>
<el-form-item
:label=
"$t('自提时间')"
>
<el-date-picker
type=
"datetime"
:disabled=
"true"
:placeholder=
"$t('请选择日期')"
v-model=
"airShipmentObj.deliverTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('自提地址')"
>
<el-input
v-model=
"airShipmentObj.deliverAddress"
:disabled=
"true"
:placeholder=
"$t('请输入自提地址')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('车牌')"
>
<el-input
v-model=
"airShipmentObj.licensePlate"
:disabled=
"true"
:placeholder=
"$t('请输入车牌')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('司机')"
>
<el-input
v-model=
"airShipmentObj.driver"
:disabled=
"true"
:placeholder=
"$t('请输入司机')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('司机联系方式')"
>
<el-input
v-model=
"airShipmentObj.driverPhone"
:disabled=
"true"
:placeholder=
"$t('请输入司机联系方式')"
></el-input>
</el-form-item>
</div>
<el-form-item
:label=
"$t('出仓日期')"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"airCheckoutObj.checkoutTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
...
...
@@ -39,8 +94,13 @@ export default {
components
:
{
userSelect
,
ImageUpload
},
data
()
{
return
{
// 空运出
货
对象
// 空运出
仓
对象
airCheckoutObj
:
{},
// 空运出货对象
airShipmentObj
:
{},
// 送货方式
deliverTypes
:
constantDict
.
deliverType
,
// 校验
rules
:
{
//deliverType: [{ required: true, message: this.$t("必填"), trigger: "change" }],
...
...
@@ -52,6 +112,11 @@ export default {
let
oldData
=
{
...
this
.
$attrs
.
shipmentObj
[
voName
]
};
oldData
=
formatDateStr
(
oldData
,
[
"
checkoutTime
"
]);
this
.
airCheckoutObj
=
oldData
;
let
shipmentdData
=
{
...
this
.
$attrs
.
shipmentObj
[
"
boxAirShipmentBackVO
"
]
};
shipmentdData
=
formatDateStr
(
shipmentdData
,
[
"
deliverTime
"
]);
shipmentdData
=
formatNumberString
(
shipmentdData
,
[
"
deliverType
"
]);
this
.
airShipmentObj
=
shipmentdData
;
},
methods
:
{
/** 提交 */
...
...
src/views/ecw/box/shippingAir/nodePage/common/supplierOutSelect.vue
0 → 100644
View file @
c849cd37
<
template
>
<div>
<el-select
filterable
:value=
"value === 0 ? undefined : value"
@
change=
"change"
v-bind=
"$attrs"
clearable
>
<el-option
v-for=
"supplier in getSuppliers"
:key=
"supplier.id"
:label=
"$t('公司名称:')+$l(supplier, 'company')+$t(',地址:')+supplier.externalBackVO.receiveAddress+$t(',邮箱:')+supplier.externalBackVO.receiveEmail+$t(',品名:')+supplier.externalBackVO.goodName+$t(',From M No:')+supplier.externalBackVO
.fromNo+$t(',BA No:')+supplier.externalBackVO
.baNo"
:value=
"supplier.id"
></el-option>
</el-select>
</div>
</
template
>
<
script
>
/**
* 供应商
*/
export
default
{
name
:
"
supplierSelect
"
,
props
:
{
companyType
:
String
,
value
:
Number
,
allSupplier
:
Array
,
areaType
:
{
type
:
Number
,
default
:
0
},
},
model
:
{
prop
:
"
value
"
,
event
:
"
change
"
,
},
data
()
{
return
{};
},
computed
:
{
getSuppliers
()
{
let
allSupplier
=
this
.
allSupplier
.
filter
(
(
item
)
=>
item
.
areaType
==
this
.
areaType
);
allSupplier
.
forEach
(
map
=>
{
map
.
externalBackVO
.
receiveAddress
=
map
.
externalBackVO
.
receiveAddress
?
map
.
externalBackVO
.
receiveAddress
:
''
map
.
externalBackVO
.
receiveEmail
=
map
.
externalBackVO
.
receiveEmail
?
map
.
externalBackVO
.
receiveEmail
:
''
map
.
externalBackVO
.
goodName
=
map
.
externalBackVO
.
goodName
?
map
.
externalBackVO
.
goodName
:
''
map
.
externalBackVO
.
fromNo
=
map
.
externalBackVO
.
fromNo
?
map
.
externalBackVO
.
fromNo
:
''
map
.
externalBackVO
.
baNo
=
map
.
externalBackVO
.
baNo
?
map
.
externalBackVO
.
baNo
:
''
})
if
(
this
.
areaType
==
1
||
!
this
.
companyType
)
return
allSupplier
;
return
allSupplier
.
filter
((
item
)
=>
item
.
companyTypes
.
includes
(
this
.
companyType
)
);
},
},
methods
:
{
change
(
val
)
{
this
.
$emit
(
"
change
"
,
val
);
},
},
};
</
script
>
src/views/ecw/box/shippingAir/nodePage/shipment.vue
View file @
c849cd37
<
template
>
<div>
<el-form
ref=
"airShipmentForm"
:model=
"airShipmentObj"
:rules=
"rules"
label-width=
"
8
0px"
>
<el-form
ref=
"airShipmentForm"
:model=
"airShipmentObj"
:rules=
"rules"
label-width=
"
10
0px"
>
<el-form-item
:label=
"$t('')"
prop=
"deliverType"
>
<el-radio-group
v-model=
"airShipmentObj.deliverType"
>
<el-radio
v-for=
"item in deliverTypes"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
...
...
src/views/ecw/box/shippingAir/seaProcess.vue
View file @
c849cd37
...
...
@@ -144,6 +144,7 @@ export default {
return
;
}
if
(
currIndex
>
this
.
currIndex
)
{
console
.
log
(
currIndex
,
this
.
currIndex
)
this
.
$message
.
error
(
this
.
errorMsg
);
return
;
}
...
...
@@ -240,15 +241,14 @@ export default {
continue
;
}
//合包非必须步骤
if
(
type
===
"
mergePkg
"
){
++
nodeIndex
;
}
const
{
start
,
wait
,
end
}
=
status
;
if
(
start
.
includes
(
val
[
keyName
]))
{
node
.
currStatus
=
"
start
"
;
if
(
type
===
"
mergePkg
"
){
++
nodeIndex
;
continue
;
}
}
if
(
start
.
includes
(
val
[
keyName
])
&&
val
[
voName
])
{
...
...
src/views/ecw/order/components/NotShipingChannel.vue
0 → 100644
View file @
c849cd37
<!--拆单审核中的申请信息部分-->
<
template
>
<div
v-if=
"order"
>
<el-descriptions
:column=
"4"
v-if=
"order"
:colon=
"false"
>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
class=
"mr-10"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货方式')"
>
{{
channel
?
channel
.
nameZh
:
'
/
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
{{
order
.
statusMsg
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发仓')"
>
{{
order
.
logisticsInfoDto
.
startTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的仓')"
:span=
"2"
>
{{
order
.
logisticsInfoDto
.
destAddressZh
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
v-if=
"order"
:colon=
"false"
>
<el-descriptions-item
:label=
"$t('申请理由')"
:span=
"2"
>
{{
$l
(
orderExceptionData
.
orderExceptionDescVO
,
'
desc
'
)
}}
</el-descriptions-item>
</el-descriptions>
<el-table
border
:data=
"order.orderItemVOList"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('中文名')"
align=
"center"
prop=
"prodTitleZh"
min-width=
"60"
/>
<el-table-column
:label=
"$t('英文名')"
align=
"center"
prop=
"prodTitleEn"
min-width=
"60"
/>
<el-table-column
:label=
"$t('品牌')"
align=
"center"
min-width=
"50"
prop=
"brandType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('填单箱数')"
prop=
"num"
min-width=
"60"
/>
<!-- v2.0 入仓特性异常 -->
<el-table-column
:label=
"$t('填单特性')"
prop=
"prodAttrIds"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
{{
getProdAtrr
(
scope
.
row
.
prodAttrIds
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入仓箱数')"
min-width=
"60"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</
template
>
</el-table-column>
<!-- v2.0 入仓特性异常 -->
<el-table-column
:label=
"$t('入仓特性')"
prop=
"num"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
warehouseInInfoVO
&&
scope
.
row
.
warehouseInInfoVO
.
prodAttrIds
?
getProdAtrr
(
scope
.
row
.
warehouseInInfoVO
.
prodAttrIds
):
''
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('方数')"
prop=
"volume"
min-width=
"50"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
volume
:
0
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('重量')"
prop=
"weight"
min-width=
"50"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
weight
:
0
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
prop=
"quantity"
min-width=
"50"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
quantityAll
:
0
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货值')"
prop=
"worth"
min-width=
"50"
/>
<el-table-column
:label=
"$t('运费/全包价')"
prop=
"quantity"
min-width=
"160"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.charging ==1"
class=
"channel"
>
<span
v-if=
"!scope.row.oneSeaFreight"
>
{{
$t
(
'
全包价
'
)
}}
:
{{
$t
(
'
未报价
'
)
}}
</span>
<span
v-else
>
{{
$t
(
'
全包价
'
)
}}
:
{{
scope
.
row
.
oneSeaFreight
}}
{{
currencyMap
[
scope
.
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
scope
.
row
.
seaFreightVolume
]
}}
</span>
</div>
<div
v-else
class=
"channel"
>
<span
v-if=
"!scope.row.oneSeaFreight"
>
{{
$t
(
'
运费
'
)
}}
:
{{
$t
(
'
未报价
'
)
}}
</span>
<span
v-else
>
{{
$t
(
'
运费
'
)
}}
:
{{
scope
.
row
.
oneSeaFreight
}}
{{
currencyMap
[
scope
.
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
scope
.
row
.
seaFreightVolume
]
}}
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('清关费')"
prop=
"quantity"
min-width=
"160"
>
<
template
slot-scope=
"scope"
>
<div
class=
"channel"
>
<span
v-if=
"!scope.row.oneClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</span>
<span
v-else
>
{{
scope
.
row
.
oneClearanceFreight
}}
{{
currencyMap
[
scope
.
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
scope
.
row
.
clearanceFreightVolume
]
}}
</span>
</div>
</
template
>
</el-table-column>
</el-table>
</div>
</template>
<
script
>
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
Decimal
from
'
decimal.js
'
import
{
getExceptionById
}
from
'
@/api/ecw/orderException
'
export
default
{
name
:
'
NotShipingChannel
'
,
props
:{
id
:
[
String
,
Number
],
path
:
String
},
data
(){
return
{
orderExceptionData
:
null
,
order
:
null
,
channel
:
null
,
unitList
:[],
currencyList
:[],
detail
:
null
}
},
watch
:{
id
(){
this
.
getData
()
},
order
(){
if
(
this
.
order
.
channelId
){
this
.
getChannel
()
}
},
},
computed
:{
currencyMap
(){
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
}
},
async
created
(){
await
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
this
.
productAttrList
=
(
await
getProductAttrList
()).
data
if
(
this
.
id
){
this
.
getData
()
}
},
methods
:{
Decimal
,
getData
(){
getExceptionById
(
this
.
id
).
then
(
res
=>
{
this
.
orderExceptionData
=
res
.
data
if
(
res
.
data
.
orderId
){
getOrder
(
res
.
data
.
orderId
).
then
(
res
=>
{
this
.
order
=
res
.
data
})
}
})
},
getProdAtrr
(
ids
){
if
(
!
ids
)
return
''
let
attr
=
[]
let
attrIds
=
ids
.
split
(
'
,
'
)
this
.
productAttrList
.
forEach
(
item
=>
{
if
(
attrIds
.
indexOf
(
item
.
id
)
>
-
1
||
attrIds
.
indexOf
(
item
.
id
+
''
)
>-
1
){
attr
.
push
(
this
.
$l
(
item
,
'
attrName
'
))
}
})
return
attr
.
join
(
'
,
'
)
},
getChannel
(){
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
})
},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.title
{
padding
:
10px
0
;
span
{
font-size
:
14px
;
font-weight
:
bold
;
}
}
.bold
{
font-weight
:
bold
;
}
::v-deep
.prepay_exception_detail
.el-form-item
{
margin-bottom
:
0
;
}
</
style
>
src/views/ecw/order/components/PrintTag.vue
View file @
c849cd37
...
...
@@ -77,7 +77,8 @@ import lodop from '@/utils/lodop'
export
default
{
filters
:
{
parseTime
}
,
props
:{
orderId
:
[
String
,
Number
]
orderId
:
[
String
,
Number
],
warehouseInNum
:
Number
}
,
data
(){
return
{
...
...
@@ -116,7 +117,9 @@ export default {
loadData
(){
printTag
(
this
.
orderId
).
then
(
res
=>
{
this
.
$set
(
this
,
'
tags
'
,
res
.
data
)
this
.
form
.
start
=
res
.
data
[
0
].
num
// this.form.start = res.data[0].num
// 起始标签为入仓数 + 1
this
.
form
.
start
=
this
.
warehouseInNum
+
1
this
.
form
.
end
=
res
.
data
[
res
.
data
.
length
-
1
].
num
}
)
}
,
...
...
@@ -126,9 +129,10 @@ export default {
this
.
$emit
(
'
close
'
);
}
,
showPreview
(){
/* 2023-07-17 要求不限制范围
if(this.form.end > this.tags[this.tags.length-1].num){
return this.$message.error(this.$t('结束标签不对'))
}
}
*/
if
(
!
this
.
printTags
.
length
){
return
this
.
$message
.
error
(
this
.
$t
(
'
指定区域无可打印标签
'
))
}
...
...
src/views/ecw/order/detail.vue
View file @
c849cd37
...
...
@@ -414,26 +414,26 @@
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
优惠详情
<
/div
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
el
-
table
-
column
:
label
=
"
$t('优惠ID')
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('优惠名称')
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
$l
(
row
,
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
el
-
table
-
column
:
label
=
"
$t('类型')
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COUPON_TYPE
"
:
value
=
"
row.type
"
><
/dict-tag
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
el
-
table
-
column
:
label
=
"
$t('运费优惠')
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
el
-
table
-
column
:
label
=
"
$t('清关费优惠')
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
...
...
src/views/ecw/order/edit.vue
View file @
c849cd37
...
...
@@ -224,7 +224,7 @@
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"
$t('数量') + '(个)'
"
width=
"120px"
>
<el-table-column
:label=
"
`${$t('数量')}(${$t('个')})`
"
width=
"120px"
>
<
template
slot-scope=
"{row}"
>
<el-input
v-model=
"row.quantity"
@
keyup.native=
"checkPositiveInterge(row, 'quantity')"
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
...
...
@@ -407,7 +407,7 @@
<dict-selector
:type=
"DICT_TYPE.ECW_HARVEST_METHOD"
v-model=
"form.harvestMethod"
:filter=
"item => item.value == 1 || homeDeliveryService"
defaultable
:disabled=
"false"
/>
</el-form-item>
</div>
<div
v-if=
"homeDeliveryService &&
form.harvestMethod
== 2"
>
<div
v-if=
"homeDeliveryService &&
+form.harvestMethod =
== 2"
>
<el-form-item
:label=
"$t('收货地区')"
prop=
"country"
>
<area-selector
:country=
"form.consigneeVO ? form.consigneeVO.country : undefined"
...
...
@@ -595,7 +595,8 @@ let makeDefaultFormData = () => {
isExternalWarehouse
:
false
,
externalWarehouseDtoList
:[],
orderItemVOList
:[],
drawee
:
2
drawee
:
2
,
harvestMethod
:
"
1
"
}
}
window
.
Decimal
=
Decimal
...
...
src/views/ecw/order/index.vue
View file @
c849cd37
...
...
@@ -4,7 +4,11 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('编号')"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.numberKey"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"noParam.value"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_NO_FIELD"
defaultable
v-model=
"noParam.key"
class=
"w-50"
/>
</
template
>
</el-input>
</el-form-item>
<!-- <el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
...
...
@@ -54,7 +58,11 @@
</el-form-item> -->
<el-form-item
:label=
"$t('商品')"
prop=
"tidanNo"
>
<el-input
v-model=
"queryParams.prodKey"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"prodParam.value"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<
template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_PROD_FIELD"
defaultable
v-model=
"prodParam.key"
class=
"w-50"
/>
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
>
...
...
@@ -330,6 +338,9 @@
<
template
v-if=
"scope.row.parentOrderId && scope.row.status < 11"
>
<el-dropdown-item
@
click.native=
"splitRevoke(scope.row)"
v-hasPermi=
"['ecw:order:split_revoke']"
>
{{
$t
(
'
撤销拆单
'
)
}}
</el-dropdown-item>
</
template
>
<
template
v-if=
"scope.row.parentOrderId"
>
<el-dropdown-item
@
click.native=
"$router.push('./detail?orderId=' + scope.row.parentOrderId)"
>
{{
$t
(
'
查看母订单
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 合单日志,提货日志 -->
...
...
@@ -454,7 +465,7 @@
exclude(scope.row.status, [0]) &&
exclude(scope.row.abnormalState, [5,6,7,8])
"
>
<el-dropdown-item
@
click.native=
"printTag
OrderId=scope.row.orderId
"
v-hasPermi=
"['ecw:order:print_tag']"
>
{{
$t
(
'
打印标签
'
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"printTag
(scope.row)
"
v-hasPermi=
"['ecw:order:print_tag']"
>
{{
$t
(
'
打印标签
'
)
}}
</el-dropdown-item>
</
template
>
<!-- 打印入仓单 -->
...
...
@@ -480,7 +491,7 @@
@
pagination=
"getList"
/>
<special-needs
:orderNo=
"orderNo"
:show.sync=
"isShow"
:currency=
"JSON.stringify(currencyList)"
:order-id=
"orderId"
@
determine=
"getList"
></special-needs>
<print-tag
v-if=
"printTagOrderId !== null"
:order-id=
"printTagOrderId"
@
close=
"printTagOrderId=null"
/>
<print-tag
v-if=
"printTagOrderId !== null"
:order-id=
"printTagOrderId"
@
close=
"printTagOrderId=null"
:warehouse-in-num=
"printTagWarehouseInNum"
/>
<print-warehouse-receipt
v-if=
"printWarehouseReceiptOrderId !== null"
:order-id=
"printWarehouseReceiptOrderId"
@
close=
"printWarehouseReceiptOrderId=null"
/>
<print-lading-bill
v-if=
"printLadingBillOrderId !== null"
:order-id=
"printLadingBillOrderId"
@
close=
"printLadingBillOrderId=null"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
...
...
@@ -541,9 +552,11 @@ import {getWarehouseList} from '@/api/ecw/warehouse'
import
{
getCurrencyPage
}
from
"
@/api/ecw/currency
"
;
import
SplitRevoke
from
"
@/views/ecw/order/components/SplitRevoke
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
export
default
{
name
:
"
EcwOrderIndex
"
,
components
:
{
Template
,
UserSelector
,
FeeApplication
,
BatchSingleApplication
,
...
...
@@ -592,6 +605,7 @@ export default {
dateFilter
:
[],
//筛选日期
printTagOrderId
:
null
,
// 显示打印标签的订单ID
printTagWarehouseInNum
:
0
,
// 打印标签的订单入仓箱数
printWarehouseReceiptOrderId
:
null
,
// 打印入仓单的订单ID
printLadingBillOrderId
:
null
,
// 打印提单的订单ID
showBatchPickup
:
false
,
// 是否显示批量提货弹窗
...
...
@@ -616,7 +630,11 @@ export default {
splitRevokeOrderId
:
null
,
// 撤销拆单的订单ID
// 渠道列表,空运需要渠道筛选
channelList
:[]
channelList
:[],
// 编号搜索条件
noParam
:
{},
// 商品搜索条件
prodParam
:
{}
};
},
watch
:{
...
...
@@ -663,6 +681,12 @@ export default {
if
(
this
.
transportId
){
queryParams
.
transportId
=
this
.
transportId
}
if
(
this
.
noParam
.
value
){
queryParams
[
this
.
noParam
.
key
]
=
this
.
noParam
.
value
}
if
(
this
.
prodParam
.
value
){
queryParams
[
this
.
prodParam
.
key
]
=
this
.
prodParam
.
value
}
return
queryParams
},
/*batchWarehouseAdjustment(){
...
...
@@ -917,6 +941,11 @@ export default {
onBatchClose
(){
this
.
showBatchPickup
=
false
this
.
handleQuery
()
},
// 打印标签
printTag
(
order
){
this
.
printTagOrderId
=
order
.
orderId
this
.
printTagWarehouseInNum
=
order
.
sumNum
}
}
};
...
...
src/views/ecw/order/pending.vue
View file @
c849cd37
...
...
@@ -22,7 +22,7 @@
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
<!-- v2.0空运专线,显示出货渠道 -->
<span
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, orderData.transportId).cssClass == 'channel'"
style=
"margin-left:10px"
>
{{
$t
(
'
出货渠道
'
)
}}
:
{{
channelName
}}
</span>
<span
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, orderData.transportId).cssClass == 'channel'"
style=
"margin-left:10px"
>
{{
$t
(
'
出货渠道
'
)
}}
:
{{
orderData
.
channelName
}}
</span>
</el-descriptions-item>
<!-- v2.0空运专线,显示出货渠道 -->
<!--
<el-descriptions-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, orderData.transportId).cssClass == 'channel'"
>
...
...
src/views/ecw/order/prepayDeal.vue
View file @
c849cd37
This diff is collapsed.
Click to expand it.
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