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
b3d1ff02
Commit
b3d1ff02
authored
Nov 25, 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
8ceaa209
c1f8f56c
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
133 additions
and
36 deletions
+133
-36
index.vue
src/components/OrderBaseInfo/index.vue
+4
-2
cancelClear.vue
src/views/ecw/box/cancelClear.vue
+10
-15
query.vue
src/views/ecw/box/query.vue
+2
-2
seaProcess.vue
src/views/ecw/box/shippingAir/seaProcess.vue
+2
-2
jd-input-number.vue
src/views/ecw/customer/components/jd-input-number.vue
+38
-0
index.vue
src/views/ecw/customerComplaint/index.vue
+19
-10
detail.vue
src/views/ecw/order/detail.vue
+4
-2
batchEdit.vue
src/views/ecw/productPrice/batchEdit.vue
+54
-3
No files found.
src/components/OrderBaseInfo/index.vue
View file @
b3d1ff02
...
...
@@ -4,8 +4,8 @@
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
{{
order
.
sumNum
}}
/
{{
order
.
costVO
.
totalNum
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
><dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"order.status"
:class=
"
{red: order.status === 1, green: order.status === 5 || order.status === 2}" />
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.logisticsInfoDto.transportId"
></dict-tag>
<el-descriptions-item
:label=
"$t('运输方式')
+ '(' + $t('渠道') + ')'
"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.logisticsInfoDto.transportId"
></dict-tag>
(
{{
order
.
channelName
}}
)
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
{{
order
.
logisticsInfoDto
.
startTitleZh
||
''
}}
<span
v-if=
"order.isExternalWarehouse"
style=
"color: red"
>
{{
$t
(
'
(外部仓)
'
)
}}
</span></el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
>
{{
order
.
logisticsInfoDto
.
destTitleZh
||
''
}}
</el-descriptions-item>
...
...
@@ -27,9 +27,11 @@
<
script
>
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
DictTag
from
"
@/components/DictTag/index.vue
"
;
export
default
{
name
:
"
orderBaseInfo
"
,
components
:
{
DictTag
},
props
:
{
order
:
Object
,
...
...
src/views/ecw/box/cancelClear.vue
View file @
b3d1ff02
...
...
@@ -3,7 +3,7 @@
<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
-
if
=
"
flag
"
v
-
model
=
"
cusClearanceObj.applyReason
"
type
=
"
textarea
"
:
rows
=
"
4
"
><
/el-input
>
<
el
-
input
v
-
if
=
"
[0,3,4].includes(apply.approvalStatus)
"
v
-
model
=
"
cusClearanceObj.applyReason
"
type
=
"
textarea
"
:
rows
=
"
4
"
><
/el-input
>
<
template
v
-
else
>
{{
apply
.
applyReason
}}
<
/template
>
...
...
@@ -11,16 +11,17 @@
<
/el-form
>
<
el
-
row
class
=
"
operate-button
"
>
<
el
-
button
v
-
if
=
"
flag
"
type
=
"
primary
"
@
click
=
"
onSubmit
"
>
{{
$t
(
'
确定
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
!flag
"
type
=
"
primary
"
@
click
=
"
$router.push({path: '/bpm/process-instance/detail', query: {id: apply.bpmProcessId
}}
)
"
>
{{
$t
(
'
审核中
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
!flag
"
plain
type
=
"
primary
"
@
click
=
"
canclAudit
"
>
{{
$t
(
'
取消审核
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
[0,3,4].includes(apply.approvalStatus)
"
type
=
"
primary
"
@
click
=
"
onSubmit
"
>
{{
$t
(
'
确定
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
apply.approvalStatus == 1
"
type
=
"
primary
"
@
click
=
"
$router.push({path: '/bpm/process-instance/detail', query: {id: apply.bpmProcessId
}}
)
"
>
{{
$t
(
'
审核中
'
)
}}
<
/el-button
>
<
el
-
button
v
-
if
=
"
apply.approvalStatus == 1
"
plain
type
=
"
primary
"
@
click
=
"
canclAudit
"
>
{{
$t
(
'
取消审核
'
)
}}
<
/el-button
>
<
el
-
button
@
click
=
"
cancel
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
/el-row
>
<
/div
>
<
/template
>
<
script
>
import
{
approvalCreate
,
approvalCancel
}
from
"
@/api/ecw/boxSea
"
;
import
{
approvalCreate
}
from
"
@/api/ecw/boxSea
"
;
import
{
cancelProcessInstance
}
from
"
@/api/bpm/processInstance
"
;
export
default
{
name
:
"
updateError
"
,
...
...
@@ -40,8 +41,7 @@ export default {
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
}
,
]
}
,
apply
:
{
}
,
flag
:
true
apply
:
{
}
}
;
}
,
created
()
{
...
...
@@ -49,7 +49,6 @@ export default {
let
order
=
orders
.
find
(
item
=>
item
.
orderId
==
this
.
cancelClearInfo
.
orderId
)
if
(
order
){
this
.
apply
=
order
this
.
flag
=
false
}
}
,
methods
:
{
...
...
@@ -71,16 +70,12 @@ export default {
}
,
/* 取消审核 */
canclAudit
()
{
approvalCancel
({
applyReason
:
this
.
$t
(
"
取消审核
"
),
id
:
this
.
apply
.
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
}
).
then
((
res
)
=>
{
this
.
$emit
(
"
closeDialog
"
);
cancelProcessInstance
(
this
.
apply
.
bpmProcessId
,
this
.
$t
(
"
取消审核
"
)).
then
(()
=>
{
this
.
$emit
(
"
closeDialog
"
,
"
edit
"
);
}
);
}
,
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
closeDialog
"
,
"
edit
"
);
}
,
}
,
}
;
...
...
src/views/ecw/box/query.vue
View file @
b3d1ff02
...
...
@@ -192,10 +192,10 @@
<editForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:warehouseList=
"warehouseList"
:transportTypes=
"transportTypes"
:cabinetList=
"cabinetList"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'cost'"
>
<costForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:costDetail=
"costDetail"
:flag=
"flag
"
/>
<costForm
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:costDetail=
"costDetail"
flag=
"sea
"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'error'"
>
<regError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:allUsers=
"allUsers"
:flag=
"flag
"
/>
<regError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:allUsers=
"allUsers"
flag=
"sea
"
/>
</
template
>
<
template
v-if=
"dialogConfig.type === 'updateError'"
>
<updateError
v-if=
"dialogConfig.visible"
@
closeDialog=
"closeDialog"
:shipmentObj=
"shipmentObj"
:errorInfo=
"errorInfo"
/>
...
...
src/views/ecw/box/shippingAir/seaProcess.vue
View file @
b3d1ff02
...
...
@@ -186,7 +186,7 @@ export default {
break
;
// 清关
case
"
cusClearance
"
:
if
(
!
this
.
shipmentObj
.
airArrivalInfo
||
this
.
shipmentObj
.
airArrivalInfo
.
arriveType
==
0
){
if
(
(
!
this
.
shipmentObj
.
airArrivalInfo
||
this
.
shipmentObj
.
airArrivalInfo
.
arriveType
==
0
)
&&
this
.
shipmentObj
.
sapStatus
!=
152
){
this
.
$message
.
error
(
this
.
$t
(
"
请先完成到港操作
"
));
return
;
}
...
...
@@ -224,7 +224,7 @@ export default {
break
;
// 卸柜
case
"
unloading
"
:
if
(
!
this
.
shipmentObj
.
clearanceInfo
||
this
.
shipmentObj
.
clearanceInfo
.
clearanceType
==
0
){
if
(
(
!
this
.
shipmentObj
.
clearanceInfo
||
this
.
shipmentObj
.
clearanceInfo
.
clearanceType
==
0
)
&&
this
.
shipmentObj
.
clStatus
!=
132
){
this
.
$message
.
error
(
this
.
$t
(
"
请先完成清关操作
"
));
return
;
}
...
...
src/views/ecw/customer/components/jd-input-number.vue
0 → 100644
View file @
b3d1ff02
<
script
>
export
default
{
name
:
"
jd-input-number
"
,
props
:{
value
:[
Number
,
String
]
},
computed
:{
val
:{
get
(){
return
this
.
value
},
set
(
val
){
this
.
$emit
(
'
input
'
,
val
)
}
}
}
}
</
script
>
<
template
>
<div
style=
"display: flex;"
>
<div
style=
"flex: 1"
>
<el-input-number
controls-position=
"right"
v-model=
"val"
style=
"width: 100%;text-align: left;"
></el-input-number>
</div>
<slot></slot>
</div>
</
template
>
<
style
scoped
lang=
"scss"
>
::v-deep
.el-input-number
{
.el-input__inner
{
text-align
:
left
;
}
span
{
display
:
none
;
}
}
</
style
>
src/views/ecw/customerComplaint/index.vue
View file @
b3d1ff02
...
...
@@ -182,11 +182,13 @@
<el-input
type=
"textarea"
:placeholder=
"$t('请输入处理结果')"
v-model=
"form.result"
></el-input>
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
:label=
"$t('赔付金额')"
>
<
el-input
v-model=
"form.indemnity"
:placeholder=
"$t('请输入赔付金额')"
>
<el-select
slot=
"append"
defaultable
v-model=
"form.currencyUnit"
:placeholder=
"$t('请选择货币单位')"
style=
"width: 110px"
>
<
jd-input-number
v-model=
"form.indemnity"
>
<el-select
defaultable
v-model=
"form.currencyUnit"
:placeholder=
"$t('请选择货币单位')"
style=
"width: 110px"
>
<el-option
v-for=
"item in currencyList"
:key=
"item.id"
:label=
"isChinese ? item.titleZh : item.titleEn "
:value=
"item.id"
/>
</el-select>
</el-input>
</jd-input-number>
<!-- <el-input :placeholder="$t('请输入赔付金额')">-->
<!-- </el-input>-->
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
:label=
"$t('处理时间')"
required
>
<span>
{{parseTime(form.handleAt)}}
</span>
...
...
@@ -278,14 +280,20 @@
<el-input
type=
"textarea"
:placeholder=
"$t('请输入处理结果')"
v-model=
"form.result"
></el-input>
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
:label=
"$t('赔付金额')"
>
<
el-input
v-model=
"form.indemnity"
:placeholder=
"$t('请输入赔付金额')"
>
<el-select
slot=
"append"
defaultable
v-model=
"form.currencyUnit"
:placeholder=
"$t('请选择货币单位')"
style=
"width: 110px"
>
<
jd-input-number
v-model=
"form.indemnity"
>
<el-select
defaultable
v-model=
"form.currencyUnit"
:placeholder=
"$t('请选择货币单位')"
style=
"width: 110px"
>
<el-option
v-for=
"item in currencyList"
:key=
"item.id"
:label=
"isChinese ? item.titleZh :item.titleEn"
:value=
"item.id"
/>
</el-select>
</el-input>
</jd-input-number>
<!-- <el-input-number v-model.number="form.indemnity" :placeholder="$t('请输入赔付金额')">-->
<!-- <el-select slot="append" defaultable v-model="form.currencyUnit" :placeholder="$t('请选择货币单位')" style="width: 110px">-->
<!-- <el-option v-for="item in currencyList" :key="item.id" :label="isChinese ? item.titleZh :item.titleEn" :value="item.id" />-->
<!-- </el-select>-->
<!-- </el-input-number>-->
</el-form-item>
<el-form-item
v-show=
"form.status == '3'"
:label=
"$t('处理时间')"
required
>
<el-date-picker
type=
"datetime"
v-model=
"form.handleAt"
value-format=
"yyyy-MM-dd HH:mm:ss"
format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
type=
"datetime"
v-model=
"form.handleAt"
>
</el-date-picker>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -306,6 +314,7 @@ import { getBillNoSearch, getOrderNoSearch } from '@/api/ecw/order'
import
customerSelect
from
'
@/views/ecw/customer/customerSelect
'
import
{
getCurrencyPage
}
from
"
@/api/ecw/currency
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
JdInputNumber
from
"
@/views/ecw/customer/components/jd-input-number.vue
"
;
export
default
{
name
:
"
CustomerComplaint
"
,
...
...
@@ -317,6 +326,7 @@ export default {
customerId
:
Number
},
components
:
{
JdInputNumber
,
CustomerFollow
,
DictSelector
,
customerSelect
...
...
@@ -396,7 +406,6 @@ export default {
},
methods
:
{
getBillList
(
key
){
getBillNoSearch
({
key
,
pageNo
:
1
,
pageSize
:
20
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
...
...
src/views/ecw/order/detail.vue
View file @
b3d1ff02
...
...
@@ -476,7 +476,7 @@
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
优惠详情
<
/div
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
...
...
@@ -756,8 +756,10 @@ export default {
value
:
row
[
item
.
field
],
currency
:
row
.
seaFreightCurrency
,
volume
:
row
.
seaFreightVolume
,
remark
:
row
.
specialPriceType
&&
item
.
field
==
'
oneSeaFreight
'
?
this
.
$t
(
'
特价
'
)
:
null
// 特价通过四个字段标识,任一为true则为特价
remark
:
item
.
field
==
'
oneSeaFreight
'
&&
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
?
this
.
$t
(
'
特价
'
)
:
null
}
)
}
}
)
...
...
src/views/ecw/productPrice/batchEdit.vue
View file @
b3d1ff02
...
...
@@ -39,10 +39,14 @@
{{
$t
(
'
第{index
}
阶梯定价方案
'
,
{
index
:
index
+
1
}
)
}}
:
<
template
v
-
if
=
"
index == form.priceStepList.length - 1
"
>
<
el
-
link
type
=
"
primary
"
@
click
.
native
=
"
form.priceStepList.push({
}
)
"
>
{{
$t
(
'
添加区间
'
)
}}
<
/el-link
>
<
el
-
divider
direction
=
"
vertical
"
><
/el-divider
>
<
el
-
link
type
=
"
danger
"
@
click
.
native
=
"
form.priceStepList.splice(index, 1)
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-link
>
<
el
-
divider
v
-
if
=
"
index
"
direction
=
"
vertical
"
><
/el-divider
>
<
el
-
link
v
-
if
=
"
index
"
type
=
"
danger
"
@
click
.
native
=
"
form.priceStepList.splice(index, 1)
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-link
>
<
/template
>
<
/div
>
<
div
v
-
if
=
"
willBeIgnore(item)
"
style
=
"
color:red
"
>
{{
$t
(
'
此阶梯未设置阶梯和价格,将会被忽略
'
)
}}
<
/div
>
<
div
v
-
else
-
if
=
"
!isStepPriceOk(item)
"
style
=
"
color:red
"
>
{{
$t
(
'
此阶梯价信息设置不完整
'
)
}}
<
/div
>
<
el
-
form
-
item
:
label
=
"
$t(`第{index
}
阶梯`, {index: index+1
}
)
"
>
<
el
-
input
v
-
model
=
"
item.startNum
"
type
=
"
number
"
placeholder
=
""
class
=
"
w100
"
><
/el-input
>
-
...
...
@@ -255,8 +259,34 @@ export default {
}
return
{
currency
,
unit
}
}
,
// 判断是否空值
isEmpty
(){
return
(
content
)
=>
{
return
!
content
&&
content
!==
0
&&
content
!==
'
0
'
}
}
,
// 判断某个阶梯价是否会被忽略
willBeIgnore
(){
return
(
stepPrice
)
=>
{
if
(
!
this
.
isEmpty
(
stepPrice
.
startNum
)
||
!
this
.
isEmpty
(
stepPrice
.
endNum
))
return
false
if
(
this
.
form
.
priceType
==
1
&&
!
this
.
isEmpty
(
stepPrice
.
allPrice
))
return
false
if
(
this
.
form
.
priceType
!=
1
&&
!
this
.
isEmpty
(
stepPrice
.
transportPrice
)
&&
!
this
.
isEmpty
(
stepPrice
.
clearancePrice
))
return
false
return
true
}
}
,
// 判断阶梯价是否设置不完整
isStepPriceOk
(){
return
(
stepPrice
)
=>
{
if
(
this
.
isEmpty
(
stepPrice
.
startNum
)
||
this
.
isEmpty
(
stepPrice
.
endNum
))
return
false
if
(
this
.
form
.
priceType
==
1
&&
(
this
.
isEmpty
(
stepPrice
.
allPrice
)
||
this
.
isEmpty
(
stepPrice
.
allPriceUnit
)
||
this
.
isEmpty
(
stepPrice
.
allVolumeUnit
)))
return
false
else
if
(
this
.
isEmpty
(
stepPrice
.
transportPrice
)
||
this
.
isEmpty
(
stepPrice
.
transportPriceUnit
)){
// 清关费可能为0或者空
return
false
}
return
true
}
}
,
}
,
watch
:
{
checkList
()
{
//选择路线
if
(
this
.
checkList
.
length
>
0
)
{
...
...
@@ -504,6 +534,27 @@ export default {
// 没有设置阶梯价格则不提交priceStepList
if
(
data
.
stepPrice
!=
1
){
delete
data
.
priceStepList
}
else
{
// 根据23-11-23 21点左右的群讨论,阶梯价如果留空则不提交,如果全部为空则不提交此字段
// 相关工单 https://zentao.test.jdshangmen.com/bug-view-5460.html
// 填写不完整的给提示
let
notOk
=
[]
data
.
priceStepList
.
forEach
((
item
,
index
)
=>
{
if
(
!
this
.
willBeIgnore
(
item
)
&&
!
this
.
isStepPriceOk
(
item
)){
notOk
.
push
(
index
+
1
)
}
}
)
if
(
notOk
.
length
){
return
this
.
$confirm
(
this
.
$t
(
"
第{steps
}
阶梯设置不完整
"
,
{
steps
:
notOk
.
join
(
"
,
"
)
}
))
}
// 删除未填写的阶梯价
data
.
priceStepList
=
data
.
priceStepList
.
filter
(
item
=>
{
return
!
this
.
willBeIgnore
(
item
)
}
)
if
(
!
data
.
priceStepList
.
length
){
delete
data
.
priceStepList
}
}
data
.
lineChannelList
=
this
.
selectedRoutes
...
...
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