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
9d6a84d2
Commit
9d6a84d2
authored
Aug 25, 2022
by
huhaiqing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
总计跟容量字段信息补全
parent
8f900fd0
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
675 additions
and
233 deletions
+675
-233
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+175
-76
supplementOrder.vue
.../ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
+116
-36
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+287
-95
startUnloading.vue
...ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
+68
-26
utils.js
src/views/ecw/box/shippingSea/utils.js
+29
-0
No files found.
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
9d6a84d2
...
...
@@ -4,8 +4,12 @@
<el-row
class=
"content-area"
>
<!-- 左侧 -->
<el-col
:span=
"6"
class=
"left-area"
>
<el-row
v-for=
"item in listData"
:key=
"item.id"
class=
"title-info"
:class=
"item.id === tableData.id ? 'selected' : ''"
>
<el-col
:span=
"6"
class=
"left-area"
>
<el-row
v-for=
"item in listData"
:key=
"item.id"
class=
"title-info"
:class=
"item.id === tableData.id ? 'selected' : ''"
>
<div
@
click=
"partClick(item)"
>
<p>
{{
item
.
title
}}
</p>
</div>
...
...
@@ -18,38 +22,58 @@
</el-col>
<!-- 右侧 -->
<el-col
:span=
"18"
class=
"right-area"
>
<el-col
:span=
"18"
class=
"right-area"
>
<!-- 操作 -->
<el-row
class=
"table-title"
>
<div>
当前装柜:{{tableData.title}}
</div>
<div>
<
template
v-if=
"!isUnderReview"
>
<el-input
v-model=
"qrCode"
placeholder=
"请输入二维码/条码编号"
clearable
></el-input>
<el-button
type=
"primary"
@
click=
"handlerBatchCreate('single')"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('batchInput','批量输入')"
>
批量输入
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('correction','装柜纠错')"
>
装柜纠错
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('correctionOrder','批量装柜纠错')"
>
批量装柜纠错
</el-button>
<el-input
v-model=
"qrCode"
placeholder=
"请输入二维码/条码编号"
clearable
></el-input>
<el-button
type=
"primary"
@
click=
"handlerBatchCreate('single')"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('batchInput','批量输入')"
>
批量输入
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('correction','装柜纠错')"
>
装柜纠错
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('correctionOrder','批量装柜纠错')"
>
批量装柜纠错
</el-button>
</
template
>
</div>
</el-row>
<!-- 表格 -->
<el-row
class=
"table-content"
>
<el-table
:data=
"tableData.sectionOrderList"
border
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<el-table
:data=
"tableData.sectionOrderList"
border
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<
template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0);"
class=
"order-href"
@
click=
"orderClick(scope.row)"
>
{{
scope
.
row
.
orderNo
}}
</a>
<a
href=
"javascript:void(0);"
class=
"order-href"
@
click=
"orderClick(scope.row)"
>
{{
scope
.
row
.
orderNo
}}
</a>
</
template
>
</el-table-column>
<el-table-column
label=
"货物信息"
align=
"center"
prop=
"goodsList"
>
<el-table-column
label=
"货物信息"
align=
"center"
prop=
"goodsList"
>
<
template
slot-scope=
"scope"
>
<section
class=
"table-goodList"
>
<div
v-for=
"(item, index) in scope.row.goodsList"
:key=
"index"
class=
"goodList-div"
>
<div
v-for=
"(item, index) in scope.row.goodsList"
:key=
"index"
class=
"goodList-div"
>
<p>
品名:
{{
item
.
prodTitleZh
}}
</p>
<p>
品牌:【
<dict-tag
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:value=
"item.productRecord"
/>
<dict-tag
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:value=
"item.productRecord"
/>
】
</p>
<p>
其他:
{{
getTotlContent
(
item
)
}}
</p>
...
...
@@ -57,29 +81,42 @@
</section>
</
template
>
</el-table-column>
<el-table-column
label=
"计划箱数"
align=
"center"
prop=
"num"
>
<el-table-column
label=
"计划箱数"
align=
"center"
prop=
"num"
>
<
template
slot-scope=
"scope"
>
{{
getTotlContent
(
scope
.
row
,[
'
num
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
>
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
installNum
}}
箱
</
template
>
</el-table-column>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
>
<
template
slot-scope=
"scope"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
>
<
template
slot-scope=
"scope"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</
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"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview && scope.row.installNum === 0"
>
移出
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"moveOut(scope.row)"
v-if=
"!isUnderReview && scope.row.installNum === 0"
>
移出
</el-button>
<!--
<el-button
type=
"text"
size=
"small"
v-if=
"isShowSplitOrder(scope.row)"
@
click=
"handlerSplitOrder(scope.row, 'splitOrder','拆单')"
>
拆单
</el-button>
-->
</
template
>
</el-table-column>
...
...
@@ -92,16 +129,14 @@
<!-- 统计 -->
<el-row>
<el-col
:span=
"6"
class=
"totle-info"
>
<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> -->
</p>
<p>
总计:{{getSumData}}
</p>
</div>
<div>
<p>
容量:
</p>
<p>
无返回
</p>
<p>
{{calcCapacity}}
</p>
</div>
<div>
已装 无返回 箱
</div>
</el-col>
...
...
@@ -109,84 +144,150 @@
<!-- 操作 -->
<el-row
class=
"button-area"
>
<el-button
type=
"primary"
@
click=
"handlerClick('supplementOrder','补单')"
v-if=
"!isUnderReview"
>
补单
</el-button>
<el-button
type=
"primary"
v-if=
"!isUnderReview"
@
click=
"applyCloseCabinet"
>
申请封柜
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('modifyCabinet','修改柜信息')"
v-if=
"!isUnderReview"
>
修改柜信息
</el-button>
<el-button
type=
"primary"
v-if=
"isUnderReview"
>
封柜审核中
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('supplementOrder','补单')"
v-if=
"!isUnderReview"
>
补单
</el-button>
<el-button
type=
"primary"
v-if=
"!isUnderReview"
@
click=
"applyCloseCabinet"
>
申请封柜
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('modifyCabinet','修改柜信息')"
v-if=
"!isUnderReview"
>
修改柜信息
</el-button>
<el-button
type=
"primary"
v-if=
"isUnderReview"
>
封柜审核中
</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:fullscreen=
"dialogConfig.fullscreen"
:width=
"dialogConfig.width"
:modal-append-to-body=
false
append-to-body
>
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:fullscreen=
"dialogConfig.fullscreen"
:width=
"dialogConfig.width"
:modal-append-to-body=
false
append-to-body
>
<!-- 已装未装订单 -->
<
template
v-if=
"dialogConfig.type === 'orderTable'"
>
<el-table
:data=
"orderList"
border
>
<el-table-column
label=
"已装"
align=
"center"
prop=
"loadTag"
/>
<el-table-column
label=
"未装"
align=
"center"
prop=
"unloadTag"
/>
<el-table
:data=
"orderList"
height=
"500px"
border
>
<el-table-column
label=
"已装"
align=
"center"
prop=
"loadTag"
/>
<el-table-column
label=
"未装"
align=
"center"
prop=
"unloadTag"
/>
</el-table>
</
template
>
<!-- 补单 -->
<supplementOrder
v-if=
"dialogConfig.type === 'supplementOrder' && dialogConfig.dialogVisible"
v-bind=
"$attrs"
:shipmentObj=
"shipmentObj"
@
supplementFinish=
"supplementFinish"
/>
<supplementOrder
v-if=
"dialogConfig.type === 'supplementOrder' && dialogConfig.dialogVisible"
v-bind=
"$attrs"
:shipmentObj=
"shipmentObj"
@
supplementFinish=
"supplementFinish"
/>
<!-- 修改柜信息 -->
<
template
v-if=
"dialogConfig.type === 'modifyCabinet' && dialogConfig.dialogVisible"
>
<el-form
ref=
"modifyForm"
:rules=
"rules"
:model=
"modifyCabinetObj"
label-width=
"80px"
>
<el-form-item
label=
"起运仓库"
prop=
"startWarehouseId"
>
<el-select
v-model=
"modifyCabinetObj.startWarehouseId"
placeholder=
"请选择仓库"
filterable
>
<el-option
v-for=
"warehouse in $attrs.warehouseList"
:key=
"warehouse.id"
:label=
"warehouse.titleZh"
:value=
"warehouse.id"
></el-option>
<el-form
ref=
"modifyForm"
:rules=
"rules"
:model=
"modifyCabinetObj"
label-width=
"80px"
>
<el-form-item
label=
"起运仓库"
prop=
"startWarehouseId"
>
<el-select
v-model=
"modifyCabinetObj.startWarehouseId"
placeholder=
"请选择仓库"
filterable
>
<el-option
v-for=
"warehouse in $attrs.warehouseList"
:key=
"warehouse.id"
:label=
"warehouse.titleZh"
:value=
"warehouse.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"预计时间"
>
{{
preinstallDate
}}
</el-form-item>
<el-form-item
label=
"选择柜型"
prop=
"cabinetId"
>
<el-select
v-model=
"modifyCabinetObj.cabinetId"
placeholder=
"请选择柜型"
>
<el-option
v-for=
"item in cabinetList"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-form-item
label=
"选择柜型"
prop=
"cabinetId"
>
<el-select
v-model=
"modifyCabinetObj.cabinetId"
placeholder=
"请选择柜型"
>
<el-option
v-for=
"item in cabinetList"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"柜号"
>
<el-input
v-model=
"modifyCabinetObj.cubNo"
placeholder=
"请输入柜号"
clearable
/>
<el-input
v-model=
"modifyCabinetObj.cubNo"
placeholder=
"请输入柜号"
clearable
/>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('modifyForm')"
>
下一步
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit('modifyForm')"
>
下一步
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 装柜纠错 -->
<
template
v-if=
"dialogConfig.type === 'correction' && dialogConfig.dialogVisible"
>
<el-form
ref=
"correctionForm"
:rules=
"rules"
:model=
"correctionObj"
label-position=
"top"
>
<el-form-item
label=
"装柜纠错(二维码/条形码编号)"
prop=
"qrCode"
>
<el-input
v-model=
"correctionObj.qrCode"
placeholder=
"请输入二维码/条形码编号"
clearable
/>
<el-form
ref=
"correctionForm"
:rules=
"rules"
:model=
"correctionObj"
label-position=
"top"
>
<el-form-item
label=
"装柜纠错(二维码/条形码编号)"
prop=
"qrCode"
>
<el-input
v-model=
"correctionObj.qrCode"
placeholder=
"请输入二维码/条形码编号"
clearable
/>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('correctionForm')"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit('correctionForm')"
>
提交
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 批量装柜纠错(订单号) -->
<
template
v-if=
"dialogConfig.type === 'correctionOrder' && dialogConfig.dialogVisible"
>
<el-form
ref=
"orderForm"
:rules=
"rules"
:model=
"orderObj"
label-position=
"top"
>
<el-form-item
label=
"装柜纠错(订单号)"
prop=
"orderNo"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"orderObj.orderNo"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
<el-form
ref=
"orderForm"
:rules=
"rules"
:model=
"orderObj"
label-position=
"top"
>
<el-form-item
label=
"装柜纠错(订单号)"
prop=
"orderNo"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"orderObj.orderNo"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('orderForm')"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit('orderForm')"
>
提交
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 装柜批量输入 -->
<
template
v-if=
"dialogConfig.type === 'batchInput' && dialogConfig.dialogVisible"
>
<el-form
ref=
"batchForm"
:rules=
"rules"
:model=
"batchObj"
label-position=
"top"
>
<el-form-item
label=
""
prop=
"qrCode"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"batchObj.qrCode"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
<el-form
ref=
"batchForm"
:rules=
"rules"
:model=
"batchObj"
label-position=
"top"
>
<el-form-item
label=
""
prop=
"qrCode"
>
<el-input
type=
"textarea"
:rows=
"3"
v-model=
"batchObj.qrCode"
placeholder=
"请输入,多个以逗号分隔"
clearable
/>
</el-form-item>
</el-form>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('batchForm')"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit('batchForm')"
>
提交
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-row>
</
template
>
<!-- 拆单 -->
<splitOrder
v-if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog=
"closeDialog"
/>
<splitOrder
v-if=
"dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible"
:currRow=
"currRow"
@
closeDialog=
"closeDialog"
/>
</el-dialog>
</div>
</template>
...
...
@@ -206,7 +307,12 @@ import {
boxUpdate
,
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
getTotlContent
,
serviceMsg
}
from
"
../../utils
"
;
import
{
getTotlContent
,
serviceMsg
,
getCapacity
,
sumStatistics
,
}
from
"
../../utils
"
;
import
splitOrder
from
"
./splitOrder.vue
"
;
/**
...
...
@@ -489,23 +595,7 @@ export default {
},
watch
:
{
listData
(
val
)
{
let
count
=
{
num
:
0
,
volume
:
0
,
weight
:
0
};
if
(
Array
.
isArray
(
val
))
{
val
.
forEach
((
item
)
=>
{
const
{
secStatistics
}
=
item
;
if
(
secStatistics
)
{
if
(
!
Number
.
isNaN
(
Number
(
secStatistics
.
num
)))
{
count
.
num
=
count
.
num
+
Number
(
secStatistics
.
num
);
}
if
(
!
Number
.
isNaN
(
Number
(
secStatistics
.
volume
)))
{
count
.
volume
=
count
.
volume
+
Number
(
secStatistics
.
volume
);
}
if
(
!
Number
.
isNaN
(
Number
(
secStatistics
.
weight
)))
{
count
.
weight
=
count
.
weight
+
Number
(
secStatistics
.
weight
);
}
}
});
}
const
count
=
sumStatistics
(
val
);
this
.
$set
(
this
.
sumData
,
"
count
"
,
count
);
},
},
...
...
@@ -522,6 +612,15 @@ export default {
}
return
null
;
},
/* 容量 */
calcCapacity
()
{
const
{
cabinetRespVO
}
=
this
.
shipmentObj
;
return
getCapacity
(
cabinetRespVO
);
},
/* 总计 */
getSumData
()
{
return
sumStatistics
(
this
.
listData
);
},
},
};
</
script
>
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
View file @
9d6a84d2
...
...
@@ -5,23 +5,32 @@
<el-row
class=
"content-area"
>
<!-- 左侧 -->
<el-col
:span=
"6"
class=
"left-area"
>
<el-col
:span=
"6"
class=
"left-area"
>
<el-row>
<el-button
type=
"primary"
@
click=
"addPart"
>
新增
</el-button>
<el-button
type=
"danger"
@
click=
"deletePart"
>
删除
</el-button>
<el-button
type=
"primary"
@
click=
"addPart"
>
新增
</el-button>
<el-button
type=
"danger"
@
click=
"deletePart"
>
删除
</el-button>
</el-row>
<el-scrollbar
style=
"height:calc(100% - 40px)"
>
<el-row
v-for=
"item in partList"
:key=
"item.id"
class=
"title-info"
:class=
"item.id === partData.id ? 'selected' : ''"
>
<el-row
v-for=
"item in partList"
:key=
"item.id"
class=
"title-info"
:class=
"item.id === partData.id ? 'selected' : ''"
>
<div
@
click=
"partClick(item)"
>
<p>
{{
item
.
title
}}
</p>
</div>
<el-collapse-transition>
<div
v-if=
"item.fold === false ? true : false"
>
<div
v-for=
"(secGoog, index) in item.sectionGoodsList"
:key=
"index"
class=
"part-secGoog"
>
<div
v-for=
"(secGoog, index) in item.sectionGoodsList"
:key=
"index"
class=
"part-secGoog"
>
<p>
{{
secGoog
.
orderNo
}}
</p>
<p>
{{
secGoog
.
prodTitleZh
}}
</p>
<div>
<i
class=
"el-icon-delete"
@
click=
"deleteOrder(secGoog)"
></i>
<i
class=
"el-icon-delete"
@
click=
"deleteOrder(secGoog)"
></i>
</div>
</div>
</div>
...
...
@@ -36,7 +45,8 @@
</el-col>
<!-- 右侧 -->
<el-col
:span=
"18"
class=
"right-area"
>
<el-col
:span=
"18"
class=
"right-area"
>
<el-row
class=
"right-title"
>
<div>
货物筛选
</div>
...
...
@@ -46,67 +56,116 @@
<!-- 搜索工作栏 -->
<el-row>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"始发地"
>
<p>
{{importCityName(queryParams.startWarehouseId)}}
</p>
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"destination"
>
<el-select
v-model=
"queryParams.destWarehouseIdList"
placeholder=
"请选择目的地"
multiple
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-form-item
label=
"目的地"
prop=
"destination"
>
<el-select
v-model=
"queryParams.destWarehouseIdList"
placeholder=
"请选择目的地"
multiple
>
<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=
"orderNo"
>
<el-input
v-model=
"queryParams.orderNo"
placeholder=
"请输入订单号"
clearable
/>
<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"
@
click=
"queryAllData"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"queryAllData"
>
搜索
</el-button>
</el-form-item>
</el-form>
</el-row>
<!-- 表格 -->
<el-scrollbar
style=
"height:calc(100% - 124px)"
>
<el-row
v-for=
"(item, index) in toBePreList"
:key=
"index"
class=
"toBePre-table"
>
<el-row
v-for=
"(item, index) in toBePreList"
:key=
"index"
class=
"toBePre-table"
>
<el-row
class=
"table-title"
>
<div>
{{item.orderNo}}
</div>
<div>
发往:{{item.destWarehouseName}}
</div>
<div>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item.customsType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item.customsType"
/>
</div>
<div>
入仓时间:{{formatDate(item.rucangTime)}}
</div>
<div>
<el-button
type=
"text"
@
click=
"handleGoods('all', item)"
>
[全部预装]
</el-button>
<el-button
type=
"text"
@
click=
"foldTable(index, item)"
>
[{{item.fold ? '展开' : '收起'}}]
</el-button>
<el-button
type=
"text"
@
click=
"handleGoods('all', item)"
>
[全部预装]
</el-button>
<el-button
type=
"text"
@
click=
"foldTable(index, item)"
>
[{{item.fold ? '展开' : '收起'}}]
</el-button>
</div>
</el-row>
<el-collapse-transition>
<div
v-show=
"!item.fold"
>
<el-table
v-loading=
"loading"
:data=
"item.boxOrderItemList"
border
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodTitleZh"
min-width=
"500"
/>
<el-table-column
label=
"品牌"
align=
"center"
prop=
"brandType"
width=
"120"
>
<el-table
v-loading=
"loading"
:data=
"item.boxOrderItemList"
border
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodTitleZh"
min-width=
"500"
/>
<el-table-column
label=
"品牌"
align=
"center"
prop=
"brandType"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value=
"scope.row.brandType"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value=
"scope.row.brandType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
width=
"120"
/>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
width=
"120"
>
<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"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
width=
"120"
>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"预装柜"
align=
"center"
prop=
""
width=
"120"
>
<el-table-column
label=
"预装柜"
align=
"center"
prop=
""
width=
"120"
>
无返回
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"100"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleGoods('singele',scope.row)"
>
预装
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handleGoods('singele',scope.row)"
>
预装
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -116,25 +175,32 @@
</el-scrollbar>
<!-- 分页 -->
<el-pagination
background
layout=
"prev, pager, next"
:page-size=
"pageParam.pageSize"
:total=
"total"
@
current-change=
"pageChange"
v-show=
"total > 0"
></el-pagination>
<el-pagination
background
layout=
"prev, pager, next"
:page-size=
"pageParam.pageSize"
:total=
"total"
@
current-change=
"pageChange"
v-show=
"total > 0"
></el-pagination>
</el-col>
</el-row>
</el-card>
<el-row>
<el-col
:span=
"6"
class=
"totle-info"
>
<el-col
:span=
"6"
class=
"totle-info"
>
<div>
<p>
总计:
</p>
<p>
无返回
</p>
<p>
{{getTotlContent(loadStatistics)}}
</p>
</div>
<div>
<p>
容量:
</p>
<p>
无返回
</p>
<p>
{{calcCapacity}}
</p>
</div>
</el-col>
</el-row>
<el-row
class=
"button-area"
>
<el-button
type=
"primary"
@
click=
"handlerFinish"
>
完成
</el-button>
<el-button
type=
"primary"
@
click=
"handlerFinish"
>
完成
</el-button>
</el-row>
</div>
</template>
...
...
@@ -148,7 +214,12 @@ import {
createGoods
,
remove
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
}
from
"
../../utils
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
,
getCapacity
,
}
from
"
../../utils
"
;
/**
* 补单
*/
...
...
@@ -165,6 +236,8 @@ export default {
partData
:
{},
// 部分列表
partList
:
[],
// 部分统计
loadStatistics
:
{},
// 查询参数
queryParams
:
{
startWarehouseId
:
this
.
$attrs
.
shipmentObj
.
startWarehouseId
,
...
...
@@ -184,7 +257,9 @@ export default {
/* 查询已预装 */
getSecGoods
()
{
secGoodsList
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
}).
then
((
res
)
=>
{
this
.
partList
=
res
.
data
.
map
((
item
,
index
)
=>
{
const
{
sectionGoodList
,
loadStatistics
}
=
res
.
data
;
this
.
loadStatistics
=
loadStatistics
;
this
.
partList
=
sectionGoodList
.
map
((
item
,
index
)
=>
{
item
.
fold
=
true
;
if
(
Object
.
keys
(
this
.
partData
).
length
&&
...
...
@@ -330,6 +405,11 @@ export default {
(
item
)
=>
item
.
tradeType
==
"
1
"
||
item
.
type
==
"
3
"
);
},
/* 容量 */
calcCapacity
()
{
const
{
cabinetRespVO
}
=
this
.
$attrs
.
shipmentObj
;
return
getCapacity
(
cabinetRespVO
);
},
},
};
</
script
>
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
9d6a84d2
<
template
>
<div
class=
"preinstall"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
<el-form-item
label=
"入仓时间"
prop=
"rucangtime"
>
<el-date-picker
v-model=
"queryParams.rucangtime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
<el-form-item
label=
"入仓时间"
prop=
"rucangtime"
>
<el-date-picker
v-model=
"queryParams.rucangtime"
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-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=
"destWarehouseIdList"
>
<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-form-item
label=
"目的地"
prop=
"destWarehouseIdList"
>
<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>
<el-form-item
label=
"状态"
prop=
"orderStatus"
>
<el-select
v-model=
"queryParams.orderStatus"
placeholder=
"请选择状态"
clearable
size=
"small"
>
<el-option
v-for=
"item in stateOps"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
<el-form-item
label=
"状态"
prop=
"orderStatus"
>
<el-select
v-model=
"queryParams.orderStatus"
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=
"productRecord"
>
<el-select
v-model=
"queryParams.productRecord"
placeholder=
"请选择备案"
clearable
size=
"small"
>
<el-option
v-for=
"item in filingOps"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
<el-form-item
label=
"备案"
prop=
"productRecord"
>
<el-select
v-model=
"queryParams.productRecord"
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=
"customsType"
>
<el-select
v-model=
"queryParams.customsType"
placeholder=
"请选择报关方式"
clearable
size=
"small"
>
<el-option
v-for=
"item in declarationMethodOps"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
<el-form-item
label=
"报关方式"
prop=
"customsType"
>
<el-select
v-model=
"queryParams.customsType"
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=
"toBePreOrderNo"
>
<el-input
v-model=
"queryParams.toBePreOrderNo"
placeholder=
"请输入订单号码"
clearable
/>
<el-form-item
label=
"订单号"
prop=
"toBePreOrderNo"
>
<el-input
v-model=
"queryParams.toBePreOrderNo"
placeholder=
"请输入订单号码"
clearable
/>
</el-form-item>
<el-form-item
label=
"已预装单号"
prop=
"preOrderNo"
>
<el-input
v-model=
"queryParams.preOrderNo"
placeholder=
"请输入已预装单号"
clearable
/>
<el-form-item
label=
"已预装单号"
prop=
"preOrderNo"
>
<el-input
v-model=
"queryParams.preOrderNo"
placeholder=
"请输入已预装单号"
clearable
/>
</el-form-item>
<el-form-item
label=
"品名"
prop=
"itemName"
>
<el-input
v-model=
"queryParams.itemName"
placeholder=
"请输入品名"
clearable
/>
<el-form-item
label=
"品名"
prop=
"itemName"
>
<el-input
v-model=
"queryParams.itemName"
placeholder=
"请输入品名"
clearable
/>
</el-form-item>
<el-form-item
label=
"重货比"
prop=
"weightRatioMax"
>
<el-input
v-model=
"queryParams.weightRatioMax"
placeholder=
"请输入 大"
clearable
/>
<el-form-item
label=
"重货比"
prop=
"weightRatioMax"
>
<el-input
v-model=
"queryParams.weightRatioMax"
placeholder=
"请输入 大"
clearable
/>
</el-form-item>
<el-form-item
label=
""
prop=
"weightRatioMin"
>
<el-input
v-model=
"queryParams.weightRatioMin"
placeholder=
"请输入 小"
clearable
/>
<el-form-item
label=
""
prop=
"weightRatioMin"
>
<el-input
v-model=
"queryParams.weightRatioMin"
placeholder=
"请输入 小"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery('pre')"
>
搜索已预装订单
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery('toBePre')"
>
搜索待预装订单
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery('pre')"
>
搜索已预装订单
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery('toBePre')"
>
搜索待预装订单
</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=
"handleQuery('toBePre')"
></right-toolbar>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"handleQuery('toBePre')"
></right-toolbar>
</el-row>
<!-- 表格 -->
<el-card
style=
"margin-top: 15px"
class=
"preinstall-card"
>
<el-card
style=
"margin-top: 15px"
class=
"preinstall-card"
>
<el-row
class=
"preinstall-title"
>
<div>
<p>
自编号:
</p>
...
...
@@ -71,7 +140,7 @@
</div>
<div>
<p>
容量:
</p>
<p>
无返回
</p>
<p>
{{
calcCapacity
}}
</p>
</div>
<div>
<p>
始发地:
</p>
...
...
@@ -89,71 +158,129 @@
<div
class=
"table-label"
>
已预装订单
</div>
<div>
<p>
总计:
</p>
<p>
无返回
</p>
<p>
{{
getTotlContent
(
preList
.
loadStatistics
)
}}
</p>
</div>
<div
class=
"red-label"
>
<p>
可预装方数:
</p>
<p>
无返回
</p>
<p>
{{
preList
.
remainVolume
}}
m³
</p>
</div>
<div
class=
"red-label"
>
<p>
重量:
</p>
<p>
无返回
</p>
<p>
{{
preList
.
remainWeight
}}
kg
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"success"
size=
"small"
@
click=
"addPart"
>
增加
</el-button>
<el-button
type=
"success"
size=
"small"
@
click=
"addPart"
>
增加
</el-button>
</div>
</el-row>
<el-scrollbar
style=
"height:calc(100% - 43px)"
>
<el-row
v-for=
"(part, index) in preList"
:key=
"index"
class=
"pre-part"
>
<el-row
v-for=
"(part, index) in preList.sectionGoodList"
:key=
"index"
class=
"pre-part"
>
<el-row
class=
"preinstall-title"
>
<div
class=
"pre-part-info"
>
<p>
第
{{
index
+
1
}}
部分
</p>
<p>
{{
getTotlContent
(
part
.
secStatistics
)
}}
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"danger"
size=
"small"
@
click=
"deletePart(part)"
>
删除部分
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"deleteOrder('selected', part)"
>
删除订单
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"foldTable(index, part)"
>
{{
part
.
fold
?
'
展开
'
:
'
收起
'
}}
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"deletePart(part)"
>
删除部分
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"deleteOrder('selected', part)"
>
删除订单
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"foldTable(index, part)"
>
{{
part
.
fold
?
'
展开
'
:
'
收起
'
}}
</el-button>
</div>
</el-row>
<el-collapse-transition>
<div
v-show=
"!part.fold"
>
<el-table
v-loading=
"preLoading"
border
:data=
"part.sectionGoodsList"
@
select=
"(selection)=>checkboxSelect(selection, part)"
@
select-all=
"(selection)=>checkboxSelect(selection, part)"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
fixed=
"left"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
width=
"120"
/>
<el-table-column
label=
"目的地"
align=
"center"
prop=
"destWarehouseName"
width=
"120"
/>
<el-table-column
label=
"入仓时间"
align=
"center"
prop=
"rucangTime"
width=
"120"
>
<el-table
v-loading=
"preLoading"
border
:data=
"part.sectionGoodsList"
@
select=
"(selection)=>checkboxSelect(selection, part)"
@
select-all=
"(selection)=>checkboxSelect(selection, part)"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
fixed=
"left"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
width=
"120"
/>
<el-table-column
label=
"目的地"
align=
"center"
prop=
"destWarehouseName"
width=
"120"
/>
<el-table-column
label=
"入仓时间"
align=
"center"
prop=
"rucangTime"
width=
"120"
>
<template
slot-scope=
"scope"
>
{{
formatDate
(
scope
.
row
.
rucangTime
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodTitleZh"
width=
"120"
/>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量/重货比"
align=
"center"
width=
"140"
prop=
"volumeWeight"
>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodTitleZh"
width=
"120"
/>
<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"
>
{{
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"
>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
"customsType"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"scope.row.customsType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"scope.row.customsType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备案"
align=
"center"
prop=
"productRecord"
width=
"100"
>
<el-table-column
label=
"备案"
align=
"center"
prop=
"productRecord"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value=
"scope.row.productRecord"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value=
"scope.row.productRecord"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"160"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<el-table-column
label=
"操作"
align=
"center"
width=
"160"
class-name=
"small-padding fixed-width"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleGoods('singele',scope.row,command)"
>
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-edit-outline"
circle
></el-button>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleGoods('singele',scope.row,command)"
>
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-edit-outline"
circle
></el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
:command=
"bPart"
v-for=
"(bPart, index) in preList"
:key=
"bPart.id"
v-show=
"bPart.id !== part.id"
>
第
{{
index
+
1
}}
部分
</el-dropdown-item>
<el-dropdown-item
:command=
"bPart"
v-for=
"(bPart, index) in preList.sectionGoodList"
:key=
"bPart.id"
v-show=
"bPart.id !== part.id"
>
第
{{
index
+
1
}}
部分
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button
type=
"danger"
size=
"small"
icon=
"el-icon-minus"
circle
style=
"margin-left:10px;"
@
click=
"deleteOrder('row',scope.row)"
></el-button>
<el-button
type=
"danger"
size=
"small"
icon=
"el-icon-minus"
circle
style=
"margin-left:10px;"
@
click=
"deleteOrder('row',scope.row)"
></el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -181,9 +308,16 @@
</div>
</div>
</el-row>
<el-pagination
background
layout=
"prev, pager, next"
:page-size=
"pageParam.pageSize"
:total=
"total"
@
current-change=
"pageChange"
v-show=
"total > 0"
></el-pagination>
<el-pagination
background
layout=
"prev, pager, next"
:page-size=
"pageParam.pageSize"
:total=
"total"
@
current-change=
"pageChange"
v-show=
"total > 0"
></el-pagination>
<el-scrollbar
style=
"height:calc(100% - 75px)"
>
<el-row
v-for=
"(item, index) in toBePreList"
:key=
"index"
class=
"tobePre-row"
>
<el-row
v-for=
"(item, index) in toBePreList"
:key=
"index"
class=
"tobePre-row"
>
<el-row
class=
"preinstall-title order-title"
>
<div>
<p>
{{item.orderNo}}
</p>
...
...
@@ -194,7 +328,8 @@
</div>
<div>
<p>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item.customsType"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item.customsType"
/>
</p>
</div>
<div>
...
...
@@ -206,43 +341,72 @@
<p>
{{item.weightRatio}}
</p>
</div>
<div
class=
"table-button"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleGoods('all',item,command)"
>
<el-button
type=
"success"
size=
"small"
>
预装全部
</el-button>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleGoods('all',item,command)"
>
<el-button
type=
"success"
size=
"small"
>
预装全部
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
:command=
"part"
v-for=
"(part, index) in preList"
:key=
"part.id"
>
第{{index+1}}部分
</el-dropdown-item>
<el-dropdown-item
:command=
"part"
v-for=
"(part, index) in preList.sectionGoodList"
:key=
"part.id"
>
第{{index+1}}部分
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</el-row>
<el-table
v-loading=
"toBePreLoading"
:data=
"item.boxOrderItemList"
border
show-summary
:summary-method=
"getSummaries"
>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodTitleZh"
/>
<el-table-column
label=
"备案"
align=
"center"
prop=
"brandType"
>
<el-table
v-loading=
"toBePreLoading"
:data=
"item.boxOrderItemList"
border
show-summary
:summary-method=
"getSummaries"
>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodTitleZh"
/>
<el-table-column
label=
"备案"
align=
"center"
prop=
"brandType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value=
"scope.row.brandType"
/>
<dict-tag
:type=
"DICT_TYPE.BOX_SHIPPING_BRAND_TYPE"
:value=
"scope.row.brandType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量"
align=
"center"
prop=
"volumeWeight"
>
<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"
>
{{
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=
""
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item.customsType"
/>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
""
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"item.customsType"
/>
</el-table-column>
<el-table-column
label=
"包装类型"
align=
"center"
prop=
""
>
<el-table-column
label=
"包装类型"
align=
"center"
prop=
""
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGE_TYPE"
:value=
"scope.row.unit"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGE_TYPE"
:value=
"scope.row.unit"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"材质"
align=
"center"
prop=
"material"
>
、
<el-table-column
label=
"材质"
align=
"center"
prop=
"material"
>
、
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
:value=
"scope.row.material"
/>
<dict-tag
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
:value=
"scope.row.material"
/>
</
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">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleGoods('singele',scope.row,command)">
<el-button type="primary" size="small">预装</el-button>
...
...
@@ -251,7 +415,7 @@
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table-column>
-->
</el-table>
</el-row>
</el-scrollbar>
...
...
@@ -260,29 +424,47 @@
</el-card>
<!-- 操作员 -->
<el-row
style=
"margin-top: 15px"
v-show=
"!isAudit"
>
<el-row
style=
"margin-top: 15px"
v-show=
"!isAudit"
>
<el-row>
<el-form
ref=
"operatorForm"
:model=
"operatorData"
size=
"small"
:inline=
"true"
label-width=
"120px"
:rules=
"rules"
>
<el-form-item
label=
"目的地操作员"
prop=
"noticeUser"
>
<userSelect
v-model=
"operatorData.noticeUser"
placeholder=
"请选择目的地操作员"
:allUsers=
"this.$attrs.allUsers"
size=
"small"
/>
<el-form
ref=
"operatorForm"
:model=
"operatorData"
size=
"small"
:inline=
"true"
label-width=
"120px"
:rules=
"rules"
>
<el-form-item
label=
"目的地操作员"
prop=
"noticeUser"
>
<userSelect
v-model=
"operatorData.noticeUser"
placeholder=
"请选择目的地操作员"
:allUsers=
"this.$attrs.allUsers"
size=
"small"
/>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
提交申请
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
提交申请
</el-button>
</el-row>
</el-row>
<!-- 审核流程 -->
<el-row
class=
"process-area"
v-show=
"isAudit"
>
<el-row
class=
"process-area"
v-show=
"isAudit"
>
<div
class=
"process"
>
<div>
审批流程
</div>
<work-flow
xmlkey=
"shipment_preassemble"
v-model=
"selectedUsers"
></work-flow>
<work-flow
xmlkey=
"shipment_preassemble"
v-model=
"selectedUsers"
></work-flow>
</div>
<div>
<el-button
type=
"primary"
:disabled=
true
>
审核中
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"closeDialog"
>
返回
</el-button>
<el-button
type=
"primary"
:disabled=
true
>
审核中
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"closeDialog"
>
返回
</el-button>
</div>
</el-row>
</div>
...
...
@@ -301,7 +483,7 @@ import {
approvalCancel
,
}
from
"
@/api/ecw/boxSea
"
;
import
userSelect
from
"
./common/userSelect.vue
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
}
from
"
../utils
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
,
getCapacity
}
from
"
../utils
"
;
import
dayjs
from
"
dayjs
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
...
...
@@ -327,7 +509,11 @@ export default {
type
:
""
,
// 已预装 遮罩层
preLoading
:
false
,
preList
:
[],
preList
:
{
sectionGoodList
:
[],
remainWeight
:
0
,
remainVolume
:
0
,
},
// 选中行
selectedRows
:
{},
...
...
@@ -373,11 +559,16 @@ export default {
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
return
shipmentObj
[
currNode
.
keyName
]
===
23
;
},
/* 容量 */
calcCapacity
()
{
const
{
cabinetRespVO
}
=
this
.
$attrs
.
shipmentObj
;
return
getCapacity
(
cabinetRespVO
);
},
},
created
()
{
// 查询待预装
this
.
handleQuery
(
"
toBePre
"
);
this
.
handleQuery
(
'
pre
'
);
this
.
handleQuery
(
"
pre
"
);
},
methods
:
{
formatDate
,
...
...
@@ -543,16 +734,17 @@ export default {
deleteOrder
(
type
,
data
)
{
let
ids
=
[];
if
(
type
===
"
selected
"
)
{
// 根据parid 构建的对象
const
rows
=
this
.
selectedRows
[
data
.
id
]
??
[];
if
(
!
rows
.
length
)
{
this
.
$message
.
error
(
"
请选择订单
"
);
return
;
}
ids
=
rows
.
map
((
item
)
=>
item
.
orderItemI
d
);
ids
=
rows
.
map
((
item
)
=>
item
.
i
d
);
}
if
(
type
===
"
row
"
)
{
ids
.
push
(
data
.
orderItemI
d
);
ids
.
push
(
data
.
i
d
);
}
deleteGoods
(
ids
).
then
((
res
)
=>
{
...
...
src/views/ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
View file @
9d6a84d2
...
...
@@ -5,19 +5,29 @@
<el-row
class=
"number-area"
>
<p
class=
"label-font"
>
自编号:
</p>
<p
class=
"label-font"
>
{{
selfNo
}}
</p>
<el-input
v-model=
"labelNo"
placeholder=
"请输入标签号"
></el-input>
<el-input
v-model=
"labelNo"
placeholder=
"请输入标签号"
></el-input>
<div>
<el-button
type=
"primary"
@
click=
"modifyBatchUnload"
>
批量输入
</el-button>
<el-button
type=
"primary"
@
click=
"modifyAllUnload"
>
一键卸柜
</el-button>
<el-button
type=
"primary"
@
click=
"modifyBatchUnload"
>
批量输入
</el-button>
<el-button
type=
"primary"
@
click=
"modifyAllUnload"
>
一键卸柜
</el-button>
</div>
</el-row>
<!-- 当前部分 -->
<el-row
class=
"number-area"
>
<p
class=
"label-font"
>
当前部分:
</p>
<el-select
placeholder=
"请选择"
v-model=
"sectionId"
@
change=
"sectionChange"
>
<el-option
key=
"0"
label=
"全部"
value=
"0"
></el-option>
<el-option
v-for=
"item in sectionList"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
></el-option>
<el-select
placeholder=
"请选择"
v-model=
"sectionId"
@
change=
"sectionChange"
>
<el-option
key=
"0"
label=
"全部"
value=
"0"
></el-option>
<el-option
v-for=
"item in sectionList"
:key=
"item.id"
:label=
"item.title"
:value=
"item.id"
></el-option>
</el-select>
<p>
{{
getSectionInfo
}}
...
...
@@ -26,32 +36,58 @@
<!-- 表格 -->
<el-row
class=
"table-area"
>
<el-table
v-loading=
"loading"
:data=
"pageData.sectionOrderList"
border
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<el-table
v-loading=
"loading"
:data=
"pageData.sectionOrderList"
border
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"50"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
>
<template
slot-scope=
"scope"
>
<a
href=
"javascript:void(0);"
class=
"order-href"
>
{{
scope
.
row
.
orderNo
}}
</a>
<a
href=
"javascript:void(0);"
class=
"order-href"
>
{{
scope
.
row
.
orderNo
}}
</a>
</
template
>
</el-table-column>
<el-table-column
label=
"商品信息"
align=
"center"
prop=
"goodsList"
>
<el-table-column
label=
"商品信息"
align=
"center"
prop=
"goodsList"
>
<
template
slot-scope=
"scope"
>
<section
class=
"table-goodList"
>
<div
v-for=
"(item, index) in scope.row.goodsList"
:key=
"index"
class=
"goodList-div"
>
<div
v-for=
"(item, index) in scope.row.goodsList"
:key=
"index"
class=
"goodList-div"
>
<p>
{{
index
+
1
}}
:
{{
item
.
prodTitleZh
}}
</p>
</div>
</section>
</
template
>
</el-table-column>
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
/>
<el-table-column
label=
"卸柜箱数"
align=
"center"
prop=
"unloadNum"
/>
<el-table-column
label=
"清关状态"
align=
"center"
prop=
""
>
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
/>
<el-table-column
label=
"卸柜箱数"
align=
"center"
prop=
"unloadNum"
/>
<el-table-column
label=
"清关状态"
align=
"center"
prop=
""
>
<
template
slot-scope=
"scope"
>
{{
clearStatus
(
scope
.
row
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
/>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
/>
<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=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
异常
</el-button>
<el-button
type=
"danger"
size=
"small"
@
click=
"openError(scope.row)"
>
异常
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -62,10 +98,7 @@
<div
class=
"label-font"
>
<p>
<span>
总计:
</span>
<span>
无返回
</span>
<!-- <span>{{pageData.totalStatistics ? pageData.totalStatistics.num : 0}}箱</span>
<span>{{pageData.totalStatistics ? pageData.totalStatistics.volume : 0}}m3</span>
<span>{{pageData.totalStatistics ? pageData.totalStatistics.weight : 0}}kg</span> -->
<span>
{{getTotlContent(pageData.totalStatistics)}}
</span>
</p>
</div>
<div
class=
"label-font"
>
...
...
@@ -77,12 +110,21 @@
</el-row>
<el-row>
<el-button
type=
"success"
@
click=
"onSubmit"
>
卸柜完成
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit"
>
卸柜完成
</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog
custom-class=
"shipping-dialog"
title=
"异常"
:visible.sync=
"dialogVisible"
width=
"600px"
:modal-append-to-body=
false
append-to-body
>
<unloadingError
v-if=
"dialogVisible"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:currRow=
"currRow"
/>
<el-dialog
custom-class=
"shipping-dialog"
title=
"异常"
:visible.sync=
"dialogVisible"
width=
"600px"
:modal-append-to-body=
false
append-to-body
>
<unloadingError
v-if=
"dialogVisible"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:currRow=
"currRow"
/>
</el-dialog>
</div>
</template>
...
...
src/views/ecw/box/shippingSea/utils.js
View file @
9d6a84d2
...
...
@@ -933,6 +933,33 @@ function getTotlContent(total, keys = ["num", "volume", "weight"]) {
return content.join(" ");
}
function getCapacity(capacity) {
return `
$
{
capacity
?.
name
??
""
}
柜型
$
{
capacity
?.
volume
??
0
}
m
³
$
{
capacity
?.
weight
??
0
}
kg
`;
}
function sumStatistics(val) {
let count = { num: 0, volume: 0, weight: 0 };
if (Array.isArray(val)) {
val.forEach((item) => {
const { secStatistics } = item;
if (secStatistics) {
if (!Number.isNaN(Number(secStatistics.num))) {
count.num = count.num + Number(secStatistics.num);
}
if (!Number.isNaN(Number(secStatistics.volume))) {
count.volume = count.volume + Number(secStatistics.volume);
}
if (!Number.isNaN(Number(secStatistics.weight))) {
count.weight = count.weight + Number(secStatistics.weight);
}
}
});
}
return getTotlContent(count);
}
export const fileTypes = [
"doc",
"xls",
...
...
@@ -976,5 +1003,7 @@ export {
formatNumberString,
formatDate,
getTotlContent,
getCapacity,
sumStatistics,
serviceMsg,
};
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