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
8110b523
Commit
8110b523
authored
Aug 19, 2023
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复拆单异常
parent
e9f5a564
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
369 additions
and
1174 deletions
+369
-1174
splitApply.vue
src/views/ecw/order/splitApply.vue
+0
-805
index.vue
src/views/ecw/order/splitApply/index.vue
+369
-369
No files found.
src/views/ecw/order/splitApply.vue
deleted
100644 → 0
View file @
e9f5a564
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
拆单申请
'
)
}}
-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
{{
$t
(
'
原单信息
'
)
}}
</span>
<div>
<span
v-if=
"orderData.abnormalState!=0"
class=
"red"
>
{{
$t
(
'
异常无法拆单
'
)
}}
</span>
<el-button
v-else
type=
"primary"
@
click=
"addSplit"
:disabled=
"orderData.inWarehouseState==207"
>
{{
$t
(
'
新建拆单
'
)
}}
</el-button>
</div>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
orderData
.
marks
?
orderData
.
marks
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货日期')"
>
{{
orderData
.
deliveryDate
||
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
<template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
startTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
<
template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{orderData.consignorVO?orderData.consignorVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货公司')"
>
{{orderData.consignorVO?orderData.consignorVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货电话')"
>
{{!orderData.consignorVO?$t('无'):!orderData.consignorVO.phone?$t('无'):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{orderData.consigneeVO?orderData.consigneeVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货公司')"
>
{{orderData.consigneeVO?orderData.consigneeVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货电话')"
>
{{!orderData.consigneeVO?$t('无'):!orderData.consigneeVO.phone?$t('无'):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
{{$t('货物信息')}}
</div>
<el-table
id=
'table'
v-loading=
"loading"
border
:data=
"orderData.orderItemVOList"
:summary-method=
"getSummaries"
show-summary
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('品名')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('填单货物属性')"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-row>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
/>
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
num
||
$t
(
'
未填
'
)
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
volume
||
$t
(
'
未填
'
)
}}
m³
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
weight
||
$t
(
'
未填
'
)
}}
kg
</span>
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入库货物属性')"
align=
"center"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<template
v-if=
"scope.row.brandName"
>
{{
scope
.
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.feeType"
/>
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('箱数')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.cartonsNum}}
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('体积')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}m³
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('重量')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg
</span>
</el-row>
<el-row
v-if=
"!scope.row.warehouseInInfoVO"
>
<span>
{{$t('暂时没有入仓信息')}}
</span>
</el-row>
</template>
</el-table-column>
<el-table-column
:label=
"$t('最后操作时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<!--
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
-->
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_STATUS"
:value=
"scope.row.itemStatus"
/>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"card"
v-if=
"splitData.length>0"
>
<!-- 列表 -->
<div
slot=
"header"
class=
"card-title"
>
{{$t('拆单信息')}}
</div>
<div
v-for=
"(item, index) in splitData"
:key=
"index"
>
<div
class=
"btn-header"
>
<div>
<p
class=
"card-info"
>
<span
class=
"card-title"
>
{{item.orderNo}}
</span>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"item.transportId"
/>
<span>
{{$t('发往')}}:{{importCityName(item.dstWarehouseId)}}
</span>
</p>
</div>
<div>
<el-button
v-if=
"index==0"
disabled
type=
"primary"
@
click=
"addShop(index)"
>
{{$t('放入')}}
</el-button>
<el-button
v-if=
"index!=0"
type=
"primary"
@
click=
"addShop(index)"
>
{{$t('放入')}}
</el-button>
<!--<el-button v-if="index==0" disabled type="primary" plain @click="deleteSplit(item.id)">{{$t('删除')}}</el-button>-->
<el-button
:disabled=
"index < splitData.length - 1"
type=
"primary"
plain
@
click=
"deleteSplit(item.id)"
>
{{$t('删除')}}
</el-button>
</div>
</div>
<el-table
v-if=
"item.orderSplitItemBackVOList"
border
:data=
"item.orderSplitItemBackVOList"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('中文名')"
align=
"center"
prop=
"prodTitleZh"
/>
<el-table-column
:label=
"$t('英文名')"
align=
"center"
prop=
"prodTitleEn"
/>
<el-table-column
:label=
"$t('品牌')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.brandName"
>
{{
scope
.
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.feeType"
/>
</template>
</el-table-column>
<el-table-column
:label=
"$t('入仓体积')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.volume"
@
change=
"updateField(scope.row, 'volume')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
m³
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收费体积')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.chargeVolume"
@
change=
"updateField(scope.row, 'chargeVolume')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
m³
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入仓重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.weight"
@
change=
"updateField(scope.row, 'weight')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收费重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.chargeWeight"
@
change=
"updateField(scope.row, 'chargeWeight')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
kg
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货值')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.worth"
@
change=
"updateField(scope.row, 'worth')"
size=
"mini"
:disabled=
"index === 0"
>
<span
slot=
"append"
>
{{
$t
(
'
美元
'
)
}}
</span>
</el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('箱数')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
num
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
v-if=
"index==0"
disabled
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
<el-button
v-else
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
</el-card>
<work-flow
xmlkey=
"split_order"
v-model=
"selectedUsers"
></work-flow>
<div
slot=
"footer"
class=
"card footer_btn"
v-if=
"orderData.abnormalState==0"
>
<el-button
v-if=
"orderData.inWarehouseState!=207"
type=
"primary"
@
click=
"submitForm"
>
{{$t('提交申请')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState!=207"
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('取消')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState==207"
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+orderApprovalBackVO.applyingFormId)"
>
{{$t('审核中')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState==207"
plain
type=
"primary"
@
click=
"dialogVisible = true"
>
{{$t('取消审核')}}
</el-button>
<el-button
v-if=
"orderData.inWarehouseState==207"
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('返回')}}
</el-button>
</div>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('新建拆单')"
:visible.sync=
"open"
width=
"400px"
append-to-body
>
<el-form
ref=
"formSplit"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:clearable=
"true"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
@
change=
"changeTransport"
v-model=
"form.transportId"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
:placeholder=
"$t('请选择出货渠道')"
:clearable=
"true"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"$l(item, 'name')"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓库')"
>
<el-select
v-model=
"form.destWarehouseId"
@
change=
"changeDeatWarehouseId"
:placeholder=
"$t('请选择目的仓库')"
:clearable=
"true"
>
<el-option
v-for=
"items in importCityList"
:label=
"$l(items, 'title')"
:value=
"items.id"
:key=
"items.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"haddleAdd"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"cancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('放入品名')"
:visible.sync=
"shopOpen"
width=
"500px"
append-to-body
>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"120px"
>
<el-form-item
:label=
"$t('中文品名')"
v-if=
"splitData.length>0"
>
<el-select
v-model=
"shopForm.pordid"
:placeholder=
"$t('请选择中文品名')"
@
change=
"changeProdTitleZh"
clearable
>
<el-option
v-for=
"item in splitData[0].orderSplitItemBackVOList"
:label=
"item.prodTitleZh"
:value=
"item.id"
:key=
"item.prodTitleZh"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('英文品名')"
v-if=
"splitData.length>0"
>
<el-select
v-model=
"shopForm.pordid"
:placeholder=
"$t('请选择英文品名')"
@
change=
"changeProdTitleZh"
clearable
>
<el-option
v-for=
"item in splitData[0].orderSplitItemBackVOList"
:label=
"item.prodTitleEn"
:value=
"item.id"
:key=
"item.prodTitleEn"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label2=
"$t('剩余箱数')"
v-if=
"mainOrderItem.orderItemId"
>
{{$t('剩余箱数')}}{{ shopForm.sum || 0 }}
<!--,可放入箱数:{{ mainOrderItem.num - 1 }}-->
</el-form-item>
<el-form-item
:label=
"$t('放入箱数')"
>
<el-input-number
v-model=
"shopForm.num"
@
change=
"numChange"
controls-position=
"right"
:min=
"1"
:max=
"mainOrderItem.num"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"quantityshow"
:label=
"$t('放入数量')+'('+$t('个')+')'"
>
<el-input-number
v-model=
"shopForm.quantity"
controls-position=
"right"
:min=
"1"
:max=
"mainOrderItem.quantity-1"
:placeholder=
"$t('最多可放入{quantity}', {
quantity: mainOrderItem.quantity-1
})"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"mainOrderItem.orderItemId"
>
<div>
{{ $t('剩余入仓方数') }}:{{ mainOrderItem.volume || 0 }}m³
<!--,{{$t('可放入仓方数')}}:{{ (mainOrderItem.volume - 0.01).toFixed(2) }}m³-->
</div>
<div>
{{$t('剩余收费方数')}}:{{ mainOrderItem.chargeVolume || 0 }}m³
<!--,{{$t('可放入收费方数')}}:{{ (mainOrderItem.chargeVolume - 0.01).toFixed(2) }}m³-->
</div>
</el-form-item>
<el-form-item
:label=
"$t('入仓方数')"
>
<el-input-number
v-model=
"shopForm.volume"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.volume"
></el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('收费方数')"
>
<el-input-number
v-model=
"shopForm.chargeVolume"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.chargeVolume"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"mainOrderItem.orderItemId"
>
<div>
{{$t('剩余入仓重量')}}:{{ mainOrderItem.weight || 0 }}kg
<!--,{{$t('可放入重量')}}:{{ mainOrderItem.weight }}kg-->
</div>
<div>
{{$t('剩余收费重量')}}:{{ mainOrderItem.chargeWeight || 0 }}kg
<!--,{{$t('可放入收费重量')}}:{{ mainOrderItem.chargeWeight }}kg-->
</div>
</el-form-item>
<el-form-item
:label=
"$t('入仓重量')"
>
<el-input-number
v-model=
"shopForm.weight"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.weight"
></el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('收费重量')"
>
<el-input-number
v-model=
"shopForm.chargeWeight"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.chargeWeight"
></el-input-number>
</el-form-item>
<el-form-item
v-if=
"mainOrderItem.orderItemId"
>
<div>
{{$t('剩余货值')}}:{{ mainOrderItem.worth || 0 }}{{ $t('美元') }}
</div>
</el-form-item>
<el-form-item
:label=
"$t('放入货值')"
>
<el-input-number
v-model=
"shopForm.worth"
controls-position=
"right"
:min=
"0"
:max=
"mainOrderItem.worth"
>
<
template
slot=
"append"
>
{{
$t
(
'
元
'
)
}}
</
template
>
</el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息')+':'"
>
<el-input
v-model=
"shopForm.remark"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"shopCancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"$t('提示')"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<span
class=
"cancel_notice"
>
{{$t('拆单申请正在审核中,你确定取消拆单申请吗?')}}
</span>
<div
class=
"cancel_content"
>
<span>
{{$t('取消原因:')}}
</span>
<el-input
v-model=
"reason"
:placeholder=
"$t('请输入取消原因')"
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
{{$t('取消')}}
</el-button>
<el-button
type=
"primary"
@
click=
"cancelSplit"
>
{{$t('确定')}}
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
getDictData
,
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getSplitList
,
splitApply
,
createSplit
,
cancelApply
,
createSplitItem
,
deleteSplitItem
,
deleteSplit
,
deleteAllSplit
}
from
"
@/api/ecw/orderHandle
"
import
{
getWarehouseList
,
quantityRequired
}
from
'
@/api/ecw/warehouse
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
{
getOrder
,
splitItemUpdate
}
from
'
@/api/ecw/order
'
import
Decimal
from
'
decimal.js
'
import
Template
from
"
@/views/cms/template
"
;
export
default
{
name
:
"
SplitApply
"
,
components
:
{
Template
,
WorkFlow
},
data
()
{
return
{
checked
:
false
,
reason
:
''
,
dialogVisible
:
false
,
orderData
:{},
splitData
:[],
orderApprovalBackVO
:{},
splitIndex
:
0
,
channelData
:[],
tradeCityList
:[],
multipleSelection
:[],
loading
:
false
,
open
:
false
,
form
:{
},
importCityList
:[],
selectedUsers
:[],
shopOpen
:
false
,
quantityshow
:
false
,
shopForm
:{},
// 表单校验
rules
:
{
transportId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择运输方式
"
),
trigger
:
"
change
"
}],
warehouseIds
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择目的仓库
"
),
trigger
:
"
change
"
}],
channelId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择出货渠道
"
),
trigger
:
"
change
"
}],
},
// 表单校验
shopRules
:
{
prodTitleZh
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择中文品名
"
),
trigger
:
"
change
"
}],
prodTitleEn
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择英文品名
"
),
trigger
:
"
change
"
}],
},
queryParams
:{
orderId
:
7
,
lang
:
0
},
query
:{
page
:
1
,
rows
:
20
},
splitItemIndex
:
0
,
quantitySum
:
0
};
},
async
created
()
{
this
.
getChannel
()
getWarehouseList
().
then
(
res
=>
{
this
.
tradeCityList
=
res
.
data
this
.
importCityList
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
)
})
if
(
this
.
$route
.
query
.
orderId
)
{
this
.
queryParams
.
orderId
=
this
.
$route
.
query
.
orderId
}
Promise
.
all
([
this
.
getList
(),
this
.
getOrder
()]).
then
(
res
=>
{
console
.
log
(
"
拆单数据
"
,
this
.
splitData
,
this
.
splitData
.
length
)
if
(
this
.
orderData
.
inWarehouseState
!=
207
&&
this
.
splitData
.
length
){
// 2023-05-20确认不需要询问,直接重置
deleteAllSplit
(
this
.
queryParams
.
orderId
).
then
(
res
=>
{
this
.
getList
()
})
/*this.$confirm(this.$t('已有拆单数据,是否要重置?')).then(res => {
return deleteAllSplit(this.queryParams.orderId)
}).then(res => {
this.getList()
this.$message.success("重置成功")
})*/
}
})
},
watch
:
{
//监听table这个对象
tableData
:
{
// 立即监听
immediate
:
true
,
handler
()
{
this
.
$nextTick
(()
=>
{
const
tds
=
document
.
querySelectorAll
(
"
#table .el-table__footer-wrapper tr>td
"
);
// colSpan合并列
tds
[
1
].
colSpan
=
5
;
tds
[
1
].
style
.
textAlign
=
"
left
"
;
tds
[
2
].
style
.
display
=
"
none
"
;
tds
[
3
].
style
.
display
=
"
none
"
;
tds
[
4
].
style
.
display
=
"
none
"
;
tds
[
5
].
style
.
display
=
"
none
"
;
});
},
},
// 关闭放入弹层的时候清理弹层表单内容
shopOpen
(
show
){
if
(
!
show
){
this
.
shopForm
=
{}
}
}
},
computed
:{
getDictData
(){
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
},
getDictDatas
(){
return
getDictDatas
},
// 放入品名试选择的商品项
orderItem
(){
if
(
!
this
.
orderData
||
!
this
.
shopForm
.
orderItemId
)
return
{}
return
this
.
orderData
.
orderItemVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
shopForm
.
orderItemId
)
||
{}
},
// 主单数据,也就是拆分剩余的数据,可用来限制拆单放入的最大值
mainOrderItem
(){
if
(
!
this
.
orderItem
.
orderItemId
||
!
this
.
splitData
.
length
||
!
this
.
splitData
[
0
].
orderSplitItemBackVOList
)
return
{}
return
this
.
splitData
[
0
].
orderSplitItemBackVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
orderItem
.
orderItemId
)
||
{}
}
},
methods
:
{
/*检查并提交字段(体积,重量)修改*/
updateField
(
row
,
field
){
let
val
=
parseFloat
(
row
[
field
])
if
(
!
val
||
val
<
0
){
this
.
$message
.
error
(
this
.
$t
(
'
数据无效
'
))
return
this
.
getList
()
}
splitItemUpdate
(
row
).
then
(()
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
))
}).
finally
(()
=>
{
this
.
getList
()
})
},
checkCode
(
data
){
if
(
data
.
indexOf
(
'
+
'
)
==-
1
){
return
'
+
'
+
data
}
return
data
},
changeTransport
(
e
){
this
.
$set
(
this
.
form
,
'
transportId
'
,
e
)
console
.
log
(
this
.
form
.
transportId
)
this
.
$forceUpdate
()
},
changeDeatWarehouseId
(
e
){
this
.
$forceUpdate
()
this
.
$set
(
this
.
form
,
'
destWarehouseId
'
,
e
)
console
.
log
(
this
.
form
.
destWarehouseId
)
},
getOrder
(){
this
.
loading
=
true
;
return
getOrder
(
this
.
queryParams
.
orderId
).
then
(
response
=>
{
this
.
orderData
=
response
.
data
this
.
query
.
destWarehouseId
=
response
.
data
.
logisticsInfoDto
.
startWarehouseId
this
.
loading
=
false
});
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 执行查询
return
getSplitList
(
this
.
queryParams
).
then
(
response
=>
{
this
.
splitData
=
response
.
data
.
orderSplitBackVOList
this
.
orderApprovalBackVO
=
response
.
data
this
.
loading
=
false
;
});
},
getChannel
(){
getChannelList
().
then
(
res
=>
this
.
channelData
=
res
.
data
)
},
changeDest
(){
this
.
query
.
warehouseIds
=
this
.
form
.
destWarehouseId
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
rowIndex
==
this
.
orderData
.
orderItemVOList
.
length
)
{
if
(
columnIndex
===
1
)
{
return
[
2
,
3
];
}
else
if
(
columnIndex
>
1
)
{
return
[
0
,
0
];
}
}
},
getSummaries
(){
const
sums
=
[];
sums
[
0
]
=
this
.
$t
(
'
小计
'
)
if
(
!
this
.
orderData
||
!
this
.
orderData
.
orderItemVOList
||
this
.
orderData
.
length
==
0
){
return
sums
}
var
orderSum
=
0
var
orderV
=
0
var
orderW
=
0
var
leviteSum
=
0
var
leviteV
=
0
var
leviteW
=
0
this
.
orderData
.
orderItemVOList
.
forEach
((
column
,
index
)
=>
{
orderSum
+=
column
.
num
orderV
+=
column
.
volume
orderW
+=
column
.
weight
leviteSum
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
cartonsNum
:
0
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
});
sums
[
1
]
=
this
.
$t
(
'
下单统计
'
)
+
'
'
+
orderSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
orderV
.
toFixed
(
2
)
+
'
m³
'
+
orderW
+
'
kg
'
+
'
'
+
this
.
$t
(
'
入仓统计:
'
)
+
leviteSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
leviteV
.
toFixed
(
2
)
+
'
m³
'
+
leviteW
+
'
kg
'
return
sums
;
},
importCityName
(
id
){
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
this
.
$t
(
'
无
'
)
},
submitForm
(){
if
(
this
.
splitData
.
length
==
0
){
this
.
$modal
.
msgError
(
this
.
$t
(
"
请先新建拆单
"
))
return
}
// 判断体积和重量,子单和必须等于父单
// 1.将拆单中的商品项数据汇总保存到orderItem
this
.
splitData
.
forEach
(
item
=>
{
item
.
orderSplitItemBackVOList
.
forEach
(
splitItem
=>
{
let
orderItem
=
this
.
orderData
.
orderItemVOList
.
find
(
orderItem
=>
orderItem
.
orderItemId
==
splitItem
.
orderItemId
)
if
(
!
orderItem
.
splitSum
){
orderItem
.
splitSum
=
{
volume
:
new
Decimal
(
splitItem
.
volume
||
0
),
weight
:
new
Decimal
(
splitItem
.
weight
||
0
)
}
}
else
{
orderItem
.
splitSum
.
volume
=
orderItem
.
splitSum
.
volume
.
plus
(
splitItem
.
volume
||
0
)
orderItem
.
splitSum
.
weight
=
orderItem
.
splitSum
.
weight
.
plus
(
splitItem
.
weight
||
0
)
}
})
})
// 2. 遍历商品项 对比数据是否符合
let
prods
=
[]
// 数据不符合要求的商品
// 挂在到window测试
window
.
orderData
=
this
.
orderData
this
.
orderData
.
orderItemVOList
.
forEach
(
item
=>
{
// 未入仓的不检查
if
(
!
item
.
warehouseInInfoVO
){
return
}
// 没拆单的不检查
if
(
!
item
.
splitSum
){
// prods.push(this.$l(item, 'prodTitle'))
return
}
if
(
item
.
splitSum
.
volume
.
toNumber
()
!=
item
.
warehouseInInfoVO
.
volume
||
item
.
splitSum
.
weight
.
toNumber
()
!=
item
.
warehouseInInfoVO
.
weight
){
prods
.
push
(
this
.
$l
(
item
,
'
prodTitle
'
))
}
})
if
(
prods
.
length
){
return
this
.
$alert
(
this
.
$t
(
"
{prods}等商品拆单总数据跟主单不匹配
"
,
{
prods
:
prods
.
join
(
'
,
'
)}))
}
// if(this.selectedUsers.length==0){
// this.$modal.msgError("请选择抄送人")
// return
// }
var
params
=
{
orderId
:
this
.
queryParams
.
orderId
,
copyUserId
:
this
.
selectedUsers
}
splitApply
(
params
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
申请成功
"
));
this
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
addShop
(
index
){
this
.
splitItemIndex
=
index
this
.
shopOpen
=
true
},
addSplit
(){
this
.
form
.
transportId
=
this
.
orderData
.
transportId
this
.
form
.
destWarehouseId
=
this
.
orderData
.
destWarehouseId
if
(
this
.
orderData
.
logisticsInfoDto
&&
this
.
orderData
.
logisticsInfoDto
.
destTitleZh
){
this
.
form
.
destWarehouseId
=
this
.
importCityList
.
find
(
item
=>
item
.
titleZh
==
this
.
orderData
.
logisticsInfoDto
.
destTitleZh
).
id
if
(
this
.
orderData
.
logisticsInfoDto
&&
this
.
orderData
.
logisticsInfoDto
.
channelId
){
this
.
form
.
channelId
=
this
.
orderData
.
logisticsInfoDto
.
channelId
}
}
this
.
open
=
true
},
changeProdTitleZh
(
val
){
var
list
=
[]
list
=
this
.
splitData
[
0
].
orderSplitItemBackVOList
.
filter
(
item
=>
item
.
id
==
val
)
this
.
shopForm
.
sum
=
list
[
0
].
num
this
.
quantitySum
=
list
[
0
].
quantity
this
.
shopForm
.
orderItemId
=
list
[
0
].
orderItemId
this
.
shopForm
.
prodTitleEn
=
list
[
0
].
prodTitleEn
this
.
shopForm
.
prodTitleZh
=
list
[
0
].
prodTitleZh
var
orderItemData
=
this
.
orderData
.
orderItemVOList
.
find
(
item
=>
item
.
orderItemId
==
this
.
shopForm
.
orderItemId
)
/*var params = {
'seaFreightVolume':orderItemData.seaFreightVolume,
'clearanceFreightVolume':orderItemData.clearanceFreightVolume
}
console.log(orderItemData)*/
this
.
numcheck
()
},
numcheck
(){
quantityRequired
(
this
.
orderData
.
lineId
).
then
(
res
=>
{
this
.
quantityshow
=
res
.
data
})
},
// 输入方数箱数后,按照平均值计算数量和体积重量数据
numChange
(){
/*var sum = parseInt(this.quantitySum/this.shopForm.num)
this.$set(this.shopForm,'quantity',sum)*/
let
rate
=
this
.
shopForm
.
num
/
this
.
mainOrderItem
.
num
this
.
$set
(
this
.
shopForm
,
'
quantity
'
,
Math
.
ceil
(
this
.
mainOrderItem
.
quantity
*
rate
))
this
.
$set
(
this
.
shopForm
,
'
volume
'
,
(
this
.
mainOrderItem
.
volume
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
chargeVolume
'
,
(
this
.
mainOrderItem
.
chargeVolume
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
weight
'
,
(
this
.
mainOrderItem
.
weight
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
chargeWeight
'
,
(
this
.
mainOrderItem
.
chargeWeight
*
rate
).
toFixed
(
2
))
this
.
$set
(
this
.
shopForm
,
'
worth
'
,
(
this
.
mainOrderItem
.
worth
*
rate
).
toFixed
(
2
))
},
/*changeProdTitleEn(){
var list = []
list = this.splitData[0].orderSplitItemBackVOList.filter(item=>item.prodTitleEn == this.shopForm.prodTitleEn)
this.shopForm.sum = list[0].num
this.quantitySum = list[0].quantity
this.shopForm.prodTitleZh = list[0].prodTitleZh
},*/
haddleAdd
(){
let
that
=
this
if
(
!
that
.
form
.
transportId
){
that
.
$message
.
error
(
this
.
$t
(
"
请选择运输方式
"
));
return
}
if
(
!
that
.
form
.
destWarehouseId
){
that
.
$message
.
error
(
this
.
$t
(
"
请选择目的仓库
"
));
return
}
// if(!this.form.channelId){
// this.$modal.msgError("请选择出货渠道");
// }
var
params
=
{
dstWarehouseId
:
that
.
form
.
destWarehouseId
,
parentOrderId
:
that
.
orderData
.
orderId
,
parentOrderNo
:
that
.
orderData
.
orderNo
,
transportId
:
that
.
form
.
transportId
,
channelId
:
that
.
form
.
channelId
}
createSplit
(
params
).
then
(
res
=>
{
that
.
getList
()
})
that
.
open
=
false
},
cancel
(){
this
.
open
=
false
this
.
form
=
{}
},
shopAdd
(){
this
.
$refs
[
"
shopForm
"
].
validate
(
valid
=>
{
if
(
!
valid
)
{
return
;
}
})
var
params
=
{
num
:
this
.
shopForm
.
num
,
orderItemId
:
this
.
shopForm
.
orderItemId
,
orderSplitId
:
this
.
splitData
[
this
.
splitItemIndex
].
id
,
remark
:
this
.
shopForm
.
remark
,
volume
:
this
.
shopForm
.
volume
,
chargeVolume
:
this
.
shopForm
.
chargeVolume
,
weight
:
this
.
shopForm
.
weight
,
chargeWeight
:
this
.
shopForm
.
chargeWeight
,
worth
:
this
.
shopForm
.
worth
}
if
(
this
.
quantityshow
){
params
.
quantity
=
this
.
shopForm
.
quantity
}
createSplitItem
(
params
).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
放入成功
"
));
this
.
getList
()
this
.
shopForm
=
{}
})
this
.
shopOpen
=
false
},
removeShop
(
id
){
let
that
=
this
that
.
$confirm
(
that
.
$t
(
'
是否移除货物吗?
'
)).
then
(
function
()
{
deleteSplitItem
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
移除成功
"
));
that
.
getList
()
})
})
},
cancelSplit
(){
let
that
=
this
if
(
!
that
.
reason
){
that
.
$message
.
error
(
that
.
$t
(
"
请输入取消原因
"
));
return
}
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
,
reason
:
that
.
reason
}).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
取消成功
"
));
that
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
shopCancel
(){
this
.
shopOpen
=
false
this
.
shopForm
=
{}
},
/** 删除按钮操作 */
deleteSplit
(
id
)
{
let
that
=
this
that
.
$confirm
(
that
.
$t
(
'
是否确认删除新拆的订单吗?
'
)).
then
(
function
()
{
deleteSplit
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
删除成功
"
));
that
.
getList
()
})
})
},
}
}
</
script
>
<
style
scoped
>
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
}
.card-info
{
font-size
:
16px
;
}
.card
{
margin-top
:
20px
;
}
.btn-header
{
width
:
90%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
20px
0
;
}
.red
{
color
:
#ff3430
;
font-size
:
15px
;
}
.footer_btn
{
padding-bottom
:
60px
;
}
.cancel_notice
{
font-size
:
16px
;
font-weight
:
600
;
}
.cancel_content
{
display
:
flex
;
align-items
:
center
;
padding-top
:
20px
;
}
.cancel_content
span
{
width
:
100px
;
}
</
style
>
src/views/ecw/order/splitApply/index.vue
View file @
8110b523
...
...
@@ -2,60 +2,60 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
拆单申请
'
)
}}
-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
{{
$t
(
'
原单信息
'
)
}}
</span>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
orderData
.
marks
?
orderData
.
marks
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货日期')"
>
{{
orderData
.
deliveryDate
||
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
<template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
startTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
<
template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{orderData.consignorVO?orderData.consignorVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货公司')"
>
{{orderData.consignorVO?orderData.consignorVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货电话')"
>
{{!orderData.consignorVO?$t('无'):!orderData.consignorVO.phone?$t('无'):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{orderData.consigneeVO?orderData.consigneeVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货公司')"
>
{{orderData.consigneeVO?orderData.consigneeVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货电话')"
>
{{!orderData.consigneeVO?$t('无'):!orderData.consigneeVO.phone?$t('无'):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
拆单申请
'
)
}}
-
{{
orderData
.
orderNo
||
''
}}
</div>
<div
class=
"btn-header"
>
<span
class=
"card-title"
>
{{
$t
(
'
原单信息
'
)
}}
</span>
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
orderData
.
marks
?
orderData
.
marks
:
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('已到箱数/总箱数')"
>
<span>
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
totalNum
:
0
}}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
<!--
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
-->
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('送货日期')"
>
{{
orderData
.
deliveryDate
||
$t
(
'
无
'
)
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
<template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
startTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的地')"
:span=
"2"
>
<
template
v-if=
"orderData.logisticsInfoDto"
>
{{
$l
(
orderData
.
logisticsInfoDto
,
'
destTitle
'
)
}}
</
template
>
<
template
v-else
>
{{
$t
(
'
无
'
)
}}
</
template
>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人姓名')"
>
{{orderData.consignorVO?orderData.consignorVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货公司')"
>
{{orderData.consignorVO?orderData.consignorVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货电话')"
>
{{!orderData.consignorVO?$t('无'):!orderData.consignorVO.phone?$t('无'):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
:label=
"$t('收货人姓名')"
>
{{orderData.consigneeVO?orderData.consigneeVO.name||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货公司')"
>
{{orderData.consigneeVO?orderData.consigneeVO.company||$t('无'):$t('无')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货电话')"
>
{{!orderData.consigneeVO?$t('无'):!orderData.consigneeVO.phone?$t('无'):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
...
...
@@ -64,62 +64,62 @@
<el-table
id=
'table'
v-loading=
"loading"
border
:data=
"orderData.orderItemVOList"
:summary-method=
"getSummaries"
show-summary
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
width=
"60"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('品名')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleEn
}}
</el-row>
<el-row>
{{
scope
.
row
.
prodTitleZh
}}
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('填单货物属性')"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-row>
<
template
slot-scope=
"scope"
>
<el-row>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<dict-tag
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.brandType"
/>
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
num
||
$t
(
'
未填
'
)
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
volume
||
$t
(
'
未填
'
)
}}
m³
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
weight
||
$t
(
'
未填
'
)
}}
kg
</span>
</el-row>
</
template
>
</el-row>
<el-row>
<span>
{{
$t
(
'
箱数
'
)
}}
:
{{
scope
.
row
.
num
||
$t
(
'
未填
'
)
}}
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
体积
'
)
}}
:
{{
scope
.
row
.
volume
||
$t
(
'
未填
'
)
}}
m³
</span>
</el-row>
<el-row>
<span>
{{
$t
(
'
重量
'
)
}}
:
{{
scope
.
row
.
weight
||
$t
(
'
未填
'
)
}}
kg
</span>
</el-row>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('入库货物属性')"
align=
"center"
width=
"400"
>
<
template
slot-scope=
"scope"
>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<
template
slot-scope=
"scope"
>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
规格
'
)
}}
:
{{
scope
.
row
.
warehouseInInfoVO
?
scope
.
row
.
warehouseInInfoVO
.
boxGauge
:
0
}}
</span>
</el-row>
<el-row
v-if=
"scope.row.warehouseInInfoVO"
>
<span>
{{
$t
(
'
品牌
'
)
}}
:
<template
v-if=
"scope.row.brandName"
>
{{
scope
.
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"scope.row.feeType"
/>
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('箱数')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.cartonsNum}}
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('体积')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}m³
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('重量')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('数量(个)')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.quantityAll}}
</span>
</el-row>
<el-row
v-if=
"!scope.row.warehouseInInfoVO"
>
<span>
{{$t('暂时没有入仓信息')}}
</span>
</el-row>
</template>
<span
style=
"margin-left: 10px;"
>
{{$t('箱数')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.cartonsNum}}
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('体积')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.volume}}m³
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('重量')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.weight}}kg
</span>
<span
style=
"margin-left: 10px;"
>
{{$t('数量(个)')}}:{{!scope.row.warehouseInInfoVO?0:scope.row.warehouseInInfoVO.quantityAll}}
</span>
</el-row>
<el-row
v-if=
"!scope.row.warehouseInInfoVO"
>
<span>
{{$t('暂时没有入仓信息')}}
</span>
</el-row>
</template>
</el-table-column>
<el-table-column
:label=
"$t('最后操作时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('状态')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<!--
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
-->
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_STATUS"
:value=
"scope.row.itemStatus"
/>
<
template
slot-scope=
"scope"
>
<!--
{{
orderData
.
abnormalState
!=
0
?
$t
(
'
异常
'
):
$t
(
'
正常
'
)
}}
-->
<dict-tag
:type=
"DICT_TYPE.ORDER_ITEM_STATUS"
:value=
"scope.row.itemStatus"
/>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -153,7 +153,7 @@
<el-table
v-if=
"item.orderSplitItemBackVOList"
border
:data=
"item.orderSplitItemBackVOList"
>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('中文名')"
align=
"center"
prop=
"prodTitleZh"
/>
...
...
@@ -182,7 +182,7 @@
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
weight
}}
kg
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('收费重量')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
chargeWeight
}}
kg
...
...
@@ -209,7 +209,7 @@
<el-table-column
:label=
"$t('数量(个)')"
align=
"center"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"removeShop(scope.row.id)"
>
{{
$t
(
'
移出
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -219,34 +219,34 @@
</el-card>
<work-flow
xmlkey=
"split_order"
v-model=
"selectedUsers"
></work-flow>
<div
slot=
"footer"
class=
"card footer_btn"
v-if=
"orderData.abnormalState==0"
>
<
template
v-if=
"orderData.inWarehouseState!=207"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t
(
'
提交申请
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"cancel"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+orderApprovalBackVO.applyingFormId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"dialogVisible = true"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</
template
>
<
template
v-if=
"orderData.inWarehouseState!=207"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t
(
'
提交申请
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"cancel"
>
{{
$t
(
'
取消
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"reset"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"$router.push(`/bpm/process-instance/detail?id=`+orderApprovalBackVO.applyingFormId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"dialogVisible = true"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</
template
>
</div>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('新建拆单')"
:visible.sync=
"open"
width=
"400px"
append-to-body
>
<el-form
ref=
"formSplit"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:clearable=
"true"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
@
change=
"changeTransport"
v-model=
"form.transportId"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
:placeholder=
"$t('请选择出货渠道')"
:clearable=
"true"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"$l(item, 'name')"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:clearable=
"true"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
@
change=
"changeTransport"
v-model=
"form.transportId"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
>
<el-select
v-model=
"form.channelId"
:placeholder=
"$t('请选择出货渠道')"
:clearable=
"true"
>
<el-option
:disabled=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass != 'channel'"
v-for=
"item in channelData"
:key=
"item.channelId"
:label=
"$l(item, 'name')"
:value=
"item.channelId"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓库')"
>
<el-select
v-model=
"form.destWarehouseId"
@
change=
"changeDeatWarehouseId"
:placeholder=
"$t('请选择目的仓库')"
:clearable=
"true"
>
<el-option
v-for=
"items in importCityList"
:label=
"$l(items, 'title')"
:value=
"items.id"
:key=
"items.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的仓库')"
>
<el-select
v-model=
"form.destWarehouseId"
@
change=
"changeDeatWarehouseId"
:placeholder=
"$t('请选择目的仓库')"
:clearable=
"true"
>
<el-option
v-for=
"items in importCityList"
:label=
"$l(items, 'title')"
:value=
"items.id"
:key=
"items.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -256,194 +256,194 @@
</el-dialog>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"$t('放入品名')"
:visible.sync=
"shopOpen"
width=
"1500px"
append-to-body
>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"120px"
inline
>
<el-form-item
:label=
"$t('中文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择中文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleZh"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('英文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择英文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleEn"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-card>
<div
slot=
"header"
class=
"page-title"
>
{{$t('品名可拆数据')}}
</div>
<div
class=
"pl-20"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ leftData.num || 0 }}
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ leftData.volume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('收费方数') }}:{{ leftData.chargeVolume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ leftData.weight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('收费重量') }}:{{ leftData.chargeWeight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ leftData.quantity || 0 }}
</span>
<span
class=
"mr-10"
v-if=
"orderLeftData"
>
{{ $t('剩余订单货值') }}:{{ orderLeftData.splitResidueWorth || 0 }}{{ $t('元') }}
</span>
</div>
</el-card>
<el-form
ref=
"shopForm"
:model=
"shopForm"
:rules=
"shopRules"
label-width=
"120px"
inline
>
<el-form-item
:label=
"$t('中文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择中文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleZh"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('英文品名')"
>
<el-select
v-model=
"shopForm.orderItemId"
:placeholder=
"$t('请选择英文品名')"
>
<el-option
v-for=
"item in orderData.orderItemVOList"
:label=
"item.prodTitleEn"
:value=
"item.orderItemId"
:key=
"item.orderItemId"
></el-option>
</el-select>
</el-form-item>
<el-card>
<div
slot=
"header"
class=
"page-title"
>
{{$t('品名可拆数据')}}
</div>
<div
class=
"pl-20"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ leftData.num || 0 }}
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ leftData.volume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('收费方数') }}:{{ leftData.chargeVolume || 0 }}m³
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ leftData.weight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('收费重量') }}:{{ leftData.chargeWeight || 0 }}kg
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ leftData.quantity || 0 }}
</span>
<span
class=
"mr-10"
v-if=
"orderLeftData"
>
{{ $t('剩余订单货值') }}:{{ orderLeftData.splitResidueWorth || 0 }}{{ $t('元') }}
</span>
</div>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
{{$t('可拆入仓记录')}}
</div>
<el-table
:data=
"getOrderItemWarehouseIn(shopForm.orderItemId)"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
>
<
template
v-slot=
"{row,$index}"
>
<!--
{{
row
.
cartonsNum
}}
-->
{{
getWarehouseLeftData
(
row
,
'
num
'
)
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
volume
'
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
weight
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
prop=
"quantity"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
quantity
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationBackVOList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-tag
v-if=
"getWarehouseInSplitData(row.id,'num') >= row.cartonsNum"
disabled
size=
"mini"
type=
"primary"
>
{{
$t
(
'
已拆完
'
)
}}
</el-tag>
<el-button
v-else
size=
"mini"
type=
"primary"
@
click=
"putInRecord(row)"
>
放入
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"flex-between mt-20 mb-10"
>
<div
class=
"page-title"
style=
"margin: 0"
>
{{$t('已放入入仓记录')}}
</div>
<el-button
type=
"danger"
size=
"mini"
@
click=
"clearAll"
>
清空放入数据
</el-button>
</div>
<el-table
:data=
"shopForm.specsRecordVOList"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
width=
"200px"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
num
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
width=
"100px"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
volume
}}
</
template
>
</el-table-column>
<!--<el-table-column label="收费体积(m³)" prop="chargeVolume"></el-table-column>-->
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
></el-table-column>
<!--<el-table-column label="收费重量(Kg)" prop="chargeWeight"></el-table-column>-->
<el-table-column
:label=
"$t('数量')"
width=
"130px"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"deleteRow($index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
放入数据
</div>
<div>
<div
class=
"pl-20 mb-10"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ putin.num || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ putin.quantity || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ putin.volume || 0 }}m³,
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ putin.weight || 0 }}kg
</span>
</div>
<el-form-item
:label=
"$t('收费方数')"
prop=
"chargeVolume"
>
<el-input-number
v-model=
"shopForm.chargeVolume"
controls-position=
"right"
></el-input-number>
m³
</el-form-item>
<el-form-item
:label=
"$t('收费重量')"
prop=
"chargeWeight"
>
<el-input-number
v-model=
"shopForm.chargeWeight"
controls-position=
"right"
></el-input-number>
kg
</el-form-item>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
{{$t('可拆入仓记录')}}
</div>
<el-table
:data=
"getOrderItemWarehouseIn(shopForm.orderItemId)"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
>
<
template
v-slot=
"{row,$index}"
>
<!--
{{
row
.
cartonsNum
}}
-->
{{
getWarehouseLeftData
(
row
,
'
num
'
)
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
volume
'
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
weight
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
prop=
"quantity"
>
<
template
v-slot=
"{row,$index}"
>
{{
getWarehouseLeftData
(
row
,
'
quantity
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationBackVOList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-tag
v-if=
"getWarehouseInSplitData(row.id,'num') >= row.cartonsNum"
disabled
size=
"mini"
type=
"primary"
>
{{
$t
(
'
已拆完
'
)
}}
</el-tag>
<el-button
v-else
size=
"mini"
type=
"primary"
@
click=
"putInRecord(row)"
>
放入
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"flex-between mt-20 mb-10"
>
<div
class=
"page-title"
style=
"margin: 0"
>
{{$t('已放入入仓记录')}}
</div>
<el-button
type=
"danger"
size=
"mini"
@
click=
"clearAll"
>
清空放入数据
</el-button>
</div>
<el-table
:data=
"shopForm.specsRecordVOList"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
width=
"200px"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
num
}}
<dict-tag
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"row.specificationType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
width=
"100px"
>
<
template
v-slot=
"{row,$index}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"row.unit"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge2
}}
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
boxGauge3
}}
</
template
>
</el-table-column>
<el-table-column
label=
"入仓体积(m³)"
>
<
template
v-slot=
"{row,$index}"
>
{{
row
.
volume
}}
</
template
>
</el-table-column>
<!--<el-table-column label="收费体积(m³)" prop="chargeVolume"></el-table-column>-->
<el-table-column
label=
"入仓重量(Kg)"
prop=
"weight"
></el-table-column>
<!--<el-table-column label="收费重量(Kg)" prop="chargeWeight"></el-table-column>-->
<el-table-column
:label=
"$t('数量')"
width=
"130px"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationList
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index}"
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"deleteRow($index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"page-title"
>
放入数据
</div>
<div>
<div
class=
"pl-20 mb-10"
>
<span
class=
"mr-10"
>
{{$t('箱数')}}:{{ putin.num || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('数量(个)') }}:{{ putin.quantity || 0 }},
</span>
<span
class=
"mr-10"
>
{{ $t('入仓方数') }}:{{ putin.volume || 0 }}m³,
</span>
<span
class=
"mr-10"
>
{{ $t('入仓重量') }}:{{ putin.weight || 0 }}kg
</span>
</div>
<el-form-item
:label=
"$t('收费方数')"
prop=
"chargeVolume"
>
<el-input-number
v-model=
"shopForm.chargeVolume"
controls-position=
"right"
></el-input-number>
m³
</el-form-item>
<el-form-item
:label=
"$t('收费重量')"
prop=
"chargeWeight"
>
<el-input-number
v-model=
"shopForm.chargeWeight"
controls-position=
"right"
></el-input-number>
kg
</el-form-item>
<el-form-item
:label=
"$t('放入货值')"
v-if=
"orderData.costVO"
>
<el-input-number
v-model=
"shopForm.worth"
controls-position=
"right"
:min=
"0"
:max=
"orderData.costVO.totalWorth"
>
<
template
slot=
"append"
>
{{
$t
(
'
元
'
)
}}
</
template
>
</el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息')"
>
<el-input
v-model=
"shopForm.remark"
></el-input>
</el-form-item>
</div>
</el-card>
<el-form-item
:label=
"$t('放入货值')"
v-if=
"orderData.costVO"
>
<el-input-number
v-model=
"shopForm.worth"
controls-position=
"right"
:min=
"0"
:max=
"orderData.costVO.totalWorth"
>
<
template
slot=
"append"
>
{{
$t
(
'
元
'
)
}}
</
template
>
</el-input-number>
</el-form-item>
<el-form-item
:label=
"$t('备注信息')"
>
<el-input
v-model=
"shopForm.remark"
></el-input>
</el-form-item>
</div>
</el-card>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
:disabled=
"!shopForm.specsRecordVOList || !shopForm.specsRecordVOList.length"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"shopCancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"shopAdd"
:disabled=
"!shopForm.specsRecordVOList || !shopForm.specsRecordVOList.length"
>
{{$t('确定')}}
</el-button>
<el-button
@
click=
"shopCancel"
>
{{$t('取消')}}
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"$t('提示')"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<span
class=
"cancel_notice"
>
{{$t('拆单申请正在审核中,你确定取消拆单申请吗?')}}
</span>
<div
class=
"cancel_content"
>
<span>
{{$t('取消原因:')}}
</span>
<el-input
v-model=
"reason"
:placeholder=
"$t('请输入取消原因')"
></el-input>
</div>
:title=
"$t('提示')"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<span
class=
"cancel_notice"
>
{{$t('拆单申请正在审核中,你确定取消拆单申请吗?')}}
</span>
<div
class=
"cancel_content"
>
<span>
{{$t('取消原因:')}}
</span>
<el-input
v-model=
"reason"
:placeholder=
"$t('请输入取消原因')"
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
{{$t('取消')}}
</el-button>
<el-button
type=
"primary"
@
click=
"cancelSplit"
>
{{$t('确定')}}
</el-button>
</span>
...
...
@@ -613,12 +613,12 @@ export default {
},
// 关闭放入弹层的时候清理弹层表单内容
shopOpen
(
show
){
if
(
!
show
){
this
.
shopForm
=
{}
}
else
{
// 打开弹层查询剩余数据
this
.
getOrderLeftData
()
}
if
(
!
show
){
this
.
shopForm
=
{}
}
else
{
// 打开弹层查询剩余数据
this
.
getOrderLeftData
()
}
},
// 切换品名需要重置已放入的记录
'
shopForm.orderItemId
'
(){
...
...
@@ -654,10 +654,10 @@ export default {
},
computed
:{
getDictData
(){
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
return
(
type
,
value
)
=>
getDictData
(
type
,
value
)
||
{}
},
getDictDatas
(){
return
getDictDatas
return
getDictDatas
},
// 放入品名试选择的商品项
orderItem
(){
...
...
@@ -835,7 +835,7 @@ export default {
},
checkCode
(
data
){
if
(
data
.
indexOf
(
'
+
'
)
==-
1
){
return
'
+
'
+
data
return
'
+
'
+
data
}
return
data
},
...
...
@@ -898,12 +898,12 @@ export default {
var
leviteV
=
0
var
leviteW
=
0
this
.
orderData
.
orderItemVOList
.
forEach
((
column
,
index
)
=>
{
orderSum
+=
column
.
num
orderV
+=
column
.
volume
orderW
+=
column
.
weight
leviteSum
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
cartonsNum
:
0
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
orderSum
+=
column
.
num
orderV
+=
column
.
volume
orderW
+=
column
.
weight
leviteSum
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
cartonsNum
:
0
leviteV
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
volume
:
0
leviteW
+=
column
.
warehouseInInfoVO
?
column
.
warehouseInInfoVO
.
weight
:
0
});
sums
[
1
]
=
this
.
$t
(
'
下单统计
'
)
+
'
'
+
orderSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
orderV
.
toFixed
(
2
)
+
'
m³
'
+
orderW
+
'
kg
'
+
'
'
+
this
.
$t
(
'
入仓统计:
'
)
+
leviteSum
+
'
'
+
this
.
$t
(
'
箱
'
)
+
'
'
+
leviteV
.
toFixed
(
2
)
+
'
m³
'
+
leviteW
+
'
kg
'
...
...
@@ -911,13 +911,13 @@ export default {
},
importCityName
(
id
){
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
this
.
$t
(
'
无
'
)
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
this
.
$t
(
'
无
'
)
},
submitForm
(){
if
(
this
.
splitData
.
length
==
0
){
this
.
$modal
.
msgError
(
this
.
$t
(
"
请先新建拆单
"
))
return
this
.
$modal
.
msgError
(
this
.
$t
(
"
请先新建拆单
"
))
return
}
var
params
=
{
...
...
@@ -942,7 +942,7 @@ export default {
this
.
form
.
destWarehouseId
=
this
.
importCityList
.
find
(
item
=>
item
.
titleZh
==
this
.
orderData
.
logisticsInfoDto
.
destTitleZh
).
id
if
(
this
.
orderData
.
logisticsInfoDto
&&
this
.
orderData
.
logisticsInfoDto
.
channelId
){
this
.
form
.
channelId
=
this
.
orderData
.
logisticsInfoDto
.
channelId
}
}
}
this
.
open
=
true
},
...
...
@@ -985,11 +985,11 @@ export default {
// this.$modal.msgError("请选择出货渠道");
// }
var
params
=
{
dstWarehouseId
:
that
.
form
.
destWarehouseId
,
parentOrderId
:
that
.
orderData
.
orderId
,
parentOrderNo
:
that
.
orderData
.
orderNo
,
transportId
:
that
.
form
.
transportId
,
channelId
:
that
.
form
.
channelId
dstWarehouseId
:
that
.
form
.
destWarehouseId
,
parentOrderId
:
that
.
orderData
.
orderId
,
parentOrderNo
:
that
.
orderData
.
orderNo
,
transportId
:
that
.
form
.
transportId
,
channelId
:
that
.
form
.
channelId
}
createSplit
(
params
).
then
(
res
=>
{
that
.
getList
()
...
...
@@ -1067,7 +1067,7 @@ export default {
that
.
$confirm
(
that
.
$t
(
'
是否移除货物吗?
'
)).
then
(
function
()
{
deleteSplitItem
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
移除成功
"
));
that
.
getList
()
that
.
getList
()
})
})
},
...
...
@@ -1077,10 +1077,10 @@ export default {
that
.
$message
.
error
(
that
.
$t
(
"
请输入取消原因
"
));
return
}
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
,
reason
:
that
.
reason
}).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
取消成功
"
));
that
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
cancelApply
({
orderId
:
that
.
queryParams
.
orderId
,
reason
:
that
.
reason
}).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
取消成功
"
));
that
.
$store
.
dispatch
(
'
tagsView/delCurrentView
'
)
})
},
shopCancel
(){
this
.
shopOpen
=
false
...
...
@@ -1092,7 +1092,7 @@ export default {
that
.
$confirm
(
that
.
$t
(
'
是否确认删除新拆的订单吗?
'
)).
then
(
function
()
{
deleteSplit
(
id
).
then
(
res
=>
{
that
.
$message
.
success
(
that
.
$t
(
"
删除成功
"
));
that
.
getList
()
that
.
getList
()
})
})
},
...
...
@@ -1105,8 +1105,8 @@ export default {
// 计算体积
calcVolume
(
row
){
let
volume
=
Decimal
(
row
.
boxGauge1
||
0
)
.
times
(
Decimal
(
row
.
boxGauge2
||
0
))
.
times
(
Decimal
(
row
.
boxGauge3
||
0
)).
div
(
1000000
)
.
times
(
Decimal
(
row
.
boxGauge2
||
0
))
.
times
(
Decimal
(
row
.
boxGauge3
||
0
)).
div
(
1000000
)
// 如果是箱的单位要乘以箱数
if
(
row
.
specificationType
===
1
)
{
row
.
volume
=
volume
.
times
(
Decimal
(
row
.
num
||
0
))
...
...
@@ -1205,45 +1205,45 @@ export default {
.page-title
{
margin
:
0
;
}
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
}
.card-info
{
font-size
:
16px
;
}
.card
{
margin-top
:
20px
;
}
.btn-header
{
width
:
90%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
20px
0
;
}
.red
{
color
:
#ff3430
;
font-size
:
15px
;
}
.footer_btn
{
padding-bottom
:
60px
;
}
.cancel_notice
{
font-size
:
16px
;
font-weight
:
600
;
}
.cancel_content
{
display
:
flex
;
align-items
:
center
;
padding-top
:
20px
;
}
.cancel_content
span
{
width
:
100px
;
}
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
}
.card-info
{
font-size
:
16px
;
}
.card
{
margin-top
:
20px
;
}
.btn-header
{
width
:
90%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin
:
20px
0
;
}
.red
{
color
:
#ff3430
;
font-size
:
15px
;
}
.footer_btn
{
padding-bottom
:
60px
;
}
.cancel_notice
{
font-size
:
16px
;
font-weight
:
600
;
}
.cancel_content
{
display
:
flex
;
align-items
:
center
;
padding-top
:
20px
;
}
.cancel_content
span
{
width
:
100px
;
}
::v-deep
.el-form-item--mini.is-error
{
margin-bottom
:
18px
;
}
::v-deep
.el-form-item--mini.is-error
{
margin-bottom
:
18px
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment