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
172a22db
Commit
172a22db
authored
Jul 26, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善路线列表和批量修改
parent
492ec523
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
92 additions
and
118 deletions
+92
-118
edit.vue
src/views/ecw/productPrice/edit.vue
+80
-106
index.vue
src/views/ecw/productPrice/index.vue
+12
-12
No files found.
src/views/ecw/productPrice/edit.vue
View file @
172a22db
...
...
@@ -3,37 +3,55 @@
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form-item
label=
"商品类型"
prop=
"typeId"
>
<el-input
v-if=
"productDisabled && productType"
:value=
"productType.titleZh"
disabled
/>
<el-select
v-if=
"!productDisabled"
v-model=
"form.productType"
>
<el-select
v-model=
"form.productType"
:disabled=
"!!$route.query.ids"
>
<el-option
v-for=
"type in productTypeList"
:key=
"type.id"
:label=
"type.titleZh"
:value=
"type.id"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"商品名称"
prop=
"titleZh"
>
<el-input
v-if=
"productDisabled"
:value=
"product ? product.titleZh : null"
disabled
/>
<product-selector
v-else
v-model=
"form.productId"
:product-type=
"form.productType"
@
change=
"product = $event"
/>
<product-selector
v-model=
"form.productId"
:product-type=
"form.productType"
@
change=
"product = $event"
:disabled=
"!!$route.query.ids"
/>
</el-form-item>
<el-form-item
label=
"英文名称"
prop=
"titleEn"
>
<el-input
:value=
"product ? product.titleEn : ''"
disabled
/>
</el-form-item>
<el-form-item
label=
"路线"
prop=
"lineChannelList"
v-if=
"lineList && lineList.length == 1"
>
<el-input
v-for=
"item in lineList"
<!--单条路线修改-->
<!--
<el-form-item
label=
"路线"
prop=
"lineChannelList"
v-if=
"!$route.query.ids"
>
<el-input
v-for=
"item in lineList"
:key=
"item.lineId"
:value=
"'【' + getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType) + '】从【' + item.warehouseLineDO.startTitleZh + '】发往【' + item.warehouseLineDO.destTitleZh + '】'"
disabled
/>
</el-form-item>
--
<!--多条路线批量修改-->
<el-form-item
label=
"路线"
prop=
"lineChannelList"
v-if=
"lineList.length"
>
<template
v-if=
"lineList.length == 1"
>
<el-input
v-for=
"item in lineList"
:key=
"item.id"
:value=
"!item.warehouseLineDO ? '数据异常,缺少warehouseLineDO字段' : '【' + getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType) + '】从【' + item.warehouseLineDO.startTitleZh + '】发往【' + item.warehouseLineDO.destTitleZh + '】'"
disabled
/>
</el-form-item>
<el-form-item
label=
"路线"
prop=
"lineChannelList"
v-else
>
<el-checkbox-group
v-model=
"checkList"
>
<el-checkbox
v-for=
"item in lineList"
:label=
"item.id"
>
{{
'
【
'
+
getDictDataLabel
(
DICT_TYPE
.
ECW_TRANSPORT_TYPE
,
item
.
warehouseLineDO
.
transportType
)
+
'
】从【
'
+
</
template
>
<el-checkbox-group
v-else
v-model=
"checkList"
>
<el-checkbox
v-for=
"item in lineList"
:key=
"item.id"
:label=
"item.id"
:disabled=
"!item.warehouseLineDO"
style=
"display:block"
>
{{
!item.warehouseLineDO ? '数据异常,缺少warehouseLineDO字段' :
'【' + getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType) + '】从【' +
item.warehouseLineDO.startTitleZh + '】发往【' + item.warehouseLineDO.destTitleZh + '】'
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<routers-selector
v-if=
"!form.id"
v-model=
"selectedRoutes"
/>
<routers-selector
v-if=
"!$route.query.ids"
v-model=
"selectedRoutes"
/>
<el-card
style=
"margin-bottom: 10px"
>
<div
slot=
"header"
style=
"font-size:20px;"
>
价格设置
...
...
@@ -41,11 +59,7 @@
<el-form-item
label=
"默认运费"
prop=
"transportPrice"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<selector
v-model=
"form.transportPriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"form.transportPriceUnit"
>
<el-option
v-for=
"currency in currencyList"
:key=
"currency.id"
:label=
"currency.titleZh"
:value=
"currency.id"
/>
</el-select>
-->
<selector
v-model=
"form.transportPriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
<el-col
:span=
"6"
>
...
...
@@ -54,22 +68,14 @@
<el-col
:span=
"4"
>
/
<selector
v-model=
"form.transportVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"form.transportVolumeUnit"
>
<el-option
v-for=
"unit in unitList"
:key=
"unit.id"
:label=
"unit.titleZh"
:value=
"unit.id"
/>
</el-select>
-->
<selector
v-model=
"form.transportVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"默认清关费"
prop=
"clearancePrice"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<selector
v-model=
"form.clearancePriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"form.clearancePriceUnit"
>
<el-option
v-for=
"currency in currencyList"
:key=
"currency.id"
:label=
"currency.titleZh"
:value=
"currency.id"
/>
</el-select>
-->
<selector
v-model=
"form.clearancePriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
<el-col
:span=
"6"
>
...
...
@@ -78,26 +84,19 @@
<el-col
:span=
"4"
>
/
<selector
v-model=
"form.clearanceVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"form.clearanceVolumeUnit"
>
<el-option
v-for=
"unit in unitList"
:key=
"unit.id"
:label=
"unit.titleZh"
:value=
"unit.id"
/>
</el-select>
-->
<selector
v-model=
"form.clearanceVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
</el-row>
</el-form-item>
<!--特需-->
<
template
v-for=
"(special, specialIndex) in this.specialProducts"
>
<el-form-item
:label=
"getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + '运费'"
:key=
"specialIndex + 'transport'"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<selector
v-model=
"special.transportPriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"special.transportPriceUnit"
>
<el-option
v-for=
"currency in currencyList"
:key=
"currency.id"
:label=
"currency.titleZh"
:value=
"currency.id"
/>
</el-select>
-->
<selector
v-model=
"special.transportPriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
<el-col
:span=
"6"
>
...
...
@@ -105,13 +104,7 @@
</el-col>
<el-col
:span=
"4"
>
/
<selector
v-model=
"special.transportVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"special.transportVolumeUnit"
>
<el-option
v-for=
"unit in unitList"
:key=
"unit.id"
:label=
"unit.titleZh"
:value=
"unit.id"
/>
</el-select>
-->
/
<selector
v-model=
"special.transportVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
</el-row>
</el-form-item>
...
...
@@ -120,11 +113,7 @@
:key=
"specialIndex + 'clearance'"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<selector
v-model=
"special.clearancePriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"special.clearancePriceUnit"
>
<el-option
v-for=
"currency in currencyList"
:key=
"currency.id"
:label=
"currency.titleZh"
:value=
"currency.id"
/>
</el-select>
-->
<selector
v-model=
"special.clearancePriceUnit"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
<el-col
:span=
"6"
>
...
...
@@ -132,12 +121,7 @@
</el-col>
<el-col
:span=
"4"
>
/
<selector
v-model=
"special.clearanceVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<!--
<el-select
v-model=
"special.clearanceVolumeUnit"
>
<el-option
v-for=
"unit in unitList"
:key=
"unit.id"
:label=
"unit.titleZh"
:value=
"unit.id"
/>
</el-select>
-->
/
<selector
v-model=
"special.clearanceVolumeUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</el-col>
</el-row>
</el-form-item>
...
...
@@ -146,9 +130,6 @@
<el-form-item
label=
"是否预付"
prop=
"advanceStatus"
>
<dict-selector
form-type=
"radio"
:type=
"DICT_TYPE.ADVANCE_STATUS"
v-model=
"form.advanceStatus"
/>
<!-- <el-radio-group v-model="form.advanceStatus">
<el-radio v-for="advanceDict in advanceStatusDictDatas" :key="advanceDict.value" :label="parseInt(advanceDict.value)">{{advanceDict.label}}</el-radio>
</el-radio-group> -->
</el-form-item>
</el-card>
...
...
@@ -168,9 +149,6 @@
</el-form-item>
<el-form-item
label=
"货柜位置"
prop=
"containerLocation"
>
<!-- <el-select v-model="form.containerLocation" placeholder="选择货柜位置" clearable>
<el-option v-for="locationItem in locationList" :key="locationItem.value" :label="locationItem.label" :value="locationItem.value"/>
</el-select> -->
<dict-selector
:type=
"DICT_TYPE.ECW_CONTAINER_LOCATION"
v-model=
"form.containerLocation"
/>
</el-form-item>
...
...
@@ -178,8 +156,6 @@
<el-input
v-model.number=
"form.square"
type=
"number"
style=
"width:200px"
/>
</el-form-item>
</el-card>
</el-form>
<div
style=
"margin: 20px 0"
>
...
...
@@ -191,7 +167,6 @@
<
script
>
import
RoutersSelector
from
'
@/components/RoutersSelector
'
import
{
createProductPrice
,
updateProductPrice
,
batchUpdateProductPrice
,
deleteProductPrice
,
getProductPrice
,
getProductPriceList
,
getProductPricePage
,
exportProductPriceExcel
}
from
"
@/api/ecw/productPrice
"
;
import
{
getProduct
}
from
'
@/api/ecw/product
'
import
{
getProductType
,
getProductTypeList
}
from
'
@/api/ecw/productType
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
;
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
;
...
...
@@ -262,14 +237,6 @@ export default {
}
}
}
/* clearancePric
clearancePriceUnit,
clearanceVolumeUnit,
specialDictType,
transportPrice,
transportPriceUnit,
transportVolumeUnit, */
})
}
},
...
...
@@ -281,36 +248,30 @@ export default {
},
async
created
()
{
// 修改回显
if
(
this
.
$route
.
query
.
id
)
{
getProductPrice
(
12
).
then
(
res
=>
{
this
.
form
=
res
.
data
this
.
product
=
res
.
data
.
productDO
/* getProduct(res.data.productId).then(res => {
this.product = res.data
}) */
})
if
(
this
.
$route
.
query
.
ids
)
{
let
query
=
{
ids
:
this
.
$route
.
query
.
id
ids
:
this
.
$route
.
query
.
id
s
}
getProductPriceList
(
query
).
then
(
res
=>
{
this
.
form
=
res
.
data
[
0
]
this
.
form
=
{
productId
:
res
.
data
[
0
].
productId
,
productType
:
res
.
data
[
0
].
productType
,
specialList
:
res
.
data
[
0
].
specialList
,
advanceStatus
:
res
.
data
[
0
].
advanceStatus
,
needBook
:
res
.
data
[
0
].
needBook
,
dayLimit
:
res
.
data
[
0
].
dayLimit
,
containerLocation
:
res
.
data
[
0
].
containerLocation
,
square
:
res
.
data
[
0
].
square
}
this
.
lineList
=
res
.
data
})
// this.form =newdata[newdata.length-1]
// this.product = newdata[newdata.length-1].productDO
}
// 指定产品
/
* /
/ 指定产品
else if (this.$route.query.product_id) {
getProduct(this.$route.query.product_id).then(res => {
this.product = res.data
})
}
}
*/
// 获取类型列表
else
{
this
.
productDisabled
=
false
...
...
@@ -333,7 +294,6 @@ export default {
})
},
methods
:
{
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
if
(
!
valid
)
{
...
...
@@ -341,28 +301,42 @@ export default {
}
// 只有新增的时候做判断
if
(
!
this
.
form
.
id
&&
(
!
this
.
selectedRoutes
||
!
this
.
selectedRoutes
.
length
))
{
if
(
!
this
.
$route
.
query
.
ids
&&
(
!
this
.
selectedRoutes
||
!
this
.
selectedRoutes
.
length
))
{
this
.
$message
.
error
(
'
请选择线路
'
);
return
;
}
let
data
=
Object
.
assign
({},
this
.
form
,
{
lineChannelList
:
this
.
selectedRoutes
,
//
lineChannelList: this.selectedRoutes,
specialList
:
this
.
specialProducts
})
// 修改的提交
if
(
this
.
form
.
id
!=
null
)
{
if
(
this
.
lineList
.
length
>
1
)
{
//批量修改
batchUpdateProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$router
.
replace
(
'
/product/product-price
'
)
})
}
else
{
updateProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$router
.
replace
(
'
/product/product-price
'
)
if
(
this
.
$route
.
query
.
ids
)
{
if
(
this
.
lineList
.
length
==
1
){
data
.
lineChannelList
=
{
lineId
:
this
.
lineList
[
0
].
warehouseLineId
,
shippingChannelId
:
this
.
lineList
[
0
].
shippingChannelId
||
0
}
}
else
{
data
.
lineChannelList
=
[]
this
.
lineList
.
forEach
(
item
=>
{
console
.
log
(
item
.
id
,
this
.
checkList
.
indexOf
(
item
.
id
)
>
-
1
)
if
(
this
.
checkList
.
indexOf
(
item
.
id
)
>
-
1
){
data
.
lineChannelList
.
push
({
lineId
:
item
.
warehouseLineId
,
shippingChannelId
:
item
.
shippingChannelId
||
0
}
)
}
})
}
if
(
data
.
lineChannelList
.
length
<
1
){
return
this
.
$message
.
error
(
'
请选择需要修改的路线
'
)
}
batchUpdateProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
$router
.
replace
(
'
/product/product-price
'
)
})
return
;
}
...
...
src/views/ecw/productPrice/index.vue
View file @
172a22db
...
...
@@ -63,7 +63,7 @@
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:product-price:create']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"handleEdit"
:disabled=
"multiple"
v-hasPermi=
"['ecw:product:attr']"
>
批量设置路线
</el-button>
<el-button
type=
"primary"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"handle
Batch
Edit"
:disabled=
"multiple"
v-hasPermi=
"['ecw:product:attr']"
>
批量设置路线
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
...
...
@@ -78,31 +78,31 @@
<el-table-column
label=
"序号"
prop=
"id"
width=
"50"
/>
<el-table-column
label=
"商品编码"
align=
"center"
prop=
"productCode"
>
<template
slot-scope=
"
scope
"
>
<template
slot-scope=
"
{row}
">
<div>
{{
scope
.
row
.
productDO
.
productCode
}}
{{
row
.
productDO
?
row
.
productDO
.
productCode
:
'
无productDO字段
'
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"海关编码"
align=
"center"
prop=
"customsCode"
>
<
template
slot-scope=
"
scope
"
>
<
template
slot-scope=
"
{row}
"
>
<div>
{{
scope
.
row
.
productDO
.
customsCode
}}
{{
row
.
productDO
?
row
.
productDO
.
customsCode
:
'
无productDO字段
'
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"商品类型"
align=
"center"
prop=
"typeId"
>
<
template
slot-scope=
"
scope
"
>
<span>
{{
getTypeName
(
scope
.
row
.
productDO
.
typeId
)
}}
</span>
<
template
slot-scope=
"
{row}
"
>
<span>
{{
row
.
productDO
?
getTypeName
(
row
.
productDO
.
typeId
)
:
'
无productDO字段
'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"商品名称"
align=
"center"
prop=
"productName"
>
<
template
slot-scope=
"
scope
"
>
<
template
slot-scope=
"
{row}
"
>
<div>
{{
scope
.
row
.
productDO
.
titleZh
}}
{{
row
.
productDO
?
row
.
productDO
.
titleZh
:
'
无productDO字段
'
}}
</div>
</
template
>
</el-table-column>
...
...
@@ -547,12 +547,12 @@ export default {
},
// 批量设置路线
handleEdit
()
{
this
.
$router
.
push
(
'
product-price/edit?id
=
'
+
this
.
ids
)
handle
Batch
Edit
()
{
this
.
$router
.
push
(
'
../../lineProject/product-price/edit?ids
=
'
+
this
.
ids
)
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
return
this
.
$router
.
push
(
'
../../lineProject/product-price/edit?id=
'
+
row
.
id
)
return
this
.
$router
.
push
(
'
../../lineProject/product-price/edit?id
s
=
'
+
row
.
id
)
},
updateStatus
(
row
,
type
)
{
...
...
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