فهرست منبع

:recycle: 重构代码, 角色不在管理部门

冷冷 6 سال پیش
والد
کامیت
8c1fe99142
8فایلهای تغییر یافته به همراه29 افزوده شده و 47 حذف شده
  1. 1 1
      package.json
  2. 2 2
      src/api/role.js
  3. 8 1
      src/api/user.js
  4. 1 12
      src/const/crud/role.js
  5. 12 2
      src/const/crud/user.js
  6. 1 23
      src/views/admin/role/index.vue
  7. 3 5
      src/views/admin/user/index.vue
  8. 1 1
      vue.config.js

+ 1 - 1
package.json

@@ -10,7 +10,7 @@
     "test:e2e": "vue-cli-service test:e2e"
   },
   "dependencies": {
-    "@smallwei/avue": "^1.1.21-beta1",
+    "@smallwei/avue": "^1.3.1-beta3",
     "avue-plugin-transfer": "^0.0.2",
     "avue-plugin-ueditor": "^0.0.1",
     "axios": "^0.18.0",

+ 2 - 2
src/api/role.js

@@ -32,9 +32,9 @@ export function fetchList(query) {
   })
 }
 
-export function deptRoleList(deptId) {
+export function deptRoleList() {
   return request({
-    url: '/admin/role/roleList/' + deptId,
+    url: '/admin/role/roleList/',
     method: 'get'
   })
 }

+ 8 - 1
src/api/user.js

@@ -53,4 +53,11 @@ export function putObj(obj) {
         method: 'put',
         data: obj
     })
-}
+}
+
+export function getDetails(obj) {
+    return request({
+        url: '/admin/user/details/' + obj,
+        method: 'get'
+    })
+}

+ 1 - 12
src/const/crud/role.js

@@ -64,17 +64,6 @@ export const tableOption = {
                 trigger: 'blur'
             }
         ]
-    }, {
-        label: '所属部门',
-        prop: 'roleDeptId',
-        formsolt: true,
-        solt: true,
-        span: 24,
-        rules: [{
-            required: true,
-            message: '所属部门不能为空',
-            trigger: 'blur'
-        }]
     }, {
         width: 180,
         label: '角色描述',
@@ -95,4 +84,4 @@ export const tableOption = {
         addVisdiplay: false,
         span: 24,
     }]
-}
+}

+ 12 - 2
src/const/crud/user.js

@@ -14,6 +14,15 @@
  * this software without specific prior written permission.
  * Author: lengleng (wangiegie@gmail.com)
  */
+import { getDetails } from "@/api/user";
+var validateUsername = (rule, value, callback) => {
+    getDetails(value).then(response => {
+        let result = response.data.data
+        if (result !== null){
+            callback(new Error('用户名已经存在'))
+        }
+    });
+};
 export const tableOption = {
     border: true,
     index: true,
@@ -35,20 +44,21 @@ export const tableOption = {
         fixed: true,
         label: '用户名',
         prop: 'username',
+        editDisabled: true,
         solt: true,
         search: true,
         span: 24,
         rules: [{
                 required: true,
                 message: "请输入用户名",
-                trigger: "blur"
             },
             {
                 min: 3,
                 max: 20,
                 message: "长度在 3 到 20 个字符",
                 trigger: "blur"
-            }
+            },
+            { validator: validateUsername, trigger: 'blur' }
         ]
     }, {
         label: '密码',

+ 1 - 23
src/views/admin/role/index.vue

@@ -40,19 +40,6 @@
                      type="primary"
                      icon="el-icon-edit">添加</el-button>
         </template>
-        <template slot="roleDeptId"
-                  slot-scope="scope">
-          <el-tag>{{scope.row.deptName}}</el-tag>
-        </template>
-        <template slot="roleDeptIdForm"
-                  slot-scope="scope">
-          <avue-crud-input v-model="form.roleDeptId"
-                           type="tree"
-                           placeholder="请选择所属部门"
-                           :node-click="getNodeData"
-                           :dic="treeDeptData"
-                           :props="defaultProps"></avue-crud-input>
-        </template>
         <template slot="menu"
                   slot-scope="scope">
           <el-button size="mini"
@@ -105,8 +92,7 @@ import {
   putObj,
   delObj,
   permissionUpd,
-  fetchRoleTree,
-  fetchDeptTree
+  fetchRoleTree
 } from '@/api/role'
 import { fetchTree } from '@/api/menu'
 import { mapGetters } from 'vuex'
@@ -117,7 +103,6 @@ export default {
     return {
       tableOption: tableOption,
       treeData: [],
-      treeDeptData: [],
       checkedKeys: [],
       defaultProps: {
         label: "name",
@@ -185,7 +170,6 @@ export default {
       this.$refs.crud.rowAdd();
     },
     handleOpenBefore (show, type) {
-      this.handleDept();
       show();
     },
     handleUpdate (row, index) {
@@ -226,17 +210,11 @@ export default {
       }
       return temp
     },
-    handleDept () {
-      fetchDeptTree().then(response => {
-        this.treeDeptData = response.data
-      })
-    },
     filterNode (value, data) {
       if (!value) return true
       return data.label.indexOf(value) !== -1
     },
     getNodeData (data, done) {
-      this.form.deptName = data.name
       done();
     },
     handleDelete (row, index) {

+ 3 - 5
src/views/admin/user/index.vue

@@ -104,7 +104,6 @@ import { tableOption } from '@/const/crud/user';
 import { mapGetters } from "vuex";
 import { constants } from 'fs';
 import { connect } from 'tls';
-
 export default {
   name: "table_user",
   data () {
@@ -170,9 +169,8 @@ export default {
         this.listLoading = false;
       });
     },
-    getNodeData (data, done) {
-      done();
-      deptRoleList(this.form.deptId).then(response => {
+    getNodeData (data) {
+      deptRoleList().then(response => {
         this.rolesOptions = response.data;
       });
     },
@@ -207,7 +205,7 @@ export default {
         for (var i = 0; i < this.form.roleList.length; i++) {
           this.role[i] = this.form.roleList[i].roleId;
         }
-        deptRoleList(this.form.deptId).then(response => {
+        deptRoleList().then(response => {
           this.rolesOptions = response.data;
         });
       } else if (type === 'add') {

+ 1 - 1
vue.config.js

@@ -1,4 +1,4 @@
-const url = 'http://localhost:9999'
+const url = 'http://zn.huaxiadaowei.com:9999'
 module.exports = {
     lintOnSave: true,
     productionSourceMap: false,