From 057f88699ca2c5383faa0dc458502599da3b46c0 Mon Sep 17 00:00:00 2001 From: chenjinlong <22208488@qq.com> Date: Tue, 12 Jan 2021 19:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90sysUser=E3=80=91=E5=88=86=E9=85=8D?= =?UTF-8?q?=E8=A7=92=E8=89=B2=EF=BC=8C=E8=81=8C=E5=8A=A1=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../guns/modular/user/UserViewController.java | 11 ++ .../webapp/assets/modular/system/user/user.js | 16 +-- .../assets/modular/system/user/user_add.js | 114 ++++++++--------- .../assets/modular/system/user/user_edit.js | 119 +++++++----------- .../assets/modular/system/user/user_role.js | 45 +++++++ .../pages/modular/system/user/user_add.html | 52 ++++---- .../pages/modular/system/user/user_edit.html | 36 +++--- .../pages/modular/system/user/user_role.html | 26 ++++ 8 files changed, 235 insertions(+), 184 deletions(-) create mode 100644 src/main/webapp/assets/modular/system/user/user_role.js create mode 100644 src/main/webapp/pages/modular/system/user/user_role.html diff --git a/src/main/java/cn/stylefeng/guns/modular/user/UserViewController.java b/src/main/java/cn/stylefeng/guns/modular/user/UserViewController.java index 1040c784..87387f9f 100644 --- a/src/main/java/cn/stylefeng/guns/modular/user/UserViewController.java +++ b/src/main/java/cn/stylefeng/guns/modular/user/UserViewController.java @@ -50,4 +50,15 @@ public class UserViewController { public String editView() { return PREFIX + "/user_edit.html"; } + + /** + * 用户管理-角色-视图 + * + * @author chenjinlong + * @date 2021/1/7 19:09 + */ + @GetResource(name = "用户管理-角色-视图", path = "roleView") + public String roleView() { + return PREFIX + "/user_role.html"; + } } diff --git a/src/main/webapp/assets/modular/system/user/user.js b/src/main/webapp/assets/modular/system/user/user.js index d97abb26..ec190fa4 100644 --- a/src/main/webapp/assets/modular/system/user/user.js +++ b/src/main/webapp/assets/modular/system/user/user.js @@ -109,17 +109,11 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest', // 分配角色 MgrUser.roleAssign = function (data) { - //获取多语言 - var langs = layui.data('system').lang; - - layer.open({ - type: 2, - title: langs.TITLE_ROLE_ASSIGN, - area: ['300px', '400px'], - content: Feng.ctxPath + '/mgr/role_assign?userId=' + data.userId, - end: function () { - table.reload(MgrUser.tableId); - } + func.open({ + title: '授权角色', + height: 470, + content: Feng.ctxPath + '/view/user/roleView?userId=' + data.userId, + tableId: MgrUser.tableId }); }; diff --git a/src/main/webapp/assets/modular/system/user/user_add.js b/src/main/webapp/assets/modular/system/user/user_add.js index 9b826115..283aa21c 100644 --- a/src/main/webapp/assets/modular/system/user/user_add.js +++ b/src/main/webapp/assets/modular/system/user/user_add.js @@ -1,63 +1,65 @@ -/** - * 用户详情对话框 - */ -var UserInfoDlg = { - data: { - deptId: "", - deptName: "" - } -}; - -layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'xmSelect'], function () { +layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], function () { var $ = layui.jquery; var HttpRequest = layui.HttpRequest; var form = layui.form; var admin = layui.admin; var laydate = layui.laydate; - var layer = layui.layer; - var formSelects = layui.formSelects; var xmSelect = layui.xmSelect; - var insXmSel; + var organizationXmSel; + var positionXmSel; // 点击部门时 - $('#deptName').click(function () { - var formName = encodeURIComponent("parent.UserInfoDlg.data.deptName"); - var formId = encodeURIComponent("parent.UserInfoDlg.data.deptId"); - var treeUrl = encodeURIComponent("/dept/tree"); + // $('#deptName').click(function () { + // var formName = encodeURIComponent("parent.UserInfoDlg.data.deptName"); + // var formId = encodeURIComponent("parent.UserInfoDlg.data.deptId"); + // var treeUrl = encodeURIComponent("/dept/tree"); + // + // layer.open({ + // type: 2, + // title: '部门选择', + // area: ['300px', '400px'], + // content: Feng.ctxPath + '/system/commonTree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl, + // end: function () { + // $("#deptId").val(UserInfoDlg.data.deptId); + // $("#deptName").val(UserInfoDlg.data.deptName); + // } + // }); + // }); - layer.open({ - type: 2, - title: '部门选择', - area: ['300px', '400px'], - content: Feng.ctxPath + '/system/commonTree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl, - end: function () { - $("#deptId").val(UserInfoDlg.data.deptId); - $("#deptName").val(UserInfoDlg.data.deptName); + // 初始化组织树 + new HttpRequest(Feng.ctxPath + "/hrOrganization/treeLayui", 'get', function (data) { + organizationXmSel = xmSelect.render({ + el: '#organization', + data: data.data, + model: {label: {type: 'text'}}, + prop: {name: 'title', value: 'id'}, + radio: true, + layVerify: 'required', + clickClose: true, + tree: { + show: true, + indent: 15, + strict: false, + expandedKeys: true } }); - }); + }).start(); - /* 渲染树形 */ - function renderTree() { - $.get(Feng.ctxPath + '/hrOrganization/treeLayui', function (data) { - insXmSel = xmSelect.render({ - el: '#organizationEditParentSel', - height: '250px', - data: data.data, - model: {label: {type: 'text'}}, - prop: {name: 'title', value: 'id'}, - radio: true, - clickClose: true, - tree: { - show: true, - indent: 15, - strict: false, - expandedKeys: true - } - }); + // 初始化职位 + new HttpRequest(Feng.ctxPath + "/hrPosition/list", 'get', function (data) { + positionXmSel = xmSelect.render({ + el: '#position', + radio: true, + layVerify: 'required', + clickClose: true, + data: data.data, + prop: {name: 'positionName', value: 'positionId'}, }); - } + }).start(); - renderTree(); + // 渲染时间选择框 + laydate.render({ + elem: '#birthday' + }); // 添加表单验证方法 form.verify({ @@ -69,16 +71,13 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'x } }); - // 渲染时间选择框 - laydate.render({ - elem: '#birthday' - }); - // 表单提交事件 form.on('submit(btnSubmit)', function (data) { - //获取机构id - data.field.orgId = insXmSel.getValue('valueStr'); + // 获取机构id + data.field.orgId = organizationXmSel.getValue('valueStr'); + // 职位id + data.field.positionId = positionXmSel.getValue('valueStr'); var request = new HttpRequest(Feng.ctxPath + "/sysUser/add", 'post', function (data) { admin.closeThisDialog(); @@ -91,11 +90,4 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'x request.set(data.field); request.start(true); }); - - //初始化所有的职位列表 - formSelects.config('selPosition', { - searchUrl: Feng.ctxPath + "/hrPosition/list", - keyName: 'positionName', - keyVal: 'positionId' - }); }); \ No newline at end of file diff --git a/src/main/webapp/assets/modular/system/user/user_edit.js b/src/main/webapp/assets/modular/system/user/user_edit.js index 360267af..45653f2c 100644 --- a/src/main/webapp/assets/modular/system/user/user_edit.js +++ b/src/main/webapp/assets/modular/system/user/user_edit.js @@ -1,70 +1,51 @@ -/** - * 用户详情对话框 - */ -var UserInfoDlg = { - data: { - deptId: "", - deptName: "" - } -}; - -layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'xmSelect'], function () { +layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], function () { var $ = layui.jquery; var HttpRequest = layui.HttpRequest; var form = layui.form; var admin = layui.admin; var laydate = layui.laydate; - var layer = layui.layer; - var formSelects = layui.formSelects; var xmSelect = layui.xmSelect; - var insXmSel; + var organizationXmSel; + var positionXmSel; //获取信息详情填充表单 var request = new HttpRequest(Feng.ctxPath + "/sysUser/detail?userId=" + Feng.getUrlParam("userId"), 'get'); var result = request.start(); form.val('userForm', result.data); - renderTree(result.data.orgId); - // 点击部门时 - // $('#deptName').click(function () { - // var formName = encodeURIComponent("parent.UserInfoDlg.data.deptName"); - // var formId = encodeURIComponent("parent.UserInfoDlg.data.deptId"); - // var treeUrl = encodeURIComponent("/dept/tree"); - // - // layer.open({ - // type: 2, - // title: '部门选择', - // area: ['300px', '400px'], - // content: Feng.ctxPath + '/system/commonTree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl, - // end: function () { - // console.log(UserInfoDlg.data); - // $("#deptId").val(UserInfoDlg.data.deptId); - // $("#deptName").val(UserInfoDlg.data.deptName); - // } - // }); - // }); - - /* 渲染树形 */ - function renderTree(orgParentId) { - $.get(Feng.ctxPath + '/hrOrganization/treeLayui', function (data) { - insXmSel = xmSelect.render({ - el: '#organizationEditParentSel', - height: '250px', - data: data.data, - initValue: [orgParentId], - model: {label: {type: 'text'}}, - prop: {name: 'title', value: 'id'}, - radio: true, - clickClose: true, - tree: { - show: true, - indent: 15, - strict: false, - expandedKeys: true - } - }); + // 初始化职位 + new HttpRequest(Feng.ctxPath + "/hrPosition/list", 'get', function (data) { + positionXmSel = xmSelect.render({ + el: '#position', + radio: true, + clickClose: true, + layVerify: 'required', + data: data.data, + initValue: [result.data.positionId], + prop: {name: 'positionName', value: 'positionId'}, }); - } + }).start(); + + + // 初始化组织树 + new HttpRequest(Feng.ctxPath + "/hrOrganization/treeLayui", 'get', function (data) { + organizationXmSel = xmSelect.render({ + el: '#organization', + data: data.data, + initValue: [result.data.orgId], + layVerify: 'required', + model: {label: {type: 'text'}}, + prop: {name: 'title', value: 'id'}, + radio: true, + clickClose: true, + tree: { + show: true, + indent: 15, + strict: false, + expandedKeys: true + } + }); + }).start(); // 添加表单验证方法 @@ -84,28 +65,22 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'x // 表单提交事件 form.on('submit(btnSubmit)', function (data) { - var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function (data) { - Feng.success("修改成功!"); + // 获取机构id + data.field.orgId = organizationXmSel.getValue('valueStr'); + // 职位id + data.field.positionId = positionXmSel.getValue('valueStr'); - //传给上个页面,刷新table用 - admin.putTempData('formOk', true); - - //关掉对话框 + var request = new HttpRequest(Feng.ctxPath + "/sysUser/edit", 'post', function (data) { admin.closeThisDialog(); - + Feng.success("修改成功!"); + admin.putTempData('formOk', true); }, function (data) { - Feng.error("修改失败!" + data.responseJSON.message) + admin.closeThisDialog(); + Feng.error("修改失败!" + data.message); }); - ajax.set(data.field); - ajax.start(); - //添加 return false 可成功跳转页面 - return false; + request.set(data.field); + request.start(true); }); - //初始化所有的职位列表 - formSelects.config('selPosition', { - searchUrl: Feng.ctxPath + "/hrPosition/list", - keyName: 'positionName', - keyVal: 'positionId' - }); + }); \ No newline at end of file diff --git a/src/main/webapp/assets/modular/system/user/user_role.js b/src/main/webapp/assets/modular/system/user/user_role.js new file mode 100644 index 00000000..99ad13d4 --- /dev/null +++ b/src/main/webapp/assets/modular/system/user/user_role.js @@ -0,0 +1,45 @@ +layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'xmSelect'], function () { + var $ = layui.jquery; + var HttpRequest = layui.HttpRequest; + var form = layui.form; + var admin = layui.admin; + var xmSelect = layui.xmSelect; + var roleXmSel; + + //获取信息详情填充表单 + var request = new HttpRequest(Feng.ctxPath + "/sysUser/detail?userId=" + Feng.getUrlParam("userId"), 'get'); + var result = request.start(); + form.val('userForm', result.data); + + console.log(result.data.grantRoleIdList); + // 初始化角色 + new HttpRequest(Feng.ctxPath + "/sysRole/dropDown", 'get', function (data) { + roleXmSel = xmSelect.render({ + el: '#role', + toolbar: {show: true}, + layVerify: 'required', + initValue: result.data.grantRoleIdList, + data: data.data, + prop: {name: 'name', value: 'id'}, + }); + }).start(); + + // 表单提交事件 + form.on('submit(btnSubmit)', function (data) { + // 角色ids + console.log(Feng.getUrlParam("userId")); + data.field.grantRoleIdList = roleXmSel.getValue('value'); + data.field.userId = Feng.getUrlParam("userId"); + + var request = new HttpRequest(Feng.ctxPath + "/sysUser/grantRole", 'post', function (data) { + admin.closeThisDialog(); + Feng.success("授权成功!"); + admin.putTempData('formOk', true); + }, function (data) { + admin.closeThisDialog(); + Feng.error("授权失败!" + data.message); + }); + request.set(data.field); + request.start(true); + }); +}); \ No newline at end of file diff --git a/src/main/webapp/pages/modular/system/user/user_add.html b/src/main/webapp/pages/modular/system/user/user_add.html index cadc4804..582d3a77 100644 --- a/src/main/webapp/pages/modular/system/user/user_add.html +++ b/src/main/webapp/pages/modular/system/user/user_add.html @@ -8,23 +8,11 @@