123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- 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 } from 'vant'
- import { defineComponent, onMounted, reactive } from 'vue'
- import styles from './index.module.less'
- import bg from './images/teacherBg.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 request from '@/helpers/request'
- import dayjs from 'dayjs'
- export default defineComponent({
- name: 'tenantStudentRejest',
- setup() {
- const route = useRoute();
- const forms = reactive({
- idCardNo: '',
- username: '',
- realName: '',
- phone: '',
- subjectId: '',
- tenantId: '',
- birthdate: '',
- code: ''
- });
- const data = reactive({
- schoolName: route.query.schoolName || '',
- cityName: '', // 所属城市
- showArea: false,
- checked: true,
- success: false,
- areaList: {} as any,
- sendMsg: '获取验证码',
- imgCodeStatus: false,
- subjectList: [],
- searchStatus: false,
- openStatus: false,
- dateState: false
- });
- const handleSubmit = () => {
- console.log(forms, 'forms')
- if (!forms.username) {
- Toast('请输入老师昵称')
- }
- if (!forms.phone) {
- Toast('请输入手机号')
- }
- if (!forms.code) {
- Toast('请输入验证码')
- }
- if (!forms.realName) {
- Toast('请输入真实姓名')
- }
- if (!forms.idCardNo) {
- Toast('请输入身份证号')
- }
- if (!forms.subjectId) {
- Toast('请选择声部')
- }
- }
- const getSubjectList = async () => {
- try {
- const res = await request.get('/api-student/open/subject/subjectSelect')
- data.subjectList = res.data || []
- } catch (e) {
- console.log(e)
- }
- }
- const confirmSubject = (val: any) => {
- console.log(val, 'confirmSubject')
- }
- const confirmDate = (val: any) => {
- forms.birthdate = dayjs(val).format('YYYY-MM-DD')
- data.dateState = false
- }
- onMounted(() => {
- getSubjectList()
- })
- /** 发送验证码 */
- const onSendSms = () => {
- if (!forms.phone) {
- Toast('请输入手机号码');
- return;
- }
- if (!/^1[3456789]\d{9}$/.test(forms.phone)) {
- Toast('手机号码格式不正确');
- return;
- }
- data.imgCodeStatus = true;
- };
- return () =>
- <>< div class={styles.videoClass} >
- <ColHeader
- class={styles.classHeader}
- border={false}
- isFixed={false}
- background="#fff"
- />
- <div class={styles.resjetStudentWrap}>
- <img src={rejectLogo} class={styles.rejectLogo} alt="" />
- <img src={studentText} class={styles.studentText} alt="" />
- <img src={bg} class={styles.bgWrap} alt="" />
- <div class={styles.schoolNameWrap}>
- <img src={rejectSchool} class={styles.rejectSchool} alt="" />
- <p>武汉星星小学</p>
- </div>
- <img class={styles.centerLogo} src={centerLogo} alt="" />
- <div class={styles.infoWrap}>
- <div class={styles.infoWrapCore}>
- <img src={subTitle} class={styles.subTitle} alt="" />
- <Form onSubmit={() => handleSubmit()}>
- <CellGroup class={styles.group} border={false}>
- <Field
- class={styles.noArrow}
- inputAlign="right"
- label="老师昵称"
- placeholder="请输入老师昵称"
- maxlength={20}
- v-model={forms.username}
- // onUpdate: modelValue={(val: string) => {
- // forms.nickname = val.trim();
- // }}
- />
- <Field
- inputAlign="right"
- label="手机号"
- class={styles.noArrow}
- maxlength={11}
- placeholder="请输入手机号码"
- v-model={forms.phone}
- />
- <div class={styles.tips}>
- 手机号码为酷乐秀学院登录账号
- </div>
- <Field
- class={styles.inputCode}
- inputAlign="left"
- label="请输入验证码"
- labelWidth={0}
- v-model={forms.code}
- maxlength={6}>
- {{
- button: () => (
- <Button
- disabled={data.sendMsg.includes('s')}
- class={styles.sendBtn}
- onClick={() => onSendSms()}>
- {data.sendMsg}
- </Button>
- )
- }}
- </Field>
- <Field
- class={styles.noArrow}
- inputAlign="right"
- label="真实姓名"
- placeholder="请输入真实姓名"
- maxlength={20}
- v-model={forms.realName}
- // onUpdate: modelValue={(val: string) => {
- // forms.nickname = val.trim();
- // }}
- />
- <Field
- class={styles.noArrow}
- inputAlign="right"
- label="身份证号"
- placeholder="请输入身份证号"
- maxlength={20}
- v-model={forms.idCardNo}
- // onUpdate: modelValue={(val: string) => {
- // forms.nickname = val.trim();
- // }}
- />
- <Field
- border={false}
- inputAlign="right"
- label="声部"
- placeholder="请选择声部"
- readonly
- v-model={data.cityName}
- onClick={() => (data.searchStatus = true)}>
- {{
- button: () => (
- <img
- style={{
- display: 'block',
- width: '12px',
- height: '12px',
- }}
- src={icon_arrow}
- />
- )
- }}
- </Field>
- </CellGroup>
- </Form>
- </div>
- <img src={rejectBtn} onClick={() => { handleSubmit() }} class={styles.rejectBtn} alt="" />
- </div>
- </div>
- <Popup
- show={data.searchStatus}
- position="bottom"
- round
- columns-field-names={{ text: '' }}
- safe-area-inset-bottom
- onClose={() => (data.searchStatus = false)}
- onClosed={() => (data.openStatus = false)}
- >
- <Picker columns={data.subjectList} onCancel={() => { data.searchStatus = false }} onConfirm={confirmSubject}></Picker>
- </Popup>
- </div ></>
- }
- })
|