张延森 6 years ago
parent
commit
616b5257dd

+ 4
- 4
src/config/api.js View File

@@ -325,9 +325,9 @@ const apis = {
325 325
       method: 'get',
326 326
       url: `${commPrefix}/role`
327 327
     },
328
-    getById: {
328
+    get: {
329 329
       method: 'get',
330
-      url: `${commPrefix}/roleById`
330
+      url: `${commPrefix}/role/:id`
331 331
     },
332 332
     save: {
333 333
       method: 'post',
@@ -341,9 +341,9 @@ const apis = {
341 341
       method: 'get',
342 342
       url: `${commPrefix}/menus`
343 343
     },
344
-    deleteMenu: {
344
+    delete: {
345 345
       method: 'delete',
346
-      url: `${commPrefix}/role`
346
+      url: `${commPrefix}/role/:id`
347 347
     }
348 348
   },
349 349
   menu:{

+ 19
- 22
src/store/modules/role.js View File

@@ -1,5 +1,5 @@
1 1
 import lodash from 'lodash'
2
-import { interact } from '../../utils'
2
+import { interact, replaceApiParams } from '../../utils'
3 3
 import apis from '../../config/api'
4 4
 
5 5
 export default {
@@ -17,9 +17,9 @@ export default {
17 17
         }
18 18
     },
19 19
     actions: {
20
-        GetList({ commit }, payload) {
20
+        getList({ commit }, payload) {
21 21
             return new Promise((resolve, reject) => {
22
-                const api = lodash.get(apis,'sysRole.list')
22
+                const api = apis.sysRole.list
23 23
                 interact(api, payload).then((data) => {
24 24
                     commit('setList', data)
25 25
                     resolve(data)
@@ -29,7 +29,7 @@ export default {
29 29
 
30 30
             })
31 31
         },
32
-        AddRole( _, payload) {
32
+        addRole( _, payload) {
33 33
             return new Promise((resolve, reject) => {
34 34
                 const api = lodash.get(apis,'sysRole.save')
35 35
                 interact(api, payload).then((data)=> {
@@ -39,48 +39,45 @@ export default {
39 39
                 })
40 40
             })
41 41
         },
42
-        GetMenus({ commit }) {
42
+        getMenus({ commit }) {
43 43
             return new Promise((resolve, reject) => {
44
-                const api = lodash.get(apis, 'sysRole.menu')
44
+                const api = apis.menu.list
45 45
                 interact(api).then((data) => {
46 46
                     resolve(data)
47 47
                     commit('setMenus', data)
48
-                }).catch(() => {
49
-                    reject()
48
+                }).catch((err) => {
49
+                    reject(err)
50 50
                 })
51 51
             })
52 52
         },
53
-        GetById(_, payload) {
53
+        getById(_, payload) {
54 54
             return new Promise((resolve, reject) => {
55
-                const api = lodash.get(apis,'sysRole.getById')
56
-                interact(api, payload).then((data) => {
55
+                const api = apis.sysRole.get
56
+                interact(replaceApiParams(api, { id: payload.roleId })).then((data) => {
57 57
                     resolve(data)
58 58
                 }).catch(()=>{
59 59
                     reject()
60 60
                 })
61
-
62 61
             })
63 62
         },
64
-        UpdateRole(_, payload) {
63
+        updateRole(_, payload) {
65 64
             return new Promise((resolve, reject) => {
66 65
                 const api = lodash.get(apis,'sysRole.update')
67 66
                 interact(api, payload).then((data) => {
68 67
                     resolve(data)
69
-                }).catch(()=>{
70
-                    reject()
68
+                }).catch((err)=>{
69
+                    reject(err)
71 70
                 })
72
-
73 71
             })
74 72
         },
75
-        DeleteMenu(_, payload) {
73
+        deleteRole(_, role) {
76 74
             return new Promise((resolve, reject) => {
77
-                const api = lodash.get(apis,'sysRole.deleteMenu')
78
-                interact(api, payload).then((data) => {
75
+                const api = apis.sysRole.delete
76
+                interact(replaceApiParams(api, { id: role.roleId })).then((data) => {
79 77
                     resolve(data)
80
-                }).catch(()=>{
81
-                    reject()
78
+                }).catch((err)=>{
79
+                    reject(err)
82 80
                 })
83
-
84 81
             })
85 82
         },
86 83
         aAddNode({ commit }) {

+ 2
- 2
src/store/modules/sysuser.js View File

@@ -118,11 +118,11 @@ export default {
118 118
         })
119 119
       })
120 120
     },
121
-    updateUserRolede ({ commit }, payload) {
121
+    updateUserRolede (_, payload) {
122 122
       return new Promise((resolve, reject) => {
123 123
         const api = lodash.get(apis, 'sysuser.updateUserRolede')
124 124
         interact(api,payload).then((data) => {
125
-          commit('updateList', data)
125
+          // commit('updateList', data)
126 126
           resolve(data)
127 127
         }).catch(() => {
128 128
           reject()

+ 4
- 4
src/store/system.js View File

@@ -27,7 +27,7 @@ export default {
27 27
   actions: {
28 28
     getUser({ state, commit }) {
29 29
       return new Promise((resolve, reject) => {
30
-        if (state.userLoged) {
30
+        if (state.user && state.user.userId) {
31 31
           resolve(state.user)
32 32
           return
33 33
         }
@@ -57,12 +57,12 @@ export default {
57 57
     //     })
58 58
     //   })
59 59
     // },
60
-    login({ commit }, user) {
60
+    login(_, user) {
61 61
       return new Promise((resolve, reject) => {
62 62
         const api = lodash.get(apis, 'user.login')
63 63
         interact(api, {...user}).then(() => {
64 64
           // commit('updateUser', data)
65
-          commit('syncState', { userLoged: true })
65
+          // commit('syncState', { userLoged: true })
66 66
           resolve()
67 67
         }).catch((err) => {
68 68
           reject(err.message || err)
@@ -73,7 +73,7 @@ export default {
73 73
       const api = lodash.get(apis, 'user.logout')
74 74
       interact(api).then(() => {
75 75
         commit('updateUser', {})
76
-        commit('syncState', { userLoged: false })
76
+        // commit('syncState', { userLoged: false })
77 77
       })
78 78
     }
79 79
   }

+ 18
- 0
src/utils/tree.js View File

@@ -0,0 +1,18 @@
1
+
2
+//
3
+export function appendChildren(data, id, pid) {
4
+  // 浅拷贝原始数据
5
+  const arr = (data || []).map(x => ({...x}))
6
+
7
+  return arr.map((item) => {
8
+    const parent = arr.filter((m) => m[id] === item[pid])[0]
9
+    if (parent) {
10
+      parent.children = (parent.children || []).concat(item)
11
+    }
12
+    return item
13
+  })
14
+}
15
+
16
+export function getTreeNode(data, pid, root = '-1') {
17
+  return (data || []).filter(item => item[pid] === root) || []
18
+}

+ 0
- 9
src/views/index.js View File

@@ -58,15 +58,6 @@ const pages = [
58 58
           title: '菜单管理',
59 59
         },
60 60
       },
61
-      {
62
-        path: 'sysmenu/add',
63
-        name: 'sysmenuAdd',
64
-        component: () => import('./sysmenu/add.vue'),
65
-        meta: {
66
-          menuShow: false,
67
-          title: '添加菜单',
68
-        },
69
-      },
70 61
       {
71 62
         path: 'sysuser/userRole/addUserRole',
72 63
         name: 'addUserRole',

+ 0
- 70
src/views/sysmenu/add.vue View File

@@ -1,70 +0,0 @@
1
-<template>
2
-    <div id="root">
3
-        <el-form ref="form" :model="form" label-width="80px">
4
-            <el-form-item label="菜单权限">
5
-                <el-tree
6
-                        :data="menus"
7
-                        show-checkbox
8
-                        node-key="menuId"
9
-                        ref="tree"
10
-                        :props="defaultProps">
11
-                </el-tree>
12
-            </el-form-item>
13
-        </el-form>
14
-    </div>
15
-</template>
16
-
17
-<script>
18
-import { createNamespacedHelpers } from 'vuex'
19
-const {mapState: mapSysRoleState, mapActions: mapSysRoleActions } = createNamespacedHelpers('sysyrole')
20
-
21
-export default {
22
-  name: "addRole",
23
-  data() {
24
-      return {
25
-          form: {
26
-              roleName: '',
27
-              menuIds: []
28
-          },
29
-          defaultProps: {
30
-              label: 'menuName',
31
-              children: 'children'
32
-          }
33
-      }
34
-  },
35
-  computed: {
36
-      ...mapSysRoleState({
37
-          menus: x => x.menus
38
-      })
39
-  },
40
-  methods: {
41
-    ...mapSysRoleActions([
42
-        'GetMenus',
43
-        'AddRole'
44
-    ]),
45
-    getCheckedNodes() {
46
-      let idSet = new Set();
47
-      const checkedNodes = this.$refs.tree.getCheckedNodes();
48
-      checkedNodes.map((item,index) => {
49
-          idSet.add(item.menuId)
50
-          idSet.add(item.menuPid)
51
-      })
52
-
53
-        for (let [value] of idSet.entries()) this.form.menuIds.push(value);
54
-
55
-    },
56
-    onSubmit() {
57
-        this.getCheckedNodes()
58
-        this.AddRole(this.form)
59
-        this.$router.go(-1)
60
-    }
61
-  },
62
-  created() {
63
-      this.GetMenus()
64
-  }
65
-}
66
-</script>
67
-
68
-<style scoped>
69
-
70
-</style>

+ 7
- 10
src/views/sysmenu/index.vue View File

@@ -1,5 +1,6 @@
1 1
 <template>
2 2
   <div>
3
+    <el-alert title="右击菜单可进行编辑操作" type="warning"></el-alert>
3 4
     <div class="page-bar">
4 5
       <el-button icon="el-icon-plus" @click="insertRootMenu">顶级节点</el-button>
5 6
     </div>
@@ -41,7 +42,8 @@
41 42
     <el-dialog
42 43
       title="提示"
43 44
       :visible.sync="dialogVisible"
44
-      width="30%">
45
+      width="30%"
46
+      @close="contextMenuVisible = false">
45 47
       <el-form :model="checkMenu" label-width="80px">
46 48
         <el-form-item label="菜单ID">
47 49
           <el-input v-model="checkMenu.menuId" :disabled="!!checkMenu.createDate"></el-input>
@@ -60,8 +62,9 @@
60 62
 
61 63
 <script>
62 64
 import { createNamespacedHelpers } from 'vuex'
63
-const { mapActions: mapMenuActions } = createNamespacedHelpers('sysmenu')
65
+import { getTreeNode, appendChildren } from '../../utils/tree.js';
64 66
 
67
+const { mapActions: mapMenuActions } = createNamespacedHelpers('sysmenu')
65 68
 
66 69
 export default {
67 70
   name: 'SysMenu',
@@ -84,7 +87,7 @@ export default {
84 87
   },
85 88
   computed: {
86 89
     treeData () {
87
-      return (this.menusWithChildren || []).filter(m => m.menuPid === "-1") || []
90
+      return getTreeNode(this.menusWithChildren, 'menuPid')
88 91
     },
89 92
   },
90 93
   created () {
@@ -100,13 +103,7 @@ export default {
100 103
     initData () {
101 104
       this.getAllMenus().then((menus) => {
102 105
         this.menusRaw = menus
103
-        this.menusWithChildren = menus.map((menu) => {
104
-          const parent = menus.filter((m) => m.menuId === menu.menuPid)[0]
105
-          if (parent) {
106
-            parent.children = (parent.children || []).concat(menu)
107
-          }
108
-          return menu
109
-        })
106
+        this.menusWithChildren = appendChildren(menus, 'menuId', 'menuPid')
110 107
       })
111 108
     },
112 109
     handleNodeClick (data) {

+ 0
- 142
src/views/sysmenu/list.vue View File

@@ -1,142 +0,0 @@
1
-<template>
2
-  <div id="root">
3
-  <el-row>
4
-    <el-button type="primary" @click="addUserRole()">添加</el-button>
5
-  </el-row>
6
-   
7
-    <el-table
8
-    :data="menuList.records"
9
-    border>
10
-    <el-table-column
11
-      prop="menuId"
12
-      align='center'
13
-      label="菜单ID">
14
-    </el-table-column>
15
-    <el-table-column
16
-      prop="menuName"
17
-      align='center'
18
-      label="菜单名称">
19
-    </el-table-column>
20
-    <el-table-column
21
-      prop="menuPid"
22
-      align='center'
23
-      label="子级名称">
24
-    </el-table-column>
25
-      <el-table-column
26
-      prop="menuParents"
27
-      align='center'
28
-      label="父级名称">
29
-    </el-table-column> 
30
-     <el-table-column
31
-      prop="status"
32
-      align='center'
33
-      label="当前状态">
34
-    </el-table-column>
35
-    <el-table-column
36
-      prop="createDate"
37
-      align='center'
38
-      label="创建时间">
39
-    </el-table-column>
40
-
41
-     <el-table-column
42
-        fixed="right"
43
-        label="操作"
44
-        align='center'>
45
-        <template slot-scope="scope">
46
-          <el-button type="text" @click="handleEdit(scope.row.userId)" size="small">编辑</el-button>
47
-          <el-button type="text" @click="userRoleDelete(scope.row.userId)" size="small">删除</el-button>
48
-        </template>
49
-      </el-table-column>
50
-  </el-table>
51
-    <el-pagination
52
-            style="margin-top:50px;float:right"
53
-            @size-change="handleSizeChange"
54
-            @current-change="handleCurrentChange"
55
-            :current-page="formInline.pageNum"
56
-            :page-sizes="[1,10, 20, 30, 40]"
57
-            :page-size="formInline.pageSize"
58
-            layout="total, sizes, prev, pager, next, jumper"
59
-          :total="menuList.total || 0"
60
-            >
61
-           
62
-           
63
-    </el-pagination>
64
-  </div>
65
-</template>
66
-<script>
67
-import { createNamespacedHelpers } from 'vuex'
68
-const {mapState: mapSysMenuState, mapActions: mapSysMenuActions } = createNamespacedHelpers('sysmenu')
69
-
70
-export default {
71
-  name: 'followup-index',
72
-  data() {
73
-    return {
74
-      formInline: {
75
-        userName:'',
76
-        personName: '',
77
-        phone: '',
78
-        platNumber: '',
79
-        pageNum: 1,
80
-        pageSize: 10,
81
-        userId: ''
82
-      }
83
-    }
84
-  },
85
-  computed: {
86
-    ...mapSysMenuState({
87
-     menuList: x => x.safety,
88
-    })
89
-  },
90
-  created() {
91
-     
92
-    this.getPage()
93
-  },
94
-  methods: {
95
-    ...mapSysMenuActions([
96
-      'sysMenu',
97
-      'deleteRole'
98
-    ]),
99
-    onSubmit() {
100
-      this.getPage()
101
-    },
102
-    getPage() {
103
-       this.sysMenu(this.formInline)
104
-      // window.console.log(this.$store)
105
-      // this.$store.commit('security/foo')
106
-      // this.$store.dispatch('security/getSecurity')
107
-      // this.$store.commit('security/foo')
108
-    },
109
-    handleSizeChange(val) {
110
-      // console.log(`每页 ${val} 条`)
111
-      this.formInline.pageSize = val
112
-    },
113
-    handleCurrentChange(val) {
114
-      // console.log(`当前页: ${val}`)
115
-      this.formInline.pageNum = val
116
-      this.getPage()
117
-    },
118
-    clear(){
119
-      this.formInline.userName = ''
120
-      this.formInline.customerName = ''
121
-      this.formInline.phone = ''
122
-      this.formInline.platNumber = ''
123
-      this.formInline.pageNum = 1
124
-      this.formInline.pageSize = 10
125
-      this.getPage()
126
-    },
127
-    addUserRole(){
128
-      this.$router.push({ name: 'sysmenuAdd' })
129
-
130
-    },
131
-    handleEdit(id){
132
-       this.$router.push({ name: 'userRoleedit', query: {id:id} })
133
-    },
134
-    userRoleDelete(id){
135
-       this.formInline.userId = id
136
-       this.deleteRole(this.formInline)
137
-       this.getPage()
138
-    }
139
-   }
140
-}
141
-</script>
142
-

+ 12
- 12
src/views/sysuser/list.vue View File

@@ -9,7 +9,7 @@
9 9
     </el-form-item>
10 10
     <el-form-item>
11 11
         <el-select v-model="listQuery.identity" placeholder="请选择">
12
-          <el-option label="全部"></el-option>
12
+          <el-option label="全部" value="%"></el-option>
13 13
           <el-option
14 14
             v-for="item in identityDict"
15 15
             :key="item.value"
@@ -76,17 +76,16 @@
76 76
 
77 77
     <el-dialog title="添加权限" :visible.sync="filterData.dialogFormVisible" :show-close="filterData.close">
78 78
       <el-form :model="filterData">  
79
-      <el-form-item label="角色权限"  required>
80
-      <el-select v-model="userRoleId" multiple placeholder="请选择">
81
-      <el-option
82
-      v-for="(item, index) in sysRole"
83
-      :key="index"
84
-      :label="item.roleName"
85
-      :value="item.roleId">
86
-      </el-option>
87
-      </el-select>
88
-      </el-form-item>
89
-
79
+        <el-form-item label="角色权限"  required>
80
+          <el-select v-model="userRoleId" multiple placeholder="请选择">
81
+            <el-option
82
+              v-for="item in sysRole"
83
+              :key="item.roleId"
84
+              :label="item.roleName"
85
+              :value="item.roleId">
86
+            </el-option>
87
+          </el-select>
88
+        </el-form-item>
90 89
       </el-form>
91 90
       <div slot="footer" class="dialog-footer">
92 91
         <el-button @click="TransactionReplyOff">取 消</el-button>
@@ -159,6 +158,7 @@ export default {
159 158
       this.getSysUserList({
160 159
         pageNum: this.pageNavi.page || 1,
161 160
         pageSize: this.pageNavi.size,
161
+        identity: this.listQuery.identity === '%' ? undefined : this.listQuery.identity,
162 162
         ...this.listQuery,
163 163
       }).then((data) => {
164 164
         const { current: page, size, total } = data

+ 15
- 9
src/views/sysuser/role/add/add.vue View File

@@ -6,11 +6,12 @@
6 6
             </el-form-item>
7 7
             <el-form-item label="菜单权限">
8 8
                 <el-tree
9
-                        :data="menus"
10
-                        show-checkbox
11
-                        node-key="menuId"
12
-                        ref="tree"
13
-                        :props="defaultProps">
9
+                    :data="treeData"
10
+                    show-checkbox
11
+                    node-key="menuId"
12
+                    :default-expand-all="true"
13
+                    ref="tree"
14
+                    :props="defaultProps">
14 15
                 </el-tree>
15 16
             </el-form-item>
16 17
             <el-form-item>
@@ -22,6 +23,8 @@
22 23
 
23 24
 <script>
24 25
 import { createNamespacedHelpers } from 'vuex'
26
+import { appendChildren, getTreeNode } from '@/utils/tree'
27
+
25 28
 const {mapState: mapSysRoleState, mapActions: mapSysRoleActions } = createNamespacedHelpers('sysyrole')
26 29
 
27 30
 export default {
@@ -40,12 +43,15 @@ export default {
40 43
   },
41 44
   computed: {
42 45
       ...mapSysRoleState({
43
-          menus: x => x.menus
44
-      })
46
+        menus: x => x.menus
47
+      }),
48
+      treeData () {
49
+        return getTreeNode(appendChildren(this.menus, 'menuId', 'menuPid'), 'menuPid')
50
+      },
45 51
   },
46 52
   methods: {
47 53
     ...mapSysRoleActions([
48
-        'GetMenus',
54
+        'getMenus',
49 55
         'AddRole'
50 56
     ]),
51 57
     getCheckedNodes() {
@@ -66,7 +72,7 @@ export default {
66 72
     }
67 73
   },
68 74
   created() {
69
-      this.GetMenus()
75
+      this.getMenus()
70 76
   }
71 77
 }
72 78
 </script>

+ 33
- 36
src/views/sysuser/role/edi/edi.vue View File

@@ -6,12 +6,12 @@
6 6
             </el-form-item>
7 7
             <el-form-item label="菜单权限">
8 8
                 <el-tree
9
-                        :data="menus"
10
-                        show-checkbox
11
-                        node-key="menuId"
12
-                        ref="tree"
13
-                        :default-checked-keys="checkedMenuKeys"
14
-                        :props="defaultProps">
9
+                    :data="treeData"
10
+                    show-checkbox
11
+                    node-key="menuId"
12
+                    ref="tree"
13
+                    :default-expand-all="true"
14
+                    :props="defaultProps">
15 15
                 </el-tree>
16 16
             </el-form-item>
17 17
             <el-form-item>
@@ -23,6 +23,8 @@
23 23
 
24 24
 <script>
25 25
 import { createNamespacedHelpers } from 'vuex'
26
+import { appendChildren, getTreeNode } from '@/utils/tree'
27
+
26 28
 const {mapState: mapSysRoleState, mapActions: mapSysRoleActions } = createNamespacedHelpers('sysyrole')
27 29
 
28 30
 export default {
@@ -38,55 +40,50 @@ export default {
38 40
               label: 'menuName',
39 41
               children: 'children'
40 42
           },
41
-          checkedMenuKeys: [] // 默认勾选
43
+          checkedMenus: []
42 44
       }
43 45
   },
44 46
   computed: {
45 47
       ...mapSysRoleState({
46 48
           menus: x => x.menus
47
-      })
49
+      }),
50
+      treeData () {
51
+        const dt = getTreeNode(appendChildren(this.menus, 'menuId', 'menuPid'), 'menuPid')
52
+        return dt
53
+      },
54
+  },
55
+  watch: {
56
+    checkedMenus (newVal) {
57
+      this.form.menuIds = (newVal || []).join(',')
58
+
59
+      if (this.$refs.tree) {
60
+        this.$refs.tree.setCheckedKeys(newVal)
61
+      }
62
+    }
48 63
   },
49 64
   methods: {
50 65
     ...mapSysRoleActions([
51
-        'GetMenus',
52
-        'AddRole',
53
-        'GetById',
54
-        'UpdateRole'
66
+        'getMenus',
67
+        'addRole',
68
+        'getById',
69
+        'updateRole'
55 70
     ]),
56
-    getCheckedNodes() {
57
-      let idSet = new Set();
58
-      const checkedNodes = this.$refs.tree.getCheckedNodes();
59
-      checkedNodes.map((item) => {
60
-          idSet.add(item.menuId)
61
-      })
62
-
63
-        for (let [value] of idSet.entries()) this.form.menuIds.push(value);
64
-
65
-    },
66 71
     onSubmit() {
67
-        this.getCheckedNodes()
68
-        this.UpdateRole(this.form)
69
-        this.$router.go(-1)
72
+      this.form.menuIds = this.$refs.tree.getCheckedKeys().join(',')
73
+      this.updateRole(this.form)
74
+      this.$router.go(-1)
70 75
     },
71 76
     getByRoleId() {
72
-        this.GetById({ roleId: this.form.roleId }).then((res) => {
77
+        this.getById({ roleId: this.form.roleId }).then((res) => {
73 78
             this.form.roleId = res.roleId
74 79
             this.form.roleName = res.roleName
75 80
 
76
-            this.menusParsing(res.menuList)
77
-        })
78
-    },
79
-    menusParsing(array) {
80
-        array.map((item) => {
81
-            this.checkedMenuKeys.push(item.menuId)
82
-            if (item.children !== null) {
83
-                this.menusParsing(item.children)
84
-            }
81
+            this.checkedMenus = (res.menuList || []).map(m => m.menuId)
85 82
         })
86 83
     }
87 84
   },
88 85
   created() {
89
-      this.GetMenus()
86
+      this.getMenus()
90 87
       this.form.roleId = this.$route.query.id
91 88
       this.getByRoleId()
92 89
   }

+ 38
- 58
src/views/sysuser/role/list.vue View File

@@ -6,27 +6,12 @@
6 6
       </el-form-item> 
7 7
       <el-form-item>
8 8
         <el-button type="primary" @click="onSubmit">查询</el-button>
9
-        <el-button type="info" @click="clear">重置</el-button>
10 9
       </el-form-item>
11 10
     </el-form>
12 11
     <div style="margin-bottom: 20px;">
13
-<!--      <router-link :to="{name: 'role-add'}" tag="el-button">添加</router-link>-->
14
-
15 12
       <el-button type="success" @click="addRole">添加</el-button>
16
-      <el-button type="warning" @click="updateRole">修改</el-button>
17
-      <el-button type="danger" @click="deleteRole">删除</el-button>
18 13
     </div>
19
-    <el-table
20
-    :data="roleDataList.records"
21
-    @selection-change="handleSelectionChange"
22
-    border>
23
-      <el-table-column
24
-              type="selection"
25
-              width="55"/>
26
-    <el-table-column
27
-      prop="roleId"
28
-      align='center'
29
-      label="编号"/>
14
+    <el-table :data="roleDataList.records" border>
30 15
     <el-table-column
31 16
       prop="roleName"
32 17
       align='center'
@@ -35,12 +20,23 @@
35 20
       prop="roleStatus"
36 21
       align='center'
37 22
       label="角色状态">
38
-      <template slot-scope="scope">{{ scope.row.status === 1 ? '有效' : '无效' }}</template>
23
+      <template slot-scope="scope">{{ scope.row.status === 1 ? '正常' : '异常' }}</template>
24
+    </el-table-column>
25
+    <el-table-column
26
+       label="创建时间">
27
+       <template slot-scope="scope">
28
+         <span>{{formateDate(scope.row.createDate)}}</span>
29
+       </template>
39 30
     </el-table-column>
40 31
     <el-table-column
41
-       prop="createDate"
42
-       align='center'
43
-       label="创建时间"/>
32
+      label="操作">
33
+      <template slot-scope="scope">
34
+        <div>
35
+          <el-button type="text" size="mini" @click="updateData(scope.row)">编辑</el-button>
36
+          <el-button type="text" size="mini" @click="deleteData(scope.row)">删除</el-button>
37
+        </div>
38
+      </template>
39
+    </el-table-column>
44 40
   </el-table>
45 41
     <el-pagination
46 42
             style="margin-top:50px;float:right"
@@ -57,6 +53,7 @@
57 53
   </div>
58 54
 </template>
59 55
 <script>
56
+import dayjs from 'dayjs'
60 57
 import { createNamespacedHelpers } from 'vuex'
61 58
 const {mapState: mapSysRoleState, mapActions: mapSysRoleActions } = createNamespacedHelpers('sysyrole')
62 59
 
@@ -82,18 +79,17 @@ export default {
82 79
   },
83 80
   methods: {
84 81
     ...mapSysRoleActions([
85
-      'GetList',
86
-      'DeleteMenu'
82
+      'getList',
83
+      'deleteRole'
87 84
     ]),
85
+    formateDate (dt) {
86
+      return dayjs(dt).format('YYYY-MM-DD HH:mm')
87
+    },
88 88
     onSubmit() {
89 89
       this.getPage()
90 90
     },
91 91
     getPage() {
92
-       this.GetList(this.formInline)
93
-      // window.console.log(this.$store)
94
-      // this.$store.commit('security/foo')
95
-      // this.$store.dispatch('security/getSecurity')
96
-      // this.$store.commit('security/foo')
92
+       this.getList(this.formInline)
97 93
     },
98 94
     handleSizeChange(val) {
99 95
       // console.log(`每页 ${val} 条`)
@@ -104,42 +100,26 @@ export default {
104 100
       this.formInline.pageNum = val
105 101
       this.getPage()
106 102
     },
107
-    clear(){
108
-      this.formInline.roleName = ''
109
-      this.formInline.pageNum = 1
110
-      this.formInline.pageSize = 10
111
-      this.getPage()
112
-    },
113 103
     addRole() {
114 104
       this.$router.push({name: 'role-add'})
115 105
     },
116
-    deleteRole() {
117
-      if (this.ids.length <= 0) {
118
-        this.$message.error("请至少选择一行")
119
-        return
120
-      }
121
-
122
-      this.DeleteMenu({ menuIds: this.ids })
123
-      this.getPage()
106
+    deleteData(role) {
107
+      this.$confirm(`确定删除角色 [${role.roleName}] ?`).then(() => {
108
+        this.deleteRole(role).then(() => {
109
+          this.$alert('删除成功', '', {
110
+            confirmButtonText: '确定',
111
+            callback: () => {
112
+              this.getPage()
113
+            }
114
+          })
115
+        }).catch((err) => {
116
+          this.$message.error(err.message || err);
117
+        })
118
+      })
124 119
     },
125
-    updateRole() {
126
-      if (this.ids.length > 1) {
127
-        this.$message.error("只能针对一行操作")
128
-        return
129
-      }
130
-      if (this.ids.length <= 0) {
131
-        this.$message.error("请至少选择一行")
132
-        return
133
-      }
134
-
135
-      this.$router.push({name: 'role-edi', query: { id: this.ids[0] }})
120
+    updateData(role) {
121
+      this.$router.push({name: 'role-edi', query: { id: role.roleId }})
136 122
     },
137
-    handleSelectionChange(val) {
138
-      this.ids = []
139
-      val.map((item)=> {
140
-        this.ids.push(item.roleId);
141
-      })
142
-    }
143 123
   }
144 124
 }
145 125
 </script>