From afe2fbc5b0375c7c06853fc981deec74e04fd630 Mon Sep 17 00:00:00 2001 From: 杨磊 <505174330@qq.com> Date: 星期日, 24 八月 2025 11:30:40 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/xiehe_website --- 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