Переглянути джерело

机构管理-二维码扫码报名

liushengqiang 1 рік тому
батько
коміт
b4905c6158
2 змінених файлів з 70 додано та 4 видалено
  1. 6 0
      src/views/school-register/api.ts
  2. 64 4
      src/views/school-register/index.tsx

+ 6 - 0
src/views/school-register/api.ts

@@ -10,6 +10,12 @@ export const api_schoolAdd = (params: any): Promise<any> => {
     data: params
   });
 };
+/** 更新学校 */
+export const api_schoolSave = (params: any): Promise<any> => {
+  return request.post('/edu-app/open/school/save', {
+    data: params
+  });
+};
 /** 发送验证码 */
 export const api_openSendSms = (params: any): Promise<any> => {
   return request.post('/edu-app/open/sendSms', {

+ 64 - 4
src/views/school-register/index.tsx

@@ -11,6 +11,7 @@ import icon_p2 from './images/icon_p2.png';
 import {
   api_openSendSms,
   api_schoolAdd,
+  api_schoolSave,
   api_sysAreaQueryAllProvince
 } from './api';
 import { useRoute } from 'vue-router';
@@ -35,12 +36,17 @@ export default defineComponent({
         { label: '六年制', value: 'SIX_YEAR_SYSTEM' },
         { label: '五年制', value: 'FIVE_YEAR_SYSTEM' }
       ],
+      grades1: [
+        { label: '三年制', value: 'THREE_YEAR_SYSTEM' },
+        { label: '四年制', value: 'FORE_YEAR_SYSTEM' }
+      ],
       genaral: [
         { label: '男', value: '1' },
         { label: '女', value: '0' }
       ]
     };
     const forms = reactive({
+      id: '',
       name: '', // 学校名称
       regionCode: '', // 所属区域
       cityCode: '', // 所属城市
@@ -125,8 +131,11 @@ export default defineComponent({
     };
     const handleSubmit = async () => {
       forms.name = forms.name.trim();
-      const res = await api_schoolAdd({ ...forms });
+      const res = await api_schoolSave({ ...forms });
       if (res?.code === 200) {
+        if (res?.data?.id) {
+          forms.id = res.data.id;
+        }
         data.success = true;
       }
     };
@@ -156,9 +165,18 @@ export default defineComponent({
                     placeholder="请输入学校全称"
                     inputAlign="right"
                     v-model={forms.name}
+                    onUpdate:modelValue={(val: string) => {
+                      forms.name = val.trim();
+                    }}
                     autocomplete="off"
                     maxlength={20}
-                    rules={[{ required: true, message: '请输入学校全称' }]}
+                    rules={[
+                      {
+                        required: true,
+                        message: '请输入学校全称',
+                        trigger: 'onBlur'
+                      }
+                    ]}
                   />
                   <Field
                     isLink
@@ -215,6 +233,8 @@ export default defineComponent({
                                   forms.gradeYear =
                                     item.value === 'PRIMARY_JUNIOR'
                                       ? 'NINE_YEAR_SYSTEM'
+                                      : item.value === 'JUNIOR'
+                                      ? 'THREE_YEAR_SYSTEM'
                                       : 'SIX_YEAR_SYSTEM';
                                 }}>
                                 {item.label}
@@ -226,7 +246,34 @@ export default defineComponent({
                     }}
                   </Field>
 
-                  {forms.schoolType === 'PRIMARY_JUNIOR' ? null : (
+                  {forms.schoolType ===
+                  'PRIMARY_JUNIOR' ? null : forms.schoolType === 'JUNIOR' ? (
+                    <Field center border label="学年制">
+                      {{
+                        input: () => (
+                          <>
+                            {formOptions.grades1.map(item => {
+                              return (
+                                <Button
+                                  class={styles.radio}
+                                  size="small"
+                                  color={
+                                    item.value === forms.gradeYear
+                                      ? '#198CFE'
+                                      : ''
+                                  }
+                                  onClick={() =>
+                                    (forms.gradeYear = item.value)
+                                  }>
+                                  {item.label}
+                                </Button>
+                              );
+                            })}
+                          </>
+                        )
+                      }}
+                    </Field>
+                  ) : (
                     <Field center border label="学年制">
                       {{
                         input: () => (
@@ -265,6 +312,9 @@ export default defineComponent({
                     inputAlign="right"
                     maxlength={6}
                     v-model={forms.emergencyContact}
+                    onUpdate:modelValue={(val: string) => {
+                      forms.emergencyContact = val.trim();
+                    }}
                     rules={[{ required: true, message: '请输入校长姓名' }]}
                   />
                   <Field
@@ -291,6 +341,9 @@ export default defineComponent({
                     inputAlign="right"
                     maxlength={6}
                     v-model={forms.educationalAdministrationUsername}
+                    onUpdate:modelValue={(val: string) => {
+                      forms.educationalAdministrationUsername = val.trim();
+                    }}
                     rules={[{ required: true, message: '请输入负责人姓名' }]}
                   />
                   <Field
@@ -338,6 +391,9 @@ export default defineComponent({
                     label="验证码"
                     placeholder="请输入验证码"
                     v-model={forms.code}
+                    onUpdate:modelValue={(val: string) => {
+                      forms.code = val.trim();
+                    }}
                     maxlength={6}
                     rules={[{ required: true, message: '请输入验证码' }]}>
                     {{
@@ -406,7 +462,11 @@ export default defineComponent({
                   <div class={styles.btnWrap}>
                     <div class={styles.btnTitle}>您已成功登记</div>
                     <div class={styles.btnDes}>欢迎您使用音乐数字课堂~</div>
-                    <Button class={styles.btn} type="primary" round>
+                    <Button
+                      class={styles.btn}
+                      type="primary"
+                      round
+                      onClick={() => (data.success = false)}>
                       我知道了
                     </Button>
                   </div>