Browse Source

注册机构分类

natasha 1 month ago
parent
commit
4ff535d3fa
1 changed files with 40 additions and 7 deletions
  1. 40 7
      src/views/register.vue

+ 40 - 7
src/views/register.vue

@@ -103,7 +103,7 @@
         </el-form-item>
         <el-divider content-position="left">加入机构</el-divider>
         <el-form-item label="选择机构" prop="region">
-          <el-select
+          <!-- <el-select
             v-model="registerForm.region"
             filterable
             remote
@@ -118,9 +118,18 @@
               :value="item.id"
             >
             </el-option>
-          </el-select>
+          </el-select> -->
+          <el-cascader
+            v-model="region"
+            :options="options"
+            filterable
+            :show-all-levels="false"
+          ></el-cascader>
           <p class="tips">
-            集体订报用户请选择自己的年级,个人用户请选“个人用户”
+            班级集体定报用户请选择自己使用的年级,个人用户请选择“个人用户“。<span
+              style="color: #f00"
+              >选择错误会导致注册失败。</span
+            >
           </p>
         </el-form-item>
         <el-divider content-position="left">安全信息</el-divider>
@@ -346,6 +355,7 @@ export default {
         userAgreeCheck: [],
         region: "",
       },
+      region: [],
       rulesRegister: {
         name: [
           { required: true, validator: validateName, trigger: "blur" },
@@ -396,6 +406,18 @@ export default {
       loading: false,
       show: false,
       showUseragreement: false,
+      options: [
+        {
+          value: "jiti",
+          label: "集体用户",
+          children: [],
+        },
+        {
+          value: "geren",
+          label: "个人用户",
+          children: [],
+        },
+      ],
     };
   },
   //计算属性 类似于data概念
@@ -448,7 +470,7 @@ export default {
             real_name: form.realName,
             sex: form.sex,
             image_id: form.cover_image_id,
-            org_id: form.region,
+            org_id: this.region[1] ? this.region[1] : "",
             email: form.email,
             phone: form.phone,
             city_id: form.selectedOptions[1],
@@ -487,11 +509,22 @@ export default {
       getLogin(MethodName, data)
         .then((res) => {
           if (res.status === 1) {
-            let list = [...res.org_index_list].sort((a, b) =>
+            let groupList = [];
+            let personalList = [];
+            res.org_index_list.forEach((item) => {
+              item.value = item.id;
+              item.label = item.name;
+              if (item.name === "个人用户") {
+                personalList.push(item);
+              } else {
+                groupList.push(item);
+              }
+            });
+            let list = [...groupList].sort((a, b) =>
               a.name.localeCompare(b.name)
             );
-            this.searchOrgList = JSON.parse(JSON.stringify(list));
-            this.orgList = list;
+            this.options[0].children = list;
+            this.options[1].children = personalList;
           }
         })
         .catch(() => {