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