From b67a622b2becc49a2ae23fa905bc775411439bfa Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Mon, 27 Apr 2020 16:54:24 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html | 78 +++++---- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_form.html | 1 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java | 3 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java | 115 ++++++++++++++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java | 58 +++--- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java | 2 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java | 11 + kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_org_form.html | 164 ++++++++++++++++++++ kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java | 3 9 files changed, 368 insertions(+), 67 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java index ddcbd1c..533b70e 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserOrgService.java @@ -4,6 +4,7 @@ import com.kidgrow.common.model.SysUserOrg; import com.kidgrow.common.service.ISuperService; +import java.util.List; import java.util.Map; /** @@ -29,5 +30,6 @@ * @return SysUserOrg对象 */ SysUserOrg findByObject(SysUserOrg sysUserOrg); + List<SysUserOrg> getListByMap(Map<String, Object> params); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java index f217783..09a1b2d 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java @@ -13,7 +13,6 @@ import com.kidgrow.usercenter.vo.SysOrganizationVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanCopier; import org.springframework.stereotype.Service; @@ -24,7 +23,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> @@ -161,6 +159,7 @@ map.put("id", ""+id); map.put("name", collect.get(id).getOrgName()); map.put("level", collect.get(id).getOrgLevel()); + map.put("parentId", collect.get(id).getOrgParentId()); List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList()); if (childs.size() > 0) { List<Map<String, Object>> treeData = getTreeData(id, sysOrganizations); diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java index 2091cc4..1292cd5 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserOrgServiceImpl.java @@ -45,4 +45,15 @@ public SysUserOrg findByObject(SysUserOrg sysUserOrg){ return baseMapper.findByObject(sysUserOrg); } + + /** + * 根据自定义对象查询 + * @param params + * @return + */ + @Override + public List<SysUserOrg> getListByMap(Map<String, Object> params) { + List<SysUserOrg> sysUserOrg = baseMapper.selectByMap(params); + return sysUserOrg; + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java index b8644ff..fab718c 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java @@ -208,6 +208,9 @@ List<Long> userIds = list.stream().map(SysUser::getId).collect(Collectors.toList()); List<SysRole> sysRoles = roleUserService.findRolesByUserIds(userIds); + +// Map<String, Object> map = new HashMap<String, Object>(); +// List<SysOrganization> sysOrganizationList=organizationService.fin(); list.forEach(u -> u.setRoles(sysRoles.stream().filter(r -> !ObjectUtils.notEqual(u.getId(), r.getUserId())) .collect(Collectors.toList()))); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java index 1941e2a..57b269b 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java @@ -1,13 +1,22 @@ package com.kidgrow.usercenter.controller; +import com.kidgrow.common.annotation.LoginUser; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysOrganization; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.model.SysUserOrg; import com.kidgrow.usercenter.service.ISysOrganizationService; import com.kidgrow.usercenter.service.ISysUserOrgService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -17,10 +26,110 @@ @Api(tags = "用户与部门") public class SysUserOrgController { @Autowired - private ISysUserOrgService iSysUserOrgService; + private ISysUserOrgService sysUserOrgService; + @Autowired + private ISysOrganizationService sysOrganizationService; + @PostMapping("getListByMap") - public List<SysUserOrg> getListByMap(@RequestParam Map<String,Object> map){ - List<SysUserOrg> sysUserOrgs = iSysUserOrgService.listByMap(map); + public List<SysUserOrg> getListByMap(@RequestParam Map<String, Object> map) { + List<SysUserOrg> sysUserOrgs = sysUserOrgService.listByMap(map); return sysUserOrgs; } + + /** + * 根据条件查询列表 + * + * @param map + * @return + */ + @ApiOperation(value = "根据条件查询列表") + @GetMapping + public ResultBody listByMap(@RequestParam Map<String, Object> map) { + return ResultBody.ok().data(sysUserOrgService.listByMap(map)).msg("查询成功"); + } + + /** + * 新增or更新 + */ + @ApiOperation(value = "保存") + @PostMapping + public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult, @LoginUser SysUser sysUser) { + if (bindingResult.hasErrors()) { + return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage()); + } else { + if (sysUserOrg.getUserId() != null) { + String createUserOrgCode = ""; + List<SysOrganization> userOrgData = sysUser.getOrganizations(); + if (userOrgData != null) { + if (userOrgData.size() == 2) { + createUserOrgCode = userOrgData.get(1).getOrgCode(); + } + } + if (!createUserOrgCode.isEmpty()) { + //查出用户的所有组织关系数据 + Map<String, Object> map = new HashMap<String, Object>(); + map.put("user_id", sysUserOrg.getUserId()); + List<SysUserOrg> userOrgList = sysUserOrgService.getListByMap(map); + if (userOrgList.size() > 0) { + for (int i = 0; i < userOrgList.size(); i++) { + if (sysUserOrg.getId().equals(userOrgList.get(i).getId())) { + userOrgList.get(i).setOrgId(sysUserOrg.getOrgId()); + } + userOrgList.get(i).setEnabled(sysUserOrg.getEnabled()); + userOrgList.get(i).setCreateUserOrgCode(createUserOrgCode); + } + } else { + userOrgList = new ArrayList<>(); + //查出来的上级组织信息建立用户关系 + //借用字段承载数据 + SysOrganization sysOrganization = sysOrganizationService.getById(sysUserOrg.getUpdateUserId()); + if (sysOrganization != null) { + SysUserOrg sysUserOrgTemp = new SysUserOrg(); + sysUserOrgTemp.setOrgId(sysOrganization.getId()); + sysUserOrgTemp.setUserId(sysUserOrg.getUserId()); + sysUserOrgTemp.setEnabled(sysUserOrg.getEnabled()); + sysUserOrgTemp.setCreateUserOrgCode(createUserOrgCode); + userOrgList.add(sysUserOrgTemp); + + sysUserOrg.setUpdateUserId(0L); + sysUserOrg.setCreateUserOrgCode(createUserOrgCode); + userOrgList.add(sysUserOrg); + } else { + return ResultBody.failed().data(null).msg("该组织的上级组织数据异常!"); + } + } + boolean v = sysUserOrgService.saveOrUpdateBatch(userOrgList); + if (v) { + return ResultBody.ok().data(sysUserOrg).msg("保存成功"); + } else { + return ResultBody.failed().data(null).msg("数据保存失败!"); + } + } else { + return ResultBody.failed().data(null).msg("该组织数据不完整!"); + } + } else { + return ResultBody.failed().data(null).msg("该组数据不完整!"); + } + } + } + + /** + * 删除 + */ + @ApiOperation(value = "删除") + @DeleteMapping("/{id}") + public ResultBody delete(@PathVariable Long id) { + sysUserOrgService.removeById(id); + return ResultBody.ok().msg("删除成功"); + } + + /** + * 查询 + */ + @ApiOperation(value = "查询") + @GetMapping("/{id}") + public ResultBody findById(@PathVariable Long id) { + SysUserOrg model = sysUserOrgService.getById(id); + return ResultBody.ok().data(model).msg("查询成功"); + } } diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java index 1cd9232..06aacd2 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUserOrg.java @@ -1,25 +1,23 @@ package com.kidgrow.common.model; -import com.kidgrow.common.model.SuperModel; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; -import org.hibernate.validator.constraints.*; -import java.util.Date; + +import javax.validation.constraints.NotNull; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @version 1.0 * @Description: 用户和组织关系表<br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-03-31 11:01:35 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> - * @version 1.0 */ @Data @EqualsAndHashCode(callSuper = false) @@ -29,22 +27,28 @@ public class SysUserOrg extends SuperModel { // private static final long serialVersionUID = -2071565876962058344L; - /** - * 用户id - */ - @NotBlank(message = "用户id不能为空") - private Long userId; - /** - * 组织ID - */ - @NotBlank(message = "组织ID不能为空") - private Long orgId; - /** - * 状态,1启用,0停用 - */ - private Boolean enabled; - /** - * 是否删除,1删除,0未删除 - */ - private Boolean isDel; - } + /** + * 用户id + */ + @JsonSerialize(using = ToStringSerializer.class) + @NotNull(message = "用户id不能为空") + private Long userId; + /** + * 组织ID + */ + @JsonSerialize(using = ToStringSerializer.class) + @NotNull(message = "组织ID不能为空") + private Long orgId; + /** + * 数据权限code + */ + private String createUserOrgCode; + /** + * 状态,1启用,0停用 + */ + private Boolean enabled; + /** + * 是否删除,1删除,0未删除 + */ + private Boolean isDel; +} diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html index 5337019..ffc58cf 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user.html @@ -2,8 +2,8 @@ <div class="layui-card-header"> <h2 class="header-title">用户管理</h2> <span class="layui-breadcrumb pull-right"> - <a href="#!console">首页</a> - <a><cite>用户管理</cite></a> + <a href="#!console">首页</a> + <a><cite>用户管理</cite></a> </span> </div> <div class="layui-card-body"> @@ -16,7 +16,7 @@ <option value="nick_name">用户名</option> <option value="mobile">手机号</option> </select>  - <input id="user-search-value" class="layui-input search-input" type="text" placeholder="输入关键字"/>  + <input id="user-search-value" class="layui-input search-input" type="text" placeholder="输入关键字" />  <button id="user-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button> <button id="user-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button> <button id="user-btn-export" class="layui-btn icon-btn"><i class="layui-icon"></i>导出</button> @@ -34,6 +34,7 @@ <script type="text/html" id="user-table-bar"> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> <a class="layui-btn layui-btn-xs" lay-event="reset">重置密码</a> + <a class="layui-btn layui-btn-xs" lay-event="org">分配组织</a> <a class="layui-btn layui-btn-xs" lay-event="del">删除</a> </script> @@ -59,24 +60,25 @@ elem: '#user-table', url: config.base_server + 'api-user/users', method: 'GET', - headers:{'Authorization': 'Bearer ' + config.getToken().access_token}, + headers: { 'Authorization': 'Bearer ' + config.getToken().access_token }, page: true, cols: [[ - {type: 'numbers'}, - {field: 'id', sort: true, title: '用户编号'}, - {field: 'username', sort: true, title: '账号'}, - {field: 'nickname', sort: true, title: '用户名'}, - {field: 'mobile', sort: true, title: '手机号'}, - {sort: true, title: '性别',templet:function (d) { - return d.sex==0?"男":"女" - }}, + { field: 'id', sort: true, width: 200, title: '标识' }, + { field: 'username', sort: true, width: 100, title: '账号' }, + { field: 'nickname', sort: true, width: 200, title: '用户名' }, + { field: 'mobile', sort: true, width: 150, title: '手机号' }, { - sort: true, templet: function (d) { + sort: true, title: '性别', templet: function (d) { + return d.sex == 0 ? "男" : "女" + }, width: 100 + }, + { + sort: true, width: 200, templet: function (d) { return util.toDateString(d.createTime); }, title: '创建时间' }, - {field: 'enabled',width: 100, sort: true, templet: '#user-tpl-state', title: '状态'}, - {fixed: 'right', align: 'center', toolbar: '#user-table-bar', title: '操作', width: 195} + { field: 'enabled', width: 100, sort: true, templet: '#user-tpl-state', title: '状态' }, + { fixed: 'right', align: 'center', toolbar: '#user-table-bar', title: '操作', width: 300 } ]] }); @@ -96,12 +98,12 @@ layer.confirm('确定重置此用户的密码吗?', function (i) { layer.close(i); layer.load(2); - admin.req('api-user/users/'+obj.data.id+'/password', {}, function (data) { + admin.req('api-user/users/' + obj.data.id + '/password', {}, function (data) { layer.closeAll('loading'); if (data.code == 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'PUT'); }); @@ -109,15 +111,23 @@ layer.confirm('确定删除此用户吗?', function (i) { layer.close(i); layer.load(2); - admin.req('api-user/users/'+obj.data.id, {}, function (data) { + admin.req('api-user/users/' + obj.data.id, {}, function (data) { layer.closeAll('loading'); if (data.code == 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); table.reload('user-table', {}); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } }, 'delete'); + }); + } else if (layEvent === "org") { + admin.putTempData('t_user', data); + admin.popupCenter({ + title: "分配组织", + path: 'pages/system/user_org_form.html', + finish: function () { + } }); } }); @@ -125,8 +135,8 @@ //显示表单弹窗 var showEditModel = function (data) { //修改sex值 - if (data){ - data.sex = data.sex+''; + if (data) { + data.sex = data.sex + ''; } admin.putTempData('t_user', data); var title = data ? '修改用户' : '添加用户'; @@ -143,7 +153,7 @@ $('#user-btn-search').click(function () { var key = $('#user-search-key').val(); var value = $('#user-search-value').val(); - table.reload('user-table', {where: {searchKey: key, searchValue: value}}); + table.reload('user-table', { where: { searchKey: key, searchValue: value } }); }); // 导出 @@ -154,7 +164,7 @@ xhr.responseType = "blob"; xhr.setRequestHeader("client_type", "DESKTOP_WEB"); xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token); - xhr.onload = function() { + xhr.onload = function () { if (this.status == 200) { var fileName = "user.xlsx"; var blob = this.response; @@ -182,10 +192,10 @@ }, function (data) { layer.closeAll('loading'); if (data.code == 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); //table.reload('table-user', {}); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); $(obj.elem).prop('checked', !obj.elem.checked); form.render('checkbox'); } @@ -196,16 +206,16 @@ var importUrl = config.base_server + 'api-user/users/import'; upload.render({ elem: '#user-btn-import' - ,url: importUrl - ,accept: 'file' //普通文件 - ,multiple: false - ,headers: {"Authorization" : "Bearer " + config.getToken().access_token} - ,done: function(data){ + , url: importUrl + , accept: 'file' //普通文件 + , multiple: false + , headers: { "Authorization": "Bearer " + config.getToken().access_token } + , done: function (data) { if (data.code == 0) { - layer.msg(data.msg, {icon: 1, time: 500}); + layer.msg(data.msg, { icon: 1, time: 500 }); table.reload('user-table', {}); } else { - layer.msg(data.msg, {icon: 2, time: 500}); + layer.msg(data.msg, { icon: 2, time: 500 }); } } }); diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_form.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_form.html index fd9033b..e5d9575 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_form.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_form.html @@ -65,7 +65,6 @@ // 回显user数据 var user = admin.getTempData('t_user'); - console.log(user); $('#user-form').attr('method', 'POST'); if (user) { form.val('user-form', user); diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_org_form.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_org_form.html new file mode 100644 index 0000000..6ea4686 --- /dev/null +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/system/user_org_form.html @@ -0,0 +1,164 @@ +<!-- user表单弹窗 --> +<form id="user-org-form" lay-filter="user-org-form" class="layui-form model-form"> + <div class="layui-form-item"> + <label class="layui-form-label">账号</label> + <div class="layui-input-block"> + <input name="username" type="text" class="layui-input" maxlength="20" lay-verify="required" required + readonly /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">用户名</label> + <div class="layui-input-block"> + <input name="nickname" type="text" class="layui-input" maxlength="20" lay-verify="required" required + readonly /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">组织</label> + <div class="layui-input-block"> + <div id="org-tree" class="demo-tree demo-tree-box" style="max-height: 300px; overflow-y:scroll;"></div> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">选定组织</label> + <div class="layui-input-block"> + <input name="orgName" id="orgName" type="text" class="layui-input" maxlength="20" lay-verify="required" + required readonly /> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">状态</label> + <div class="layui-input-block"> + <input type="radio" name="enabled" value="1" title="启用" /> + <input type="radio" name="enabled" value="0" title="禁用" /> + </div> + </div> + <div class="layui-form-item model-form-footer"> + <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button> + <button class="layui-btn" lay-filter="user-org-form-submit" lay-submit>保存</button> + </div> + <input name="id" id="id" type="hidden" /> + <input name="orgId" id="orgId" type="hidden" /> + <input name="userId" id="userId" type="hidden" /> + <input name="updateUserId" id="updateUserId" type="hidden" /> +</form> + +<script> + layui.use(['layer', 'admin', 'form', "tree", 'table', 'config', 'formSelects'], function () { + var table = layui.table; + var config = layui.config; + var layer = layui.layer; + var admin = layui.admin; + var form = layui.form; + var formSelects = layui.formSelects; + var tree = layui.tree; + + // 回显user数据 + var user = admin.getTempData('t_user'); + $('#user-org-form').attr('method', 'POST'); + if (user) { + form.val('user-org-form', user); + $("#id").val(""); + $("#userId").val(user.id); + admin.req('api-user/sysuserorg', { user_id: user.id }, function (data) { + if (data.code == 0) { + if (data.data.length > 1) { + let useData = data.data[1]; + $("#orgId").val(useData.orgId); + $("#userId").val(useData.userId); + $("#id").val(useData.id); + if (useData.enabled) { + $('input[name="enabled"][value="0"]').removeAttr("checked"); + $('input[name="enabled"][value="1"]').attr("checked", "true"); + } + else { + $('input[name="enabled"][value="1"]').removeAttr("checked"); + $('input[name="enabled"][value="0"]').attr("checked", "true"); + } + admin.req('api-user/sysorganization/' + useData.orgId, {}, function (dataName) { + if (dataName.code == 0) { + if (dataName.data != null) { + $("#orgName").val(dataName.data.orgName); + } + else { + + layer.msg("当前组织数据获取失败!", { icon: 2, time: 1000 }); + } + } + else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, 'get') + } + else { + $("#userId").val(user.id); + $("#id").val(""); + $('input[name="enabled"][value="1"]').attr("checked", "true"); + $('input[name="enabled"][value="0"]').removeAttr("checked"); + } + } + else { + layer.msg(data.msg, { icon: 2, time: 2000 }, function () { + admin.finishPopupCenter(); + }); + } + + form.render(); + }, 'get'); + } + else { + layer.msg('数据异常,请重新打开!', { icon: 2, time: 2000 }, function () { + admin.finishPopupCenter(); + }); + } + + //组织结构树 + admin.req('api-user/sysorganization/getTree', { is_del: 0, enabled: 1 }, function (data) { + if (0 === data.code) { + tree({ + elem: "#org-tree", + nodes: data.data, + click: function (node) { + //将数据赋值 + if (node.level == 2) { + $("#orgId").val(node.id); + $("#orgName").val(node.name); + $("#updateUserId").val(node.parentId); + } + } + }); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, 'get'); + + // 表单提交事件 + form.on('submit(user-org-form-submit)', function (data) { + layer.load(2); + if (!strUtil.isEmpty($("#orgId").val())) { + if (data.field != null) { + data.field.enabled = (data.field.enabled == 0) ? false : true; + admin.req('api-user/sysuserorg', JSON.stringify(data.field), function (data) { + layer.closeAll('loading'); + debugger + if (data.code == 0) { + layer.msg(data.msg, { icon: 1, time: 1000 }); + admin.finishPopupCenter(); + } else { + layer.msg(data.msg, { icon: 2, time: 1000 }); + } + }, "POST"); + } + else { + layer.msg("数据异常!", { icon: 2, time: 1000 }); + } + } + else { + layer.msg("请点击选择一个组织的部门节点!", { icon: 2, time: 1000 }); + } + + return false; + }); + }); +</script> \ No newline at end of file -- Gitblit v1.8.0