From 49a435043b0b1a289a24606e35253365d7ab3956 Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期一, 25 八月 2025 17:51:57 +0800 Subject: [PATCH] 首页、及教学出版样式修改 --- src/views/personalCenter/teacherCertification.vue | 569 +++++++++++++++++++++++++++----------------------------- 1 files changed, 275 insertions(+), 294 deletions(-) diff --git a/src/views/personalCenter/teacherCertification.vue b/src/views/personalCenter/teacherCertification.vue index 65747f0..833f624 100644 --- a/src/views/personalCenter/teacherCertification.vue +++ b/src/views/personalCenter/teacherCertification.vue @@ -35,7 +35,7 @@ <span class="wait" v-else>寰呰璇�</span> </el-form-item> <el-form-item label="瀛︽牎锛�" prop="schoolName"> - <span v-if="!editState">{{ teacherInfo.schoolName || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.schoolName || '-' }}</span> <el-input v-else v-model="teacherInfo.schoolName" @@ -44,7 +44,7 @@ /> </el-form-item> <el-form-item label="鐪熷疄濮撳悕锛�" prop="fullName"> - <span v-if="!editState">{{ teacherInfo.fullName || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.fullName || '-' }}</span> <el-input v-else v-model="teacherInfo.fullName" @@ -53,12 +53,8 @@ /> </el-form-item> <el-form-item label="鑱岀О锛�"> - <span v-if="!editState">{{ teacherInfo.positionalTitle || "-" }}</span> - <el-select - v-else - v-model="teacherInfo.positionalTitle" - placeholder="璇烽�夋嫨鑱岀О" - > + <span v-if="!editState">{{ teacherInfo.positionalTitle || '-' }}</span> + <el-select v-else v-model="teacherInfo.positionalTitle" placeholder="璇烽�夋嫨鑱岀О"> <el-option v-for="item in teachPosts" :key="item.value" @@ -68,7 +64,7 @@ </el-select> </el-form-item> <el-form-item label="浠绘暀璇剧▼锛�" prop="courseName"> - <span v-if="!editState">{{ teacherInfo.courseName || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.courseName || '-' }}</span> <el-input v-else v-model="teacherInfo.courseName" @@ -77,7 +73,7 @@ /> </el-form-item> <el-form-item label="鎵嬫満鍙凤細" prop="phone"> - <span v-if="!editState">{{ teacherInfo.phone || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.phone || '-' }}</span> <el-input v-else v-model="teacherInfo.phone" @@ -86,7 +82,7 @@ /> </el-form-item> <el-form-item label="搴ф満锛�" prop="telphone"> - <span v-if="!editState">{{ teacherInfo.telphone || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.telphone || '-' }}</span> <el-input v-else v-model="teacherInfo.telphone" @@ -95,7 +91,7 @@ /> </el-form-item> <el-form-item label="閭锛�" prop="email"> - <span v-if="!editState">{{ teacherInfo.email || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.email || '-' }}</span> <el-input v-else v-model="teacherInfo.email" @@ -104,7 +100,7 @@ /> </el-form-item> <el-form-item label="璇︾粏鍦板潃锛�" prop="detailedAddress"> - <span v-if="!editState">{{ teacherInfo.detailedAddress || "-" }}</span> + <span v-if="!editState">{{ teacherInfo.detailedAddress || '-' }}</span> <el-input v-else v-model="teacherInfo.detailedAddress" @@ -182,11 +178,7 @@ <div class="footer-box"> <span class="myDialog-footer" v-if="!loading && editState"> <el-button @click="closeDialog(teacherFormRef)"> 鍙栨秷</el-button> - <el-button - type="primary" - @click="submitBtn(teacherFormRef)" - :loading="subLoading" - > + <el-button type="primary" @click="submitBtn(teacherFormRef)" :loading="subLoading"> 鎻愪氦</el-button > </span> @@ -210,12 +202,7 @@ </template> </el-dialog> <!-- 鏌ョ湅鍘熷洜 --> - <el-dialog - align-center - :close-on-click-modal="false" - v-model="dialogReason" - title="椹冲洖鍘熷洜" - > + <el-dialog align-center :close-on-click-modal="false" v-model="dialogReason" title="椹冲洖鍘熷洜"> <div class="reason" v-if="reasonTxt"> {{ reasonTxt }} </div> @@ -225,23 +212,23 @@ </template> <script setup lang="ts"> -import { reactive, ref, watch, defineEmits, inject, onMounted } from "vue"; -import type { FormInstance, FormRules } from "element-plus"; -import { ElMessage } from "element-plus"; -import tool from "@/assets/js/toolClass.js"; -import { getTopicMsgCmsItemFile } from "@/assets/js/middleGround/tool.js"; -import { useUserStore } from "@/store"; -const userStore = useUserStore(); -const MG: any = inject("MG"); -const config: any = inject("config"); +import { reactive, ref, watch, defineEmits, inject, onMounted } from 'vue' +import type { FormInstance, FormRules } from 'element-plus' +import { ElMessage } from 'element-plus' +import tool from '@/assets/js/toolClass.js' +import { getTopicMsgCmsItemFile } from '@/assets/js/middleGround/tool.js' +import { useUserStore } from '@/store' +const userStore = useUserStore() +const MG: any = inject('MG') +const config: any = inject('config') // 璇佷欢楠岃瘉 const valiCertificate = (rule: any, value: any, callback: any) => { if (fileList.value.length == 0) { - callback(new Error("璇蜂笂浼犵浉鍏宠瘉浠�")); + callback(new Error('璇蜂笂浼犵浉鍏宠瘉浠�')) } else { - callback(); + callback() } -}; +} // const validateTelphone = (rule: any, value: any, callback: any) => { // if (value !== "" && !config.reg_telphone.test(value)) { @@ -251,128 +238,125 @@ // }; 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 props = defineProps({ isShow: Boolean, -}); +}) -let teacherDialog = ref(false); //寮圭獥 -let loading = ref(false); -let subLoading = ref(false); -const teachPosts = ref([]); +let teacherDialog = ref(false) //寮圭獥 +let loading = ref(false) +let subLoading = ref(false) +const teachPosts = ref([]) const teacherInfo = reactive({ - schoolName: "", //瀛︽牎鍚嶇О - fullName: "", //濮撳悕 - positionalTitle: "", //鑱岀О - courseName: "", //浠昏鏁欑▼ - phone: "", //鑱旂郴鐢佃瘽 - telphone: "", //搴ф満 - email: "", //鑱旂郴閭 - detailedAddress: "", //閫氳鍦板潃 + schoolName: '', //瀛︽牎鍚嶇О + fullName: '', //濮撳悕 + positionalTitle: '', //鑱岀О + courseName: '', //浠昏鏁欑▼ + phone: '', //鑱旂郴鐢佃瘽 + telphone: '', //搴ф満 + email: '', //鑱旂郴閭 + detailedAddress: '', //閫氳鍦板潃 relevantCertificates: [], //鐩稿叧璇佷欢 - state: "", //瀹℃牳鐘舵�侀粯璁ゅ緟瀹℃牳 + state: '', //瀹℃牳鐘舵�侀粯璁ゅ緟瀹℃牳 agree: false, -}); -const topicMessageList = ref([]); -const topicId = ref(); -const worksInfo = ref([]); -const userId = ref(); -const teacherFormRef = ref<FormInstance>(); +}) +const topicMessageList = ref([]) +const topicId = ref() +const worksInfo = ref([]) +const userId = ref() +const teacherFormRef = ref<FormInstance>() interface TeacherInfo { - schoolName: string; - fullName: string; - courseName: string; - telphone: string; - phone: string; - email: string; - detailedAddress: string; - relevantCertificates: string[]; + schoolName: string + fullName: string + courseName: string + telphone: string + phone: string + email: string + detailedAddress: string + relevantCertificates: string[] } const teacherRules = reactive<FormRules<TeacherInfo>>({ - schoolName: [{ required: true, message: "瀛︽牎鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }], - fullName: [{ required: true, message: "鐪熷疄濮撳悕涓嶈兘涓虹┖", trigger: "blur" }], - courseName: [{ required: true, message: "浠绘暀璇剧▼涓嶈兘涓虹┖", trigger: "blur" }], + schoolName: [{ required: true, message: '瀛︽牎鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }], + fullName: [{ required: true, message: '鐪熷疄濮撳悕涓嶈兘涓虹┖', trigger: 'blur' }], + courseName: [{ required: true, message: '浠绘暀璇剧▼涓嶈兘涓虹┖', trigger: 'blur' }], // telphone: [{ validator: validateTelphone, trigger: "blur" }], - phone: [{ required: true, validator: validatePhone, trigger: "blur" }], - email: [{ required: true, validator: validateEmail, trigger: "blur" }], - detailedAddress: [{ required: true, message: "璇︾粏鍦板潃涓嶈兘涓虹┖", trigger: "blur" }], - relevantCertificates: [ - { required: true, validator: valiCertificate, trigger: "change" }, - ], -}); -const fileList = ref([]); -const editState = ref<boolean>(true); + phone: [{ required: true, validator: validatePhone, trigger: 'blur' }], + email: [{ required: true, validator: validateEmail, trigger: 'blur' }], + detailedAddress: [{ required: true, message: '璇︾粏鍦板潃涓嶈兘涓虹┖', trigger: 'blur' }], + relevantCertificates: [{ required: true, validator: valiCertificate, trigger: 'change' }], +}) +const fileList = ref([]) +const editState = ref<boolean>(true) watch(props, (newValue) => { // 缁熺洃鍚琾rops鐨勫�煎彉鍖栵紝鍔ㄦ�佷慨鏀筰sShow鐨勫�� - teacherDialog.value = newValue.isShow; + teacherDialog.value = newValue.isShow if (teacherDialog.value) { - getpositionalTitle(); - getAgreement(); + getpositionalTitle() + getAgreement() if (localStorage.getItem(config.tokenKey)) { - getUserRole(); + getUserRole() } } -}); +}) // 鑾峰彇鑱岀О function getpositionalTitle() { const data = { - refCodes: ["positionalTitle"], - }; + refCodes: ['positionalTitle'], + } MG.store.getProductTypeField(data).then((res) => { try { - const list = res[0]; - const options = JSON.parse(list.config).option; - teachPosts.value = options; + const list = res[0] + const options = JSON.parse(list.config).option + teachPosts.value = options } catch (error) { - teachPosts.value = []; + teachPosts.value = [] } - }); + }) } // 鑾峰彇鐧诲綍鐢ㄦ埛韬唤 function getUserRole() { - loading.value = true; + loading.value = true MG.identity.getCurrentAppUser().then((res) => { if (res) { - getType(); - userId.value = res.userId; - let userInfo = res.infoList.find((item: any) => item.type == "userInfo"); - let userTypeObj = res.infoList.find((item: any) => item.type == "userType"); + getType() + userId.value = res.userId + let userInfo = res.infoList.find((item: any) => item.type == 'userInfo') + let userTypeObj = res.infoList.find((item: any) => item.type == 'userType') const userData = { - userName: userInfo && userInfo.data ? JSON.parse(userInfo.data).name : "", - school: userInfo && userInfo.data ? JSON.parse(userInfo.data).school : "", - address: userInfo && userInfo.data ? JSON.parse(userInfo.data).address : "", - userType: - userTypeObj && userTypeObj.data ? JSON.parse(userTypeObj.data).userType : "", - }; - let teacherRole = res.roleLinks.find((item) => item.role.refCode == "teacher"); - let teacherInfos = res.infoList.find((item) => item.type == "teacherInfo"); - let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); - let studentInfo = res.infoList.find((item) => item.type == "Default"); - let phoneInfo = res.secretList.find((item) => item.type == "MobilePhone"); - let emailInfo = res.secretList.find((item) => item.type == "EMail"); + userName: userInfo && userInfo.data ? JSON.parse(userInfo.data).name : '', + school: userInfo && userInfo.data ? JSON.parse(userInfo.data).school : '', + address: userInfo && userInfo.data ? JSON.parse(userInfo.data).address : '', + userType: userTypeObj && userTypeObj.data ? JSON.parse(userTypeObj.data).userType : '', + } + let teacherRole = res.roleLinks.find((item) => item.role.refCode == 'teacher') + let teacherInfos = res.infoList.find((item) => item.type == 'teacherInfo') + let wechatInfo = res.infoList.find((item) => item.type == 'WeChat') + let studentInfo = res.infoList.find((item) => item.type == 'Default') + let phoneInfo = res.secretList.find((item) => item.type == 'MobilePhone') + let emailInfo = res.secretList.find((item) => item.type == 'EMail') if (teacherRole && teacherInfos) { userStore.setUserInfo({ ...userData, @@ -380,22 +364,22 @@ 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) { if (!studentInfo?.fullName) { - teacherInfo.fullName = userStore.userInfo!.userName; + teacherInfo.fullName = userStore.userInfo!.userName } userStore.setUserInfo({ ...userData, @@ -403,9 +387,9 @@ icon: wechatInfo?.icon, phoneNumber: phoneInfo?.credential, Email: emailInfo?.credential, - role: "Student", + role: 'Student', userId: res.userId, - }); + }) } else if (phoneInfo) { userStore.setUserInfo({ ...userData, @@ -413,321 +397,313 @@ name: phoneInfo?.credential, icon: phoneInfo?.icon, phoneNumber: phoneInfo?.credential, - role: "Student", + role: 'Student', userId: res.userId, - }); + }) } - teacherInfo.phone = userStore.userInfo!.phoneNumber; - teacherInfo.schoolName = userStore.userInfo!.school; - teacherInfo.detailedAddress = userStore.userInfo!.address; + teacherInfo.phone = userStore.userInfo!.phoneNumber + teacherInfo.schoolName = userStore.userInfo!.school + teacherInfo.detailedAddress = userStore.userInfo!.address } - }); + }) } function getType() { const data = { - refCodes: ["teacherCertification"], - }; + refCodes: ['teacherCertification'], + } MG.resource.getCmsTypeByRefCode(data).then((res) => { - worksInfo.value = res[0].cmsTypeLinks[0].children; - newGetTeacherInfo(); - }); + worksInfo.value = res[0].cmsTypeLinks[0].children + newGetTeacherInfo() + }) } // 鏂囦欢涓婁紶 function fileUpload(file) { - console.log(file, 2); + console.log(file, 2) return new Promise((resolve, reject) => { - const isJPG = file.file.type === "image/jpeg" || file.file.type === "image/png"; - const isLt2M = (0.5 * file.file.size) / 1024 / 1024 < 0.5; + const isJPG = file.file.type === 'image/jpeg' || file.file.type === 'image/png' + const isLt2M = (0.5 * file.file.size) / 1024 / 1024 < 0.5 if (!isJPG) { - ElMessage.error("涓婁紶鏂囦欢鍙兘鏄� jpg/png 鏍煎紡!"); - return reject(); + ElMessage.error('涓婁紶鏂囦欢鍙兘鏄� jpg/png 鏍煎紡!') + return reject() } if (!isLt2M) { - ElMessage.error("涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 500KB!"); - return reject(); + ElMessage.error('涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃 500KB!') + return reject() } - const FileName = file.file.name.split(".")[0]; - const Extension = file.file.name.split(".")[1]; - const FileType = file.file.type; - let size = 1024; + const FileName = file.file.name.split('.')[0] + const Extension = file.file.name.split('.')[1] + const FileType = file.file.type + let size = 1024 tool .getFileMd5(file.file, size * 1024) .then((e) => { - console.log(e, 2); + console.log(e, 2) if (!fileList.value.find((item) => item.md5 == e)) { - const imgData = new FormData(); - imgData.append("Md5", e); - imgData.append("FileName", FileName); - imgData.append("Extension", Extension); - imgData.append("FileType", FileType); - imgData.append("MetaData", null); - imgData.append("file", file.file); + const imgData = new FormData() + imgData.append('Md5', e) + imgData.append('FileName', FileName) + imgData.append('Extension', Extension) + imgData.append('FileType', FileType) + imgData.append('MetaData', null) + imgData.append('file', file.file) MG.file.upload(imgData).then(() => { fileList.value.push({ md5: e, - linkType: "LinkFile", - linkProtectType: "Public", + linkType: 'LinkFile', + linkProtectType: 'Public', url: config.requestCtx + `/file/GetPreViewImage?md5=` + e, - }); - }); + }) + }) } else { - ElMessage.error("褰撳墠鏂囦欢宸蹭笂浼狅紝璇峰嬁閲嶅鎿嶄綔锛�"); + ElMessage.error('褰撳墠鏂囦欢宸蹭笂浼狅紝璇峰嬁閲嶅鎿嶄綔锛�') } }) .catch((e) => { - console.error(e); - }); - }); + console.error(e) + }) + }) } // 璇佷欢鍒犻櫎 function handleRemove(file) { for (let i = 0; i < fileList.value.length; i++) { if (fileList.value[i].md5 == file.md5) { - fileList.value.splice(i, 1); + fileList.value.splice(i, 1) } } } // 鐩戝惉鏂囦欢鍒楄〃鍙樺寲锛屽悓姝ヤ慨鏀瑰睍绀哄垪琛� -const showFileList = ref([]); +const showFileList = ref([]) watch( fileList, (newValue) => { showFileList.value = newValue.map( - (item) => config.requestCtx + `/file/GetPreViewImage?md5=` + item.md5 - ); + (item) => config.requestCtx + `/file/GetPreViewImage?md5=` + item.md5, + ) }, - { immediate: true, deep: true } -); + { immediate: true, deep: true }, +) // 鍏抽棴寮规锛屽洖璋冪埗灞傛柟娉� -const emit = defineEmits(["dialogChange"]); +const emit = defineEmits(['dialogChange']) const closeDialog = (formEl: FormInstance | undefined) => { - if (!formEl) return; - formEl.resetFields(); - teacherDialog.value = false; - emit("dialogChange", teacherDialog.value); -}; + if (!formEl) return + formEl.resetFields() + teacherDialog.value = false + emit('dialogChange', teacherDialog.value) +} // 鏁欏笀鍗忚 -const dialogVisibleTecher = ref(false); -const protocolTxt = ref(""); +const dialogVisibleTecher = ref(false) +const protocolTxt = ref('') const getAgreement = () => { let query = { - path: "protocol", + path: 'protocol', fields: { content: [], }, - }; + } MG.resource.getItem(query).then((res) => { try { - const data = res.datas.find( - (e) => e.refCode == "teacherCertificationAgreement" - ); - protocolTxt.value = data ? data.content : "鏆傛棤鍗忚"; + const data = res.datas.find((e) => e.refCode == 'teacherCertificationAgreement') + protocolTxt.value = data ? data.content : '鏆傛棤鍗忚' } catch (error) { - protocolTxt.value = "鏆傛棤鍗忚"; + protocolTxt.value = '鏆傛棤鍗忚' } - }); -}; + }) +} //鏁欏笀淇℃伅 function newGetTeacherInfo() { 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 { - fileList.value = []; - const resData = res.datas.find((i) => i.appUserCreator.userId === userId.value); + fileList.value = [] + const resData = res.datas.find((i) => i.appUserCreator.userId === userId.value) if (resData) { - if (resData.state == "WaitAudit") { - editState.value = false; + if (resData.state == 'WaitAudit') { + editState.value = false } else { - editState.value = true; + editState.value = true } - let info = getTopicMsgCmsItemFile(worksInfo.value, resData.cmsItemDataList); - teacherInfo.fullName = info.fullName; - teacherInfo.schoolName = info.schoolName; - teacherInfo.positionalTitle = info.positionalTitle; - teacherInfo.courseName = info.courseName; - teacherInfo.phone = info.phone; - teacherInfo.telphone = info.telphone ? info.telphone : ""; - teacherInfo.email = info.email; - teacherInfo.detailedAddress = info.detailedAddress ? info.detailedAddress : ""; - teacherInfo.relevantCertificates = info.relevantCertificates; - teacherInfo.agree = true; - teacherInfo.state = resData.state; - topicId.value = resData.id; - topicMessageList.value = resData.cmsItemDataList; + let info = getTopicMsgCmsItemFile(worksInfo.value, resData.cmsItemDataList) + teacherInfo.fullName = info.fullName + teacherInfo.schoolName = info.schoolName + teacherInfo.positionalTitle = info.positionalTitle + teacherInfo.courseName = info.courseName + teacherInfo.phone = info.phone + teacherInfo.telphone = info.telphone ? info.telphone : '' + teacherInfo.email = info.email + teacherInfo.detailedAddress = info.detailedAddress ? info.detailedAddress : '' + teacherInfo.relevantCertificates = info.relevantCertificates + teacherInfo.agree = true + teacherInfo.state = resData.state + topicId.value = resData.id + topicMessageList.value = resData.cmsItemDataList if (resData.feedBack != null) { - reasonTxt.value = JSON.parse(resData.feedBack).reason; + reasonTxt.value = JSON.parse(resData.feedBack).reason } if (teacherInfo.relevantCertificates.length > 0) { - if (typeof teacherInfo.relevantCertificates == "object") { + if (typeof teacherInfo.relevantCertificates == 'object') { teacherInfo.relevantCertificates.forEach((ele) => { let imgObj = { md5: ele.file.md5, - linkType: "LinkFile", - linkProtectType: "Public", + linkType: 'LinkFile', + linkProtectType: 'Public', url: config.requestCtx + `/file/GetPreViewImage?md5=` + ele.file.md5, - }; - fileList.value.push(imgObj); - }); + } + fileList.value.push(imgObj) + }) } else { let imgObj = { md5: teacherInfo.relevantCertificates, - linkType: "LinkFile", - linkProtectType: "Public", + linkType: 'LinkFile', + linkProtectType: 'Public', url: - config.requestCtx + - `/file/GetPreViewImage?md5=` + - teacherInfo.relevantCertificates, - }; - fileList.value.push(imgObj); + config.requestCtx + `/file/GetPreViewImage?md5=` + teacherInfo.relevantCertificates, + } + fileList.value.push(imgObj) } } - loading.value = false; + loading.value = false } else { - loading.value = false; + loading.value = false } } catch (error) { - loading.value = false; + loading.value = false } - }); + }) } //鏁欏笀璁よ瘉鎻愪氦 const submitBtn = async (formEl: FormInstance | undefined) => { - if (!formEl) return; + if (!formEl) return await formEl.validate((valid, fields) => { if (valid) { if (teacherInfo.agree) { - subLoading.value = true; + subLoading.value = true if (topicMessageList.value.length > 0) { let dataRequests = tool.UpdateworksDataBytool( worksInfo.value, topicMessageList.value, teacherInfo, - fileList.value - ); + fileList.value, + ) const data = { - description: "", - icon: "", + description: '', + icon: '', id: topicId.value, - topicIdOrRefCode: "teacherRoleApproval", - name: teacherInfo.fullName + "", - content: "", - state: "WaitAudit", - type: "teacherRegister", + topicIdOrRefCode: 'teacherRoleApproval', + name: teacherInfo.fullName + '', + content: '', + state: 'WaitAudit', + type: 'teacherRegister', newDataRequests: dataRequests.newData, updateDataRequests: dataRequests.updateData, delDataRequest: { ids: [], }, - }; - let basicInfo = JSON.parse(JSON.stringify(teacherInfo)); - delete basicInfo.worksInfo; - delete basicInfo.state; + } + let basicInfo = JSON.parse(JSON.stringify(teacherInfo)) + delete basicInfo.worksInfo + delete basicInfo.state const userInfo = { requests: [ { data: JSON.stringify(basicInfo), - name: teacherInfo.fullName + "", - type: "newTeacherInfo", + name: teacherInfo.fullName + '', + type: 'newTeacherInfo', }, ], - }; + } MG.identity.setAppUserInfo(userInfo).then((res) => { if (res) { MG.ugc.updateTopicMessage(data).then(() => { if (res !== false) { ElMessage({ - message: "鎻愪氦鎴愬姛锛佽绛夊緟瀹℃牳...", - type: "success", - }); - teacherDialog.value = false; - subLoading.value = false; - newGetTeacherInfo(); + message: '鎻愪氦鎴愬姛锛佽绛夊緟瀹℃牳...', + type: 'success', + }) + teacherDialog.value = false + subLoading.value = false + newGetTeacherInfo() } else { - subLoading.value = false; + subLoading.value = false } - }); + }) } else { - subLoading.value = true; + subLoading.value = true } - }); + }) } else { const data = { - topicIdOrRefCode: "teacherRoleApproval", - name: teacherInfo.fullName + "", - content: "", - state: "WaitAudit", - type: "teacherRegister", - cmsTypeRefCode: "teacherCertification", - newDataListRequest: tool.worksDataBytool( - worksInfo.value, - teacherInfo, - fileList.value - ), - }; + topicIdOrRefCode: 'teacherRoleApproval', + name: teacherInfo.fullName + '', + content: '', + state: 'WaitAudit', + type: 'teacherRegister', + cmsTypeRefCode: 'teacherCertification', + newDataListRequest: tool.worksDataBytool(worksInfo.value, teacherInfo, fileList.value), + } - let basicInfo = JSON.parse(JSON.stringify(teacherInfo)); - delete basicInfo.worksInfo; - delete basicInfo.state; + let basicInfo = JSON.parse(JSON.stringify(teacherInfo)) + delete basicInfo.worksInfo + delete basicInfo.state const userInfo = { requests: [ { data: JSON.stringify(basicInfo), - name: teacherInfo.fullName + "", - type: "teacherInfo", + name: teacherInfo.fullName + '', + type: 'teacherInfo', }, ], - }; + } MG.identity.setAppUserInfo(userInfo).then((res) => { MG.ugc.newTopicMessage(data).then(() => { if (res !== false) { ElMessage({ - message: "鎻愪氦鎴愬姛锛佽绛夊緟瀹℃牳...", - type: "success", - }); - teacherDialog.value = false; - newGetTeacherInfo(); - subLoading.value = false; + message: '鎻愪氦鎴愬姛锛佽绛夊緟瀹℃牳...', + type: 'success', + }) + teacherDialog.value = false + newGetTeacherInfo() + subLoading.value = false } else { - subLoading.value = false; + subLoading.value = false } - }); - }); + }) + }) } } else { ElMessage({ - message: "璇峰悓鎰忋�婃暀甯堣璇佹湇鍔℃潯娆俱�嬶紒", - type: "warning", - }); + message: '璇峰悓鎰忋�婃暀甯堣璇佹湇鍔℃潯娆俱�嬶紒', + type: 'warning', + }) } } - }); -}; + }) +} //鍘熷洜鏌ョ湅 -const dialogReason = ref(false); -const reasonTxt = ref(""); +const dialogReason = ref(false) +const reasonTxt = ref('') const lookReason = () => { - dialogReason.value = true; -}; -defineExpose({ getUserRole }); + dialogReason.value = true +} +defineExpose({ getUserRole }) </script> <style lang="less"> .myDialog { @@ -737,7 +713,7 @@ } .body-box { padding: 10px 20px 40px; - height: 80vh; + height: 70vh; overflow-y: auto; } @@ -760,7 +736,7 @@ padding: 15px; border-top: 1px solid #f4f4f4; text-align: right; - height: 63px; + box-sizing: border-box; } .myDialog-footer { @@ -784,6 +760,7 @@ .main { font-weight: bold; text-align: center; + color: #019e58; } } @@ -831,7 +808,7 @@ } .fileList .fileImgBox:hover { - border-color: #019E58; + border-color: #019e58; } .agree-msg { @@ -842,10 +819,14 @@ .agree { margin-left: 5px; + .main { + text-align: center; + color: #019e58; + } } .term { - color: #019E58; + color: #019e58; } } .reason { -- Gitblit v1.9.1