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
7f094b50
Commit
7f094b50
authored
Sep 15, 2022
by
dcy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调仓模块修改
parent
c0153bfa
Changes
6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
528 additions
and
88 deletions
+528
-88
batchSingleApplication.js
src/api/ecw/batchSingleApplication.js
+16
-0
order.js
src/api/ecw/order.js
+8
-0
batchSingleApplication.vue
src/views/ecw/order/batchSingleApplication.vue
+61
-58
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+17
-2
warehouseLocation.vue
src/views/ecw/order/components/warehouseLocation.vue
+303
-0
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+123
-28
No files found.
src/api/ecw/batchSingleApplication.js
View file @
7f094b50
...
...
@@ -73,3 +73,19 @@ export function cancelAdjustApply(data){
data
})
}
//调仓审核
export
function
warehouseApprovalCancel
(
params
,
reason
){
return
request
({
url
:
`/order/order-warehouse-approval/cancel/
${
params
}
`
,
method
:
'
get
'
,
params
:{
reason
}
})
}
// 调仓-查看最近的调仓纪录和审核状态
export
function
adjustLastWithStatus
(
params
){
return
request
({
url
:
'
/order/order-warehouse-in/adjust-last-with-status
'
,
method
:
'
get
'
,
params
,
})
}
src/api/ecw/order.js
View file @
7f094b50
...
...
@@ -403,3 +403,11 @@ export function exportPackingList(){
responseType
:
'
blob
'
})
}
//获得特需
export
function
orderSpecialNeedGet
(
params
){
return
request
({
url
:
'
/ecw/order-special-need/get
'
,
method
:
'
get
'
,
params
})
}
src/views/ecw/order/batchSingleApplication.vue
View file @
7f094b50
...
...
@@ -44,6 +44,8 @@
</el-table-column>
<!-- <el-table-column label="始发仓" prop="startWarehouseName"></el-table-column>-->
<el-table-column
label=
"目的地"
prop=
"objectiveName"
></el-table-column>
<el-table-column
label=
"始发仓"
prop=
"startWarehouseName"
>
</el-table-column>
<el-table-column
label=
"发货人"
>
<
template
v-slot=
"{row}"
>
<div>
...
...
@@ -52,6 +54,7 @@
{{
row
.
consignorName
}}
</p>
<p>
{{
row
.
consignorPhone
}}
</p>
</div>
</div>
...
...
@@ -64,28 +67,34 @@
{{
row
.
consigneeName
}}
</p>
<p>
{{
row
.
consigneePhone
}}
{{
row
.
consigneePhone
}}
</p>
</div>
</
template
>
</el-table-column>
<el-table-column>
<
template
v-slot=
"{row}"
>
<el-button
@
click=
"canceLtiaoCang(row)"
type=
"text"
v-if=
"row.inWarehouseState === 10"
>
取消调仓
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-row
style=
"margin-top: 30px"
>
<el-col
:span=
"8"
>
<div
style=
"text-align: right;"
>
{{ list[0]
&&
list[0].adjustToStartWarehouseName ? list[0].adjustToStartWarehouseName : list[0]
&&
list[0].startWarehouseName ? list[0].startWarehouseName : '' }}
</div>
</el-col>
<el-col
:span=
"3"
><div
style=
"text-align:center"
>
调至
</div></el-col>
<el-col
:span=
"8"
><el-select
v-model=
"params.warehouseInId"
>
<el-option
v-for=
"(item ,index) in availableWarehouse"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"index"
></el-option>
</el-select></el-col>
</el-row>
<div
style=
"display: flex;justify-content:center; margin-top: 20px"
>
<div
style=
"width: 200px; margin: 0 10px"
>
{{ list[0]
&&
list[0].startWarehouseName ? list[0].startWarehouseName : '' }}
</div>
<div>
</div>
<div
style=
"width: 200px;"
>
<el-select
v-model=
"params.warehouseInId"
>
<el-option
v-for=
"(item ,index) in availableWarehouse"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"index"
></el-option>
</el-select>
</div>
</div>
<el-divider></el-divider>
...
...
@@ -93,14 +102,19 @@
审批流程
</h1>
<div
style=
"padding: 20px"
>
<work-flow
xmlkey=
"warehouse_transfer"
v-model=
"params.copyUserId"
/
>
<!-- <work-flow xmlkey="warehouse_transfer" v-model="params.copyUserId"/>--
>
</div>
<div
style=
"text-align: center"
>
<el-button
style=
"margin-right: 50px"
v-if=
"adjustmentBol"
>
审核中
</el-button>
<el-button
v-else
style=
"margin-right: 50px"
@
click=
"submit"
:disabled=
"isSubmit"
>
提交申请
</el-button>
<div
style=
"text-align: center"
v-if=
"!adjustmentBol"
>
<el-button
style=
"margin-right: 50px"
@
click=
"submit"
>
提交申请
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
取消
</el-button>
</div>
<!-- <warehouseDetails></warehouseDetails>-->
<div
style=
"text-align: center"
v-else
>
<el-button
@
click=
"()=>{
$router.push({path:'/bpm/process-instance/detail',query:{id:this.applyStatus.orderWarehouseApprovalBackVO.formId}})
}"
>
审核中
</el-button>
<el-button
@
click=
"cancellationOfOrder"
>
取消审核
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
取消
</el-button>
</div>
</div>
</el-dialog>
</template>
...
...
@@ -108,10 +122,10 @@
<
script
>
import
{
DICT_TYPE
,
getDictDatas
}
from
"
@/utils/dict
"
;
import
{
adjustApplyStatus
,
cancelAdjustApply
,
adjustApplyStatus
,
adjustLastWithStatus
,
cancelAdjustApply
,
ecwOrderList
,
orderWarehouseInAdjustApply
,
warehouseAdjustmentList
,
warehouseAdjustmentList
,
warehouseApprovalCancel
,
}
from
"
@/api/ecw/batchSingleApplication
"
;
import
{
getProcessDefinitionBpmnXMLByKey
}
from
"
@/api/bpm/definition
"
;
import
warehouseDetails
from
"
@/views/ecw/order/components/warehouseDetails
"
;
...
...
@@ -148,18 +162,8 @@ export default {
}
},
computed
:
{
isSubmit
()
{
let
flag
=
true
;
if
(
this
.
list
.
length
===
1
&&
this
.
list
[
0
].
status
===
5
)
{
flag
=
false
}
else
{
let
l
=
this
.
list
.
map
(
e
=>
e
.
startWarehouseId
)
if
(
this
.
list
.
every
(
e
=>
e
.
status
===
5
)
&&
[...
new
Set
(
l
)].
length
===
1
)
flag
=
false
}
return
flag
;
},
adjustmentBol
()
{
return
this
.
list
.
some
(
e
=>
e
.
inWarehouseState
===
10
)
return
this
.
applyStatus
?.
orderWarehouseAdjustBackVO
?.
status
===
1
}
},
data
()
{
...
...
@@ -176,6 +180,8 @@ export default {
warehouseOutId
:
undefined
,
copyUserId
:
[],
},
applyStatus
:{}
//调仓-查看状态
}
},
methods
:
{
...
...
@@ -183,12 +189,18 @@ export default {
getOrderPage
({
orderIdList
:
this
.
orderList
}).
then
(
r
=>
{
this
.
list
=
r
.
data
.
list
warehouseAdjustmentList
({
id
:
this
.
list
[
0
].
startWarehouseId
}).
then
(
r
=>
this
.
availableWarehouse
=
r
.
data
)
adjustLastWithStatus
({
orderId
:
this
.
list
[
0
].
orderId
,
lang
:
0
}).
then
(
r
=>
{
this
.
applyStatus
=
r
.
data
if
(
r
.
data
?.
orderWarehouseAdjustBackVO
?.
status
===
1
){
this
.
params
.
warehouseInId
=
r
.
data
.
orderWarehouseAdjustBackVO
?.
warehouseInId
}
})
})
},
submit
()
{
let
p
=
this
.
list
.
map
(
e
=>
e
.
orderId
).
join
(
'
,
'
);
this
.
params
.
orderIds
=
p
;
this
.
params
.
warehouseOutId
=
this
.
list
[
0
].
startWarehouseId
;
this
.
params
.
warehouseOutId
=
this
.
list
[
0
].
adjustToStartWarehouseId
?
this
.
list
[
0
].
adjustToStartWarehouseId
:
this
.
list
[
0
].
startWarehouseId
;
this
.
params
.
orderNo
=
this
.
list
[
0
].
orderNo
orderWarehouseInAdjustApply
(
this
.
params
).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
...
...
@@ -197,34 +209,25 @@ export default {
}
})
},
async
canceLtiaoCang
(
row
)
{
let
res
=
await
adjustApplyStatus
({
orderId
:
row
.
orderId
})
if
(
res
.
data
.
isBatch
)
{
this
.
$message
.
warning
(
'
批量提提交请耐心等待
'
)
}
else
{
this
.
$prompt
(
'
请问您是否要取消调仓?
'
,
'
提示
'
,
{
cancellationOfOrder
(){
this
.
$prompt
(
'
请输入审核调仓原因
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
,
}).
then
((
val
)
=>
{
cancelAdjustApply
({
orderId
:
row
.
orderId
,
reason
:
val
.
value
}).
then
(
r
=>
{
if
(
r
.
code
===
0
)
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
取消调仓成功!
'
});
this
.
getOrderListFn
()
}).
then
(({
value
})
=>
{
warehouseApprovalCancel
(
this
.
applyStatus
.
orderWarehouseApprovalBackVO
.
id
,
value
)
.
then
(
r
=>
{
if
(
r
.
data
){
this
.
$message
.
success
(
'
取消调仓成功
'
)
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
已取消
'
message
:
'
取消成功
'
});
});
}
},
}
}
</
script
>
...
...
src/views/ecw/order/components/warehouseDetails.vue
View file @
7f094b50
...
...
@@ -38,6 +38,9 @@
</el-table-column>
<el-table-column
label=
"入仓时间"
>
<
template
v-slot=
"{row}"
>
{{
parseTime
(
row
.
rucangTime
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"运输方式"
>
...
...
@@ -54,10 +57,22 @@
<el-table-column
label=
"发货人"
>
<
template
v-slot=
"{row}"
>
<div></div>
<p>
{{
row
.
consignorName
}}
</p>
<p>
{{
row
.
consignorPhone
}}
</p>
</
template
>
</el-table-column>
<
<
el-table-column
header-align=
"center"
align=
"center"
prop=
"columnProp"
label=
"columnLabel"
>
</el-table-column>
label="收货人">
<
template
v-slot=
"{row}"
>
<p>
...
...
@@ -211,7 +226,7 @@ export default {
warehouseApprovalGetByFormId
({
formId
:
this
.
processInstanceID
}).
then
(
r
=>
{
this
.
FeeDetails
=
r
.
data
this
.
FeeDetails
.
details
=
JSON
.
parse
(
r
.
data
.
details
)
getOrderPage
({
orderIdList
:
r
.
data
.
o
rderIds
}).
then
(
res
=>
{
getOrderPage
({
orderIdList
:
r
.
data
.
adjustActualO
rderIds
}).
then
(
res
=>
{
this
.
list
=
res
.
data
.
list
})
...
...
src/views/ecw/order/components/warehouseLocation.vue
0 → 100644
View file @
7f094b50
<
template
>
<div>
<el-dialog
title=
"选择储位"
:visible.sync=
"opened"
width=
"600px"
:before-close=
"handleClose()"
v-bind=
"$attrs"
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"activeWarehouse =
{}">
<el-tab-pane
v-if=
"item.warehouseId === warehouseId"
:label=
"item.name"
:name=
"'' + index"
v-for=
"(item, index) in area"
:key=
"index"
>
<div>
<div
style=
"text-align: center"
>
区域
</div>
<div
style=
"background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
v-for=
"(warehouse, i) in item.children"
:key=
"i"
>
<div
class=
"warehouse-block"
:class=
"
{'warehouse-block-selected': warehouse.selected, 'warehouse-block-active': warehouse.id === activeWarehouse.id}"
@click="handleSelectWarehouse(warehouse)"
>
{{
warehouse
.
name
}}
</div>
</el-col>
</el-row>
</div>
</div>
<div>
<div
style=
"text-align: center"
>
仓位
</div>
<div
class=
"position-group"
>
<div
class=
"position"
v-for=
"position in activeWarehouse.positionList"
:key=
"item.id"
>
<div
class=
"position-item"
v-for=
"item in position.children"
@
click=
"handleSelectPosition(item)"
:class=
"
{'position-item-active': item.selected}">
{{
item
.
code
}}
</div>
</div>
</div>
</div>
<el-divider></el-divider>
已选择:
{{
selected
.
join
(
'
,
'
)
}}
<el-divider></el-divider>
</el-tab-pane>
</el-tabs>
<span
slot=
"footer"
>
<el-button
@
click=
"opened = false"
>
关 闭
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
提 交
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getByWarehouseId
}
from
'
@/api/ecw/warehouseArea
'
export
default
{
name
:
'
warehouseLocation
'
,
props
:
{
visible
:
{
type
:
Boolean
,
default
:
false
},
value
:
Array
,
orderId
:
Number
,
cityId
:
{
type
:
Number
,
default
:
undefined
},
warehouseId
:
{
type
:
Number
,
default
:
undefined
},
},
data
()
{
return
{
opened
:
false
,
area
:
[],
activeName
:
'
0
'
,
selectedWarehouse
:
[],
selectedPosition
:
[],
activeWarehouse
:
{}
};
},
watch
:
{
visible
(
val
)
{
if
(
val
)
{
this
.
opened
=
true
getByWarehouseId
({
cityId
:
this
.
cityId
,}).
then
(
r
=>
{
const
area
=
r
.
data
area
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
// 区域
f
.
selected
=
false
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
// 子位置
k
.
selected
=
false
})
})
})
})
this
.
area
=
area
})
}
else
{
}
},
opened
(
val
)
{
if
(
val
)
{
}
else
{
this
.
$emit
(
'
update:visible
'
,
false
)
}
}
},
methods
:
{
handleSubmit
()
{
this
.
$emit
(
'
input
'
,
this
.
inputValue
)
this
.
opened
=
false
},
handleClose
()
{},
handleSelectWarehouse
(
warehouse
)
{
this
.
activeWarehouse
=
warehouse
if
(
!!
warehouse
.
selected
)
{
warehouse
.
selected
=
false
}
else
{
warehouse
.
selected
=
true
// 区域被选,清空该区域下的位置
if
(
warehouse
.
positionList
)
warehouse
.
positionList
.
forEach
(
g
=>
{
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
k
.
selected
=
false
})
})
}
},
handleSelectPosition
(
position
)
{
if
(
!!
position
.
selected
)
{
position
.
selected
=
false
// 反选位置时,检查父区域下是否所有位置被反选,若是,选父区域
const
parentAre
=
this
.
area
.
find
(
e
=>
e
.
id
===
position
.
domainId
).
children
.
find
(
f
=>
f
.
id
===
position
.
areaId
)
if
(
!
parentAre
.
selected
)
{
// 检查父区域下是否所有位置被反选
let
hasSelected
=
false
parentAre
.
positionList
.
forEach
(
g
=>
{
// 位置
g
.
children
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
hasSelected
=
true
})
})
// 所有子位置被反选,选父区域
if
(
!
hasSelected
)
parentAre
.
selected
=
true
}
}
else
{
position
.
selected
=
true
// 选位置时,父区域反选
this
.
area
.
find
(
e
=>
e
.
id
===
position
.
domainId
).
children
.
find
(
f
=>
f
.
id
===
position
.
areaId
).
selected
=
false
}
}
},
mounted
()
{
console
.
log
(
'
area dialog mounted
'
)
},
computed
:
{
// code array
selected
()
{
const
result
=
[]
this
.
area
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
// 区域
if
(
f
.
selected
)
result
.
push
(
f
.
code
)
else
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
if
(
g
.
selected
)
result
.
push
(
k
.
code
)
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
result
.
push
(
k
.
code
)
})
})
})
})
return
result
},
inputValue
(){
const
result
=
[]
this
.
area
.
forEach
(
e
=>
{
// 仓库
e
.
children
.
forEach
(
f
=>
{
// 区域
if
(
f
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
wareId
:
f
.
pid
,
areaId
:
f
.
id
})
else
if
(
f
.
positionList
)
f
.
positionList
.
forEach
(
g
=>
{
// 位置
if
(
g
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
wareId
:
g
.
domainId
,
areaId
:
g
.
areaId
,
locationId
:
g
.
id
})
else
if
(
g
.
children
)
g
.
children
.
forEach
(
k
=>
{
// 子位置
if
(
k
.
selected
)
result
.
push
({
orderId
:
this
.
orderId
,
wareId
:
k
.
domainId
,
areaId
:
k
.
areaId
,
locationId
:
k
.
id
})
})
})
})
})
return
result
}
}
}
</
script
>
<
style
scoped
>
.warehouse-block
{
background-color
:
white
;
border-radius
:
5px
;
height
:
42px
;
line-height
:
42px
;
text-align
:
center
;
margin-bottom
:
15px
;
cursor
:
pointer
;
transition
:
0.5s
;
box-shadow
:
#bfbfbf
3px
3px
14px
0
;
user-select
:
none
;
}
.warehouse-block
:hover
{
opacity
:
0.9
;
transition
:
0.5s
;
transform
:
scale
(
1.02
);
box-shadow
:
#8f8f8f
7px
5px
14px
0
;
}
.warehouse-block-active
{
box-shadow
:
#7e9dbd
7px
5px
14px
0
;
transform
:
scale
(
1.04
);
}
.warehouse-block-selected
{
color
:
#ffffff
;
background-color
:
#4085e3
;
}
.position-group
{
display
:
flex
;
background-color
:
#EFEFEF
;
border
:
1px
#EFEFEF
solid
;
gap
:
1px
;
min-height
:
64px
;
}
.position
{
width
:
20%
;
height
:
64px
;
display
:
flex
;
flex-direction
:
column
;
gap
:
1px
;
user-select
:
none
;
}
.position-item
{
width
:
100%
;
background-color
:
#FFFFFF
;
flex
:
1
;
cursor
:
pointer
;
text-align
:
center
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.position-item
:hover
{
background-color
:
#d7dbe3
;
}
.position-item-active
{
background-color
:
#4085e3
;
color
:
white
;
}
.position-item-active
:hover
{
background-color
:
#4085e3
;
opacity
:
0.8
;
}
</
style
>
src/views/ecw/order/transferWarehousing.vue
View file @
7f094b50
This diff is collapsed.
Click to expand it.
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