Browse Source

feat: Dynamic form checkbox #699

Sendya 5 years ago
parent
commit
685977e7f3
3 changed files with 184 additions and 126 deletions
  1. 66 67
      src/mock/services/other.js
  2. 1 1
      src/utils/helper/permission.js
  3. 117 58
      src/views/other/UserList.vue

+ 66 - 67
src/mock/services/other.js

@@ -94,7 +94,7 @@ const role = () => {
         'roleId': 'admin',
         'permissionId': 'comment',
         'permissionName': '评论管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -111,7 +111,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -119,16 +119,15 @@ const role = () => {
           'action': 'delete',
           'describe': '删除',
           'defaultCheck': false
-        }
-        ],
-        'actionList': null,
+        }],
+        'actionList': ['delete', 'edit'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'member',
         'permissionName': '会员管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -145,7 +144,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -155,14 +154,14 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['query', 'get', 'edit', 'delete'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'menu',
         'permissionName': '菜单管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -179,19 +178,19 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'import'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'order',
         'permissionName': '订单管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -208,7 +207,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -218,14 +217,14 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['query', 'add', 'get'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'permission',
         'permissionName': '权限管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -237,7 +236,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -247,14 +246,14 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'get', 'edit', 'delete'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'role',
         'permissionName': '角色管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -266,7 +265,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -292,7 +291,7 @@ const role = () => {
         'roleId': 'admin',
         'permissionId': 'user',
         'permissionName': '用户管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -309,7 +308,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -324,7 +323,7 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'get'],
         'dataAccess': null
       }
       ]
@@ -341,7 +340,7 @@ const role = () => {
         'roleId': 'admin',
         'permissionId': 'comment',
         'permissionName': '评论管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -358,7 +357,7 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -368,14 +367,14 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'get', 'delete'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'member',
         'permissionName': '会员管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -392,14 +391,14 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'query', 'get'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'menu',
         'permissionName': '菜单管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -416,14 +415,14 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'get'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'order',
         'permissionName': '订单管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -440,19 +439,19 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'query'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'permission',
         'permissionName': '权限管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -464,26 +463,26 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add', 'get', 'edit'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'role',
         'permissionName': '角色管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         },
@@ -502,14 +501,14 @@ const role = () => {
         'permissionName': '测试权限',
         'actions': '[]',
         'actionEntitySet': [],
-        'actionList': null,
+        'actionList': ['add', 'edit'],
         'dataAccess': null
       },
       {
         'roleId': 'admin',
         'permissionId': 'user',
         'permissionName': '用户管理',
-        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
+        'actions': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
         'actionEntitySet': [{
           'action': 'add',
           'describe': '新增',
@@ -526,12 +525,12 @@ const role = () => {
           'defaultCheck': false
         },
         {
-          'action': 'update',
+          'action': 'edit',
           'describe': '修改',
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['add'],
         'dataAccess': null
       }
       ]
@@ -560,7 +559,7 @@ const role = () => {
           'defaultCheck': false
         }
         ],
-        'actionList': null,
+        'actionList': ['query'],
         'dataAccess': null
       },
 
@@ -674,7 +673,7 @@ const permissionNoPager = () => {
     'name': '营销管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
     'sptDaTypes': null,
     'optionalFields': null,
     'parents': null,
@@ -684,7 +683,7 @@ const permissionNoPager = () => {
       'add',
       'query',
       'get',
-      'update',
+      'edit',
       'delete'
     ]
   },
@@ -693,7 +692,7 @@ const permissionNoPager = () => {
     'name': '会员管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
     'sptDaTypes': null,
     'optionalFields': '[]',
     'parents': null,
@@ -703,7 +702,7 @@ const permissionNoPager = () => {
       'add',
       'query',
       'get',
-      'update',
+      'edit',
       'delete'
     ]
   },
@@ -712,7 +711,7 @@ const permissionNoPager = () => {
     'name': '菜单管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"}]',
+    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
     'sptDaTypes': null,
     'optionalFields': '[]',
     'parents': null,
@@ -722,7 +721,7 @@ const permissionNoPager = () => {
       'add',
       'import',
       'get',
-      'update'
+      'edit'
     ]
   },
   {
@@ -730,7 +729,7 @@ const permissionNoPager = () => {
     'name': '订单管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
     'sptDaTypes': null,
     'optionalFields': '[]',
     'parents': null,
@@ -740,7 +739,7 @@ const permissionNoPager = () => {
       'add',
       'query',
       'get',
-      'update',
+      'edit',
       'delete'
     ]
   },
@@ -749,7 +748,7 @@ const permissionNoPager = () => {
     'name': '权限管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
     'sptDaTypes': null,
     'optionalFields': '[]',
     'parents': null,
@@ -758,7 +757,7 @@ const permissionNoPager = () => {
     'actions': [
       'add',
       'get',
-      'update',
+      'edit',
       'delete'
     ]
   },
@@ -767,7 +766,7 @@ const permissionNoPager = () => {
     'name': '角色管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+    'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
     'sptDaTypes': null,
     'optionalFields': '[]',
     'parents': null,
@@ -776,7 +775,7 @@ const permissionNoPager = () => {
     'actions': [
       'add',
       'get',
-      'update',
+      'edit',
       'delete'
     ]
   },
@@ -801,7 +800,7 @@ const permissionNoPager = () => {
     'name': '用户管理',
     'describe': null,
     'status': 1,
-    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
+    'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"export","defaultCheck":false,"describe":"导出"}]',
     'sptDaTypes': null,
     'optionalFields': '[]',
     'parents': null,
@@ -822,7 +821,7 @@ const permissions = () => {
       'name': '营销管理',
       'describe': null,
       'status': 1,
-      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
       'sptDaTypes': null,
       'optionalFields': null,
       'parents': null,
@@ -832,7 +831,7 @@ const permissions = () => {
         'add',
         'query',
         'get',
-        'update',
+        'edit',
         'delete'
       ]
     },
@@ -841,7 +840,7 @@ const permissions = () => {
       'name': '会员管理',
       'describe': null,
       'status': 1,
-      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
       'sptDaTypes': null,
       'optionalFields': '[]',
       'parents': null,
@@ -851,7 +850,7 @@ const permissions = () => {
         'add',
         'query',
         'get',
-        'update',
+        'edit',
         'delete'
       ]
     },
@@ -860,7 +859,7 @@ const permissions = () => {
       'name': '菜单管理',
       'describe': null,
       'status': 1,
-      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"}]',
+      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"}]',
       'sptDaTypes': null,
       'optionalFields': '[]',
       'parents': null,
@@ -870,7 +869,7 @@ const permissions = () => {
         'add',
         'import',
         'get',
-        'update'
+        'edit'
       ]
     },
     {
@@ -878,7 +877,7 @@ const permissions = () => {
       'name': '订单管理',
       'describe': null,
       'status': 1,
-      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+      'actionData': '[{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
       'sptDaTypes': null,
       'optionalFields': '[]',
       'parents': null,
@@ -888,7 +887,7 @@ const permissions = () => {
         'add',
         'query',
         'get',
-        'update',
+        'edit',
         'delete'
       ]
     },
@@ -897,7 +896,7 @@ const permissions = () => {
       'name': '权限管理',
       'describe': null,
       'status': 1,
-      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
       'sptDaTypes': null,
       'optionalFields': '[]',
       'parents': null,
@@ -906,7 +905,7 @@ const permissions = () => {
       'actions': [
         'add',
         'get',
-        'update',
+        'edit',
         'delete'
       ]
     },
@@ -915,7 +914,7 @@ const permissions = () => {
       'name': '角色管理',
       'describe': null,
       'status': 1,
-      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
+      'actionData': '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"查询"},{"action":"edit","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]',
       'sptDaTypes': null,
       'optionalFields': '[]',
       'parents': null,
@@ -924,7 +923,7 @@ const permissions = () => {
       'actions': [
         'add',
         'get',
-        'update',
+        'edit',
         'delete'
       ]
     },

+ 1 - 1
src/utils/helper/permission.js

@@ -1,4 +1,4 @@
-const PERMISSION_ENUM = {
+export const PERMISSION_ENUM = {
   'add': { key: 'add', label: '新增' },
   'delete': { key: 'delete', label: '删除' },
   'edit': { key: 'edit', label: '修改' },

+ 117 - 58
src/views/other/UserList.vue

@@ -32,6 +32,8 @@
       size="default"
       :columns="columns"
       :data="loadData"
+      :expandedRowKeys="expandedRowKeys"
+      @expand="handleExpand"
     >
       <div
         slot="expandedRowRender"
@@ -40,17 +42,19 @@
         <a-row
           :gutter="24"
           :style="{ marginBottom: '12px' }">
-          <a-col :span="12" v-for="(role, index) in record.permissions" :key="index" :style="{ marginBottom: '12px' }">
+          <a-col :span="12" v-for="(role, index) in record.permissions" :key="index" :style="{ marginBottom: '12px', height: '23px' }">
             <a-col :lg="4" :md="24">
               <span>{{ role.permissionName }}:</span>
             </a-col>
-            <a-col :lg="20" :md="24" v-if="role.actionEntitySet.length > 0">
-              <a-tag color="cyan" v-for="(action, k) in role.actionEntitySet" :key="k">{{ action.describe }}</a-tag>
+            <a-col :lg="20" :md="24" v-if="role.actionList && role.actionList.length > 0">
+              <a-tag color="cyan" v-for="action in role.actionList" :key="action">{{ action | permissionFilter }}</a-tag>
             </a-col>
             <a-col :span="20" v-else>-</a-col>
           </a-col>
         </a-row>
       </div>
+      <a-tag color="blue" slot="status" slot-scope="text">{{ text | statusFilter }}</a-tag>
+      <span slot="createTime" slot-scope="text">{{ text | moment }}</span>
       <span slot="action" slot-scope="text, record">
         <a @click="handleEdit(record)">编辑</a>
         <a-divider type="vertical" />
@@ -80,7 +84,7 @@
       v-model="visible"
       @ok="handleOk"
     >
-      <a-form :form="form">
+      <a-form class="permission-form" :form="form">
 
         <a-form-item
           :labelCol="labelCol"
@@ -91,9 +95,8 @@
         >
           <a-input
             placeholder="唯一识别码"
-            id="no"
             disabled="disabled"
-            v-decorator="['no']"
+            v-decorator="['id']"
           />
         </a-form-item>
 
@@ -106,8 +109,7 @@
         >
           <a-input
             placeholder="起一个名字"
-            id="role_name"
-            v-decorator="['roleName']"
+            v-decorator="['name']"
           />
         </a-form-item>
 
@@ -138,24 +140,20 @@
           />
         </a-form-item>
 
-        <a-divider />
-
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="拥有权限"
-          hasFeedback
-        >
-          <a-row :gutter="16" v-for="(permission, index) in mdl.permissions" :key="index">
-            <a-col :span="4">
-              {{ permission.permissionName }}:
-            </a-col>
-            <a-col :span="20">
-              <a-checkbox-group :options="permission.actionsOptions"/>
-            </a-col>
-          </a-row>
-
-        </a-form-item>
+        <a-divider>拥有权限</a-divider>
+        <template v-for="permission in permissions">
+          <a-form-item
+            class="permission-group"
+            v-if="permission.actionsOptions && permission.actionsOptions.length > 0"
+            :labelCol="labelCol"
+            :wrapperCol="wrapperCol"
+            :key="permission.permissionId"
+            :label="permission.permissionName"
+          >
+            <a-checkbox>全选</a-checkbox>
+            <a-checkbox-group v-decorator="[`permissions.${permission.permissionId}`]" :options="permission.actionsOptions"/>
+          </a-form-item>
+        </template>
 
       </a-form>
     </a-modal>
@@ -167,6 +165,39 @@
 import pick from 'lodash.pick'
 import { STable } from '@/components'
 import { getRoleList, getServiceList } from '@/api/manage'
+import { PERMISSION_ENUM } from '@/utils/helper/permission'
+
+const STATUS = {
+  1: '启用',
+  2: '禁用'
+}
+
+const columns = [
+  {
+    title: '唯一识别码',
+    dataIndex: 'id'
+  },
+  {
+    title: '角色名称',
+    dataIndex: 'name'
+  },
+  {
+    title: '状态',
+    dataIndex: 'status',
+    scopedSlots: { customRender: 'status' }
+  },
+  {
+    title: '创建时间',
+    dataIndex: 'createTime',
+    scopedSlots: { customRender: 'createTime' },
+    sorter: true
+  }, {
+    title: '操作',
+    width: '150px',
+    dataIndex: 'action',
+    scopedSlots: { customRender: 'action' }
+  }
+]
 
 export default {
   name: 'TableList',
@@ -187,50 +218,39 @@ export default {
         sm: { span: 16 }
       },
       form: this.$form.createForm(this),
-      mdl: {},
+      permissions: [],
 
       // 高级搜索 展开/关闭
       advanced: false,
       // 查询参数
       queryParam: {},
       // 表头
-      columns: [
-        {
-          title: '唯一识别码',
-          dataIndex: 'id'
-        },
-        {
-          title: '角色名称',
-          dataIndex: 'name'
-        },
-        {
-          title: '状态',
-          dataIndex: 'status'
-        },
-        {
-          title: '创建时间',
-          dataIndex: 'createTime',
-          sorter: true
-        }, {
-          title: '操作',
-          width: '150px',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' }
-        }
-      ],
+      columns,
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         return getRoleList(parameter)
           .then(res => {
             console.log('getRoleList', res)
+            // 展开全部行
+            this.expandedRowKeys = res.result.data.map(item => item.id)
             return res.result
           })
       },
 
+      expandedRowKeys: [],
       selectedRowKeys: [],
       selectedRows: []
     }
   },
+  filters: {
+    statusFilter (key) {
+      return STATUS[key]
+    },
+    permissionFilter (key) {
+      const permission = PERMISSION_ENUM[key]
+      return permission && permission.label
+    }
+  },
   created () {
     getServiceList().then(res => {
       console.log('getServiceList.call()', res)
@@ -242,23 +262,52 @@ export default {
   },
   methods: {
     handleEdit (record) {
-      this.form.setFieldsValue(pick(record, ['no', 'status', 'describe', 'roleName']))
+      this.visible = true
+      console.log('record', record)
 
-      this.mdl.permissions.forEach(permission => {
-        permission.actionsOptions = permission.actionEntitySet.map(action => {
-          return { label: action.describe, value: action.action, defaultCheck: action.defaultCheck }
+      const checkboxGroup = {}
+      this.permissions = record.permissions.map(permission => {
+        const groupKey = `permissions.${permission.permissionId}`
+        checkboxGroup[groupKey] = permission.actionList
+        const actionsOptions = permission.actionEntitySet.map(action => {
+          return {
+            label: action.describe,
+            value: action.action,
+            defaultCheck: action.defaultCheck
+          }
         })
+        return {
+          ...permission,
+          actionsOptions
+        }
       })
 
-      this.visible = true
-    },
-    handleOk () {
+      this.$nextTick(() => {
+        console.log('permissions', this.permissions)
+        console.log('checkboxGroup', checkboxGroup)
 
+        this.form.setFieldsValue(pick(record, ['id', 'status', 'describe', 'name']))
+        this.form.setFieldsValue(checkboxGroup)
+      })
+    },
+    handleOk (e) {
+      e.preventDefault()
+      this.form.validateFields((err, values) => {
+        console.log(err, values)
+      })
     },
     onChange (selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
     },
+    handleExpand (expanded, record) {
+      console.log('expanded', expanded, record)
+      if (expanded) {
+        this.expandedRowKeys.push(record.id)
+      } else {
+        this.expandedRowKeys = this.expandedRowKeys.filter(item => record.id !== item)
+      }
+    },
     toggleAdvanced () {
       this.advanced = !this.advanced
     }
@@ -279,3 +328,13 @@ export default {
   }
 }
 </script>
+
+<style lang="less" scoped>
+.permission-form {
+  /deep/ .permission-group {
+    margin-top: 0;
+    margin-bottom: 0;
+  }
+}
+
+</style>