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
09410acb
Commit
09410acb
authored
Jul 17, 2022
by
dcy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
b4fdb349
6b54d1d9
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1427 additions
and
54 deletions
+1427
-54
index.js
src/router/index.js
+0
-7
agent.vue
src/views/ecw/box/shipping/agent.vue
+6
-0
booking.vue
src/views/ecw/box/shipping/booking.vue
+17
-9
index.vue
src/views/ecw/box/shipping/cabinet/index.vue
+87
-0
startPacking.vue
src/views/ecw/box/shipping/cabinet/startPacking.vue
+329
-0
supplementOrder.vue
src/views/ecw/box/shipping/cabinet/supplementOrder.vue
+242
-0
preinstall.vue
src/views/ecw/box/shipping/preinstall.vue
+9
-4
shippingChart.vue
src/views/ecw/box/shipping/shippingChart.vue
+48
-20
shippingSea.vue
src/views/ecw/box/shipping/shippingSea.vue
+10
-2
trailer.vue
src/views/ecw/box/shipping/trailer.vue
+9
-1
detail.vue
src/views/ecw/offer/detail.vue
+2
-2
pending.vue
src/views/ecw/order/pending.vue
+11
-9
singleApply.vue
src/views/ecw/order/singleApply.vue
+192
-0
splitApply.vue
src/views/ecw/order/splitApply.vue
+465
-0
No files found.
src/router/index.js
View file @
09410acb
...
@@ -362,13 +362,6 @@ export const constantRoutes = [
...
@@ -362,13 +362,6 @@ export const constantRoutes = [
props
:
true
,
props
:
true
,
name
:
'
shippingSea
'
,
name
:
'
shippingSea
'
,
meta
:
{
title
:
'
海运出货操作
'
,
icon
:
''
,
activeMenu
:
'
/shipment/boxSea
'
}
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
View file @
09410acb
...
@@ -14,14 +14,19 @@
...
@@ -14,14 +14,19 @@
</
template
>
</
template
>
<
script
>
<
script
>
/**
* agent
*/
export
default
{
export
default
{
name
:
"
agent
"
,
name
:
"
agent
"
,
data
()
{
data
()
{
return
{
return
{
// agent对象
agent
:
{},
agent
:
{},
};
};
},
},
methods
:
{
methods
:
{
/** 提交 */
onSubmit
()
{
onSubmit
()
{
this
.
$refs
[
"
agentForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
agentForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
...
@@ -29,6 +34,7 @@ export default {
...
@@ -29,6 +34,7 @@ export default {
}
}
});
});
},
},
/** 取消 */
cancel
()
{
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
closeDialog
"
);
},
},
...
...
src/views/ecw/box/shipping/booking.vue
View file @
09410acb
...
@@ -34,12 +34,12 @@
...
@@ -34,12 +34,12 @@
</el-form-item>
</el-form-item>
<el-row>
<el-row>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"预计开船时间"
prop=
"time"
>
<el-form-item
label=
"预计开船时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.departureTime"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.departureTime"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-select>
...
@@ -48,12 +48,12 @@
...
@@ -48,12 +48,12 @@
</el-row>
</el-row>
<el-row>
<el-row>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"预计提单补料时间"
>
<el-form-item
label=
"预计提单补料时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.feedTime"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.feedTime"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-select>
...
@@ -62,12 +62,12 @@
...
@@ -62,12 +62,12 @@
</el-row>
</el-row>
<el-row>
<el-row>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"预计报关时间"
>
<el-form-item
label=
"预计报关时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.declarationTime"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.declarationTime"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-select>
...
@@ -76,12 +76,12 @@
...
@@ -76,12 +76,12 @@
</el-row>
</el-row>
<el-row>
<el-row>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"预计截关时间"
>
<el-form-item
label=
"预计截关时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.cutOffTime"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"booking.cutOffTime"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
span=
"12"
>
<el-col
:
span=
"12"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-form-item
label=
"通知人"
label-width=
"80px"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
<el-select
v-model=
"booking.feedTimePerson"
placeholder=
"请选择通知人"
>
</el-select>
</el-select>
...
@@ -99,18 +99,25 @@
...
@@ -99,18 +99,25 @@
</
template
>
</
template
>
<
script
>
<
script
>
/**
* 订舱
*/
export
default
{
export
default
{
name
:
"
booking
"
,
name
:
"
booking
"
,
data
()
{
data
()
{
return
{
return
{
// 船公司类型
types
:
[
"
PIL
"
,
"
MSK
"
,
"
CMA
"
,
"
COSCO
"
,
"
ZIM
"
,
"
ONE
"
,
"
OOCL
"
,
"
MSC
"
,
"
HPL
"
],
types
:
[
"
PIL
"
,
"
MSK
"
,
"
CMA
"
,
"
COSCO
"
,
"
ZIM
"
,
"
ONE
"
,
"
OOCL
"
,
"
MSC
"
,
"
HPL
"
],
// 订舱对象
booking
:
{},
booking
:
{},
// 校验
rules
:
{
rules
:
{
time
:
[{
required
:
true
,
message
:
"
请选择时间
"
,
trigger
:
"
change
"
}],
time
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
},
},
};
};
},
},
methods
:
{
methods
:
{
/** 提交 */
onSubmit
()
{
onSubmit
()
{
this
.
$refs
[
"
bookingForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
bookingForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
...
@@ -118,6 +125,7 @@ export default {
...
@@ -118,6 +125,7 @@ export default {
}
}
});
});
},
},
/** 取消 */
cancel
()
{
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
closeDialog
"
);
},
},
...
...
src/views/ecw/box/shipping/cabinet/index.vue
0 → 100644
View file @
09410acb
<
template
>
<div>
<el-form
ref=
"cabinetForm"
:rules=
"rules"
:model=
"cabinet"
label-width=
"80px"
>
<el-form-item
label=
"到仓时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"cabinet.arrivalTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"仓库"
>
<el-select
v-model=
"cabinet.warehouse"
placeholder=
"请选择仓库"
>
</el-select>
</el-form-item>
<el-form-item
label=
"装柜时间"
prop=
"time"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"cabinet.cabinetTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"出仓时间"
>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"cabinet.outTime"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"装柜图片"
>
<el-upload
class=
"upload-demo"
action=
""
:limit=
"1"
:file-list=
"cabinet.fileList"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
</el-form-item>
</el-form>
<!-- 开始装柜 -->
<el-dialog
title=
"开始装柜"
:visible.sync=
"dialogVisible"
fullscreen
:modal-append-to-body=
false
append-to-body
destroy-on-close
>
<startPacking
/>
</el-dialog>
<!-- 操作 -->
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</el-button>
<el-button
type=
"success"
>
封柜
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"danger"
@
click=
"startCabinet"
>
开始装柜
</el-button>
</el-row>
</div>
</
template
>
<
script
>
import
startPacking
from
"
./startPacking.vue
"
;
/**
* 装柜
*/
export
default
{
name
:
"
cabinet
"
,
components
:
{
startPacking
},
props
:
{
boxId
:
String
,
},
data
()
{
return
{
// 弹窗
dialogVisible
:
false
,
// 装柜对象
cabinet
:
{
fileList
:
[],
},
// 校验
rules
:
{
time
:
[{
required
:
true
,
message
:
"
请选择时间
"
,
trigger
:
"
change
"
}],
},
};
},
methods
:
{
/** 提交 */
onSubmit
()
{
this
.
$refs
[
"
cabinetForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
alert
(
"
submit!
"
);
}
});
},
/** 取消 */
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
},
/** 开始装柜 */
startCabinet
()
{
this
.
dialogVisible
=
true
;
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
src/views/ecw/box/shipping/cabinet/startPacking.vue
0 → 100644
View file @
09410acb
This diff is collapsed.
Click to expand it.
src/views/ecw/box/shipping/cabinet/supplementOrder.vue
0 → 100644
View file @
09410acb
<
template
>
<div
class=
"supplementOrder"
>
<el-card>
<!-- 内容区 -->
<el-row
class=
"content-area"
>
<!-- 左侧 -->
<el-col
:span=
"6"
class=
"left-area"
>
<el-row>
<el-button
type=
"primary"
>
新增
</el-button>
<el-button
type=
"primary"
>
删除
</el-button>
</el-row>
<el-row
v-for=
"item in testData"
:key=
"item.key"
class=
"title-info"
>
<div>
<p>
{{
item
.
title
}}
</p>
</div>
<div>
<p>
111
</p>
<p>
111
</p>
<p>
111
</p>
<div>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-row>
</el-col>
<!-- 右侧 -->
<el-col
:span=
"18"
class=
"right-area"
>
<el-row
class=
"right-title"
>
<div>
货物筛选
</div>
<div>
当前装柜:第一部分
</div>
<div>
可预装方数:111m³,重量:22KG
</div>
</el-row>
<!-- 搜索工作栏 -->
<el-row>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"始发地"
>
111
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"destination"
>
<el-select
v-model=
"queryParams.destination"
placeholder=
"请选择目的地"
>
</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>
<el-button
type=
"primary"
icon=
"el-icon-search"
>
搜索
</el-button>
</el-form-item>
</el-form>
</el-row>
<!-- 表格 -->
<el-row>
<el-row
class=
"table-title"
>
<div>
EC1111111
</div>
<div>
发往:xxxxxxxxxx
</div>
<div>
我司全代
</div>
<div>
入仓时间:1111111
</div>
<div>
<div>
[全部预装]
</div>
<div>
[收起]
</div>
</div>
</el-row>
<el-table
v-loading=
"loading"
:data=
"listData"
>
<el-table-column
label=
"序号"
type=
"index"
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"
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-pagination
background
layout=
"prev, pager, next"
:total=
"1000"
></el-pagination>
</el-col>
</el-row>
</el-card>
<el-row>
<el-col
:span=
"6"
class=
"totle-info"
>
<div>
<p>
总计:
</p>
<p>
111
</p>
</div>
<div>
<p>
容量:
</p>
<p>
111
</p>
</div>
</el-col>
</el-row>
<el-row
class=
"button-area"
>
<el-button
type=
"primary"
>
完成
</el-button>
</el-row>
</div>
</template>
<
script
>
/**
* 补单
*/
export
default
{
name
:
"
supplementOrder
"
,
data
()
{
return
{
// loading
loading
:
false
,
// 二维码/条码编号
cabinetNo
:
""
,
// 表格数据
listData
:
[
{
selfNo
:
"
111aaa
"
,
cubNo
:
"
11111111111111111111111111
"
,
},
{
selfNo
:
"
111aaa
"
,
cubNo
:
"
11111111111111111111111111
"
,
},
],
// 左侧数据
testData
:
[
{
key
:
1
,
title
:
"
第一部分
"
,
},
{
key
:
2
,
title
:
"
第二部分
"
,
},
],
// 查询参数
queryParams
:
{},
};
},
methods
:
{},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.supplementOrder
{
p
{
margin
:
0
;
}
.content-area
{
display
:
flex
;
.left-area
{
border-right
:
3px
solid
#e6ebf5
;
padding-right
:
10px
;
.title-info
{
margin-top
:
10px
;
height
:
auto
;
>
div
:first-child
{
font-size
:
16px
;
background-color
:
#f2f2f2
;
line-height
:
30px
;
text-align
:
center
;
}
>
:last-child
{
display
:
flex
;
align-items
:
center
;
>
p
{
margin-right
:
10px
;
color
:
#4f9cdd
;
}
>
div
{
flex
:
1
;
text-align
:
right
;
>
i
{
cursor
:
pointer
;
color
:
red
;
}
}
}
}
}
.right-area
{
padding-left
:
10px
;
.right-title
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
font-size
:
16px
;
>
div
:first-child
{
font-size
:
18px
;
}
>
div
:first-child
+
div
{
margin-left
:
20px
;
}
>
div
:last-child
{
flex
:
1
;
text-align
:
right
;
font-size
:
18px
;
color
:
red
;
}
}
.table-title
{
display
:
flex
;
line-height
:
30px
;
background-color
:
#4f9cdd
;
color
:
#fff
;
>
div
{
margin-left
:
10px
;
}
>
div
:last-child
{
flex
:
1
;
display
:
flex
;
justify-content
:
flex-end
;
>
div
{
margin-right
:
10px
;
}
}
}
.el-pagination
{
margin-top
:
10px
;
padding
:
0
;
text-align
:
right
;
}
}
}
.totle-info
{
font-size
:
20px
;
margin-top
:
15px
;
>
div
{
display
:
flex
;
margin-bottom
:
5px
;
}
}
.button-area
{
text-align
:
center
;
}
}
</
style
>
src/views/ecw/box/shipping/preinstall.vue
View file @
09410acb
<
template
>
<
template
>
<div
class=
"
app-container
preinstall"
>
<div
class=
"preinstall"
>
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
...
@@ -215,6 +215,9 @@
...
@@ -215,6 +215,9 @@
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
/**
* 预装
*/
export
default
{
export
default
{
name
:
"
preinstall
"
,
name
:
"
preinstall
"
,
components
:
{},
components
:
{},
...
@@ -248,21 +251,22 @@ export default {
...
@@ -248,21 +251,22 @@ export default {
operatorData
:
{
operatorData
:
{
operator
:
null
,
operator
:
null
,
},
},
// 校验
rules
:
{
rules
:
{
operator
:
[
operator
:
[
{
required
:
true
,
message
:
"
请选择目的地操作员
"
,
trigger
:
"
change
"
},
{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
},
],
],
},
},
};
};
},
},
computed
:
{
computed
:
{
/
/ 始发地
/
** 始发地 */
exportWarehouseList
()
{
exportWarehouseList
()
{
return
this
.
warehouseList
.
filter
(
return
this
.
warehouseList
.
filter
(
(
item
)
=>
item
.
tradeType
==
"
2
"
||
item
.
type
==
"
3
"
(
item
)
=>
item
.
tradeType
==
"
2
"
||
item
.
type
==
"
3
"
);
);
},
},
/
/ 目的地
/
** 目的地 */
importWarehouseList
()
{
importWarehouseList
()
{
return
this
.
warehouseList
.
filter
(
return
this
.
warehouseList
.
filter
(
(
item
)
=>
item
.
tradeType
==
"
1
"
||
item
.
type
==
"
3
"
(
item
)
=>
item
.
tradeType
==
"
1
"
||
item
.
type
==
"
3
"
...
@@ -270,6 +274,7 @@ export default {
...
@@ -270,6 +274,7 @@ export default {
},
},
},
},
created
()
{
created
()
{
// 查询仓库数据
getWarehouseList
().
then
((
res
)
=>
(
this
.
warehouseList
=
res
.
data
));
getWarehouseList
().
then
((
res
)
=>
(
this
.
warehouseList
=
res
.
data
));
// this.getList();
// this.getList();
},
},
...
...
src/views/ecw/box/shipping/shippingChart.vue
View file @
09410acb
<
template
>
<
template
>
<div>
<div>
<!-- 海运流程图 -->
<el-scrollbar
:vertical=
"true"
style=
"width: 100%;"
viewClass=
"shipping-chart"
>
<el-scrollbar
:vertical=
"true"
style=
"width: 100%;"
viewClass=
"shipping-chart"
>
<div
v-for=
"(nodes,index) in chartData['sea']"
:key=
"index"
class=
"chart-nodes"
>
<div
v-for=
"(nodes,index) in chartData['sea']"
:key=
"index"
class=
"chart-nodes"
>
<div>
<div>
...
@@ -18,37 +19,58 @@
...
@@ -18,37 +19,58 @@
</div>
</div>
</div>
</div>
</el-scrollbar>
</el-scrollbar>
<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'"
/>
<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
>
<preinstall
v-if=
"dialogConfig.type === 'preinstall'"
/>
<!-- 订舱 -->
<bookingWidget
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'booking'"
/>
<!-- 拖车 -->
<trailerWidget
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'trailer'"
/>
<!-- 预装 -->
<preinstallWidget
v-if=
"dialogConfig.type === 'preinstall'"
/>
<!-- agent -->
<agentWidget
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'agent'"
/>
<agentWidget
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'agent'"
/>
<!-- 装柜 -->
<cabinetWidget
:boxId=
"boxId"
@
closeDialog=
"closeDialog"
v-if=
"dialogConfig.type === 'cabinet'"
/>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
booking
from
"
./booking
"
;
import
booking
Widget
from
"
./booking
"
;
import
trailer
from
"
./trailer
"
;
import
trailer
Widget
from
"
./trailer
"
;
import
preinstall
from
"
./preinstall
"
;
import
preinstall
Widget
from
"
./preinstall
"
;
import
agentWidget
from
"
./agent
"
;
import
agentWidget
from
"
./agent
"
;
import
cabinetWidget
from
"
./cabinet
"
;
/**
* 海运流程图
*/
export
default
{
export
default
{
name
:
"
shippingChart
"
,
name
:
"
shippingChart
"
,
components
:
{
booking
,
trailer
,
preinstall
,
agentWidget
},
components
:
{
bookingWidget
,
trailerWidget
,
preinstallWidget
,
agentWidget
,
cabinetWidget
,
},
props
:
{
props
:
{
shippingType
:
String
,
shippingType
:
String
,
boxId
:
String
,
boxId
:
String
,
},
},
data
()
{
data
()
{
return
{
return
{
// 弹窗配置
dialogConfig
:
{
dialogConfig
:
{
dialogVisible
:
false
,
dialogVisible
:
false
,
title
:
""
,
title
:
""
,
width
:
"
30%
"
,
width
:
"
30%
"
,
type
:
""
,
fullscreen
:
false
,
type
:
""
,
// 标识
},
},
// 流程图节点
chartData
:
{
chartData
:
{
sea
:
[
sea
:
[
[
[
...
@@ -153,30 +175,36 @@ export default {
...
@@ -153,30 +175,36 @@ export default {
};
};
},
},
methods
:
{
methods
:
{
/** 关闭弹窗 */
closeDialog
()
{
closeDialog
()
{
this
.
$set
(
this
.
dialogConfig
,
"
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
)
{
nodeClick
(
node
)
{
console
.
log
(
nod
e
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
node
.
titl
e
);
switch
(
node
.
type
)
{
switch
(
node
.
type
)
{
// 订舱
case
"
booking
"
:
case
"
booking
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
40%
"
);
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
700px
"
);
this
.
setCommonAttr
(
nod
e
);
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
fals
e
);
break
;
break
;
// 拖车
case
"
trailer
"
:
case
"
trailer
"
:
// AGENT
case
"
agent
"
:
case
"
agent
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
25%
"
);
// 装柜
this
.
setCommonAttr
(
node
);
case
"
cabinet
"
:
this
.
$set
(
this
.
dialogConfig
,
"
width
"
,
"
500px
"
);
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
false
);
break
;
break
;
// 预装
case
"
preinstall
"
:
case
"
preinstall
"
:
this
.
$router
.
push
(
`/boxSea/shippingSea/preinstall/
${
this
.
boxId
}
`
);
this
.
$set
(
this
.
dialogConfig
,
"
fullscreen
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
"
出货安排(预装)
"
);
break
;
break
;
}
}
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
type
"
,
node
.
type
);
},
},
},
},
};
};
...
...
src/views/ecw/box/shipping/shippingSea.vue
View file @
09410acb
...
@@ -5,6 +5,8 @@
...
@@ -5,6 +5,8 @@
<div
style=
"display: flex; justify-content: space-between;align-items: flex-end;"
>
<div
style=
"display: flex; justify-content: space-between;align-items: flex-end;"
>
<h2>
海运出货操作
</h2>
<h2>
海运出货操作
</h2>
</div>
</div>
<!-- 信息 -->
<el-card
style=
"margin-top: 15px"
>
<el-card
style=
"margin-top: 15px"
>
<el-descriptions
:column=
"5"
border
>
<el-descriptions
:column=
"5"
border
>
<el-descriptions-item
label=
"自编号"
></el-descriptions-item>
<el-descriptions-item
label=
"自编号"
></el-descriptions-item>
...
@@ -15,6 +17,7 @@
...
@@ -15,6 +17,7 @@
</el-descriptions>
</el-descriptions>
</el-card>
</el-card>
<!-- 海运流程图 -->
<div
class=
"shipping-flow"
>
<div
class=
"shipping-flow"
>
<shippingChart
:boxId=
"boxId"
/>
<shippingChart
:boxId=
"boxId"
/>
</div>
</div>
...
@@ -25,7 +28,9 @@
...
@@ -25,7 +28,9 @@
<
script
>
<
script
>
import
shippingChart
from
"
./shippingChart
"
;
import
shippingChart
from
"
./shippingChart
"
;
/**
* 海运操作主页面
*/
export
default
{
export
default
{
name
:
"
shippingSea
"
,
name
:
"
shippingSea
"
,
components
:
{
components
:
{
...
@@ -40,7 +45,10 @@ export default {
...
@@ -40,7 +45,10 @@ export default {
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.shipping-flow
{
.shipping-flow
{
margin-top
:
5px
;
margin-top
:
5px
;
// 页面内元素弹框form控件宽度设置
}
// 海运操作统一弹窗样式
.shipping-dialog
{
// 页面内元素弹窗form控件宽度设置
.el-form-item__content
{
.el-form-item__content
{
>
div
{
>
div
{
width
:
100%
;
width
:
100%
;
...
...
src/views/ecw/box/shipping/trailer.vue
View file @
09410acb
...
@@ -38,10 +38,14 @@
...
@@ -38,10 +38,14 @@
</
template
>
</
template
>
<
script
>
<
script
>
/**
* 拖车
*/
export
default
{
export
default
{
name
:
"
trailer
"
,
name
:
"
trailer
"
,
data
()
{
data
()
{
return
{
return
{
// 状态
status
:
[
status
:
[
{
{
value
:
"
1
"
,
value
:
"
1
"
,
...
@@ -56,13 +60,16 @@ export default {
...
@@ -56,13 +60,16 @@ export default {
label
:
"
已还柜
"
,
label
:
"
已还柜
"
,
},
},
],
],
// 拖车对象
trailer
:
{},
trailer
:
{},
// 校验
rules
:
{
rules
:
{
time
:
[{
required
:
true
,
message
:
"
请选择时间
"
,
trigger
:
"
change
"
}],
time
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
},
},
};
};
},
},
methods
:
{
methods
:
{
/** 提交 */
onSubmit
()
{
onSubmit
()
{
this
.
$refs
[
"
trailerForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
trailerForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
...
@@ -70,6 +77,7 @@ export default {
...
@@ -70,6 +77,7 @@ export default {
}
}
});
});
},
},
/** 取消 */
cancel
()
{
cancel
()
{
this
.
$emit
(
"
closeDialog
"
);
this
.
$emit
(
"
closeDialog
"
);
},
},
...
...
src/views/ecw/offer/detail.vue
View file @
09410acb
...
@@ -251,7 +251,7 @@
...
@@ -251,7 +251,7 @@
import
{
getOffer
,
deleteOffer
}
from
'
@/api/ecw/offer
'
import
{
getOffer
,
deleteOffer
}
from
'
@/api/ecw/offer
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
{
getCustomerList
,
getCustomer
}
from
'
@/api/ecw/customer
'
import
{
getCustomerList
,
getCustomer
}
from
'
@/api/ecw/customer
'
import
{
getChannelList
s
,
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getChannelList
,
getChannel
}
from
'
@/api/ecw/channel
'
import
{
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
import
{
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
export
default
{
export
default
{
name
:
"
detail
"
,
name
:
"
detail
"
,
...
@@ -289,7 +289,7 @@
...
@@ -289,7 +289,7 @@
that
.
list
=
response
.
data
;
that
.
list
=
response
.
data
;
that
.
list
.
transportRespVOList
.
forEach
((
item
)
=>
{
that
.
list
.
transportRespVOList
.
forEach
((
item
)
=>
{
if
(
item
.
channelIds
){
if
(
item
.
channelIds
){
getChannelList
s
({
ids
:
item
.
channelIds
}).
then
(
res
=>
{
getChannelList
({
ids
:
item
.
channelIds
}).
then
(
res
=>
{
item
.
channelData
=
res
.
data
item
.
channelData
=
res
.
data
})
})
}
}
...
...
src/views/ecw/order/pending.vue
View file @
09410acb
...
@@ -16,17 +16,17 @@
...
@@ -16,17 +16,17 @@
<el-descriptions-item
label=
"送货日期"
>
<el-descriptions-item
label=
"送货日期"
>
{{
orderData
.
date
?
orderData
.
date
:
'
无
'
}}
{{
orderData
.
date
?
orderData
.
date
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"3"
>
<el-descriptions-item
label=
"运输方式"
>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
<el-descriptions-item
label=
"始发地"
>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
</el-descriptions>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
<el-descriptions
:column=
"4"
>
</el-descriptions-item>
<el-descriptions-item
label=
"发货人"
>
<el-descriptions-item
label=
"发货人"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
name
||
'
无
'
:
'
无
'
}}
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
name
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions-item>
...
@@ -36,6 +36,8 @@
...
@@ -36,6 +36,8 @@
<el-descriptions-item
label=
"发货电话"
>
<el-descriptions-item
label=
"发货电话"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
phone
||
'
无
'
:
'
无
'
}}
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
phone
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"收货人"
>
<el-descriptions-item
label=
"收货人"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
name
||
'
无
'
:
'
无
'
}}
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
name
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions-item>
...
...
src/views/ecw/order/singleApply.vue
0 → 100644
View file @
09410acb
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
合单申请-
{{
orderData
.
orderSn
||
''
}}
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"唛头"
>
{{
orderData
.
marks
?
orderData
.
marks
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数/总箱数"
>
{{
orderData
.
sumNum
?
orderData
.
sumNum
:
0
+
'
/
'
+
orderData
.
totalNum
?
orderData
.
totalNum
:
0
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"送货日期"
>
{{
orderData
.
date
?
orderData
.
date
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
>
{{
orderData
.
channelName
||
'
/
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人姓名"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
name
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货公司"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
company
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货电话"
>
{{
orderData
.
consignorVO
?
orderData
.
consignorVO
.
phone
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"收货人姓名"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
name
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货公司"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
company
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货电话"
>
{{
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
phone
||
'
无
'
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
已合单订单
</div>
<el-table
v-loading=
"loading"
border
:data=
"list"
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"订单号"
align=
"center"
scope=
"orderSn"
/>
<el-table-column
label=
"唛头"
align=
"center"
scope=
"marks"
/>
<el-table-column
label=
"始发地"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
importCityName
(
scope
.
row
.
startWarehouseId
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"入仓货物属性"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
合计:
</span>
<span>
{{
scope
.
row
.
totalNum
+
'
箱
'
+
scope
.
row
.
volume
+
'
m³
'
+
scope
.
row
.
weight
+
'
kg
'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"入仓时间"
align=
"center"
prop=
'createTime'
/>
<el-table-column
label=
"状态"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"card"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
待合单订单
</div>
<el-table
border
:data=
"singleData"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
type=
"index"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"订单号"
align=
"center"
scope=
"orderSn"
/>
<el-table-column
label=
"唛头"
align=
"center"
scope=
"marks"
/>
<el-table-column
label=
"始发地"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
importCityName
(
scope
.
row
.
startWarehouseId
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"入仓货物属性"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
合计:
</span>
<span>
{{
scope
.
row
.
totalNum
+
'
箱
'
+
scope
.
row
.
volume
+
'
m³
'
+
scope
.
row
.
weight
+
'
kg
'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"入仓时间"
align=
"center"
prop=
'createTime'
/>
<el-table-column
label=
"状态"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
</el-table>
<el-row
v-if=
"singleData.length>0"
>
<el-checkbox
v-model=
"checked"
>
需要仓库打包
</el-checkbox>
</el-row>
</el-card>
<div
slot=
"footer"
class=
"card"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
提交
</el-button>
<el-button
plain
type=
"primary"
@
click=
"submitForm"
>
取消
</el-button>
</div>
</div>
</template>
<
script
>
import
{
getOrderExceptionPage
}
from
"
@/api/ecw/orderException
"
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
export
default
{
name
:
"
SingleApply
"
,
components
:
{
},
data
()
{
return
{
checked
:
false
,
orderData
:{},
// 订单异常列表
list
:
[],
singleData
:[],
tradeCityList
:[],
multipleSelection
:[],
loading
:
false
};
},
created
()
{
// this.getList();
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 执行查询
getOrderExceptionPage
(
this
.
queryParams
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
orderData
=
response
.
data
this
.
loading
=
false
;
});
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
importCityName
(
id
){
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
'
无
'
},
getChannelName
(){
getChannel
(
this
.
orderData
.
channelId
).
then
(
res
=>
{
this
.
orderData
.
channelName
=
res
.
data
.
nameZh
})
},
submitForm
(){
}
}
}
</
script
>
<
style
>
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
}
.card
{
margin-top
:
20px
;
}
</
style
>
src/views/ecw/order/splitApply.vue
0 → 100644
View file @
09410acb
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