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
7a97d657
Commit
7a97d657
authored
Oct 25, 2023
by
Marcus
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
c6afaddd
2fd54c8f
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
653 additions
and
193 deletions
+653
-193
auth.js
src/utils/auth.js
+1
-1
dict.js
src/utils/dict.js
+4
-1
cusClearance.vue
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
+421
-125
seaProcess.vue
src/views/ecw/box/shippingAir/seaProcess.vue
+4
-0
packaging-type.vue
src/views/ecw/channel/componrnts/packaging-type.vue
+19
-1
edit.vue
src/views/ecw/channel/edit.vue
+1
-1
allAchievement.vue
src/views/ecw/deptTarget/allAchievement.vue
+38
-9
index.vue
src/views/ecw/deptTarget/index.vue
+3
-2
myAchievement.vue
src/views/ecw/deptTarget/myAchievement.vue
+36
-2
myDeptAchievement.vue
src/views/ecw/deptTarget/myDeptAchievement.vue
+37
-3
detail.vue
src/views/ecw/offer/detail.vue
+2
-1
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+7
-3
success.vue
src/views/ecw/order/success.vue
+78
-42
showContacts.vue
...iews/ecw/productBrank/Empower/components/showContacts.vue
+2
-2
No files found.
src/utils/auth.js
View file @
7a97d657
import
Cookies
from
'
js-cookie
'
const
TokenKey
=
'
Admin-Token
'
const
TokenKey
=
'
Jd-
Admin-Token
'
export
function
getToken
()
{
return
Cookies
.
get
(
TokenKey
)
...
...
src/utils/dict.js
View file @
7a97d657
...
...
@@ -233,7 +233,10 @@ export const DICT_TYPE = {
SETTLEMENT_STATUS
:
'
settlement_status
'
,
// 结算状态
APP_TYPE
:
"
app_type
"
,
//系统类型
AIR_SHIPMENT_PROCESS
:
'
air_shipment_process
'
AIR_SHIPMENT_PROCESS
:
'
air_shipment_process
'
,
AIR_CUSTOM_CLEARANCE
:
'
air_custom _clearance
'
,
//渠道清关费
AIR_COMMODITY_CUSTOM_CLEARANCE
:
'
air_commodity_custom _clearance
'
//商品渠道清关费,
}
/**
...
...
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
View file @
7a97d657
<
template
>
<div>
<el-form
ref=
"cusClearanceForm"
:rules=
"rules"
:model=
"cusClearanceObj"
label-width=
"120px"
>
<el-form
ref=
"cusClearanceForm"
:rules=
"rules"
:model=
"cusClearanceObj"
label-width=
"160px"
>
<el-form-item
:label=
"$t('清关情况')"
prop=
"arriveType"
>
<el-radio-group
v-model=
"cusClearanceObj.clearanceType"
>
<el-radio
:label=
"0"
>
{{
$t
(
'
一次清关
'
)
}}
</el-radio>
<el-radio
:label=
"1"
>
{{
$t
(
'
多次清关
'
)
}}
</el-radio>
<el-radio
:label=
"0"
>
{{
$t
(
"
一次清关
"
)
}}
</el-radio>
<el-radio
:label=
"1"
>
{{
$t
(
"
多次清关
"
)
}}
</el-radio>
</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('请输入订单号、提单号、唛头')"
@
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
:label=
"$t('选择订单')"
prop=
"clearanceOrderIdList"
v-show=
"cusClearanceObj.clearanceType == 1"
>
<span
v-for=
"order in selectOrders"
:key=
"order.id"
>
{{
order
.
orderNo
}}
</span>
<el-button
type=
"primary"
@
click=
"orderdialogVisible = true"
>
{{
$t
(
"
订单列表
"
)
}}
</el-button>
</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>
<el-form-item
:label=
"$t('已清关订单')"
v-show=
"cusClearanceObj.clearanceType == 1"
>
<span
v-for=
"order in cusClearanceObj.clearanceOrderList"
:key=
"order.id"
>
{{
order
.
orderNo
}}
</span>
</el-form-item>
<div
v-if=
"cusClearanceObj.clearanceOrderIdList.length > 0"
>
<el-form
ref=
"airArrivalForm"
:rules=
"airArrivalrules"
:model=
"airArrivalInfo"
label-width=
"120px"
>
<div>
<el-form
ref=
"airArrivalForm"
:rules=
"airArrivalrules"
:model=
"airArrivalInfo"
label-width=
"160px"
>
<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-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
:label=
"$t('预计到港时间')"
prop=
"estTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"airArrivalInfo.estTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<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
:label=
"$t('实际到港时间')"
prop=
"actTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"airArrivalInfo.actTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<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>
</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-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>
<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>
</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>
<!-- 订单列表 -->
<el-dialog
:fullscreen=
"true"
:title=
"$t('选择订单')"
:visible.sync=
"orderdialogVisible"
:modal-append-to-body=
"false"
append-to-body
destroy-on-close
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"7"
>
{{
$t
(
"
关键字:
"
)
}}
<el-input
style=
"width: 300px"
v-model=
"orderKeyword"
:placeholder=
"$t('请输入订单号、提单号、唛头')"
/>
</el-col>
<el-col
:span=
"7"
>
{{
$t
(
"
到港状态
"
)
}}
<el-select
v-model=
"orderPortStatus"
>
<el-option
:value=
"0"
:label=
"$t('未到港')"
/>
<el-option
:value=
"1"
:label=
"$t('已到港')"
/>
</el-select>
</el-col>
<el-col
:span=
"7"
>
{{
$t
(
"
清关状态
"
)
}}
<el-select
v-model=
"orderCustomsClearanceStatus"
>
<el-option
:value=
"0"
:label=
"$t('未清关')"
/>
<el-option
:value=
"1"
:label=
"$t('已清关')"
/>
</el-select>
</el-col>
<el-col
:span=
"3"
>
<el-button
type=
"primary"
@
click=
"searchOrderList"
>
{{
$t
(
"
查询
"
)
}}
</el-button
>
</el-col>
</el-row>
<div
style=
"margin-top: 10px"
>
<el-button
type=
"primary"
@
click=
"multipleSelect"
>
{{
$t
(
"
批量选择
"
)
}}
</el-button>
</div>
<el-table
style=
"margin-top: 10px"
:data=
"statusOrderList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
:label=
"$t('序号')"
type=
"index"
width=
"50"
>
</el-table-column>
<el-table-column
:label=
"$t('订单号')"
prop=
"orderNo"
/>
<el-table-column
:label=
"$t('唛头')"
prop=
"marks"
/>
<el-table-column
:label=
"$t('提单号')"
prop=
"tidanNo"
/>
<el-table-column
width=
"150"
:label=
"$t('总箱数/入仓箱数')"
prop=
""
/>
<el-table-column
:label=
"$t('体积/重量')"
prop=
""
/>
<el-table-column
:label=
"$t('清关状态')"
prop=
"clear"
/>
<el-table-column
:label=
"$t('到港状态')"
prop=
"arrival"
/>
<el-table-column
:label=
"$t('控货')"
prop=
""
/>
<el-table-column
:label=
"$t('订单状态')"
prop=
""
/>
<el-table-column
:label=
"$t('操作')"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"selectOrder(scope.row)"
>
{{
$t
(
"
选择
"
)
}}
</el-button
>
</
template
>
</el-table-column>
</el-table>
</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
{
updateOrderArrival
}
from
'
@/api/ecw/boxAir
'
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
"
;
import
search
from
"
bpmn-js/lib/features/search
"
;
/**
* 清关
*/
export
default
{
name
:
'
cusClearance
'
,
name
:
"
cusClearance
"
,
inheritAttrs
:
false
,
components
:
{
regError
regError
,
},
data
()
{
return
{
...
...
@@ -76,188 +214,346 @@ 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
'
}]
actSecondTime
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
},
],
actTime
:
[
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
},
],
},
// 弹窗配置
dialogVisible
:
false
,
// 提示消息
showMsg
:
false
,
orderList
:
[],
orderListFilter
:
[],
arrivalOrderList
:
[],
clearanceOrderList
:
[],
airArrivalInfo
:
{}
}
airArrivalInfo
:
{},
orderdialogVisible
:
false
,
selectOrders
:
[],
multipleSelectOrder
:
[],
orderKeyword
:
null
,
orderPortStatus
:
null
,
orderCustomsClearanceStatus
:
null
,
};
},
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
'
,
[])
if
(
typeof
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
?.
arrivalOrderList
!=
'
undefined
'
&&
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
)
this
.
arrivalOrderList
=
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
if
(
typeof
this
.
$attrs
.
shipmentObj
.
clearanceInfo
?.
clearanceOrderList
!=
'
undefined
'
&&
this
.
$attrs
.
shipmentObj
.
clearanceInfo
.
clearanceOrderList
)
this
.
clearanceOrderList
=
this
.
$attrs
.
shipmentObj
.
clearanceInfo
.
clearanceOrderList
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
(
typeof
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
?.
arrivalOrderList
!=
"
undefined
"
&&
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
)
this
.
arrivalOrderList
=
this
.
$attrs
.
shipmentObj
.
airArrivalInfo
.
arrivalOrderList
;
if
(
typeof
this
.
$attrs
.
shipmentObj
.
clearanceInfo
?.
clearanceOrderList
!=
"
undefined
"
&&
this
.
$attrs
.
shipmentObj
.
clearanceInfo
.
clearanceOrderList
)
this
.
clearanceOrderList
=
this
.
$attrs
.
shipmentObj
.
clearanceInfo
.
clearanceOrderList
;
shipmentOrderList
(
this
.
$attrs
.
shipmentObj
.
id
).
then
((
r
)
=>
{
this
.
orderList
=
r
.
data
this
.
orderListFilter
=
r
.
data
})
this
.
orderList
=
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
)
{
"
cusClearanceObj.clearanceType
"
(
val
)
{
if
(
val
==
1
)
{
this
.
$set
(
this
.
cusClearanceObj
,
'
clEstTime
'
,
null
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clClearTime
'
,
null
)
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
)
}
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
()
{
let
data
=
[]
this
.
orderList
Filter
.
forEach
((
item
)
=>
{
let
data
=
[]
;
this
.
orderList
.
forEach
((
item
)
=>
{
let
json
=
{
orderId
:
item
.
orderId
,
orderNo
:
item
.
orderNo
,
tidanNo
:
item
.
tidanNo
,
marks
:
item
.
marks
}
let
clearindex
=
this
.
cusClearanceObj
.
clearanceOrderList
?
this
.
cusClearanceObj
.
clearanceOrderList
.
findIndex
((
p
)
=>
p
.
orderId
==
item
.
orderId
)
:
-
1
marks
:
item
.
marks
,
};
let
clearindex
=
this
.
cusClearanceObj
.
clearanceOrderList
?
this
.
cusClearanceObj
.
clearanceOrderList
.
findIndex
(
(
p
)
=>
p
.
orderId
==
item
.
orderId
)
:
-
1
;
if
(
clearindex
!=
-
1
)
{
json
.
clear
=
this
.
$t
(
'
已清关
'
)
json
.
clear
=
this
.
$t
(
"
已清关
"
);
json
.
clearValue
=
1
;
}
else
{
json
.
clear
=
this
.
$t
(
'
未清关
'
)
json
.
clear
=
this
.
$t
(
"
未清关
"
);
json
.
clearValue
=
0
;
}
let
arrivalindex
=
this
.
arrivalOrderList
?
this
.
arrivalOrderList
.
findIndex
((
p
)
=>
p
.
orderId
==
item
.
orderId
)
:
-
1
let
arrivalindex
=
this
.
arrivalOrderList
?
this
.
arrivalOrderList
.
findIndex
((
p
)
=>
p
.
orderId
==
item
.
orderId
)
:
-
1
;
if
(
arrivalindex
!=
-
1
)
{
json
.
arrival
=
this
.
$t
(
'
已到港
'
)
json
.
arrival
=
this
.
$t
(
"
已到港
"
);
json
.
arrivalValue
=
1
;
}
else
{
json
.
arrival
=
this
.
$t
(
'
未到港
'
)
}
data
.
push
(
json
)
})
return
data
json
.
arrival
=
this
.
$t
(
"
未到港
"
);
json
.
arrivalValue
=
0
;
}
data
.
push
(
json
);
});
return
data
;
},
},
methods
:
{
formatDate
,
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
{
this
.
orderListFilter
=
this
.
orderList
searchOrderList
()
{
if
(
this
.
orderKeyword
&&
this
.
orderKeyword
!=
""
)
{
this
.
statusOrderList
=
this
.
statusOrderList
.
filter
((
item
)
=>
{
return
(
(
item
.
orderNo
&&
item
.
orderNo
.
indexOf
(
this
.
orderKeyword
)
>
-
1
)
||
(
item
.
tidanNo
&&
item
.
tidanNo
.
indexOf
(
this
.
orderKeyword
)
>
-
1
)
||
(
item
.
marks
&&
item
.
marks
.
indexOf
(
this
.
orderKeyword
)
>
-
1
)
);
});
}
if
(
this
.
orderPortStatus
!=
null
)
{
this
.
statusOrderList
=
this
.
statusOrderList
.
filter
((
item
)
=>
{
return
item
.
arrivalValue
==
this
.
orderPortStatus
;
});
}
if
(
this
.
orderCustomsClearanceStatus
!=
null
)
{
console
.
log
(
this
.
statusOrderList
,
"
333
"
,
this
.
orderCustomsClearanceStatus
);
this
.
statusOrderList
=
this
.
statusOrderList
.
filter
((
item
)
=>
{
return
item
.
clearValue
==
this
.
orderCustomsClearanceStatus
;
});
}
console
.
log
(
this
.
statusOrderList
,
"
222
"
);
},
selectOrderId
(
val
)
{
if
(
val
.
length
==
1
)
{
let
arr
=
this
.
arrivalOrderList
.
find
((
item
)
=>
item
.
orderId
==
val
[
0
])
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
))
this
.
$set
(
this
.
airArrivalInfo
,
"
actSecondTime
"
,
formatDate
(
arr
.
actSecondTime
)
);
this
.
$set
(
this
.
airArrivalInfo
,
"
estTime
"
,
formatDate
(
arr
.
estTime
));
this
.
$set
(
this
.
airArrivalInfo
,
"
actTime
"
,
formatDate
(
arr
.
actTime
));
}
let
clear
=
this
.
clearanceOrderList
.
find
((
item
)
=>
item
.
orderId
==
val
[
0
])
if
(
clear
){
this
.
$set
(
this
.
cusClearanceObj
,
'
clEstTime
'
,
formatDate
(
clear
.
clEstTime
))
this
.
$set
(
this
.
cusClearanceObj
,
'
clClearTime
'
,
formatDate
(
clear
.
clClearTime
))
let
clear
=
this
.
clearanceOrderList
.
find
(
(
item
)
=>
item
.
orderId
==
val
[
0
]
);
if
(
clear
)
{
this
.
$set
(
this
.
cusClearanceObj
,
"
clEstTime
"
,
formatDate
(
clear
.
clEstTime
)
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clClearTime
"
,
formatDate
(
clear
.
clClearTime
)
);
}
}
else
{
this
.
$set
(
this
.
airArrivalInfo
,
'
actSecondTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
estTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
'
actTime
'
,
null
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clEstTime
'
,
null
)
this
.
$set
(
this
.
cusClearanceObj
,
'
clClearTime
'
,
null
)
this
.
$set
(
this
.
airArrivalInfo
,
"
actSecondTime
"
,
null
);
this
.
$set
(
this
.
airArrivalInfo
,
"
estTime
"
,
null
);
this
.
$set
(
this
.
airArrivalInfo
,
"
actTime
"
,
null
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clEstTime
"
,
null
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clClearTime
"
,
null
);
}
},
selectOrder
(
val
)
{
this
.
selectOrders
=
[];
this
.
selectOrders
.
push
(
val
);
let
arr
=
this
.
arrivalOrderList
.
find
(
(
item
)
=>
item
.
orderId
==
val
.
orderId
);
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
));
}
let
clear
=
this
.
clearanceOrderList
.
find
(
(
item
)
=>
item
.
orderId
==
val
.
orderId
);
console
.
log
(
clear
,
111
);
if
(
clear
)
{
this
.
$set
(
this
.
cusClearanceObj
,
"
clEstTime
"
,
formatDate
(
clear
.
clEstTime
)
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clClearTime
"
,
formatDate
(
clear
.
clClearTime
)
);
}
this
.
orderdialogVisible
=
false
;
},
handleSelectionChange
(
val
)
{
this
.
multipleSelectOrder
=
val
;
},
multipleSelect
()
{
if
(
this
.
multipleSelectOrder
.
length
==
0
)
{
this
.
$message
.
error
(
this
.
$t
(
"
请先选择订单
"
));
return
;
}
this
.
selectOrders
=
[];
this
.
selectOrders
=
this
.
multipleSelectOrder
;
if
(
this
.
multipleSelectOrder
.
length
==
1
)
{
let
arr
=
this
.
arrivalOrderList
.
find
(
(
item
)
=>
item
.
orderId
==
this
.
multipleSelectOrder
[
0
].
orderId
);
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
));
}
let
clear
=
this
.
clearanceOrderList
.
find
(
(
item
)
=>
item
.
orderId
==
this
.
multipleSelectOrder
[
0
].
orderId
);
if
(
clear
)
{
this
.
$set
(
this
.
cusClearanceObj
,
"
clEstTime
"
,
formatDate
(
clear
.
clEstTime
)
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clClearTime
"
,
formatDate
(
clear
.
clClearTime
)
);
}
}
else
{
this
.
$set
(
this
.
airArrivalInfo
,
"
actSecondTime
"
,
null
);
this
.
$set
(
this
.
airArrivalInfo
,
"
estTime
"
,
null
);
this
.
$set
(
this
.
airArrivalInfo
,
"
actTime
"
,
null
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clEstTime
"
,
null
);
this
.
$set
(
this
.
cusClearanceObj
,
"
clClearTime
"
,
null
);
}
this
.
orderdialogVisible
=
false
;
},
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
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
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
.
cusClearanceObj
.
clearanceOrderIdList
.
length
>
0
)
{
this
.
$refs
[
'
airArrivalForm
'
].
validate
((
arrvalid
)
=>
{
if
(
this
.
cusClearanceObj
.
clearanceType
==
1
&&
this
.
cusClearanceObj
.
clearanceOrderIdList
.
length
>
0
)
{
this
.
$refs
[
"
airArrivalForm
"
].
validate
((
arrvalid
)
=>
{
if
(
arrvalid
)
{
updateOrderArrival
({
...
this
.
airArrivalInfo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
orderIdList
:
this
.
cusClearanceObj
.
clearanceOrderIdList
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
operateType
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
cancel
(
'
submit
'
)
})
})
this
.
cancel
(
"
submit
"
);
})
;
})
;
}
}
})
})
;
},
/** 取消 */
cancel
(
type
)
{
this
.
$emit
(
'
closeDialog
'
,
type
)
}
}
}
this
.
$emit
(
"
closeDialog
"
,
type
);
}
,
}
,
}
;
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/ecw/box/shippingAir/seaProcess.vue
View file @
7a97d657
...
...
@@ -184,6 +184,10 @@ export default {
case
"
cusDeclaration
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
break
;
// 清关
case
"
cusClearance
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
break
;
// AGENT
case
"
agent
"
:
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
this
.
$t
(
"
代理商设置
"
));
...
...
src/views/ecw/channel/componrnts/packaging-type.vue
View file @
7a97d657
...
...
@@ -3,7 +3,10 @@
<template
v-if=
"!readonly"
>
<el-row
type=
"flex"
align=
"align"
:gutter=
"10"
>
<el-col
:span=
"6"
>
{{
$t
(
'
空运订单重量上限
'
)
}}
(kg)
</el-col>
<el-col
:span=
"6"
><el-input
v-model=
"value1.airWeightLimit"
></el-input></el-col>
<el-col
:span=
"6"
>
<el-input-number
v-model=
"value1.airWeightLimit"
controls-position=
"right"
:max=
"screenCom"
></el-input-number>
<!--
<el-input
type=
"number"
:max=
"2000"
v-model=
"value1.airWeightLimit"
></el-input>
-->
</el-col>
<el-col
:span=
"6"
>
<slot></slot>
</el-col>
...
...
@@ -61,6 +64,7 @@ import CurrencySelect from "@/views/ecw/channel/componrnts/currency-select.vue";
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
;
import
WeightSelect
from
"
@/views/ecw/channel/componrnts/weight-select.vue
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
{
getDictDatas
}
from
"
@/utils/dict
"
;
export
default
{
props
:{
value
:{
...
...
@@ -76,6 +80,8 @@ export default {
name
:
"
packaging-type
"
,
components
:
{
Template
,
WeightSelect
,
CurrencySelect
},
created
()
{
console
.
log
(
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AIR_CUSTOM_CLEARANCE
),
'
123
'
)
getCurrencyPage
(
this
.
params
).
then
(
res
=>
this
.
currencyList
=
res
.
data
.
list
)
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
},
...
...
@@ -90,6 +96,18 @@ export default {
}
},
computed
:{
screenCom
(){
let
num
=
undefined
if
(
this
.
keyArr
===
'
channelPriceStepClearanceList
'
){
num
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AIR_CUSTOM_CLEARANCE
)[
0
]?.
value
}
else
{
num
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AIR_COMMODITY_CUSTOM_CLEARANCE
)[
0
]?.
value
}
return
+
num
}
},
mounted
()
{
this
.
value1
=
this
.
value
this
.
$nextTick
(()
=>
{
...
...
src/views/ecw/channel/edit.vue
View file @
7a97d657
src/views/ecw/deptTarget/allAchievement.vue
View file @
7a97d657
...
...
@@ -19,12 +19,6 @@
</el-select>
-->
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_ESOURCE_TYPE"
v-model=
"queryParams.customerType"
:placeholder=
"$t('请选择资源类型')"
clearable
></dict-selector>
</el-form-item>
<!--
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
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
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
clearable
size=
"small"
>
<el-option
:label=
"$t('下单时间')"
value=
"createTime"
/>
...
...
@@ -39,6 +33,31 @@
<!--
<el-date-picker
v-model=
"queryParams.endStartTime"
:placeholder=
"$t('请选择结束时间')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
-->
<!--
</el-form-item>
-->
<el-form-item>
<el-form-item
:label=
"$t('报价单号')"
prop=
"key"
>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('请输入报价单号')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('客户名称')"
prop=
"key"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('请输入客户名称')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
prop=
"key"
>
<el-input
v-model=
"queryParams.phoneNew"
:placeholder=
"$t('请输入联系方式')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
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=
"$t('始发仓')"
prop=
"destinationId"
>
<el-select
v-model=
"queryParams.originId"
:placeholder=
"$t('请选择始发仓')"
clearable
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓')"
prop=
"destinationId"
>
<el-select
:multiple=
"true"
v-model=
"queryParams.destinationId"
multiple
:placeholder=
"$t('请选择目的仓')"
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExportDetail"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:achievement:export']"
>
{{
$t
(
'
导出明细
'
)
}}
</el-button>
...
...
@@ -129,6 +148,7 @@
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
dayjs
from
"
dayjs
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
export
default
{
name
:
"
EcwDepttargetAllachievement
"
,
...
...
@@ -204,7 +224,8 @@
sumVolume
:
0
,
sumNum
:
0
,
},
myAchievementData
:{}
myAchievementData
:{},
warehouseList
:[]
};
},
computed
:
{
...
...
@@ -218,7 +239,14 @@
}
return
'
/
'
}
}
},
exportWarehouseList
(){
/* tradeType 1 进口,2出口,3进出口 */
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
2
||
item
.
tradeType
==
3
)
},
importWarehouseList
(){
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
1
||
item
.
tradeType
==
3
)
},
},
activated
()
{
this
.
getChannelList
();
...
...
@@ -230,6 +258,7 @@
listServiceUser
().
then
(
r
=>
{
this
.
customerServiceList
=
r
.
data
;
})
getWarehouseList
().
then
(
res
=>
this
.
warehouseList
=
res
.
data
)
},
methods
:
{
getChannelList
()
{
...
...
src/views/ecw/deptTarget/index.vue
View file @
7a97d657
...
...
@@ -164,7 +164,7 @@
import
{
listDept
,
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
dayjs
from
"
dayjs
"
;
import
{
parseTime
}
from
'
@/utils/ruoyi
'
;
import
{
parseTime
}
from
'
@/utils/ruoyi
'
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
export
default
{
...
...
@@ -234,7 +234,8 @@ import { parseTime } from '@/utils/ruoyi';
cubeNum
:
[{
required
:
true
,
message
:
this
.
$t
(
"
立方数不能为空
"
),
trigger
:
"
blur
"
}],
startTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
起始时间不能为空
"
),
trigger
:
"
change
"
}],
endTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
截止时间不能为空
"
),
trigger
:
"
change
"
}],
}
},
};
},
computed
:
{
...
...
src/views/ecw/deptTarget/myAchievement.vue
View file @
7a97d657
...
...
@@ -39,6 +39,31 @@
<!--
<el-date-picker
v-model=
"queryParams.endStartTime"
:placeholder=
"$t('请选择结束时间')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
-->
<!--
</el-form-item>
-->
<el-form-item>
<el-form-item
:label=
"$t('报价单号')"
prop=
"key"
>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('请输入报价单号')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('客户名称')"
prop=
"key"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('请输入客户名称')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
prop=
"key"
>
<el-input
v-model=
"queryParams.phoneNew"
:placeholder=
"$t('请输入联系方式')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
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=
"$t('始发仓')"
prop=
"destinationId"
>
<el-select
v-model=
"queryParams.originId"
:placeholder=
"$t('请选择始发仓')"
clearable
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓')"
prop=
"destinationId"
>
<el-select
:multiple=
"true"
v-model=
"queryParams.destinationId"
multiple
:placeholder=
"$t('请选择目的仓')"
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
<!--
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
...
...
@@ -125,6 +150,7 @@
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
dayjs
from
"
dayjs
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
export
default
{
name
:
"
EcwDepttargetMyachievement
"
,
...
...
@@ -200,7 +226,8 @@
sumVolume
:
0
,
sumNum
:
0
,
},
myAchievementData
:{}
myAchievementData
:{},
warehouseList
:[]
};
},
computed
:
{
...
...
@@ -214,7 +241,14 @@
}
return
'
/
'
}
}
},
exportWarehouseList
(){
/* tradeType 1 进口,2出口,3进出口 */
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
2
||
item
.
tradeType
==
3
)
},
importWarehouseList
(){
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
1
||
item
.
tradeType
==
3
)
},
},
activated
()
{
this
.
getChannelList
();
...
...
src/views/ecw/deptTarget/myDeptAchievement.vue
View file @
7a97d657
...
...
@@ -39,6 +39,31 @@
<!--
<el-date-picker
v-model=
"queryParams.endStartTime"
:placeholder=
"$t('请选择结束时间')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
-->
<!--
</el-form-item>
-->
<el-form-item>
<el-form-item
:label=
"$t('报价单号')"
prop=
"key"
>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('请输入报价单号')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('客户名称')"
prop=
"key"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('请输入客户名称')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('联系方式')"
prop=
"key"
>
<el-input
v-model=
"queryParams.phoneNew"
:placeholder=
"$t('请输入联系方式')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"customerService"
>
<el-select
clearable
v-model=
"queryParams.customerService"
:placeholder=
"$t('请选择客户经理')"
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=
"$t('始发仓')"
prop=
"destinationId"
>
<el-select
v-model=
"queryParams.originId"
:placeholder=
"$t('请选择始发仓')"
clearable
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓')"
prop=
"destinationId"
>
<el-select
:multiple=
"true"
v-model=
"queryParams.destinationId"
multiple
:placeholder=
"$t('请选择目的仓')"
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<!--
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
>
{{
$t
(
'
导出
'
)
}}
</el-button>
-->
...
...
@@ -125,6 +150,7 @@
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
dayjs
from
"
dayjs
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
export
default
{
name
:
"
EcwDepttargetMydeptachievement
"
,
...
...
@@ -200,7 +226,8 @@
sumVolume
:
0
,
sumNum
:
0
,
},
myAchievementData
:{}
myAchievementData
:{},
warehouseList
:[]
};
},
computed
:
{
...
...
@@ -214,7 +241,14 @@
}
return
'
/
'
}
}
},
exportWarehouseList
(){
/* tradeType 1 进口,2出口,3进出口 */
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
2
||
item
.
tradeType
==
3
)
},
importWarehouseList
(){
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
1
||
item
.
tradeType
==
3
)
},
},
created
()
{
this
.
getChannelList
();
...
...
src/views/ecw/offer/detail.vue
View file @
7a97d657
...
...
@@ -141,9 +141,10 @@
<div>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currentcyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div>
<div
v-if=
"row.oneClearanceFreight"
>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currentcyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
<div
v-else
>
{{
$t
(
'
清关费未报价
'
)
}}
</div>
</
template
>
</template>
</el-table-column>
...
...
src/views/ecw/order/prepayDeal.vue
View file @
7a97d657
...
...
@@ -114,7 +114,7 @@
<
/el-row
>
<
el
-
row
v
-
if
=
"
orderExceptionData.orderExceptionType=='order_pay_exception'||orderExceptionData.orderExceptionType!='goods_add_exception'
"
>
<
el
-
form
-
item
:
label
=
"
$t('收费参数')+':'
"
>
<
span
>
{{
orderData
.
sumNum
||
0
}}
{{
$t
(
'
箱
'
)
}}
{{
orderData
.
wvolume
||
0
}}
m
³
{{
orderData
.
vweight
||
0
}}
Kg
{{
orderData
.
sumQuantity
||
0
}}
{{
$t
(
'
个
'
)
}}
<
/span
>
<
span
>
{{
shopData
.
num
||
0
}}
{{
$t
(
'
箱
'
)
}}
{{
shopData
.
wvolume
||
0
}}
m
³
{{
shopData
.
vweight
||
0
}}
Kg
{{
shopData
.
warehouseInInfoVO
?
shopData
.
warehouseInInfoVO
.
quantityAll
:
shopData
.
quantity
}}
{{
$t
(
'
个
'
)
}}
<
/span
>
<
/el-form-item
>
<
/el-row
>
<
el
-
row
>
...
...
@@ -1196,9 +1196,13 @@
}
}
if
((
this
.
orderExceptionData
.
orderExceptionType
==
'
not_shipping_channel_exception
'
)
||
this
.
orderExceptionData
.
orderExceptionType
==
'
line_loop_exception
'
){
if
(
this
.
orderExceptionData
.
orderExceptionType
==
'
line_loop_exception
'
){
this
.
handlerParams
.
orderItemVOList
=
this
.
loopOrderItem
}
else
{
this
.
handlerParams
.
orderItemVOList
=
this
.
orderData
.
orderItemVOList
}
this
.
handlerParams
.
channelPriceList
=
[]
this
.
orderData
.
orderItemVOList
.
map
(
v
=>
{
this
.
handlerParams
.
orderItemVOList
.
map
(
v
=>
{
var
listItem
=
{
orderId
:
v
.
orderId
,
orderItemId
:
v
.
orderItemId
,
...
...
src/views/ecw/order/success.vue
View file @
7a97d657
<
template
>
<div
v-if=
"order"
>
<div
class=
"wrapper flex w-1000 pb-20"
style=
"margin:auto"
>
<div
class=
"icon"
>
<img
src=
"../../../assets/svg/success.svg"
/>
</div>
<div
class=
"flex-1"
>
<div
class=
"title"
>
{{
$t
(
'
新建订单成功
'
)
}}
</div>
<div
class=
"line bold font-lg"
>
{{
$t
(
'
订单号
'
)
}}
:
{{
order
.
orderNo
}}
</div>
<div
class=
"line"
>
{{
$t
(
'
唛头
'
)
}}
:
{{
order
.
marks
}}
</div>
<div
class=
"flex"
>
<div
class=
"line flex-1"
>
{{
$t
(
'
运输方式
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/></div>
<div
class=
"line flex-1"
v-if=
"order.channelName"
>
{{
$t
(
'
出货渠道
'
)
}}
:
{{
order
.
channelName
}}
</div>
</div>
<div
class=
"flex"
>
<div
class=
"line flex-1"
>
{{
$t
(
'
路线
'
)
}}
:
{{
$l
(
order
.
logisticsInfoDto
,
'
startTitle
'
)
}}
>>
{{
$l
(
order
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</div>
<div
class=
"line flex-1"
>
{{
$t
(
'
单证报关
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"order.customsType"
/></div>
</div>
<div
class=
"line"
>
{{
$t
(
'
控货
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"order.isCargoControl"
/></div>
<div
v-if=
"order"
style=
"width: 1120px"
>
<div
style=
"display: flex;justify-content: space-around;margin-top: 30px;"
>
<div
class=
"el-icon-check"
style=
"font-size: 100px;color: #67C23A;"
/>
<div>
<el-row>
<span
style=
"font-weight: bold;font-size: 18px;"
>
{{
$t
(
'
新建订单成功
'
)
}}
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 16px; font-weight: bold; color: #666;"
>
{{
$t
(
'
您的订舱号
'
)
}}
:
{{
order
.
orderNo
}}
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{
$t
(
'
唛头
'
)
}}
:
{{
order
.
marks
}}
</span>
</el-row>
<el-row
v-if=
"order.channelId"
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{
$t
(
'
出货渠道
'
)
}}
:
{{
order
.
channelName
}}
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{
$t
(
'
路线
'
)
}}
:
{{
$l
(
order
.
logisticsInfoDto
,
'
startTitle
'
)
}}
>>
{{
$l
(
order
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{
$t
(
'
单证报关
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"order.customsType"
/></span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{
$t
(
'
是否控货
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"order.isCargoControl"
/></span>
</el-row>
<div
class=
"line"
>
{{
$t
(
'
商品列表
'
)
}}
:
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{
$t
(
'
商品列表
'
)
}}
:
<span
v-for=
"(item, index) in order.orderItemVOList"
:key=
"index"
>
{{
$l
(
item
,
'
prodTitle
'
)
}}
{{
$l
(
item
,
'
prodTitle
'
)
}}
<template
v-if=
"index
<
order
.
orderItemVOList
.
length
-
1
"
>
{{
$t
(
'
、
'
)
}}
</
template
>
</span>
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{ $t('总件数') }}:{{ order.costVO.totalNum }}
</span>
</el-row>
<el-row
style=
"margin-top: 30px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{ $t('仓库地址') }}:{{ order.logisticsInfoDto.startAddressZh }}
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{ $t('仓库电话') }}:{{ order.logisticsInfoDto.startTell }}
</span>
</el-row>
<el-row
style=
"margin-top: 10px;"
>
<span
style=
"font-size: 14px;color: #666;"
>
{{ $t('为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)') }}
</span>
</el-row>
<el-row
style=
"margin-top: 20px;"
>
<span
style=
"text-decoration: underline;font-size: 14px;color: #999;"
>
{{ $t('您的订单已提交,谢谢您选择捷道物流!') }}
</span>
</el-row>
</div>
<div
class=
"line"
>
{{$t('总件数')}}:{{order.costVO.totalNum}}
</div>
</div>
</div>
<div
class=
"w-800"
style=
"margin: auto"
>
<div
class=
"line mt-20"
>
{{$t('仓库地址')}}:{{$l(order.logisticsInfoDto, 'startAddress')}}
</div>
<div
class=
"line"
>
{{$t('仓库电话')}}: {{order.logisticsInfoDto.startTell}}
</div>
<!-- v1.7新增 -->
<div
class=
"line"
>
{{$t('为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)')}}
</div>
<div
class=
"line"
></div>
<div
class=
"line"
>
{{$t('您的订单已提交,谢谢您选择捷道物流!')}}
</div>
</div>
<div
class=
"actions mt-50"
>
<el-button
type=
"primary"
@
click=
"$redirect('detail?orderId=' + order.orderId)"
>
{{$t('查看订单')}}
</el-button>
<el-button
type=
"warning"
@
click=
"showNotice = true"
>
{{$t('入仓须知')}}
</el-button>
<el-button
type=
"info"
@
click=
"$redirect('create')"
>
{{$t('再来一单')}}
</el-button>
<el-button
class=
"copy-btn"
:data-clipboard-text=
"orderInfoForCopy"
>
{{$t('复制订单信息')}}
</el-button>
</div>
<el-dialog
:title=
"$t('查看须知')"
:visible.sync=
"showNotice"
width=
"700px"
>
...
...
@@ -56,6 +73,9 @@ import {getOrder} from '@/api/ecw/order'
import
FileSaver
from
'
file-saver
'
import
{
dataURLtoBlob
}
from
'
@/utils/index
'
import
NeedKnow
from
'
@/components/NeedKnow
'
import
ClipboardJS
from
"
clipboard
"
;
let
clipboard
;
export
default
{
components
:
{
NeedKnow
},
...
...
@@ -66,12 +86,28 @@ export default {
// noticeUrl: 'http://v4.groupage.cn/Public/images/notice.png'
}
},
created
(){
this
.
loadData
()
computed
:{
orderInfoForCopy
(){
return
`订单号:
${
this
.
order
.
orderNo
}
\n唛头:
${
this
.
order
.
marks
}
\n提货点:
${
this
.
order
.
logisticsInfoDto
?.
destTitleZh
}
\
n
送货地址:
$
{
this
.
order
.
logisticsInfoDto
?.
startAddressZh
}
`
}
},
async created(){
await this.loadData()
await this.$nextTick()
clipboard = new ClipboardJS('.copy-btn')
clipboard.on('success', () => {
this.$message.success(this.$t('复制成功'))
})
clipboard.on('error', () => {
this.$message.error(this.$t('复制失败'))
})
},
destroyed() {
clipboard.destroy()
},
methods:{
loadData
(){
getOrder
(
this
.
$route
.
query
.
orderId
)
async
loadData(){
await
getOrder(this.$route.query.orderId)
.then(res => {
this.order = res.data
})
...
...
src/views/ecw/productBrank/Empower/components/showContacts.vue
View file @
7a97d657
...
...
@@ -27,7 +27,7 @@ export default {
</div>
<div>
<span>
联系电话
{{
index
+
1
}}
:
</span>
<span>
+
{{
item
.
split
(
'
(@)
'
)[
0
]
}}
</span>
<span>
{{
item
.
split
(
'
(@)
'
)[
0
]
}}
</span>
</div>
</div>
</el-dialog>
...
...
@@ -38,7 +38,7 @@ export default {
</div>
<div
style=
"white-space: normal;"
>
<span>
联系电话:
</span>
<span>
+
{{
phoneList
[
0
]
?
phoneList
[
0
].
split
(
'
(@)
'
)[
0
]
:
''
}}
</span>
<span>
{{
phoneList
[
0
]
?
phoneList
[
0
].
split
(
'
(@)
'
)[
0
]
:
''
}}
</span>
<el-button
v-if=
"phoneList.length > 1"
@
click=
"show = true;"
style=
"margin-left: 10px;"
size=
"mini"
type=
"text"
>
更多
</el-button>
</div>
</div>
...
...
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