Răsfoiți Sursa

调整新增用户选择角色的机构绑定

luojun 2 ani în urmă
părinte
comite
7c95e2474c
3 a modificat fișierele cu 60 adăugiri și 29 ștergeri
  1. 1 1
      package.json
  2. 7 1
      src/api/system/user.js
  3. 52 27
      src/views/system/user/index.vue

+ 1 - 1
package.json

@@ -46,7 +46,7 @@
     "element-ui": "2.15.12",
     "file-saver": "2.0.5",
     "fuse.js": "6.4.3",
-    "highlight.js": "9.18.5",
+    "highlight.js": "10.7.3",
     "js-beautify": "1.13.0",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.0.0-rc.1",

+ 7 - 1
src/api/system/user.js

@@ -18,7 +18,13 @@ export function dictionListUser(query) {
     params: query
   })
 }
-
+export function selectrolesByOrgId(query) {
+  return request({
+    url: '/system/user/selectrolesByOrgId',
+    method: 'get',
+    params: query
+  })
+}
 
 // 查询用户详细
 export function getUser(userId) {

+ 52 - 27
src/views/system/user/index.vue

@@ -296,34 +296,44 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="10">
-            <el-form-item label="用户名称" prop="username"  >
+            <el-form-item label="用户名称" prop="username">
               <el-input
                 v-model="form.username"
                 placeholder="请输入用户名"
                 maxlength="30"
-              :readonly="form.source==1"/>
+                :readonly="form.source == 1"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="用户昵称" prop="name" >
+            <el-form-item label="用户昵称" prop="name">
               <el-input
                 v-model="form.name"
                 placeholder="请输入用户昵称"
                 maxlength="30"
-              :readonly="form.source==1"/>
+                :readonly="form.source == 1"
+              />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="所属机构" prop="orgId" >
-              <tree-select v-model="form.orgId" :options="deptOptions" :show-count="true" :normalizer="tenantIdnormalizer"
-                :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择归属机构" :disabled="form.source==1"/>
+            <el-form-item label="所属机构" prop="orgId">
+              <tree-select
+                v-model="form.orgId"
+                :options="deptOptions"
+                :show-count="true"
+                :normalizer="tenantIdnormalizer"
+                :props="{ checkStrictly: true, label: 'name' }"
+                placeholder="请选择归属机构"
+                :disabled="form.source == 1"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="10">
             <el-form-item label="用户角色" prop="roleIds">
               <el-select
+              @visible-change="selectRoles"
                 style="width: 100%"
                 v-model="form.roleIds"
                 multiple
@@ -342,21 +352,22 @@
         </el-row>
         <el-row>
           <el-col :span="10">
-            <el-form-item label="手机号码" prop="phone" >
+            <el-form-item label="手机号码" prop="phone">
               <el-input
                 v-model="form.phone"
                 placeholder="请输入手机号码"
                 maxlength="11"
-              :readonly="form.source==1"/>
+                :readonly="form.source == 1"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="10">
-            <el-form-item label="用户性别" >
+            <el-form-item label="用户性别">
               <el-select
                 style="width: 100%"
                 v-model="form.gender"
                 placeholder="请选择性别"
-                :disabled="form.source==1"
+                :disabled="form.source == 1"
               >
                 <el-option
                   v-for="dict in dict.type.sys_user_sex"
@@ -393,12 +404,13 @@
         </el-row>
         <el-row>
           <el-col :span="14">
-            <el-form-item label="状态" >
+            <el-form-item label="状态">
               <el-radio-group v-model="form.isLock">
                 <el-radio
                   v-for="dict in dict.type.sys_normal_disable"
                   :key="`${dict.value}`"
-                  :label="dict.value" :disabled="form.source==1"
+                  :label="dict.value"
+                  :disabled="form.source == 1"
                   >{{ dict.label }}</el-radio
                 >
               </el-radio-group>
@@ -466,6 +478,7 @@ import {
   updateUser,
   resetUserPwd,
   changeUserStatus,
+  selectrolesByOrgId,
 } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import { deptTreeSelect } from "@/api/system/public";
@@ -568,17 +581,21 @@ export default {
           { required: true, message: "用户角色不能为空", trigger: "blur" },
         ],
         password: [
-          { required: true, message: '密码不能为空', trigger: 'blur' },
-          { min: 8, message: '密码至少为8位', trigger: 'blur' },
+          { required: true, message: "密码不能为空", trigger: "blur" },
+          { min: 8, message: "密码至少为8位", trigger: "blur" },
           {
             validator: (rule, value, callback) => {
-              if (!/[a-z]/.test(value) || !/[A-Z]/.test(value) || !/\d/.test(value)) {
-                callback(new Error('密码必须包含大小写字母和数字'));
+              if (
+                !/[a-z]/.test(value) ||
+                !/[A-Z]/.test(value) ||
+                !/\d/.test(value)
+              ) {
+                callback(new Error("密码必须包含大小写字母和数字"));
               } else {
                 callback();
               }
             },
-            trigger: 'blur',
+            trigger: "blur",
           },
         ],
         orgId: [
@@ -614,6 +631,12 @@ export default {
   },
   mounted() {},
   methods: {
+    selectRoles(){
+      selectrolesByOrgId({orgId:this.form.orgId}).then((res)=>{
+        // console.log(res);
+        this.roleOptions=res.data;
+      })
+    },
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {
@@ -821,12 +844,16 @@ export default {
     handleDelete(row) {
       console.log(row);
       const userIds = row.id || this.ids;
-      this.$modal.confirm('是否确认删除用户昵称为"' + row.name + '"的数据项?').then(function () {
-        return delUser(userIds);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => { });
+      this.$modal
+        .confirm('是否确认删除用户昵称为"' + row.name + '"的数据项?')
+        .then(function () {
+          return delUser(userIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -877,6 +904,4 @@ export default {
 };
 </script>
 <style lang="scss"></style>
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>