Browse Source

添加注册逻辑,如果是后台进行注册则不需要实名认证

1、伴学老师注册,去掉实名认证、所有声部默认全选;
2、管理老师注册,去掉实名认证;
lex 2 years ago
parent
commit
8a59cbd7a2

+ 23 - 4
src/school/companion-teacher/companion-teacher-register.module.less

@@ -52,7 +52,7 @@ span {
       /* margin: 290px 13px 14px; */
     }
 
-    .van-tag + .van-tag {
+    .van-tag {
       margin-left: 8px;
     }
   }
@@ -64,9 +64,10 @@ span {
   font-size: 0;
 }
 
-.radioSection + .radioSection {
+.radioSection+.radioSection {
   margin-left: 12px;
 }
+
 .btn-submit {
   width: 90%;
   margin: 20px auto;
@@ -224,12 +225,14 @@ span {
   padding: 0 13px;
   font-size: 12px;
   color: #aaaaaa;
+
   // line-height: 17px;
   :global {
     .van-checkbox {
       flex-shrink: 0;
     }
   }
+
   // & > div {
   //   flex: 1 auto;
   // }
@@ -248,6 +251,7 @@ span {
   padding: 9px 10px;
   display: flex;
   align-items: center;
+
   :global {
     .van-icon {
       margin-right: 5px;
@@ -258,6 +262,7 @@ span {
 .wxPopupDialog {
   // position: relative;
   overflow: initial;
+
   // margin-top: -160px;
   &::before {
     position: absolute;
@@ -272,11 +277,13 @@ span {
     height: 154px;
   }
 }
+
 .popupContainer {
   background: url('../../student/music-group/pre-apply/images/wx-no-bg.png') no-repeat top center;
   background-size: cover;
   border-radius: 20px;
   overflow: hidden;
+
   .title1 {
     padding-top: 57px;
     text-align: center;
@@ -284,6 +291,7 @@ span {
     font-weight: 500;
     color: #3b2300;
   }
+
   .popupTips {
     padding-top: 12px;
     padding-bottom: 47px;
@@ -305,15 +313,17 @@ span {
       padding: 0;
     }
 
-    .van-field + .van-field {
+    .van-field+.van-field {
       margin-left: 12px;
     }
+
     .oUpload {
       margin-top: 0;
       height: 114px;
     }
   }
 }
+
 .fieldTitle {
   color: #fff !important;
 }
@@ -331,6 +341,7 @@ span {
   padding: 0 16px;
   overflow: hidden;
   margin-bottom: 20px;
+
   .searchTitle {
     font-size: 16px;
     color: #333333;
@@ -342,12 +353,14 @@ span {
   display: flex;
   flex-wrap: wrap;
   text-align: center;
+
   .item {
     display: block;
     margin-right: 5px;
     margin-bottom: 10px;
     min-width: 80px;
     height: 32px;
+
     &:nth-child(4n + 0) {
       margin-right: 0;
     }
@@ -356,14 +369,18 @@ span {
 
 .radio {
   box-sizing: border-box;
+
   :global {
+
     .van-radio__icon,
     .van-checkbox__icon {
       display: none;
     }
+
     .van-checkbox__label {
       margin-left: 0;
     }
+
     .van-tag--large {
       // width: 94px;
       // height: 30px;
@@ -373,6 +390,7 @@ span {
       align-items: center;
       justify-content: center;
     }
+
     .van-tag {
       box-sizing: border-box;
     }
@@ -382,6 +400,7 @@ span {
       background-color: #fff;
       border: #d8d8d8;
     }
+
     .van-tag--primary.van-tag--plain {
       color: var(--van-primary-color);
       background-color: #fff5f2;
@@ -401,4 +420,4 @@ span {
       pointer-events: none;
     }
   }
-}
+}

+ 78 - 61
src/school/companion-teacher/companion-teacher-register.tsx

@@ -49,6 +49,7 @@ export default defineComponent({
       id: route.query.id,
       name: route.query.name,
       t: route.query.t as any, // 过期时间
+      ic: route.query.ic, // 是否是后台注册,如果是则不需要实名认证
       qrCodeStatus: false, // 二维码是否失效
       qrCodeMessage: '',
       pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
@@ -106,7 +107,8 @@ export default defineComponent({
             ...forms,
             code: state.code,
             subjectIds: forms.subjectIds.join(','),
-            schoolId: state.id
+            schoolId: state.id,
+            checkIdCard: state.ic === '1' ? false : true
           }
         })
         // state.submitStatus = true
@@ -283,8 +285,14 @@ export default defineComponent({
             text: item.subjectName,
             value: item.subjectId
           })
+          // 判断是否从后台注册
+          if (state.ic === '1') {
+            state.popupSelectSubjects.push(item.subjectId)
+          }
         })
         state.columnSubject = tempSubjects
+        // 重置数据
+        onConfirmSubject()
       } catch {
         showDialog({
           message: '信息获取失败,请联系伴学指导',
@@ -448,21 +456,26 @@ export default defineComponent({
               maxlength="5"
             ></Field>
 
-            <Field
-              label="身份证号码"
-              v-model={state.forms.idCardNo}
-              rules={[
-                { required: true, message: '请输入身份证号' },
-                {
-                  pattern:
-                    /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
-                  message: '请输入正确的身份证号'
-                }
-              ]}
-              name="idCardNo"
-              maxlength={18}
-              placeholder="请输入身份证号码"
-            ></Field>
+            {/* 判断是否可以认证 */}
+            {state.ic != '1' ? (
+              <Field
+                label="身份证号码"
+                v-model={state.forms.idCardNo}
+                rules={[
+                  { required: true, message: '请输入身份证号' },
+                  {
+                    pattern:
+                      /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
+                    message: '请输入正确的身份证号'
+                  }
+                ]}
+                name="idCardNo"
+                maxlength={18}
+                placeholder="请输入身份证号码"
+              ></Field>
+            ) : (
+              ''
+            )}
 
             <Field label="性别" name="gender" rules={[{ required: true, message: '请选择性别' }]}>
               {{
@@ -497,51 +510,55 @@ export default defineComponent({
               }}
             </Field>
 
-            <div class={[styles.fieldGroup, 'van-hairline--bottom']}>
-              <Field
-                label="身份证照片"
-                v-model={state.forms.idcardFrontImg}
-                readonly
-                border={false}
-                name="idcardFrontImg"
-                rules={[{ required: true, message: '请上传身份证正面', trigger: 'onChange' }]}
-                placeholder="请上传身份证正面"
-              >
-                {{
-                  input: () => (
-                    <OUpload
-                      style={{ width: '100%' }}
-                      tips="上传身份证正面"
-                      bucket="gyt"
-                      path="/user/"
-                      v-model:modelValue={state.forms.idcardFrontImg}
-                    />
-                  )
-                }}
-              </Field>
-              <Field
-                label={'上传身份证'}
-                labelClass={styles.fieldTitle}
-                v-model={state.forms.idcardBackImg}
-                readonly
-                border={false}
-                name="idcardBackImg"
-                rules={[{ required: true, message: '请上传身份证反面', trigger: 'onChange' }]}
-                placeholder="请上传身份证反面"
-              >
-                {{
-                  input: () => (
-                    <OUpload
-                      style={{ width: '100%' }}
-                      tips="上传身份证反面"
-                      bucket="gyt"
-                      path="/user/"
-                      v-model:modelValue={state.forms.idcardBackImg}
-                    />
-                  )
-                }}
-              </Field>
-            </div>
+            {state.ic != '1' ? (
+              <div class={[styles.fieldGroup, 'van-hairline--bottom']}>
+                <Field
+                  label="身份证照片"
+                  v-model={state.forms.idcardFrontImg}
+                  readonly
+                  border={false}
+                  name="idcardFrontImg"
+                  rules={[{ required: true, message: '请上传身份证正面', trigger: 'onChange' }]}
+                  placeholder="请上传身份证正面"
+                >
+                  {{
+                    input: () => (
+                      <OUpload
+                        style={{ width: '100%' }}
+                        tips="上传身份证正面"
+                        bucket="gyt"
+                        path="/user/"
+                        v-model:modelValue={state.forms.idcardFrontImg}
+                      />
+                    )
+                  }}
+                </Field>
+                <Field
+                  label={'上传身份证'}
+                  labelClass={styles.fieldTitle}
+                  v-model={state.forms.idcardBackImg}
+                  readonly
+                  border={false}
+                  name="idcardBackImg"
+                  rules={[{ required: true, message: '请上传身份证反面', trigger: 'onChange' }]}
+                  placeholder="请上传身份证反面"
+                >
+                  {{
+                    input: () => (
+                      <OUpload
+                        style={{ width: '100%' }}
+                        tips="上传身份证反面"
+                        bucket="gyt"
+                        path="/user/"
+                        v-model:modelValue={state.forms.idcardBackImg}
+                      />
+                    )
+                  }}
+                </Field>
+              </div>
+            ) : (
+              ''
+            )}
 
             <Field
               label="学历"

+ 68 - 60
src/school/manage-teacher/manage-teacher-register.tsx

@@ -44,6 +44,7 @@ export default defineComponent({
       id: route.query.id,
       name: route.query.name,
       t: route.query.t as any, // 过期时间
+      ic: route.query.ic, // 是否是后台注册,如果是则不需要实名认证
       qrCodeStatus: false, // 二维码是否失效
       qrCodeMessage: '',
       pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
@@ -90,7 +91,8 @@ export default defineComponent({
         await request.post('/api-school/open/schoolStaff/registerTeacher', {
           data: {
             ...forms,
-            schoolId: state.id
+            schoolId: state.id,
+            checkIdCard: state.ic === '1' ? false : true
           }
         })
         // state.submitStatus = true
@@ -308,66 +310,72 @@ export default defineComponent({
               提示:手机号码将成为您管乐团管理端登录账号
             </div>
 
-            <Field
-              label="身份证号码"
-              v-model={state.forms.idCardNo}
-              rules={[
-                { required: true, message: '请输入身份证号' },
-                {
-                  pattern:
-                    /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
-                  message: '请输入正确的身份证号'
-                }
-              ]}
-              name="idCardNo"
-              placeholder="请输入身份证号码"
-            ></Field>
+            {state.ic != '1' ? (
+              <>
+                <Field
+                  label="身份证号码"
+                  v-model={state.forms.idCardNo}
+                  rules={[
+                    { required: true, message: '请输入身份证号' },
+                    {
+                      pattern:
+                        /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
+                      message: '请输入正确的身份证号'
+                    }
+                  ]}
+                  name="idCardNo"
+                  placeholder="请输入身份证号码"
+                ></Field>
 
-            <div class={[styles.fieldGroup, 'van-hairline--bottom']}>
-              <Field
-                label="身份证照片"
-                v-model={state.forms.idcardFrontImg}
-                readonly
-                border={false}
-                name="idcardFrontImg"
-                rules={[{ required: true, message: '请上传身份证正面', trigger: 'onChange' }]}
-                placeholder="请上传身份证正面"
-              >
-                {{
-                  input: () => (
-                    <OUpload
-                      style={{ width: '100%' }}
-                      tips="上传身份证正面"
-                      bucket="gyt"
-                      path="/user/"
-                      v-model:modelValue={state.forms.idcardFrontImg}
-                    />
-                  )
-                }}
-              </Field>
-              <Field
-                label={'上传身份证'}
-                labelClass={styles.fieldTitle}
-                v-model={state.forms.idcardBackImg}
-                readonly
-                border={false}
-                name="idcardBackImg"
-                rules={[{ required: true, message: '请上传身份证反面', trigger: 'onChange' }]}
-                placeholder="请上传身份证反面"
-              >
-                {{
-                  input: () => (
-                    <OUpload
-                      style={{ width: '100%' }}
-                      tips="上传身份证反面"
-                      bucket="gyt"
-                      path="/user/"
-                      v-model:modelValue={state.forms.idcardBackImg}
-                    />
-                  )
-                }}
-              </Field>
-            </div>
+                <div class={[styles.fieldGroup, 'van-hairline--bottom']}>
+                  <Field
+                    label="身份证照片"
+                    v-model={state.forms.idcardFrontImg}
+                    readonly
+                    border={false}
+                    name="idcardFrontImg"
+                    rules={[{ required: true, message: '请上传身份证正面', trigger: 'onChange' }]}
+                    placeholder="请上传身份证正面"
+                  >
+                    {{
+                      input: () => (
+                        <OUpload
+                          style={{ width: '100%' }}
+                          tips="上传身份证正面"
+                          bucket="gyt"
+                          path="/user/"
+                          v-model:modelValue={state.forms.idcardFrontImg}
+                        />
+                      )
+                    }}
+                  </Field>
+                  <Field
+                    label={'上传身份证'}
+                    labelClass={styles.fieldTitle}
+                    v-model={state.forms.idcardBackImg}
+                    readonly
+                    border={false}
+                    name="idcardBackImg"
+                    rules={[{ required: true, message: '请上传身份证反面', trigger: 'onChange' }]}
+                    placeholder="请上传身份证反面"
+                  >
+                    {{
+                      input: () => (
+                        <OUpload
+                          style={{ width: '100%' }}
+                          tips="上传身份证反面"
+                          bucket="gyt"
+                          path="/user/"
+                          v-model:modelValue={state.forms.idcardBackImg}
+                        />
+                      )
+                    }}
+                  </Field>
+                </div>
+              </>
+            ) : (
+              ''
+            )}
 
             <Field label="性别" name="gender" rules={[{ required: true, message: '请选择性别' }]}>
               {{