diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/system/wql/SYS_MENU.wql b/lms/nladmin-system/src/main/java/org/nl/sso/system/wql/SYS_MENU.wql new file mode 100644 index 000000000..3c2758ebd --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/sso/system/wql/SYS_MENU.wql @@ -0,0 +1,71 @@ +[交易说明] + 交易名: 获取用户权限 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.user_id TYPEAS s_string + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + IF 输入.flag = "1" + QUERY + SELECT DISTINCT + permission + FROM + sys_menu + WHERE + menu_id IN + ( + SELECT + menu_id + FROM + sys_roles_menus + WHERE + role_id IN + ( + SELECT + role_id + FROM + sys_users_roles + WHERE + 1=1 + OPTION 输入.user_id <> "" + user_id = 输入.user_id + ENDOPTION + ) + ) + AND permission IS NOT NULL + AND permission != '' + ENDSELECT + ENDQUERY + ENDIF \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/sso/system/wql/SYS_USER.wql b/lms/nladmin-system/src/main/java/org/nl/sso/system/wql/SYS_USER.wql new file mode 100644 index 000000000..fe217a110 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/sso/system/wql/SYS_USER.wql @@ -0,0 +1,83 @@ +[交易说明] + 交易名: 用户模块 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.deptIds TYPEAS f_string + 输入.deptId TYPEAS f_string + 输入.id TYPEAS s_string + 输入.blurry TYPEAS f_string + 输入.is_used TYPEAS s_string + 输入.startTime TYPEAS s_string + 输入.endTime TYPEAS s_string + + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + sys_user.*,GROUP_CONCAT(DISTINCT sys_dept.dept_id) as depts,GROUP_CONCAT(DISTINCT sys_dept.name) as deptnames,GROUP_CONCAT(DISTINCT role_id) as roles + FROM + sys_user + left join sys_user_dept on sys_user.user_id = sys_user_dept.user_id + left join sys_users_roles on sys_users_roles.user_id = sys_user.user_id + left join sys_dept on sys_user_dept.dept_id = sys_dept.dept_id + WHERE 1=1 + OPTION 输入.id <> "" + sys_user.id = 输入.id + ENDOPTION + OPTION 输入.deptIds <> "" + sys_user_dept.dept_id in 输入.deptIds + ENDOPTION + OPTION 输入.blurry <> "" + (email like 输入.blurry or username like 输入.blurry or person_name like 输入.blurry) + ENDOPTION + OPTION 输入.is_used <> "" + sys_user.is_used = 输入.is_used + ENDOPTION + OPTION 输入.deptId <> "" + sys_user_dept.dept_id = 输入.deptId + ENDOPTION + OPTION 输入.startTime <> "" + sys_user.create_time >= 输入.startTime + ENDOPTION + OPTION 输入.endTime <> "" + sys_user.create_time <= 输入.endTime + ENDOPTION + GROUP BY sys_user.user_id + ENDSELECT + ENDPAGEQUERY + ENDIF diff --git a/lms/nladmin-ui/src/api/system/dept.js b/lms/nladmin-ui/src/api/system/dept.js index ed4f944bc..145887a88 100644 --- a/lms/nladmin-ui/src/api/system/dept.js +++ b/lms/nladmin-ui/src/api/system/dept.js @@ -8,6 +8,14 @@ export function getDepts(params) { }) } +export function getDeptTree(params) { + return request({ + url: '/api/dept/allTree', + method: 'get', + params + }) +} + export function getDeptSuperior(ids) { const data = ids.length || ids.length === 0 ? ids : Array.of(ids) return request({ @@ -17,6 +25,14 @@ export function getDeptSuperior(ids) { }) } +export function getDeptvo(params) { + return request({ + url: 'api/dept/vo', + method: 'get', + params + }) +} + export function add(data) { return request({ url: 'api/dept', @@ -41,4 +57,4 @@ export function edit(data) { }) } -export default { add, edit, del, getDepts, getDeptSuperior } +export default { add, edit, del, getDepts, getDeptSuperior, getDeptvo, getDeptTree } diff --git a/lms/nladmin-ui/src/api/system/menu.js b/lms/nladmin-ui/src/api/system/menu.js index 329854396..17e59fb39 100644 --- a/lms/nladmin-ui/src/api/system/menu.js +++ b/lms/nladmin-ui/src/api/system/menu.js @@ -15,8 +15,19 @@ export function getMenus(params) { }) } +export function getMenusByRole(params) { + return request({ + url: 'api/menus/getMenusByRole', + method: 'post', + data: params + }) +} + export function getMenuSuperior(ids) { - const data = ids.length || ids.length === 0 ? ids : Array.of(ids) + // const data = ids.length || ids.length === 0 ? ids : Array.of(ids) + const data = { + 'ids': ids + } return request({ url: 'api/menus/superior', method: 'post', @@ -62,4 +73,4 @@ export function edit(data) { }) } -export default { add, edit, del, getMenusTree, getMenuSuperior, getMenus, getChild } +export default { add, edit, del, getMenusTree, getMenuSuperior, getMenus, getChild, getMenusByRole } diff --git a/lms/nladmin-ui/src/views/system/dept/index.vue b/lms/nladmin-ui/src/views/system/dept/index.vue index 18b0db262..17409c6b7 100644 --- a/lms/nladmin-ui/src/views/system/dept/index.vue +++ b/lms/nladmin-ui/src/views/system/dept/index.vue @@ -14,7 +14,7 @@ @keyup.enter.native="crud.toQuery" /> - - + - + - - - - + @@ -65,10 +61,14 @@ - - - {{ item.label }} - + + @@ -85,7 +86,7 @@ 确认 - + - - + + - - - + { - crudDept.getDepts(params).then(res => { + crudDept.getDeptvo(params).then(res => { resolve(res.content) }) }, 100) @@ -206,12 +200,12 @@ export default { [CRUD.HOOK.afterToCU](crud, form) { if (form.pid !== null) { form.isTop = '0' - } else if (form.id !== null) { + } else { form.isTop = '1' } - form.enabled = `${form.enabled}` - if (form.id != null) { - this.getSupDepts(form.id) + form.is_used = `${form.is_used}` + if (form.pid != null) { + this.getSupDepts(form.pid) } else { this.getDepts() } @@ -234,7 +228,7 @@ export default { }) }, getDepts() { - crudDept.getDepts({ enabled: true }).then(res => { + crudDept.getDeptvo({ is_used: '1' }).then(res => { this.depts = res.content.map(function(obj) { if (obj.hasChildren) { obj.children = null @@ -246,11 +240,9 @@ export default { // 获取弹窗内部门数据 loadDepts({ action, parentNode, callback }) { if (action === LOAD_CHILDREN_OPTIONS) { - crudDept.getDepts({ enabled: true, pid: parentNode.id }).then(res => { + crudDept.getDeptvo({ is_used: '1', pid: parentNode.dept_id }).then(res => { parentNode.children = res.content.map(function(obj) { - if (obj.hasChildren) { - obj.children = null - } + obj.children = null return obj }) setTimeout(() => { @@ -261,7 +253,7 @@ export default { }, // 提交前的验证 [CRUD.HOOK.afterValidateCU]() { - if (this.form.pid !== null && this.form.pid === this.form.id) { + if (this.form.isTop !== '1' && this.form.pid == null) { this.$message({ message: '上级部门不能为空', type: 'warning' @@ -292,6 +284,13 @@ export default { }, checkboxT(row, rowIndex) { return row.id !== 1 + }, + normalizer(node) { + return { + id: node.dept_id, + label: node.name, + children: node.children + } } } } diff --git a/lms/nladmin-ui/src/views/system/dict/dictDetail.vue b/lms/nladmin-ui/src/views/system/dict/dictDetail.vue index 1c439fd56..dce8851dc 100644 --- a/lms/nladmin-ui/src/views/system/dict/dictDetail.vue +++ b/lms/nladmin-ui/src/views/system/dict/dictDetail.vue @@ -1,6 +1,6 @@