From 5f00696dfb25bc90034448ceb634ed1ef256681a Mon Sep 17 00:00:00 2001
From: qiyunfeng-create <1940665526@qq.com>
Date: 星期四, 21 八月 2025 21:13:35 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/xiehe_website

---
 src/views/personalCenter/userInfo.vue |  689 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 356 insertions(+), 333 deletions(-)

diff --git a/src/views/personalCenter/userInfo.vue b/src/views/personalCenter/userInfo.vue
index c4d4e9b..d0d83b2 100644
--- a/src/views/personalCenter/userInfo.vue
+++ b/src/views/personalCenter/userInfo.vue
@@ -8,7 +8,9 @@
           <div class="info-box flex">
             <span class="label">鐢ㄦ埛鍚嶏細</span>
             <span class="text">{{ userStore?.userInfo.name }}</span>
-            <span class="change-info hover" @click="changeUserInfo('password')">淇敼瀵嗙爜</span>
+            <span class="change-info hover" @click="changeUserInfo('password')"
+              >淇敼瀵嗙爜</span
+            >
           </div>
           <div class="info-box flex">
             <span class="label">寰俊璁よ瘉:</span>
@@ -25,16 +27,16 @@
             }}</span>
             <span class="text no" v-else>鏈粦瀹�</span>
             <span class="change-info hover" @click="changeUserInfo('phone')">{{
-              userStore?.userInfo?.phoneNumber ? '鏇存崲鎵嬫満鍙�' : '缁戝畾'
+              userStore?.userInfo?.phoneNumber ? "鏇存崲鎵嬫満鍙�" : "缁戝畾"
             }}</span>
           </div>
           <div class="info-box flex">
             <span class="label">閭锛�</span>
             <span class="text">{{
-              userStore?.userInfo?.Email ? userStore.userInfo?.Email : '--'
+              userStore?.userInfo?.Email ? userStore.userInfo?.Email : "--"
             }}</span>
             <span class="change-info hover" @click="changeUserInfo('email')">{{
-              userStore?.userInfo?.Email ? '鏇存崲閭' : '缁戝畾閭'
+              userStore?.userInfo?.Email ? "鏇存崲閭" : "缁戝畾閭"
             }}</span>
           </div>
         </div>
@@ -56,7 +58,10 @@
         <div class="item-title flex jc-sb">
           <span>鏁欏笀璁よ瘉</span>
           <div>
-            <span class="change-info hover" v-if="teacherState == ''" @click="showTeacherDialog()"
+            <span
+              class="change-info hover"
+              v-if="teacherState == ''"
+              @click="showTeacherDialog()"
               >璁よ瘉</span
             >
             <span
@@ -104,7 +109,11 @@
       destroy-on-close
       v-model="userInfoDialog"
       :title="
-        changeType == 'email' ? '鏇存崲閭' : changeType == 'password' ? '淇敼瀵嗙爜' : '鏇存崲鎵嬫満鍙�'
+        changeType == 'email'
+          ? '鏇存崲閭'
+          : changeType == 'password'
+          ? '淇敼瀵嗙爜'
+          : '鏇存崲鎵嬫満鍙�'
       "
       width="500"
       class="myDialogs"
@@ -154,10 +163,10 @@
               >
                 {{
                   countDown > 0
-                    ? '楠岃瘉鐮�(' + countDown + 's)'
-                    : changeType == 'email'
-                      ? '鑾峰彇閭楠岃瘉鐮�'
-                      : '鑾峰彇鐭俊楠岃瘉鐮�'
+                    ? "楠岃瘉鐮�(" + countDown + "s)"
+                    : changeType == "email"
+                    ? "鑾峰彇閭楠岃瘉鐮�"
+                    : "鑾峰彇鐭俊楠岃瘉鐮�"
                 }}
               </el-button>
             </div>
@@ -170,7 +179,11 @@
               placeholder="璇疯緭鍏�8-16浣嶆柊瀵嗙爜,涓斾笉鑳戒负绾暟瀛�"
             />
           </el-form-item>
-          <el-form-item label="纭瀵嗙爜锛�" prop="confirmPassword" v-if="changeType == 'password'">
+          <el-form-item
+            label="纭瀵嗙爜锛�"
+            prop="confirmPassword"
+            v-if="changeType == 'password'"
+          >
             <el-input
               type="password"
               v-model="userInfoForm.confirmPassword"
@@ -183,7 +196,11 @@
       <template #footer>
         <span class="myDialogs-footer">
           <el-button @click="closeUserInfoDialog(userFormRef)">鍙栨秷</el-button>
-          <el-button type="primary" @click="confirmInfo(userFormRef)" :loading="subLoading">
+          <el-button
+            type="primary"
+            @click="confirmInfo(userFormRef)"
+            :loading="subLoading"
+          >
             纭畾
           </el-button>
         </span>
@@ -244,9 +261,9 @@
           <li v-for="item in integralRecord.recordList" :key="item.key" class="body">
             <span class="label">{{ item.type }}</span>
             <span class="value" :class="item.value > 0 ? 'yes' : 'no'">{{
-              item.value > 0 ? '+' + item.value : item.value
+              item.value > 0 ? "+" + item.value : item.value
             }}</span>
-            <span>{{ item.createDate ? item.createDate : '-' }}</span>
+            <span>{{ item.createDate ? item.createDate : "-" }}</span>
           </li>
           <li class="total" v-if="integralRecord.recordList.length > 0">
             <span class="label">鎬昏</span>
@@ -271,260 +288,261 @@
 </template>
 
 <script setup lang="ts">
-import { reactive, ref, inject, onMounted, watch } from 'vue'
-import type { FormInstance, FormRules } from 'element-plus'
+import { reactive, ref, inject, onMounted, watch } from "vue";
+import type { FormInstance, FormRules } from "element-plus";
 // import verify from '@/components/sliderImg/component/verify.vue'
 // import '@/components/sliderImg/sliderImg.js'
 // import '@/components/sliderImg/sliderImg.css'
-import { ElMessage } from 'element-plus'
-import tool from '@/assets/js/toolClass.js'
-// import { useUserStore } from '@/store'
+import { ElMessage } from "element-plus";
+import tool from "@/assets/js/toolClass.js";
+import { useUserStore } from "@/store";
 // import wxlogin from 'vue-wxlogin'
-// import teacherCertification from '@/views/components/teacherCertification.vue'
-// import login from '@/layout/components/login.vue'
-// const userStore = useUserStore()
-import { useRoute } from 'vue-router'
-import moment from 'moment'
-const route = useRoute()
-const MG: any = inject('MG')
-const config: any = inject('config')
+import teacherCertification from "./teacherCertification.vue";
+import login from '@/layout/components/login.vue'
+const userStore = useUserStore();
+import { useRoute } from "vue-router";
+import moment from "moment";
+const route = useRoute();
+const MG: any = inject("MG");
+const config: any = inject("config");
 
 const validatePhone = (rule: any, value: any, callback: any) => {
-  if (value === '') {
-    callback(new Error('璇疯緭鍏ヨ仈绯荤數璇�'))
+  if (value === "") {
+    callback(new Error("璇疯緭鍏ヨ仈绯荤數璇�"));
   } else {
     if (!config.reg_tel.test(value)) {
-      callback(new Error('璇疯緭鍏ユ纭牸寮忕殑鐢佃瘽'))
+      callback(new Error("璇疯緭鍏ユ纭牸寮忕殑鐢佃瘽"));
     }
-    callback()
+    callback();
   }
-}
+};
 const validateEmail = (rule: any, value: any, callback: any) => {
-  let myreg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/
-  if (value === '') {
-    callback(new Error('璇疯緭鍏ョ數瀛愰偖绠�'))
+  let myreg = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
+  if (value === "") {
+    callback(new Error("璇疯緭鍏ョ數瀛愰偖绠�"));
   } else {
     if (!myreg.test(value)) {
-      callback(new Error('璇疯緭鍏ユ纭牸寮忕殑鐢靛瓙閭'))
+      callback(new Error("璇疯緭鍏ユ纭牸寮忕殑鐢靛瓙閭"));
     }
-    callback()
+    callback();
   }
-}
+};
 
 const validatePassword = (rule: any, value: any, callback: any) => {
-  let myreg = /^(?!^\d+$)(?!^[a-zA-Z]+$)(?!^\W+$)[a-zA-Z\d\W]{8,16}$/
-  if (value === '') {
-    callback(new Error('璇疯緭鍏ュ瘑鐮�'))
+  let myreg = /^(?!^\d+$)(?!^[a-zA-Z]+$)(?!^\W+$)[a-zA-Z\d\W]{8,16}$/;
+  if (value === "") {
+    callback(new Error("璇疯緭鍏ュ瘑鐮�"));
   } else {
     if (!myreg.test(value)) {
-      callback(new Error('璇疯緭鍏ユ纭牸寮忕殑瀵嗙爜锛�8-16浣�,涓斾笉鑳戒负绾暟瀛�'))
+      callback(new Error("璇疯緭鍏ユ纭牸寮忕殑瀵嗙爜锛�8-16浣�,涓斾笉鑳戒负绾暟瀛�"));
     }
-    callback()
+    callback();
   }
-}
+};
 
-// onMounted(() => {
-//   getWechatAuthenticationState()
-//   getIntegral()
-//   if (localStorage.getItem(config.tokenKey)) {
-//     getUserRole()
-//   }
-// })
+onMounted(() => {
+  getWechatAuthenticationState();
+  getIntegral();
+  if (localStorage.getItem(config.tokenKey)) {
+    getUserRole();
+  }
+});
 
 // watch(route, () => {
 //   bindWeChat()
 // })
-let subLoading = ref(false)
+let subLoading = ref(false);
 //鐢ㄦ埛淇℃伅
-let weChatState = ref(false)
+let weChatState = ref(false);
 const userInfo = reactive({
-  userType: '',
+  userType: "",
   integral: 0,
-})
+});
 //鍩虹淇℃伅
-const userInfoDialog = ref(false)
-let changeType = ref('password')
-const imgCode = ref<string>() // 鍥惧舰楠岃瘉鐮乽rl
-let countDown = ref(0)
-// function changeUserInfo(type) {
-//   changeType.value = type
-//   if (type == 'password') {
-//     if (userStore.userInfo?.phoneNumber) {
-//       getImgCapcha()
-//       userInfoDialog.value = true
-//     } else {
-//       ElMessage({
-//         message: '淇敼瀵嗙爜闇�鐭俊楠岃瘉,璇风粦瀹氭墜鏈哄彿鍚庡啀淇敼瀵嗙爜锛�',
-//         type: 'warning'
-//       })
-//     }
-//   } else {
-//     getImgCapcha()
-//     userInfoDialog.value = true
-//   }
-// }
-// const getImgCapcha = () => {
-//   MG.identity.getImgCode().then((res) => {
-//     imgCode.value = 'data:image/png;base64,' + res
-//   })
-// }
+const userInfoDialog = ref(false);
+let changeType = ref("password");
+const imgCode = ref<string>(); // 鍥惧舰楠岃瘉鐮乽rl
+let countDown = ref(0);
 
-const userFormRef = ref<FormInstance>()
+const changeUserInfo = (type) => {
+  changeType.value = type;
+  if (type == "password") {
+    if (userStore.userInfo?.phoneNumber) {
+      getImgCapcha();
+      userInfoDialog.value = true;
+    } else {
+      ElMessage({
+        message: "淇敼瀵嗙爜闇�鐭俊楠岃瘉,璇风粦瀹氭墜鏈哄彿鍚庡啀淇敼瀵嗙爜锛�",
+        type: "warning",
+      });
+    }
+  } else {
+    getImgCapcha();
+    userInfoDialog.value = true;
+  }
+};
+const getImgCapcha = () => {
+  MG.identity.getImgCode().then((res) => {
+    imgCode.value = "data:image/png;base64," + res;
+  });
+};
+
+const userFormRef = ref<FormInstance>();
 const userInfoForm = reactive({
-  phone: '',
-  email: '',
-  captcha: '',
-  code: '',
-  password: '',
-  confirmPassword: '',
-})
-const formDisabled = ref(false)
+  phone: "",
+  email: "",
+  captcha: "",
+  code: "",
+  password: "",
+  confirmPassword: "",
+});
+const formDisabled = ref(false);
 const userFormRules = reactive<FormRules<userInfoForm>>({
-  phone: [{ required: true, validator: validatePhone, trigger: 'blur' }],
-  email: [{ required: true, validator: validateEmail, trigger: 'blur' }],
+  phone: [{ required: true, validator: validatePhone, trigger: "blur" }],
+  email: [{ required: true, validator: validateEmail, trigger: "blur" }],
   captcha: [
-    { required: true, message: '鍥惧舰楠岃瘉鐮佷笉鑳戒负绌�', trigger: 'blur' },
-    { min: 4, max: 4, message: '璇疯緭鍏� 4 浣嶉獙璇佺爜', trigger: 'blur' },
+    { required: true, message: "鍥惧舰楠岃瘉鐮佷笉鑳戒负绌�", trigger: "blur" },
+    { min: 4, max: 4, message: "璇疯緭鍏� 4 浣嶉獙璇佺爜", trigger: "blur" },
   ],
-  code: [{ required: true, message: '楠岃瘉鐮佷笉鑳戒负绌�', trigger: 'blur' }],
-  password: [{ required: true, validator: validatePassword, trigger: 'blur' }],
-  confirmPassword: [{ required: true, message: '纭瀵嗙爜涓嶈兘涓虹┖', trigger: 'blur' }],
-})
+  code: [{ required: true, message: "楠岃瘉鐮佷笉鑳戒负绌�", trigger: "blur" }],
+  password: [{ required: true, validator: validatePassword, trigger: "blur" }],
+  confirmPassword: [{ required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }],
+});
 
 const getVerifyCode = async () => {
-  sliderImgDialogVisable.value = true
-}
+  sliderImgDialogVisable.value = true;
+};
 
 // 楠岃瘉鐮佸�掕鏃�
 function getSecond(time: number) {
-  let timer: ReturnType<typeof setInterval> | null = null
+  let timer: ReturnType<typeof setInterval> | null = null;
   if (!timer) {
-    countDown.value = time
+    countDown.value = time;
     timer = setInterval(() => {
-      countDown.value--
+      countDown.value--;
       if (countDown.value == 0) {
-        if (timer) clearInterval(timer)
-        timer = null
+        if (timer) clearInterval(timer);
+        timer = null;
       }
-    }, 1000)
+    }, 1000);
   }
 }
 
 const closeUserInfoDialog = (formEl: FormInstance | undefined) => {
-  if (!formEl) return
-  formEl.resetFields()
-  countDown.value = 0
-  userInfoDialog.value = false
-}
+  if (!formEl) return;
+  formEl.resetFields();
+  countDown.value = 0;
+  userInfoDialog.value = false;
+};
 const confirmInfo = async (formEl: FormInstance | undefined) => {
-  if (!formEl) return
+  if (!formEl) return;
   await formEl.validate((valid, fields) => {
     if (valid) {
-      subLoading.value = true
-      if (changeType.value == 'password') {
+      subLoading.value = true;
+      if (changeType.value == "password") {
         if (userInfoForm.password != userInfoForm.confirmPassword) {
           ElMessage({
-            message: '涓ゆ瀵嗙爜杈撳叆涓嶄竴鑷�',
-            type: 'warning',
-          })
-          return false
+            message: "涓ゆ瀵嗙爜杈撳叆涓嶄竴鑷�",
+            type: "warning",
+          });
+          return false;
         }
         let query = {
           phoneNumber: userInfoForm.phone,
           phoneCaptcha: userInfoForm.code,
           password: userInfoForm.password,
-        }
+        };
         MG.identity.changePasswordByMobilePhone(query).then((res) => {
           if (res) {
             ElMessage({
-              message: '瀵嗙爜閲嶇疆鎴愬姛锛�',
-              type: 'success',
-            })
-            userInfoDialog.value = false
+              message: "瀵嗙爜閲嶇疆鎴愬姛锛�",
+              type: "success",
+            });
+            userInfoDialog.value = false;
           } else {
             ElMessage({
-              message: '瀵嗙爜閲嶇疆澶辫触锛岃濉啓姝g‘鐨勯獙璇佺爜銆�',
-              type: 'error',
-            })
+              message: "瀵嗙爜閲嶇疆澶辫触锛岃濉啓姝g‘鐨勯獙璇佺爜銆�",
+              type: "error",
+            });
           }
-          subLoading.value = false
-        })
-      } else if (changeType.value == 'phone') {
+          subLoading.value = false;
+        });
+      } else if (changeType.value == "phone") {
         let query = {
           phoneNumber: userInfoForm.phone,
           phoneCaptcha: userInfoForm.code,
-        }
+        };
         MG.identity.userSetPhoneNumber(query).then((res) => {
-          if (res == '楠岃瘉鐮佽繃鏈熸垨閿欒') {
+          if (res == "楠岃瘉鐮佽繃鏈熸垨閿欒") {
             ElMessage({
-              message: res + ',璇风◢鍚庨噸璇�',
-              type: 'error',
-            })
-          } else if (res == '姝ゆ墜鏈哄彿鐮佸凡琚叾瀹冭处鍙风粦瀹�') {
+              message: res + ",璇风◢鍚庨噸璇�",
+              type: "error",
+            });
+          } else if (res == "姝ゆ墜鏈哄彿鐮佸凡琚叾瀹冭处鍙风粦瀹�") {
             ElMessage({
-              message: res + ',璇锋洿鎹㈠叾浠栨墜鏈哄彿銆�',
-              type: 'error',
-            })
+              message: res + ",璇锋洿鎹㈠叾浠栨墜鏈哄彿銆�",
+              type: "error",
+            });
           } else {
             ElMessage({
               message: res,
-              type: 'success',
-            })
+              type: "success",
+            });
             userStore.setUserInfo({
               ...userStore.userInfo,
               phoneNumber: userInfoForm.phone,
-            })
-            userInfoDialog.value = false
+            });
+            userInfoDialog.value = false;
           }
-          subLoading.value = false
-        })
-      } else if (changeType.value == 'email') {
+          subLoading.value = false;
+        });
+      } else if (changeType.value == "email") {
         let query = {
           eMail: userInfoForm.email,
           captcha: userInfoForm.code,
-        }
+        };
 
         MG.identity.bindingEmail(query).then((res) => {
-          if (res == '楠岃瘉鐮佽繃鏈�') {
+          if (res == "楠岃瘉鐮佽繃鏈�") {
             ElMessage({
-              message: res + ',璇风◢鍚庨噸璇�',
-              type: 'error',
-            })
-          } else if (res == '姝ら偖绠卞凡琚叾瀹冭处鍙风粦瀹�') {
+              message: res + ",璇风◢鍚庨噸璇�",
+              type: "error",
+            });
+          } else if (res == "姝ら偖绠卞凡琚叾瀹冭处鍙风粦瀹�") {
             ElMessage({
-              message: res + ',璇锋洿鎹㈠叾浠栭偖绠便��',
-              type: 'error',
-            })
-          } else if (res == '楠岃瘉鐮佹棤鏁�') {
+              message: res + ",璇锋洿鎹㈠叾浠栭偖绠便��",
+              type: "error",
+            });
+          } else if (res == "楠岃瘉鐮佹棤鏁�") {
             ElMessage({
               message: res,
-              type: 'error',
-            })
+              type: "error",
+            });
           } else {
             ElMessage({
               message: res,
-              type: 'success',
-            })
+              type: "success",
+            });
             userStore.setUserInfo({
               ...userStore.userInfo,
               Email: userInfoForm.email,
-            })
-            userInfoDialog.value = false
+            });
+            userInfoDialog.value = false;
           }
-          subLoading.value = false
-        })
+          subLoading.value = false;
+        });
       }
     } else {
-      subLoading.value = false
+      subLoading.value = false;
     }
-  })
-}
+  });
+};
 // 婊戝姩楠岃瘉
-const sliderImgDialogVisable = ref<boolean>(false)
+const sliderImgDialogVisable = ref<boolean>(false);
 const loginImgVerify = (code: string) => {
-  userInfoForm.captcha = code
-  sliderImgDialogVisable.value = false
-  if (changeType.value == 'phone' || changeType.value == 'password') {
+  userInfoForm.captcha = code;
+  sliderImgDialogVisable.value = false;
+  if (changeType.value == "phone" || changeType.value == "password") {
     MG.identity
       .getPhoneCode({
         phoneNumber: userInfoForm.phone,
@@ -532,21 +550,21 @@
         appRefCode: config.appRefCode,
       })
       .then((res: any) => {
-        if (res == '楠岃瘉鐮佸彂閫佹垚鍔�') {
+        if (res == "楠岃瘉鐮佸彂閫佹垚鍔�") {
           ElMessage({
             message: res,
-            type: 'success',
-          })
+            type: "success",
+          });
           // 寮�鍚煭淇¢獙璇佸�掕鏃�
-          getSecond(60)
+          getSecond(60);
         } else {
           ElMessage({
             message: res,
-            type: 'error',
-          })
+            type: "error",
+          });
         }
-      })
-  } else if (changeType.value == 'email') {
+      });
+  } else if (changeType.value == "email") {
     MG.identity
       .getEmailCode({
         sendEmail: userInfoForm.email,
@@ -556,50 +574,50 @@
       .then((res) => {
         if (res == true) {
           ElMessage({
-            message: '閭欢宸插彂閫�',
-            type: 'success',
-          })
+            message: "閭欢宸插彂閫�",
+            type: "success",
+          });
         } else {
           ElMessage({
-            message: '閭欢鍙戦�佸け璐�',
-            type: 'error',
-          })
+            message: "閭欢鍙戦�佸け璐�",
+            type: "error",
+          });
         }
-      })
+      });
   }
-}
+};
 //寰俊璁よ瘉
 let wxLogin = reactive({
-  appid: 'wx5cfe8b007a3c6f8c',
-  scope: 'snsapi_login',
-  redirectURL: encodeURIComponent(config.requestCtx + '/home/#/personalCenter'),
-})
+  appid: "wx5cfe8b007a3c6f8c",
+  scope: "snsapi_login",
+  redirectURL: encodeURIComponent(config.requestCtx + "/home/#/personalCenter"),
+});
 const getWechatAuthenticationState = () => {
   MG.identity.checkBuildingWeChat({}).then((res: any) => {
     if (res) {
-      weChatState.value = true
+      weChatState.value = true;
     } else {
-      weChatState.value = false
+      weChatState.value = false;
     }
-  })
-}
-const weChartDialog = ref(false)
+  });
+};
+const weChartDialog = ref(false);
 function goBindWeChat() {
-  window.location.href = `https://open.weixin.qq.com/connect/qrconnect?appid=${wxLogin.appid}&scope=${wxLogin.scope}&redirect_uri=${wxLogin.redirectURL}&state=WeChatScanningCodeBind`
+  window.location.href = `https://open.weixin.qq.com/connect/qrconnect?appid=${wxLogin.appid}&scope=${wxLogin.scope}&redirect_uri=${wxLogin.redirectURL}&state=WeChatScanningCodeBind`;
 }
 
 //缁戝畾寰俊
 const bindWeChat = () => {
-  var url = window.location.href
-  if (url.indexOf('WeChatScanningCodeBind') > -1) {
-    var querys = url.substring(url.indexOf('?') + 1).split('&')
-    var result = {}
+  var url = window.location.href;
+  if (url.indexOf("WeChatScanningCodeBind") > -1) {
+    var querys = url.substring(url.indexOf("?") + 1).split("&");
+    var result = {};
     for (var i = 0; i < querys.length; i++) {
-      var temp = querys[i].split('=')
+      var temp = querys[i].split("=");
       if (temp.length < 2) {
-        result[temp[0]] = ''
+        result[temp[0]] = "";
       } else {
-        result[temp[0]] = temp[1]
+        result[temp[0]] = temp[1];
       }
     }
     if (result && result.code) {
@@ -610,153 +628,162 @@
         .then((res) => {
           if (res) {
             ElMessage({
-              message: '缁戝畾鎴愬姛!',
-              type: 'success',
-            })
-            getWechatAuthenticationState()
-            weChartDialog.value = false
+              message: "缁戝畾鎴愬姛!",
+              type: "success",
+            });
+            getWechatAuthenticationState();
+            weChartDialog.value = false;
           } else {
             ElMessage({
-              message: '缁戝畾澶辫触锛岃寰俊宸茶缁戝畾锛�',
-              type: 'error',
-            })
+              message: "缁戝畾澶辫触锛岃寰俊宸茶缁戝畾锛�",
+              type: "error",
+            });
           }
-        })
+        });
     }
   }
-}
+};
 
 //鐢ㄦ埛绫诲瀷
-const loginRef = ref()
+const loginRef = ref();
 // const userTypeDialog = ref(false)
-const userTypeActive = ref('')
-const teacherType = ref('')
+const userTypeActive = ref("");
+const teacherType = ref("");
 const teacherList = ref([
   {
-    value: 'vocSchoolTeachers',
-    label: '涓亴鏁欏笀',
+    value: "vocSchoolTeachers",
+    label: "涓亴鏁欏笀",
   },
   {
-    value: 'vocCollegeTeachers',
-    label: '楂樿亴鏁欏笀',
+    value: "vocCollegeTeachers",
+    label: "楂樿亴鏁欏笀",
   },
   {
-    value: 'ordUniversityTeachers',
-    label: '鏈鏁欏笀',
+    value: "ordUniversityTeachers",
+    label: "鏈鏁欏笀",
   },
   {
-    value: 'primarySchoolTeachers',
-    label: '涓皬瀛︽暀甯�',
+    value: "primarySchoolTeachers",
+    label: "涓皬瀛︽暀甯�",
   },
   {
-    value: 'kindergarteTeachers',
-    label: '骞煎効鍥暀甯�',
+    value: "kindergarteTeachers",
+    label: "骞煎効鍥暀甯�",
   },
-])
+]);
 const userTypeList = ref([
   {
-    value: 'Teacher',
-    label: '鏁欏笀',
+    value: "Teacher",
+    label: "鏁欏笀",
     checked: false,
   },
   {
-    value: 'Student',
-    label: '瀛︾敓',
+    value: "Student",
+    label: "瀛︾敓",
     checked: false,
   },
   {
-    value: 'otherReaders',
-    label: '鍏朵粬璇昏��',
+    value: "otherReaders",
+    label: "鍏朵粬璇昏��",
     checked: false,
   },
-])
+]);
 
 // 淇敼鐢ㄦ埛绫诲瀷璋冪敤娉ㄥ唽鏃剁敤鎴蜂俊鎭~鍐欏脊绐�
 const updateUserInfo = () => {
-  loginRef.value.updateUserInfo()
-  loginRef.value.signUp()
-}
+  loginRef.value.updateUserInfo();
+  loginRef.value.signUp();
+};
 
 //鏁欏笀璁よ瘉
-let teacherDialog = ref(false) //寮圭獥
-let loading = ref(false)
-const teacherState = ref(null)
-const reasonTxt = ref('')
-const userId = ref()
+let teacherDialog = ref(false); //寮圭獥
+let loading = ref(false);
+const teacherState = ref(null);
+const reasonTxt = ref("");
+const userId = ref();
 
-const dialogReason = ref(false)
+const dialogReason = ref(false);
 //鏁欏笀璁よ瘉寮圭獥
 function showTeacherDialog() {
-  teacherDialog.value = true
+  teacherDialog.value = true;
 }
 
 const dialogChange = (val: any) => {
-  getTeacherInfo()
+  getTeacherInfo();
   if (val == false) {
-    teacherDialog.value = false
+    teacherDialog.value = false;
   } else {
-    teacherDialog.value = true
+    teacherDialog.value = true;
   }
-}
+};
 
 // 淇敼瀵嗙爜寮圭獥鎵撳紑
 const openChangePassword = () => {
-  if (changeType.value == 'password' && userStore.userInfo?.phoneNumber) {
-    userInfoForm.phone = userStore.userInfo?.phoneNumber
+  if (changeType.value == "password" && userStore.userInfo?.phoneNumber) {
+    userInfoForm.phone = userStore.userInfo?.phoneNumber;
   }
-}
+};
 
 // 鑾峰彇鐧诲綍鐢ㄦ埛韬唤
 function getUserRole() {
-  loading.value = true
+  loading.value = true;
   MG.identity.getCurrentAppUser().then((res: any) => {
     if (res) {
       if (res.lastLoginTime) {
-        localStorage.setItem('lastLoginTime', res.lastLoginTime)
+        localStorage.setItem("lastLoginTime", res.lastLoginTime);
       }
       //鑾峰彇鐢ㄦ埛绫诲瀷
-      let userTypeData = res.infoList.find((item: any) => item.type == 'userType')
+      let userTypeData = res.infoList.find((item: any) => item.type == "userType");
       if (userTypeData) {
-        userTypeActive.value = JSON.parse(userTypeData.data).userType
-        if (userTypeActive.value !== 'Student' && userTypeActive.value !== 'otherReaders') {
-          const index = userTypeList.value.findIndex((item) => item.value === 'Teacher')
+        userTypeActive.value = JSON.parse(userTypeData.data).userType;
+        if (
+          userTypeActive.value !== "Student" &&
+          userTypeActive.value !== "otherReaders"
+        ) {
+          const index = userTypeList.value.findIndex((item) => item.value === "Teacher");
           if (index !== -1) {
-            userTypeList.value[index].checked = true
-            teacherType.value = JSON.parse(userTypeData.data).userType
+            userTypeList.value[index].checked = true;
+            teacherType.value = JSON.parse(userTypeData.data).userType;
           }
           userInfo.userType =
-            teacherList.value.find((item) => item.value === userTypeActive.value)?.label ?? ''
+            teacherList.value.find((item) => item.value === userTypeActive.value)
+              ?.label ?? "";
         } else {
-          const index = userTypeList.value.findIndex((item) => item.value === userTypeActive.value)
+          const index = userTypeList.value.findIndex(
+            (item) => item.value === userTypeActive.value
+          );
           if (index !== -1) {
-            userTypeList.value[index].checked = true
+            userTypeList.value[index].checked = true;
           }
           userInfo.userType =
-            userTypeList.value.find((item) => item.value === userTypeActive.value)?.label ?? ''
+            userTypeList.value.find((item) => item.value === userTypeActive.value)
+              ?.label ?? "";
         }
       } else {
-        userInfo.userType = '-'
+        userInfo.userType = "-";
       }
-      getTeacherInfo()
-      userId.value = res.userId
-      let customUser = res.infoList.find((item: any) => item.type == 'userInfo')
-      let teacherRole = res.roleLinks.find((item: any) => item.role.refCode == 'teacher')
-      let teacherInfos = res.infoList.find((item: any) => item.type == 'teacherInfo')
-      let wechatInfo = res.infoList.find((item: any) => item.type == 'WeChat')
-      let studentInfo = res.infoList.find((item: any) => item.type == 'Default')
-      let phoneInfo = res.secretList.find((item: any) => item.type == 'MobilePhone')
-      let emailInfo = res.secretList.find((item: any) => item.type == 'EMail')
+      getTeacherInfo();
+      userId.value = res.userId;
+      let customUser = res.infoList.find((item: any) => item.type == "userInfo");
+      let teacherRole = res.roleLinks.find((item: any) => item.role.refCode == "teacher");
+      let teacherInfos = res.infoList.find((item: any) => item.type == "teacherInfo");
+      let wechatInfo = res.infoList.find((item: any) => item.type == "WeChat");
+      let studentInfo = res.infoList.find((item: any) => item.type == "Default");
+      let phoneInfo = res.secretList.find((item: any) => item.type == "MobilePhone");
+      let emailInfo = res.secretList.find((item: any) => item.type == "EMail");
       const userData = {
-        userName: customUser && customUser.data ? JSON.parse(customUser.data).name : '',
-        school: customUser && customUser.data ? JSON.parse(customUser.data).school : '',
-        cityCode: customUser && customUser.data ? JSON.parse(customUser.data).cityCode : '',
-        address: customUser && customUser.data ? JSON.parse(customUser.data).address : '',
-        userType: userTypeData && userTypeData.data ? JSON.parse(userTypeData.data).userType : '',
-      }
+        userName: customUser && customUser.data ? JSON.parse(customUser.data).name : "",
+        school: customUser && customUser.data ? JSON.parse(customUser.data).school : "",
+        cityCode:
+          customUser && customUser.data ? JSON.parse(customUser.data).cityCode : "",
+        address: customUser && customUser.data ? JSON.parse(customUser.data).address : "",
+        userType:
+          userTypeData && userTypeData.data ? JSON.parse(userTypeData.data).userType : "",
+      };
       if (teacherRole && teacherInfos) {
         if (JSON.parse(teacherInfos.data).email && !emailInfo) {
-          userInfoForm.email = JSON.parse(teacherInfos.data).email
-          formDisabled.value = true
+          userInfoForm.email = JSON.parse(teacherInfos.data).email;
+          formDisabled.value = true;
         }
         userStore.setUserInfo({
           ...userData,
@@ -764,19 +791,19 @@
           phoneNumber: phoneInfo?.credential,
           Email: emailInfo ? emailInfo.credential : JSON.parse(teacherInfos.data).email,
           icon: wechatInfo?.icon,
-          role: 'Teacher',
+          role: "Teacher",
           roleId: teacherRole.role.id,
           userId: res.userId,
-        })
+        });
       } else if (wechatInfo) {
         userStore.setUserInfo({
           ...userData,
           ...wechatInfo,
           phoneNumber: phoneInfo?.credential,
           Email: emailInfo?.credential,
-          role: 'Student',
+          role: "Student",
           userId: res.userId,
-        })
+        });
       } else if (studentInfo) {
         userStore.setUserInfo({
           ...userData,
@@ -784,12 +811,12 @@
           icon: wechatInfo?.icon,
           phoneNumber: phoneInfo?.credential,
           Email: emailInfo?.credential,
-          role: 'Student',
+          role: "Student",
           userId: res.userId,
-        })
+        });
       }
     }
-  })
+  });
 }
 
 //鏁欏笀淇℃伅
@@ -797,56 +824,56 @@
   const data = {
     start: 0,
     size: 10,
-    topicIdOrRefCode: 'teacherRoleApproval',
+    topicIdOrRefCode: "teacherRoleApproval",
     appRefCode: config.appRefCode,
     sort: {
-      type: 'Desc',
-      field: 'CreateDate',
+      type: "Desc",
+      field: "CreateDate",
     },
-  }
+  };
   MG.ugc.getTopicMessageList(data).then((res) => {
     try {
-      const resData = res.datas.find((i) => i.appUserCreator.userId == userId.value)
+      const resData = res.datas.find((i) => i.appUserCreator.userId == userId.value);
       if (resData) {
-        teacherState.value = resData.state
+        teacherState.value = resData.state;
         if (resData.feedBack != null) {
-          reasonTxt.value = JSON.parse(resData.feedBack).reason
+          reasonTxt.value = JSON.parse(resData.feedBack).reason;
         }
       } else {
-        teacherState.value = ''
+        teacherState.value = "";
       }
-      loading.value = false
+      loading.value = false;
     } catch (error) {
-      loading.value = false
+      loading.value = false;
     }
-  })
+  });
 }
 
 //鍘熷洜鏌ョ湅
 const lookReason = () => {
-  dialogReason.value = true
-}
+  dialogReason.value = true;
+};
 
 //绉垎
 function getIntegral() {
   MG.store
     .getUserWallet({
-      type: 'integral',
+      type: "integral",
     })
     .then((res) => {
-      userInfo.integral = res.balance
-    })
+      userInfo.integral = res.balance;
+    });
 }
 
 const integralRecord = reactive({
   recordDialog: false,
   recordList: [],
-})
+});
 
 // 绉垎璁板綍寮圭獥
 function recordDialog() {
-  integralRecord.recordDialog = true
-  getRecordList()
+  integralRecord.recordDialog = true;
+  getRecordList();
 }
 
 //鑾峰彇绉垎璁板綍
@@ -856,38 +883,38 @@
       Size: 999,
       Start: 0,
       sort: {
-        type: 'Desc',
-        field: 'CreateDate',
+        type: "Desc",
+        field: "CreateDate",
       },
-      type: 'integral',
+      type: "integral",
     })
     .then((res) => {
-      console.log(res, '绉垎璁板綍')
+      console.log(res, "绉垎璁板綍");
       if (res.datas.length > 0) {
         res.datas.forEach((element) => {
-          element.createDate = moment(element.createDate).format('YYYY-MM-DD HH:mm:ss')
-          if (element.refType == 'sign') {
-            element.type = '姣忔棩鐧诲綍'
+          element.createDate = moment(element.createDate).format("YYYY-MM-DD HH:mm:ss");
+          if (element.refType == "sign") {
+            element.type = "姣忔棩鐧诲綍";
           }
-          if (element.refType == 'Reward') {
-            element.type = '涓婁紶璧勬簮濂栧姳'
+          if (element.refType == "Reward") {
+            element.type = "涓婁紶璧勬簮濂栧姳";
           }
-          if (element.refType == 'OrderCoinBonus') {
-            element.type = '璁㈠崟鏀粯濂栧姳'
+          if (element.refType == "OrderCoinBonus") {
+            element.type = "璁㈠崟鏀粯濂栧姳";
           }
-          if (element.refType == 'Order' && element.value < 0) {
-            element.type = '璁㈠崟鏀粯鎶垫墸'
+          if (element.refType == "Order" && element.value < 0) {
+            element.type = "璁㈠崟鏀粯鎶垫墸";
           }
-          if (element.refType == 'Order' && element.value > 0) {
-            element.type = '璁㈠崟鍙栨秷閫�鍥�'
+          if (element.refType == "Order" && element.value > 0) {
+            element.type = "璁㈠崟鍙栨秷閫�鍥�";
           }
-          if (element.refType == 'AdminRecharge') {
-            element.type = '绠$悊鍛樺厖鍊�'
+          if (element.refType == "AdminRecharge") {
+            element.type = "绠$悊鍛樺厖鍊�";
           }
-        })
-        integralRecord.recordList = res.datas
+        });
+        integralRecord.recordList = res.datas;
       }
-    })
+    });
 }
 </script>
 <style lang="less" scoped>
@@ -896,9 +923,7 @@
     line-height: 20px;
     padding: 0 10px;
     border-left: 3px solid #019e58;
-    font-family:
-      Microsoft YaHei UI,
-      Microsoft YaHei UI;
+    font-family: Microsoft YaHei UI, Microsoft YaHei UI;
     font-weight: 400;
     font-size: 16px;
   }
@@ -908,9 +933,7 @@
 
     .info-box {
       padding: 10px 0;
-      font-family:
-        Microsoft YaHei UI,
-        Microsoft YaHei UI;
+      font-family: Microsoft YaHei UI, Microsoft YaHei UI;
       font-weight: 400;
       font-size: 14px;
       color: #333333;

--
Gitblit v1.9.1