|
@@ -46,11 +46,7 @@ export default defineComponent({
|
|
|
cityCode: '', // 所属城市
|
|
|
provinceCode: '', // 所属省份
|
|
|
schoolNature: 'PUBLIC' as 'PUBLIC' | 'PRIVATE' | string, // 学校性质
|
|
|
- schoolType: 'PRIMARY_JUNIOR' as
|
|
|
- | 'PRIMARY'
|
|
|
- | 'JUNIOR'
|
|
|
- | 'PRIMARY_JUNIOR'
|
|
|
- | string, // 学校类型
|
|
|
+ schoolType: 'PRIMARY' as 'PRIMARY' | 'JUNIOR' | 'PRIMARY_JUNIOR' | string, // 学校类型
|
|
|
gradeYear: 'SIX_YEAR_SYSTEM' as
|
|
|
| 'FIVE_YEAR_SYSTEM'
|
|
|
| 'SIX_YEAR_SYSTEM'
|
|
@@ -111,30 +107,24 @@ export default defineComponent({
|
|
|
});
|
|
|
/** 发送验证码 */
|
|
|
const onSendSms = async () => {
|
|
|
- try {
|
|
|
- await api_openSendSms({
|
|
|
- clientId: 'cooleshow-student',
|
|
|
- type: 'REGISTER',
|
|
|
- mobile: forms.educationalAdministrationPhone
|
|
|
- });
|
|
|
- onCountDown();
|
|
|
- showToast('验证码已发送');
|
|
|
- } catch {
|
|
|
- data.sendMsg = '重新发送';
|
|
|
- }
|
|
|
+ if (data.sendMsg.includes('s')) return;
|
|
|
+ onCountDown();
|
|
|
+ showToast('验证码已发送');
|
|
|
};
|
|
|
const onCountDown = () => {
|
|
|
- data.sendMsg = '30s';
|
|
|
- let count = 30;
|
|
|
- setInterval(() => {
|
|
|
+ data.sendMsg = '60s';
|
|
|
+ let count = 60;
|
|
|
+ let timer = setInterval(() => {
|
|
|
count--;
|
|
|
- data.sendMsg = `${count}s后重新发送`;
|
|
|
+ data.sendMsg = `${count}s`;
|
|
|
if (count <= 0) {
|
|
|
data.sendMsg = '重新发送';
|
|
|
+ clearInterval(timer);
|
|
|
}
|
|
|
}, 1000);
|
|
|
};
|
|
|
const handleSubmit = async () => {
|
|
|
+ forms.name = forms.name.trim();
|
|
|
const res = await api_schoolAdd({ ...forms });
|
|
|
if (res?.code === 200) {
|
|
|
data.success = true;
|
|
@@ -206,21 +196,27 @@ export default defineComponent({
|
|
|
}}
|
|
|
</Field>
|
|
|
|
|
|
- <Field center border label="学年制">
|
|
|
+ <Field center border label="学校类型" labelWidth="70px">
|
|
|
{{
|
|
|
input: () => (
|
|
|
<>
|
|
|
- {formOptions.grades.map(item => {
|
|
|
+ {formOptions.types.map(item => {
|
|
|
return (
|
|
|
<Button
|
|
|
class={styles.radio}
|
|
|
size="small"
|
|
|
color={
|
|
|
- item.value === forms.gradeYear
|
|
|
+ item.value === forms.schoolType
|
|
|
? '#198CFE'
|
|
|
: ''
|
|
|
}
|
|
|
- onClick={() => (forms.gradeYear = item.value)}>
|
|
|
+ onClick={() => {
|
|
|
+ forms.schoolType = item.value;
|
|
|
+ forms.gradeYear =
|
|
|
+ item.value === 'PRIMARY_JUNIOR'
|
|
|
+ ? 'NINE_YEAR_SYSTEM'
|
|
|
+ : 'SIX_YEAR_SYSTEM';
|
|
|
+ }}>
|
|
|
{item.label}
|
|
|
</Button>
|
|
|
);
|
|
@@ -229,6 +225,34 @@ export default defineComponent({
|
|
|
)
|
|
|
}}
|
|
|
</Field>
|
|
|
+
|
|
|
+ {forms.schoolType === 'PRIMARY_JUNIOR' ? null : (
|
|
|
+ <Field center border label="学年制">
|
|
|
+ {{
|
|
|
+ input: () => (
|
|
|
+ <>
|
|
|
+ {formOptions.grades.map(item => {
|
|
|
+ return (
|
|
|
+ <Button
|
|
|
+ class={styles.radio}
|
|
|
+ size="small"
|
|
|
+ color={
|
|
|
+ item.value === forms.gradeYear
|
|
|
+ ? '#198CFE'
|
|
|
+ : ''
|
|
|
+ }
|
|
|
+ onClick={() =>
|
|
|
+ (forms.gradeYear = item.value)
|
|
|
+ }>
|
|
|
+ {item.label}
|
|
|
+ </Button>
|
|
|
+ );
|
|
|
+ })}
|
|
|
+ </>
|
|
|
+ )
|
|
|
+ }}
|
|
|
+ </Field>
|
|
|
+ )}
|
|
|
</CellGroup>
|
|
|
|
|
|
<CellGroup class={styles.group}>
|
|
@@ -319,6 +343,8 @@ export default defineComponent({
|
|
|
{{
|
|
|
button: () => (
|
|
|
<Button
|
|
|
+ disabled={data.sendMsg.includes('s')}
|
|
|
+ class={styles.sendBtn}
|
|
|
size="small"
|
|
|
type="primary"
|
|
|
color="#198CFE"
|