From 9398417180e5e9e511f1fca7260aaebd5db271e4 Mon Sep 17 00:00:00 2001 From: liyawei Date: Fri, 4 Mar 2022 09:16:57 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E9=83=A8=E9=97=A8=E6=9F=A5=E8=AF=A2=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 39 +++++++++++-------- .../system/mapper/xml/SysDepartMapper.xml | 26 ++++++++----- .../system/mapper/xml/SysUserMapper.xml | 2 +- .../service/impl/SysDepartServiceImpl.java | 14 +++---- 4 files changed, 46 insertions(+), 35 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 8a6c035c8..f45708f11 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -3,35 +3,36 @@ package com.jero.modules.system.controller; import cn.hutool.core.util.RandomUtil; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.shiro.authz.annotation.RequiresRoles; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.PermissionData; import com.jero.common.constant.CommonConstant; import com.jero.common.system.api.ISysBaseAPI; -import com.jero.modules.base.service.BaseCommonService; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; -import com.jero.common.util.*; +import com.jero.common.util.ImportExcelUtil; +import com.jero.common.util.PasswordUtil; +import com.jero.common.util.RedisUtil; +import com.jero.common.util.oConvertUtils; +import com.jero.modules.base.service.BaseCommonService; import com.jero.modules.system.entity.*; import com.jero.modules.system.model.DepartIdModel; import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.service.*; import com.jero.modules.system.vo.SysDepartUsersVO; import com.jero.modules.system.vo.SysUserRoleVO; -import org.apache.shiro.subject.Subject; -import org.checkerframework.framework.qual.RequiresQualifier; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -61,6 +62,7 @@ import java.util.stream.Collectors; */ @Slf4j @RestController +@Api(tags = "用户管理") @RequestMapping("/sys/user") public class SysUserController { @Autowired @@ -647,6 +649,7 @@ public class SysUserController { /** * 部门用户列表 */ + @ApiOperation(value = "查询组织下的用户列表") @RequestMapping(value = "/departUserList", method = RequestMethod.GET) @RequiresPermissions("sys:user:list") public Result> departUserList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @@ -654,16 +657,20 @@ public class SysUserController { Result> result = new Result>(); Page page = new Page(pageNo, pageSize); String depId = req.getParameter("depId"); - String username = req.getParameter("username"); +// String username = req.getParameter("username"); + String username = null; //根据部门ID查询,当前和下级所有的部门IDS List subDepids = new ArrayList<>(); //部门id为空时,查询我的部门下所有用户 if(oConvertUtils.isEmpty(depId)){ - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1; - if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){ - subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds()); - } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0); + subDepids = sysDepartService.list(queryWrapper).stream().map(SysDepart::getId).collect(Collectors.toList()); +// LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// int userIdentity = user.getUserIdentity() != null?user.getUserIdentity():CommonConstant.USER_IDENTITY_1; +// if(oConvertUtils.isNotEmpty(userIdentity) && userIdentity == CommonConstant.USER_IDENTITY_2 ){ +// subDepids = sysDepartService.getMySubDepIdsByDepId(user.getDepartIds()); +// } }else{ subDepids = sysDepartService.getSubDepIdsByDepId(depId); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml index 960893dd5..372352fee 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml @@ -3,28 +3,34 @@ + SELECT sd.id + FROM sys_depart sd,( SELECT ( @nodes := queryChildrenTempNode (#{departId})) AS pids ) t + WHERE + FIND_IN_SET( sd.id, t.pids ) + AND del_flag = 0 + select * from sys_user where del_flag = 0 - and id in (select user_id from sys_user_depart where dep_id in + and id in (select dru.user_id from sys_depart_role dr, sys_depart_role_user dru where dr.id = dru.drole_id and dr.depart_id in #{id} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java index 7d5842fc4..c2d843998 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartServiceImpl.java @@ -1,13 +1,12 @@ package com.jero.modules.system.service.impl; -import java.util.*; - import com.alibaba.fastjson.JSONObject; -import com.jero.common.system.vo.SysDepartTreeModel; -import org.apache.commons.lang.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.FillRuleConstant; +import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.FillRuleUtil; import com.jero.common.util.YouBianCodeUtil; import com.jero.modules.system.entity.*; @@ -15,15 +14,14 @@ import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.DepartIdModel; import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.util.FindsDepartsChildrenUtil; +import io.netty.util.internal.StringUtil; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import io.netty.util.internal.StringUtil; +import java.util.*; /** *

From bd5308395ce81456d835a2f27bd4d5e7da03e967 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 4 Mar 2022 10:16:40 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93--=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BussDocumentLibraryEOServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 7b6a7e9b2..cf5749e68 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -262,9 +262,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl表单是否显示0否 1是) if ("add".equals(type)) { - //新增时,被代替标准在表单中不显示 + //新增时,被代替标准在表单中不显示. fieldList = fieldList.stream() - .filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())) && !e.getDbFieldName().equals("replaced_standard")) + .filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())) && !"replaced_standard" .equals(e.getDbFieldName())) .collect(Collectors.toList()); } else { fieldList = fieldList.stream() From fefce570212f4b1e970d0a6a3644fb80b2a48774 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Fri, 4 Mar 2022 10:20:19 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AD=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 7 +- jero-web/src/common/lang/zh-cn.js | 5 + .../components/PersonnelSelection/index.vue | 4 +- .../components/Standardselection/index.vue | 2 +- jero-web/src/components/addForm/index.vue | 15 ++- .../src/components/libraryAddForm/index.vue | 14 +-- jero-web/src/components/search/index.vue | 4 +- jero-web/src/components/tableDate/index.vue | 2 +- .../src/components/tools/HeaderNotice.vue | 112 +++--------------- .../library/docDetail/index.vue | 9 +- .../views/documentManage/library/index.vue | 14 +-- .../src/views/system/UserAnnouncementList.vue | 12 +- 12 files changed, 67 insertions(+), 133 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 8b97ae2ba..1092e0d35 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -408,5 +408,10 @@ module.exports = { PleaseSelectData: 'Please select data first', MessageContent: 'Message Content', MessageType: 'Message Type', - NotificationTime: 'Notification Time' + NotificationTime: 'Notification Time', + MessageNotification:'Message Notification', + SeeMore:'See more', + OperationSuccessful:'Operation successful', + operationFailed:'operation failed', + PersonnelSelection:'Personnel selection' } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 0c35abacf..c6b543a81 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -413,4 +413,9 @@ module.exports = { MessageContent:'消息内容', MessageType:'消息类型', NotificationTime:'通知时间', + MessageNotification:'消息通知', + SeeMore:'查看更多', + OperationSuccessful:'操作成功', + operationFailed:'操作失败', + PersonnelSelection:'人员选择', } \ No newline at end of file diff --git a/jero-web/src/components/PersonnelSelection/index.vue b/jero-web/src/components/PersonnelSelection/index.vue index 392029632..b2b4c52ae 100644 --- a/jero-web/src/components/PersonnelSelection/index.vue +++ b/jero-web/src/components/PersonnelSelection/index.vue @@ -3,11 +3,11 @@

- 人员选择 + {{this.$t('PersonnelSelection')}}
{ if (res.success) { - this.$message.success(res.message) + this.$message.success(this.$t('OperationSuccessful')) eventBUs.$emit('searchReset') this.$emit('addFormClick') } else { - this.$message.warning(res.message) + this.$message.warning(this.$t('operationFailed')) } }) } else { @@ -295,7 +295,6 @@ }, /** 上传文件的回调 */ uploadSuccess(data) { - console.log(data) let attIdList = [] data.map(item => { attIdList.push(item.id || data.name) @@ -319,7 +318,7 @@ if (res.field_show_type === '1') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'blur' }) } else if (res.field_show_type === '4' || res.field_show_type === '6' || @@ -327,25 +326,25 @@ ) { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'change' }) } else if (res.field_show_type === '2') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'blur' }) } else if (res.field_show_type === '8' || res.field_show_type === '9' || res.field_show_type === '10') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'blur' }) } else if (res.field_show_type === '3') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'change' }) } diff --git a/jero-web/src/components/libraryAddForm/index.vue b/jero-web/src/components/libraryAddForm/index.vue index a824dbe75..112848c59 100644 --- a/jero-web/src/components/libraryAddForm/index.vue +++ b/jero-web/src/components/libraryAddForm/index.vue @@ -350,11 +350,11 @@ }) postAction(url, formInline).then((res) => { if (res.success) { - this.$message.success(res.message) + this.$message.success(this.$t('OperationSuccessful')) eventBUs.$emit('searchReset') this.$emit('addFormClick') } else { - this.$message.warning(res.message) + this.$message.warning(this.$t('operationFailed')) } }) } else { @@ -410,7 +410,7 @@ if (res.field_show_type === '1') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'blur' }) } else if (res.field_show_type === '4' || res.field_show_type === '6' || @@ -418,25 +418,25 @@ ) { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'change' }) } else if (res.field_show_type === '2') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'blur' }) } else if (res.field_show_type === '8' || res.field_show_type === '9' || res.field_show_type === '10') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'blur' }) } else if (res.field_show_type === '3') { rule.push({ required: true, - message: res.db_field_txt + '不能为空', + message: res.db_field_txt + this.$t('cannotEmpty'), trigger: 'change' }) } diff --git a/jero-web/src/components/search/index.vue b/jero-web/src/components/search/index.vue index e9bcba633..95013b3a9 100644 --- a/jero-web/src/components/search/index.vue +++ b/jero-web/src/components/search/index.vue @@ -17,7 +17,7 @@
-
+
{{item.db_field_txt}}
@@ -42,7 +42,7 @@ @change="dateChange(item.db_field_name)" v-model="queryParam[item.db_field_name]"/>
-
+
{{item.db_field_txt}}
diff --git a/jero-web/src/components/tableDate/index.vue b/jero-web/src/components/tableDate/index.vue index 0345280ac..7d83774ed 100644 --- a/jero-web/src/components/tableDate/index.vue +++ b/jero-web/src/components/tableDate/index.vue @@ -39,7 +39,7 @@
-
-

{{ record.titile }}

-

{{ record.createTime }} 发布

+ - - - - -
- 查看更多 + {{this.$t('SeeMore')}}
- - - - - - - - - - - - - - - - - - @@ -54,14 +32,12 @@ - @@ -659,4 +650,7 @@ background: #fff; border-radius: 0 0 2px 2px; } + .box-ant{ + margin-right: 0!important; + } \ No newline at end of file diff --git a/jero-web/src/views/system/modules/DeptUserInfo.vue b/jero-web/src/views/system/modules/DeptUserInfo.vue index 7eae7839e..892a746af 100644 --- a/jero-web/src/views/system/modules/DeptUserInfo.vue +++ b/jero-web/src/views/system/modules/DeptUserInfo.vue @@ -10,15 +10,10 @@ - - - - - - + - {{$t('query')}} - {{$t('reset')}} + {{$t('query')}} + {{$t('reset')}} @@ -27,72 +22,66 @@
- {{$t('AddExistingUsers')}} - {{$t('newUser')}} + + - - - - - {{$t('disassociate')}} - - - {{$t('batchOperation')}} - - - + + + + + + + + + + +
-
- {{$t('selected')}} {{ - selectedRowKeys.length }} {{$t('term')}} - {{$t('empty')}} -
- + + + + + + + + + + - - {{$t('edit')}} - - - - - - {{$t('more')}} - - - - {{$t('AssignDepartmentRoles')}} - - - - {{$t('userDetail')}} - - - - - {{$t('disassociate')}} - - - - - + + + + + + + + + + + + + + + + + + +
From b56ff37c2c478c345b138eb9853c34933214af23 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Fri, 4 Mar 2022 11:28:53 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/system/DepartList.vue | 23 ++++++++++++------- .../src/views/system/modules/DeptUserInfo.vue | 6 +++-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/jero-web/src/views/system/DepartList.vue b/jero-web/src/views/system/DepartList.vue index 6b7d26eb2..57ca0b392 100644 --- a/jero-web/src/views/system/DepartList.vue +++ b/jero-web/src/views/system/DepartList.vue @@ -68,7 +68,7 @@ - + @@ -279,7 +279,8 @@ exportXlsUrl: 'sys/sysDepart/exportXls', importExcelUrl: 'sys/sysDepart/importExcel' }, - orgCategoryDisabled: false + orgCategoryDisabled: false, + recordTab:{}, } }, computed: { @@ -331,7 +332,6 @@ this.rightClickSelectedOrgCode = node.node.dataRef.orgCode }, onExpand(expandedKeys) { - console.log('onExpand', expandedKeys) this.iExpandedKeys = expandedKeys }, backFlowList() { @@ -413,19 +413,26 @@ } }, onSelect(selectedKeys, e) { - console.log('selected', selectedKeys, e) this.hiding = false let record = e.node.dataRef - console.log('onSelect-record', record) this.currSelected = Object.assign({}, record) this.model = this.currSelected this.selectedKeys = [record.key] this.model.parentId = record.parentId this.setValuesToForm(record) - this.$refs.departAuth.show(record.id) + this.recordTab = record + // this.$refs.departAuth.show(record.id) // 传用户信息参数 - this.$refs.DeptUserInfo.open(record) - + if (this.$refs.DeptUserInfo){ + this.$refs.DeptUserInfo.open(record) + } + }, + tabChange(event){ + if(event == 3){ + this.$nextTick(()=>{ + this.$refs.DeptUserInfo.open(this.recordTab) + }) + } }, // 触发onSelect事件时,为部门树右侧的form表单赋值 setValuesToForm(record) { diff --git a/jero-web/src/views/system/modules/DeptUserInfo.vue b/jero-web/src/views/system/modules/DeptUserInfo.vue index 892a746af..f526ff767 100644 --- a/jero-web/src/views/system/modules/DeptUserInfo.vue +++ b/jero-web/src/views/system/modules/DeptUserInfo.vue @@ -151,7 +151,8 @@ edit: "/sys/user/editSysDepartWithUser", delete: "/sys/user/deleteUserInDepart", deleteBatch: "/sys/user/deleteUserInDepartBatch", - } + }, + loading:false, } }, created() { @@ -167,6 +168,7 @@ this.$message.error(this.$t('setURLListAttribute')) return } + this.loading = true //加载数据 若传入参数1则加载第一页的内容 if (arg === 1) { this.ipagination.current = 1; @@ -175,6 +177,7 @@ let params = this.getQueryParams();//查询条件 params.depId = this.currentDeptId; getAction(this.url.list, params).then((res) => { + this.loading = false if (res.success && res.result) { this.dataSource = res.result.records; this.ipagination.total = res.result.total; @@ -248,7 +251,6 @@ }); }, open(record) { - //console.log(record); this.currentDeptId = record.id; this.currentDept = record; this.loadData(1); From 3996804acf91b9ff9eba68a26fffefa94d353b9f Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 4 Mar 2022 11:51:21 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93--=E6=A0=91?= =?UTF-8?q?=E5=BD=A2=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../online/cgform/entity/OnlCgformField.java | 9 +++++ .../controller/SysCategoryController.java | 30 ++++++++-------- .../system/entity/SysCategoryTreeVO.java | 2 ++ .../system/service/ISysCategoryService.java | 10 +++--- .../service/impl/SysCategoryServiceImpl.java | 6 ++-- .../jero/modules/system/util/TreeUtils.java | 2 ++ .../modules/document/enums/FieldTypeEnum.java | 1 + .../BussDocumentLibraryEOServiceImpl.java | 34 ++++++++++++++----- 8 files changed, 63 insertions(+), 31 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java index 793130043..4e916ce16 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java +++ b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java @@ -47,6 +47,7 @@ public class OnlCgformField implements Serializable { private Integer orderNum; private String updateBy; private String showArea; + private String dictId; @JsonFormat( timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss" @@ -75,6 +76,14 @@ public class OnlCgformField implements Serializable { private String queryMustInput; private String sortFlag; + public String getDictId() { + return dictId; + } + + public void setDictId(String dictId) { + this.dictId = dictId; + } + public String getShowArea() { return showArea; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java index 0e9f50e82..c3c877bc2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java @@ -48,7 +48,7 @@ import java.util.stream.Collectors; public class SysCategoryController { @Autowired private ISysCategoryService sysCategoryService; - + /** * 分页列表查询 * @param sysCategory @@ -67,7 +67,7 @@ public class SysCategoryController { sysCategory.setPid("0"); } Result> result = new Result>(); - + //--author:os_chengtgen---date:20190804 -----for: 分类字典页面显示错误,issues:377--------start //QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysCategory, req.getParameterMap()); QueryWrapper queryWrapper = new QueryWrapper(); @@ -126,7 +126,7 @@ public class SysCategoryController { } return result; } - + /** * 编辑 * @param sysCategory @@ -145,7 +145,7 @@ public class SysCategoryController { } return result; } - + /** * 通过id删除 * @param id @@ -162,10 +162,10 @@ public class SysCategoryController { this.sysCategoryService.deleteSysCategory(id); result.success("删除成功!"); } - + return result; } - + /** * 批量删除 * @param ids @@ -183,7 +183,7 @@ public class SysCategoryController { } return result; } - + /** * 通过id查询 * @param id @@ -285,9 +285,9 @@ public class SysCategoryController { } return Result.error("文件导入失败!"); } - - - + + + /** * 加载单个数据 用于回显 */ @@ -296,7 +296,7 @@ public class SysCategoryController { public Result loadOne(@RequestParam(name="field") String field,@RequestParam(name="val") String val) { Result result = new Result(); try { - + QueryWrapper query = new QueryWrapper(); query.eq(field, val); List ls = this.sysCategoryService.list(query); @@ -317,7 +317,7 @@ public class SysCategoryController { } return result; } - + /** * 加载节点的子数据 */ @@ -336,7 +336,7 @@ public class SysCategoryController { } return result; } - + /** * 加载一级节点/如果是同步 则所有数据 */ @@ -358,7 +358,7 @@ public class SysCategoryController { } return result; } - + /** * 递归求子节点 同步加载用到 */ @@ -518,7 +518,7 @@ public class SysCategoryController { @GetMapping("/getSysCategoryTree") public Result getSysCategoryTree() { - return sysCategoryService.getSysCategoryTree(); + return Result.OK(sysCategoryService.getSysCategoryTree()); } } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java index 791df3339..3d3870f77 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java @@ -17,6 +17,8 @@ public class SysCategoryTreeVO { private String title; + private String dictId; + private List children; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java index c28a7a6cd..083e178db 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java @@ -1,9 +1,9 @@ package com.jero.modules.system.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; import com.jero.modules.system.entity.SysCategory; +import com.jero.modules.system.entity.SysCategoryTreeVO; import com.jero.modules.system.model.TreeSelectModel; import java.util.List; @@ -21,16 +21,16 @@ public interface ISysCategoryService extends IService { public static final String ROOT_PID_VALUE = "0"; void addSysCategory(SysCategory sysCategory); - + void updateSysCategory(SysCategory sysCategory); - + /** * 根据父级编码加载分类字典的数据 * @param pcode * @return */ public List queryListByCode(String pcode) throws JeroBootException; - + /** * 根据pid查询子节点集合 * @param pid @@ -70,5 +70,5 @@ public interface ISysCategoryService extends IService { * 获取树形结构 * @return */ - Result getSysCategoryTree(); + List getSysCategoryTree(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java index 37ebe7271..db051dbcd 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java @@ -62,7 +62,7 @@ public class SysCategoryServiceImpl extends ServiceImpl getSysCategoryTree() { try { List list = super.baseMapper.selectList(new QueryWrapper<>()); List tree = new ArrayList<>(); if(CollectionUtils.isNotEmpty(list)){ tree = TreeUtils.getSysCategoryTree(list); } - return Result.OK(tree); + return tree; }catch (Exception ex){ log.error("查询树形结构失败: " + ex.getMessage()); throw new JeroBootException("查询树形结构失败!"); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java index 3574683c7..c577bff78 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java @@ -25,6 +25,7 @@ public class TreeUtils { if (TREE_ROOT_CODE.equals(sysCategory.getPid())) { SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO(); sysCategoryTreeVO.setId(sysCategory.getId()); + sysCategoryTreeVO.setDictId(sysCategory.getSysDictId()); sysCategoryTreeVO.setTitle(sysCategory.getName()); sysCategoryTreeVO.setParentId(sysCategory.getPid()); sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList)); @@ -39,6 +40,7 @@ public class TreeUtils { for (SysCategory sysCategory : sysCategoryList) { if (id.equals(sysCategory.getPid())) { SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO(); + sysCategoryTreeVO.setDictId(sysCategory.getSysDictId()); sysCategoryTreeVO.setId(sysCategory.getId()); sysCategoryTreeVO.setTitle(sysCategory.getName()); sysCategoryTreeVO.setParentId(sysCategory.getPid()); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java index 9868a1b7f..885b25b39 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java @@ -12,6 +12,7 @@ public enum FieldTypeEnum { // FILE("文件","file"), // DATE("日期","date"); //属性类型 1输入框(字符串),2输入框(数字),3单选下拉框,4多选下拉框,5单日期选择,6多日期选择,7文件,8文本框,9人员选择,10标准选择 + TREE("树形结构","0"), TEXT_STRING("输入框(字符串)","1"), TEXT_NUMBER("输入框(数字)","2"), PULL_SINGLE("单选下拉框","3"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index cf5749e68..6715dcd23 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -29,13 +29,12 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; import com.jero.modules.system.entity.SysAnnouncement; -import com.jero.modules.system.entity.SysAnnouncementSend; +import com.jero.modules.system.entity.SysCategoryTreeVO; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; -import com.jero.modules.system.service.ISysAnnouncementSendService; import com.jero.modules.system.service.ISysAnnouncementService; -import com.jero.modules.system.service.impl.SysBaseApiImpl; +import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.tag.entity.OnlCgformArea; import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl; @@ -112,6 +111,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea); //字段属性 List fieldList = onlCgformFieldService.getFieldList(flag); + //过滤出字段为树形结构的 + List onlCgformFieldTree = fieldList.stream().filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); if (fieldList.size() != 0) { //过滤出表单字段(is_show_form-->表单是否显示0否 1是) @@ -273,6 +276,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl sysCategoryTree = sysCategoryService.getSysCategoryTree(); List> result = new ArrayList<>(); for (OnlCgformArea onlCgformAreaTemp : areaList) { String areaName = ""; @@ -283,8 +288,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); for (OnlCgformField onlCgformField : fieldListTemp) { + String dictId = onlCgformField.getDictId(); + SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO(); + if(StringUtils.isNotBlank(dictId)){ + List sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList()); + if(sysCategoryTreeVOList.size() != 0){ + sysCategoryTreeVO = sysCategoryTreeVOList.get(0); + } + } Map map = new HashMap<>(); - mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName); + mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,sysCategoryTreeVO); map.put("field_must_input", onlCgformField.getFieldMustInput());//区域 result.add(map); } @@ -479,14 +492,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl mapNew = new HashMap<>(); mapNew.put("value", fileInfo); - mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName); + mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null); resultTemp.add(mapNew); } } } else if (fileInfos.size() == 1) { //单个文件处理 map.put("value", fileInfos.get(0)); - mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName); + mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null); resultTemp.add(map); } } @@ -513,7 +526,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map, String field_show_type, String fieldShowType2, String dict_field, String dictField, String db_field_name, String dbFieldName2, String db_field_txt, String dbFieldTxt, String db_field_en_name, String dbFieldEnName, String area, String showArea) { + private void mapPut(String cut, Map map, String field_show_type, + String fieldShowType2, String dict_field, String dictField, + String db_field_name, String dbFieldName2, String db_field_txt, + String dbFieldTxt, String db_field_en_name, String dbFieldEnName, + String area, String showArea,SysCategoryTreeVO sysCategoryTreeVO) { map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等) map.put(dict_field, dictField); map.put(db_field_name, dbFieldName2);//字段 @@ -545,6 +562,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl Date: Fri, 4 Mar 2022 11:51:59 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/system/DepartList.vue | 96 ++++++++++--------- jero-web/src/views/system/RoleUserList.vue | 67 +++++++------ jero-web/src/views/system/UserList.vue | 2 +- .../src/views/system/modules/DeptUserInfo.vue | 15 +-- 4 files changed, 99 insertions(+), 81 deletions(-) diff --git a/jero-web/src/views/system/DepartList.vue b/jero-web/src/views/system/DepartList.vue index 57ca0b392..bed61935b 100644 --- a/jero-web/src/views/system/DepartList.vue +++ b/jero-web/src/views/system/DepartList.vue @@ -23,30 +23,30 @@ - +
@@ -94,8 +94,8 @@ :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('OrganizationCode')"> - - + - + - + - + - - - - - + + + + + @@ -267,10 +270,10 @@ edges: [] }, validatorRules: { - // departName: { rules: [{ required: true, message: this.$t('EnterOrganizationDepartment') }] }, - // orgCode: { rules: [{ required: true, message: this.$t('enterOrganizationCode') }] }, - // orgCategory: { rules: [{ required: true, message: this.$t('enterOrganizationType') }] }, - // mobile: { rules: [{ validator: this.validateMobile }] } + // departName: { rules: [{ required: true, message: this.$t('EnterOrganizationDepartment') }] }, + // orgCode: { rules: [{ required: true, message: this.$t('enterOrganizationCode') }] }, + // orgCategory: { rules: [{ required: true, message: this.$t('enterOrganizationType') }] }, + // mobile: { rules: [{ validator: this.validateMobile }] } }, url: { delete: '/sys/sysDepart/delete', @@ -280,7 +283,7 @@ importExcelUrl: 'sys/sysDepart/importExcel' }, orgCategoryDisabled: false, - recordTab:{}, + recordTab: {} } }, computed: { @@ -423,13 +426,13 @@ this.recordTab = record // this.$refs.departAuth.show(record.id) // 传用户信息参数 - if (this.$refs.DeptUserInfo){ + if (this.$refs.DeptUserInfo) { this.$refs.DeptUserInfo.open(record) } }, - tabChange(event){ - if(event == 3){ - this.$nextTick(()=>{ + tabChange(event) { + if (event == 3) { + this.$nextTick(() => { this.$refs.DeptUserInfo.open(this.recordTab) }) } @@ -657,7 +660,8 @@ background: #fff; border-radius: 0 0 2px 2px; } - .box-ant{ - margin-right: 0!important; + + .box-ant { + margin-right: 0 !important; } \ No newline at end of file diff --git a/jero-web/src/views/system/RoleUserList.vue b/jero-web/src/views/system/RoleUserList.vue index b595ee862..198684a45 100644 --- a/jero-web/src/views/system/RoleUserList.vue +++ b/jero-web/src/views/system/RoleUserList.vue @@ -40,6 +40,7 @@
{ - return moment(text).format('YYYY-MM-DD') - } + columns: [ + { + title: this.$t('serialNumber'), + dataIndex: '', + key: 'rowIndex', + width: 20, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 } - // { - // title: this.$t('operation'), - // dataIndex: 'action', - // align: 'center', - // scopedSlots: { customRender: 'action' } - // } - ], + }, + { + title: this.$t('RoleCode'), + align: 'center', + dataIndex: 'roleCode', + width: 180 + }, + { + title: this.$t('roleName'), + align: 'center', + dataIndex: 'roleName', + width: 180 + }, + { + title: this.$t('createTime'), + dataIndex: 'createTime', + align: 'center', + width: 180, + sorter: true, + customRender: (text) => { + return moment(text).format('YYYY-MM-DD') + } + } + // { + // title: this.$t('operation'), + // dataIndex: 'action', + // align: 'center', + // scopedSlots: { customRender: 'action' } + // } + ], // 高级查询拼接条件 superQueryMatchType2: 'and', url: { diff --git a/jero-web/src/views/system/UserList.vue b/jero-web/src/views/system/UserList.vue index c7d982999..a5f2b7e05 100644 --- a/jero-web/src/views/system/UserList.vue +++ b/jero-web/src/views/system/UserList.vue @@ -74,6 +74,7 @@
+ \ No newline at end of file