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
05f6e30f
Commit
05f6e30f
authored
Aug 17, 2022
by
huhaiqing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出货详情功能开发
parent
fe877479
Changes
14
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
369 additions
and
221 deletions
+369
-221
boxSea.js
src/api/ecw/boxSea.js
+39
-8
index.js
src/router/index.js
+5
-5
costForm.vue
src/views/ecw/box/costForm.vue
+2
-24
indexSea.vue
src/views/ecw/box/indexSea.vue
+81
-23
query.vue
src/views/ecw/box/query.vue
+146
-112
regError.vue
src/views/ecw/box/regError.vue
+2
-1
shippingDetail.vue
src/views/ecw/box/shippingDetail.vue
+13
-6
arrival.vue
src/views/ecw/box/shippingSea/nodePage/arrival.vue
+1
-1
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+13
-12
supplementOrder.vue
.../ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
+6
-7
cusClearance.vue
src/views/ecw/box/shippingSea/nodePage/cusClearance.vue
+1
-1
departure.vue
src/views/ecw/box/shippingSea/nodePage/departure.vue
+1
-1
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+22
-20
utils.js
src/views/ecw/box/shippingSea/utils.js
+37
-0
No files found.
src/api/ecw/boxSea.js
View file @
05f6e30f
...
...
@@ -355,14 +355,14 @@ export function abnormalCreate(data) {
* 获得已预装部分列表
*
* @export
* @param {*}
params
* @param {*}
data
* @return {*}
*/
export
function
secGoodsList
(
params
)
{
export
function
secGoodsList
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/secGoodsList
"
,
method
:
"
ge
t
"
,
params
,
method
:
"
pos
t
"
,
data
,
});
}
...
...
@@ -370,14 +370,14 @@ export function secGoodsList(params) {
* 获得预装分页
*
* @export
* @param {*}
params
* @param {*}
data
* @return {*}
*/
export
function
preloadPage
(
params
)
{
export
function
preloadPage
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/preloadPage
"
,
method
:
"
ge
t
"
,
params
,
method
:
"
pos
t
"
,
data
,
});
}
...
...
@@ -396,6 +396,37 @@ export function createSection(data) {
});
}
/**
* 查询出货单下的所有部分列表
*
* @export
* @param {*} data
* @return {*}
*/
export
function
getSectionList
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-section/list
"
,
method
:
"
get
"
,
params
,
});
}
/**
* 装柜订单明细
*
* @export
* @param {*} data
* @return {*}
*/
export
function
boxGoodsDetail
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/boxGoodsDetail
"
,
method
:
"
post
"
,
headers
:
{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
},
data
:
jsonToFormData
(
data
),
});
}
/**
* 删除预装部分
*
...
...
src/router/index.js
View file @
05f6e30f
...
...
@@ -387,13 +387,13 @@ export const constantRoutes = [
hidden
:
true
,
redirect
:
'
noredirect
'
,
children
:
[
/*
{
path: 'query/:
box
Id(\\d+)',
{
path
:
'
query/:
shipment
Id(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/query
'
),
props
:
true
,
name: '
boxQuery
',
meta: {title: '出货详情', icon: '', activeMenu: '/shipment/box'}
},
*/
name
:
'
shippingDetail
'
,
meta
:
{
title
:
'
出货详情
'
,
icon
:
''
,
activeMenu
:
'
/shipment/box
Detail
'
}
},
{
path
:
'
shippingSea/:shipmentId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/shippingSea/shippingSea
'
),
...
...
src/views/ecw/box/costForm.vue
View file @
05f6e30f
...
...
@@ -20,7 +20,7 @@
</el-select>
</el-form-item>
<el-row
class=
"two-element"
>
<el-row
class=
"two-element
-formItem
"
>
<el-form-item
label=
"金额"
>
<el-input-number
v-model=
"costObj.price"
controls-position=
"right"
:min=
"1"
></el-input-number>
</el-form-item>
...
...
@@ -36,7 +36,7 @@
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"operate-button"
>
<div
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"submit"
>
确定
</el-button>
<el-button
@
click=
"$emit('closeDialog')"
>
取消
</el-button>
</div>
...
...
@@ -84,25 +84,3 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
>
// 海运操作统一弹窗样式
.app-costForm
{
// 页面内元素弹窗form控件宽度设置
.el-form-item__content
{
>
div
:not
(
.el-input-number
)
{
width
:
100%
;
}
}
.operate-button
{
text-align
:
center
;
}
.two-element
{
display
:
flex
;
>
:last-child
{
width
:
100%
;
margin-left
:
10px
;
}
}
}
</
style
>
src/views/ecw/box/indexSea.vue
View file @
05f6e30f
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container
shipping-sea
"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
...
...
@@ -79,7 +79,11 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleCommand(scope.row, 'detail')"
>
{{
scope
.
row
.
selfNo
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"柜号"
align=
"center"
prop=
"cubNo"
/>
<el-table-column
label=
"柜型"
align=
"center"
prop=
"cabinetId"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -106,9 +110,9 @@
<span>
{{
new
Date
(
scope
.
row
.
createTime
).
format
(
'
yyyy-MM-dd
'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
style=
"marginRight:10px;"
>
<el-button
type=
"primary"
>
操作
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
...
...
@@ -120,6 +124,20 @@
<el-dropdown-item
command=
"delete"
>
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
trigger=
"click"
>
<el-button
type=
"primary"
>
下载
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
""
>
预装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
已装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
应收汇总表
</el-dropdown-item>
<el-dropdown-item
command=
""
>
agent list
</el-dropdown-item>
<el-dropdown-item
command=
""
>
son cap
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提货单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提单Copy
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -128,7 +146,7 @@
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"600px"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"600px"
append-to-body
class=
"shippingSea-dialog"
>
<
template
v-if=
"dialogType === 'edit' || dialogType === 'add'"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
...
...
@@ -157,7 +175,7 @@
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer
"
>
<div
class=
"operate-button
"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
...
...
@@ -165,6 +183,9 @@
<
template
v-if=
"dialogType === 'cost'"
>
<costForm
v-if=
"open"
@
closeDialog=
"closeDialog"
:currRow=
"currRow"
/>
</
template
>
<
template
v-if=
"dialogType === 'error'"
>
<regError
v-if=
"open"
@
closeDialog=
"closeDialog"
:shipmentObj=
"currRow"
/>
</
template
>
</el-dialog>
</div>
</template>
...
...
@@ -173,13 +194,15 @@
import
{
createbox
,
updatebox
,
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
}
from
"
@/api/ecw/box
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
costForm
from
'
./costForm.vue
'
import
regError
from
'
./regError.vue
'
export
default
{
name
:
"
box
"
,
components
:
{
costForm
costForm
,
regError
},
data
()
{
return
{
...
...
@@ -275,7 +298,6 @@
this
.
getList
();
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
@@ -390,13 +412,6 @@
closeDialog
()
{
this
.
open
=
false
;
},
/* 费用登记 */
createCost
(
row
)
{
this
.
title
=
'
费用登记
'
this
.
dialogType
=
'
cost
'
;
this
.
open
=
true
;
this
.
currRow
=
row
;
},
/** 查看按钮操作 */
handleCommand
(
row
,
command
)
{
switch
(
command
)
{
...
...
@@ -413,10 +428,53 @@
break
;
case
'
cost
'
:
this
.
createCost
(
row
);
this
.
title
=
'
费用登记
'
this
.
dialogType
=
'
cost
'
;
this
.
open
=
true
;
this
.
currRow
=
row
;
break
;
case
'
error
'
:
this
.
title
=
'
异常登记
'
this
.
dialogType
=
'
error
'
;
this
.
open
=
true
;
this
.
currRow
=
row
;
break
;
case
'
detail
'
:
this
.
$router
.
push
(
'
/boxSea/query/
'
+
row
.
id
)
break
;
}
},
}
};
</
script
>
<
style
lang=
"scss"
>
// 海运操作统一弹窗样式
.shippingSea-dialog
{
// 页面内元素弹窗form控件宽度设置
.el-form-item__content
{
>
div
:not
(
.el-input-number
)
{
width
:
100%
;
}
}
.operate-button
{
text-align
:
center
;
}
.two-element-formItem
{
display
:
flex
;
>
:last-child
{
width
:
100%
;
margin-left
:
10px
;
}
}
.two-element
{
.el-form-item__content
{
display
:
flex
;
>
:last-child
{
margin-left
:
10px
;
}
}
}
}
</
style
>
src/views/ecw/box/query.vue
View file @
05f6e30f
This diff is collapsed.
Click to expand it.
src/views/ecw/box/
shippingSea/nodePage/
regError.vue
→
src/views/ecw/box/regError.vue
View file @
05f6e30f
...
...
@@ -18,6 +18,7 @@
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"errorObj.abnStartTime"
value-format=
"yyyy-MM-dd"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"errorObj.abnEndTime"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"是否更新订单状态"
>
<el-radio-group
v-model=
"errorObj.orderStatus"
>
<el-radio
v-for=
"item in status"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
...
...
@@ -65,7 +66,7 @@ export default {
},
created
()
{
const
{
currNode
}
=
this
.
$attrs
;
this
.
errorObj
=
{
opStep
:
currNode
.
dataKey
};
this
.
errorObj
=
{
opStep
:
currNode
?.
dataKey
??
undefined
};
},
methods
:
{
/** 提交 */
...
...
src/views/ecw/box/shippingDetail.vue
View file @
05f6e30f
...
...
@@ -73,7 +73,7 @@
<section
class=
"table-goodList"
>
<div>
合计:
{{
calcSum
(
row
.
goodsList
)
}}
箱
</div>
<div
v-for=
"(item, index) in row.goodsList"
:key=
"index"
class=
"goodList-div"
>
{{
item
.
volume
}}
m³
{{
item
.
weight
}}
kg
{{
getTotlContent
(
item
,[
'
volume
'
,
'
weight
'
])
}}
</div>
</section>
</
template
>
...
...
@@ -90,7 +90,11 @@
<
script
>
import
{
approvalDetail
}
from
"
@/api/ecw/box
"
;
import
{
getSeaStatus
,
getStatusName
}
from
"
./shippingSea/utils
"
;
import
{
getSeaStatus
,
getStatusName
,
getTotlContent
,
}
from
"
./shippingSea/utils
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
...
...
@@ -123,6 +127,7 @@ export default {
getChannelList
().
then
((
res
)
=>
(
this
.
channelList
=
res
.
data
));
},
methods
:
{
getTotlContent
,
/* 获取详情 */
getApprovalDetail
(
processId
)
{
approvalDetail
({
approvalId
:
processId
}).
then
((
res
)
=>
{
...
...
@@ -144,7 +149,11 @@ export default {
},
/* 打开订单列表 */
showOrder
()
{
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
`
${
this
.
boxBackVO
.
selfNo
}
订单列表`
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
`
${
this
.
boxBackVO
.
selfNo
}
订单列表`
);
this
.
$set
(
this
.
dialogConfig
,
"
visible
"
,
true
);
},
/* 合计 */
...
...
@@ -190,9 +199,7 @@ export default {
/* 体积重量 */
getVolumeWeight
()
{
return
(
total
)
=>
{
return
`
${
total
?.
num
??
0
}
箱
$
{
total
?.
volume
??
0
}
m
³
$
{
total
?.
weight
??
0
}
kg
`;
return
this
.
getTotlContent
(
total
);
};
},
/* 是否显示卸柜箱数 */
...
...
src/views/ecw/box/shippingSea/nodePage/arrival.vue
View file @
05f6e30f
...
...
@@ -30,7 +30,7 @@
</
template
>
<
script
>
import
regError
from
"
./regError
"
;
import
regError
from
"
.
./..
/regError
"
;
import
dayjs
from
"
dayjs
"
;
import
{
arrivalCreate
,
serviceMsg
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDateStr
}
from
"
../utils
"
;
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
05f6e30f
...
...
@@ -11,9 +11,7 @@
</div>
<div>
<template
v-if=
"item.secStatistics"
>
<p>
{{
item
.
secStatistics
.
num
}}
箱
</p>
<p>
{{
item
.
secStatistics
.
volume
}}
m³
</p>
<p>
{{
item
.
secStatistics
.
weight
}}
Kg
</p>
{{
getTotlContent
(
item
.
secStatistics
)
}}
</
template
>
</div>
</el-row>
...
...
@@ -54,29 +52,29 @@
<dict-tag
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:value=
"item.productRecord"
/>
】
</p>
<p>
其他:
<span>
{{
item
.
num
}}
箱
</span><span>
{{
item
.
volume
}}
m³
</span><span>
{{
item
.
weight
}}
Kg
</span>
</p>
<p>
其他:
{{
getTotlContent
(
item
)
}}
</p>
</div>
</section>
</
template
>
</el-table-column>
<el-table-column
label=
"计划箱数"
align=
"center"
prop=
"num"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
num
}}
箱
{{
getTotlContent
(
scope
.
row
,[
'
num
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
installNum
}}
箱
{{
scope
.
row
.
installNum
}}
箱
</
template
>
</el-table-column>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
volume
}}
m³
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
weight
}}
Kg
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
...
...
@@ -97,14 +95,15 @@
<el-col
:span=
"6"
class=
"totle-info"
>
<div
class=
"count-info"
>
<p>
总计:
<!-- <span>{{sumData.count.num}}箱</span><span>{{sumData.count.volume}}m³</span><span>{{sumData.count.weight}}Kg</span> -->
111
无返回
<!-- <span>{{sumData.count.num}}箱</span><span>{{sumData.count.volume}}m³</span><span>{{sumData.count.weight}}Kg</span> -->
</p>
</div>
<div>
<p>
容量:
</p>
<p>
111
</p>
<p>
无返回
</p>
</div>
<div>
已装
0
箱
</div>
<div>
已装
无返回
箱
</div>
</el-col>
</el-row>
...
...
@@ -204,6 +203,7 @@ import {
boxUpdate
,
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
getTotlContent
}
from
"
../../utils
"
;
/**
* 开始装柜
...
...
@@ -268,6 +268,7 @@ export default {
});
},
methods
:
{
getTotlContent
,
/* 装柜部分列表 */
getLoadSecGoodsList
()
{
loadSecGoodsList
({
shipmentId
:
this
.
shipmentObj
.
id
}).
then
((
res
)
=>
{
...
...
@@ -275,7 +276,7 @@ export default {
this
.
listData
=
data
.
map
((
item
,
index
)
=>
{
return
{
...
item
,
title
:
`第
${
++
index
}
部分`
,
title
:
`第
${
++
index
}
部分`
,
};
});
if
(
this
.
listData
.
length
)
{
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
View file @
05f6e30f
...
...
@@ -28,9 +28,7 @@
</el-collapse-transition>
<div
class=
"part-secGoog"
>
<template>
<p>
{{
item
.
secStatistics
?
item
.
secStatistics
.
num
:
0
}}
箱
</p>
<p>
{{
item
.
secStatistics
?
item
.
secStatistics
.
volume
:
0
}}
m³
</p>
<p>
{{
item
.
secStatistics
?
item
.
secStatistics
.
weight
:
0
}}
Kg
</p>
{{
getTotlContent
(
item
.
secStatistics
)
}}
</
template
>
</div>
</el-row>
...
...
@@ -95,12 +93,12 @@
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
width=
"120"
/>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.volume"
>
{{
scope
.
row
.
volume
}}
m³
</p>
<p
v-if=
"scope.row.volume"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.weight"
>
{{
scope
.
row
.
weight
}}
kg
</p>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"预装柜"
align=
"center"
prop=
""
width=
"120"
>
...
...
@@ -151,7 +149,7 @@ import {
createGoods
,
remove
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDate
}
from
"
../../utils
"
;
import
{
formatDate
,
getTotlContent
}
from
"
../../utils
"
;
/**
* 补单
*/
...
...
@@ -197,7 +195,7 @@ export default {
}
return
{
...
item
,
title
:
`第
${
++
index
}
部分`
,
title
:
`第
${
++
index
}
部分`
,
};
});
...
...
@@ -324,6 +322,7 @@ export default {
.
catch
((
_
)
=>
{});
},
formatDate
,
getTotlContent
,
},
computed
:
{
/** 目的地 */
...
...
src/views/ecw/box/shippingSea/nodePage/cusClearance.vue
View file @
05f6e30f
...
...
@@ -26,7 +26,7 @@
</
template
>
<
script
>
import
regError
from
"
./regError
"
;
import
regError
from
"
.
./..
/regError
"
;
import
dayjs
from
"
dayjs
"
;
import
{
clearanceCreate
,
serviceMsg
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDateStr
}
from
"
../utils
"
;
...
...
src/views/ecw/box/shippingSea/nodePage/departure.vue
View file @
05f6e30f
...
...
@@ -30,7 +30,7 @@
</
template
>
<
script
>
import
regError
from
"
./regError
"
;
import
regError
from
"
.
./..
/regError
"
;
import
{
shippingCreate
,
serviceMsg
}
from
"
@/api/ecw/boxSea
"
;
import
dayjs
from
"
dayjs
"
;
import
{
formatDateStr
}
from
"
../utils
"
;
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
05f6e30f
...
...
@@ -11,7 +11,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"destWarehouseIdList"
>
<el-select
v-model=
"queryParams.destWarehouseIdList"
placeholder=
"请选择目的地"
multiple
>
<el-select
v-model=
"queryParams.destWarehouseIdList"
placeholder=
"请选择目的地"
multiple
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -108,11 +108,7 @@
<el-row
class=
"preinstall-title"
>
<div
class=
"pre-part-info"
>
<p>
第
{{
index
+
1
}}
部分
</p>
<p>
<span>
{{
part
.
secStatistics
?
part
.
secStatistics
.
num
:
0
}}
箱
</span>
<span>
{{
part
.
secStatistics
?
part
.
secStatistics
.
volume
:
0
}}
m³
</span>
<span>
{{
part
.
secStatistics
?
part
.
secStatistics
.
weight
:
0
}}
kg
</span>
</p>
<p>
{{
getTotlContent
(
part
.
secStatistics
)
}}
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"danger"
size=
"small"
@
click=
"deletePart(part)"
>
删除部分
</el-button>
...
...
@@ -131,8 +127,8 @@
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量/重货比"
align=
"center"
width=
"140"
prop=
"volumeWeight"
>
<template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.volume"
>
{{
scope
.
row
.
volume
}}
m³
</p>
<p
v-if=
"scope.row.weight"
>
{{
scope
.
row
.
weight
}}
kg
</p>
<p
v-if=
"scope.row.volume"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
"customsType"
width=
"120"
>
...
...
@@ -169,15 +165,15 @@
<div
class=
"preinstall-title preinstalled"
>
<div
class=
"red-label"
>
<p>
筛选后待预装数量:
</p>
<p>
{{
unloadStatistics.num}}箱
</p>
<p>
{{
getTotlContent(unloadStatistics,['num'])}}
</p>
</div>
<div
class=
"red-label"
>
<p>
方数:
</p>
<p>
{{
unloadStatistics.volume}}m³
</p>
<p>
{{
getTotlContent(unloadStatistics,['volume'])}}
</p>
</div>
<div
class=
"red-label"
>
<p>
重量:
</p>
<p>
{{
unloadStatistics.weight}}kg
</p>
<p>
{{
getTotlContent(unloadStatistics,['weight'])}}
</p>
</div>
</div>
</el-row>
...
...
@@ -225,8 +221,8 @@
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量"
align=
"center"
prop=
"volumeWeight"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.volume"
>
{{
scope
.
row
.
volume
}}
m³
</p>
<p
v-if=
"scope.row.weight"
>
{{
scope
.
row
.
weight
}}
kg
</p>
<p
v-if=
"scope.row.volume"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
""
>
...
...
@@ -284,7 +280,8 @@ import {
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
import
userSelect
from
"
./common/userSelect.vue
"
;
import
{
formatDate
}
from
"
../utils
"
;
import
{
formatDate
,
getTotlContent
}
from
"
../utils
"
;
import
dayjs
from
"
dayjs
"
;
/**
* 预装
...
...
@@ -354,6 +351,7 @@ export default {
},
methods
:
{
formatDate
,
getTotlContent
,
/* 获取城市 */
importCityName
(
id
)
{
var
arr
=
this
.
$attrs
.
warehouseList
.
filter
((
item
)
=>
item
.
id
==
id
);
...
...
@@ -370,7 +368,6 @@ export default {
let
params
=
this
.
getParams
();
// 已预装单号
params
.
orderNo
=
params
.
preOrderNo
;
delete
params
.
preOrderNo
;
params
.
shipmentId
=
this
.
shipmentObj
.
id
;
secGoodsList
(
params
).
then
((
res
)
=>
{
this
.
preList
=
res
.
data
;
...
...
@@ -384,7 +381,6 @@ export default {
let
params
=
this
.
getParams
();
// 订单号
params
.
orderNo
=
params
.
toBePreOrderNo
;
delete
params
.
toBePreOrderNo
;
preloadPage
({
...
params
,
...
this
.
pageParam
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
toBePreList
=
data
.
dataList
?.
list
??
[];
...
...
@@ -438,7 +434,10 @@ export default {
if
(
column
.
property
===
"
volumeWeight
"
)
{
const
volume
=
this
.
calcSum
(
"
volume
"
,
data
);
const
weight
=
this
.
calcSum
(
"
weight
"
,
data
);
sums
[
index
]
=
`
${
volume
??
0
}
m
³
$
{
weight
??
0
}
kg
`;
sums
[
index
]
=
getTotlContent
({
volume
,
weight
},
[
"
volume
"
,
"
weight
"
,
]);
}
});
...
...
@@ -540,11 +539,14 @@ export default {
},
getParams
()
{
const
{
rucangtime
=
[]
}
=
this
.
queryParams
;
delete this.queryParams.rucangtime;
return
{
...
this
.
queryParams
,
rucangTimeStart: rucangtime[0],
rucangTimeEnd: rucangtime[1],
rucangTimeStart
:
rucangtime
[
0
]
?
dayjs
(
rucangtime
[
0
]).
format
(
"
YYYY-MM-DD 00:00:00
"
)
:
rucangtime
[
0
],
rucangTimeEnd
:
rucangtime
[
1
]
?
dayjs
(
rucangtime
[
1
]).
format
(
"
YYYY-MM-DD 23:59:59
"
)
:
rucangtime
[
1
],
};
},
},
...
...
src/views/ecw/box/shippingSea/utils.js
View file @
05f6e30f
...
...
@@ -859,11 +859,24 @@ function formatDateStr(obj, keys, format = "YYYY-MM-DD") {
return
obj
;
}
/**
* 格式化日期
*
* @param {*} date
* @param {string} [format="YYYY-MM-DD"]
* @return {*}
*/
function
formatDate
(
date
,
format
=
"
YYYY-MM-DD
"
)
{
if
(
!
date
)
return
date
;
return
dayjs
(
date
).
format
(
format
);
}
/**
* 获取海运流程状态
*
* @param {*} val
* @return {*}
*/
function
getSeaStatus
(
val
)
{
let
currNodeStatus
=
11
,
isBreak
=
false
,
...
...
@@ -896,6 +909,29 @@ function getSeaStatus(val) {
return
currNodeStatus
;
}
/**
* 组装统计信息文字
*
* @param {*} total
* @param {string} [keys=["num", "volume", "weight"]]
* @return {*}
*/
function
getTotlContent
(
total
,
keys
=
[
"
num
"
,
"
volume
"
,
"
weight
"
])
{
let
content
=
[];
for
(
const
key
of
keys
)
{
if
(
key
===
"
num
"
)
{
content
.
push
(
`
${
total
?.
num
??
0
}
箱
`);
}
if (key === "volume") {
content.push(`
$
{
total
?.
volume
??
0
}
m
³
`);
}
if (key === "weight") {
content.push(`
$
{
total
?.
weight
??
0
}
kg
`);
}
}
return content.join(" ");
}
export const fileTypes = [
"doc",
"xls",
...
...
@@ -917,4 +953,5 @@ export {
formatDateStr,
formatNumberString,
formatDate,
getTotlContent,
};
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