Commit 7036f6ad authored by 邓春圆's avatar 邓春圆

添加所属国家

parent eac11f1c
...@@ -98,6 +98,14 @@ export function getTradeCityList(query) { ...@@ -98,6 +98,14 @@ export function getTradeCityList(query) {
params: query params: query
}) })
} }
// 获得目的地国家
export function getTradeCountryList(query) {
return request({
url: '/ecw/region/getTradeCountryList',
method: 'get',
params: query
})
}
export function listByIds(params){ export function listByIds(params){
...@@ -106,4 +114,4 @@ export function listByIds(params){ ...@@ -106,4 +114,4 @@ export function listByIds(params){
method: 'get', method: 'get',
params params
}) })
} }
\ No newline at end of file
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>{{ $t('渠道信息') }}</span> <span>{{ $t('渠道信息') }}</span>
</div> </div>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('中文名称')" prop="nameZh"> <el-form-item :label="$t('中文名称')" prop="nameZh">
<el-input v-model="form.nameZh" :placeholder="$t('请输入名称-中文')" /> <el-input v-model="form.nameZh" :placeholder="$t('请输入名称-中文')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('名称英文')" prop="nameEn"> <el-form-item :label="$t('名称英文')" prop="nameEn">
<el-input v-model="form.nameEn" :placeholder="$t('请输入名称-英文')" /> <el-input v-model="form.nameEn" :placeholder="$t('请输入名称-英文')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('内部名称中文')" prop="internalNameZh"> <el-form-item :label="$t('内部名称中文')" prop="internalNameZh">
<el-input <el-input
v-model="form.internalNameZh" v-model="form.internalNameZh"
:placeholder="$t('请输入内部名称-中文')" :placeholder="$t('请输入内部名称-中文')"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('内部名称英文')" prop="internalNameEn"> <el-form-item :label="$t('内部名称英文')" prop="internalNameEn">
<el-input <el-input
v-model="form.internalNameEn" v-model="form.internalNameEn"
:placeholder="$t('请输入内部名称-英文')" :placeholder="$t('请输入内部名称-英文')"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('类型编码')" prop="typeNumber"> <el-form-item :label="$t('类型编码')" prop="typeNumber">
<el-input <el-input
v-model="form.typeNumber" v-model="form.typeNumber"
:placeholder="$t('请输入类型编码')" :placeholder="$t('请输入类型编码')"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('简码')" prop="code"> <el-form-item :label="$t('简码')" prop="code">
<el-input <el-input
v-model="form.code" v-model="form.code"
:placeholder="$t('请输入简码')" :placeholder="$t('请输入简码')"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<!-- <el-form-item :label="$t('归属仓库')" prop="warehouseIds">--> <!-- <el-form-item :label="$t('归属仓库')" prop="warehouseIds">-->
<!-- &lt;!&ndash; <el-select v-model="form.wareHouseIds">--> <!-- &lt;!&ndash; <el-select v-model="form.wareHouseIds">-->
<!-- <el-option v-for="item in warehouseList" :value="item.id" :label="item.nameZh"/>--> <!-- <el-option v-for="item in warehouseList" :value="item.id" :label="item.nameZh"/>-->
<!-- </el-select> &ndash;&gt;--> <!-- </el-select> &ndash;&gt;-->
<!-- <el-checkbox-group v-model="warehouseIdsArr">--> <!-- <el-checkbox-group v-model="warehouseIdsArr">-->
<!-- &lt;!&ndash;label需要是字符串,因为回显时分解后为字符串格式&ndash;&gt;--> <!-- &lt;!&ndash;label需要是字符串,因为回显时分解后为字符串格式&ndash;&gt;-->
<!-- <el-checkbox v-for="item in warehouseList" :label="`${item.id}`" :key="item.id" >{{item.titleZh}}</el-checkbox>--> <!-- <el-checkbox v-for="item in warehouseList" :label="`${item.id}`" :key="item.id" >{{item.titleZh}}</el-checkbox>-->
<!-- </el-checkbox-group>--> <!-- </el-checkbox-group>-->
<!-- &lt;!&ndash; <el-input--> <!-- &lt;!&ndash; <el-input-->
<!-- v-model="form.warehouseIds"--> <!-- v-model="form.warehouseIds"-->
<!-- placeholder="请输入归属仓库Ids"--> <!-- placeholder="请输入归属仓库Ids"-->
<!-- /> &ndash;&gt;--> <!-- /> &ndash;&gt;-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('排序')" prop="sort"> <el-form-item :label="$t('排序')" prop="sort">
<el-input v-model="form.sort" :placeholder="$t('请输入排序')" /> <el-input v-model="form.sort" :placeholder="$t('请输入排序')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('快递')" prop="expressId"> <el-form-item :label="$t('快递')" prop="expressId">
<!-- <el-input v-model="form.expressId" placeholder="请输入快递ID" /> --> <!-- <el-input v-model="form.expressId" placeholder="请输入快递ID" /> -->
<el-select v-model="form.expressId"> <el-select v-model="form.expressId">
<el-option v-for="item in expressList" :value="item.id+''" :label="item.companyName" :key="item.id"/> <el-option v-for="item in expressList" :value="item.id+''" :label="item.companyName" :key="item.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="$t('预计到达时间')" prop="etaTime"> <el-form-item :label="$t('预计到达时间')" prop="etaTime">
<el-input type="number" v-model="form.etaTime" :placeholder="$t('请输入天数')"> <el-input type="number" v-model="form.etaTime" :placeholder="$t('请输入天数')">
<span slot="append">{{ $t('') }}</span> <span slot="append">{{ $t('') }}</span>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="12">
<el-row :gutter="20"> <el-form-item :label="$t('所属目的国家')" prop="country">
<el-col :span="12"> <el-select filterable clearable v-model="form.countryId" :placeholder="$t('请选择国家')">
<el-form-item label="可出商品特性" prop="attrId"> <el-option v-for="dict in countryList"
<el-select multiple v-model="form.attrId"> :key="dict.id" :label="$l(dict,'title')" :value="parseInt(dict.id)"/>
<el-option v-for="(item, index) in attrList" :value="item.id" :label="$l(item, 'attrName')"></el-option> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col> </el-row>
</el-row> <el-row :gutter="20">
<el-row :gutter="20"> <el-col :span="12">
<el-col :span="12"> <el-form-item label="可出商品特性" prop="attrId">
<el-form-item label="渠道泡重比例" prop="attrId"> <el-select multiple v-model="form.attrId">
<el-input v-model.number="form.bubbleWeightRatio" style="width: 200px" > <el-option v-for="(item, index) in attrList" :value="item.id" :label="$l(item, 'attrName')"></el-option>
<template #suffix> </el-select>
<span>%</span> </el-form-item>
</template> </el-col>
</el-input> </el-row>
</el-form-item> <el-row :gutter="20">
</el-col> <el-col :span="12">
</el-row> <el-form-item label="渠道泡重比例" prop="attrId">
<!-- <div style="display: flex; justify-content: space-between;">--> <el-input v-model.number="form.bubbleWeightRatio" style="width: 200px">
<!-- <h1>--> <template #suffix>
<!-- <span style="color: red;font-size: 14px;font-weight: 700;">*</span>--> <span>%</span>
<!-- 渠道包装列表--> </template>
<!-- </h1>--> </el-input>
<!-- <div>--> </el-form-item>
<!-- <el-button type="primary" @click="addPackaging" >添加包装类型</el-button>--> </el-col>
<!-- <el-button type="text" @click="dialogVisible = true;">选择渠道包装模板</el-button>--> </el-row>
<!-- </div>--> <!-- <div style="display: flex; justify-content: space-between;">-->
<!-- </div>--> <!-- <h1>-->
<!-- <el-row :gutter="20" v-for="(itemm, index) in form.channelPackagingList" style="margin-bottom: 50px;border-bottom: 1px solid #cccccc" :key="index">--> <!-- <span style="color: red;font-size: 14px;font-weight: 700;">*</span>-->
<!-- <el-col :span="2">包装类型{{index + 1}}:</el-col>--> <!-- 渠道包装列表-->
<!-- <el-col :span="5">--> <!-- </h1>-->
<!-- <el-select multiple v-model="itemm.packagingTypes" >--> <!-- <div>-->
<!-- <el-option v-for="item in getDictDatas(DICT_TYPE.ECW_PACKAGING_TYPE)" :value="item.value" :key="item.value" :label="$l(item, 'label')" :disabled="deletePackagingTypes.includes(item.value) && !itemm.packagingTypes.includes(item.value)" ></el-option>--> <!-- <el-button type="primary" @click="addPackaging" >添加包装类型</el-button>-->
<!-- </el-select>--> <!-- <el-button type="text" @click="dialogVisible = true;">选择渠道包装模板</el-button>-->
<!-- </el-col>--> <!-- </div>-->
<!-- <el-col :span="16">--> <!-- </div>-->
<!-- <packaging-type v-if="form.channelPackagingList.length" v-model="form.channelPackagingList[index]">--> <!-- <el-row :gutter="20" v-for="(itemm, index) in form.channelPackagingList" style="margin-bottom: 50px;border-bottom: 1px solid #cccccc" :key="index">-->
<!-- <el-button :disabled="form.channelPackagingList.length === 1" @click="deleteFn(index)" type="danger">删除包装类型{{index + 1}}</el-button>--> <!-- <el-col :span="2">包装类型{{index + 1}}:</el-col>-->
<!-- </packaging-type>--> <!-- <el-col :span="5">-->
<!-- </el-col>--> <!-- <el-select multiple v-model="itemm.packagingTypes" >-->
<!-- </el-row>--> <!-- <el-option v-for="item in getDictDatas(DICT_TYPE.ECW_PACKAGING_TYPE)" :value="item.value" :key="item.value" :label="$l(item, 'label')" :disabled="deletePackagingTypes.includes(item.value) && !itemm.packagingTypes.includes(item.value)" ></el-option>-->
<el-form-item :label="$t('备注-中文')" prop="remarksZh"> <!-- </el-select>-->
<el-input <!-- </el-col>-->
v-model="form.remarksZh" <!-- <el-col :span="16">-->
:placeholder="$t('请输入备注-中文')" <!-- <packaging-type v-if="form.channelPackagingList.length" v-model="form.channelPackagingList[index]">-->
/> <!-- <el-button :disabled="form.channelPackagingList.length === 1" @click="deleteFn(index)" type="danger">删除包装类型{{index + 1}}</el-button>-->
</el-form-item> <!-- </packaging-type>-->
<el-form-item :label="$t('备注-英文')" prop="remarksEn"> <!-- </el-col>-->
<el-input <!-- </el-row>-->
v-model="form.remarksEn" <el-form-item :label="$t('备注-中文')" prop="remarksZh">
:placeholder="$t('请输入备注-英文')" <el-input
/> v-model="form.remarksZh"
</el-form-item> :placeholder="$t('请输入备注-中文')"
<!-- <el-form-item label="状态(0:禁用 1:启用)" prop="status"> />
<el-radio-group v-model="form.status"> </el-form-item>
<el-radio label="1">{{ $t('请选择字典生成') }}</el-radio> <el-form-item :label="$t('备注-英文')" prop="remarksEn">
</el-radio-group> <el-input
</el-form-item> --> v-model="form.remarksEn"
</el-card> :placeholder="$t('请输入备注-英文')"
<!-- <el-card shadow="never">--> />
<!-- <div slot="header" class="clearfix">--> </el-form-item>
<!-- <span>{{ $t('渠道收费规则') }}</span>--> <!-- <el-form-item label="状态(0:禁用 1:启用)" prop="status">
<!-- </div>--> <el-radio-group v-model="form.status">
<!-- --> <el-radio label="1">{{ $t('请选择字典生成') }}</el-radio>
<!-- <el-form-item :label="$t('清关单价')" prop="customsClearUnit">--> </el-radio-group>
<!-- <el-input v-model="form.customsClearUnit" :placeholder="$t('请输入清关单价')">--> </el-form-item> -->
<!-- <span slot="append">$</span>--> </el-card>
<!-- </el-input>--> <!-- <el-card shadow="never">-->
<!-- </el-form-item>--> <!-- <div slot="header" class="clearfix">-->
<!-- <el-form-item label="每0.5KG单价" prop="weightUnitPrice">--> <!-- <span>{{ $t('渠道收费规则') }}</span>-->
<!-- <el-input v-model="form.weightUnitPrice" :placeholder="$t('此字段名暂缺')" >--> <!-- </div>-->
<!-- <span slot="append">$</span>--> <!-- -->
<!-- </el-input>--> <!-- <el-form-item :label="$t('清关单价')" prop="customsClearUnit">-->
<!-- </el-form-item>--> <!-- <el-input v-model="form.customsClearUnit" :placeholder="$t('请输入清关单价')">-->
<!-- </el-card>--> <!-- <span slot="append">$</span>-->
</el-form> <!-- </el-input>-->
<div> <!-- </el-form-item>-->
<el-button type="primary" @click="submitForm">{{ $t('确 定') }}</el-button> <!-- <el-form-item label="每0.5KG单价" prop="weightUnitPrice">-->
<el-button @click="$router.back()">{{ $t('返回列表') }}</el-button> <!-- <el-input v-model="form.weightUnitPrice" :placeholder="$t('此字段名暂缺')" >-->
</div> <!-- <span slot="append">$</span>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-card>-->
</el-form>
<div>
<el-button type="primary" @click="submitForm">{{ $t('确 定') }}</el-button>
<el-button @click="$router.back()">{{ $t('返回列表') }}</el-button>
</div>
<el-dialog <el-dialog
title="提示" title="提示"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
...@@ -180,11 +188,11 @@ ...@@ -180,11 +188,11 @@
</template> </template>
<script> <script>
import { import {
createChannel, createChannel,
updateChannel, updateChannel,
getChannel, getChannel,
getChannelPage, getChannelPage,
exportChannelExcel, exportChannelExcel,
} from "@/api/ecw/channel"; } from "@/api/ecw/channel";
import {getWarehouseList} from '@/api/ecw/warehouse' import {getWarehouseList} from '@/api/ecw/warehouse'
import {getExpressPage} from '@/api/ecw/express' import {getExpressPage} from '@/api/ecw/express'
...@@ -192,216 +200,222 @@ import PackagingType from "@/views/ecw/channel/componrnts/packaging-type.vue"; ...@@ -192,216 +200,222 @@ import PackagingType from "@/views/ecw/channel/componrnts/packaging-type.vue";
import {DICT_TYPE, getDictDataLabel, getDictDatas} from "@/utils/dict"; import {DICT_TYPE, getDictDataLabel, getDictDatas} from "@/utils/dict";
import {getProductAttrList} from "@/api/ecw/productAttr"; import {getProductAttrList} from "@/api/ecw/productAttr";
import indexDialog from "@/views/ecw/channel/index-dialog.vue"; import indexDialog from "@/views/ecw/channel/index-dialog.vue";
import {getTradeCountryList} from "@/api/ecw/region";
export default { export default {
components: {PackagingType,indexDialog}, components: {PackagingType, indexDialog},
data() { data() {
return { return {
dialogVisible:false, countryList: [],
form: { dialogVisible: false,
bubbleWeightRatio:100, form: {
channelCostCreateReqVO:{}, countryId: undefined,
channelPackagingList:[], bubbleWeightRatio: 100,
attrId:[], channelCostCreateReqVO: {},
}, attrId: [],
},
rules: { rules: {
nameZh:{required:true,message:'请输入中文名称',trigger:'blur'}, nameZh: {required: true, message: '请输入中文名称', trigger: 'blur'},
nameEn:{required:true,message:'请输入英文名称',trigger:'blur'}, nameEn: {required: true, message: '请输入英文名称', trigger: 'blur'},
internalNameZh:{required:true,message:'请输入内部中文名称',trigger:'blur'}, internalNameZh: {required: true, message: '请输入内部中文名称', trigger: 'blur'},
internalNameEn:{required:true,message:'请输入内部英文名称',trigger:'blur'}, internalNameEn: {required: true, message: '请输入内部英文名称', trigger: 'blur'},
typeNumber:{required:true,message:'请输入编码类型',trigger:'blur'}, typeNumber: {required: true, message: '请输入编码类型', trigger: 'blur'},
code:{required:true,message:'请输入简码',trigger:'blur'}, code: {required: true, message: '请输入简码', trigger: 'blur'},
attrId:{required:true,message:'请选择可出商品特性',trigger:'blur'} attrId: {required: true, message: '请选择可出商品特性', trigger: 'blur'}
}, },
expressList:[], expressList: [],
warehouseList: [], warehouseList: [],
warehouseIdsArr:[], warehouseIdsArr: [],
attrList:[] attrList: []
}; };
}, },
watch:{ watch: {
/* wareHouseIdsArr(val){ /* wareHouseIdsArr(val){
console.log('更新wareHouseIdsArr', val) console.log('更新wareHouseIdsArr', val)
this.$set(this.form, 'wareHouseIds', val.join(',')) this.$set(this.form, 'wareHouseIds', val.join(','))
},
'form.wareHouseIds'(val){
console.log('form.wareHouseIds', val)
this.wareHouseIdsArr = val?.split(',') || []
} */
}, },
'form.wareHouseIds'(val){
console.log('form.wareHouseIds', val)
this.wareHouseIdsArr = val?.split(',') || []
} */
},
mounted() { mounted() {
getTradeCountryList().then(r => {
this.countryList = r.data
})
getProductAttrList().then(response => { getProductAttrList().then(response => {
this.attrList = response.data; this.attrList = response.data;
this.form.attrId = this.attrList.map(i => i.id) this.form.attrId = this.attrList.map(i => i.id)
}) })
}, },
async created() { async created() {
// 获得仓库 // 获得仓库
await getWarehouseList().then(res => { await getWarehouseList().then(res => {
this.warehouseList = res.data this.warehouseList = res.data
}) })
await getExpressPage({pageSize: 1000}).then(res => { await getExpressPage({pageSize: 1000}).then(res => {
this.expressList = res.data.list this.expressList = res.data.list
}) })
if (this.$route.query.id) { if (this.$route.query.id) {
getChannel(this.$route.query.id).then((res) => { getChannel(this.$route.query.id).then((res) => {
this.$set(this, 'form', {... res.data}) this.$set(this, 'form', {...res.data})
if(this.form.channelPackagingList === null ){ // if(this.form.channelPackagingList === null ){
this.form.channelPackagingList = []; // this.form.channelPackagingList = [];
this.addPackaging() // this.addPackaging()
} // }
if(this.form.attrId){ if (this.form.attrId) {
this.form.attrId = this.form.attrId.split(',').map(i => +i) this.form.attrId = this.form.attrId.split(',').map(i => +i)
}else { } else {
this.form.attrId = [] this.form.attrId = []
} }
this.form.countryId = this.form.countryId || undefined
this.form.channelPackagingList.forEach(item =>{ // this.form.channelPackagingList.forEach(item =>{
item.packagingTypes = item.packagingTypes && item.packagingTypes.length !== 0 ? item.packagingTypes.split(',') : [] // item.packagingTypes = item.packagingTypes && item.packagingTypes.length !== 0 ? item.packagingTypes.split(',') : []
}) // })
// if(this.form.warehouseIds.length){ // if(this.form.warehouseIds.length){
// this.warehouseIdsArr = this.form.warehouseIds.split(',')?.filter(item => !!item) // this.warehouseIdsArr = this.form.warehouseIds.split(',')?.filter(item => !!item)
// } // }
if(this.form.bubbleWeightRatio){ if (this.form.bubbleWeightRatio) {
this.form.bubbleWeightRatio = this.form.bubbleWeightRatio * 100 this.form.bubbleWeightRatio = this.form.bubbleWeightRatio * 100
}
});
}else {
this.addPackaging()
} }
});
} else {
this.addPackaging()
}
}, },
computed:{ computed: {
DICT_TYPE() { DICT_TYPE() {
return DICT_TYPE return DICT_TYPE
},
deletePackagingTypes(){
let a = []
this.form.channelPackagingList.forEach(item => {
a.push(...item.packagingTypes)
})
return a
}
/* wareHouseIdsArr:{
get(){
return this.form.wareHouseIds?.split(',') || []
},
set(val){
console.log('val', val)
this.$set(this.form, 'wareHouseIds', val.join(','))
}
} */
}, },
methods: { deletePackagingTypes() {
let a = []
this.form.channelPackagingList.forEach(item => {
a.push(...item.packagingTypes)
})
return a
}
/* wareHouseIdsArr:{
get(){
return this.form.wareHouseIds?.split(',') || []
},
set(val){
console.log('val', val)
this.$set(this.form, 'wareHouseIds', val.join(','))
}
} */
},
methods: {
getDictDatas, getDictDatas,
copyFn(val){ copyFn(val) {
this.form.channelPackagingList = []; this.form.channelPackagingList = [];
this.dialogVisible = false; this.dialogVisible = false;
getChannel(val).then((res) => { // getChannel(val).then((res) => {
(res.data.channelPackagingList || []).forEach((item,index) =>{ // (res.data.channelPackagingList || []).forEach((item,index) =>{
this.form.channelPackagingList[index] = { airWeightLimit:item.airWeightLimit, packagingTypes: item.packagingTypes ? item.packagingTypes.split(',') : [], channelPriceStepClearanceList:[],} // this.form.channelPackagingList[index] = { airWeightLimit:item.airWeightLimit, packagingTypes: item.packagingTypes ? item.packagingTypes.split(',') : [], channelPriceStepClearanceList:[],}
// if(!this.form.channelPackagingList[index]){ // // if(!this.form.channelPackagingList[index]){
// this.form.channelPackagingList[index] = { airWeightLimit:item.airWeightLimit, packagingTypes:item.packagingTypes ? item.packagingTypes.split(',') : [], channelPriceStepClearanceList:[],} // // this.form.channelPackagingList[index] = { airWeightLimit:item.airWeightLimit, packagingTypes:item.packagingTypes ? item.packagingTypes.split(',') : [], channelPriceStepClearanceList:[],}
// }else { // // }else {
// // //
// } // // }
item.channelPriceStepClearanceList.forEach((itemm, indexx) => { // item.channelPriceStepClearanceList.forEach((itemm, indexx) => {
let p = { // let p = {
"channelId":'', // "channelId":'',
"clearancePrice":'', // "clearancePrice":'',
"clearancePriceUnit":'', // "clearancePriceUnit":'',
"clearanceVolumeUnit":'', // "clearanceVolumeUnit":'',
"endNum":'', // "endNum":'',
"packagingId":'', // "packagingId":'',
"startNum":'', // "startNum":'',
"weightUnit":'' // "weightUnit":''
} // }
if(!this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx]){ // if(!this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx]){
this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx] = p; // this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx] = p;
} // }
let it = this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx] // let it = this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx]
this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx] = { // this.form.channelPackagingList[index].channelPriceStepClearanceList[indexx] = {
...p, // ...p,
...it, // ...it,
clearancePrice:itemm.clearancePrice, // clearancePrice:itemm.clearancePrice,
clearancePriceUnit:itemm.clearancePriceUnit, // clearancePriceUnit:itemm.clearancePriceUnit,
clearanceVolumeUnit:itemm.clearanceVolumeUnit, // clearanceVolumeUnit:itemm.clearanceVolumeUnit,
endNum:itemm.endNum, // endNum:itemm.endNum,
startNum:itemm.startNum, // startNum:itemm.startNum,
weightUnit:itemm.weightUnit // weightUnit:itemm.weightUnit
} ; // } ;
}) // })
}) // })
this.$forceUpdate() // this.$forceUpdate()
}); // });
}, },
deleteFn(index){ deleteFn(index) {
this.form.channelPackagingList.splice(index, 1) this.form.channelPackagingList.splice(index, 1)
}, },
//添加包装类型 //添加包装类型
addPackaging(){ addPackaging() {
let p = { let p = {
airWeightLimit:'', airWeightLimit: '',
packagingTypes:[], packagingTypes: [],
channelPriceStepClearanceList:[], channelPriceStepClearanceList: [],
} }
this.form.channelPackagingList.push(p) this.form.channelPackagingList.push(p)
}, },
verify(row){ verify(row) {
return (row.startNum !== '' && row.endNum !== '' && row.clearancePrice !== '' && row.clearancePriceUnit !== '' && row.clearanceVolumeUnit !== '') return (row.startNum !== '' && row.endNum !== '' && row.clearancePrice !== '' && row.clearancePriceUnit !== '' && row.clearanceVolumeUnit !== '')
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (!valid) { if (!valid) {
return; return;
} }
let derail = false let derail = false
this.form.channelPackagingList.forEach(item =>{ // this.form.channelPackagingList.forEach(item =>{
if(item.airWeightLimit === '' || item.airWeightLimit === 0){ // if(item.airWeightLimit === '' || item.airWeightLimit === 0){
derail = true // derail = true
return this.$message.warning('请输入空运订单重量上限') // return this.$message.warning('请输入空运订单重量上限')
} // }
if(!item.packagingTypes.length){ // // if(!item.packagingTypes.length){
derail = true // // derail = true
return this.$message.warning('请输入包装类型') // // return this.$message.warning('请输入包装类型')
} // // }
if(!item.channelPriceStepClearanceList.every(this.verify)){ // // if(!item.channelPriceStepClearanceList.every(this.verify)){
derail = true // // derail = true
return this.$message.warning('请输入阶梯价格') // // return this.$message.warning('请输入阶梯价格')
} // // }
}) // })
if (derail) return;
// this.form.warehouseIds = this.warehouseIdsArr.join(',') // this.form.warehouseIds = this.warehouseIdsArr.join(',')
let form = JSON.parse(JSON.stringify(this.form)) let form = JSON.parse(JSON.stringify(this.form))
let attrId = this.form.attrId let attrId = this.form.attrId
attrId = attrId.join(',') attrId = attrId.join(',')
form.attrId = attrId form.attrId = attrId
form.channelPackagingList.forEach(item =>{ // form.channelPackagingList.forEach(item =>{
item.packagingTypes = item.packagingTypes.join(',') // item.packagingTypes = item.packagingTypes.join(',')
}) // })
form.bubbleWeightRatio = form.bubbleWeightRatio / 100 form.bubbleWeightRatio = form.bubbleWeightRatio / 100
// 修改的提交 // 修改的提交
if (this.form.channelId != null) { if (this.form.channelId != null) {
updateChannel(form).then((response) => { updateChannel(form).then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.$router.back(); this.$router.back();
}); });
return; return;
} }
// 添加的提交 // 添加的提交
createChannel(form).then((response) => { createChannel(form).then((response) => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.$router.back(); this.$router.back();
}); });
}); });
}, },
}, },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.el-card{ .el-card {
margin-bottom: 20px; margin-bottom: 20px;
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment