国家与省份匹配
This commit is contained in:
parent
030cec434d
commit
1be934fb72
@ -81,8 +81,9 @@ methods: {
|
||||
},
|
||||
onChange() {
|
||||
this.$emit("input", this.svalue);
|
||||
this.$emit("onChange");
|
||||
},
|
||||
//传选中值对象
|
||||
let selItem = this.optionItems.find(item => item.regionCode == this.svalue);
|
||||
this.$emit("onChange", selItem);},
|
||||
queryData(val,key) {
|
||||
this.optionItems =[];
|
||||
|
||||
|
||||
@ -242,7 +242,7 @@
|
||||
<el-form-item :label="$t('国家地区')" prop="sender.province" >
|
||||
<div style="display:inline-flex">
|
||||
<country-picker1 v-model="form.sender.country" ></country-picker1>
|
||||
<province-picker1 v-model="form.sender.province" :countryCode="form.sender.country" style="margin-left:5px"></province-picker1>
|
||||
<province-picker1 v-model="form.sender.province" :countryCode="form.sender.country" style="margin-left:5px" @onChange="onChangeSenderProvince"></province-picker1>
|
||||
<city-picker1 v-model="form.sender.city" :parentCode="form.sender.province" style="margin-left:5px"></city-picker1>
|
||||
<district-picker1 v-model="form.sender.county" :parentCode="form.sender.city" style="margin-left:5px"></district-picker1>
|
||||
</div>
|
||||
@ -306,7 +306,7 @@
|
||||
<el-form-item :label="$t('国家地区')" prop="reciever.province">
|
||||
<div style="display:inline-flex">
|
||||
<country-picker2 v-model="form.reciever.country" ></country-picker2>
|
||||
<ProvincePicker2 v-model="form.reciever.province" :countryCode="form.reciever.country" style="margin-left:5px" @onChange="handleCalcDestSite" ></ProvincePicker2>
|
||||
<ProvincePicker2 v-model="form.reciever.province" :countryCode="form.reciever.country" style="margin-left:5px" @onChange="onChangeRecieverProvince"></ProvincePicker2>
|
||||
<city-picker2 v-model="form.reciever.city" :parentCode="form.reciever.province" style="margin-left:5px" @onChange="handleCalcDestSite" ></city-picker2>
|
||||
<district-picker2 v-model="form.reciever.county" :parentCode="form.reciever.city" style="margin-left:5px" @onChange="handleCalcDestSite" ></district-picker2>
|
||||
</div>
|
||||
@ -939,6 +939,31 @@ data() {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
//校验寄件国家地区国家和省份是否匹配
|
||||
var checkSenderCountryProvince = (rule, value, callback) => {
|
||||
if (this.form.sender.country && this.senderCountryCode) {
|
||||
if (this.form.sender.country != this.senderCountryCode) {
|
||||
callback(new Error('寄件国家和省份不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
//校验收件国家地区国家和省份是否匹配
|
||||
var checkRecieverCountryProvince = (rule, value, callback) => {
|
||||
console.log('value',value, this.form.reciever.country , this.recieverCountryCode)
|
||||
if (this.form.reciever.country && this.recieverCountryCode) {
|
||||
if (this.form.reciever.country != this.recieverCountryCode) {
|
||||
callback(new Error('收件国家和省份不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
return {
|
||||
activeNames:['1','2','3','4'],
|
||||
exchangeRate:null,
|
||||
@ -968,6 +993,9 @@ data() {
|
||||
subHasCnt:0
|
||||
},
|
||||
sendSiteSelectCount:0,//寄件网点变化次数
|
||||
//寄件人省份的国家
|
||||
senderCountryCode:null,
|
||||
recieverCountryCode:null,
|
||||
// 表单校验
|
||||
rules: {
|
||||
billCode: [
|
||||
@ -987,7 +1015,9 @@ data() {
|
||||
{ required: true, message: "收货人国家不能为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
province: [
|
||||
{ required: true, message: "收货省不能为空", trigger: ["blur",'change'] }
|
||||
{ required: true, message: "收货省不能为空", trigger: ["blur",'change'] }, {
|
||||
validator: checkRecieverCountryProvince, trigger: ['blur', 'change']
|
||||
}
|
||||
],
|
||||
company: [
|
||||
{ required: true, message: "收货公司不能为空", trigger: ["blur",'change'] }
|
||||
@ -1013,7 +1043,8 @@ data() {
|
||||
{ required: true, message: "寄件人国家不能为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
province: [
|
||||
{ required: true, message: "寄件省不能为空", trigger: ["blur",'change'] }
|
||||
{ required: true, message: "寄件省不能为空", trigger: ["blur",'change'] },{
|
||||
validator: checkSenderCountryProvince, trigger: ['blur', 'change'] }
|
||||
],
|
||||
company: [
|
||||
{ required: true, message: "寄件公司不能为空", trigger: ["blur",'change'] }
|
||||
@ -2486,6 +2517,19 @@ methods: {
|
||||
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
|
||||
}
|
||||
}
|
||||
},
|
||||
//寄件省份变化
|
||||
onChangeSenderProvince(val){
|
||||
if(val){
|
||||
this.senderCountryCode = val.countryCode;
|
||||
}
|
||||
},
|
||||
//收件省份变化
|
||||
onChangeRecieverProvince(val){
|
||||
if(val){
|
||||
this.recieverCountryCode = val.countryCode;
|
||||
}
|
||||
this.handleCalcDestSite();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -943,10 +943,9 @@ data() {
|
||||
}
|
||||
//校验寄件国家地区国家和省份是否匹配
|
||||
var checkSenderCountryProvince = (rule, value, callback) => {
|
||||
console.log('value',value, this.form.sender.country , this.senderCountryCode)
|
||||
if (this.form.sender.country && this.senderCountryCode) {
|
||||
if (this.form.sender.country != this.senderCountryCode) {
|
||||
callback(new Error('国家和省份不一致'));
|
||||
callback(new Error('寄件国家和省份不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
@ -956,10 +955,9 @@ data() {
|
||||
}
|
||||
//校验收件国家地区国家和省份是否匹配
|
||||
var checkRecieverCountryProvince = (rule, value, callback) => {
|
||||
console.log('value',value, this.form.reciever.country , this.recieverCountryCode)
|
||||
if (this.form.reciever.country && this.recieverCountryCode) {
|
||||
if (this.form.reciever.country != this.recieverCountryCode) {
|
||||
callback(new Error('国家和省份不一致'));
|
||||
callback(new Error('收件国家和省份不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
|
||||
@ -634,7 +634,7 @@
|
||||
<el-form-item :label="$t('国家地区')" prop="sender.province" >
|
||||
<div style="display:inline-flex">
|
||||
<country-picker1 v-model="form.sender.country" ></country-picker1>
|
||||
<province-picker1 v-model="form.sender.province" :countryCode="form.sender.country" style="margin-left:5px"></province-picker1>
|
||||
<province-picker1 v-model="form.sender.province" :countryCode="form.sender.country" style="margin-left:5px" @onChange="onChangeSenderProvince"></province-picker1>
|
||||
<city-picker1 v-model="form.sender.city" :parentCode="form.sender.province" style="margin-left:5px"></city-picker1>
|
||||
<district-picker1 v-model="form.sender.county" :parentCode="form.sender.city" style="margin-left:5px"></district-picker1>
|
||||
</div>
|
||||
@ -691,7 +691,7 @@
|
||||
<el-form-item :label="$t('国家地区')" prop="reciever.province">
|
||||
<div style="display:inline-flex">
|
||||
<country-picker2 v-model="form.reciever.country" ></country-picker2>
|
||||
<ProvincePicker2 v-model="form.reciever.province" :countryCode="form.reciever.country" style="margin-left:5px" @onChange="handleCalcDestSite" ></ProvincePicker2>
|
||||
<ProvincePicker2 v-model="form.reciever.province" :countryCode="form.reciever.country" style="margin-left:5px" @onChange="onChangeRecieverProvince"></ProvincePicker2>
|
||||
<city-picker2 v-model="form.reciever.city" :parentCode="form.reciever.province" style="margin-left:5px" @onChange="handleCalcDestSite" ></city-picker2>
|
||||
<district-picker2 v-model="form.reciever.county" :parentCode="form.reciever.city" style="margin-left:5px" @onChange="handleCalcDestSite" ></district-picker2>
|
||||
</div>
|
||||
@ -1297,6 +1297,30 @@ export default {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
//校验寄件国家地区国家和省份是否匹配
|
||||
var checkSenderCountryProvince = (rule, value, callback) => {
|
||||
if (this.form.sender.country && this.senderCountryCode) {
|
||||
if (this.form.sender.country != this.senderCountryCode) {
|
||||
callback(new Error('寄件国家和省份不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
//校验收件国家地区国家和省份是否匹配
|
||||
var checkRecieverCountryProvince = (rule, value, callback) => {
|
||||
if (this.form.reciever.country && this.recieverCountryCode) {
|
||||
if (this.form.reciever.country != this.recieverCountryCode) {
|
||||
callback(new Error('收件国家和省份不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
return {
|
||||
triggerCount:0,
|
||||
activeNames:['1','2','3','4'],
|
||||
@ -1314,6 +1338,9 @@ export default {
|
||||
masterBillProductType:null,
|
||||
// 表单参数
|
||||
form:{},
|
||||
//寄件人省份的国家
|
||||
senderCountryCode:null,
|
||||
recieverCountryCode:null,
|
||||
// 表单校验
|
||||
rules: {
|
||||
billCode: [
|
||||
@ -1333,7 +1360,9 @@ export default {
|
||||
{ required: true, message: "收货人国家不能为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
province: [
|
||||
{ required: true, message: "收货省不能为空", trigger: ["blur",'change'] }
|
||||
{ required: true, message: "收货省不能为空", trigger: ["blur",'change'] }, {
|
||||
validator: checkRecieverCountryProvince, trigger: ['blur', 'change']
|
||||
}
|
||||
],
|
||||
company: [
|
||||
{ required: true, message: "发件公司不能为空", trigger: ["blur",'change'] }
|
||||
@ -1359,7 +1388,8 @@ export default {
|
||||
{ required: true, message: "寄件人国家不能为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
province: [
|
||||
{ required: true, message: "寄件省不能为空", trigger: ["blur",'change'] }
|
||||
{ required: true, message: "寄件省不能为空", trigger: ["blur",'change'] },{
|
||||
validator: checkSenderCountryProvince, trigger: ['blur', 'change'] }
|
||||
],
|
||||
company: [
|
||||
{ required: true, message: "发件公司不能为空", trigger: ["blur",'change'] }
|
||||
@ -1498,6 +1528,7 @@ export default {
|
||||
this.applyTypeArr=[];
|
||||
}
|
||||
console.log("====>this.applyTypeArr==>",this.applyTypeArr);
|
||||
this.initCountryCode();
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
@ -2140,6 +2171,30 @@ export default {
|
||||
this.form.startSiteCode = item.siteCode;
|
||||
this.form.startSiteName = item.siteName;
|
||||
},
|
||||
//寄件省份变化
|
||||
onChangeSenderProvince(val){
|
||||
console.log('onChangeSenderProvince',val)
|
||||
if(val){
|
||||
this.senderCountryCode = val.countryCode;
|
||||
}
|
||||
},
|
||||
//收件省份变化
|
||||
onChangeRecieverProvince(val){
|
||||
console.log('val++++++',val)
|
||||
if(val){
|
||||
this.recieverCountryCode = val.countryCode;
|
||||
}
|
||||
this.handleCalcDestSite();
|
||||
},
|
||||
//初始化选中省份的国家
|
||||
initCountryCode(){
|
||||
if(this.form.sender){
|
||||
this.senderCountryCode = this.form.sender.country;
|
||||
}
|
||||
if(this.form.reciever){
|
||||
this.recieverCountryCode = this.form.reciever.country;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user