import ColHeader from '@/components/col-header' import ColSearch from '@/components/col-search' import { Sticky, Image, List, Popup, Icon, Area, Field, Form, CellGroup, Button, Toast, Picker, DatetimePicker, Overlay, Dialog } from 'vant' import { defineComponent, onMounted, reactive } from 'vue' import styles from './index.module.less' import bg from './images/bg.png' import rejectLogo from './images/rejectLogo.png' import rejectSchool from './images/rejest-school.png' import subTitle from './images/subTitle.png' import centerLogo from './images/center.png' import studentText from './images/studentText.png' import { useRoute } from 'vue-router' import icon_arrow from './images/icon_arrow.png' import rejectBtn from './images/rejectBtn.png' import studentSuccess from './images/studentSuccess.png' import request from '@/helpers/request' import dayjs from 'dayjs' import { removeAuth } from '@/helpers/utils' export default defineComponent({ name: 'tenantStudentRejest', setup() { const route = useRoute() const forms = reactive({ gender: '', name: '', phone: '', subjectId: '', subjectName: '', tenantGroupName: '', tenantGroupId: '', birthdate: '', code: '', genderName: '', tenantId: route.query.tenantId }) const data = reactive({ birthdate: new Date(dayjs().year(), dayjs().month() + 1, dayjs().date()), schoolName: route.query.name || '', id: route.query.tenantId, tenantGroupId: route.query.tenantGroupId, userSchoolName: '', cityName: '', // 所属城市 showArea: false, checked: true, success: false, areaList: {} as any, sendMsg: '获取验证码', imgCodeStatus: false, subjectList: [], searchStatus: false, openStatus: false, dateState: false, tenantGroupList: [] as any, tenantGroupStatus: false, genderState: false, genderList: [ { text: '男', value: '1' }, { text: '女', value: '0' } ], showSuccess: false, secondConfirm: false, minDate: new Date(1980, 0, 1), maxDate: new Date() }) const handleSubmit = async () => { try { if (!forms.name) { Toast('请输入姓名') return } if (!forms.gender) { Toast('请选择性别') return } if (!forms.birthdate) { Toast('请选择出生年月') return } if (!forms.phone) { Toast('请输入手机号') return } if (!forms.code) { Toast('请输入验证码') return } if (!forms.subjectId) { Toast('请选择声部') return } if (!forms.tenantGroupId) { Toast('请选择小组') return } const res = await request.post('/api-tenant/open/student/save', { data: { ...forms }, hideLoading: true }) if (res.code == 200) { data.showSuccess = true } if (res.code == 5004) { data.secondConfirm = true data.userSchoolName = res.msg } } catch { // } } const getSubjectList = async () => { try { const res = await request.get('/api-tenant/open/subject/queryPage', { params: { page: 1, rows: 9999, queryType: 'list' } }) const rows = res.data.rows || [] const tempList: any = [] rows.forEach((item: any) => { // if (item.parentSubjectId > 0) { tempList.push({ text: item.name, value: item.id }) // } }) data.subjectList = tempList // res.data.rows.map((item: any) => { // return { // text: item.name, // value: item.id // } // }) || [] } catch (e) { console.log(e) } } const confirmSubject = (val: any) => { forms.subjectName = val.text forms.subjectId = val.value data.searchStatus = false } const confirmTenant = (val: any) => { console.log(val, 'confirmTenant') forms.tenantGroupName = val.text forms.tenantGroupId = val.value data.tenantGroupStatus = false } const confirmDate = (val: any) => { forms.birthdate = dayjs(val).format('YYYY-MM-DD') data.dateState = false } const tenantGroupList = async () => { try { const res = await request.post('/api-tenant/open/tenantGroup/page', { data: { page: 1, rows: 999, tenantId: data.id } }) data.tenantGroupList = res.data.rows.map((item: any) => { return { text: item.name, value: item.id } }) || [] } catch { // } } onMounted(() => { removeAuth() if (data.tenantGroupId) { forms.tenantGroupId = data.tenantGroupId as any } tenantGroupList() getSubjectList() }) const confirmGender = (val: any) => { if (val.value) { forms.gender = val.value forms.genderName = val.text } else { forms.gender = '' forms.genderName = '' } data.genderState = false } /** 发送验证码 */ const onSendSms = async () => { if (!forms.phone) { Toast('请输入手机号码') return } if (!/^1[3456789]\d{9}$/.test(forms.phone)) { Toast('手机号码格式不正确') return } await request.post('/api-student/code/sendSmsCode', { requestType: 'form', data: { mobile: forms.phone, type: 'REGISTER' } }) onCountDown() setTimeout(() => { Toast('验证码已发送') }, 100) } const onCountDown = () => { data.sendMsg = '60s' let count = 60 const timer = setInterval(() => { count-- data.sendMsg = `${count}s` if (count <= 0) { data.sendMsg = '获取验证码' clearInterval(timer) } }, 1000) } const downApp = () => { window.open(location.origin + '/student/#/download') data.showSuccess = false } const submitSecond = async () => { try { await request.post('/api-tenant/open/student/save', { data: { ...forms, updateTenant: true }, hideLoading: true }) data.showSuccess = true data.secondConfirm = false } catch (e) { console.log(e) } } return () => ( <>
{data.schoolName}
请下载酷乐秀机构版APP进行学习
当前账号已存在 【{data.userSchoolName}】{' '} ,是否确认更换到 {data.schoolName} 吗?