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