|
@@ -26,6 +26,7 @@ import schoolLogo from './images/school-logo.png'
|
|
import iconClose from './images/icon-close.png'
|
|
import iconClose from './images/icon-close.png'
|
|
import topBanner1 from './images/top-banner1.png'
|
|
import topBanner1 from './images/top-banner1.png'
|
|
import { checkPhone } from '@/helpers/validate'
|
|
import { checkPhone } from '@/helpers/validate'
|
|
|
|
+import OUpload from '@/components/o-upload'
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
name: 'companion-teacher-register',
|
|
name: 'companion-teacher-register',
|
|
@@ -36,6 +37,7 @@ export default defineComponent({
|
|
showPicker: false,
|
|
showPicker: false,
|
|
showSubject: false,
|
|
showSubject: false,
|
|
submitStatus: false,
|
|
submitStatus: false,
|
|
|
|
+ showEducation: false,
|
|
id: route.query.id,
|
|
id: route.query.id,
|
|
name: route.query.name,
|
|
name: route.query.name,
|
|
pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
|
|
pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
|
|
@@ -51,7 +53,11 @@ export default defineComponent({
|
|
cityCodeName: '',
|
|
cityCodeName: '',
|
|
provinceCode: null,
|
|
provinceCode: null,
|
|
subjectIds: [],
|
|
subjectIds: [],
|
|
- smsValidCode: ''
|
|
|
|
|
|
+ smsValidCode: '',
|
|
|
|
+ educationBackground: '', // 学历
|
|
|
|
+ graduateSchool: null, // 毕业学校
|
|
|
|
+ idcardFrontImg: '',
|
|
|
|
+ idcardBackImg: '' // 身份证反面照
|
|
},
|
|
},
|
|
btnLoading: false,
|
|
btnLoading: false,
|
|
checkPhone: false,
|
|
checkPhone: false,
|
|
@@ -133,6 +139,13 @@ export default defineComponent({
|
|
state.showSubject = false
|
|
state.showSubject = false
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 选择学历
|
|
|
|
+ const onConfirmEduction = (val: any) => {
|
|
|
|
+ const selectedOptions = val.selectedOptions[0]
|
|
|
|
+ state.forms.educationBackground = selectedOptions.value
|
|
|
|
+ state.showEducation = false
|
|
|
|
+ }
|
|
|
|
+
|
|
const onSendCode = () => {
|
|
const onSendCode = () => {
|
|
// 发送验证码
|
|
// 发送验证码
|
|
if (!checkPhone(state.forms.phone as any)) {
|
|
if (!checkPhone(state.forms.phone as any)) {
|
|
@@ -320,6 +333,73 @@ export default defineComponent({
|
|
|
|
|
|
<Field
|
|
<Field
|
|
required
|
|
required
|
|
|
|
+ label="身份证照片正面"
|
|
|
|
+ v-model={state.forms.idcardFrontImg}
|
|
|
|
+ readonly
|
|
|
|
+ name="idcardFrontImg"
|
|
|
|
+ onClick={() => (state.showPicker = true)}
|
|
|
|
+ rules={[{ required: true, message: '请选择身份证照片正面', trigger: 'onChange' }]}
|
|
|
|
+ placeholder="请选择身份证照片正面"
|
|
|
|
+ >
|
|
|
|
+ {{
|
|
|
|
+ input: () => (
|
|
|
|
+ <OUpload
|
|
|
|
+ style={{ width: '100%' }}
|
|
|
|
+ tips="上传身份证正面"
|
|
|
|
+ v-model:modelValue={state.forms.idcardFrontImg}
|
|
|
|
+ />
|
|
|
|
+ )
|
|
|
|
+ }}
|
|
|
|
+ </Field>
|
|
|
|
+ <Field
|
|
|
|
+ required
|
|
|
|
+ label="身份证照片反面"
|
|
|
|
+ v-model={state.forms.idcardFrontImg}
|
|
|
|
+ readonly
|
|
|
|
+ name="idcardFrontImg"
|
|
|
|
+ onClick={() => (state.showPicker = true)}
|
|
|
|
+ rules={[{ required: true, message: '请选择身份证照片反面', trigger: 'onChange' }]}
|
|
|
|
+ placeholder="请选择身份证照片反面"
|
|
|
|
+ >
|
|
|
|
+ {{
|
|
|
|
+ input: () => (
|
|
|
|
+ <OUpload
|
|
|
|
+ style={{ width: '100%' }}
|
|
|
|
+ tips="上传身份证正面"
|
|
|
|
+ v-model:modelValue={state.forms.idcardFrontImg}
|
|
|
|
+ />
|
|
|
|
+ )
|
|
|
|
+ }}
|
|
|
|
+ </Field>
|
|
|
|
+
|
|
|
|
+ <Field
|
|
|
|
+ required
|
|
|
|
+ label="学历"
|
|
|
|
+ v-model={state.forms.educationBackground}
|
|
|
|
+ readonly
|
|
|
|
+ name="educationBackground"
|
|
|
|
+ onClick={() => (state.showEducation = true)}
|
|
|
|
+ rules={[{ required: true, message: '请选择学历', trigger: 'onChange' }]}
|
|
|
|
+ placeholder="请选择学历"
|
|
|
|
+ >
|
|
|
|
+ {{
|
|
|
|
+ 'right-icon': () => (
|
|
|
|
+ <Icon name="arrow" color={state.checkPhone ? '#aaa' : '#323233'} size="16"></Icon>
|
|
|
|
+ )
|
|
|
|
+ }}
|
|
|
|
+ </Field>
|
|
|
|
+
|
|
|
|
+ <Field
|
|
|
|
+ required
|
|
|
|
+ label="毕业学校"
|
|
|
|
+ v-model={state.forms.graduateSchool}
|
|
|
|
+ rules={[{ required: true, message: '请输入毕业学校' }]}
|
|
|
|
+ name="graduateSchool"
|
|
|
|
+ placeholder="请输入毕业学校"
|
|
|
|
+ ></Field>
|
|
|
|
+
|
|
|
|
+ <Field
|
|
|
|
+ required
|
|
label="所在城市"
|
|
label="所在城市"
|
|
v-model={state.forms.cityCodeName}
|
|
v-model={state.forms.cityCodeName}
|
|
readonly
|
|
readonly
|
|
@@ -409,7 +489,6 @@ export default defineComponent({
|
|
完成
|
|
完成
|
|
</Button>
|
|
</Button>
|
|
</Form>
|
|
</Form>
|
|
-
|
|
|
|
<Popup v-model:show={state.showPicker} position="bottom" round>
|
|
<Popup v-model:show={state.showPicker} position="bottom" round>
|
|
<Picker
|
|
<Picker
|
|
showToolbar
|
|
showToolbar
|
|
@@ -419,7 +498,6 @@ export default defineComponent({
|
|
columnsFieldNames={{ text: 'name', value: 'code', children: 'areas' }}
|
|
columnsFieldNames={{ text: 'name', value: 'code', children: 'areas' }}
|
|
/>
|
|
/>
|
|
</Popup>
|
|
</Popup>
|
|
-
|
|
|
|
<Popup v-model:show={state.showSubject} position="bottom" round>
|
|
<Popup v-model:show={state.showSubject} position="bottom" round>
|
|
<Picker
|
|
<Picker
|
|
showToolbar
|
|
showToolbar
|
|
@@ -428,7 +506,30 @@ export default defineComponent({
|
|
onConfirm={onConfirmSubject}
|
|
onConfirm={onConfirmSubject}
|
|
/>
|
|
/>
|
|
</Popup>
|
|
</Popup>
|
|
-
|
|
|
|
|
|
+ <Popup v-model:show={state.showSubject} position="bottom" round>
|
|
|
|
+ <Picker
|
|
|
|
+ showToolbar
|
|
|
|
+ columns={state.columnSubject}
|
|
|
|
+ onCancel={() => (state.showSubject = false)}
|
|
|
|
+ onConfirm={onConfirmSubject}
|
|
|
|
+ />
|
|
|
|
+ </Popup>
|
|
|
|
+ {/* 学历 */}
|
|
|
|
+ {/* 学历分为专科、本科、硕士、博士、其他 */}
|
|
|
|
+ <Popup v-model:show={state.showEducation} position="bottom" round>
|
|
|
|
+ <Picker
|
|
|
|
+ showToolbar
|
|
|
|
+ columns={[
|
|
|
|
+ { text: '专科', value: '专科' },
|
|
|
|
+ { text: '本科', value: '本科' },
|
|
|
|
+ { text: '硕士', value: '硕士' },
|
|
|
|
+ { text: '博士', value: '博士' },
|
|
|
|
+ { text: '其他', value: '其他' }
|
|
|
|
+ ]}
|
|
|
|
+ onCancel={() => (state.showEducation = false)}
|
|
|
|
+ onConfirm={onConfirmEduction}
|
|
|
|
+ />
|
|
|
|
+ </Popup>
|
|
<Popup v-model:show={state.submitStatus} round style="width: 75%" closeOnClickOverlay>
|
|
<Popup v-model:show={state.submitStatus} round style="width: 75%" closeOnClickOverlay>
|
|
<div class={styles.stautsS}>
|
|
<div class={styles.stautsS}>
|
|
<img
|
|
<img
|
|
@@ -455,7 +556,6 @@ export default defineComponent({
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Popup>
|
|
</Popup>
|
|
-
|
|
|
|
{state.imgCodeStatus ? (
|
|
{state.imgCodeStatus ? (
|
|
<ImgCode
|
|
<ImgCode
|
|
v-model:value={state.imgCodeStatus}
|
|
v-model:value={state.imgCodeStatus}
|