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
7d58a160
Commit
7d58a160
authored
Jul 24, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/release' into release
parents
6d9f91d1
4b2e75a1
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
335 additions
and
206 deletions
+335
-206
box.js
src/api/ecw/box.js
+7
-0
order.js
src/api/ecw/order.js
+13
-0
index.vue
src/components/ImageAndVideoUpload/index.vue
+22
-5
index.vue
src/components/WarehouseAreaSelect/index.vue
+4
-1
indexSea.vue
src/views/ecw/box/indexSea.vue
+5
-2
splitOrder.vue
...views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
+23
-8
supplementOrder.vue
.../ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
+12
-4
cusDeclaration.vue
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
+2
-0
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+13
-5
index.vue
src/views/ecw/box/shippingSea/nodePage/tally/index.vue
+1
-1
PrintTag.vue
src/views/ecw/order/components/PrintTag.vue
+7
-3
edit.vue
src/views/ecw/order/edit.vue
+4
-3
index.vue
src/views/ecw/order/index.vue
+8
-2
PutIn.vue
src/views/ecw/order/splitApply/components/PutIn.vue
+21
-6
WarehouseRecord.vue
...views/ecw/order/splitApply/components/WarehouseRecord.vue
+6
-3
index.vue
src/views/ecw/order/splitApply/index.vue
+167
-160
index.vue
src/views/ecw/order/warehousing/index.vue
+20
-3
No files found.
src/api/ecw/box.js
View file @
7d58a160
...
@@ -343,3 +343,10 @@ export function updateUrl(data) {
...
@@ -343,3 +343,10 @@ export function updateUrl(data) {
data
,
data
,
});
});
}
}
export
function
dealCustomsSplitNotify
(
notifyId
){
return
request
({
url
:
`/shipment/box/dealCustomsSplitNotify?notifyId=
${
notifyId
}
`
,
method
:
"
get
"
,
})
}
src/api/ecw/order.js
View file @
7d58a160
...
@@ -515,6 +515,19 @@ export function warehousePictureList(data){
...
@@ -515,6 +515,19 @@ export function warehousePictureList(data){
data
data
})
})
}
}
export
function
warehousePictureCreate
(
data
){
return
request
({
url
:
'
/order/warehouse-picture/create
'
,
method
:
'
post
'
,
data
})
}
export
function
warehousePictureDelete
(
id
){
return
request
({
url
:
'
/order/warehouse-picture/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得部门订单分页
// 获得部门订单分页
export
function
deptOrderPage
(
params
){
export
function
deptOrderPage
(
params
){
...
...
src/components/ImageAndVideoUpload/index.vue
View file @
7d58a160
...
@@ -45,6 +45,7 @@
...
@@ -45,6 +45,7 @@
<
script
>
<
script
>
import
{
getToken
}
from
"
@/utils/auth
"
;
import
{
getToken
}
from
"
@/utils/auth
"
;
import
{
warehousePictureCreate
}
from
"
@/api/ecw/order
"
;
export
default
{
export
default
{
props
:
{
props
:
{
...
@@ -63,6 +64,15 @@ export default {
...
@@ -63,6 +64,15 @@ export default {
isShowTip
:
{
isShowTip
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
true
default
:
true
},
// 类型 1入仓 2 调拨出仓 3调拨到仓 4 订单转异
type
:
{
type
:
Number
,
default
:
undefined
},
id
:
{
type
:
Number
,
default
:
undefined
}
}
},
},
data
()
{
data
()
{
...
@@ -116,9 +126,9 @@ export default {
...
@@ -116,9 +126,9 @@ export default {
methods
:
{
methods
:
{
// 删除图片
// 删除图片
handleRemove
(
index
)
{
handleRemove
(
index
)
{
this
.
fileList
.
splice
(
index
,
1
);
this
.
fileList
.
splice
(
index
,
1
);
this
.
$emit
(
"
input
"
,
this
.
listToString
(
this
.
fileList
));
this
.
$emit
(
"
input
"
,
this
.
listToString
(
this
.
fileList
));
this
.
$emit
(
"
delete
"
,
index
);
},
},
// 上传成功回调
// 上传成功回调
handleUploadSuccess
(
res
)
{
handleUploadSuccess
(
res
)
{
...
@@ -128,8 +138,15 @@ export default {
...
@@ -128,8 +138,15 @@ export default {
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
this
.
uploadList
=
[];
this
.
number
=
0
;
this
.
number
=
0
;
this
.
$emit
(
"
input
"
,
this
.
listToString
(
this
.
fileList
));
warehousePictureCreate
({
this
.
$modal
.
closeLoading
();
"
bizId
"
:
this
.
id
,
"
type
"
:
this
.
type
,
"
url
"
:
res
.
data
}).
then
(()
=>
{
this
.
$emit
(
"
input
"
,
this
.
listToString
(
this
.
fileList
));
this
.
$emit
(
"
refresh
"
);
this
.
$modal
.
closeLoading
();
})
}
}
}
else
{
}
else
{
this
.
handleUploadError
();
this
.
handleUploadError
();
...
...
src/components/WarehouseAreaSelect/index.vue
View file @
7d58a160
...
@@ -288,7 +288,10 @@ export default {
...
@@ -288,7 +288,10 @@ export default {
},
},
// 用于储位回显选中
// 用于储位回显选中
isSelected
(
warehouse
,
area
,
position
=
0
){
isSelected
(
warehouse
,
area
,
position
=
0
){
return
!!
this
.
value
.
find
(
e
=>
warehouse
===
e
.
wareId
&&
area
===
e
.
areaId
&&
(
position
===
e
.
locationId
||
undefined
===
e
.
locationId
))
return
!!
this
.
value
.
find
(
e
=>
{
// 最后一个条件不能用!e.locationId来判断,会导致选择了没有locationId的全部被选中,上次改这里忘记什么原因了,下次复现再来调整
return
warehouse
===
e
.
wareId
&&
area
===
e
.
areaId
&&
(
position
===
e
.
locationId
||
e
.
locationId
==
undefined
)
})
},
},
}
}
}
}
...
...
src/views/ecw/box/indexSea.vue
View file @
7d58a160
...
@@ -198,7 +198,7 @@ import {
...
@@ -198,7 +198,7 @@ import {
getbox
,
getbox
,
getboxPage
,
getboxPage
,
exportboxExcel
,
exportboxExcel
,
getNoticeList
,
getNoticeList
,
dealCustomsSplitNotify
,
}
from
"
@/api/ecw/box
"
;
}
from
"
@/api/ecw/box
"
;
import
{
import
{
downloadFile
,
downloadFile
,
...
@@ -426,7 +426,7 @@ export default {
...
@@ -426,7 +426,7 @@ export default {
}
}
}
,
}
,
/** 查看按钮操作 */
/** 查看按钮操作 */
handleCommand
(
row
,
command
)
{
async
handleCommand
(
row
,
command
)
{
this
.
$set
(
this
.
dialogCfg
,
"
fullscreen
"
,
false
);
this
.
$set
(
this
.
dialogCfg
,
"
fullscreen
"
,
false
);
switch
(
command
)
{
switch
(
command
)
{
...
@@ -513,6 +513,9 @@ export default {
...
@@ -513,6 +513,9 @@ export default {
if
([
5
,
6
,
7
].
includes
(
noticeType
))
{
if
([
5
,
6
,
7
].
includes
(
noticeType
))
{
this
.
$router
.
push
(
"
/boxSea/query/
"
+
row
.
id
);
this
.
$router
.
push
(
"
/boxSea/query/
"
+
row
.
id
);
}
}
if
([
9
].
includes
(
noticeType
)){
await
dealCustomsSplitNotify
(
row
.
notifyId
)
}
this
.
closeDialog
();
this
.
closeDialog
();
break
;
break
;
}
}
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
View file @
7d58a160
...
@@ -828,8 +828,8 @@ export default {
...
@@ -828,8 +828,8 @@ export default {
remarks
:
this
.
shopForm
.
remarks
,
remarks
:
this
.
shopForm
.
remarks
,
volume
:
this
.
putin
.
volume
,
volume
:
this
.
putin
.
volume
,
weight
:
this
.
putin
.
weight
,
weight
:
this
.
putin
.
weight
,
chargeWeight
:
this
.
putin
.
chargeWeight
,
chargeWeight
:
this
.
shopForm
.
chargeWeight
,
chargeVolume
:
this
.
putin
.
chargeVolume
,
chargeVolume
:
this
.
shopForm
.
chargeVolume
,
worth
:
this
.
shopForm
.
worth
||
0
,
worth
:
this
.
shopForm
.
worth
||
0
,
specsRecordVOList
:
this
.
shopForm
.
specsRecordVOList
,
specsRecordVOList
:
this
.
shopForm
.
specsRecordVOList
,
shipmentSplit
:
true
shipmentSplit
:
true
...
@@ -899,6 +899,7 @@ export default {
...
@@ -899,6 +899,7 @@ export default {
deleteRow
(
index
){
deleteRow
(
index
){
const
spliceIndex
=
typeof
index
!==
'
number
'
?
this
.
shopForm
.
specsRecordVOList
.
length
-
1
:
index
const
spliceIndex
=
typeof
index
!==
'
number
'
?
this
.
shopForm
.
specsRecordVOList
.
length
-
1
:
index
this
.
shopForm
.
specsRecordVOList
.
splice
(
spliceIndex
,
1
)
this
.
shopForm
.
specsRecordVOList
.
splice
(
spliceIndex
,
1
)
this
.
calcDefaultData
()
},
},
// 计算体积
// 计算体积
calcVolume
(
row
){
calcVolume
(
row
){
...
@@ -947,18 +948,32 @@ export default {
...
@@ -947,18 +948,32 @@ export default {
})
})
this
.
currentPutIn
=
null
this
.
currentPutIn
=
null
// 根据比例计算默认的收费方数和收费重量
this
.
calcDefaultData
()
const
orderItem
=
this
.
orderData
.
orderItemVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
shopForm
.
orderItemId
)
const
rate
=
this
.
putin
.
num
/
orderItem
.
warehouseInInfoVO
.
cartonsNum
this
.
$set
(
this
.
shopForm
,
'
chargeVolume
'
,
(
orderItem
.
chargeVolume
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
chargeWeight
'
,
(
orderItem
.
chargeWeight
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
worth
'
,
(
orderItem
.
worth
*
rate
).
toFixed
(
2
))
},
},
// 清空放入记录
// 清空放入记录
clearAll
(){
clearAll
(){
this
.
$confirm
(
this
.
$t
(
"
确定要清空放入数据么?
"
)).
then
(
res
=>
{
this
.
$confirm
(
this
.
$t
(
"
确定要清空放入数据么?
"
)).
then
(
res
=>
{
this
.
shopForm
.
specsRecordVOList
=
[]
this
.
shopForm
.
specsRecordVOList
=
[]
this
.
calcDefaultData
()
})
})
},
// 计算默认的收费数据
calcDefaultData
()
{
// 根据比例计算默认的收费方数和收费重量
const
orderItem
=
this
.
orderData
.
orderItemVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
shopForm
.
orderItemId
)
const
rate
=
this
.
putin
.
num
/
orderItem
.
warehouseInInfoVO
.
cartonsNum
/*
* 1 普货 2 重货 3 泡货
* 普货 收费数据=入仓数据
* 泡货 收费方数=入仓方数 收费重量 = 品名收费重量*比例
* 重货 收费方数=品名收费方数*比例 收费重量 = 入仓重量
* */
const
chargeVolume
=
orderItem
.
itemType
===
2
?
(
orderItem
.
chargeVolume
*
rate
).
toFixed
(
2
)
:
this
.
putin
.
volume
const
chargeWeight
=
orderItem
.
itemType
===
3
?
(
orderItem
.
chargeWeight
*
rate
).
toFixed
(
2
)
:
this
.
putin
.
weight
this
.
$set
(
this
.
shopForm
,
'
chargeVolume
'
,
chargeVolume
)
this
.
$set
(
this
.
shopForm
,
'
chargeWeight
'
,
chargeWeight
)
this
.
$set
(
this
.
shopForm
,
'
worth
'
,
(
orderItem
.
worth
*
rate
).
toFixed
(
2
))
}
}
},
},
};
};
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
View file @
7d58a160
...
@@ -335,17 +335,25 @@ export default {
...
@@ -335,17 +335,25 @@ export default {
if
(
res
.
code
===
566
)
{
if
(
res
.
code
===
566
)
{
this
.
$confirm
(
res
.
msg
+
this
.
$t
(
'
是否需要一起预装?
'
),
this
.
$t
(
"
提示
"
),
{
this
.
$confirm
(
res
.
msg
+
this
.
$t
(
'
是否需要一起预装?
'
),
this
.
$t
(
"
提示
"
),
{
dangerouslyUseHTMLString
:
true
,
dangerouslyUseHTMLString
:
true
,
type
:
"
warning
"
,
distinguishCancelAndClose
:
true
,
confirmButtonText
:
'
预装关联单
'
,
cancelButtonText
:
'
仅当前订单
'
})
})
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
createGoods
({
...
params
,
relationStatus
:
2
}).
then
((
res
)
=>
{
createGoods
({
...
params
,
relationStatus
:
2
,
singleLoad
:
false
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
queryAllData
();
this
.
queryAllData
();
});
});
});
});
})
})
.
catch
((
_
)
=>
{
.
catch
((
action
)
=>
{
this
.
queryAllData
();
if
(
action
==
'
cancel
'
){
createGoods
({
...
params
,
relationStatus
:
2
,
singleLoad
:
true
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
queryAllData
();
});
});
}
});
});
}
}
});
});
...
...
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
View file @
7d58a160
...
@@ -264,6 +264,7 @@ export default {
...
@@ -264,6 +264,7 @@ export default {
},
},
methods
:
{
methods
:
{
getCustomsOrderList
(
dcCustomsType
)
{
getCustomsOrderList
(
dcCustomsType
)
{
if
(
!
dcCustomsType
)
dcCustomsType
=
'
1
'
customsOrderList
({
customsOrderList
({
shipmentId
:
this
.
shipmentObj
.
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
customsTypes
:
dcCustomsType
===
"
3
"
?
"
2,3
"
:
dcCustomsType
,
customsTypes
:
dcCustomsType
===
"
3
"
?
"
2,3
"
:
dcCustomsType
,
...
@@ -547,6 +548,7 @@ export default {
...
@@ -547,6 +548,7 @@ export default {
},
},
watch
:
{
watch
:
{
"
cusDeclarationObj.dcCustomsType
"
(
val
)
{
"
cusDeclarationObj.dcCustomsType
"
(
val
)
{
console
.
log
(
val
,
'
val
'
)
this
.
getCustomsOrderList
(
val
);
this
.
getCustomsOrderList
(
val
);
},
},
"
cusDeclarationObj.documentInfo
"
(
val
)
{
"
cusDeclarationObj.documentInfo
"
(
val
)
{
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
7d58a160
...
@@ -699,7 +699,7 @@ export default {
...
@@ -699,7 +699,7 @@ export default {
type
:
"
warning
"
,
type
:
"
warning
"
,
}
)
}
)
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
createGoods
({
...
params
,
relationStatus
:
1
}
).
then
((
res
)
=>
{
createGoods
({
...
params
,
relationStatus
:
1
,
singleLoad
:
true
}
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
queryAllData
();
this
.
queryAllData
();
}
);
}
);
...
@@ -713,17 +713,25 @@ export default {
...
@@ -713,17 +713,25 @@ export default {
if
(
res
.
code
===
566
)
{
if
(
res
.
code
===
566
)
{
this
.
$confirm
(
res
.
msg
+
this
.
$t
(
'
是否需要一起预装?
'
),
this
.
$t
(
"
提示
"
),
{
this
.
$confirm
(
res
.
msg
+
this
.
$t
(
'
是否需要一起预装?
'
),
this
.
$t
(
"
提示
"
),
{
dangerouslyUseHTMLString
:
true
,
dangerouslyUseHTMLString
:
true
,
type
:
"
warning
"
,
distinguishCancelAndClose
:
true
,
confirmButtonText
:
'
预装关联单
'
,
cancelButtonText
:
'
仅当前订单
'
}
)
}
)
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
createGoods
({
...
params
,
relationStatus
:
2
}
).
then
((
res
)
=>
{
createGoods
({
...
params
,
relationStatus
:
2
,
singleLoad
:
false
}
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
queryAllData
();
this
.
queryAllData
();
}
);
}
);
}
);
}
);
}
)
}
)
.
catch
((
_
)
=>
{
.
catch
((
action
)
=>
{
this
.
queryAllData
();
if
(
action
==
'
cancel
'
){
createGoods
({
...
params
,
relationStatus
:
2
,
singleLoad
:
true
}
).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
queryAllData
();
}
);
}
);
}
}
);
}
);
}
}
}
);
}
);
...
...
src/views/ecw/box/shippingSea/nodePage/tally/index.vue
View file @
7d58a160
...
@@ -178,7 +178,7 @@ export default {
...
@@ -178,7 +178,7 @@ export default {
list
.
push
({
list
.
push
({
...
oItem
,
...
oItem
,
warehouseInInfo
,
warehouseInInfo
,
multiSpecification
:
i
tem
.
multiSpecification
,
multiSpecification
:
oI
tem
.
multiSpecification
,
positionNo
:
oItem
.
positionNo
,
positionNo
:
oItem
.
positionNo
,
tallyStatus
:
item
.
tallyStatus
,
tallyStatus
:
item
.
tallyStatus
,
tallyTime
:
item
.
tallyTime
,
tallyTime
:
item
.
tallyTime
,
...
...
src/views/ecw/order/components/PrintTag.vue
View file @
7d58a160
...
@@ -77,7 +77,8 @@ import lodop from '@/utils/lodop'
...
@@ -77,7 +77,8 @@ import lodop from '@/utils/lodop'
export
default
{
export
default
{
filters
:
{
parseTime
}
,
filters
:
{
parseTime
}
,
props
:{
props
:{
orderId
:
[
String
,
Number
]
orderId
:
[
String
,
Number
],
warehouseInNum
:
Number
}
,
}
,
data
(){
data
(){
return
{
return
{
...
@@ -116,7 +117,9 @@ export default {
...
@@ -116,7 +117,9 @@ export default {
loadData
(){
loadData
(){
printTag
(
this
.
orderId
).
then
(
res
=>
{
printTag
(
this
.
orderId
).
then
(
res
=>
{
this
.
$set
(
this
,
'
tags
'
,
res
.
data
)
this
.
$set
(
this
,
'
tags
'
,
res
.
data
)
this
.
form
.
start
=
res
.
data
[
0
].
num
// this.form.start = res.data[0].num
// 起始标签为入仓数 + 1
this
.
form
.
start
=
this
.
warehouseInNum
+
1
this
.
form
.
end
=
res
.
data
[
res
.
data
.
length
-
1
].
num
this
.
form
.
end
=
res
.
data
[
res
.
data
.
length
-
1
].
num
}
)
}
)
}
,
}
,
...
@@ -126,9 +129,10 @@ export default {
...
@@ -126,9 +129,10 @@ export default {
this
.
$emit
(
'
close
'
);
this
.
$emit
(
'
close
'
);
}
,
}
,
showPreview
(){
showPreview
(){
/* 2023-07-17 要求不限制范围
if(this.form.end > this.tags[this.tags.length-1].num){
if(this.form.end > this.tags[this.tags.length-1].num){
return this.$message.error(this.$t('结束标签不对'))
return this.$message.error(this.$t('结束标签不对'))
}
}
*/
if
(
!
this
.
printTags
.
length
){
if
(
!
this
.
printTags
.
length
){
return
this
.
$message
.
error
(
this
.
$t
(
'
指定区域无可打印标签
'
))
return
this
.
$message
.
error
(
this
.
$t
(
'
指定区域无可打印标签
'
))
}
}
...
...
src/views/ecw/order/edit.vue
View file @
7d58a160
...
@@ -199,7 +199,7 @@
...
@@ -199,7 +199,7 @@
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
<dict-selector
v-model=
"row.unit"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
defaultable
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"
$t('数量') + '(个)'
"
width=
"120px"
>
<el-table-column
:label=
"
`${$t('数量')}(${$t('个')})`
"
width=
"120px"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<el-input
v-model=
"row.quantity"
@
keyup.native=
"checkPositiveInterge(row, 'quantity')"
:disabled=
"!canAddProduct || !productEditable"
/>
<el-input
v-model=
"row.quantity"
@
keyup.native=
"checkPositiveInterge(row, 'quantity')"
:disabled=
"!canAddProduct || !productEditable"
/>
</
template
>
</
template
>
...
@@ -382,7 +382,7 @@
...
@@ -382,7 +382,7 @@
<dict-selector
:type=
"DICT_TYPE.ECW_HARVEST_METHOD"
v-model=
"form.harvestMethod"
:filter=
"item => item.value == 1 || homeDeliveryService"
defaultable
:disabled=
"false"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_HARVEST_METHOD"
v-model=
"form.harvestMethod"
:filter=
"item => item.value == 1 || homeDeliveryService"
defaultable
:disabled=
"false"
/>
</el-form-item>
</el-form-item>
</div>
</div>
<div
v-if=
"homeDeliveryService &&
form.harvestMethod
== 2"
>
<div
v-if=
"homeDeliveryService &&
+form.harvestMethod =
== 2"
>
<el-form-item
:label=
"$t('收货地区')"
prop=
"country"
>
<el-form-item
:label=
"$t('收货地区')"
prop=
"country"
>
<area-selector
<area-selector
:country=
"form.consigneeVO ? form.consigneeVO.country : undefined"
:country=
"form.consigneeVO ? form.consigneeVO.country : undefined"
...
@@ -562,7 +562,8 @@ let makeDefaultFormData = () => {
...
@@ -562,7 +562,8 @@ let makeDefaultFormData = () => {
isExternalWarehouse
:
false
,
isExternalWarehouse
:
false
,
externalWarehouseDtoList
:[],
externalWarehouseDtoList
:[],
orderItemVOList
:[],
orderItemVOList
:[],
drawee
:
2
drawee
:
2
,
harvestMethod
:
"
1
"
}
}
}
}
window
.
Decimal
=
Decimal
window
.
Decimal
=
Decimal
...
...
src/views/ecw/order/index.vue
View file @
7d58a160
...
@@ -430,7 +430,7 @@
...
@@ -430,7 +430,7 @@
exclude(scope.row.status, [0]) &&
exclude(scope.row.status, [0]) &&
exclude(scope.row.abnormalState, [5,6,7,8])
exclude(scope.row.abnormalState, [5,6,7,8])
"
>
"
>
<el-dropdown-item
@
click.native=
"printTag
OrderId=scope.row.orderId
"
v-hasPermi=
"['ecw:order:print_tag']"
>
{{
$t
(
'
打印标签
'
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"printTag
(scope.row)
"
v-hasPermi=
"['ecw:order:print_tag']"
>
{{
$t
(
'
打印标签
'
)
}}
</el-dropdown-item>
</
template
>
</
template
>
<!-- 打印入仓单 -->
<!-- 打印入仓单 -->
...
@@ -456,7 +456,7 @@
...
@@ -456,7 +456,7 @@
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
<special-needs
:orderNo=
"orderNo"
:show.sync=
"isShow"
:currency=
"JSON.stringify(currencyList)"
:order-id=
"orderId"
@
determine=
"getList"
></special-needs>
<special-needs
:orderNo=
"orderNo"
:show.sync=
"isShow"
:currency=
"JSON.stringify(currencyList)"
:order-id=
"orderId"
@
determine=
"getList"
></special-needs>
<print-tag
v-if=
"printTagOrderId !== null"
:order-id=
"printTagOrderId"
@
close=
"printTagOrderId=null"
/>
<print-tag
v-if=
"printTagOrderId !== null"
:order-id=
"printTagOrderId"
@
close=
"printTagOrderId=null"
:warehouse-in-num=
"printTagWarehouseInNum"
/>
<print-warehouse-receipt
v-if=
"printWarehouseReceiptOrderId !== null"
:order-id=
"printWarehouseReceiptOrderId"
@
close=
"printWarehouseReceiptOrderId=null"
/>
<print-warehouse-receipt
v-if=
"printWarehouseReceiptOrderId !== null"
:order-id=
"printWarehouseReceiptOrderId"
@
close=
"printWarehouseReceiptOrderId=null"
/>
<print-lading-bill
v-if=
"printLadingBillOrderId !== null"
:order-id=
"printLadingBillOrderId"
@
close=
"printLadingBillOrderId=null"
/>
<print-lading-bill
v-if=
"printLadingBillOrderId !== null"
:order-id=
"printLadingBillOrderId"
@
close=
"printLadingBillOrderId=null"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
...
@@ -567,6 +567,7 @@ export default {
...
@@ -567,6 +567,7 @@ export default {
dateFilter
:
[],
//筛选日期
dateFilter
:
[],
//筛选日期
printTagOrderId
:
null
,
// 显示打印标签的订单ID
printTagOrderId
:
null
,
// 显示打印标签的订单ID
printTagWarehouseInNum
:
0
,
// 打印标签的订单入仓箱数
printWarehouseReceiptOrderId
:
null
,
// 打印入仓单的订单ID
printWarehouseReceiptOrderId
:
null
,
// 打印入仓单的订单ID
printLadingBillOrderId
:
null
,
// 打印提单的订单ID
printLadingBillOrderId
:
null
,
// 打印提单的订单ID
showBatchPickup
:
false
,
// 是否显示批量提货弹窗
showBatchPickup
:
false
,
// 是否显示批量提货弹窗
...
@@ -881,6 +882,11 @@ export default {
...
@@ -881,6 +882,11 @@ export default {
onBatchClose
(){
onBatchClose
(){
this
.
showBatchPickup
=
false
this
.
showBatchPickup
=
false
this
.
handleQuery
()
this
.
handleQuery
()
},
// 打印标签
printTag
(
order
){
this
.
printTagOrderId
=
order
.
orderId
this
.
printTagWarehouseInNum
=
order
.
sumNum
}
}
}
}
};
};
...
...
src/views/ecw/order/splitApply/components/PutIn.vue
View file @
7d58a160
...
@@ -94,7 +94,8 @@
...
@@ -94,7 +94,8 @@
</
template
>
</
template
>
<
template
v-slot=
"{row,$index}"
>
<
template
v-slot=
"{row,$index}"
>
<el-form-item
label-width=
"0"
>
<el-form-item
label-width=
"0"
>
<el-input-number
controls-position=
"right"
:min=
"0"
class=
"w-100 tight"
v-model=
"row.boxGauge1"
@
blur=
"calcVolume(row)"
/>
<input
class=
"input"
v-model=
"row.boxGauge1"
type=
"number"
@
keyup=
"calcVolume(row)"
@
change=
"calcVolume(row)"
:min=
"0"
></input>
<!--
<el-input-number
controls-position=
"right"
:min=
"0"
class=
"w-100 tight"
v-model=
"row.boxGauge1"
@
blur=
"calcVolume(row)"
/>
-->
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -104,7 +105,8 @@
...
@@ -104,7 +105,8 @@
</
template
>
</
template
>
<
template
v-slot=
"{row,$index}"
>
<
template
v-slot=
"{row,$index}"
>
<el-form-item
label-width=
"0"
>
<el-form-item
label-width=
"0"
>
<el-input-number
controls-position=
"right"
:min=
"0"
class=
"w-100 tight"
v-model=
"row.boxGauge2"
@
blur=
"calcVolume(row)"
/>
<input
class=
"input"
v-model=
"row.boxGauge2"
type=
"number"
@
keyup=
"calcVolume(row)"
@
change=
"calcVolume(row)"
:min=
"0"
></input>
<!--
<el-input-number
controls-position=
"right"
:min=
"0"
class=
"w-100 tight"
v-model=
"row.boxGauge2"
@
blur=
"calcVolume(row)"
/>
-->
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -114,7 +116,8 @@
...
@@ -114,7 +116,8 @@
</
template
>
</
template
>
<
template
v-slot=
"{row,$index}"
>
<
template
v-slot=
"{row,$index}"
>
<el-form-item
label-width=
"0"
>
<el-form-item
label-width=
"0"
>
<el-input-number
controls-position=
"right"
:min=
"0"
class=
"w-100 tight"
v-model=
"row.boxGauge3"
@
blur=
"calcVolume(row)"
/>
<input
class=
"input"
v-model=
"row.boxGauge3"
type=
"number"
@
keyup=
"calcVolume(row)"
@
change=
"calcVolume(row)"
:min=
"0"
></input>
<!--
<el-input-number
controls-position=
"right"
:min=
"0"
class=
"w-100 tight"
v-model=
"row.boxGauge3"
@
blur=
"calcVolume(row)"
/>
-->
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -338,12 +341,15 @@ export default {
...
@@ -338,12 +341,15 @@ export default {
},
},
// 计算体积
// 计算体积
calcVolume
(
row
){
calcVolume
(
row
){
// 改了规格后按照规格计算体积
this
.
$set
(
row
,
'
calcVolumeByBoxGauge
'
,
1
)
let
volume
=
Decimal
(
row
.
boxGauge1
||
0
)
let
volume
=
Decimal
(
row
.
boxGauge1
||
0
)
.
times
(
Decimal
(
row
.
boxGauge2
||
0
))
.
times
(
Decimal
(
row
.
boxGauge2
||
0
))
.
times
(
Decimal
(
row
.
boxGauge3
||
0
)).
div
(
1000000
)
.
times
(
Decimal
(
row
.
boxGauge3
||
0
)).
div
(
1000000
)
// 如果是箱的单位要乘以箱数
// 如果是箱的单位要乘以箱数
if
(
row
.
specificationType
===
1
)
{
if
(
+
row
.
specificationType
===
1
)
{
row
.
volume
=
volume
.
times
(
Decimal
(
row
.
num
||
0
))
volume
=
volume
.
times
(
Decimal
(
row
.
num
||
0
))
}
}
// 最低0.01
// 最低0.01
...
@@ -355,16 +361,22 @@ export default {
...
@@ -355,16 +361,22 @@ export default {
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
let
arr
=
[]
let
arr
=
[]
locationArr
.
forEach
(
item
=>
{
locationArr
.
forEach
(
item
=>
{
arr
.
push
(
`
${
item
.
areaName
}${
item
.
locationName
||
''
}
`
)
arr
.
push
(
`
${
item
.
areaName
||
''
}${
item
.
locationName
||
''
}
`
)
})
})
return
Array
.
from
(
new
Set
(
arr
)).
join
(
"
,
"
)
return
Array
.
from
(
new
Set
(
arr
)).
join
(
"
,
"
)
},
},
// 根据箱数计算体积,重量,数量
// 根据箱数计算体积,重量,数量
calc
(
row
){
calc
(
row
){
const
rate
=
row
.
num
/
this
.
warehouseRecord
.
cartonsNum
const
rate
=
row
.
num
/
this
.
warehouseRecord
.
cartonsNum
row
.
volume
=
(
this
.
warehouseRecord
.
volume
*
rate
).
toFixed
(
2
)
row
.
volume
=
(
this
.
warehouseRecord
.
volume
*
rate
).
toFixed
(
2
)
row
.
weight
=
(
this
.
warehouseRecord
.
weight
*
rate
).
toFixed
(
2
)
row
.
weight
=
(
this
.
warehouseRecord
.
weight
*
rate
).
toFixed
(
2
)
row
.
quantity
=
(
this
.
warehouseRecord
.
quantityAll
*
rate
).
toFixed
(
0
)
row
.
quantity
=
(
this
.
warehouseRecord
.
quantityAll
*
rate
).
toFixed
(
0
)
// 如果是按照规格计算体积,则重新计算
if
(
row
.
calcVolumeByBoxGauge
){
this
.
calcVolume
(
row
)
}
},
},
closeDialog
(){
closeDialog
(){
this
.
show
=
false
this
.
show
=
false
...
@@ -385,6 +397,9 @@ export default {
...
@@ -385,6 +397,9 @@ export default {
if
(
this
.
splitTotal
(
'
weight
'
)
>
this
.
leftData
(
'
weight
'
)){
if
(
this
.
splitTotal
(
'
weight
'
)
>
this
.
leftData
(
'
weight
'
)){
return
this
.
$message
.
error
(
"
拆出重量不能大于剩余重量
"
)
return
this
.
$message
.
error
(
"
拆出重量不能大于剩余重量
"
)
}
}
if
(
this
.
splitTotal
(
'
quantity
'
)
>
this
.
leftData
(
'
quantity
'
)){
return
this
.
$message
.
error
(
"
拆出数量不能大于剩余数量
"
)
}
// 如果全拆(拆出箱数 == 原入仓箱数),则体积重量也需要全拆
// 如果全拆(拆出箱数 == 原入仓箱数),则体积重量也需要全拆
if
(
this
.
splitTotal
(
'
num
'
)
===
this
.
warehouseRecord
.
cartonsNum
){
if
(
this
.
splitTotal
(
'
num
'
)
===
this
.
warehouseRecord
.
cartonsNum
){
if
(
this
.
splitTotal
(
'
volume
'
)
!==
this
.
warehouseRecord
.
volume
){
if
(
this
.
splitTotal
(
'
volume
'
)
!==
this
.
warehouseRecord
.
volume
){
...
...
src/views/ecw/order/splitApply/components/WarehouseRecord.vue
View file @
7d58a160
...
@@ -32,10 +32,10 @@
...
@@ -32,10 +32,10 @@
<el-table-column
:label=
"$t('体积') + '(m³)'"
prop=
"volume"
/>
<el-table-column
:label=
"$t('体积') + '(m³)'"
prop=
"volume"
/>
<el-table-column
:label=
"$t('重量') + '(kg)'"
prop=
"weight"
/>
<el-table-column
:label=
"$t('重量') + '(kg)'"
prop=
"weight"
/>
<el-table-column
:label=
"$t('数量(个)')"
prop=
"quantity"
/>
<el-table-column
:label=
"$t('数量(个)')"
prop=
"quantity"
/>
<
!--<el-table-column :label="$t('入仓快递单号')" prop="expressNo" />--
>
<
el-table-column
:label=
"$t('入仓快递单号')"
prop=
"expressNo"
/
>
<
!--<
el-table-column :label="$t('首次入仓时间')" prop="inTime" >
<el-table-column
:label=
"$t('首次入仓时间')"
prop=
"inTime"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
inTime
|
parseTime
}}
</
template
>
<
template
slot-scope=
"{row}"
>
{{
row
.
inTime
|
parseTime
}}
</
template
>
</el-table-column>
-->
</el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
slot-scope=
"{row}"
>
<
template
slot-scope=
"{row}"
>
<!--
{{
getLocationName
(
row
.
orderLocationList
)
}}
-->
<!--
{{
getLocationName
(
row
.
orderLocationList
)
}}
-->
...
@@ -52,10 +52,12 @@
...
@@ -52,10 +52,12 @@
<
script
>
<
script
>
import
WarehouseAreaSelect
from
"
@/components/WarehouseAreaSelect/index.vue
"
;
import
WarehouseAreaSelect
from
"
@/components/WarehouseAreaSelect/index.vue
"
;
import
{
parseTime
}
from
"
@/utils/ruoyi
"
;
export
default
{
export
default
{
name
:
"
WarehouseRecord
"
,
name
:
"
WarehouseRecord
"
,
components
:
{
WarehouseAreaSelect
},
components
:
{
WarehouseAreaSelect
},
filters
:
{
parseTime
},
props
:{
props
:{
list
:{
list
:{
type
:
Array
,
type
:
Array
,
...
@@ -73,6 +75,7 @@ export default {
...
@@ -73,6 +75,7 @@ export default {
this
.
show
=
true
this
.
show
=
true
},
},
methods
:{
methods
:{
parseTime
,
// 获取储位名称
// 获取储位名称
getLocationName
(
locationArr
){
getLocationName
(
locationArr
){
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
...
...
src/views/ecw/order/splitApply/index.vue
View file @
7d58a160
This diff is collapsed.
Click to expand it.
src/views/ecw/order/warehousing/index.vue
View file @
7d58a160
...
@@ -164,7 +164,15 @@
...
@@ -164,7 +164,15 @@
<span
style=
"font-size: 18px"
>
{{$t('入仓影像')}}
</span>
<span
style=
"font-size: 18px"
>
{{$t('入仓影像')}}
</span>
</div>
</div>
<div>
<div>
<image-and-video-upload
:fileSize=
"50"
:isShowTip=
"true"
v-model=
"form.urls"
></image-and-video-upload>
<image-and-video-upload
:fileSize=
"50"
:isShowTip=
"true"
v-model=
"form.urls"
:type=
"1"
:id=
"orderId"
@
delete=
"handleDeleteImage"
@
refresh=
"getWarehousePictureList"
></image-and-video-upload>
</div>
</div>
</el-card>
</el-card>
<div
style=
"text-align: center;margin-top: 15px"
v-if=
"!(order.status !== 3 && isEdit)"
>
<div
style=
"text-align: center;margin-top: 15px"
v-if=
"!(order.status !== 3 && isEdit)"
>
...
@@ -222,7 +230,7 @@ import {
...
@@ -222,7 +230,7 @@ import {
getOrderWarehouseIn
,
getOrderWarehouseIn
,
getSpecialListByOrderId
,
listByOrderId
,
getSpecialListByOrderId
,
listByOrderId
,
orderWarehouseInFinish
,
orderWarehouseInUpdateLabel
,
orderWarehouseInFinish
,
orderWarehouseInUpdateLabel
,
rollbackDelete
,
warehousePictureList
rollbackDelete
,
warehousePicture
Delete
,
warehousePicture
List
}
from
'
@/api/ecw/order
'
}
from
'
@/api/ecw/order
'
import
orderBaseInfo
from
"
@/components/OrderBaseInfo
"
import
orderBaseInfo
from
"
@/components/OrderBaseInfo
"
import
WarehouseAreaDialog
from
'
@/components/WarehouseAreaDialog
'
import
WarehouseAreaDialog
from
'
@/components/WarehouseAreaDialog
'
...
@@ -284,6 +292,8 @@ export default {
...
@@ -284,6 +292,8 @@ export default {
sumVolume
:
''
,
sumVolume
:
''
,
sumWeight
:
''
,
sumWeight
:
''
,
},
},
// form.urls的完整数据
urlsObject
:
[],
currencyList
:[],
currencyList
:[],
order
:
{},
order
:
{},
orderId
:
undefined
,
orderId
:
undefined
,
...
@@ -320,6 +330,12 @@ export default {
...
@@ -320,6 +330,12 @@ export default {
},
},
methods
:
{
methods
:
{
// 删除了入仓影像
handleDeleteImage
(
index
)
{
warehousePictureDelete
(
this
.
urlsObject
[
index
].
id
).
then
(()
=>
{
this
.
urlsObject
.
splice
(
index
,
1
);
})
},
getOrderItemList
(){
getOrderItemList
(){
this
.
orderItemList
=
[]
this
.
orderItemList
=
[]
return
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
return
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
...
@@ -333,7 +349,8 @@ export default {
...
@@ -333,7 +349,8 @@ export default {
bizId
:
this
.
order
.
orderId
,
bizId
:
this
.
order
.
orderId
,
type
:
1
type
:
1
}).
then
(
r
=>
{
}).
then
(
r
=>
{
this
.
form
.
urls
=
r
.
data
.
map
(
i
=>
i
.
url
)
this
.
form
.
urls
=
r
.
data
.
map
(
i
=>
i
.
url
).
reverse
()
this
.
urlsObject
=
r
.
data
.
reverse
()
})
})
},
},
include
(){
include
(){
...
...
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