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
c1f8f56c
Commit
c1f8f56c
authored
Nov 24, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
df1cce2b
81c0bb98
Changes
30
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
368 additions
and
116 deletions
+368
-116
order.js
src/api/ecw/order.js
+8
-0
index.vue
src/components/OrderBaseInfo/index.vue
+6
-4
done.vue
src/views/bpm/task/done.vue
+2
-2
cancelClear.vue
src/views/ecw/box/cancelClear.vue
+13
-7
query.vue
src/views/ecw/box/query.vue
+2
-2
queryAir.vue
src/views/ecw/box/queryAir.vue
+6
-3
cusClearance.vue
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
+2
-2
preinstall.vue
src/views/ecw/box/shippingAir/nodePage/preinstall.vue
+3
-3
warehouseDetail.vue
...ws/ecw/box/shippingAir/nodePage/tally/warehouseDetail.vue
+12
-2
seaProcess.vue
src/views/ecw/box/shippingAir/seaProcess.vue
+12
-0
warehouseDetail.vue
...ws/ecw/box/shippingSea/nodePage/tally/warehouseDetail.vue
+12
-2
allAchievement.vue
src/views/ecw/deptTarget/allAchievement.vue
+1
-5
myAchievement.vue
src/views/ecw/deptTarget/myAchievement.vue
+1
-5
myDeptAchievement.vue
src/views/ecw/deptTarget/myDeptAchievement.vue
+3
-7
creatCollection.vue
src/views/ecw/financial/creatCollection.vue
+42
-2
creatPayment.vue
src/views/ecw/financial/creatPayment.vue
+6
-6
detail.vue
src/views/ecw/order/detail.vue
+4
-2
edit.vue
src/views/ecw/order/edit.vue
+1
-1
overweightException.vue
...ws/ecw/order/exception/components/overweightException.vue
+13
-6
index.vue
src/views/ecw/order/exception/index.vue
+16
-4
index.vue
src/views/ecw/order/index.vue
+8
-1
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+27
-18
index.vue
src/views/ecw/order/splitApply/index.vue
+1
-1
NewProduct.vue
src/views/ecw/order/stocking/components/NewProduct.vue
+18
-3
Package.vue
src/views/ecw/order/stocking/components/Package.vue
+8
-1
index.vue
src/views/ecw/order/stocking/index.vue
+37
-12
WarehouseRecordDetail.vue
...cw/order/warehousing/components/WarehouseRecordDetail.vue
+18
-2
WarehouseRecordDetailItem.vue
...rder/warehousing/components/WarehouseRecordDetailItem.vue
+20
-8
batchEdit.vue
src/views/ecw/productPrice/batchEdit.vue
+54
-3
index.vue
src/views/ecw/productPrice/index.vue
+12
-2
No files found.
src/api/ecw/order.js
View file @
c1f8f56c
...
...
@@ -1015,3 +1015,11 @@ export function setCanNotShipment(orderId){
method
:
'
put
'
,
})
}
// 查看母订单
export
function
getParentOrder
(
orderId
){
return
request
({
url
:
'
/ecw/order/getParentOrder?orderId=
'
+
orderId
,
method
:
'
get
'
})
}
src/components/OrderBaseInfo/index.vue
View file @
c1f8f56c
...
...
@@ -4,17 +4,17 @@
<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>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
name
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人公司')"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
company
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人电话')"
>
{{
order
.
consignorVO
&&
(
order
.
consignorVO
.
countryCode
+
order
.
consignorVO
.
phone
)
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人电话')"
>
{{
order
.
consignorVO
&&
(
'
+
'
+
order
.
consignorVO
.
countryCode
+
order
.
consignorVO
.
phone
)
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
name
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人公司')"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
company
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人电话')"
>
{{
order
.
consigneeVO
&&
(
order
.
consigneeVO
.
countryCode
+
order
.
consigneeVO
.
phone
)
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人电话')"
>
{{
order
.
consigneeVO
&&
(
'
+
'
+
order
.
consigneeVO
.
countryCode
+
order
.
consigneeVO
.
phone
)
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货时间')"
>
{{
order
.
deliveryDate
||
''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('入仓类型')"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_WAREHOUSING_TYPE
,
order
.
warehouseType
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</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/bpm/task/done.vue
View file @
c1f8f56c
...
...
@@ -21,7 +21,7 @@
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<
<
!-- el-form-item :label="$t('业务编号')" prop="businessNo">
<!-- el-form-item :label="$t('业务编号')" prop="businessNo">
<el-input
v-model=
"queryParams.businessNo"
:placeholder=
"$t('请输入业务编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
...
...
@@ -41,7 +41,7 @@
<dict-tag
:type=
"DICT_TYPE.BPM_MODEL_CATEGORY"
:value=
"scope.row.category"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('当前审批节点')"
align=
"center"
prop=
"name"
width=
"200"
/>
<!-- <el-table-column :label="$t('状态')" align="center" prop="" width="200" >{{ $t('缺少字段') }}</el-table-column> -->
<!-- <el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120"/>-->
...
...
src/views/ecw/box/cancelClear.vue
View file @
c1f8f56c
...
...
@@ -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,8 +11,9 @@
<
/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
=
"
[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
>
...
...
@@ -20,6 +21,7 @@
<
script
>
import
{
approvalCreate
}
from
"
@/api/ecw/boxSea
"
;
import
{
cancelProcessInstance
}
from
"
@/api/bpm/processInstance
"
;
export
default
{
name
:
"
updateError
"
,
...
...
@@ -39,8 +41,7 @@ export default {
{
required
:
true
,
message
:
this
.
$t
(
"
必填
"
),
trigger
:
"
change
"
}
,
]
}
,
apply
:
{
}
,
flag
:
true
apply
:
{
}
}
;
}
,
created
()
{
...
...
@@ -48,7 +49,6 @@ export default {
let
order
=
orders
.
find
(
item
=>
item
.
orderId
==
this
.
cancelClearInfo
.
orderId
)
if
(
order
){
this
.
apply
=
order
this
.
flag
=
false
}
}
,
methods
:
{
...
...
@@ -68,8 +68,14 @@ export default {
}
}
);
}
,
/* 取消审核 */
canclAudit
()
{
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 @
c1f8f56c
...
...
@@ -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/queryAir.vue
View file @
c1f8f56c
...
...
@@ -118,7 +118,7 @@
<div
class=
"status-line"
></div>
<div
class=
"status-number"
>
{{logList.length - index}}
</div>
<div
class=
"status-info"
>
<div>
{{$l(item, 'title')}}
</div>
<div>
{{$l(item, 'title')}}
<el-button
v-if=
"item.approvalId>0"
type=
"text"
@
click=
"handleApproval(item.bpmProcessId)"
>
{{$t('查看审批')}}
</el-button>
</div>
<div>
<p>
{{formatDate(item.createTime)}}
</p>
<p>
{{item.operator}}
</p>
...
...
@@ -161,12 +161,12 @@
<el-table-column
type=
"index"
align=
"center"
:label=
"$t('序号')"
width=
"50"
/>
<el-table-column
prop=
"opStep"
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_
SHIPPING
_PROCESS"
:value=
"scope.row.opStep"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_
AIR_SHIPMENT
_PROCESS"
:value=
"scope.row.opStep"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"billAbnId"
:label=
"$t('异常')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_
SHIPPING_TICKET_EXCEPTION
"
:value=
"scope.row.billAbnId"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_
AIR_SHIPMENT_PROCESS
"
:value=
"scope.row.billAbnId"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"abnDetail"
:label=
"$t('异常描述')"
align=
"center"
width=
"300"
></el-table-column>
...
...
@@ -656,6 +656,9 @@ export default {
);
}
},
handleApproval(id) {
this.$router.push({path: '/bpm/process-instance/detail', query: {id: id}})
}
},
computed: {
visitedViews() {
...
...
src/views/ecw/box/shippingAir/nodePage/cusClearance.vue
View file @
c1f8f56c
...
...
@@ -15,7 +15,7 @@
<span
v-for=
"order in cusClearanceObj.clearanceOrderList"
:key=
"order.id"
>
{{
order
.
orderNo
}}
</span>
</el-form-item>
<div>
<div
v-if=
"cusClearanceObj.clearanceType == 1"
>
<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>
...
...
@@ -336,7 +336,7 @@ export default {
onSubmit
(
operateType
)
{
this
.
$refs
[
'
cusClearanceForm
'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
cusClearanceObj
.
clearanceType
==
1
&&
this
.
cusClearanceObj
.
clearanceOrderIdList
.
length
>
0
)
{
if
(
this
.
cusClearanceObj
.
clearanceType
==
1
)
{
this
.
$refs
[
'
airArrivalForm
'
].
validate
((
arrvalid
)
=>
{
if
(
arrvalid
)
{
updateOrderArrival
({
...
...
src/views/ecw/box/shippingAir/nodePage/preinstall.vue
View file @
c1f8f56c
...
...
@@ -39,7 +39,7 @@
<el-form-item
:label=
"$t('品名')"
prop=
"itemName"
>
<el-input
v-model=
"queryParams.itemName"
:placeholder=
"$t('请输入品名')"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('
重
货比')"
prop=
"weightRatioMax"
>
<el-form-item
:label=
"$t('
泡
货比')"
prop=
"weightRatioMax"
>
<el-input
v-model=
"queryParams.weightRatioMax"
:placeholder=
"$t('请输入 大')"
clearable
/>
</el-form-item>
<el-form-item
label=
""
prop=
"weightRatioMin"
>
...
...
@@ -177,7 +177,7 @@
<
/template
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('体积') + '/' + $t('重量') + '/' + $t('
重
货比')
"
align
=
"
center
"
width
=
"
140
"
prop
=
"
volumeWeight
"
>
<
el
-
table
-
column
:
label
=
"
$t('体积') + '/' + $t('重量') + '/' + $t('
泡
货比')
"
align
=
"
center
"
width
=
"
140
"
prop
=
"
volumeWeight
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
p
v
-
if
=
"
scope.row.warehouseInInfoVO.volume
"
>
{{
getTotlContent
(
scope
.
row
.
warehouseInInfoVO
,[
'
volume
'
])
}}
<
/p
>
<
p
v
-
if
=
"
scope.row.warehouseInInfoVO.weight
"
>
{{
getTotlContent
(
scope
.
row
.
warehouseInInfoVO
,[
'
weight
'
])
}}
<
/p
>
...
...
@@ -265,7 +265,7 @@
<
p
>
{{
getShipChannelName
(
item
.
channelId
)
}}
<
/p
>
<
/div
>
<
div
>
<
p
>
{{
$t
(
'
重
货比
'
)
}}
:
<
/p
>
<
p
>
{{
$t
(
'
泡
货比
'
)
}}
:
<
/p
>
<
p
>
{{
item
.
weightRatio
}}
<
/p
>
<
/div
>
<
div
v
-
if
=
"
item.isExternalWarehouse === 1
"
style
=
"
color:blue;fontWeight:bold;
"
>
...
...
src/views/ecw/box/shippingAir/nodePage/tally/warehouseDetail.vue
View file @
c1f8f56c
...
...
@@ -3,7 +3,14 @@
<el-dialog
:title=
"title"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
width=
"95%"
append-to-body
>
<el-table
v-if=
"warehouseItem && warehouseItem.orderWarehouseInBackItemDoList"
:data=
"warehouseItem.orderWarehouseInBackItemDoList"
>
<el-table-column
type=
"index"
:label=
"$t('序号')"
/>
<el-table-column
:label=
"$t('箱数')"
prop=
"cartonsNum"
/>
<el-table-column
:label=
"$t('箱数')"
prop=
"cartonsNum"
>
<template
slot-scope=
"
{row}">
<template
v-if=
"row.orderWarehouseInDetailsVOList && row.orderWarehouseInDetailsVOList.length"
>
<WarehouseRecordDetail
v-model=
"row.orderWarehouseInDetailsVOList"
:num=
"row.cartonsNum"
text
readonly
/>
</
template
>
<
template
v-else
>
{{
row
.
cartonsNum
}}
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('入仓类型')"
prop=
"cartonsNum"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
:value=
"row.specificationType"
/>
...
...
@@ -44,10 +51,13 @@
</template>
<
script
>
import
{
getOrder
,
getOrderWarehouseIn
}
from
"
@/api/ecw/order
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
parseTime
}
from
"
@/utils/ruoyi
"
;
import
WarehouseRecordDetail
from
'
@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue
'
export
default
{
filters
:
{
parseTime
},
components
:
{
WarehouseRecordDetail
},
props
:
{
order
:
Object
,
// order 和 orderId 二选一
orderId
:
Number
,
...
...
src/views/ecw/box/shippingAir/seaProcess.vue
View file @
c1f8f56c
...
...
@@ -186,6 +186,10 @@ export default {
break
;
// 清关
case
"
cusClearance
"
:
if
((
!
this
.
shipmentObj
.
airArrivalInfo
||
this
.
shipmentObj
.
airArrivalInfo
.
arriveType
==
0
)
&&
this
.
shipmentObj
.
sapStatus
!=
152
){
this
.
$message
.
error
(
this
.
$t
(
"
请先完成到港操作
"
));
return
;
}
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
break
;
// AGENT
...
...
@@ -220,6 +224,10 @@ export default {
break
;
// 卸柜
case
"
unloading
"
:
if
((
!
this
.
shipmentObj
.
clearanceInfo
||
this
.
shipmentObj
.
clearanceInfo
.
clearanceType
==
0
)
&&
this
.
shipmentObj
.
clStatus
!=
132
){
this
.
$message
.
error
(
this
.
$t
(
"
请先完成清关操作
"
));
return
;
}
// 卸柜反审
const
unStatus
=
this
.
shipmentObj
[
node
.
keyName
];
if
([
186
].
includes
(
unStatus
))
{
...
...
@@ -269,6 +277,10 @@ export default {
if
(
start
.
includes
(
val
[
keyName
])
&&
val
[
voName
])
{
node
.
currStatus
=
"
wait
"
;
if
(
type
===
"
arrival
"
||
type
===
"
cusClearance
"
){
++
nodeIndex
;
continue
;
}
}
if
(
wait
.
includes
(
val
[
keyName
]))
{
...
...
src/views/ecw/box/shippingSea/nodePage/tally/warehouseDetail.vue
View file @
c1f8f56c
...
...
@@ -3,7 +3,14 @@
<el-dialog
:title=
"title"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
width=
"95%"
append-to-body
>
<el-table
v-if=
"warehouseItem && warehouseItem.orderWarehouseInBackItemDoList"
:data=
"warehouseItem.orderWarehouseInBackItemDoList"
>
<el-table-column
type=
"index"
:label=
"$t('序号')"
/>
<el-table-column
:label=
"$t('箱数')"
prop=
"cartonsNum"
/>
<el-table-column
:label=
"$t('箱数')"
prop=
"cartonsNum"
>
<template
slot-scope=
"
{row}">
<template
v-if=
"row.orderWarehouseInDetailsVOList && row.orderWarehouseInDetailsVOList.length"
>
<WarehouseRecordDetail
v-model=
"row.orderWarehouseInDetailsVOList"
:num=
"row.cartonsNum"
text
readonly
/>
</
template
>
<
template
v-else
>
{{
row
.
cartonsNum
}}
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('入仓类型')"
prop=
"cartonsNum"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
:value=
"row.specificationType"
/>
...
...
@@ -44,10 +51,13 @@
</template>
<
script
>
import
{
getOrder
,
getOrderWarehouseIn
}
from
"
@/api/ecw/order
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
WarehouseRecordDetail
from
'
@/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue
'
import
{
parseTime
}
from
"
@/utils/ruoyi
"
;
export
default
{
filters
:
{
parseTime
},
components
:
{
WarehouseRecordDetail
},
props
:
{
order
:
Object
,
// order 和 orderId 二选一
orderId
:
Number
,
...
...
src/views/ecw/deptTarget/allAchievement.vue
View file @
c1f8f56c
...
...
@@ -107,11 +107,7 @@
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('联系方式')"
align=
"center"
prop=
"phoneNew"
/>
<el-table-column
:label=
"$t('唛头')"
align=
"center"
prop=
"marks"
/>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
prop=
"statusMsg"
/>
<el-table-column
:label=
"$t('是否控货')"
align=
"center"
prop=
"isCargoControl"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
isCargoControl
?
$t
(
'
是
'
):
$t
(
'
否
'
)
}}
...
...
src/views/ecw/deptTarget/myAchievement.vue
View file @
c1f8f56c
...
...
@@ -111,11 +111,7 @@
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('联系方式')"
align=
"center"
prop=
"phoneNew"
/>
<el-table-column
:label=
"$t('唛头')"
align=
"center"
prop=
"marks"
/>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
prop=
"statusMsg"
/>
<el-table-column
:label=
"$t('是否控货')"
align=
"center"
prop=
"isCargoControl"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
isCargoControl
?
$t
(
'
是
'
):
$t
(
'
否
'
)
}}
...
...
src/views/ecw/deptTarget/myDeptAchievement.vue
View file @
c1f8f56c
...
...
@@ -110,11 +110,7 @@
<el-table-column
:label=
"$t('客户名称')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('联系方式')"
align=
"center"
prop=
"phoneNew"
/>
<el-table-column
:label=
"$t('唛头')"
align=
"center"
prop=
"marks"
/>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
prop=
"statusMsg"
/>
<el-table-column
:label=
"$t('是否控货')"
align=
"center"
prop=
"isCargoControl"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
isCargoControl
?
$t
(
'
是
'
):
$t
(
'
否
'
)
}}
...
...
@@ -151,7 +147,7 @@
import
dayjs
from
"
dayjs
"
;
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
export
default
{
name
:
"
EcwDepttargetMydeptachievement
"
,
components
:
{},
...
...
@@ -241,7 +237,7 @@
}
return
'
/
'
}
},
},
exportWarehouseList
(){
/* tradeType 1 进口,2出口,3进出口 */
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
2
||
item
.
tradeType
==
3
)
...
...
src/views/ecw/financial/creatCollection.vue
View file @
c1f8f56c
...
...
@@ -811,7 +811,27 @@ export default {
that
.
calculation
()
getOrder
(
that
.
$route
.
query
.
orderId
).
then
(
response
=>
{
// console.log(response.data)
if
(
response
.
data
.
customerId
)
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
customerId
)
if
(
response
.
data
.
customerId
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
customerId
)
}
else
{
if
(
response
.
data
.
drawee
==
1
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consignorVO
.
customerId
)
}
else
if
(
response
.
data
.
drawee
==
2
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consigneeVO
.
customerId
)
}
else
{
if
(
response
.
data
.
customDraweeVOList
){
response
.
data
.
customDraweeVOList
.
map
(
v
=>
{
if
(
v
.
name
==
'
freight
'
){
if
(
v
.
value
==
1
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consignorVO
.
customerId
)
}
else
{
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consigneeVO
.
customerId
)
}
}
}
)
}
}
}
}
)
getDestCountryByOrderId
({
orderId
:
that
.
$route
.
query
.
orderId
}
).
then
(
response
=>
{
// console.log(response.data)
...
...
@@ -854,7 +874,27 @@ export default {
}
)
this
.
calculation
()
getOrder
(
that
.
$route
.
query
.
orderId
).
then
(
response
=>
{
if
(
response
.
data
.
customerId
)
this
.
$set
(
this
.
form
,
'
customerId
'
,
response
.
data
.
customerId
)
if
(
response
.
data
.
customerId
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
customerId
)
}
else
{
if
(
response
.
data
.
drawee
==
1
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consignorVO
.
customerId
)
}
else
if
(
response
.
data
.
drawee
==
2
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consigneeVO
.
customerId
)
}
else
{
if
(
response
.
data
.
customDraweeVOList
){
response
.
data
.
customDraweeVOList
.
map
(
v
=>
{
if
(
v
.
name
==
'
freight
'
){
if
(
v
.
value
==
1
){
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consignorVO
.
customerId
)
}
else
{
that
.
$set
(
that
.
form
,
'
customerId
'
,
response
.
data
.
consigneeVO
.
customerId
)
}
}
}
)
}
}
}
}
)
}
)
getDestCountryByOrderId
({
orderId
:
this
.
$route
.
query
.
orderId
}
).
then
(
response
=>
{
...
...
src/views/ecw/financial/creatPayment.vue
View file @
c1f8f56c
...
...
@@ -676,10 +676,10 @@ export default {
this
.
$modal
.
msgError
(
this
.
$t
(
'
请选择供应商未付款项
'
));
return
}
if
(
!
params
.
supplierBankAccount
){
/*
if(!params.supplierBankAccount){
this.$modal.msgError(this.$t('请选择供应商银行账号'));
return
}
}
*/
if
(
this
.
id
&&
this
.
id
!==
'
0
'
)
{
updatePayment
(
params
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
'
申请成功
'
));
...
...
@@ -727,7 +727,7 @@ export default {
}
,
selectChangeBank
(
val
){
this
.
$forceUpdate
()
var
bank
=
this
.
bankData
.
find
(
item
=>
item
.
bankAccount
==
this
.
form
.
supplierBankAccount
)
let
bank
=
this
.
bankData
.
find
(
item
=>
item
.
bankAccount
==
this
.
form
.
supplierBankAccount
)
this
.
form
.
supplierBank
=
bank
.
bankName
this
.
form
.
supplierBankAccountName
=
bank
.
accountName
}
,
...
...
@@ -737,9 +737,9 @@ export default {
if
(
val
){
getSupplier
(
val
).
then
((
res
)
=>
{
this
.
bankData
=
res
.
data
.
bankList
var
bank
=
this
.
bankData
.
find
(
item
=>
item
.
bankAccount
==
this
.
form
.
supplierBankAccount
)
console
.
log
(
this
.
bankData
)
if
(
this
.
bankData
.
length
>
0
&&!
bank
)
this
.
form
.
supplierBankAccount
=
this
.
bankData
[
0
][
'
bankAccount
'
]
let
bank
=
this
.
bankData
.
find
(
item
=>
item
.
bankAccount
==
this
.
form
.
supplierBankAccount
)
if
(
!
bank
)
this
.
form
.
supplierBankAccount
=
''
if
(
!
bank
&&
this
.
bankData
.
length
>
0
)
this
.
form
.
supplierBankAccount
=
this
.
bankData
[
0
][
'
bankAccount
'
]
}
)
}
...
...
src/views/ecw/order/detail.vue
View file @
c1f8f56c
...
...
@@ -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/order/edit.vue
View file @
c1f8f56c
...
...
@@ -1396,7 +1396,7 @@ export default {
// 修改的提交
if
(
this
.
form
.
order
No
!=
null
)
{
if
(
this
.
form
.
order
Id
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
status
:
submitType
,
customDraweeVOList
:
this
.
customDraweeList
,
...
...
src/views/ecw/order/exception/components/overweightException.vue
View file @
c1f8f56c
...
...
@@ -21,8 +21,9 @@
</el-descriptions-item>
</el-descriptions>
<div
v-for=
"(row,index) in orderItemData"
:key=
"row.orderItemId"
>
<div
style=
"font-weight:600;font-size:14px;margin-bottom:10px"
>
品名
{{
parseInt
(
index
)
+
1
}}
:
{{
$l
(
row
,
'
prodTitle
'
)
}}
</div>
<div
v-if=
"row.charging ==1"
class=
"price_list"
>
<span>
品名
{{
parseInt
(
index
)
+
1
}}
:
{{
$l
(
row
.
prodTitle
,
'
desc
'
)
}}
</span>
<span>
旧成交价:
</span>
<div>
<div
v-if=
"!row.freightFee"
>
...
...
@@ -174,17 +175,23 @@ export default {
if
(
this
.
orderExceptionData
.
orderExceptionRemark
){
this
.
orderExceptionData
.
orderExceptionRemark
=
JSON
.
parse
(
this
.
orderExceptionData
.
orderExceptionRemark
)
}
if
(
res
.
data
.
oldPriceJson
){
this
.
orderItemData
=
JSON
.
parse
(
res
.
data
.
oldPriceJson
)
}
if
(
res
.
data
.
orderId
){
getOrder
(
res
.
data
.
orderId
).
then
(
res
=>
{
this
.
order
=
res
.
data
this
.
orderItemData
.
map
(
v
=>
{
let
item
=
this
.
order
.
orderItemVOList
.
find
(
vs
=>
vs
.
orderItemId
==
v
.
orderItemId
)
if
(
item
){
v
.
prodTitleZh
=
item
.
prodTitleZh
v
.
prodTitleEn
=
item
.
prodTitleEn
}
})
this
.
getExceptionPriceList
(
res
.
data
.
orderId
)
})
}
console
.
log
(
res
.
data
)
if
(
res
.
data
.
oldPriceJson
){
this
.
orderItemData
=
JSON
.
parse
(
res
.
data
.
oldPriceJson
)
console
.
log
(
this
.
orderItemData
)
}
})
},
getProdAtrr
(
ids
){
...
...
src/views/ecw/order/exception/index.vue
View file @
c1f8f56c
...
...
@@ -46,7 +46,16 @@
<el-option
v-for=
"dict in followUpList"
:key=
"parseInt(dict.id)"
:label=
"dict.nickname"
:value=
"parseInt(dict.id)"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
prop=
"channelId"
>
<!--嵌套一个form来脱离disabled控制-->
<selector
:clearable=
"true"
v-model=
"queryParams.channelId"
:options=
"channelList"
value-field=
"channelId"
:label-field=
"$l(null, 'name')"
></selector>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('控货')+':'"
>
...
...
@@ -284,12 +293,14 @@ import CustomerSelector from '@/components/CustomerSelector'
import
ProductSelector
from
'
@/components/ProductSelector
'
import
{
getWarehouseList
}
from
'
@/api/ecw/warehouse
'
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
Selector
from
'
@/components/Selector
'
export
default
{
name
:
"
EcwOrderException
"
,
components
:
{
Template
,
CustomerSelector
,
ProductSelector
CustomerSelector
,
ProductSelector
,
Selector
},
data
()
{
return
{
...
...
@@ -315,14 +326,15 @@ export default {
warehouseList
:[],
totalData
:{},
followUpList
:[],
channelList
:
[],
// 出货取到
};
},
activated
(){
this
.
getList
();
},
created
()
{
async
created
()
{
this
.
getList
();
this
.
channelList
=
(
await
getChannelList
()).
data
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
listServiceUser
().
then
(
r
=>
{
this
.
creatorData
=
r
.
data
...
...
src/views/ecw/order/index.vue
View file @
c1f8f56c
...
...
@@ -361,7 +361,7 @@
<el-dropdown-item
@
click.native=
"splitRevoke(scope.row)"
v-hasPermi=
"['ecw:order:split_revoke']"
>
{{
$t
(
'
撤销拆单
'
)
}}
</el-dropdown-item>
</
template
>
<
template
v-if=
"scope.row.parentOrderId"
>
<el-dropdown-item
@
click.native=
"
$router.push('./detail?orderId=' + scope.row.parentOrderId
)"
>
{{
$t
(
'
查看母订单
'
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"
showParentOrder(scope.row
)"
>
{{
$t
(
'
查看母订单
'
)
}}
</el-dropdown-item>
</
template
>
...
...
@@ -566,6 +566,7 @@ import {
exportShippingDatas
,
exportShipFee
,
exportUnload
,
splitCancelApply
,
orderSplitRevoke
,
setCanShipment
,
setCanNotShipment
,
getParentOrder
}
from
"
@/api/ecw/order
"
;
/* import { getDictDatas, DICT_TYPE } from '@/utils/dict'; */
import
PrintTag
from
'
./components/PrintTag
'
...
...
@@ -1021,6 +1022,12 @@ export default {
this
.
$message
(
this
.
$t
(
'
操作成功
'
))
this
.
getList
()
})
},
// 查看母订单
showParentOrder
(
row
){
getParentOrder
(
row
.
orderId
).
then
(
res
=>
{
this
.
$router
.
push
(
'
./detail?orderId=
'
+
res
.
data
.
orderId
)
})
}
}
};
...
...
src/views/ecw/order/prepayDeal.vue
View file @
c1f8f56c
This diff is collapsed.
Click to expand it.
src/views/ecw/order/splitApply/index.vue
View file @
c1f8f56c
...
...
@@ -211,7 +211,7 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量(个)')"
align=
"center"
prop=
"quantity"
width=
"80"
></el-table-column>
<el-table-column
:label=
"$t('成交单价')"
align=
"center"
min-width=
"220px"
v-if=
"[3,4].indexOf(
orderData
.transportId) > -1"
>
<el-table-column
:label=
"$t('成交单价')"
align=
"center"
min-width=
"220px"
v-if=
"[3,4].indexOf(
item
.transportId) > -1"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.charging != 1"
>
<div
class=
"flex"
>
...
...
src/views/ecw/order/stocking/components/NewProduct.vue
View file @
c1f8f56c
...
...
@@ -12,9 +12,10 @@
<span
style=
"min-width: 200px;margin-right: 15px;display: inline-block"
>
<product-selector
v-model=
"form.prodId"
@
change=
"handleProdChange"
/>
</span>
<el-button
type=
"text"
@
click=
"isShowProduct = true"
>
{{ $t('添加新
品名
') }}
</el-button>
<el-button
type=
"text"
@
click=
"isShowProduct = true"
>
{{ $t('添加新
商品
') }}
</el-button>
</el-descriptions-item>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
英文品名
'
)
}}
</
template
>
...
...
@@ -22,6 +23,7 @@
<product-selector
lang=
"En"
v-model=
"form.prodId"
@
change=
"handleProdChange"
/>
</span>
</el-descriptions-item>
...
...
@@ -215,7 +217,7 @@
</el-card>
<el-card
style=
"margin-top: 15px;"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size: 18px"
>
{{$t('入仓影像')}}
</span>
<span
style=
"font-size: 18px"
>
<span
style=
"color: red"
>
*
</span>
{{$t('入仓影像')}}
</span>
</div>
<div>
<image-and-video-upload
:fileSize=
"50"
:isShowTip=
"true"
v-model=
"pictureUrls"
></image-and-video-upload>
...
...
@@ -272,7 +274,7 @@ import WarehouseRecordDetail from "@/views/ecw/order/warehousing/components/Ware
import
ImageAndVideoUpload
from
"
@/components/ImageAndVideoUpload/index.vue
"
;
export
default
{
name
:
"
Package
"
,
name
:
"
NewProduct
"
,
components
:
{
ImageAndVideoUpload
,
WarehouseRecordDetail
,
...
...
@@ -520,6 +522,13 @@ export default {
})
if
(
this
.
pictureUrls
?.
length
===
0
)
{
return
this
.
$notify
({
title
:
'
请上传入仓影像
'
,
type
:
'
warning
'
});
}
// 首次入仓、入仓补充
return
finishPacked
({
brand
:
this
.
form
.
brand
,
...
...
@@ -665,6 +674,12 @@ export default {
titleZh
:
undefined
,
titleEn
:
undefined
}
},
handleProdChange
(
prod
){
console
.
log
(
'
handleProdChange
'
,
prod
)
let
attrIds
=
prod
.
attrId
?.
split
(
'
,
'
)?.
map
(
item
=>
parseInt
(
item
))
||
[]
this
.
$set
(
this
.
form
,
'
warehouseInProdAttrIds
'
,
attrIds
)
this
.
$set
(
this
.
form
,
'
material
'
,
prod
.
materialType
)
}
}
}
...
...
src/views/ecw/order/stocking/components/Package.vue
View file @
c1f8f56c
...
...
@@ -213,7 +213,7 @@
</el-card>
<el-card
style=
"margin-top: 15px;"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size: 18px"
>
{{$t('入仓影像')}}
</span>
<span
style=
"font-size: 18px"
>
<span
style=
"color: red"
>
*
</span>
{{$t('入仓影像')}}
</span>
</div>
<div>
<image-and-video-upload
:fileSize=
"50"
:isShowTip=
"true"
v-model=
"pictureUrls"
></image-and-video-upload>
...
...
@@ -533,6 +533,13 @@ export default {
})
if
(
this
.
pictureUrls
?.
length
===
0
)
{
return
this
.
$notify
({
title
:
'
请上传入仓影像
'
,
type
:
'
warning
'
});
}
// 首次入仓、入仓补充
return
finishPacked
({
brand
:
this
.
form
.
brand
,
...
...
src/views/ecw/order/stocking/index.vue
View file @
c1f8f56c
...
...
@@ -15,14 +15,14 @@
-->
<el-table
v-if=
"order.orderItemVOList && order.orderItemVOList.length > 0 && orderItemList && orderItemList.length > 0"
:data=
"order.orderItemVOList
.filter(item => !!wareItem(item.orderItemId).orderWarehouseInBackItemDoList.length)
|| []"
:data=
"order.orderItemVOList || []"
default-expand-all
style=
"width: 100%"
>
<!--入仓记录-->
<el-table-column
type=
"expand"
>
<template
slot-scope=
"props"
>
<div
style=
"padding-left: 80px"
>
<el-table
v-if=
"wareItem(props.row.orderItemId).orderWarehouseInBackItemDoList"
:data=
"wareItem(props.row.orderItemId).orderWarehouseInBackItemDoList
"
>
<div
style=
"padding-left: 80px"
v-if=
"orderWarehouseInList(props.row.orderItemId).length"
>
<el-table
:data=
"orderWarehouseInList(props.row.orderItemId)
"
>
<el-table-column
:label=
"$t('序号')"
width=
"80px"
>
<template
slot-scope=
"
{row, column, $index}">
{{
$index
+
1
}}
...
...
@@ -151,20 +151,25 @@
</el-table-column>
<el-table-column
prop=
"createTime"
:label=
"$t('打包状态')"
>
:label=
"$t('打包状态')"
width=
"100"
>
<
template
v-slot=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_PACK_STATUS"
:value=
"wareItemPackStatus(row.orderItemId)"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
:label=
"$t('操作')"
>
:label=
"$t('操作')"
width=
"220"
>
<
template
v-slot=
"{ row, column, $index }"
>
<template
v-if=
"wareItemPackStatus(row.orderItemId) == 1"
>
<el-button
size=
"mini"
type=
"warning"
@
click=
"noNeedPack(row)"
>
{{
$t
(
'
无需打包
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"package(row, $t('打包'))"
>
{{
$t
(
'
打包
'
)
}}
</el-button>
</
template
>
<el-button
v-else
size=
"mini"
type=
"primary"
@
click=
"package(row, $t('修改打包'))"
>
{{$t('修改打包')}}
</el-button>
<!--没有入仓记录的不显示打包按钮 https://zentao.test.jdshangmen.com/bug-view-5389.html-->
<el-button-group
v-if=
"orderWarehouseInList(row.orderItemId).length"
>
<template
v-if=
"wareItemPackStatus(row.orderItemId) == 1"
>
<el-button
size=
"mini"
type=
"warning"
@
click=
"noNeedPack(row)"
>
{{
$t
(
'
无需打包
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"package(row, $t('打包'))"
>
{{
$t
(
'
打包
'
)
}}
</el-button>
</
template
>
<el-button
v-else
size=
"mini"
type=
"primary"
@
click=
"package(row, $t('修改打包'))"
>
{{$t('修改打包')}}
</el-button>
<el-button
size=
"mini"
type=
"danger"
@
click=
"rollback(row)"
>
{{$t('退仓')}}
</el-button>
</el-button-group>
</template>
</el-table-column>
</el-table>
...
...
@@ -255,7 +260,7 @@ import {
getOrder
,
getOrderWarehouseIn
,
getSpecialListByOrderId
,
noNeedPack
,
noNeedPack
,
rollbackDelete
,
warehousePictureList
}
from
'
@/api/ecw/order
'
import
orderBaseInfo
from
"
@/components/OrderBaseInfo
"
...
...
@@ -416,7 +421,8 @@ export default {
async
handleSubmit
()
{
let
unpackProds
=
[]
this
.
orderItemList
.
forEach
(
item
=>
{
if
(
item
.
packStatus
==
1
){
// 有入仓记录且未打包
if
(
item
.
orderWarehouseInBackItemDoList
.
length
&&
item
.
packStatus
==
1
){
unpackProds
.
push
(
this
.
$l
(
item
,
'
prodTitle
'
))
}
})
...
...
@@ -477,6 +483,19 @@ export default {
finishPacked
(
data
).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
操作成功
'
))
})
},
// 退仓
async
rollback
(
orderItem
){
this
.
$confirm
(
this
.
$l
(
orderItem
,
'
prodTitle
'
)
+
this
.
$t
(
"
退仓后不可恢复,是否确认退仓?
"
),
this
.
$t
(
'
提示
'
)).
then
(()
=>
{
return
rollbackDelete
({
orderId
:
this
.
orderId
,
orderItemId
:
orderItem
.
orderItemId
,
isPackagingRollback
:
true
})
}).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
操作成功
'
))
this
.
getList
()
})
}
},
watch
:
{
...
...
@@ -498,6 +517,12 @@ export default {
return
this
.
orderItemList
.
find
(
item
=>
item
.
orderItemId
==
orderItemId
)
}
},
// 根据orderItemId获取入仓记录
orderWarehouseInList
(){
return
(
orderItemId
)
=>
{
return
this
.
wareItem
(
orderItemId
)?.
orderWarehouseInBackItemDoList
||
[]
}
},
// 获取打包状态
wareItemPackStatus
(){
return
orderItemId
=>
{
...
...
src/views/ecw/order/warehousing/components/WarehouseRecordDetail.vue
View file @
c1f8f56c
...
...
@@ -93,7 +93,8 @@ export default {
"
unit
"
:
""
,
"
usageIds
"
:
""
,
"
volume
"
:
undefined
,
"
weight
"
:
undefined
"
weight
"
:
undefined
,
"
material
"
:
undefined
}]
}
else
{
this
.
dataList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
value
))
...
...
@@ -119,7 +120,8 @@ export default {
"
unit
"
:
""
,
"
usageIds
"
:
""
,
"
volume
"
:
undefined
,
"
weight
"
:
undefined
"
weight
"
:
undefined
,
"
material
"
:
undefined
})
},
handleDelete
(
index
)
{
...
...
@@ -140,6 +142,20 @@ export default {
.
catch
(
_
=>
{});
},
handleSave
()
{
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
)
{
if
(
!
this
.
dataList
[
i
].
prodId
)
{
return
this
.
$notify
({
title
:
'
明细
'
+
(
i
+
1
)
+
'
:
'
+
'
请选择品名
'
,
type
:
"
warning
"
})
}
if
(
!
this
.
dataList
[
i
].
brand
)
{
return
this
.
$notify
({
title
:
'
明细
'
+
(
i
+
1
)
+
'
:
'
+
'
请选择品牌
'
,
type
:
"
warning
"
})
}
}
this
.
$emit
(
'
input
'
,
this
.
dataList
)
this
.
dialogVisible
=
false
}
...
...
src/views/ecw/order/warehousing/components/WarehouseRecordDetailItem.vue
View file @
c1f8f56c
...
...
@@ -6,12 +6,12 @@
</div>
<el-row
:gutter=
"10"
>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('中文品名')"
>
<el-form-item
:label=
"$t('中文品名')"
required
>
<product-selector
v-model=
"value.prodId"
@
change=
"onProductChange"
determined
:disabled=
"readonly"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('品牌')"
>
<el-form-item
:label=
"$t('品牌')"
required
>
<el-select
v-model=
"value.brand"
:placeholder=
"$t('可修改')"
...
...
@@ -31,6 +31,11 @@
</el-col>
</el-row>
<el-row
:gutter=
"10"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('材质')"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
v-model=
"material"
clearable
:disabled=
"readonly"
></dict-selector>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
:label=
"$t('商品特性')"
>
<el-checkbox-group
v-model=
"prodAttrIds"
>
...
...
@@ -38,7 +43,7 @@
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
8
"
>
<el-form-item
:label=
"$t('用途')"
>
<el-checkbox-group
v-model=
"usageIds"
>
<el-checkbox
v-for=
"item in getDictDatas(DICT_TYPE.WAREHOUSING_RECORD_DETAIL_USAGE)"
:key=
"item.value"
:label=
"item.value"
:disabled=
"readonly"
>
{{
$l
(
item
,
'
label
'
)
}}
</el-checkbox>
...
...
@@ -46,7 +51,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"10"
>
<
!--
<
el-row
:gutter=
"10"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('长')"
>
<el-input
v-model=
"boxGauge1"
type=
"number"
:disabled=
"readonly"
/>
...
...
@@ -72,9 +77,9 @@
<el-input
v-model=
"value.volume"
type=
"number"
:disabled=
"readonly"
/>
</el-form-item>
</el-col>
</el-row>
</el-row>
-->
<el-row
:gutter=
"10"
>
<el-col
:span=
"4"
>
<
!--
<
el-col
:span=
"4"
>
<el-form-item
:label=
"$t('快递单号')"
>
<el-input
v-model=
"value.expressNo"
:disabled=
"readonly"
/>
</el-form-item>
...
...
@@ -83,7 +88,7 @@
<el-form-item
:label=
"$t('包装类型')"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"value.unit"
:disabled=
"readonly"
></dict-selector>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('数量')"
>
<el-input
v-model=
"value.quantityAll"
type=
"number"
:disabled=
"readonly"
/>
...
...
@@ -131,7 +136,7 @@ export default {
brandList
:
[],
prodAttrIds
:
[],
usageIds
:
[],
material
:
''
,
boxGauge1
:
''
,
boxGauge2
:
''
,
boxGauge3
:
''
,
...
...
@@ -147,6 +152,10 @@ export default {
this
.
getProductBrandPage
()
}
if
(
this
.
value
.
material
){
this
.
material
=
this
.
value
.
material
}
if
(
typeof
this
.
value
.
prodAttrIds
===
'
string
'
&&
this
.
value
.
prodAttrIds
.
length
>
0
)
{
this
.
prodAttrIds
=
this
.
value
.
prodAttrIds
.
split
(
'
,
'
).
map
(
e
=>
+
e
)
}
...
...
@@ -220,6 +229,9 @@ export default {
this
.
value
.
boxGauge
=
this
.
boxGauge1
+
'
*
'
+
this
.
boxGauge2
+
'
*
'
+
this
.
boxGauge3
this
.
value
.
volume
=
(
this
.
boxGauge1
*
this
.
boxGauge2
*
this
.
boxGauge3
/
1000000
).
toFixed
(
2
)
},
material
(
material
){
this
.
value
.
material
=
material
},
'
value.volume
'
()
{
if
(
this
.
value
.
volume
<
0
)
{
this
.
value
.
volume
=
-
this
.
value
.
volume
...
...
src/views/ecw/productPrice/batchEdit.vue
View file @
c1f8f56c
...
...
@@ -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,7 +259,33 @@ 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
()
{
//选择路线
...
...
@@ -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
...
...
src/views/ecw/productPrice/index.vue
View file @
c1f8f56c
...
...
@@ -37,7 +37,12 @@
<el-option
v-for=
"city in destCityList"
:key=
"city.id"
:label=
"$l(city, 'title')"
:value=
"city.id"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('是否预付')"
prop=
"needPay"
>
<el-select
v-model=
"queryParams.needPay"
:placeholder=
"$t('请选择')"
clearable
>
<el-option
:label=
"$t('是')"
value=
"1"
></el-option>
<el-option
:label=
"$t('否')"
value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('上架状态')"
prop=
"auditStatus"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_AUDIT_STATUS"
v-model=
"queryParams.auditStatus"
clearable
/>
</el-form-item>
...
...
@@ -47,7 +52,12 @@
<el-option
:label=
"$t('黑名单')"
value=
"blacklist_1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('是否单询')"
prop=
"needOrderInquiry"
>
<el-select
v-model=
"queryParams.needOrderInquiry"
:placeholder=
"$t('请选择')"
clearable
>
<el-option
:label=
"$t('是')"
value=
"1"
></el-option>
<el-option
:label=
"$t('否')"
value=
"0"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
...
...
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