From e1f87494b737169c412ca723baf3085cb0c5706e Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期日, 24 八月 2025 11:28:24 +0800
Subject: [PATCH] 课程管理

---
 src/views/personalCenter/userInfo.vue |  667 ++++++++++++++++++++++++++----------------------------
 1 files changed, 322 insertions(+), 345 deletions(-)

diff --git a/src/views/personalCenter/userInfo.vue b/src/views/personalCenter/userInfo.vue
index d0d83b2..9d99205 100644
--- a/src/views/personalCenter/userInfo.vue
+++ b/src/views/personalCenter/userInfo.vue
@@ -8,9 +8,7 @@
           <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>
@@ -27,24 +25,23 @@
             }}</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>
       </div>
-      <div class="content-item">
+      <!-- <div class="content-item">
         <div class="item-title flex jc-sb">
           <span>鐢ㄦ埛绫诲瀷</span>
-          <!-- <span class="change-info hover" @click="userTypeDialog = true">淇敼</span> -->
           <span class="change-info hover" @click="updateUserInfo()">淇敼</span>
         </div>
         <div class="item-box">
@@ -53,15 +50,12 @@
             <span class="text">{{ userInfo.userType }}</span>
           </div>
         </div>
-      </div>
+      </div> -->
       <div class="content-item">
         <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
@@ -109,11 +103,7 @@
       destroy-on-close
       v-model="userInfoDialog"
       :title="
-        changeType == 'email'
-          ? '鏇存崲閭'
-          : changeType == 'password'
-          ? '淇敼瀵嗙爜'
-          : '鏇存崲鎵嬫満鍙�'
+        changeType == 'email' ? '鏇存崲閭' : changeType == 'password' ? '淇敼瀵嗙爜' : '鏇存崲鎵嬫満鍙�'
       "
       width="500"
       class="myDialogs"
@@ -163,10 +153,10 @@
               >
                 {{
                   countDown > 0
-                    ? "楠岃瘉鐮�(" + countDown + "s)"
-                    : changeType == "email"
-                    ? "鑾峰彇閭楠岃瘉鐮�"
-                    : "鑾峰彇鐭俊楠岃瘉鐮�"
+                    ? '楠岃瘉鐮�(' + countDown + 's)'
+                    : changeType == 'email'
+                      ? '鑾峰彇閭楠岃瘉鐮�'
+                      : '鑾峰彇鐭俊楠岃瘉鐮�'
                 }}
               </el-button>
             </div>
@@ -179,11 +169,7 @@
               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"
@@ -196,11 +182,7 @@
       <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>
@@ -261,9 +243,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>
@@ -288,261 +270,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 "./teacherCertification.vue";
+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 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();
+  getWechatAuthenticationState()
+  getIntegral()
   if (localStorage.getItem(config.tokenKey)) {
-    getUserRole();
+    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);
+const userInfoDialog = ref(false)
+let changeType = ref('password')
+const imgCode = ref<string>() // 鍥惧舰楠岃瘉鐮乽rl
+let countDown = ref(0)
 
 const changeUserInfo = (type) => {
-  changeType.value = type;
-  if (type == "password") {
+  changeType.value = type
+  if (type == 'password') {
     if (userStore.userInfo?.phoneNumber) {
-      getImgCapcha();
-      userInfoDialog.value = true;
+      getImgCapcha()
+      userInfoDialog.value = true
     } else {
       ElMessage({
-        message: "淇敼瀵嗙爜闇�鐭俊楠岃瘉,璇风粦瀹氭墜鏈哄彿鍚庡啀淇敼瀵嗙爜锛�",
-        type: "warning",
-      });
+        message: '淇敼瀵嗙爜闇�鐭俊楠岃瘉,璇风粦瀹氭墜鏈哄彿鍚庡啀淇敼瀵嗙爜锛�',
+        type: 'warning',
+      })
     }
   } else {
-    getImgCapcha();
-    userInfoDialog.value = true;
+    getImgCapcha()
+    userInfoDialog.value = true
   }
-};
+}
 const getImgCapcha = () => {
   MG.identity.getImgCode().then((res) => {
-    imgCode.value = "data:image/png;base64," + res;
-  });
-};
+    imgCode.value = 'data:image/png;base64,' + res
+  })
+}
 
-const userFormRef = ref<FormInstance>();
+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,
@@ -550,21 +532,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,
@@ -574,50 +556,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) {
@@ -628,162 +610,153 @@
         .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,
@@ -791,19 +764,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,
@@ -811,12 +784,12 @@
           icon: wechatInfo?.icon,
           phoneNumber: phoneInfo?.credential,
           Email: emailInfo?.credential,
-          role: "Student",
+          role: 'Student',
           userId: res.userId,
-        });
+        })
       }
     }
-  });
+  })
 }
 
 //鏁欏笀淇℃伅
@@ -824,56 +797,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()
 }
 
 //鑾峰彇绉垎璁板綍
@@ -883,38 +856,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>
@@ -923,7 +896,9 @@
     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;
   }
@@ -933,7 +908,9 @@
 
     .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