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
1452f22b
Commit
1452f22b
authored
Mar 30, 2023
by
Marcus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
货物入仓弹窗重构
parent
a0f5409b
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
801 additions
and
6 deletions
+801
-6
Warehouse.vue
src/views/ecw/order/warehousing/components/Warehouse.vue
+786
-0
index.vue
src/views/ecw/order/warehousing/index.vue
+15
-6
No files found.
src/views/ecw/order/warehousing/components/Warehouse.vue
0 → 100644
View file @
1452f22b
<
template
>
<div
style=
"display: inline-block;margin-right: 10px"
>
<el-button
size=
"mini"
@
click=
"visible = true"
type=
"text"
>
{{
title
}}
</el-button>
<el-dialog
:title=
"title + ' - ' + warehousing.orderNo"
:visible.sync=
"visible"
width=
"1280px"
>
<el-tabs
v-model=
"activeName"
type=
"card"
>
<el-tab-pane
:label=
"edit ? $t('货物修改') : $t('货物入仓')"
name=
"first"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"formRules"
label-width=
"80px"
>
<el-descriptions
border
:column=
"2"
>
<el-descriptions-item>
<template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
中文品名
'
)
}}
</
template
>
<product-selector
v-if=
"!order.parentOrderId"
v-model=
"form.prodId"
@
change=
"onProductChange"
/>
<span
v-else
>
{{ warehousing.prodTitleZh }}
</span>
</el-descriptions-item>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
英文品名
'
)
}}
</
template
>
<product-selector
v-if=
"!order.parentOrderId"
lang=
"En"
v-model=
"form.prodId"
@
change=
"onProductChange"
/>
<span
v-else
>
{{ warehousing.prodTitleEn }}
</span>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('品牌')"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
品牌
'
)
}}
</
template
>
<el-form-item
required
label=
""
prop=
"brand"
label-width=
"0"
>
<el-select
v-model=
"form.brand"
:placeholder=
"$t('可修改')"
filterable
remote
@
change=
"handleBrandChange"
:remote-method=
"getProductBrandPage"
clearable
>
<el-option
v-for=
"item in brandList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('是否备案')"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
是否备案
'
)
}}
</
template
>
{{ isBeian }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收费模式')"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
收费模式
'
)
}}
</
template
>
{{ feeType }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('填单参数')"
>
{{ $t('箱数:') }}
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.num"
style=
"display: inline-block;width: 100px"
></el-input>
<span
v-else
>
{{ warehousing.num }}
</span><br>
{{ $t('体积:') }}
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.volume"
style=
"display: inline-block;width: 100px"
></el-input>
<span
v-else
>
{{ warehousing.volume }}
</span>
m³
<br>
{{ $t('重量:') }}
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.weight"
style=
"display: inline-block;width: 100px"
></el-input>
<span
v-else
>
{{ warehousing.weight }}
</span>
Kg
</el-descriptions-item>
</el-descriptions>
<el-form-item
:label=
"$t('材质')"
style=
"margin-top: 20px"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
v-model=
"form.material"
clearable
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('入仓时间')"
v-if=
"!edit"
>
<el-date-picker
v-model=
"form.inTime"
type=
"datetime"
:placeholder=
"$t('请选择入仓时间')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
{{ $t('入仓记录') }}
</span>
<el-button
style=
"float: right;margin-left: 15px"
size=
"mini"
type=
"primary"
icon=
"el-icon-minus"
circle
@
click=
"handleDelete"
></el-button>
<el-button
style=
"float: right"
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
circle
@
click=
"handleAdd()"
></el-button>
</div>
<el-form
ref=
"tableForm"
:rules=
"tableFormRules"
:model=
"form"
size=
"mini"
>
<el-table
:data=
"form.table"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
width=
"150px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
{{
$t
(
'
箱数
'
)
}}
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.cartonsNum"
>
<el-input
v-model=
"form.table[$index].cartonsNum"
placeholder=
""
@
blur=
"handleVolume($index)"
>
<span
slot=
"append"
>
{{
getDictDataLabel
(
DICT_TYPE
.
WAREHOUSING_SPECIFICATION_TYPE
,
form
.
table
[
$index
].
specificationType
)
}}
</span>
</el-input>
<dict-selector
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"form.table[$index].specificationType"
@
change=
"handleVolume($index)"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
width=
"100px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
{{
$t
(
'
包装类型
'
)
}}
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<dict-selector
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"form.table[$index].unit"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot:header
>
<span>
{{
$t
(
'
长
'
)
}}
</span>
(cm)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.boxGauge1"
>
<el-input
type=
"number"
v-model=
"form.table[$index].boxGauge1"
placeholder=
""
@
blur=
"handleVolume($index)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot:header
>
<span>
{{
$t
(
'
宽
'
)
}}
</span>
(cm)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.boxGauge2"
>
<el-input
type=
"number"
v-model=
"form.table[$index].boxGauge2"
placeholder=
""
@
blur=
"handleVolume($index)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot:header
>
<span>
{{
$t
(
'
高
'
)
}}
</span>
(cm)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.boxGauge3"
>
<el-input
type=
"number"
v-model=
"form.table[$index].boxGauge3"
placeholder=
""
@
blur=
"handleVolume($index)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"体积(m³)"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
<span>
{{
$t
(
'
体积
'
)
}}
</span>
(m³)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.volume"
>
<el-input
v-model=
"form.table[$index].volume"
placeholder=
""
type=
"number"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"重量(Kg)"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
<span>
{{
$t
(
'
重量
'
)
}}
</span>
(Kg)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.weight"
>
<el-input
v-model=
"form.table[$index].weight"
placeholder=
""
type=
"number"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
width=
"130px"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.quantityAll"
>
<el-input
v-model.number=
"form.table[$index].quantityAll"
placeholder=
""
>
<template
slot=
"append"
>
{{
$t
(
'
个
'
)
}}
</
template
>
</el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<el-input
v-model=
"form.table[$index].expressNo"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
width=
"150px"
>
<
template
v-slot=
"{ row, column, $index }"
>
<warehouse-area-select
v-if=
"visible"
v-model=
"form.table[$index].orderLocationBackVOList"
:order-id=
"orderId"
:order-item-id=
"warehousing.orderItemId"
:warehouse-in-id=
"form.table[$index].id"
:warehouse-id=
"warehouseId"
:is-editing=
"edit"
></warehouse-area-select>
</
template
>
</el-table-column>
</el-table>
</el-form>
</el-card>
</el-tab-pane>
<el-tab-pane
:label=
"$t('添加新品名')"
name=
"second"
v-if=
"!edit"
>
<el-form
ref=
"form1"
:model=
"form1"
:rules=
"formRules"
label-width=
"80px"
>
<el-descriptions
border
:column=
"2"
>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
中文品名
'
)
}}
</
template
>
<el-form-item
required
label=
""
prop=
"prodId"
label-width=
"0"
>
<product-selector
v-model=
"form1.prodId"
@
change=
"onProductChange1"
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
英文品名
'
)
}}
</
template
>
<el-form-item
required
label=
""
prop=
"prodId"
label-width=
"0"
>
<product-selector
lang=
"En"
v-model=
"form1.prodId"
@
change=
"onProductChange1"
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('品牌')"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
品牌
'
)
}}
</
template
>
<el-form-item
required
label=
""
prop=
"brand"
label-width=
"0"
>
<el-select
v-model=
"form1.brand"
:placeholder=
"$t('可修改')"
filterable
remote
@
change=
"handleBrandChange"
:remote-method=
"getProductBrandPage"
clearable
>
<el-option
v-for=
"item in brandList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('是否备案')"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
是否备案
'
)
}}
</
template
>
{{ isBeian1 }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收费模式')"
>
<
template
slot=
"label"
><span
style=
"color: red"
>
*
</span>
{{
$t
(
'
收费模式
'
)
}}
</
template
>
{{ feeType1 }}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('填单参数')"
>
{{ $t('非填单货物') }}
</el-descriptions-item>
</el-descriptions>
<el-form-item
:label=
"$t('材质')"
style=
"margin-top: 20px"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
v-model=
"form1.material"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('入仓时间')"
>
<el-date-picker
v-model=
"form1.inTime"
type=
"datetime"
:placeholder=
"$t('请选择入仓时间')"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
{{ $t('入仓记录') }}
</span>
<el-button
style=
"float: right;margin-left: 15px"
size=
"mini"
type=
"primary"
icon=
"el-icon-minus"
circle
@
click=
"handleDelete(1)"
></el-button>
<el-button
style=
"float: right"
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
circle
@
click=
"handleAdd(1)"
></el-button>
</div>
<el-form
ref=
"tableForm1"
:model=
"form1"
:rules=
"tableFormRules"
size=
"mini"
>
<el-table
:data=
"form1.table"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('箱数')"
width=
"150px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
{{
$t
(
'
箱数
'
)
}}
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
cartonsNum
}}
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGING_TYPE
,
form1
.
table
[
$index
].
unit
)
}}
</span>
<el-input
v-else
v-model=
"form1.table[$index].cartonsNum"
placeholder=
""
>
<span
slot=
"append"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGING_TYPE
,
form1
.
table
[
$index
].
unit
)
}}
</span>
</el-input>
<dict-selector
:type=
"DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE"
v-model=
"form1.table[$index].specificationType"
@
change=
"handleVolume($index)"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装类型')"
width=
"100px"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
{{
$t
(
'
包装类型
'
)
}}
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGING_TYPE
,
form1
.
table
[
$index
].
unit
)
}}
</span>
<dict-selector
v-else
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
v-model=
"form1.table[$index].unit"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot:header
>
<span>
{{
$t
(
'
长
'
)
}}
</span>
(cm)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
boxGauge
?
form1
.
table
[
$index
].
boxGauge
.
split
(
'
*
'
)[
0
]
:
''
}}
</span>
<el-input
v-else
type=
"number"
v-model=
"form1.table[$index].boxGauge1"
placeholder=
""
@
blur=
"handleVolume($index, 1)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot:header
>
<span>
{{
$t
(
'
宽
'
)
}}
</span>
(cm)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
boxGauge
?
form1
.
table
[
$index
].
boxGauge
.
split
(
'
*
'
)[
1
]
:
''
}}
</span>
<el-input
v-else
type=
"number"
v-model=
"form1.table[$index].boxGauge2"
placeholder=
""
@
blur=
"handleVolume($index, 1)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot:header
>
<span>
{{
$t
(
'
高
'
)
}}
</span>
(cm)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
boxGauge
?
form1
.
table
[
$index
].
boxGauge
.
split
(
'
*
'
)[
2
]
:
''
}}
</span>
<el-input
v-else
type=
"number"
v-model=
"form1.table[$index].boxGauge3"
placeholder=
""
@
blur=
"handleVolume($index, 1)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"体积(m³)"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
<span>
{{
$t
(
'
体积
'
)
}}
</span>
(m³)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
volume
}}
</span>
<el-input
v-else
type=
"number"
v-model=
"form1.table[$index].volume"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"重量(Kg)"
>
<
template
v-slot:header
>
<span
style=
"color: red"
>
*
</span>
<span>
{{
$t
(
'
重量
'
)
}}
</span>
(Kg)
</
template
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
weight
}}
</span>
<el-input
v-else
type=
"number"
v-model=
"form1.table[$index].weight"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('数量')"
width=
"130px"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
quantityAll
}}
</span>
<el-input
v-else
v-model.number=
"form1.table[$index].quantityAll"
placeholder=
""
>
<template
slot=
"append"
>
{{
$t
(
'
个
'
)
}}
</
template
>
</el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column
:label=
"$t('快递单号')"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"form1.table[$index].id"
>
{{
form1
.
table
[
$index
].
expressNo
}}
</span>
<el-input
v-else
v-model=
"form1.table[$index].expressNo"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
width=
"150px"
>
<
template
v-slot=
"{ row, column, $index }"
>
<warehouse-area-select
v-model=
"form1.table[$index].orderLocationBackVOList"
:readonly=
"form1.table[$index].id && !edit"
:order-id=
"orderId"
:order-item-id=
"warehousing.orderItemId"
:warehouse-in-id=
"form1.table[$index].id"
:warehouse-id=
"warehouseId"
:is-editing=
"edit"
></warehouse-area-select>
</
template
>
</el-table-column>
</el-table>
</el-form>
</el-card>
</el-tab-pane>
</el-tabs>
<div
v-if=
"edit"
>
<h2>
{{ $t('审批流程') }}
</h2>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div>
<span
slot=
"footer"
>
<
template
v-if=
"!isEditing"
>
<el-button
@
click=
"handleClose"
>
{{
$t
(
'
关 闭
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
{{
edit
?
$t
(
'
确认修改
'
)
:
$t
(
'
提 交
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"$router.push('/bpm/process-instance/detail?id=' + formId)"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleCancelProcessInstance"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
@
click=
"handleClose"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</
template
>
<
template
v-else
>
</
template
>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
ProductSelector
from
"
@/components/ProductSelector
"
import
WarehouseAreaSelect
from
"
@/components/WarehouseAreaSelect
"
import
{
getFeeTypeByOrderProduct
,
getProductBrankPage
}
from
"
@/api/ecw/productBrank
"
import
{
cancelProcessInstance
}
from
"
@/api/bpm/processInstance
"
import
WorkFlow
from
"
@/components/WorkFlow
"
import
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas
}
from
"
@/utils/dict
"
import
{
orderWarehouseIn
,
orderWarehouseInUpdateApply
}
from
"
@/api/ecw/order
"
export
default
{
name
:
"
Warehouse
"
,
components
:
{
ProductSelector
,
WarehouseAreaSelect
,
WorkFlow
},
props
:
{
title
:
{
type
:
String
,
default
:
undefined
},
order
:
{
type
:
Object
,
default
:
undefined
},
isJiyun
:
{
type
:
Boolean
,
default
:
false
},
// 入仓修改
edit
:
{
type
:
Boolean
,
default
:
false
},
warehousing
:
{
type
:
Object
,
default
:
()
=>
{
return
{
material
:
undefined
,
inTime
:
undefined
,
orderWarehouseInBackItemDoList
:
[]
}
}
}
},
computed
:
{
orderId
(){
return
this
.
order
.
orderId
},
brandObject
(){
return
this
.
brandList
.
find
(
e
=>
e
.
id
===
this
.
form
.
brand
)
||
''
},
brandObject1
(){
return
this
.
brandList
.
find
(
e
=>
e
.
id
===
this
.
form1
.
brand
)
||
''
},
isBeian
(){
if
(
this
.
form
.
recordMode
!==
undefined
){
return
[
this
.
$t
(
'
无备案
'
),
this
.
$t
(
'
有备案
'
),
this
.
$t
(
'
中性
'
)][
this
.
form
.
recordMode
]
}
if
(
this
.
brandObject
.
filing
){
return
[
this
.
$t
(
'
无备案
'
),
this
.
$t
(
'
有备案
'
),
this
.
$t
(
'
中性
'
)][
this
.
brandObject
.
filing
]
}
else
{
return
''
}
},
isBeian1
(){
if
(
this
.
form1
.
recordMode
!==
undefined
){
return
[
this
.
$t
(
'
无备案
'
),
this
.
$t
(
'
有备案
'
),
this
.
$t
(
'
中性
'
)][
this
.
form1
.
recordMode
]
}
if
(
this
.
brandObject1
.
filing
){
return
[
this
.
$t
(
'
无备案
'
),
this
.
$t
(
'
有备案
'
),
this
.
$t
(
'
中性
'
)][
this
.
brandObject1
.
filing
]
}
else
{
return
''
}
},
/**
* 收费模式
* @returns {string} 无牌价0,有牌价1,中性品牌价2
*/
feeType
(){
const
feeType
=
this
.
form
.
feeType
if
(
feeType
>=
0
&&
feeType
<
3
)
{
return
[
this
.
$t
(
'
无牌价
'
),
this
.
$t
(
'
有牌价
'
),
this
.
$t
(
'
中性品牌价
'
)][
feeType
]
}
return
''
},
feeType1
(){
const
feeType
=
parseInt
(
this
.
form1
.
feeType
)
if
(
feeType
>=
0
&&
feeType
<
3
)
{
return
[
this
.
$t
(
'
无牌价
'
),
this
.
$t
(
'
有牌价
'
),
this
.
$t
(
'
中性品牌价
'
)][
feeType
]
}
return
''
},
warehouseId
(){
return
this
.
order
?.
logisticsInfoDto
?.
startWarehouseId
}
},
watch
:
{
visible
(
val
){
if
(
val
)
{
this
.
getProductBrandPage
(
this
.
warehousing
.
brandName
)
this
.
handleBrandChange
(
parseInt
(
this
.
form
.
brand
))
}
}
},
data
(){
return
{
DICT_TYPE
,
getDictDataLabel
,
getDictDatas
,
activeName
:
'
first
'
,
visible
:
false
,
form
:
{
table
:
[],
brandType
:
undefined
,
orderId
:
undefined
,
orderNo
:
undefined
,
brand
:
undefined
,
inTime
:
undefined
,
material
:
undefined
,
orderItemId
:
undefined
,
prodAttrIds
:
undefined
,
prodId
:
undefined
,
prodTitleEn
:
undefined
,
prodTitleZh
:
undefined
,
prodType
:
undefined
,
type
:
undefined
,
feeType
:
undefined
},
form1
:
{
table
:
[],
brandType
:
undefined
,
orderId
:
undefined
,
orderNo
:
undefined
,
brand
:
undefined
,
inTime
:
undefined
,
material
:
undefined
,
orderItemId
:
undefined
,
prodAttrIds
:
undefined
,
prodId
:
undefined
,
prodTitleEn
:
undefined
,
prodTitleZh
:
undefined
,
prodType
:
undefined
,
type
:
undefined
,
feeType
:
undefined
},
brandList
:
[],
formRules
:
{
prodId
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择品名
"
),
trigger
:
"
change
"
}],
brand
:
[{
required
:
true
,
message
:
this
.
$t
(
"
请选择品牌
"
),
trigger
:
"
change
"
}],
},
tableFormRules
:
{
// cartonsNum: [{required: true, message: this.$t("箱数不能为空"), trigger: "change"}],
// boxGauge1: [{required: true, message: this.$t("货物长不能为空"), trigger: "change"}],
// boxGauge2: [{required: true, message: this.$t("货物宽不能为空"), trigger: "change"}],
// boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "change"}],
// volume: [{required: true, message: this.$t("体积不能为空"), trigger: "change"}],
// weight: [{required: true, message: this.$t("重量不能为空"), trigger: "change"}],
// // quantityAll: [{required: true, message: this.$t("数量不能为空"), trigger: "change"}]
},
selectedUsers
:
undefined
,
// 入仓修改正在审核中
isEditing
:
false
,
// 审批业务id
formId
:
''
}
},
mounted
()
{
this
.
form
.
table
=
this
.
warehousing
.
orderWarehouseInBackItemDoList
this
.
form
.
brandType
=
this
.
warehousing
.
brandType
this
.
form
.
orderId
=
this
.
warehousing
.
orderId
this
.
form
.
orderItemId
=
this
.
warehousing
.
orderNo
this
.
form
.
orderNo
=
this
.
warehousing
.
orderNo
this
.
form
.
brand
=
this
.
warehousing
.
brand
this
.
form
.
brandType
=
this
.
warehousing
.
brandType
this
.
form
.
inTime
=
this
.
warehousing
.
inTime
this
.
form
.
material
=
this
.
warehousing
.
material
this
.
form
.
orderId
=
this
.
warehousing
.
orderId
this
.
form
.
orderItemId
=
this
.
warehousing
.
orderItemId
this
.
form
.
orderNo
=
this
.
warehousing
.
orderNo
this
.
form
.
prodAttrIds
=
this
.
warehousing
.
prodAttrIds
this
.
form
.
prodId
=
this
.
warehousing
.
prodId
this
.
form
.
prodTitleEn
=
this
.
warehousing
.
prodTitleEn
this
.
form
.
prodTitleZh
=
this
.
warehousing
.
prodTitleZh
this
.
form
.
prodType
=
this
.
warehousing
.
prodType
this
.
form
.
type
=
this
.
warehousing
.
type
this
.
form
.
feeType
=
this
.
warehousing
.
feeType
this
.
form
.
table
.
forEach
(
e
=>
{
if
(
e
.
boxGauge
)
{
const
boxGauge
=
e
.
boxGauge
.
split
(
'
*
'
)
e
.
boxGauge1
=
boxGauge
[
0
]
e
.
boxGauge2
=
boxGauge
[
1
]
e
.
boxGauge3
=
boxGauge
[
2
]
}
})
},
methods
:
{
handleClose
()
{
this
.
$emit
(
'
close
'
)
this
.
visible
=
false
},
handleVolume
(
index
,
val
){
setTimeout
(()
=>
{
const
{
boxGauge1
,
boxGauge2
,
boxGauge3
,
specificationType
,
cartonsNum
}
=
(
val
===
1
?
this
.
form1
.
table
:
this
.
form
.
table
)[
index
]
let
result
=
''
if
(
boxGauge1
&&
boxGauge2
&&
boxGauge3
&&
specificationType
&&
cartonsNum
)
{
result
=
(((
specificationType
===
1
||
specificationType
===
'
1
'
)
?
cartonsNum
:
1
)
*
(
boxGauge1
*
boxGauge2
*
boxGauge3
)
/
1000000
)?.
toFixed
(
2
)
||
''
}
else
{
result
=
''
}
if
(
result
===
'
0.00
'
)
result
=
'
0.01
'
;
(
val
===
1
?
this
.
form1
.
table
:
this
.
form
.
table
)[
index
].
volume
=
result
},
0
)
},
handleSubmit
()
{
if
(
this
.
activeName
!==
"
first
"
){
// 添加非填单货物
this
.
$refs
[
'
form1
'
].
validate
(
valid
=>
{
this
.
$refs
[
'
tableForm1
'
].
validate
(
valid1
=>
{
if
(
!
valid
||
!
valid1
)
{
return
}
return
orderWarehouseIn
({
...
this
.
form1
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
undefined
,
orderNo
:
this
.
warehousing
.
orderNo
,
orderWarehouseInItemDoList
:
this
.
form1
.
table
.
map
(
e
=>
{
return
{
...
e
,
boxGauge
:
e
.
boxGauge1
+
'
*
'
+
e
.
boxGauge2
+
'
*
'
+
e
.
boxGauge3
,
orderLocationCreateReqVOList
:
e
.
table
}
})
}).
then
(
r
=>
{
if
(
r
.
data
)
{
this
.
$message
.
success
(
'
新增入仓成功
'
)
this
.
handleClose
()
}
else
{
this
.
$message
.
success
(
'
新增入仓失败
'
)
}
})
})
})
}
else
{
this
.
$refs
[
'
form
'
].
validate
(
valid
=>
{
this
.
$refs
[
'
tableForm
'
].
validate
(
valid1
=>
{
if
(
!
valid
||
!
valid1
)
{
return
}
if
(
this
.
edit
)
{
// 入仓修改
return
orderWarehouseInUpdateApply
({
...
this
.
form
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
this
.
warehousing
.
orderItemId
,
orderNo
:
this
.
warehousing
.
orderNo
,
num
:
this
.
warehousing
.
num
,
volume
:
(
+
this
.
warehousing
.
volume
)?.
toFixed
(
2
)
||
''
,
weight
:
(
+
this
.
warehousing
.
weight
)?.
toFixed
(
2
)
||
''
,
prodId
:
this
.
form
.
prodId
,
"
orderWarehouseInUpdateItemDoList
"
:
this
.
form
.
table
.
map
(
e
=>
{
return
{
...
e
,
boxGauge
:
e
.
boxGauge1
+
'
*
'
+
e
.
boxGauge2
+
'
*
'
+
e
.
boxGauge3
,
orderLocationCreateReqVOList
:
e
.
table
}
}),
copyUserId
:
this
.
selectedUsers
}).
then
(
r
=>
{
if
(
r
.
data
)
{
this
.
$message
.
success
(
'
入仓修改发起成功
'
)
this
.
handleClose
()
}
else
{
this
.
$message
.
success
(
'
入仓修改发起失败
'
)
}
})
}
else
{
// 首次入仓、入仓补充
return
orderWarehouseIn
({
...
this
.
form
,
brandType
:
this
.
warehousing
.
brandType
,
orderId
:
this
.
warehousing
.
orderId
,
orderItemId
:
this
.
warehousing
.
orderItemId
,
orderNo
:
this
.
warehousing
.
orderNo
,
orderWarehouseInItemDoList
:
this
.
form
.
table
.
map
(
e
=>
{
return
{
...
e
,
boxGauge
:
e
.
boxGauge1
+
'
*
'
+
e
.
boxGauge2
+
'
*
'
+
e
.
boxGauge3
,
orderLocationCreateReqVOList
:
e
.
table
}
}),
}).
then
(
r
=>
{
if
(
r
.
data
)
{
this
.
$message
.
success
(
'
入仓成功
'
)
this
.
handleClose
()
}
else
{
this
.
$message
.
success
(
'
入仓失败
'
)
}
})
}
})
})
}
},
handleCancelProcessInstance
(){
this
.
$prompt
(
'
请输入取消原因?
'
,
this
.
$t
(
"
取消流程
"
),
{
type
:
'
warning
'
,
confirmButtonText
:
this
.
$t
(
"
确定
"
),
cancelButtonText
:
this
.
$t
(
"
取消
"
),
inputPattern
:
/^
[\s\S]
*.*
\S[\s\S]
*$/
,
// 判断非空,且非空格
inputErrorMessage
:
this
.
$t
(
"
取消原因不能为空
"
),
}).
then
(({
value
})
=>
{
cancelProcessInstance
(
this
.
formId
,
value
).
then
(()
=>
{
this
.
opened
=
false
this
.
$modal
.
msgSuccess
(
"
取消成功
"
);
})
})
},
onProductChange
(
product
){
this
.
form
.
prodTitleZh
=
product
.
titleZh
this
.
form
.
prodTitleEn
=
product
.
titleEn
this
.
handleBrandChange
(
parseInt
(
this
.
form
.
brand
))
},
onProductChange1
(
product
){
this
.
form1
.
prodTitleZh
=
product
.
titleZh
this
.
form1
.
prodTitleEn
=
product
.
titleEn
this
.
handleBrandChange
(
parseInt
(
this
.
form1
.
brand
))
},
getProductBrandPage
(
titleZh
=
undefined
)
{
getProductBrankPage
({
pageSize
:
20
,
titleZh
}).
then
(
r
=>
{
this
.
brandList
=
r
.
data
.
list
.
map
(
e
=>
{
// if(e.id){
// e.id = e.id.toString()
// }
return
e
})
})
},
handleBrandChange
(
v
){
getFeeTypeByOrderProduct
({
brandId
:
parseInt
(
v
),
productId
:
this
.
warehousing
.
prodId
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
(
this
.
activeName
===
"
first
"
?
this
.
form
:
this
.
form1
).
feeType
=
parseInt
(
r
.
data
.
feeType
);
(
this
.
activeName
===
"
first
"
?
this
.
form
:
this
.
form1
).
recordMode
=
parseInt
(
r
.
data
.
recordMode
)
}
})
},
handleDelete
(
val
)
{
(
val
===
1
?
this
.
form1
:
this
.
form
).
table
.
pop
()
},
handleAdd
(
val
=
0
)
{
let
cartonsNum
=
''
if
(
val
!==
1
)
{
// 货物入仓
let
hasCartonsNum
=
0
this
.
form
.
table
.
forEach
(
e
=>
{
hasCartonsNum
+=
e
.
cartonsNum
})
cartonsNum
=
this
.
warehousing
.
num
-
hasCartonsNum
}
const
form
=
val
===
1
?
this
.
form1
:
this
.
form
form
.
table
.
push
({
"
boxGauge1
"
:
this
.
isJiyun
?
0
:
''
,
"
boxGauge2
"
:
this
.
isJiyun
?
0
:
''
,
"
boxGauge3
"
:
this
.
isJiyun
?
0
:
''
,
"
cartonsNum
"
:
cartonsNum
>
0
?
cartonsNum
:
''
,
"
expressNo
"
:
""
,
"
quantityAll
"
:
undefined
,
"
unit
"
:
"
1
"
,
"
volume
"
:
''
,
"
weight
"
:
''
,
specificationType
:
'
1
'
,
table
:
[]
})
}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ecw/order/warehousing/index.vue
View file @
1452f22b
...
@@ -81,14 +81,17 @@
...
@@ -81,14 +81,17 @@
prop=
"address"
prop=
"address"
:label=
"$t('操作')"
>
:label=
"$t('操作')"
>
<
template
v-slot=
"{ row, column, $index }"
>
<
template
v-slot=
"{ row, column, $index }"
>
<el-button
v-if=
"isEdit"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing(row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<warehouse
v-if=
"isEdit"
:warehousing=
"
{...order.orderItemVOList[$index], ...orderItemList[$index]}" :title="$t('修改')" :order="order" @close="getList">
</warehouse>
<!--
<el-button
v-if=
"isEdit"
size=
"mini"
type=
"text"
@
click=
"handleWarehousing(row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
-->
<template
v-else-if=
"wareItem(row.orderItemId) && wareItem(row.orderItemId).orderWarehouseInBackItemDoList && wareItem(row.orderItemId).orderWarehouseInBackItemDoList.length > 0"
>
<template
v-else-if=
"wareItem(row.orderItemId) && wareItem(row.orderItemId).orderWarehouseInBackItemDoList && wareItem(row.orderItemId).orderWarehouseInBackItemDoList.length > 0"
>
<!--
<template
v-if=
"!order.parentOrderId"
>
-->
<!--
<template
v-if=
"!order.parentOrderId"
>
-->
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousing(row)"
>
{{
$t
(
'
追加
'
)
}}
</el-button>
<warehouse
:warehousing=
"
{...order.orderItemVOList[$index], ...orderItemList[$index]}" :title="$t('追加')" :order="order" @close="getList">
</warehouse>
<!--
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousing(row)"
>
{{
$t
(
'
追加
'
)
}}
</el-button>
-->
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
{{
$t
(
'
退仓
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleWarehousingReturn(row)"
>
{{
$t
(
'
退仓
'
)
}}
</el-button>
<!--
</
template
>
-->
<!--
</
template
>
-->
</template>
</template>
<el-button
v-else
size=
"mini"
type=
"text"
@
click=
"handleWarehousing(row)"
>
{{$t('入仓')}}
</el-button>
<warehouse
v-else
:warehousing=
"{...order.orderItemVOList[$index], ...orderItemList[$index]}"
:title=
"$t('入仓')"
:order=
"order"
@
close=
"getList"
></warehouse>
<!-- <el-button v-else size="mini" type="text" @click="handleWarehousing(row)">{{$t('入仓')}}</el-button>-->
</template>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -212,6 +215,7 @@ import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseRe
...
@@ -212,6 +215,7 @@ import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseRe
import
imageUpload
from
"
@/components/ImageUpload
"
;
import
imageUpload
from
"
@/components/ImageUpload
"
;
import
{
parseTime
}
from
"
@/utils/ruoyi
"
import
{
parseTime
}
from
"
@/utils/ruoyi
"
import
ImageAndVideoUpload
from
'
@/components/ImageAndVideoUpload
'
import
ImageAndVideoUpload
from
'
@/components/ImageAndVideoUpload
'
import
Warehouse
from
"
@/views/ecw/order/warehousing/components/Warehouse
"
export
default
{
export
default
{
name
:
"
Warehousing
"
,
name
:
"
Warehousing
"
,
...
@@ -223,12 +227,13 @@ export default {
...
@@ -223,12 +227,13 @@ export default {
PrintWarehouseReceipt
,
PrintWarehouseReceipt
,
imageUpload
,
imageUpload
,
ImageAndVideoUpload
,
ImageAndVideoUpload
,
Warehouse
},
},
mounted
()
{
mounted
()
{
if
(
this
.
$route
.
query
.
id
){
if
(
this
.
$route
.
query
.
id
){
this
.
orderId
=
parseInt
(
this
.
$route
.
query
.
id
||
undefined
)
this
.
orderId
=
parseInt
(
this
.
$route
.
query
.
id
||
undefined
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
()
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
getSpecialListByOrderId
(
this
.
orderId
).
then
(
r
=>
this
.
specialList
=
r
.
data
)
getSpecialListByOrderId
(
this
.
orderId
).
then
(
r
=>
this
.
specialList
=
r
.
data
)
Promise
.
all
([
Promise
.
all
([
...
@@ -286,6 +291,10 @@ export default {
...
@@ -286,6 +291,10 @@ export default {
},
},
methods
:
{
methods
:
{
getList
(){
this
.
getOrder
()
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
},
getWarehousePictureList
(){
getWarehousePictureList
(){
return
warehousePictureList
({
return
warehousePictureList
({
bizId
:
this
.
order
.
orderId
,
bizId
:
this
.
order
.
orderId
,
...
@@ -439,7 +448,7 @@ export default {
...
@@ -439,7 +448,7 @@ export default {
message
:
this
.
$t
(
'
货物退仓成功!
'
)
message
:
this
.
$t
(
'
货物退仓成功!
'
)
});
});
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
()
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
this
.
getOrder
()
this
.
getOrder
()
})
})
...
@@ -452,7 +461,7 @@ export default {
...
@@ -452,7 +461,7 @@ export default {
warehousingVisible
(
val
)
{
warehousingVisible
(
val
)
{
if
(
!
val
){
if
(
!
val
){
this
.
getOrder
()
this
.
getOrder
()
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
.
reverse
()
)
getOrderWarehouseIn
(
this
.
orderId
).
then
(
r
=>
this
.
orderItemList
=
r
.
data
)
}
}
},
},
orderSpecialNeeds
(
val
){
orderSpecialNeeds
(
val
){
...
...
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