From 0c37992e7c9d2dc1decc811ffb3528978dd11c46 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 12 Dec 2022 19:49:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/DataPermissionController.java | 7 ++ .../service/DataPermissionService.java | 7 ++ .../impl/DataPermissionServiceImpl.java | 9 +- .../java/org/nl/sso/permission/wql/Query.wql | 26 +++++ .../views/system/permission/dataPermission.js | 10 +- .../user/dialog/showDataPermissionDialog.vue | 96 +++++++++++++++++++ .../src/views/system/user/index.vue | 76 +++++++++++---- 7 files changed, 213 insertions(+), 18 deletions(-) create mode 100644 lms/nladmin-ui/src/views/system/user/dialog/showDataPermissionDialog.vue diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/permission/rest/DataPermissionController.java b/lms/nladmin-system/src/main/java/org/nl/sso/permission/rest/DataPermissionController.java index d445cf0d0..d27092d9b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/sso/permission/rest/DataPermissionController.java +++ b/lms/nladmin-system/src/main/java/org/nl/sso/permission/rest/DataPermissionController.java @@ -93,4 +93,11 @@ public class DataPermissionController { public ResponseEntity getDataShow(@RequestBody String id){ return new ResponseEntity<>(dataPermissionService.getDataShow(id),HttpStatus.OK); } + + @PostMapping("/dataDetail") + @Log("查看数据明细") + @ApiOperation("查看数据明细") + public ResponseEntity getDataDetail(@RequestBody JSONObject data){ + return new ResponseEntity<>(dataPermissionService.getDataDetail(data),HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/DataPermissionService.java b/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/DataPermissionService.java index 3144da3cf..047da4db9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/DataPermissionService.java +++ b/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/DataPermissionService.java @@ -88,4 +88,11 @@ public interface DataPermissionService { * @return */ JSONArray getDataShow(String userId); + + /** + * 查看数据明细 + * @param data + * @return + */ + JSONArray getDataDetail(JSONObject data); } diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/impl/DataPermissionServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/impl/DataPermissionServiceImpl.java index b2163736e..a3425c468 100644 --- a/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/impl/DataPermissionServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/sso/permission/service/impl/DataPermissionServiceImpl.java @@ -43,7 +43,7 @@ public class DataPermissionServiceImpl implements DataPermissionService { @Override public Map queryAll(Map whereJson, Pageable page){ WQLObject wo = WQLObject.getWQLObject("sys_data_permission"); - ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "update_time desc"); + ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "1=1", "order_sort desc"); final JSONObject json = rb.pageResult(); return json; } @@ -231,4 +231,11 @@ public class DataPermissionServiceImpl implements DataPermissionService { } return resultJSONArray; } + + @Override + public JSONArray getDataDetail(JSONObject data) { + JSONArray jsonArray = WQL.getWO("Query").addParamMap(MapOf.of("flag", "4", "self_user_id", data.getString("user_id"), + "permission_scope_type", data.getString("permission_scope_type"))).process().getResultJSONArray(0); + return jsonArray; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/permission/wql/Query.wql b/lms/nladmin-system/src/main/java/org/nl/sso/permission/wql/Query.wql index 40754e8cc..eeb602f3f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/sso/permission/wql/Query.wql +++ b/lms/nladmin-system/src/main/java/org/nl/sso/permission/wql/Query.wql @@ -88,3 +88,29 @@ ENDSELECT ENDPAGEQUERY ENDIF + IF 输入.flag = "4" + PAGEQUERY + SELECT + scop.*, + dept.`name` as dept_name, + user.person_name, + dp.name as permission_name, + permission.permission_id + FROM + `sys_data_scope` scop + LEFT JOIN sys_user_data_permission permission ON scop.permission_scope_type = permission.permission_scope_type + LEFT JOIN sys_data_permission dp ON permission.permission_id = dp.permission_id + LEFT JOIN sys_dept dept ON scop.dept_id = dept.dept_id + LEFT JOIN sys_user user ON scop.user_id = user.user_id + WHERE + 1 = 1 + OPTION 输入.self_user_id <> "" + scop.self_user_id = 输入.self_user_id + ENDOPTION + OPTION 输入.permission_scope_type <> "" + scop.permission_scope_type = 输入.permission_scope_type + ENDOPTION + ORDER BY scop.permission_scope_type, scop.dept_id, scop.user_id + ENDSELECT + ENDPAGEQUERY + ENDIF diff --git a/lms/nladmin-ui/src/views/system/permission/dataPermission.js b/lms/nladmin-ui/src/views/system/permission/dataPermission.js index 075b32606..687545ad5 100644 --- a/lms/nladmin-ui/src/views/system/permission/dataPermission.js +++ b/lms/nladmin-ui/src/views/system/permission/dataPermission.js @@ -54,4 +54,12 @@ export function getDataShow(id) { }) } -export default { add, edit, del, getDataScopeType, getDataPermissionOption, saveDataPermission, getDataShow } +export function getDataDetail(data) { + return request({ + url: 'api/dataPermission/dataDetail', + method: 'post', + data: data + }) +} + +export default { add, edit, del, getDataScopeType, getDataPermissionOption, saveDataPermission, getDataShow, getDataDetail } diff --git a/lms/nladmin-ui/src/views/system/user/dialog/showDataPermissionDialog.vue b/lms/nladmin-ui/src/views/system/user/dialog/showDataPermissionDialog.vue new file mode 100644 index 000000000..b2a63a059 --- /dev/null +++ b/lms/nladmin-ui/src/views/system/user/dialog/showDataPermissionDialog.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/system/user/index.vue b/lms/nladmin-ui/src/views/system/user/index.vue index 7574c5b1e..3cfe462e1 100644 --- a/lms/nladmin-ui/src/views/system/user/index.vue +++ b/lms/nladmin-ui/src/views/system/user/index.vue @@ -273,16 +273,16 @@ - - - - - - - - - - + + + + + + + + + + + + + @@ -332,7 +353,7 @@ export default { }, mixins: [presenter(), header(), form(defaultForm), crud()], // 数据字典 - dicts: ['user_status'], + dicts: ['user_status', 'permission_scope_type'], data() { return { height: document.documentElement.clientHeight - 180 + 'px;', @@ -376,7 +397,9 @@ export default { rowData: {}, // 当行数据 relevanceDept: false, // 关联部门 deptIds: [], - userIds: [] + userIds: [], + showData: false, + dataPermissions: [] } }, computed: { @@ -682,8 +705,6 @@ export default { console.log('选中', val) }, openRelevance(row, index) { - console.log('下标', index) - console.log('关联的当行数据', row) for (var i = 0; i < this.permissions.length; i++) { if (this.permissions[i].permission_id != undefined && this.permissions[i].permission_id && this.permissions[i].permission_id != row.permission_id) { this.$delete(this.dataDialog.dataScopeType[index], this.permissions[i].permission_id.toString()) @@ -693,14 +714,25 @@ export default { this.rowData = {} this.deptIds = [] this.userIds = [] - if (row.permission_id == '1601040560293023744') { // 用户 + if (row.permission_id == '1601040560293023744') { // 选择用户 this.userIds = this.dataDialog.dataScopeType[index].users this.rowData = row this.relevanceUser = true - } else if (row.permission_id == '1601040621190123520') { + } else if (row.permission_id == '1601040621190123520') { // 选择部门 this.deptIds = this.dataDialog.dataScopeType[index].depts this.rowData = row this.relevanceDept = true + } else if (row.permission_id == '1601038030326599680') { // 自身 + const param = { + user_id: this.dataDialog.user_id + } + console.log(param) + this.dataDialog.dataScopeType[index].users = [] + this.dataDialog.dataScopeType[index].users.push(param) + console.log(this.dataDialog.dataScopeType[index]) + } else { // 其他应该清空 + this.dataDialog.dataScopeType[index].depts = [] + this.dataDialog.dataScopeType[index].users = [] } }, selectUsers(row) { // row对话框传来的数据 @@ -818,6 +850,18 @@ export default { checkNode.parent.checked = false checkNode.parent.indeterminate = false } + }, + showDatas(row) { + console.log(row) + const param = { + user_id: this.dataDialog.user_id, + permission_scope_type: row.value + } + crudDataPermission.getDataDetail(param).then(res => { + // console.log('权限信息', res) + this.dataPermissions = res + }) + this.showData = true } } }