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
a4958c79
Commit
a4958c79
authored
Jul 14, 2022
by
dcy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
9a3ff84a
6d69608b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
605 additions
and
111 deletions
+605
-111
index.js
src/router/index.js
+7
-0
agent.vue
src/views/ecw/box/shipping/agent.vue
+40
-0
booking.vue
src/views/ecw/box/shipping/booking.vue
+95
-48
preinstall.vue
src/views/ecw/box/shipping/preinstall.vue
+380
-0
shippingChart.vue
src/views/ecw/box/shipping/shippingChart.vue
+36
-17
shippingSea.vue
src/views/ecw/box/shipping/shippingSea.vue
+13
-4
trailer.vue
src/views/ecw/box/shipping/trailer.vue
+34
-42
No files found.
src/router/index.js
View file @
a4958c79
...
...
@@ -362,6 +362,13 @@ export const constantRoutes = [
props
:
true
,
name
:
'
shippingSea
'
,
meta
:
{
title
:
'
海运出货操作
'
,
icon
:
''
,
activeMenu
:
'
/shipment/boxSea
'
}
},
{
path
:
'
shippingSea/preinstall/:boxId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/shipping/preinstall
'
),
props
:
true
,
name
:
'
preinstall
'
,
meta
:
{
title
:
'
出货安排(预装)
'
,
icon
:
''
,
activeMenu
:
'
/shipment/boxSea
'
}
}
]
},
...
...
src/views/ecw/box/shipping/agent.vue
0 → 100644
View file @
a4958c79
<
template
>
<div>
<el-form
ref=
"agentForm"
:rules=
"rules"
:model=
"agent"
label-width=
"120px"
>
<el-form-item
label=
"代理商Agent"
>
<el-select
v-model=
"agent.agent"
placeholder=
"请选择代理商"
>
</el-select>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
提交
</el-button>
<el-button
@
click=
"cancel"
>
保存
</el-button>
</el-row>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
agent
"
,
data
()
{
return
{
agent
:
{},
};
},
methods
:
{
onSubmit
()
{
this
.
$refs
[
"
agentForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
alert
(
"
submit!
"
);
}
});
},
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
src/views/ecw/box/shipping/booking.vue
View file @
a4958c79
<
template
>
<el-form
ref=
"bookingForm"
:rules=
"rules"
:model=
"booking"
label-width=
"120px"
class=
"booking-form"
>
<el-form-item
label=
"SO NO"
>
<el-input
v-model=
"booking.soNo"
></el-input>
</el-form-item>
<el-form-item
label=
"船公司类型"
>
<el-select
v-model=
"booking.type"
placeholder=
"请选择船公司类型"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"驳船港"
>
<el-select
v-model=
"booking.bargePort"
placeholder=
"请选择驳船港"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"大船港"
>
<el-select
v-model=
"booking.bigShipPort"
placeholder=
"请选择大船港"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"目的港"
>
<el-select
v-model=
"booking.destination"
placeholder=
"请选择目的港"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"订舱公司"
>
<el-select
v-model=
"booking.bookingCompany"
placeholder=
"请选择订舱公司"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"预计驳船时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.bargeTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"预计开船时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.departureTime"
></el-date-picker>
</el-form-item>
<el-form-item>
<div>
<el-form
ref=
"bookingForm"
:rules=
"rules"
:model=
"booking"
label-width=
"140px"
class=
"booking-form"
>
<el-form-item
label=
"SO NO"
>
<el-input
v-model=
"booking.soNo"
></el-input>
</el-form-item>
<el-form-item
label=
"船公司类型"
>
<el-select
v-model=
"booking.type"
placeholder=
"请选择船公司类型"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"驳船港"
>
<el-select
v-model=
"booking.bargePort"
placeholder=
"请选择驳船港"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"大船港"
>
<el-select
v-model=
"booking.bigShipPort"
placeholder=
"请选择大船港"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"目的港"
>
<el-select
v-model=
"booking.destination"
placeholder=
"请选择目的港"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"订舱公司"
>
<el-select
v-model=
"booking.bookingCompany"
placeholder=
"请选择订舱公司"
>
<el-option
v-for=
"type in types"
:key=
"type"
:label=
"type"
:value=
"type"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"预计驳船时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.bargeTime"
></el-date-picker>
</el-form-item>
<el-row>
<el-col
span=
"12"
>
<el-form-item
label=
"预计开船时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.departureTime"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
span=
"12"
>
<el-form-item
label=
"预计提单补料时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.feedTime"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
span=
"12"
>
<el-form-item
label=
"预计报关时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.declarationTime"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
span=
"12"
>
<el-form-item
label=
"预计截关时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.cutOffTime"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
提交
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-row>
</div>
</
template
>
<
script
>
...
...
@@ -67,13 +124,3 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
>
.booking-form
{
.el-form-item__content
{
>
div
{
width
:
100%
;
}
}
}
</
style
>
src/views/ecw/box/shipping/preinstall.vue
0 → 100644
View file @
a4958c79
<
template
>
<div
class=
"app-container preinstall"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
<el-form-item
label=
"入仓时间"
prop=
"warehousingTime"
>
<el-date-picker
v-model=
"queryParams.warehousingTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
<el-form-item
label=
"始发地"
prop=
"startWarehouseId"
>
<el-select
v-model=
"queryParams.startWarehouseId"
placeholder=
"请选择始发地"
clearable
size=
"small"
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"destWarehouseId"
>
<el-select
v-model=
"queryParams.destWarehouseId"
placeholder=
"请选择目的地"
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"state"
>
<el-select
v-model=
"queryParams.state"
placeholder=
"请选择状态"
clearable
size=
"small"
>
<el-option
v-for=
"item in stateOps"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"备案"
prop=
"filing"
>
<el-select
v-model=
"queryParams.filing"
placeholder=
"请选择备案"
clearable
size=
"small"
>
<el-option
v-for=
"item in filingOps"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"报关方式"
prop=
"declarationMethod"
>
<el-select
v-model=
"queryParams.declarationMethod"
placeholder=
"请选择报关方式"
clearable
size=
"small"
>
<el-option
v-for=
"item in declarationMethodOps"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"订单号码"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.orderNo"
placeholder=
"请输入订单号码"
clearable
/>
</el-form-item>
<el-form-item
label=
"已预装单号"
prop=
"preinstalledNo"
>
<el-input
v-model=
"queryParams.preinstalledNo"
placeholder=
"请输入已预装单号"
clearable
/>
</el-form-item>
<el-form-item
label=
"品名"
prop=
"productName"
>
<el-input
v-model=
"queryParams.productName"
placeholder=
"请输入品名"
clearable
/>
</el-form-item>
<el-form-item
label=
"重货比"
prop=
"ratioMin"
>
<el-input
v-model=
"queryParams.ratioMin"
placeholder=
"请输入"
clearable
/>
</el-form-item>
<el-form-item
label=
""
prop=
"ratioMax"
>
<el-input
v-model=
"queryParams.ratioMax"
placeholder=
"请输入"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索已预装订单
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索待预装订单
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 表格 -->
<el-card
style=
"margin-top: 15px"
>
<el-row
class=
"preinstall-title"
>
<div>
<p>
自编号:
</p>
<p>
111
</p>
</div>
<div>
<p>
柜号:
</p>
<p>
111
</p>
</div>
<div>
<p>
容量:
</p>
<p>
111
</p>
</div>
<div>
<p>
始发地:
</p>
<p>
111
</p>
</div>
<div>
<p>
目的地:
</p>
<p>
111
</p>
</div>
</el-row>
<el-row
class=
"preinstall-table"
>
<!-- 已预装订单 -->
<el-col
:span=
"12"
>
<el-row
class=
"preinstall-title"
>
<div
class=
"table-label"
>
已预装订单
</div>
<div>
<p>
总计:
</p>
<p>
111
</p>
</div>
<div
class=
"red-label"
>
<p>
可预装方数:
</p>
<p>
111
</p>
</div>
<div
class=
"red-label"
>
<p>
重量:
</p>
<p>
111
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"success"
size=
"small"
>
增加
</el-button>
</div>
</el-row>
<el-row
class=
"preinstall-title"
>
<div>
<p>
第一部分
</p>
<p>
111
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"danger"
size=
"small"
>
删除部分
</el-button>
<el-button
type=
"danger"
size=
"small"
>
删除订单
</el-button>
<el-button
type=
"primary"
size=
"small"
>
收起
</el-button>
</div>
</el-row>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"目的地"
align=
"center"
prop=
"cubNo"
/>
<el-table-column
label=
"入仓时间"
align=
"center"
prop=
"cabinetId"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"transportType"
/>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"squareNumber"
/>
<el-table-column
label=
"体积/重量/重货比"
align=
"center"
prop=
"weight"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
>
操作
</el-button>
<el-button
type=
"primary"
size=
"small"
>
操作
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-col>
<!-- 待预装订单 -->
<el-col
:span=
"12"
>
<el-row
class=
"preinstall-title"
>
<div
class=
"table-label"
>
待预装订单
</div>
<div
class=
"preinstall-title preinstalled"
>
<div
class=
"red-label"
>
<p>
筛选后待预装数量:
</p>
<p>
111
</p>
</div>
<div
class=
"red-label"
>
<p>
方数:
</p>
<p>
111
</p>
</div>
<div
class=
"red-label"
>
<p>
重量:
</p>
<p>
111
</p>
</div>
</div>
</el-row>
<el-row>
<el-row
class=
"preinstall-title order-title"
>
<div>
<p>
EC11111
</p>
</div>
<div>
<p>
发往:
</p>
<p>
111
</p>
</div>
<div>
<p>
海运拼仓
</p>
</div>
<div>
<p>
入仓时间
</p>
<p>
111
</p>
</div>
<div>
<p>
重货比
</p>
<p>
111
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"primary"
size=
"small"
>
预装
</el-button>
</div>
</el-row>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"备案"
align=
"center"
prop=
"cubNo"
/>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"cabinetId"
/>
<el-table-column
label=
"体积/重量"
align=
"center"
prop=
"transportType"
/>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
"squareNumber"
/>
<el-table-column
label=
"包装类型"
align=
"center"
prop=
"weight"
/>
<el-table-column
label=
"材质"
align=
"center"
prop=
"boxStatus"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
>
预装
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-row>
</el-col>
</el-row>
</el-card>
<!-- 操作员 -->
<el-row
style=
"margin-top: 15px"
>
<el-row>
<el-form
ref=
"operatorForm"
:model=
"operatorData"
size=
"small"
:inline=
"true"
label-width=
"120px"
:rules=
"rules"
>
<el-form-item
label=
"目的地操作员"
prop=
"operator"
>
<el-select
v-model=
"operatorData.operator"
placeholder=
"请选择目的地操作员"
clearable
size=
"small"
>
</el-select>
</el-form-item>
</el-form>
</el-row>
<el-row
style=
"margin-top: 10px"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
提交申请
</el-button>
</el-row>
</el-row>
</div>
</template>
<
script
>
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
export
default
{
name
:
"
preinstall
"
,
components
:
{},
data
()
{
return
{
// 状态
stateOps
:
[
{
value
:
"
1
"
,
label
:
"
拆单
"
},
{
value
:
"
2
"
,
label
:
"
关联单
"
},
],
// 备案
filingOps
:
this
.
getDictDatas
(
DICT_TYPE
.
COMMISSION_PRODUCT_APPROVAL
),
// 报关方式
declarationMethodOps
:
this
.
getDictDatas
(
DICT_TYPE
.
ECW_CUSTOMS_TYPE
),
// 仓库
warehouseList
:
[],
// 遮罩层
loading
:
false
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 出货列表
list
:
[],
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
},
// 目的地操作员
operatorData
:
{
operator
:
null
,
},
rules
:
{
operator
:
[
{
required
:
true
,
message
:
"
请选择目的地操作员
"
,
trigger
:
"
change
"
},
],
},
};
},
computed
:
{
// 始发地
exportWarehouseList
()
{
return
this
.
warehouseList
.
filter
(
(
item
)
=>
item
.
tradeType
==
"
2
"
||
item
.
type
==
"
3
"
);
},
// 目的地
importWarehouseList
()
{
return
this
.
warehouseList
.
filter
(
(
item
)
=>
item
.
tradeType
==
"
1
"
||
item
.
type
==
"
3
"
);
},
},
created
()
{
getWarehouseList
().
then
((
res
)
=>
(
this
.
warehouseList
=
res
.
data
));
// this.getList();
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{
...
this
.
queryParams
};
// 执行查询
getboxPage
(
params
).
then
((
response
)
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 查看按钮操作 */
handleCommand
(
row
,
command
)
{
switch
(
command
)
{
case
"
sea
"
:
this
.
$router
.
push
(
"
/boxSea/shippingSea/
"
+
row
.
id
);
break
;
case
"
edit
"
:
break
;
case
"
delete
"
:
break
;
}
},
/** 提交 */
onSubmit
()
{
this
.
$refs
[
"
operatorForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
alert
(
"
submit!
"
);
}
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.preinstall
{
p
{
margin
:
0
;
}
.preinstall-title
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
padding
:
0
10px
;
&
.preinstalled
{
flex
:
1
;
display
:
flex
;
justify-content
:
flex-end
;
>
div
{
display
:
flex
;
}
}
&
.order-title
{
margin-bottom
:
0px
;
background-color
:
#e6ebf5
;
height
:
45px
;
}
>
div
{
display
:
flex
;
margin-right
:
10px
;
}
.table-label
{
font-size
:
14px
;
}
.red-label
{
color
:
red
;
}
.table-button
{
flex
:
1
;
margin
:
0
;
display
:
flex
;
justify-content
:
flex-end
;
}
}
.preinstall-table
{
display
:
flex
;
>
div
{
border
:
1px
solid
#e6ebf5
;
padding
:
10px
0px
;
}
>
div
:first-child
{
margin-right
:
10px
;
}
}
}
</
style
>
src/views/ecw/box/shipping/
flow
Chart.vue
→
src/views/ecw/box/shipping/
shipping
Chart.vue
View file @
a4958c79
...
...
@@ -9,7 +9,7 @@
<p>
{{
node
.
title
}}
</p>
</
template
>
<
template
v-else-if=
"node.unNode"
>
<el-button
type=
"primary"
>
AGENT
</el-button>
<el-button
type=
"primary"
@
click=
"nodeClick(node)"
>
AGENT
</el-button>
</
template
>
</div>
</div>
...
...
@@ -18,9 +18,11 @@
</div>
</div>
</el-scrollbar>
<el-dialog
:title=
"title"
:visible.sync=
"dialogVisible"
width=
"30%"
destroy-on-close
>
<booking
@
closeDialog=
"closeDialog"
v-if=
"type === 'booking'"
/>
<trailer
@
closeDialog=
"closeDialog"
v-if=
"type === 'trailer'"
/>
<el-dialog
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:width=
"dialogConfig.width"
destroy-on-close
>
<booking
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'booking'"
/>
<trailer
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'trailer'"
/>
<preinstall
v-if=
"dialogConfig.type === 'preinstall'"
/>
<agentWidget
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'agent'"
/>
</el-dialog>
</div>
...
...
@@ -29,18 +31,24 @@
<
script
>
import
booking
from
"
./booking
"
;
import
trailer
from
"
./trailer
"
;
import
preinstall
from
"
./preinstall
"
;
import
agentWidget
from
"
./agent
"
;
export
default
{
name
:
"
flow
Chart
"
,
components
:
{
booking
,
trailer
},
name
:
"
shipping
Chart
"
,
components
:
{
booking
,
trailer
,
preinstall
,
agentWidget
},
props
:
{
shippingType
:
String
,
boxId
:
String
,
},
data
()
{
return
{
dialogVisible
:
false
,
title
:
""
,
type
:
""
,
dialogConfig
:
{
dialogVisible
:
false
,
title
:
""
,
width
:
"
30%
"
,
type
:
""
,
},
chartData
:
{
sea
:
[
[
...
...
@@ -54,7 +62,7 @@ export default {
{
title
:
"
预装
"
,
imgSrc
:
require
(
"
@/assets/images/shipping/yz-start.png
"
),
type
:
"
preinstall
ed
"
,
type
:
"
preinstall
"
,
},
{
title
:
"
拖车
"
,
...
...
@@ -63,7 +71,8 @@ export default {
},
{
unNode
:
true
,
agent
:
true
,
type
:
"
agent
"
,
title
:
"
代理商设置
"
,
},
],
[
...
...
@@ -145,16 +154,27 @@ export default {
},
methods
:
{
closeDialog
()
{
this
.
dialogVisible
=
false
;
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
false
);
},
setCommonAttr
(
node
)
{
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
node
.
title
);
this
.
$set
(
this
.
dialogConfig
,
"
type
"
,
node
.
type
);
},
nodeClick
(
node
)
{
console
.
log
(
node
);
switch
(
node
.
type
)
{
case
"
booking
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
40%
"
);
this
.
setCommonAttr
(
node
);
break
;
case
"
trailer
"
:
this
.
dialogVisible
=
true
;
this
.
title
=
node
.
title
;
this
.
type
=
node
.
type
;
case
"
agent
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
25%
"
);
this
.
setCommonAttr
(
node
);
break
;
case
"
preinstall
"
:
this
.
$router
.
push
(
`/boxSea/shippingSea/preinstall/
${
this
.
boxId
}
`
);
break
;
}
},
...
...
@@ -167,7 +187,7 @@ export default {
width
:
max-content
;
display
:
flex
;
justify-content
:
center
;
margin
:
10px
;
padding
:
10px
;
.chart-nodes
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -183,7 +203,6 @@ export default {
}
}
.chart-arrow
{
// margin: -15px 10px 0px 10px;
margin
:
0
10px
;
}
}
...
...
src/views/ecw/box/shipping/shippingSea.vue
View file @
a4958c79
...
...
@@ -16,7 +16,7 @@
</el-card>
<div
class=
"shipping-flow"
>
<
flowChart
/>
<
shippingChart
:boxId=
"boxId"
/>
</div>
</el-col>
</el-row>
...
...
@@ -24,12 +24,12 @@
</
template
>
<
script
>
import
flowChart
from
"
./flow
Chart
"
;
import
shippingChart
from
"
./shipping
Chart
"
;
export
default
{
name
:
"
shippingSea
"
,
components
:
{
flow
Chart
,
shipping
Chart
,
},
props
:
{
boxId
:
String
,
...
...
@@ -37,8 +37,17 @@ export default {
};
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
>
.shipping-flow
{
margin-top
:
5px
;
// 页面内元素弹框form控件宽度设置
.el-form-item__content
{
>
div
{
width
:
100%
;
}
}
.operate-button
{
text-align
:
center
;
}
}
</
style
>
src/views/ecw/box/shipping/trailer.vue
View file @
a4958c79
<
template
>
<el-form
ref=
"trailerForm"
:rules=
"rules"
:model=
"trailer"
label-width=
"120px"
class=
"trailer-form"
>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"trailer.status"
placeholder=
"请选择状态"
>
<el-option
v-for=
"item in status"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"拖车公司"
>
<el-select
v-model=
"trailer.trailerCompany"
placeholder=
"请选择拖车公司"
>
<el-option
v-for=
"item in status"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"拖车时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"trailer.trailerTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"车牌"
>
<el-input
v-model=
"trailer.licensePlate"
></el-input>
</el-form-item>
<el-form-item
label=
"司机"
>
<el-input
v-model=
"trailer.driver"
></el-input>
</el-form-item>
<el-form-item
label=
"司机联系方式"
>
<el-input
v-model=
"trailer.telephone"
></el-input>
</el-form-item>
<el-form-item
label=
"货柜号"
>
<el-input
v-model=
"trailer.containerNumber"
></el-input>
</el-form-item>
<el-form-item
label=
"封条"
>
<el-input
v-model=
"trailer.seal"
></el-input>
</el-form-item>
<el-form-item>
<div>
<el-form
ref=
"trailerForm"
:rules=
"rules"
:model=
"trailer"
label-width=
"120px"
class=
"trailer-form"
>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"trailer.status"
placeholder=
"请选择状态"
>
<el-option
v-for=
"item in status"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"拖车公司"
>
<el-select
v-model=
"trailer.trailerCompany"
placeholder=
"请选择拖车公司"
>
<el-option
v-for=
"item in status"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"拖车时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"trailer.trailerTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"车牌"
>
<el-input
v-model=
"trailer.licensePlate"
></el-input>
</el-form-item>
<el-form-item
label=
"司机"
>
<el-input
v-model=
"trailer.driver"
></el-input>
</el-form-item>
<el-form-item
label=
"司机联系方式"
>
<el-input
v-model=
"trailer.telephone"
></el-input>
</el-form-item>
<el-form-item
label=
"货柜号"
>
<el-input
v-model=
"trailer.containerNumber"
></el-input>
</el-form-item>
<el-form-item
label=
"封条"
>
<el-input
v-model=
"trailer.seal"
></el-input>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
提交
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
</el-
form-item
>
</
el-form
>
</el-
row
>
</
div
>
</
template
>
<
script
>
...
...
@@ -74,13 +76,3 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
>
.trailer-form
{
.el-form-item__content
{
>
div
{
width
:
100%
;
}
}
}
</
style
>
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