diff --git a/src/views/oms/EmisBaseTools/ProvincePicker1.vue b/src/views/oms/EmisBaseTools/ProvincePicker1.vue
new file mode 100644
index 0000000..2b0e2d5
--- /dev/null
+++ b/src/views/oms/EmisBaseTools/ProvincePicker1.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/oms/emisWaybill/OrderRecord.vue b/src/views/oms/emisWaybill/OrderRecord.vue
index f69b9aa..4192ad5 100644
--- a/src/views/oms/emisWaybill/OrderRecord.vue
+++ b/src/views/oms/emisWaybill/OrderRecord.vue
@@ -87,7 +87,7 @@
@@ -158,7 +158,7 @@
@@ -818,12 +818,12 @@ import TransProductPicker from '@/views/oms/EmisBaseTools/TransProductPicker.vue
import CountryPicker0 from '@/views/oms/EmisBaseTools/CountryPicker.vue';
import CountryPicker1 from '@/views/oms/EmisBaseTools/CountryPicker.vue';
-import ProvincePicker1 from '@/views/oms/EmisBaseTools/ProvincePicker.vue';
+import ProvincePicker1 from '@/views/oms/EmisBaseTools/ProvincePicker1.vue';
import CityPicker1 from '@/views/oms/EmisBaseTools/CityPicker.vue';
import DistrictPicker1 from '@/views/oms/EmisBaseTools/DistrictPicker.vue';
import CountryPicker2 from '@/views/oms/EmisBaseTools/CountryPicker.vue';
-import ProvincePicker2 from '@/views/oms/EmisBaseTools/ProvincePicker.vue';
+import ProvincePicker2 from '@/views/oms/EmisBaseTools/ProvincePicker1.vue';
import CityPicker2 from '@/views/oms/EmisBaseTools/CityPicker.vue';
import DistrictPicker2 from '@/views/oms/EmisBaseTools/DistrictPicker.vue';
@@ -910,6 +910,30 @@ dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
'emis_calc_fee_type','emis_print_type'],
data() {
+ //校验寄件国家地区国家和省份是否匹配
+ 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 {
activeNames:['1','2','3','4','5'],
billCode:null,
@@ -940,6 +964,8 @@ data() {
}
},
lastBillCode: '', // 手动缓存上一次的billCode
+ senderCountryCode:null, // 寄件人省份国家
+ recieverCountryCode:null, // 收件人 省份国家
// 表单校验
rules: {
// billCode: [
@@ -956,7 +982,8 @@ data() {
{ required: true, message: "收货人手机号不能为空", trigger: ["blur",'change'] }
],
country: [
- { required: true, message: "收货人国家不能为空", trigger: ["blur",'change'] }
+ { required: true, message: "收货人国家不能为空", trigger: ["blur",'change'] },
+ { validator: checkRecieverCountryProvince, trigger: ['blur', 'change'] }
],
province: [
{ required: true, message: "收货省不能为空", trigger: ["blur",'change'] }
@@ -982,7 +1009,8 @@ data() {
{ required: true, message: "寄件人手机号不能为空", trigger: ["blur",'change'] }
],
country: [
- { required: true, message: "寄件人国家不能为空", trigger: ["blur",'change'] }
+ { required: true, message: "寄件人国家不能为空", trigger: ["blur",'change'] },
+ { validator: checkSenderCountryProvince, trigger: ['blur', 'change'] }
],
province: [
{ required: true, message: "寄件省不能为空", trigger: ["blur",'change'] }
@@ -1838,6 +1866,15 @@ methods: {
handleCalcSendSite(){
this.calcSendSite();
},
+ // 发货地址省份发生变化
+ onHandleProvinceChange(val){
+ this.senderCountryCode=val.countryCode;
+ this.calcSendSite();
+ // 省份选择后,强制校验国家是否匹配
+ this.$nextTick(() => {
+ this.$refs.form.validateField("sender.country");
+ });
+ },
calcSendSite(){
console.log("===>this.form.pickupMethod===>",this.form.pickupMethod);
@@ -1864,6 +1901,15 @@ methods: {
handleCalcDestSite(){
this.calcDestSite();
},
+ // 接收地址省份发生变化
+ onHandleRecieverProvinceChange(val){
+ this.recieverCountryCode=val.countryCode;
+ this.calcDestSite();
+ // 省份选择后,强制校验国家是否匹配
+ this.$nextTick(() => {
+ this.$refs.form.validateField("reciever.country");
+ });
+ },
calcDestSite(){
let queryParams = {
province:this.form.reciever.province,