Prechádzať zdrojové kódy

老师账号注册-重新提交

Xiao_123 2 mesiacov pred
rodič
commit
3a13d826ed

+ 2 - 1
src/views/login/flameLogin.vue

@@ -55,7 +55,7 @@
 </template>
 
 <script setup>
-defineOptions({ name: 'login-index' })
+defineOptions({ name: 'login-index' }) 
 import { ref } from 'vue'
 import phoneFrom from '@/components/VerificationCode'
 import { useUserStore } from '@/store/user'
@@ -63,6 +63,7 @@ import { useRouter } from 'vue-router'
 import { useI18n } from '@/hooks/web/useI18n'
 import { getWebContent } from '@/api/common'
 import Snackbar from '@/plugins/snackbar'
+import Confirm from '@/plugins/confirm'
 import navBar from '@/layout/personal/navBar.vue'
 import about from '@/views/about/index.vue'
 import Verify from '@/components/Verifition'

+ 32 - 14
src/views/register/schoolForm.vue

@@ -2,7 +2,9 @@
   <div class="box" style="overflow-x: hidden;" :style="{'background-image': 'url(' + webContent.loginBgUrl + ')'}">
 		<navBar :showLoginBtn="false" class="navBar"></navBar>
 		<div class="content pa-5">
-			<div class="mb-10 mt-5" style="font-size: 22px; font-weight: bold; text-align: center;">学校(老师)注册</div>
+			<div class="mb-10 mt-5" style="font-size: 22px; font-weight: bold; text-align: center;">
+				{{ isUpdate ? '注册信息修改' : '老师注册'}}
+			</div>
 			<CtForm class="mt-5" ref="CtFormRef" :items="formItems">
 				<template #department>
 					<div class="pa-5 mb-3" style="width: 100%; border: 1px dashed #ccc; border-radius: 4px;">
@@ -91,7 +93,7 @@ import { webContentStore } from '@/store/webContent'
 import { getDict } from '@/hooks/web/useDictionaries'
 import Snackbar from '@/plugins/snackbar'
 import navBar from '@/layout/personal/navBar.vue'
-import { schoolRegister } from '@/api/school'
+import { schoolRegister, schoolUpdate } from '@/api/school'
 import { useRouter } from 'vue-router'
 
 const router = useRouter()
@@ -99,7 +101,7 @@ const webContent = webContentStore()
 
 const previewUrl = ref('')
 const showPreview = ref(false)
-const departmentList = ref([{ departmentTitle: '外语系' }, { departmentTitle: '计算机系' }, { departmentTitle: '经济管理系' }])
+const departmentList = ref([{ departmentTitle: '' }])
 const textItem = {
 	type: 'text',
   key: 'departmentTitle',
@@ -109,14 +111,14 @@ const textItem = {
   rules: [v => !!v || '请输入您负责的院系名称']
 }
 
-
+const isUpdate = ref(false)
 const CtFormRef = ref()
 const formItems = ref({
   options: [
     {
       type: 'text',
       key: 'teacherNickname',
-      value: '林老师',
+      value: '',
       label: '昵称 *',
 			col: 6,
       outlined: true,
@@ -124,8 +126,9 @@ const formItems = ref({
     },
     {
       type: 'ifRadio',
-      key: 'sex',
+      key: 'teacherSex',
       value: '1',
+			defaultValue: '1',
       label: '性别 *',
       col: 6,
 			flexStyle: 'ml-5',
@@ -146,7 +149,7 @@ const formItems = ref({
     {
       type: 'text',
       key: 'schoolName',
-      value: '测试学校',
+      value: '',
       label: '所在学校 *',
 			col: 6,
 			flexStyle: 'ml-5',
@@ -156,7 +159,7 @@ const formItems = ref({
 		{
       type: 'text',
       key: 'schoolAdderss',
-      value: '华观路',
+      value: '',
       label: '学校地址',
       outlined: true
     },
@@ -174,35 +177,47 @@ const formItems = ref({
 		{
 			slotName: 'jobImg',
 			key: 'jobImg',
-			value: 'https://menduner.citupro.com:3443/dev/person/1/img/37b12aab617b79d2c0b3d2e851bf941ecbb2882a374364ce1ca1ab4e545997d2.png',
+			value: '',
 			col: 4,
 			rules: [v => !!v || '请上传您的在岗证明图片']
 		},
 		{
 			slotName: 'schoolLegalPersonIdCardImg1',
 			key: 'schoolLegalPersonIdCardImg1',
-			value: 'https://menduner.citupro.com:3443/dev/person/1/img/efe58e15ce8479d42389e94f245335910d417b0d6af70887b84b03643659a3af.png',
+			value: '',
 			col: 4,
 			rules: [v => !!v || '请上传您的身份证正面图片']
 		},
 		{
 			slotName: 'schoolLegalPersonIdCardImg2',
 			key: 'schoolLegalPersonIdCardImg2',
-			value: 'https://menduner.citupro.com:3443/dev/person/1/img/c1e6d4d93ef29bf62e07eec698b8a44a1cf690aa1f5c0d36065f0f2fb1144956.png',
+			value: '',
 			col: 4,
 			rules: [v => !!v || '请上传您的身份证背面图片']
 		}
   ]
 })
 
+const formData = ref({})
 onMounted(async () => {
   await webContent.getSystemWebContent()
 
 	// 获取性别字典数据
-	const sexItem = formItems.value.options.find(e => e.key === 'sex')
+	const sexItem = formItems.value.options.find(e => e.key === 'teacherSex')
 	if (!sexItem || !Object.keys(sexItem).length) return
 	const { data } = await getDict(sexItem.dictTypeName)
 	sexItem.items = data || []
+
+	// 重新提交
+	formData.value = localStorage.getItem('registerSchoolInfo') ? JSON.parse(localStorage.getItem('registerSchoolInfo')) : {}
+	if (formData.value && formData.value.school && formData.value.school?.authStatus === '2') {
+		isUpdate.value = true
+		departmentList.value = formData.value.schoolDepartments || [{ departmentTitle: '' }]
+		formItems.value.options.forEach(item => {
+			if (item.type) item.value = formData.value.school[item.key] || item?.defaultValue
+			if (item.slotName && !item.noParam) item.value = formData.value.schoolQualificaions[item.key]
+		})
+	}
 })
 
 // 图片预览
@@ -249,13 +264,16 @@ const handleSubmit = async () => {
 		},
 		schoolDepartments: departmentList.value
 	}
-	console.log(params, 'submit-query')
+
+	// 修改信息需提交原始数据
+	if (isUpdate.value) params.school = Object.assign(formData.value.school, params.school)
 
 	try {
-		const data = await schoolRegister(params)
+		const data = isUpdate.value ? await schoolUpdate(params) : await schoolRegister(params)
 		console.log(data, 'submit-data提交成功,等待系统管理员审核')
 		Snackbar.success('提交成功,等待系统管理员审核!')
 		localStorage.setItem('registerSchoolInfo', JSON.stringify(data))
+		isUpdate.value = false
 		router.push('/register/school/inReview')
 	} catch {}
 }

+ 13 - 7
src/views/register/schoolInReview.vue

@@ -1,9 +1,8 @@
-<!-- 注册企业进度 -->
 <template>
   <div class="my-5">
-    <v-card class="default-width" elevation="3">
+    <v-card class="default-width" elevation="10">
       <div style="margin: 70px auto; width: 600px;">
-        <!-- 提交企业注册以后跳转显示页面 -->
+        <!-- 提交老师注册以后跳转显示页面 -->
         <div v-if="applyInfo && applyInfo?.school?.authStatus === '0'" class="d-flex flex-column align-center">
           <svg-icon name="submit" size="300"></svg-icon>
           <div><strong class="color-primary font-size-20">已收到您的老师账号注册申请,</strong>审核时间预计在1~3个工作日内,申请结果会以短信方式通知到您的手机上,请注意查收。</div>
@@ -35,9 +34,8 @@
         </div>
 
         <div class="text-center">
-          <!-- 应把登录缓存清空 -->
-          <v-btn class="mt-16 mr-3 buttons" color="primary" to="/flame">回到火苗儿校企</v-btn>
-          <v-btn v-if="applyInfo.status === '2'" class="mt-16 buttons" color="primary" @click="handleConfirm">{{ $t('common.resubmit') }}</v-btn>
+          <v-btn class="mt-16 mr-3 buttons" color="primary" @click="handleBackToFlame">回到火苗儿校企</v-btn>
+          <v-btn v-if="applyInfo?.school?.authStatus === '2'" class="mt-16 buttons" color="primary" @click="handleConfirm">{{ $t('common.resubmit') }}</v-btn>
         </div>
       </div>
     </v-card>
@@ -53,7 +51,9 @@ import Snackbar from '@/plugins/snackbar'
 import { useRouter } from 'vue-router'
 import { getSchoolAuditById } from '@/api/school'
 import { timesTampChange } from '@/utils/date'
+import { useUserStore } from '@/store/user'
 
+const userStore = useUserStore()
 const applyInfo = ref(localStorage.getItem('registerSchoolInfo') ? JSON.parse(localStorage.getItem('registerSchoolInfo')) : {})
 console.log(applyInfo.value, '注册审核信息')
 
@@ -79,9 +79,15 @@ onMounted(async () => {
   await webContent.getSystemWebContent()
 })
 
+// 回到火苗儿校企页面
+const handleBackToFlame = async () => {
+  await userStore.userLogout(1)
+  router.push('/flame')
+}
+
 // 重新提交
 const handleConfirm = async () => {
-
+  router.push('/register/schoolIndex')
 }
 </script>