Elements-SY

【航班配舱设置】新增航线维度-目的地

......@@ -55,9 +55,8 @@
<template slot="title">
<span class="fontWeight">{{ routeItem.route }}</span>
</template>
<el-card shadow="always" v-for="(val, idx) in infoForm.list" :key="idx"
v-if="val.flightRoute === routeItem.route" style="min-height:350px">
<div>
<el-card shadow="always" v-for="(val, idx) in infoForm.list" :key="idx" style="min-height:350px">
<div v-if="val.flightRoute === routeItem.route">
<el-empty description="未设置规则!" v-if="!val.isLocation">
<el-button type="primary" size="small" @click="newRoute(idx)">新增规则
</el-button>
......@@ -73,32 +72,23 @@
<el-button v-if="val.id" type="danger" size="mini" icon="el-icon-delete" @click="del(idx)">删
</el-button>
<div v-if="(routeSatus.indexOf('flightInformationMaintenance') >= 0)"
style="display: inline-block;">
<span v-if="val.id">日期级别规则</span><span v-else>普通规则</span>
</div>
<div v-else-if="(routeSatus.indexOf('FlightAllocConfig') >= 0)"
style="display: inline-block;">
<span
v-if="infoForm.fltDate != null && infoForm.fltDate != '' && infoForm.fltDate != ' '">日期级别规则</span><span
v-else>普通规则</span>
</div>
<el-divider></el-divider>
<el-col :span="24">
<el-form-item label="站点">
<el-form-item label="始发站">
<el-col :span="4">
<el-radio-group v-model="val.isLocation" @change="change">
<el-radio label="1">站点包含</el-radio>
<el-radio label="2">站点不包含</el-radio>
<el-radio label="1">包含始发站</el-radio>
<el-radio label="2">不包含始发站</el-radio>
</el-radio-group>
</el-col>
<el-col :span="10">
<el-input v-if="val.isLocation == '1'" v-model="val.location" type="textarea"
:rows="4" resize="none" style="width: 500px" placeholder="站点之间用回车符分隔"
:rows="4" resize="none" style="width: 500px" placeholder="始发站之间用回车符分隔"
@change="change" @input="change($event)">
</el-input>
<el-input v-else v-model="val.notLocation" type="textarea" :rows="4"
resize="none" style="width: 500px" placeholder="站点之间用回车符分隔" @change="change"
resize="none" style="width: 500px" placeholder="始发站之间用回车符分隔" @change="change"
@input="change($event)">
</el-input>
</el-col>
......@@ -291,6 +281,26 @@
</el-card>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="目的地">
<el-col :span="4">
<el-radio-group v-model="val.isDestinationSite" @change="change">
<el-radio label="1">包含目的地</el-radio>
<el-radio label="2">不包含目的地</el-radio>
</el-radio-group>
</el-col>
<el-col :span="10">
<el-input v-if="val.isDestinationSite == '1'" v-model="val.destinationSite" type="textarea"
:rows="4" resize="none" style="width: 500px" placeholder="目的地之间用回车符分隔"
@change="change" @input="change($event)">
</el-input>
<el-input v-else v-model="val.notDestinationSite" type="textarea" :rows="4"
resize="none" style="width: 500px" placeholder="目的地之间用回车符分隔" @change="change"
@input="change($event)">
</el-input>
</el-col>
</el-form-item>
</el-col>
</el-row>
</div>
</el-card>
......@@ -313,30 +323,23 @@
<el-button v-if="val.id" type="danger" size="mini" icon="el-icon-delete" style="margin-right:10px"
@click="del(idx)">删 除
</el-button>
<div v-if="routeSatus.indexOf('flightInformationMaintenance') >= 0" style="display: inline-block;">
<span v-if="val.id">日期级别规则</span><span v-else>普通规则</span>
</div>
<div v-else-if="(routeSatus.indexOf('FlightAllocConfig') >= 0)" style="display: inline-block;">
<span
v-if="infoForm.fltDate != null && infoForm.fltDate != '' && infoForm.fltDate != ' '">日期级别规则</span><span
v-else>普通规则</span>
</div>
<el-divider></el-divider>
<el-col :span="24">
<el-form-item label="站点">
<el-form-item label="始发站">
<el-col :span="4">
<el-radio-group v-model="val.isLocation" @change="change">
<el-radio label="1">站点包含</el-radio>
<el-radio label="2">站点不包含</el-radio>
<el-radio label="1">包含始发站</el-radio>
<el-radio label="2">不包含始发站</el-radio>
</el-radio-group>
</el-col>
<el-col :span="10">
<el-input v-if="val.isLocation == '1'" v-model="val.location" type="textarea" :rows="4"
resize="none" style="width: 500px" placeholder="站点之间用回车符分隔" @change="change"
resize="none" style="width: 500px" placeholder="始发站之间用回车符分隔" @change="change"
@input="change($event)">
</el-input>
<el-input v-else v-model="val.notLocation" type="textarea" :rows="4" resize="none"
style="width: 500px" placeholder="站点之间用回车符分隔" @change="change"
style="width: 500px" placeholder="始发站之间用回车符分隔" @change="change"
@input="change($event)">
</el-input>
</el-col>
......@@ -435,7 +438,7 @@
<el-card shadow="never" style="width: 95%">
<el-checkbox-group v-model="val.puporpuxCode" @change="change">
<el-row>
<el-col :span="2" v-for="item in checkBoxItem.puporpux">
<el-col :span="2" v-for="item in checkBoxItem.puporpux" :key="item">
<el-checkbox
v-if="item.status === 1 || val.puporpuxCode.includes(item.chineseName)"
:label="item.chineseName" :name="item.chineseName"
......@@ -523,6 +526,26 @@
</el-card>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="目的地">
<el-col :span="4">
<el-radio-group v-model="val.isDestinationSite" @change="change">
<el-radio label="1">包含目的地</el-radio>
<el-radio label="2">不包含目的地</el-radio>
</el-radio-group>
</el-col>
<el-col :span="10">
<el-input v-if="val.isDestinationSite == '1'" v-model="val.destinationSite" type="textarea"
:rows="4" resize="none" style="width: 500px" placeholder="目的地之间用回车符分隔"
@change="change" @input="change($event)">
</el-input>
<el-input v-else v-model="val.notDestinationSite" type="textarea" :rows="4"
resize="none" style="width: 500px" placeholder="目的地之间用回车符分隔" @change="change"
@input="change($event)">
</el-input>
</el-col>
</el-form-item>
</el-col>
</el-row>
</div>
</el-card>
......@@ -619,6 +642,7 @@ export default {
this.infoForm.fltDate = null
this.infoForm.route = null
}
},
mounted() {
this.loading = false
......@@ -664,11 +688,11 @@ export default {
this.msgError(res.msg)
return;
}
this.checkBoxItem.cargoType = res.data.cargoType;
this.checkBoxItem.cargoStatus = res.data.cargoStatus;
this.checkBoxItem.puporpux = res.data.puporpux;
this.checkBoxItem.cargoType = res.data.cargoType; //
this.checkBoxItem.cargoStatus = res.data.cargoStatus; //
this.checkBoxItem.puporpux = res.data.puporpux; //
this.checkBoxItem.serviceCode = this.dicSort(res.data.serviceCode.sort((a, b) =>
a.chineseName.localeCompare(b.chineseName)
a.chineseName.localeCompare(b.chineseName) //
));
this.checkBoxItem.handlingCode = this.dicSort(this.sorttodo(res.data.handlingCode, "BLANK"));
this.checkBoxItem.subCategory = this.dicSort(this.sorttodo(res.data.subCategory, "Blank"));
......@@ -965,12 +989,11 @@ export default {
submit(val) {
let routeArr = []
let data = this.setDataHandle(JSON.parse(JSON.stringify(this.infoForm.list[val])))
console.log(data)
if (new Number(data.minNumOfPieces) > new Number(data.maxNumOfPieces)) {
this.msgWarning('件数前区间不能大于后区间')
} else if (new Number(data.minWeight) > new Number(data.maxWeight)) {
this.msgWarning('重量前区间不能大于后区间')
} else if (data.handlingCode == '' && data.serviceCode == '' && data.subCategory == '' && data.typeOfGoods == '' && data.puporpuxCode == '' && (!data.location || data.location == '') && data.notLocation == '' && (data.includeUrsa == null || data.includeUrsa == '') && (data.notIncludeUrsa == null || data.notIncludeUrsa == '') && (!data.minNumOfPieces || data.minNumOfPieces == '') && (!data.maxNumOfPieces || data.maxNumOfPieces == '') && (!data.minWeight || data.minWeight == '') && (!data.maxWeight || data.maxWeight == '')) {
} else if (data.handlingCode == '' && data.serviceCode == '' && data.subCategory == '' && data.typeOfGoods == '' && data.puporpuxCode == '' && (!data.location || data.location == '') && data.notLocation == '' && (!data.destinationSite || data.destinationSite == '') && data.notDestinationSite == '' && (data.includeUrsa == null || data.notIncludeUrsa == null) && (!data.minNumOfPieces || data.minNumOfPieces == '') && (!data.maxNumOfPieces || data.maxNumOfPieces == '') && (!data.minWeight || data.minWeight == '') && (!data.maxWeight || data.maxWeight == '')) {
this.msgWarning('未添加规则信息,请添加后再保存!')
} else {
// this.loading = true
......@@ -1056,6 +1079,7 @@ export default {
this.infoForm.list[val].flightRoute = this.routeList[val].route
this.infoForm.list[val].routePriority = this.routeList[val].routePriority
this.infoForm.list[val].isLocation = '1'
this.infoForm.list[val].isDestinationSite = '1'
this.infoForm.list[val].typeOfGoods = []
this.infoForm.list[val].declarationCategory = []
this.infoForm.list[val].puporpuxCode = []
......@@ -1129,7 +1153,7 @@ export default {
})
}).catch(() => {
this.infoForm.list.map((item, idx) => {
if (item.isLocation) {
if (item.isLocation && item.isDestinationSite) {
this.infoForm.list[idx] = this.dataHandle(item)
}
})
......@@ -1153,6 +1177,9 @@ export default {
val.isLocation = '1'
val.location ? val.isLocation = '1' : ''
val.notLocation ? val.isLocation = '2' : ''
val.isDestinationSite = '1'
val.notDestinationSite ? val.isDestinationSite = '1' : ''
val.notLocation ? val.isDestinationSite = '2' : ''
val.maxNumOfPieces == null ? val.maxNumOfPieces = undefined : val.maxNumOfPieces = val.maxNumOfPieces//最大件数
val.maxWeight == null ? val.maxWeight = undefined : val.maxWeight = val.maxWeight//最大重量
val.minNumOfPieces == null ? val.minNumOfPieces = undefined : val.minNumOfPieces = val.minNumOfPieces//最小件数
......@@ -1168,16 +1195,25 @@ export default {
//提交数据处理
setDataHandle(val) {
let obj = {}
if (val.isLocation) {
if (val.isLocation && val.isDestinationSite) {
obj = val
obj.isLocation == '1' ? obj.notLocation = '' : obj.location = ''
obj.isDestinationSite == '1' ? obj.notDestinationSite = '' : obj.destinationSite = ''
if (obj.location && obj.location.length != 0) {
obj.location = obj.location.toUpperCase()
}
if (obj.notLocation && obj.notLocation.length != 0) {
obj.notLocation = obj.notLocation.toUpperCase()
}
if (obj.location && obj.location.length != 0) {
obj.location = obj.location.toUpperCase()
if (obj.destinationSite && obj.destinationSite.length != 0) {
obj.destinationSite = obj.destinationSite.toUpperCase()
}
if (obj.notDestinationSite && obj.notDestinationSite.length != 0) {
obj.notDestinationSite = obj.notDestinationSite.toUpperCase()
}
if (obj.includeUrsa && obj.includeUrsa.length != 0) {
......