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
3a614958
Commit
3a614958
authored
Jul 27, 2022
by
huhaiqing106
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
海运操作开发
parent
53ff8b17
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
850 additions
and
196 deletions
+850
-196
booking.vue
src/views/ecw/box/shippingSea/nodePage/booking.vue
+1
-1
seaProcess.vue
src/views/ecw/box/shippingSea/seaProcess.vue
+57
-183
seaStepDetail.vue
src/views/ecw/box/shippingSea/seaStepDetail.vue
+432
-3
shippingSea.vue
src/views/ecw/box/shippingSea/shippingSea.vue
+360
-9
No files found.
src/views/ecw/box/shippingSea/nodePage/booking.vue
View file @
3a614958
...
@@ -120,7 +120,7 @@ export default {
...
@@ -120,7 +120,7 @@ export default {
this
.
$refs
[
"
bookingForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
bookingForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
booking
({
booking
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
...
this
.
bookingObj
,
...
this
.
bookingObj
,
operateType
:
2
,
operateType
:
2
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
...
...
src/views/ecw/box/shippingSea/seaProcess.vue
View file @
3a614958
<
template
>
<
template
>
<div>
<div
class=
"app-seaProcess"
>
<!-- 海运流程图 -->
<!-- 海运流程图 -->
<el-scrollbar
:vertical=
"true"
style=
"width: 100%;"
viewClass=
"shipping-chart"
>
<el-scrollbar
:vertical=
"true"
viewClass=
"shipping-chart"
>
<div
v-for=
"(nodes,index) in
chartData['sea']
"
:key=
"index"
class=
"chart-nodes"
>
<div
v-for=
"(nodes,index) in
seaBaseData
"
:key=
"index"
class=
"chart-nodes"
>
<div
class=
"node-area"
>
<div
class=
"node-area"
>
<div
v-for=
"node in nodes"
:key=
"node.title"
@
click=
"nodeClick(node)"
class=
"node-div"
>
<div
v-for=
"node in nodes"
:key=
"node.title"
@
click=
"nodeClick(node)"
class=
"node-div"
>
<template
v-if=
"!node.unNode"
>
<template
v-if=
"!node.unNode"
>
<img
:src=
"
node.imgSrc
"
alt=
""
>
<img
:src=
"
getImgSrc(node)
"
alt=
""
>
<p>
{{
node
.
title
}}
</p>
<p>
{{
node
.
title
}}
</p>
</
template
>
</
template
>
<
template
v-else-if=
"node.unNode"
>
<
template
v-else-if=
"node.unNode"
>
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
</
template
>
</
template
>
</div>
</div>
</div>
</div>
<div
class=
"arrow-area"
v-if=
"index !== (
chartData['sea']
.length-1)"
>
<div
class=
"arrow-area"
v-if=
"index !== (
seaBaseData
.length-1)"
>
<img
src=
"@/assets/images/shipping/jt-start.png"
alt=
""
>
<img
src=
"@/assets/images/shipping/jt-start.png"
alt=
""
>
</div>
</div>
</div>
</div>
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
<!-- 弹窗 -->
<!-- 弹窗 -->
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:width=
"dialogConfig.width"
:fullscreen=
"dialogConfig.fullscreen"
:close-on-click-modal=
false
:modal-append-to-body=
false
append-to-body
destroy-on-close
>
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:width=
"dialogConfig.width"
:fullscreen=
"dialogConfig.fullscreen"
:close-on-click-modal=
false
:modal-append-to-body=
false
append-to-body
destroy-on-close
>
<component
v-bind:is=
"currentComponent"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:shipmentObj=
"shipmentObj"
:allSupplier=
"allSupplier"
:allDocks=
"allDocks"
:allUsers=
"allUsers"
></component>
<component
v-bind:is=
"currentComponent"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:shipmentObj=
"shipmentObj"
></component>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -44,9 +44,6 @@ import arrivalWidget from "./nodePage/arrival.vue";
...
@@ -44,9 +44,6 @@ import arrivalWidget from "./nodePage/arrival.vue";
import
cusClearanceWidget
from
"
./nodePage/cusClearance.vue
"
;
import
cusClearanceWidget
from
"
./nodePage/cusClearance.vue
"
;
import
unloadingWidget
from
"
./nodePage/unloading/index.vue
"
;
import
unloadingWidget
from
"
./nodePage/unloading/index.vue
"
;
import
settlementWidget
from
"
./nodePage/settlement.vue
"
;
import
settlementWidget
from
"
./nodePage/settlement.vue
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
getDockPage
}
from
"
@/api/ecw/dock
"
;
import
{
listUser
}
from
"
@/api/system/user
"
;
/**
/**
* 海运流程图
* 海运流程图
...
@@ -72,8 +69,8 @@ export default {
...
@@ -72,8 +69,8 @@ export default {
settlementWidget
,
settlementWidget
,
},
},
props
:
{
props
:
{
shippingType
:
String
,
shipmentObj
:
Object
,
shipmentObj
:
Object
,
seaBaseData
:
Array
,
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -84,161 +81,11 @@ export default {
...
@@ -84,161 +81,11 @@ export default {
width
:
""
,
width
:
""
,
fullscreen
:
false
,
fullscreen
:
false
,
},
},
// 流程图节点
chartData
:
{
sea
:
[
[
{
title
:
"
订舱
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/dc-start.png
"
),
type
:
"
booking
"
,
voName
:
"
bookSeaInfo
"
,
},
],
[
{
title
:
"
预装
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/yz-start.png
"
),
type
:
"
preinstall
"
,
voName
:
"
preInstallInfo
"
,
},
{
title
:
"
拖车
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/tc-start.png
"
),
type
:
"
trailer
"
,
voName
:
"
trailerInfo
"
,
},
{
title
:
"
AGENT
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/agent-start.png
"
),
type
:
"
agent
"
,
voName
:
"
agentInfo
"
,
},
],
[
{
title
:
"
装柜
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/zg-start.png
"
),
type
:
"
cabinet
"
,
voName
:
"
cabinetInfo
"
,
},
],
[
{
title
:
"
报关
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/bg-start.png
"
),
type
:
"
cusDeclaration
"
,
voName
:
"
clearanceInfo
"
,
},
{
title
:
"
配船
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/pc-start.png
"
),
type
:
"
ship
"
,
voName
:
"
shipConfigInfo
"
,
},
{
title
:
"
提单补料
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/tdcl-start.png
"
),
type
:
"
subMaterial
"
,
voName
:
"
ladingBillInfo
"
,
},
],
[
{
title
:
"
驳船
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/bc-start.png
"
),
type
:
"
barge
"
,
voName
:
"
bargeInfo
"
,
},
],
[
{
title
:
"
起运
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/qy-start.png
"
),
type
:
"
departure
"
,
voName
:
"
shippingInfo
"
,
},
],
[
{
title
:
"
提单Copy
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/tdcopy-start.png
"
),
type
:
"
blCopy
"
,
voName
:
"
ladingCopyInfo
"
,
},
{
type
:
"
clrDocument
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/qg-start.png
"
),
title
:
"
清关文件
"
,
voName
:
"
clearanceDocInfo
"
,
},
],
[
{
title
:
"
到港
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/dg-start.png
"
),
type
:
"
arrival
"
,
voName
:
"
arrivalInfo
"
,
},
],
[
{
title
:
"
清关
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/qg-start.png
"
),
type
:
"
cusClearance
"
,
voName
:
"
clearanceInfo
"
,
},
],
[
{
title
:
"
卸柜
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/xg-start.png
"
),
type
:
"
unloading
"
,
voName
:
"
cabinetUnloadInfo
"
,
},
],
[
{
title
:
"
结算
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/js-start.png
"
),
type
:
"
settlement
"
,
voName
:
"
settlementInfo
"
,
},
],
],
},
// 当前组件
// 当前组件
currentComponent
:
""
,
currentComponent
:
""
,
// 供应商
allSupplier
:
[],
// 码头
allDocks
:
[],
// 用户
allUsers
:
[],
};
};
},
},
created
()
{
created
()
{},
// 供应商
getSupplierPage
({
pageNo
:
"
1
"
,
pageSize
:
"
10000
"
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
allSupplier
=
data
.
list
.
map
((
item
)
=>
{
if
(
item
.
companyType
)
{
item
.
companyTypes
=
item
.
companyType
.
split
(
"
,
"
);
}
return
item
;
});
});
// 码头
getDockPage
({
pageNo
:
"
1
"
,
pageSize
:
"
10000
"
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
allDocks
=
data
.
list
;
});
// 用户
listUser
({
pageNo
:
"
1
"
,
pageSize
:
"
10000
"
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
allUsers
=
data
.
list
??
[];
});
},
methods
:
{
methods
:
{
/** 关闭弹窗 */
/** 关闭弹窗 */
closeDialog
()
{
closeDialog
()
{
...
@@ -271,43 +118,70 @@ export default {
...
@@ -271,43 +118,70 @@ export default {
}
}
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
},
},
/* 获取图片路径 */
getImgSrc
(
node
)
{
return
node
.
imgSrc
[
node
.
currStatus
??
"
start
"
];
},
},
},
watch
:
{
watch
:
{
shipmentObj
(
val
)
{
shipmentObj
(
val
)
{
console
.
log
(
val
);
// 迭代每个节点
this
.
shipmentObj
=
val
;
for
(
const
nodes
of
this
.
seaBaseData
)
{
for
(
const
node
of
nodes
)
{
const
{
keyName
,
voName
,
status
}
=
node
;
if
(
!
keyName
)
continue
;
const
{
start
,
wait
,
end
}
=
status
;
if
(
start
.
includes
(
val
[
keyName
]))
{
node
.
currStatus
=
"
start
"
;
}
if
(
start
.
includes
(
val
[
keyName
])
&&
val
[
voName
])
{
node
.
currStatus
=
"
wait
"
;
}
if
(
wait
.
includes
(
val
[
keyName
]))
{
node
.
currStatus
=
"
wait
"
;
}
if
(
end
.
includes
(
val
[
keyName
]))
{
node
.
currStatus
=
"
end
"
;
}
}
}
},
},
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.shipping-chart
{
.app-seaProcess
{
width
:
max-content
;
.shipping-chart
{
display
:
flex
;
width
:
max-content
;
justify-content
:
center
;
padding
:
10px
;
.chart-nodes
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
padding
:
10px
0
;
justify-content
:
center
;
.chart-nodes
{
.node-area
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
.node-area
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
.node-div
{
.node-div
{
margin-top
:
10px
;
margin-top
:
10px
;
cursor
:
pointer
;
cursor
:
pointer
;
p
{
p
{
margin-top
:
-10px
;
margin-top
:
-10px
;
margin-bottom
:
0px
;
margin-bottom
:
0px
;
text-align
:
center
;
text-align
:
center
;
}
}
}
}
}
}
.arrow-area
{
.arrow-area
{
margin
:
0
10px
;
margin
:
0
10px
;
}
}
}
}
}
}
}
...
...
src/views/ecw/box/shippingSea/seaStepDetail.vue
View file @
3a614958
This diff is collapsed.
Click to expand it.
src/views/ecw/box/shippingSea/shippingSea.vue
View file @
3a614958
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