ali 1 rok temu
rodzic
commit
441a25cc7f

+ 101 - 4
src/components/Widgets/Other/Shop/ShopCompleteInfo/ShopCompleteInfo.vue

@@ -158,6 +158,7 @@ export default {
   mixins: [mixinAuth],
   data: () => ({
     mounted: false,
+    inputDataLoaded: false,
     panel: 'userInfo',
     step: false,
     rulesAccept: false,
@@ -298,6 +299,12 @@ export default {
     ]
   }),
   computed: {
+    isAbroadBirthAddress () {
+      return FormBuilderAssist.getInputsByName(this.inputs, 'is_abroad_birth_address').value
+    },
+    isAbroadLivingAddress () {
+      return FormBuilderAssist.getInputsByName(this.inputs, 'is_abroad_living_address').value
+    },
     mainTitle () {
       if (this.$route.query.source === 'event') {
         return 'ثبت نام در رویداد'
@@ -320,31 +327,118 @@ export default {
     }
   },
   watch: {
+    isAbroadBirthAddress (newValue) {
+      if (!newValue) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'value', 'ایران')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'disable', true)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'options', Provinces)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', true)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'options', [])
+        }
+      } else {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'value', null)
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'disable', false)
+
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'value', null)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+        }
+      }
+    },
+    isAbroadLivingAddress (newValue) {
+      if (!newValue) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'value', 'ایران')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'disable', true)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'options', Provinces)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', true)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'options', [])
+        }
+      } else {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'value', null)
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'disable', false)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'value', null)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
+      }
+    },
     selectedBirthProvince (newValue) {
+      if (this.isAbroadBirthAddress) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'input')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+        return
+      }
+
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedBirthProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+      }
     },
     selectedLivingProvince (newValue) {
+      if (this.isAbroadBirthAddress) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'input')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+        return
+      }
+
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedLivingProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+      }
     }
   },
   mounted () {
@@ -472,6 +566,9 @@ export default {
     },
     afterLoadInputData () {
       this.checkNationalCode()
+      this.$nextTick(() => {
+        this.inputDataLoaded = true
+      })
     },
     checkNationalCode () {
       if (FormBuilderAssist.getInputsByName(this.inputs, 'national_code')?.value) {

+ 7 - 2
src/components/Widgets/Store/Cart/components/step2/cartAddress.vue

@@ -69,6 +69,7 @@ export default {
   data () {
     return {
       addressRadio: 1,
+      inputDataLoaded: false,
       mounted: false,
       dialog: false,
       setAddressLoading: false,
@@ -115,16 +116,17 @@ export default {
   watch: {
     selectedProvince (newValue) {
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.addressInputs, 'city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.addressInputs, 'city', 'disable', true)
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.addressInputs, 'city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.addressInputs, 'city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.addressInputs, 'city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.addressInputs, 'city', 'value', null)
+      }
     }
   },
   mounted() {
@@ -152,6 +154,9 @@ export default {
     },
     setFormData () {
       FormBuilderAssist.setInputValues(this.basket, this.addressInputs)
+      this.$nextTick(() => {
+        this.inputDataLoaded = true
+      })
     }
   }
 }

+ 10 - 2
src/components/Widgets/Team/AdminTeamShow/AdminTeamShow.vue

@@ -91,6 +91,7 @@ export default {
     const classroomId = this.$route.params.classroom_id
     return {
       mounted: false,
+      inputDataLoaded: false,
       team: new Team(),
       entityLoading: true,
       api: APIGateway.team.APIAdresses.byId(teamId),
@@ -405,16 +406,20 @@ export default {
   watch: {
     selectedProvince (newValue) {
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.teamRegistrationListInputs, 'owner__living_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.teamRegistrationListInputs, 'owner__living_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.teamRegistrationListInputs, 'owner__living_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.teamRegistrationListInputs, 'owner__living_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.teamRegistrationListInputs, 'owner__living_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+      }
     }
   },
   mounted () {
@@ -452,6 +457,9 @@ export default {
       this.entityLoading = false
       FormBuilderAssist.setAttributeByName(this.inputs, 'leader', 'value', this.team.leader)
       FormBuilderAssist.setAttributeByName(this.inputs, 'leader', 'selected', this.team.leader_info)
+      this.$nextTick(() => {
+        this.inputDataLoaded = true
+      })
     },
     edit() {
       this.entityLoading = true

+ 101 - 4
src/pages/Admin/User/show.vue

@@ -261,6 +261,7 @@ export default {
     return {
       tab: 'userInfo',
       financialTab: 'invoiceList',
+      inputDataLoaded: false,
       api: APIGateway.user.APIAdresses.byId(userId),
       mounted: false,
       entityIdKey: 'id',
@@ -906,6 +907,12 @@ export default {
     }
   },
   computed: {
+    isAbroadBirthAddress () {
+      return FormBuilderAssist.getInputsByName(this.inputs, 'is_abroad_birth_address').value
+    },
+    isAbroadLivingAddress () {
+      return FormBuilderAssist.getInputsByName(this.inputs, 'is_abroad_living_address').value
+    },
     selectedBirthProvince () {
       return FormBuilderAssist.getInputsByName(this.inputs, 'birth_province').value
     },
@@ -914,31 +921,118 @@ export default {
     }
   },
   watch: {
+    isAbroadBirthAddress (newValue) {
+      if (!newValue) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'value', 'ایران')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'disable', true)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'options', Provinces)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', true)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'options', [])
+        }
+      } else {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'value', null)
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'disable', false)
+
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'value', null)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+        }
+      }
+    },
+    isAbroadLivingAddress (newValue) {
+      if (!newValue) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'value', 'ایران')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'disable', true)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'options', Provinces)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', true)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'options', [])
+        }
+      } else {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'value', null)
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'disable', false)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'value', null)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
+      }
+    },
     selectedBirthProvince (newValue) {
+      if (this.isAbroadBirthAddress) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'input')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+        return
+      }
+
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedBirthProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+      }
     },
     selectedLivingProvince (newValue) {
+      if (this.isAbroadBirthAddress) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'input')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+        return
+      }
+
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedLivingProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+      }
     }
   },
   mounted () {
@@ -955,6 +1049,9 @@ export default {
       // console.log('roles', roles)
       // this.setInputValue('roles', roles)
       // setNewInputData(this.inputs)
+      this.$nextTick(() => {
+        this.inputDataLoaded = true
+      })
     },
     setInputValue (name, value) {
       const inputIndex = this.inputs.findIndex(input => input.name === name)

+ 101 - 4
src/pages/User/Profile/profile.vue

@@ -53,6 +53,7 @@ export default {
   data () {
     return {
       mounted: false,
+      inputDataLoaded: false,
       tab: 'userInfo',
       api: APIGateway.user.APIAdresses.current,
       entityIdKey: 'id',
@@ -189,6 +190,12 @@ export default {
     }
   },
   computed: {
+    isAbroadBirthAddress () {
+      return FormBuilderAssist.getInputsByName(this.inputs, 'is_abroad_birth_address').value
+    },
+    isAbroadLivingAddress () {
+      return FormBuilderAssist.getInputsByName(this.inputs, 'is_abroad_living_address').value
+    },
     selectedBirthProvince () {
       return FormBuilderAssist.getInputsByName(this.inputs, 'birth_province').value
     },
@@ -197,31 +204,118 @@ export default {
     }
   },
   watch: {
+    isAbroadBirthAddress (newValue) {
+      if (!newValue) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'value', 'ایران')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'disable', true)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'options', Provinces)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', true)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'options', [])
+        }
+      } else {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'value', null)
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_country', 'disable', false)
+
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_province', 'value', null)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+        }
+      }
+    },
+    isAbroadLivingAddress (newValue) {
+      if (!newValue) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'value', 'ایران')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'disable', true)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'options', Provinces)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'select')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', true)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'options', [])
+        }
+      } else {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'value', null)
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_country', 'disable', false)
+        if (this.inputDataLoaded) {
+          // province
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_province', 'value', null)
+
+          // city
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'input')
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
+      }
+    },
     selectedBirthProvince (newValue) {
+      if (this.isAbroadBirthAddress) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'type', 'input')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+        return
+      }
+
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedBirthProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'birth_city', 'value', null)
+      }
     },
     selectedLivingProvince (newValue) {
+      if (this.isAbroadBirthAddress) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'type', 'input')
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+        return
+      }
+
       if (!newValue) {
-        // FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
         FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', true)
+        if (this.inputDataLoaded) {
+          FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+        }
         return
       }
 
       const filteredCities = getCitiesOfProvince(this.selectedLivingProvince)
 
-      // FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
       FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'options', filteredCities)
       FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'disable', false)
+      if (this.inputDataLoaded) {
+        FormBuilderAssist.setAttributeByName(this.inputs, 'living_city', 'value', null)
+      }
     }
   },
   mounted() {
@@ -236,6 +330,9 @@ export default {
 
       this.updateGender(responseData, setNewInputData)
       this.updateMaritalStatus(responseData, setNewInputData)
+      this.$nextTick(() => {
+        this.inputDataLoaded = true
+      })
     },
     updateGender (responseData, setNewInputData) {
       // const gender = this.getInputValue('gender')