Kaynağa Gözat

添加缓存

lex 10 ay önce
ebeveyn
işleme
a8796da8f7

+ 49 - 35
src/views/activation-code/instrument-registration/new-index.tsx

@@ -107,6 +107,7 @@ export default defineComponent({
       provinceCode: null,
       cityCode: null,
       regionCode: null,
+      areaPopupIndex: null as any,
 
       showPicker: false,
       areaList: [] as any,
@@ -283,41 +284,51 @@ export default defineComponent({
       forms.classList = classList;
       getAreaList();
 
-      // let localForm: any = localStorage.getItem('activationRegistration-form');
-      // if (localForm) {
-      //   localForm = JSON.parse(localForm);
-
-      //   studentInfo.phone = localForm.phone;
-      //   studentInfo.nickname = localForm.nickname;
-      //   studentInfo.gender = localForm.gender;
-      //   forms.schoolAreaId = localForm.school;
-      //   forms.gradeNumText = localForm.gradeNumText;
-      //   forms.provinceCode = localForm.provinceCode;
-      // }
-
-      // // 页面离开之前保存数据
-      // window.addEventListener('beforeunload', function (event) {
-      //   // 缓存数据到 localStorage
-      //   localStorage.setItem(
-      //     'activationRegistration-form',
-      //     JSON.stringify({
-      //       phone: studentInfo.phone,
-      //       name: studentInfo.nickname,
-      //       gender: studentInfo.gender,
-      //       schoolAreaId: forms.schoolAreaId,
-      //       gradeNumText: forms.gradeNumText,
-      //       schoolName: forms.schoolName,
-      //       areaName: forms.areaName,
-      //       provinceCode: forms.provinceCode,
-      //       cityCode: forms.cityCode,
-      //       regionCode: forms.regionCode,
-      //       currentClassText: forms.currentClassText,
-      //       currentGradeNum: studentInfo.currentGradeNum,
-      //       currentClass: studentInfo.currentClass,
-      //       code: studentInfo.password
-      //     })
-      //   );
-      // });
+      let localForm: any = localStorage.getItem('activationRegistration-form');
+      if (localForm) {
+        localForm = JSON.parse(localForm);
+
+        studentInfo.phone = localForm.phone;
+        studentInfo.nickname = localForm.name;
+        studentInfo.gender = localForm.gender;
+        forms.schoolAreaId = localForm.schoolAreaId;
+        forms.gradeNumText = localForm.gradeNumText;
+        forms.schoolName = localForm.schoolName;
+        forms.areaName = localForm.areaName;
+        forms.provinceCode = localForm.provinceCode;
+        forms.cityCode = localForm.cityCode;
+        forms.regionCode = localForm.regionCode;
+        forms.currentClassText = localForm.currentClassText;
+        studentInfo.currentGradeNum = localForm.currentGradeNum;
+        studentInfo.currentClass = localForm.currentClass;
+
+        if (forms.cityCode && forms.regionCode && forms.provinceCode) {
+          getSchoolAreaList();
+        }
+      }
+
+      // 页面离开之前保存数据
+      window.addEventListener('beforeunload', function (event) {
+        // 缓存数据到 localStorage
+        localStorage.setItem(
+          'activationRegistration-form',
+          JSON.stringify({
+            phone: studentInfo.phone,
+            name: studentInfo.nickname,
+            gender: studentInfo.gender,
+            schoolAreaId: forms.schoolAreaId,
+            gradeNumText: forms.gradeNumText,
+            schoolName: forms.schoolName,
+            areaName: forms.areaName,
+            provinceCode: forms.provinceCode,
+            cityCode: forms.cityCode,
+            regionCode: forms.regionCode,
+            currentClassText: forms.currentClassText,
+            currentGradeNum: studentInfo.currentGradeNum,
+            currentClass: studentInfo.currentClass
+          })
+        );
+      });
     });
 
     return () => (
@@ -392,6 +403,8 @@ export default defineComponent({
                 modelValue={forms.areaName}
                 onClick={() => {
                   forms.showPicker = true;
+                  forms.areaPopupIndex =
+                    forms.regionCode || forms.cityCode || forms.provinceCode;
                 }}
               />
               <Field
@@ -635,6 +648,7 @@ export default defineComponent({
           round
           class={'popupBottomSearch'}>
           <Area
+            v-model={forms.areaPopupIndex}
             areaList={forms.areaList}
             onCancel={() => (forms.showPicker = false)}
             onConfirm={({ selectedOptions }) => {