|
@@ -1,58 +1,117 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<el-alert title="您所填写的信息,会在报名活动时自动填充" type="warning" />
|
|
|
- <el-form :model="form" label-width="120px">
|
|
|
- <el-form-item label="姓名">
|
|
|
- <el-input v-model="form.name" />
|
|
|
+ <el-form ref="enrollForm" :rules="rules" :model="teacherEnroll" label-width="120px" style="margin-top: 15px;">
|
|
|
+ <el-form-item prop="name" label="姓名">
|
|
|
+ <el-input v-special-char v-model.trim="teacherEnroll.name" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="性别">
|
|
|
- <el-radio-group v-model="form.gender">
|
|
|
+ <el-form-item prop="sex" label="性别">
|
|
|
+ <el-radio-group v-model="teacherEnroll.sex" @change="deleteRule('sex')">
|
|
|
<el-radio label="male">男</el-radio>
|
|
|
<el-radio label="female">女</el-radio>
|
|
|
+ <el-radio label="secrecy">保密</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="手机号码">
|
|
|
- <el-input v-model="form.phone" placeholder="请输入" />
|
|
|
+ <el-form-item prop="phone" label="手机号码">
|
|
|
+ <el-input v-special-char v-model="teacherEnroll.phone" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="电子邮箱">
|
|
|
- <el-input v-model="form.email" placeholder="请输入" />
|
|
|
+ <el-form-item prop="email" label="电子邮箱">
|
|
|
+ <el-input v-special-char v-model="teacherEnroll.email" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学校">
|
|
|
- <el-select v-model="form.school" placeholder="请选择">
|
|
|
- <el-option label="醍摩豆学校" value="1111" />
|
|
|
- <el-option label="研发学校" value="2222" />
|
|
|
- <el-option label="未找到学校/未加入学校" value="0000" />
|
|
|
+ <el-form-item prop="schoolId" label="学校">
|
|
|
+ <el-select v-model="teacherEnroll.schoolId" placeholder="请选择" @change="deleteRule('schoolId')">
|
|
|
+ <el-option v-for="item in store.schoolList" :key="item.schoolId" :label="item.name" :value="item.schoolId" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学校名称" v-if="form.school === '0000'">
|
|
|
- <el-input v-model="form.schoolTip" placeholder="请输入学校名称" />
|
|
|
+ <el-form-item prop="period" label="学段">
|
|
|
+ <el-input v-special-char v-model.trim="teacherEnroll.period" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学段">
|
|
|
- <el-select v-model="form.period" placeholder="请选择">
|
|
|
- <el-option label="小学" value="1111" />
|
|
|
- <el-option label="初中" value="2222" />
|
|
|
- <el-option label="高中" value="3333" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="学科">
|
|
|
- <el-select v-model="form.subject" placeholder="请选择">
|
|
|
- <el-option label="语文" value="1111" />
|
|
|
- <el-option label="数学" value="2222" />
|
|
|
- <el-option label="英语" value="3333" />
|
|
|
- <el-option label="历史" value="4444" />
|
|
|
- </el-select>
|
|
|
+ <el-form-item prop="subject" label="学科">
|
|
|
+ <el-input v-special-char v-model.trim="teacherEnroll.subject" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary">保存</el-button>
|
|
|
+ <el-button type="primary" @click="setTeaEnroll(enrollForm)">保存</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, reactive } from 'vue'
|
|
|
+import { ElMessage } from 'element-plus'
|
|
|
+import { ref, reactive, getCurrentInstance } from 'vue'
|
|
|
+import { useStore } from "@/pinia/common"
|
|
|
+
|
|
|
+let { proxy } = getCurrentInstance()
|
|
|
+let store = useStore()
|
|
|
+
|
|
|
+let teacherEnroll = ref({})
|
|
|
+let rules = ref({
|
|
|
+ name: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+ sex: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+ phone: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+ email: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+ schoolId: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+ period: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+ subject: {required: true, message: '不能为空', trigger: 'blur',},
|
|
|
+})
|
|
|
+let enrollForm = ref(null)
|
|
|
+
|
|
|
+getTeaEnroll()
|
|
|
+
|
|
|
+function getTeaEnroll() {
|
|
|
+ let params = {
|
|
|
+ grant_type: 'get-teacher-enroll'
|
|
|
+ }
|
|
|
+ proxy.$api.teaContest(params).then(res => {
|
|
|
+ if(res.code === 200) {
|
|
|
+ res.teacherEnroll.enrollInfos.forEach(item => {
|
|
|
+ teacherEnroll.value[item.code] = item.val
|
|
|
+ })
|
|
|
+ teacherEnroll.value.schoolId = res.teacherEnroll.schoolId
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+function setTeaEnroll(formEl) {
|
|
|
+ formEl.validate(async (valid, ddd) => {
|
|
|
+ if(valid) {
|
|
|
+ let params = {
|
|
|
+ grant_type: 'update-teacher-enroll',
|
|
|
+ teacherEnroll: {
|
|
|
+ id: store.userInfo.sub,
|
|
|
+ code: 'TeacherEnroll',
|
|
|
+ schoolId: teacherEnroll.value.schoolId,
|
|
|
+ enrollInfos: [],
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Object.keys(teacherEnroll.value).forEach(key => {
|
|
|
+ if(key != 'schoolId') {
|
|
|
+ params.teacherEnroll.enrollInfos.push({
|
|
|
+ code: key,
|
|
|
+ val: teacherEnroll.value[key]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ proxy.$api.teaContest(params).then(res => {
|
|
|
+ if(res.code === 200) {
|
|
|
+ ElMessage({
|
|
|
+ type: 'success',
|
|
|
+ message: '保存成功'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: 'warning',
|
|
|
+ message: '请完善信息'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
-let form = reactive({})
|
|
|
+function deleteRule(type) {
|
|
|
+ enrollForm.value.clearValidate(type)
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style>
|