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
7028fab8
Commit
7028fab8
authored
Oct 10, 2023
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
44869cb8
4baf3d01
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
340 additions
and
283 deletions
+340
-283
index.vue
src/components/RoutersSelector/index.vue
+5
-4
index.js
src/router/index.js
+7
-6
index.scss
src/styles/index.scss
+1
-1
cancelClear.vue
src/views/ecw/box/cancelClear.vue
+72
-0
queryAir.vue
src/views/ecw/box/queryAir.vue
+17
-1
arrival.vue
src/views/ecw/box/shippingAir/nodePage/arrival.vue
+38
-8
cusClearance.vue
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
+151
-111
preinstall.vue
src/views/ecw/box/shippingAir/nodePage/preinstall.vue
+4
-2
edit.vue
src/views/ecw/customer/edit.vue
+1
-1
indirectCustomer.vue
src/views/ecw/customer/indirectCustomer.vue
+2
-2
index.vue
src/views/ecw/deptTarget/index.vue
+1
-1
myDeptTarget.vue
src/views/ecw/deptTarget/myDeptTarget.vue
+1
-1
detail.vue
src/views/ecw/order/detail.vue
+20
-133
index.vue
src/views/ecw/order/index.vue
+0
-1
index.vue
src/views/ecw/order/splitApply/index.vue
+1
-1
batchEdit.vue
src/views/ecw/productPrice/batchEdit.vue
+5
-2
batchIncrease.vue
src/views/ecw/productPrice/batchIncrease.vue
+1
-1
index.vue
src/views/ecw/productPrice/index.vue
+8
-2
index.vue
src/views/system/download/index.vue
+5
-5
No files found.
src/components/RoutersSelector/index.vue
View file @
7028fab8
<
template
>
<div>
<div
class=
"filters mb-10"
v-if=
"showFilter"
>
<template
v-if=
"!type"
>
{{
$t
(
'
运输方式
'
)
}}
<dict-selector
:type=
'DICT_TYPE.ECW_TRANSPORT_TYPE'
v-model=
"transportType"
:placeholder=
"$t('请选择运输方式')"
:filter=
"transportFilter"
style=
"width:150px"
/>
</
template
>
{{$t('始发地')}}:
<el-select
:placeholder=
"$t('请选择始发地')"
v-model=
"exportCity"
clearable
>
<el-option
v-for=
"item in exportCityList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
...
...
@@ -14,7 +15,7 @@
<el-option
v-for=
"item in importCityList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
<template
v-if=
"type
== 'air
'"
>
<
template
v-if=
"type
!= 'sea
'"
>
{{
$t
(
'
出货渠道
'
)
}}
:
<el-select
:placeholder=
"$t('请选择目渠道')"
v-model=
"channelId"
clearable
>
<el-option
v-for=
"item in channelList"
:key=
"item.channelId"
:label=
"item.nameZh"
:value=
"item.channelId"
/>
...
...
src/router/index.js
View file @
7028fab8
...
...
@@ -278,13 +278,14 @@ export const constantRoutes = [
name
:
'
allocatedCustomerEdit
'
,
meta
:
{
title
:
'
编辑客户
'
,
titleEn
:
'
Edit Customer
'
,
icon
:
''
}
},
// {
// path: 'add-edit/:customerId(\\d+)',
// component: (resolve) => import('@/views/ecw/customer/edit'),
// props: true,
// name: 'customerEdit',
// meta: {title: '新建客户',titleEn:'New customer', icon: ''}
// },
{
path
:
'
add-edit/:customerId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/customer/edit
'
),
props
:
true
,
name
:
'
customerEdit
'
,
meta
:
{
title
:
'
新建客户
'
,
titleEn
:
'
New customer
'
,
icon
:
''
}
},{
path
:
'
perfect/:customerId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/customer/edit
'
),
props
:
true
,
...
...
src/styles/index.scss
View file @
7028fab8
...
...
@@ -129,7 +129,7 @@ input, textarea{
}
.el-scrollbar__view
{
overflow-x
:
hidden
;
/*overflow-x: hidden;*/
}
.el-rate
{
...
...
src/views/ecw/box/cancelClear.vue
0 → 100644
View file @
7028fab8
<
template
>
<div
class=
"shipping-update-error"
>
<div
class=
"message-title"
>
{{
$t
(
`您确定撤销${cancelClearInfo.orderNo
}
已清关状态吗?`
)
}}
<
/div
>
<
el
-
form
ref
=
"
arrivalForm
"
:
rules
=
"
rules
"
:
model
=
"
cusClearanceObj
"
label
-
width
=
"
120px
"
>
<
el
-
form
-
item
:
label
=
"
$t('撤销理由')
"
prop
=
"
clEstTime
"
>
<
el
-
input
v
-
model
=
"
cusClearanceObj.applyReason
"
type
=
"
textarea
"
:
rows
=
"
4
"
><
/el-input
>
<
/el-form-item
>
<
/el-form
>
<
el
-
row
class
=
"
operate-button
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
onSubmit
"
>
{{
$t
(
'
确定
'
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
cancel
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
/el-row
>
<
/div
>
<
/template
>
<
script
>
import
{
approvalCreate
}
from
"
@/api/ecw/boxSea
"
;
export
default
{
name
:
"
updateError
"
,
inheritAttrs
:
false
,
components
:
{
}
,
props
:
{
shipmentObj
:
Object
,
cancelClearInfo
:
Object
,
}
,
data
()
{
return
{
// 到港对象
cusClearanceObj
:
{
}
,
// 校验
rules
:
{
applyReason
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
}
,
]
}
}
;
}
,
methods
:
{
onSubmit
()
{
this
.
$refs
[
"
arrivalForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
approvalCreate
({
shipmentId
:
this
.
shipmentObj
.
id
,
approvalStatus
:
0
,
approvalType
:
21
,
orderId
:
this
.
cancelClearInfo
.
orderId
,
applyReason
:
this
.
cusClearanceObj
.
applyReason
}
).
then
(()
=>
{
this
.
$message
.
success
(
"
成功
"
);
this
.
cancel
()
}
)
}
}
);
}
,
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
}
,
}
,
}
;
<
/script
>
<
style
lang
=
"
scss
"
scoped
>
.
shipping
-
update
-
error
{
.
message
-
title
{
text
-
align
:
center
;
font
-
size
:
20
px
;
margin
:
0
20
px
10
px
;
}
}
<
/style
>
src/views/ecw/box/queryAir.vue
View file @
7028fab8
...
...
@@ -108,6 +108,7 @@
<el-table-column
prop=
""
:label=
"$t('操作')"
align=
"center"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
:disabled=
"scope.row.abnormalDealStatus === 1"
@
click=
"()=>updateStatus('single', scope.row)"
>
{{
$t
(
'
更新状态
'
)
}}
</el-button>
<el-button
type=
"primary"
size=
"small"
:disabled=
"shipmentObj.clStatus!=132&&shipmentObj.clearanceInfo&&(shipmentObj.clearanceInfo.clearanceOrderList.findIndex(ff=>ff.orderId == scope.row.orderId) !== -1)"
@
click=
"()=>cancleClear(scope.row)"
>
{{
$t
(
'
撤销清关申请
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -213,6 +214,9 @@
<
template
v-if=
"dialogConfig.type === 'updateClear'"
>
<updateClear
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:clearInfo=
"clearInfo"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'cancelClear'"
>
<cancelClear
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:cancelClearInfo=
"cancelClearInfo"
/>
</
template
>
</el-dialog>
</div>
</template>
...
...
@@ -244,6 +248,7 @@ import editForm from "./editForm.vue";
import
updateError
from
"
./updateError.vue
"
;
import
updateArrival
from
"
./updateArrival.vue
"
;
import
updateClear
from
"
./updateClear.vue
"
;
import
cancelClear
from
"
./cancelClear.vue
"
;
import
{
listUser
}
from
"
@/api/system/user
"
;
export
default
{
...
...
@@ -257,7 +262,8 @@ export default {
editForm
,
updateError
,
updateArrival
,
updateClear
updateClear
,
cancelClear
},
created
()
{
this
.
transportTypes
=
this
.
getDictDatas
(
...
...
@@ -352,6 +358,7 @@ export default {
clearInfo
:
{
orderList
:
[]
},
cancelClearInfo
:
{}
};
},
methods
:
{
...
...
@@ -419,6 +426,11 @@ export default {
this
.
$set
(
this
.
clearInfo
,
"
type
"
,
type
);
this
.
handleCommand
(
"
updateClear
"
);
},
/* 更新清关状态 */
cancleClear
(
val
)
{
this
.
cancelClearInfo
=
val
this
.
handleCommand
(
"
cancelClear
"
);
},
getErrorType
()
{
for
(
const
[
key
,
value
]
of
Object
.
entries
(
this
.
shipmentObj
))
{
// 报关异常 customsHasAbnormal
...
...
@@ -603,6 +615,10 @@ export default {
this
.
$set
(
this
.
dialogConfig
,
"
visible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
type
"
,
"
updateClear
"
);
break
;
case
"
cancelClear
"
:
this
.
$set
(
this
.
dialogConfig
,
"
visible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
type
"
,
"
cancelClear
"
);
break
;
}
},
// 关闭弹框
...
...
src/views/ecw/box/shippingAir/nodePage/arrival.vue
View file @
7028fab8
...
...
@@ -16,6 +16,7 @@
reserve-keyword
:filter-method=
"filterOrder"
:placeholder=
"$t('请输入订单号、提单号、唛头')"
@
change=
"selectOrderId"
>
<el-option
v-for=
"(item) in statusOrderList"
...
...
@@ -60,7 +61,7 @@ import regError from "../../regError";
import
dayjs
from
"
dayjs
"
;
import
{
arrivalCreate
}
from
"
@/api/ecw/boxSeaAir
"
;
import
{
shipmentOrderList
}
from
"
@/api/ecw/boxAir
"
;
import
{
formatDateStr
,
serviceMsg
}
from
"
../utils
"
;
import
{
formatDateStr
,
serviceMsg
,
formatDate
}
from
"
../utils
"
;
/**
* 到港
...
...
@@ -106,6 +107,7 @@ export default {
dtRealHeadTimeFlag
:
false
,
orderList
:
[],
orderListFilter
:
[],
arrivalOrderList
:
[]
};
},
created
()
{
...
...
@@ -121,7 +123,8 @@ export default {
this
.
dtRealHeadTimeFlag
=
true
}
if
(
!
this
.
airArrivalInfo
.
arriveType
)
this
.
$set
(
this
.
airArrivalInfo
,
'
arriveType
'
,
0
)
this
.
$set
(
this
.
airArrivalInfo
,
'
arriveOrderIdList
'
,
this
.
airArrivalInfo
.
arrivalOrderList
.
map
(
item
=>
{
return
item
.
orderId
}))
this
.
$set
(
this
.
airArrivalInfo
,
'
arriveOrderIdList
'
,[])
this
.
arrivalOrderList
=
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
?
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
:[]
shipmentOrderList
(
this
.
$attrs
.
shipmentObj
.
id
).
then
(
r
=>
{
this
.
orderList
=
r
.
data
this
.
orderListFilter
=
r
.
data
...
...
@@ -137,7 +140,7 @@ export default {
tidanNo
:
item
.
tidanNo
,
marks
:
item
.
marks
,
}
let
index
=
this
.
a
irArrivalInfo
.
arrivalOrderList
.
findIndex
(
p
=>
p
.
orderId
==
item
.
orderId
)
let
index
=
this
.
a
rrivalOrderList
?
this
.
arrivalOrderList
.
findIndex
(
p
=>
p
.
orderId
==
item
.
orderId
):
-
1
if
(
index
!=
-
1
){
json
.
arrival
=
this
.
$t
(
'
已到港
'
)
}
else
{
...
...
@@ -162,21 +165,48 @@ export default {
this
.
compareDate
(
this
.
airArrivalInfo
.
estTime
,
val
);
},
// 确认到港时间
"
arrivalObj.apConfirmTime
"
(
val
)
{
this
.
compareDate
(
this
.
getExpectedTime
(),
val
);
},
"
airArrivalInfo.arriveType
"
(
val
)
{
if
(
val
==
1
){
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
null
)
}
else
{
let
oldData
=
{
...
this
.
$attrs
.
shipmentObj
[
this
.
$attrs
.
currNode
.
voName
]
};
oldData
=
formatDateStr
(
oldData
,
[
"
actSecondTime
"
,
"
estTime
"
,
"
actTime
"
],
"
YYYY-MM-DD HH:mm:ss
"
);
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
oldData
.
actSecondTime
)
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
oldData
.
estTime
)
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
oldData
.
actTime
)
}
}
},
methods
:
{
filterOrder
(
val
){
if
(
val
!=
''
){
this
.
orderListFilter
=
this
.
orderList
.
filter
(
item
=>
{
return
item
.
orderNo
.
indexOf
(
val
)
>
-
1
||
item
.
tidanNo
.
indexOf
(
val
)
>
-
1
||
item
.
marks
.
indexOf
(
val
)
>
-
1
return
item
.
orderNo
&&
item
.
orderNo
.
indexOf
(
val
)
>
-
1
||
item
.
tidanNo
&&
item
.
tidanNo
.
indexOf
(
val
)
>
-
1
||
item
.
marks
&&
item
.
marks
.
indexOf
(
val
)
>
-
1
})
}
else
{
this
.
orderListFilter
=
this
.
orderList
}
},
selectOrderId
(
val
)
{
if
(
val
.
length
==
1
)
{
let
arr
=
this
.
arrivalOrderList
.
find
((
item
)
=>
item
.
orderId
==
val
[
0
])
if
(
arr
)
{
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
formatDate
(
arr
.
actSecondTime
))
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
formatDate
(
arr
.
estTime
))
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
formatDate
(
arr
.
actTime
))
}
}
else
{
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
null
)
}
},
regCloseDialog
(
type
)
{
this
.
dialogVisible
=
false
;
if
(
type
===
"
error
"
)
{
...
...
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
View file @
7028fab8
...
...
@@ -8,80 +8,67 @@
</el-radio-group>
</el-form-item>
<el-form-item
:label=
"$t('选择订单')"
prop=
"clearanceOrderIdList"
v-show=
"cusClearanceObj.clearanceType == 1"
>
<el-select
v-model=
"cusClearanceObj.clearanceOrderIdList"
multiple
filterable
clearable
reserve-keyword
:filter-method=
"filterOrder"
:placeholder=
"$t('请输入订单号、提单号、唛头')"
>
<el-option
v-for=
"(item) in statusOrderList"
:key=
"item.orderId"
:label=
"item.orderNo+' '+item.arrival"
:value=
"item.orderId"
>
</el-option>
<el-select
v-model=
"cusClearanceObj.clearanceOrderIdList"
multiple
filterable
clearable
reserve-keyword
:filter-method=
"filterOrder"
:placeholder=
"$t('请输入订单号、提单号、唛头')"
@
change=
"selectOrderId"
>
<el-option
v-for=
"item in statusOrderList"
:key=
"item.orderId"
:label=
"item.orderNo + ' ' + item.clear + ' ' + item.arrival"
:value=
"item.orderId"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('已清关订单')"
v-show=
"cusClearanceObj.clearanceType == 1"
>
<span
v-for=
"order in cusClearanceObj.clearanceOrderList"
:key=
"order.id"
>
{{
order
.
orderNo
}}
</span>
<span
v-for=
"order in cusClearanceObj.clearanceOrderList"
:key=
"order.id"
>
{{
order
.
orderNo
}}
</span>
</el-form-item>
<el-card
v-for=
"order in cusClearanceObj.clearanceOrderIdList"
:key=
"order"
style=
"margin: 20px;"
>
<el-form-item
v-if=
"cusClearanceObj.clearanceType==1"
:label=
"$t('订单号')"
>
{{
arrivalOrderList
.
find
(
item
=>
item
.
orderId
==
order
).
orderNo
}}
<div
v-if=
"cusClearanceObj.clearanceOrderIdList.length > 0"
>
<el-form
ref=
"airArrivalForm"
:rules=
"airArrivalrules"
:model=
"airArrivalInfo"
label-width=
"120px"
>
<el-form-item
:label=
"$t('实际二程起飞时间')"
prop=
"actSecondTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"airArrivalInfo.actSecondTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
v-if=
"cusClearanceObj.clearanceType==1"
:label=
"$t('实际二程起飞时间')"
prop=
"actSecond
Time"
>
{{
formatDate
(
arrivalOrderList
.
find
(
item
=>
item
.
orderId
==
order
).
actSecondTime
)
}}
<el-form-item
:label=
"$t('预计到港时间')"
prop=
"est
Time"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"airArrivalInfo.estTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
v-if=
"cusClearanceObj.clearanceType==1"
:label=
"$t('预计到港时间')"
prop=
"es
tTime"
>
{{
formatDate
(
arrivalOrderList
.
find
(
item
=>
item
.
orderId
==
order
).
estTime
)
}}
<el-form-item
:label=
"$t('实际到港时间')"
prop=
"ac
tTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"airArrivalInfo.actTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
v-if=
"cusClearanceObj.clearanceType==1"
:label=
"$t('实际到港时间')"
prop=
"actTime"
>
{{
formatDate
(
arrivalOrderList
.
find
(
item
=>
item
.
orderId
==
order
).
actTime
)
}}
</el-form-item>
</el-card>
</el-form>
</div>
<el-form-item
:label=
"$t('预计清关时间')"
prop=
"clEstTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"cusClearanceObj.clEstTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('清关时间')"
prop=
"clClearTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"cusClearanceObj.clClearTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<p
class=
"message-area"
v-show=
"showMsg"
>
{{
$t
(
'
清关时间与预计时间不符,如有异常请登记
'
)
}}
</p>
<p
class=
"message-area"
v-show=
"showMsg"
>
{{
$t
(
'
清关时间与预计时间不符,如有异常请登记
'
)
}}
</p>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
>
{{
$t
(
'
保存
'
)
}}
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit(2)"
>
{{
$t
(
'
提交
'
)
}}
</el-button>
<el-button
@
click=
"cancel"
>
{{
$t
(
'
关闭
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"exceptionReg"
:disabled=
"!showMsg"
>
{{
$t
(
'
异常登记
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
>
{{
$t
(
'
保存
'
)
}}
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit(2)"
>
{{
$t
(
'
提交
'
)
}}
</el-button>
<el-button
@
click=
"cancel"
>
{{
$t
(
'
关闭
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"exceptionReg"
:disabled=
"!showMsg"
>
{{
$t
(
'
异常登记
'
)
}}
</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog
custom-class=
"shipping-dialog"
:title=
"$t('票异常')"
:visible.sync=
"dialogVisible"
width=
"700px"
:modal-append-to-body=
false
append-to-body
destroy-on-close
>
<el-dialog
custom-class=
"shipping-dialog"
:title=
"$t('票异常')"
:visible.sync=
"dialogVisible"
width=
"700px"
:modal-append-to-body=
"false"
append-to-body
destroy-on-close
>
<regError
@
closeDialog=
"dialogVisible = false"
v-bind=
"$attrs"
/>
</el-dialog>
</div>
</
template
>
<
script
>
import
regError
from
"
../../regError
"
;
import
dayjs
from
"
dayjs
"
;
import
{
clearanceCreate
}
from
"
@/api/ecw/boxSea
"
;
import
{
shipmentOrderList
}
from
"
@/api/ecw/boxAir
"
;
import
{
formatDateStr
,
serviceMsg
,
formatDate
}
from
"
../utils
"
;
import
regError
from
'
../../regError
'
import
dayjs
from
'
dayjs
'
import
{
clearanceCreate
}
from
'
@/api/ecw/boxSea
'
import
{
shipmentOrderList
}
from
'
@/api/ecw/boxAir
'
import
{
formatDateStr
,
serviceMsg
,
formatDate
}
from
'
../utils
'
import
{
updateOrderArrival
}
from
'
@/api/ecw/boxAir
'
/**
* 清关
*/
export
default
{
name
:
"
cusClearance
"
,
name
:
'
cusClearance
'
,
inheritAttrs
:
false
,
components
:
{
regError
,
regError
},
data
()
{
return
{
...
...
@@ -89,12 +76,12 @@ export default {
cusClearanceObj
:
{},
// 校验
rules
:
{
clEstTime
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
},
]
,
clClearTime
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
}
,
],
clEstTime
:
[
{
required
:
true
,
message
:
this
.
$t
(
'
必填
'
),
trigger
:
'
change
'
}],
clClearTime
:
[{
required
:
true
,
message
:
this
.
$t
(
'
必填
'
),
trigger
:
'
change
'
}]
}
,
airArrivalrules
:
{
actSecondTime
:
[{
required
:
true
,
message
:
this
.
$t
(
'
必填
'
),
trigger
:
'
change
'
}]
,
actTime
:
[{
required
:
true
,
message
:
this
.
$t
(
'
必填
'
),
trigger
:
'
change
'
}]
},
// 弹窗配置
dialogVisible
:
false
,
...
...
@@ -102,48 +89,66 @@ export default {
showMsg
:
false
,
orderList
:
[],
orderListFilter
:
[],
arrivalOrderList
:
[]
};
arrivalOrderList
:
[],
airArrivalInfo
:
{}
}
},
created
()
{
const
voName
=
this
.
$attrs
.
currNode
.
voName
;
let
oldData
=
{
...
this
.
$attrs
.
shipmentObj
[
voName
]
}
;
oldData
=
formatDateStr
(
oldData
,
[
"
clEstTime
"
]);
oldData
=
formatDateStr
(
oldData
,
[
"
clClearTime
"
],
"
YYYY-MM-DD HH:mm:ss
"
);
this
.
cusClearanceObj
=
oldData
;
if
(
!
this
.
cusClearanceObj
.
clearanceType
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clearanceType
'
,
0
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clearanceOrderIdList
'
,
this
.
cusClearanceObj
.
clearanceOrderList
.
map
(
item
=>
{
return
item
.
orderId
})
)
this
.
arrivalOrderList
=
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
shipmentOrderList
(
this
.
$attrs
.
shipmentObj
.
id
).
then
(
r
=>
{
const
voName
=
this
.
$attrs
.
currNode
.
voName
let
oldData
=
{
...
this
.
$attrs
.
shipmentObj
[
voName
]
}
oldData
=
formatDateStr
(
oldData
,
[
'
clEstTime
'
])
oldData
=
formatDateStr
(
oldData
,
[
'
clClearTime
'
],
'
YYYY-MM-DD HH:mm:ss
'
)
this
.
cusClearanceObj
=
oldData
if
(
!
this
.
cusClearanceObj
.
clearanceType
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clearanceType
'
,
0
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clearanceOrderIdList
'
,
[]
)
if
(
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
)
this
.
arrivalOrderList
=
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
shipmentOrderList
(
this
.
$attrs
.
shipmentObj
.
id
).
then
(
(
r
)
=>
{
this
.
orderList
=
r
.
data
this
.
orderListFilter
=
r
.
data
})
},
watch
:
{
// 预计清关时间
"
cusClearanceObj.clEstTime
"
(
val
)
{
this
.
compareDate
(
val
,
this
.
cusClearanceObj
.
clClearTime
)
;
'
cusClearanceObj.clEstTime
'
(
val
)
{
this
.
compareDate
(
val
,
this
.
cusClearanceObj
.
clClearTime
)
},
// 清关时间
"
cusClearanceObj.clClearTime
"
(
val
)
{
this
.
compareDate
(
this
.
cusClearanceObj
.
clEstTime
,
val
)
;
'
cusClearanceObj.clClearTime
'
(
val
)
{
this
.
compareDate
(
this
.
cusClearanceObj
.
clEstTime
,
val
)
},
'
cusClearanceObj.clearanceType
'
(
val
)
{
if
(
val
==
1
)
{
this
.
$set
(
this
.
cusClearanceObj
,
'
clEstTime
'
,
null
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clClearTime
'
,
null
)
}
else
{
let
oldData
=
{
...
this
.
$attrs
.
shipmentObj
[
this
.
$attrs
.
currNode
.
voName
]
}
oldData
=
formatDateStr
(
oldData
,
[
'
clEstTime
'
,
'
clClearTime
'
],
'
YYYY-MM-DD HH:mm:ss
'
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clClearTime
'
,
oldData
.
clClearTime
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clEstTime
'
,
oldData
.
clEstTime
)
}
}
},
computed
:
{
statusOrderList
(){
statusOrderList
()
{
let
data
=
[]
this
.
orderListFilter
.
forEach
(
item
=>
{
this
.
orderListFilter
.
forEach
(
(
item
)
=>
{
let
json
=
{
orderId
:
item
.
orderId
,
orderNo
:
item
.
orderNo
,
tidanNo
:
item
.
tidanNo
,
marks
:
item
.
marks
,
marks
:
item
.
marks
}
let
index
=
this
.
cusClearanceObj
.
clearanceOrderList
.
findIndex
(
p
=>
p
.
orderId
==
item
.
orderId
)
if
(
index
!=
-
1
){
json
.
arrival
=
this
.
$t
(
'
已清关
'
)
}
else
{
json
.
arrival
=
this
.
$t
(
'
未清关
'
)
let
clearindex
=
this
.
cusClearanceObj
.
clearanceOrderList
?
this
.
cusClearanceObj
.
clearanceOrderList
.
findIndex
((
p
)
=>
p
.
orderId
==
item
.
orderId
)
:
-
1
if
(
clearindex
!=
-
1
)
{
json
.
clear
=
this
.
$t
(
'
已清关
'
)
}
else
{
json
.
clear
=
this
.
$t
(
'
未清关
'
)
}
let
arrivalindex
=
this
.
arrivalOrderList
?
this
.
arrivalOrderList
.
findIndex
((
p
)
=>
p
.
orderId
==
item
.
orderId
)
:
-
1
if
(
arrivalindex
!=
-
1
)
{
json
.
arrival
=
this
.
$t
(
'
已到港
'
)
}
else
{
json
.
arrival
=
this
.
$t
(
'
未到港
'
)
}
data
.
push
(
json
)
})
...
...
@@ -152,63 +157,98 @@ export default {
},
methods
:
{
formatDate
,
filterOrder
(
val
){
if
(
val
!=
''
)
{
this
.
orderListFilter
=
this
.
orderList
.
filter
(
item
=>
{
return
item
.
orderNo
.
indexOf
(
val
)
>
-
1
||
item
.
tidanNo
.
indexOf
(
val
)
>
-
1
||
item
.
marks
.
indexOf
(
val
)
>
-
1
filterOrder
(
val
)
{
if
(
val
!=
''
)
{
this
.
orderListFilter
=
this
.
orderList
.
filter
(
(
item
)
=>
{
return
item
.
orderNo
&&
item
.
orderNo
.
indexOf
(
val
)
>
-
1
||
item
.
tidanNo
&&
item
.
tidanNo
.
indexOf
(
val
)
>
-
1
||
item
.
marks
&&
item
.
marks
.
indexOf
(
val
)
>
-
1
})
}
else
{
}
else
{
this
.
orderListFilter
=
this
.
orderList
}
},
selectOrderId
(
val
)
{
if
(
val
.
length
==
1
)
{
let
arr
=
this
.
arrivalOrderList
.
find
((
item
)
=>
item
.
orderId
==
val
[
0
])
if
(
arr
)
{
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
formatDate
(
arr
.
actSecondTime
))
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
formatDate
(
arr
.
estTime
))
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
formatDate
(
arr
.
actTime
))
}
}
else
{
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
null
)
}
},
getClAgent
(
type
)
{
const
agentId
=
this
.
$attrs
.
shipmentObj
.
agentInfo
.
agentId
;
if
(
type
===
"
label
"
)
{
const
selected
=
this
.
$attrs
.
allSupplier
.
find
(
(
item
)
=>
item
.
id
===
agentId
);
return
this
.
$l
(
selected
,
"
company
"
)
??
agentId
;
}
return
agentId
;
const
agentId
=
this
.
$attrs
.
shipmentObj
.
agentInfo
.
agentId
if
(
type
===
'
label
'
)
{
const
selected
=
this
.
$attrs
.
allSupplier
.
find
((
item
)
=>
item
.
id
===
agentId
)
return
this
.
$l
(
selected
,
'
company
'
)
??
agentId
}
return
agentId
},
// 时间比较
compareDate
(
clEstTime
,
clClearTime
)
{
this
.
showMsg
=
false
;
this
.
showMsg
=
false
let
date1
=
null
,
date2
=
null
;
if
(
clEstTime
)
date1
=
dayjs
(
clEstTime
)
;
if
(
clClearTime
)
date2
=
dayjs
(
clClearTime
)
;
date2
=
null
if
(
clEstTime
)
date1
=
dayjs
(
clEstTime
)
if
(
clClearTime
)
date2
=
dayjs
(
clClearTime
)
if
(
date1
&&
date2
&&
!
date2
.
isSame
(
date1
))
{
this
.
showMsg
=
true
;
this
.
showMsg
=
true
}
},
// 异常登记
exceptionReg
()
{
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
},
/** 提交 */
onSubmit
(
operateType
)
{
this
.
$refs
[
"
cusClearanceForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
'
cusClearanceForm
'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
cusClearanceObj
.
clearanceType
==
1
)
{
this
.
$refs
[
'
airArrivalForm
'
].
validate
((
arrvalid
)
=>
{
if
(
arrvalid
)
{
updateOrderArrival
({
...
this
.
airArrivalInfo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
orderIdList
:
this
.
cusClearanceObj
.
clearanceOrderIdList
}).
then
(()
=>
{
clearanceCreate
({
...
this
.
cusClearanceObj
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
clAgentId
:
this
.
getClAgent
(),
operateType
,
operateType
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
cancel
(
"
submit
"
);
});
});
this
.
cancel
(
'
submit
'
)
})
})
})
}
});
})
}
else
{
clearanceCreate
({
...
this
.
cusClearanceObj
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
clAgentId
:
this
.
getClAgent
(),
operateType
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
cancel
(
'
submit
'
)
})
})
}
}
})
},
/** 取消 */
cancel
(
type
)
{
this
.
$emit
(
"
closeDialog
"
,
type
);
}
,
}
,
}
;
this
.
$emit
(
'
closeDialog
'
,
type
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/ecw/box/shippingAir/nodePage/preinstall.vue
View file @
7028fab8
...
...
@@ -254,7 +254,7 @@
<
/div
>
<
div
class
=
"
table-button
"
>
<
el
-
button
v
-
if
=
"
item.relateOrderList
"
type
=
"
primary
"
size
=
"
small
"
style
=
"
margin-right: 20px;
"
@
click
=
"
getRelationOrder(item)
"
>
{{
$t
(
'
关联订单
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
preList.sectionGoodList
"
type
=
"
success
"
size
=
"
small
"
:
disabled
=
"
isAudit
"
@
click
=
"
handleGoods('all',item,preList.sectionGoodList[0])
"
>
{{
$t
(
'
分拣
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
preList.sectionGoodList
&&item.airShipment==4
"
type
=
"
success
"
size
=
"
small
"
:
disabled
=
"
isAudit
"
@
click
=
"
handleGoods('all',item,preList.sectionGoodList[0])
"
>
{{
$t
(
'
分拣
'
)
}}
<
/el-button
>
<
/div
>
<
/el-row
>
<
el
-
table
v
-
loading
=
"
toBePreLoading
"
:
data
=
"
item.boxOrderItemList
"
border
show
-
summary
:
summary
-
method
=
"
getSummaries
"
>
...
...
@@ -284,7 +284,9 @@
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('包装类型')
"
align
=
"
center
"
prop
=
""
>
<
template
slot
-
scope
=
"
scope
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_PACKAGING_TYPE
"
:
value
=
"
scope.row.warehouseInInfoVO && scope.row.warehouseInInfoVO.unit
"
/>
<
span
v
-
for
=
"
(unit,index) in scope.row.warehouseInInfoVO && scope.row.warehouseInInfoVO.units.split(',')
"
:
key
=
"
index
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_PACKAGING_TYPE
"
:
value
=
"
unit
"
/>
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('材质')
"
align
=
"
center
"
prop
=
"
material
"
>
{{
$t
(
'
、
'
)
}}
<
template
slot
-
scope
=
"
scope
"
>
...
...
src/views/ecw/customer/edit.vue
View file @
7028fab8
...
...
@@ -579,7 +579,7 @@ import MemberSelector from '@/components/MemberSelector'
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
;
export
default
{
name
:
"
e
dit
"
,
name
:
"
EcwCustomerE
dit
"
,
components
:
{
Template
,
...
...
src/views/ecw/customer/indirectCustomer.vue
View file @
7028fab8
...
...
@@ -159,9 +159,9 @@ export default {
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出间接客户数据项?
'
)).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
indirectCustomerExportExcel
(
params
);
return
indirectCustomerExportExcel
();
}).
then
(
response
=>
{
this
.
$
download
.
excel
(
response
,
'
间接客户列表.xls
'
);
this
.
$
message
.
success
(
this
.
$t
(
'
已加入导出队列,请稍后在下载日志中下载
'
))
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
},
...
...
src/views/ecw/deptTarget/index.vue
View file @
7028fab8
...
...
@@ -73,7 +73,7 @@
<span>
{{
getShipChannelName
(
scope
.
row
.
shippingChannel
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('已完成
方数
')"
align=
"center"
prop=
"completeCubeNum"
/>
<el-table-column
:label=
"$t('已完成
目标值
')"
align=
"center"
prop=
"completeCubeNum"
/>
<el-table-column
:label=
"$t('完成比例')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
(
scope
.
row
.
completeCubeNum
/
scope
.
row
.
cubeNum
*
100
).
toFixed
(
2
)
+
'
%
'
}}
</span>
...
...
src/views/ecw/deptTarget/myDeptTarget.vue
View file @
7028fab8
...
...
@@ -73,7 +73,7 @@
<span>
{{
getShipChannelName
(
scope
.
row
.
shippingChannel
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('已完成
方数
')"
align=
"center"
prop=
"completeCubeNum"
/>
<el-table-column
:label=
"$t('已完成
目标值
')"
align=
"center"
prop=
"completeCubeNum"
/>
<el-table-column
:label=
"$t('完成比例')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
(
scope
.
row
.
completeCubeNum
/
scope
.
row
.
cubeNum
*
100
).
toFixed
(
2
)
+
'
%
'
}}
</span>
...
...
src/views/ecw/order/detail.vue
View file @
7028fab8
...
...
@@ -71,9 +71,7 @@
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, order.transportId).cssClass == 'channel'"
:label=
"$t('出货渠道')"
>
{{order.channelName}}
</el-descriptions-item>
<el-descriptions-item
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, order.transportId).cssClass == 'channel'"
:label=
"$t('出货渠道')"
>
{{channelName}}
</el-descriptions-item>
</el-descriptions>
</el-card>
...
...
@@ -108,12 +106,6 @@
<el-descriptions-item
:label=
"$t('单证报关')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"order.customsType"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('关联报价单')"
>
<router-link
v-if=
"offerData"
:to=
"{path: '/offer/detail',query: {offerId: offerData.offerId}}"
class=
"link-type"
>
<span>
{{ offerData.number }}
</span>
</router-link>
<span
v-else
>
/
</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
class=
"mr-10"
border
:column=
"2"
:class=
"showMore?'showInfo':'hiddenInfo'"
:labelStyle=
"{width:'110px'}"
:contentStyle=
"{width:'150px'}"
>
<el-descriptions-item
:label=
"$t('出单方式')"
>
...
...
@@ -156,36 +148,6 @@
</el-descriptions>
</el-card>
<el-card
class=
"card"
v-if=
"[3,4].indexOf(+order.transportId) > -1"
>
<el-descriptions
class=
"mr-10"
border
:title=
"$t('空运专线')"
:column=
"2"
:labelStyle=
"{width:'110px'}"
:contentStyle=
"{width:'150px'}"
>
<el-descriptions-item
:label=
"$t('是否双清')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
:value=
"order.doubleClear"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('航空公司')"
>
{{ order.companyName||'' }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('清关证书')"
>
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('清关证书备注')"
>
{{ order.customsClearCertRemarks }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('是否拆包')"
>
{{order.isUnpack? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('单票立刻转运')"
>
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('特殊要求')"
>
<
template
v-if=
"order.packageType"
>
<dict-tag
v-for=
"packageType in order.packageType.split(',').filter(item => !!item)"
class=
"mr-10"
:key=
"packageType"
:type=
"DICT_TYPE.ORDER_SPECIAL_NEEDS"
:value=
"packageType"
/>
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('特殊要求备注')"
>
{{order.packageRemarks}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
<el-tabs
v-model=
"activeName"
>
<el-tab-pane
:label=
"$t('货物详情')"
name=
"first"
>
...
...
@@ -201,11 +163,6 @@
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
</template>
</el-table-column>
<el-table-column
prop=
"brand"
:label=
"$t('特性')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
{{
showAttrText
(
row
.
warehouseInInfoVO
?
row
.
warehouseInProdAttrIds
:
row
.
prodAttrIds
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"num"
:label=
"$t('填单件数')"
width=
"90px"
/>
<el-table-column
prop=
"sumNum"
:label=
"$t('入仓件数')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
...
...
@@ -252,7 +209,7 @@
<template
v-if=
"!row.originalSeaFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
v-else
>
{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
</template>
<
template
v-else-if=
"!row.originalSeaFreight && !row.o
ne
ClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else-if=
"!row.originalSeaFreight && !row.o
riginal
ClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'freight')"
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
...
...
@@ -281,7 +238,7 @@
</el-tab-pane>
<el-tab-pane
:label=
"$t('订单动态')"
name=
"second"
>
<el-timeline
v-if=
"order.orderTimeVOList && order.orderTimeVOList.length"
:reverse=
"true"
>
<el-timeline-item
v-for=
"(activity, index) in order.orderTimeVOList"
:key=
"index"
:timestamp=
"
parseTime(activity.businessTime)
"
>
<el-timeline-item
v-for=
"(activity, index) in order.orderTimeVOList"
:key=
"index"
:timestamp=
"
activity.timestamp
"
>
{{ $l(activity, 'title') }}
<div>
{{$l(activity, 'remarks')}}
</div>
</el-timeline-item>
...
...
@@ -310,7 +267,7 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-table-column>
<el-table-column
:label=
"$t('出货渠道')"
>
{{
order.
channelName}}
{{channelName}}
</el-table-column>
<el-table-column
:label=
"$t('始发地')"
prop=
"orderNo"
>
{{$l(departure, 'title') || '-'}}
...
...
@@ -398,7 +355,7 @@
<
print
-
warehouse
-
receipt
v
-
if
=
"
showWarehouseReceipt
"
:
order
-
id
=
"
order.orderId
"
@
close
=
"
showWarehouseReceipt=false
"
/>
<
print
-
lading
-
bill
v
-
if
=
"
showLadingBill
"
:
order
-
id
=
"
order.orderId
"
:
transport
-
type
=
"
order.transportId
"
@
close
=
"
showLadingBill=false
"
/>
<
warehouse
-
detail
:
order
=
"
order
"
@
openPackHistory
=
"
openPackHistory
"
:
orderItemId
=
"
showWarehouseInItemId
"
v
-
if
=
"
showWarehouseInItemId
"
@
close
=
"
showWarehouseInItemId=null
"
/>
<
warehouse
-
detail
:
order
=
"
order
"
:
orderItemId
=
"
showWarehouseInItemId
"
v
-
if
=
"
showWarehouseInItemId
"
@
close
=
"
showWarehouseInItemId=null
"
/>
<
el
-
dialog
:
title
=
"
$t('付款人')
"
:
visible
.
sync
=
"
showDarweeDialog
"
v
-
if
=
"
order && order.customDraweeVOList
"
>
<
el
-
table
:
data
=
"
order.customDraweeVOList
"
v
-
if
=
"
order.drawee==3
"
>
<
el
-
table
-
column
:
label
=
"
$t('费用类型')
"
prop
=
"
label
"
width
=
"
200px
"
>
...
...
@@ -426,12 +383,7 @@
<
/div
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
v
-
if
=
"
feeDetail.charging != 1
"
>
<
div
>
{{
$t
(
'
清关费
'
)
}}
<
template
v
-
if
=
"
order.transportId == 3 || order.transportId == 4
"
>
{{
$t
(
'
来自{source
}
'
,
{
source
:
feeDetail
.
airClearanceSource
+
feeDetail
.
sourceName
}
)
}}
<
/template
>
<
/div
>
<
div
>
{{
$t
(
'
清关费
'
)
}}
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.clearance
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
...
...
@@ -441,26 +393,26 @@
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
优惠详情
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
:
label
=
"
$t('优惠ID')
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('优惠名称')
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
$l
(
row
,
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('类型')
"
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
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
=
"
$t('运费优惠')
"
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('清关费优惠')
"
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
...
...
@@ -471,10 +423,6 @@
<!--
日志详情
-->
<
operate
-
log
-
detail
v
-
if
=
"
showLogDetailId
"
:
log
-
id
=
"
showLogDetailId
"
@
close
=
"
showLogDetailId=null
"
><
/operate-log-detail
>
<!--
打包历史
-->
<
pack
-
history
v
-
if
=
"
shopPackId
"
:
order
=
"
order
"
:
orderItemId
=
"
shopPackId
"
@
showPackDetail
=
"
showPackDetail
"
@
close
=
"
shopPackId=null
"
><
/pack-history
>
<!--
打包历史详情
-->
<
pack
-
history
-
detail
v
-
if
=
"
packAfterData
"
:
order
=
"
order
"
:
packAfterData
=
"
packAfterData
"
:
orderItemId
=
"
showWarehouseInItemId
"
@
close
=
"
packAfterData=null
"
><
/pack-history-detail
>
<!--
报关资料
-->
<
declaration
-
documents
v
-
if
=
"
showDeclaration
"
:
order
-
id
=
"
order.orderId
"
:
order
-
no
=
"
order.orderNo
"
@
close
=
"
showDeclaration=false
"
/>
<!--
费用汇总
-->
...
...
@@ -489,7 +437,6 @@
<
script
>
import
{
getOrder
,
operateLogPage
}
from
'
@/api/ecw/order
'
import
{
getOfferCheck
}
from
'
@/api/ecw/offer
'
import
{
getDictDatas
,
DICT_TYPE
,
getDictData
}
from
'
@/utils/dict
'
;
import
PrintWarehouseReceipt
from
'
./components/PrintWarehouseReceipt
'
import
PrintLadingBill
from
'
./components/PrintLadingBill
'
...
...
@@ -506,18 +453,12 @@ import OperateLogDetail from "@/views/ecw/order/components/OprateLogDetail";
import
DeclarationDocuments
from
'
./components/DeclarationDocuments
'
;
import
ImageDisplay
from
"
@/views/ecw/order/components/imageDisplay.vue
"
;
import
FeeDetail
from
"
@/views/ecw/order/components/FeeDetail.vue
"
;
import
PackHistory
from
'
./components/PackHistory
'
;
import
PackHistoryDetail
from
'
./components/PackHistoryDetail
'
;
import
{
getSupplier
,
getSupplierPage
}
from
'
@/api/ecw/supplier
'
import
{
formatTime
}
from
"
@/utils
"
;
import
{
getProductAttrList
}
from
"
@/api/ecw/productAttr
"
;
export
default
{
name
:
"
detail
"
,
components
:
{
DeclarationDocuments
,
ImageDisplay
,
OperateLogDetail
,
PrintWarehouseReceipt
,
PrintLadingBill
,
WarehouseDetail
,
WarehouseAreaSelect
,
PackHistory
,
PackHistoryDetail
,
PrintWarehouseReceipt
,
PrintLadingBill
,
WarehouseDetail
,
WarehouseAreaSelect
,
DeclarationDocuments
,
FeeDetail
}
,
filters
:
{
...
...
@@ -550,7 +491,7 @@ export default {
currencyList
:
[],
unitList
:[],
feeList
:
[],
channel
:
null
,
channel
Name
:
'
/
'
,
region
:
''
,
orderWarehouseIn
:
null
,
// 入仓详情
showWarehouseInItemId
:
null
,
// 当前显示的入仓
...
...
@@ -562,14 +503,9 @@ export default {
showText
:
this
.
$t
(
'
显示更多
'
),
showMore
:
false
,
consigneeText
:
this
.
$t
(
'
更多
'
),
showLogDetailId
:
null
,
// 显示日志详情的ID
shopPackId
:
null
,
//显示打包历史的ID
packAfterData
:
null
,
//显示打包历史详情
showLogDetailId
:
null
,
// 显示日志详情的ID,
showDeclaration
:
false
,
//显示报关资料
showFeeSummary
:
false
,
// 是否显示费用汇总
offerData
:
''
,
//关联报价单
// 特性列表
attrList
:
[]
}
}
,
computed
:{
...
...
@@ -601,18 +537,6 @@ export default {
return
JSON
.
parse
(
this
.
order
.
departureVO
.
departure
)
}
return
{
}
}
,
// 显示特性
showAttrText
(){
return
ids
=>
{
if
(
!
ids
)
return
''
ids
=
!
Array
.
isArray
(
ids
)
?
ids
.
split
(
'
,
'
)
:
ids
const
attrMap
=
{
}
this
.
attrList
.
forEach
(
item
=>
{
attrMap
[
item
.
id
]
=
this
.
$l
(
item
,
'
attrName
'
)
}
)
return
ids
.
map
(
id
=>
attrMap
[
id
]).
join
(
'
,
'
)
}
}
}
,
watch
:{
...
...
@@ -625,7 +549,7 @@ export default {
}
}
,
'
order.channelId
'
(){
//
this.getChannel()
this
.
getChannel
()
}
,
'
order.consigneeVO
'
(
val
){
if
(
!
val
)
return
'
-
'
...
...
@@ -643,18 +567,12 @@ export default {
if
(
this
.
$route
.
query
.
orderId
)
{
this
.
orderId
=
this
.
$route
.
query
.
orderId
this
.
getOrder
();
this
.
getOfferNumber
()
}
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
getProductAttrList
().
then
(
response
=>
{
this
.
attrList
=
response
.
data
;
}
)
}
,
methods
:
{
parseTime
,
formatTime
,
checkPermi
,
// 检查权限
// 获取储位名称
getLocationName
(
locationArr
){
...
...
@@ -669,12 +587,6 @@ export default {
handleChange
(
val
){
this
.
showText
=
val
.
length
>
0
?
this
.
$t
(
'
隐藏
'
)
:
this
.
$t
(
'
显示更多
'
)
}
,
getAirCompany
(){
getSupplier
(
this
.
order
.
airlineCompany
).
then
(
res
=>
{
this
.
$set
(
this
.
order
,
'
companyName
'
,
this
.
$l
(
res
.
data
,
'
company
'
))
}
)
}
,
//订单信息显示更多
consigneeChange
(){
this
.
showMore
=
!
this
.
showMore
;
...
...
@@ -760,16 +672,7 @@ export default {
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
}
)
this
.
feeDetail
=
{
freight
,
clearance
,
charging
:
row
.
charging
,
coupons
:
row
.
couponInfoVOList
,
airClearanceSource
:
row
.
airClearanceSource
==
1
?
this
.
$t
(
'
商品
'
)
:
this
.
$t
(
'
渠道
'
),
// 空运清关费来源:1 商品 2 渠道
airClearanceInfo
:
JSON
.
parse
(
row
.
airClearanceInfo
),
//空运清关费来源数据详情,
sourceName
:
row
.
airClearanceSource
==
1
?
this
.
$l
(
row
,
'
prodTitle
'
)
:
this
.
order
?.
channelName
}
this
.
feeDetail
=
{
freight
,
clearance
,
charging
:
row
.
charging
,
coupons
:
row
.
couponInfoVOList
}
}
,
closeFeeDetail
(){
...
...
@@ -783,7 +686,6 @@ export default {
getOrder
(
that
.
orderId
).
then
(
response
=>
{
that
.
order
=
response
.
data
;
// this.loadBrand()
if
(
that
.
order
.
airlineCompany
)
that
.
getAirCompany
()
}
);
}
,
/* loadBrands(){
...
...
@@ -800,12 +702,12 @@ export default {
}
)
}
)
}
, */
/*
getChannel(){
getChannel
(){
if
(
!
this
.
order
||
!
this
.
order
.
channelId
||
this
.
order
.
transportId
==
1
||
this
.
order
.
transportId
==
2
)
return
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this.channel
= res.data
this
.
channel
Name
=
res
.
data
.
nameZh
}
)
}
,
*/
}
,
loadFeeList
(){
getReceivableListByOrderId
({
id
:
this
.
orderId
}
).
then
(
res
=>
{
this
.
feeList
=
res
.
data
...
...
@@ -836,21 +738,6 @@ export default {
parseLogNote
(
note
){
if
(
!
note
)
return
[]
return
JSON
.
parse
(
note
)
}
,
//查看打包历史
openPackHistory
(){
this
.
shopPackId
=
this
.
showWarehouseInItemId
}
,
//查看打包历史详情
showPackDetail
(
packAfterData
){
this
.
packAfterData
=
packAfterData
}
,
getOfferNumber
()
{
const
that
=
this
getOfferCheck
({
orderId
:
that
.
orderId
}
).
then
(
response
=>
{
that
.
offerData
=
response
.
data
}
)
}
}
}
;
...
...
src/views/ecw/order/index.vue
View file @
7028fab8
...
...
@@ -480,7 +480,6 @@
<!-- 打印入仓单 -->
<
template
v-if=
"
exclude(scope.row.status, [0, 2]) &&
exclude(scope.row.shipmentState, [320,322,323]) &&
exclude(scope.row.abnormalState, [5,6,7,8])
"
>
<el-dropdown-item
@
click.native=
"printWarehouseReceiptOrderId=scope.row.orderId"
v-hasPermi=
"['ecw:order:warehouse_receipt']"
>
{{
$t
(
'
打印入仓单
'
)
}}
</el-dropdown-item>
...
...
src/views/ecw/order/splitApply/index.vue
View file @
7028fab8
...
...
@@ -602,7 +602,7 @@ export default {
this
.
getChannel
()
getWarehouseList
().
then
(
res
=>
{
this
.
tradeCityList
=
res
.
data
this
.
importCityList
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
t
ype
==
1
)
this
.
importCityList
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
t
radeType
==
1
||
item
.
tradeType
==
3
)
})
if
(
this
.
$route
.
query
.
orderId
)
{
this
.
queryParams
.
orderId
=
this
.
$route
.
query
.
orderId
...
...
src/views/ecw/productPrice/batchEdit.vue
View file @
7028fab8
...
...
@@ -22,7 +22,7 @@
</el-radio-group>
</el-form-item>
<el-form-item
:label=
"$t('单价模式')"
prop=
"priceType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_TYPE"
v-model=
"form.priceType"
form-type=
"radio"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_TYPE"
v-model=
"form.priceType"
form-type=
"radio"
formatter=
'number'
/>
</el-form-item>
<!--阶梯订单-->
...
...
@@ -210,6 +210,7 @@ export default {
specialList
:
[],
priceStepList
:
[],
stepPrice
:
0
,
priceType
:
null
// advanceStatus: 0,
// needBook: 0,
// dayLimit: 10000
...
...
@@ -234,7 +235,9 @@ export default {
computed
:
{
// 类型,默认海运sea,air表示空运
type
(){
return
this
.
$route
.
path
.
split
(
/
[
-_
]
/
).
pop
()
let
type
=
this
.
$route
.
path
.
split
(
/
[
-_
]
/
).
pop
()
if
(
type
==
'
air
'
||
type
==
'
sea
'
)
return
type
return
null
}
,
// 默认运费的货币和体积单位
currencyAndUnit
(){
...
...
src/views/ecw/productPrice/batchIncrease.vue
View file @
7028fab8
...
...
@@ -3,7 +3,7 @@
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"150px"
>
<products-selector
ref=
"productSelector"
v-model=
"form.productIdList"
show-all
@
setall=
"isAllProduct=$event"
:default-ids=
"form.productIdList"
class=
"mb-20"
/>
<routers-selector
v-model=
"selectedRoutes"
:type=
"type"
:show-filter=
"false"
/>
<routers-selector
v-model=
"selectedRoutes"
:type=
"type"
/>
<el-card
style=
"margin-bottom: 10px"
>
<div
slot=
"header"
style=
"font-size:20px;"
>
...
...
src/views/ecw/productPrice/index.vue
View file @
7028fab8
...
...
@@ -196,7 +196,7 @@
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
advanceStatus
"
:
label
=
"
$t('
単
询')
"
align
=
"
center
"
width
=
"
80
"
>
<
el
-
table
-
column
prop
=
"
advanceStatus
"
:
label
=
"
$t('
单
询')
"
align
=
"
center
"
width
=
"
80
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.NEED_ORDER_INQUIRY
"
:
value
=
"
scope.row.needOrderInquiry
"
><
/dict-tag
>
<
/template
>
...
...
@@ -406,7 +406,8 @@ export default {
AuditStatusEnum
:
AuditStatusEnum
,
locationList
:
getDictDatas
(
DICT_TYPE
.
ECW_CONTAINER_LOCATION
),
// 查看更多阶梯价
showMoreStepPriceItem
:
null
showMoreStepPriceItem
:
null
,
entryPath
:
null
}
;
}
,
...
...
@@ -545,6 +546,10 @@ export default {
// if(!this.$route.query.product_id)
{
// return this.product = null
//
}
// 价格列表 跟 商品的价格列表,有时候商品价格列表的路由变动会导致价格列表也执行此处代码,所以做一个判断排除
// https://zentao.test.jdshangmen.com/bug-view-4928.html
if
(
this
.
$route
.
path
!=
this
.
entryPath
)
return
let
productId
=
this
.
product
?.
id
if
(
this
.
$route
.
name
===
'
ProductPrice
'
){
if
(
this
.
$route
.
query
.
product_id
!=
productId
){
...
...
@@ -562,6 +567,7 @@ export default {
}
}
,
created
()
{
this
.
entryPath
=
this
.
$route
.
path
if
(
this
.
$route
.
query
.
product_type
){
this
.
$set
(
this
.
queryParams
,
'
typeId
'
,
+
this
.
$route
.
query
.
product_type
);
}
...
...
src/views/system/download/index.vue
View file @
7028fab8
...
...
@@ -19,13 +19,13 @@
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('下载编号')"
align=
"center"
prop=
"id"
width=
"100"
/>
<el-table-column
:label=
"$t('分类')"
align=
"
center"
prop=
"type"
width=
"10
0"
>
<el-table-column
:label=
"$t('分类')"
align=
"
left"
prop=
"type"
width=
"12
0"
>
<template
v-slot:default=
"
{row}">
<dict-tag
:type=
"DICT_TYPE.DOWNLOAD_TYPE"
:value=
"row.type"
/>
</
template
>
</el-table-column>
<!--<el-table-column :label="$t('业务编号')" align="center" prop="type" width="100" /-->
<el-table-column
:label=
"$t('下载内容')"
align=
"
center
"
prop=
"name"
/>
<el-table-column
:label=
"$t('下载内容')"
align=
"
left
"
prop=
"name"
/>
<el-table-column
:label=
"$t('开始下载时间')"
align=
"center"
prop=
"createTime"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
...
@@ -47,11 +47,11 @@
<el-table-column
:label=
"$t('操作')"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleDownload(scope.row)"
v-
hasPermi=
"['system:notice:update']"
v-
if=
"scope.row.status == 2"
>
{{
$t
(
'
下载
'
)
}}
</el-button>
v-if=
"scope.row.status == 2"
>
{{
$t
(
'
下载
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleRetry(scope.row)"
v-
hasPermi=
"['system:notice:update']"
v-
if=
"scope.row.status == 3"
>
{{
$t
(
'
重试
'
)
}}
</el-button>
v-if=
"scope.row.status == 3"
>
{{
$t
(
'
重试
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleDel(scope.row)"
v-hasPermi=
"['system:notice:update']"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
>
{{
$t
(
'
删除
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
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