diff --git a/src/api/model/system.js b/src/api/model/system.js index b832048..ad2e459 100644 --- a/src/api/model/system.js +++ b/src/api/model/system.js @@ -113,7 +113,20 @@ export default { return await http.post(this.url, params); } }, - + dataMenu:{ + url: `${config.API_URL}/auth.data.permission.checked`, + name: "数据权限", + post: async function (params) { + return await http.post(this.url, params); + } + }, + dataAuth:{ + url: `${config.API_URL}/auth.data.permission.add`, + name: "数据授权", + post: async function (params) { + return await http.post(this.url, params); + } + }, roleCode: { url: `${config.API_URL}/authorize.role.codes`, name: "角色对应CODE列表", diff --git a/src/views/setting/role/dataPermissions.vue b/src/views/setting/role/dataPermissions.vue index d3c28df..a1c7945 100644 --- a/src/views/setting/role/dataPermissions.vue +++ b/src/views/setting/role/dataPermissions.vue @@ -2,36 +2,29 @@
-
- +
+
+
+
敏感数据权限
+
+ {{em.resource_name}} +
+
+
+
操作权限
+
+ 查看 + 编辑 +
+
+
+
@@ -53,28 +46,6 @@ export default { watch:{ data(val){ if(val && val.length>0){ - val.forEach(item=>{ - item.show = true; - if(item.children){ - item.children.forEach(em=>{ - if(em.meta.data_permission && em.meta.data_permission.length>0){ - let check = em.meta.data_permission.filter((li)=>li.checked).length; - let ed = em.meta.data_permission.length; - em.isCheck = check>0 && check != ed?true:false; - if(ed>0){ - em.checked = check>0 && check== ed?true:false; - } - } - }) - let check = item.children.filter((em)=>em.checked).length; - let isCheck = item.children.filter((em)=>em.isCheck).length; - let ed = item.children.length; - - item.isCheck = (check>0 && check != ed) || (isCheck>0 && check != ed)?true:false; - item.checked = check>0 && check== ed?true:false; - } - }) - this.list = JSON.parse(JSON.stringify(val)); } } @@ -156,107 +127,139 @@ export default { diff --git a/src/views/setting/role/index.vue b/src/views/setting/role/index.vue index f425c41..bcd523b 100644 --- a/src/views/setting/role/index.vue +++ b/src/views/setting/role/index.vue @@ -36,6 +36,9 @@
保存权限
+
+ 保存权限 +
移除成员 添加成员 @@ -142,6 +145,7 @@ }, isSave:false, + isDataSave:false, activeNum:0, roleCheckList:[], role_id:"", @@ -179,6 +183,7 @@ if(flag){ await this.getMenu(); await this.getRoleList(); + await this.getDataList(); } } }, @@ -289,6 +294,7 @@ this.role_id = data.id; this.getMenu(); this.getRoleList(); + this.getDataList(); }, // 保存权限 @@ -344,6 +350,34 @@ return obj }, + // 保存数据权限 + submitPermissions(){ + this.isDataSave = true; + const params = this.setDataList(this.$refs.dataPermissions.list); + setTimeout(async ()=>{ + const res = await this.$API.system.role.dataAuth.post(params); + if(res.code === 200){ + this.$message.success("授权成功"); + await this.getDataList(); + } + this.isDataSave = false; + }) + }, + setDataList(list){ + let obj = { + role_id:this.role_id, + resource_info:[], + } + list.forEach(item=>{ + if(item.set_info && item.set_info.length>0){ + item.set_info.forEach(em=>{ + obj.resource_info.push(em) + }) + } + }) + return obj + }, + // 权限和角色成员 userAvatar(row) { return row.name.substring(0, 1) @@ -362,6 +396,18 @@ this.menu.list = res.data; } }, + async getDataList() { + if (this.role_id != "") { + let params = { + role_id: this.role_id, + }; + this.dataPermissionsLoading = true; + const res = await this.$API.system.role.dataMenu.post(params); + this.dataPermissionsLoading = false; + this.dataPermissions.list = res.data; + } + + }, async getRoleList() { if(this.role_id!=""){ let params = { @@ -377,7 +423,6 @@ } } }, - async getDeptTree() { this.memberShow = true; const res = await this.$API.system.role.tree.post();