From 0fe60644a9b8386e8b7743afec47031372b3b2c6 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Fri, 6 Jan 2023 09:53:33 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E8=B4=A3=E4=BB=BB=E9=A2=86=E5=9F=9F=E6=B7=BB=E5=8A=A0=E5=85=A8?= =?UTF-8?q?=E9=80=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 2 + jero-web/src/common/lang/zh-cn.js | 2 + .../components/customizeList.vue | 275 ++++++++++++++++++ .../components/listOfRegulations.vue | 11 +- .../views/system/modules/RoleAssignment.vue | 73 ++++- .../src/views/system/modules/UserModal.vue | 66 ++++- 6 files changed, 413 insertions(+), 16 deletions(-) create mode 100644 jero-web/src/views/projectManagement/components/customizeList.vue diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index b57ccfc50..25ca4a443 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1376,4 +1376,6 @@ module.exports = { Updateparametercolumn:'Update The Parameter Column', columnfirst:'Reference the parameter column first', columnforced:'Confirm a forced retraction?', + customize:'Customize the header', + customColumn:'Custom column', } \ 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 3f62cbed7..ecda6ea34 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1477,4 +1477,6 @@ module.exports = { brand:'品牌', allsubitemsitem:'该项目下拥有子项目,是否全部删除', contactTheFounder:'联系创建人', + customize:'自定义表头', + customColumn:'自定义列', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/customizeList.vue b/jero-web/src/views/projectManagement/components/customizeList.vue new file mode 100644 index 000000000..0624fa28e --- /dev/null +++ b/jero-web/src/views/projectManagement/components/customizeList.vue @@ -0,0 +1,275 @@ + + + + + \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 04be80b4c..4134cfba6 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -161,6 +161,10 @@ ...{{ $t('more') }} +
+ + {{ $t('customize') }} +
{{ $t('bringInRelevantPersonnel') }} @@ -311,6 +315,7 @@ + 0) { diff --git a/jero-web/src/views/system/modules/RoleAssignment.vue b/jero-web/src/views/system/modules/RoleAssignment.vue index 6612e56a3..64091e859 100644 --- a/jero-web/src/views/system/modules/RoleAssignment.vue +++ b/jero-web/src/views/system/modules/RoleAssignment.vue @@ -25,17 +25,24 @@ - - - - - - - - + + + + + + + {{$t('selectAll')}} + + + {{ item.title }} + + @@ -75,6 +82,8 @@ export default { title: this.$t('add'), total: 0, selectedRowKeysDate: {}, + dutylist: [], + jobsStr:'', loading: false, editId: '', newVisible: false, @@ -113,8 +122,50 @@ export default { mounted() { this.loadData() this.initDictData() + this.getdutylist() }, methods: { + getdutylist(){ + getAction('/sys/dict/getDictItems/duty_territory', {}).then((res) => { + if (res.success) { + this.dutylist = res.result + } else { + this.dutylist = [] + } + }) + }, + onChange(val) { + // val 拿到的是数组格式的数据,比如:['测试1','测试3'] + const res = this.dutyTerritories.join(',') + this.jobsStr = res + this.dutyTerritories = this.checkAll(val, this.dutylist) + }, + checkAll(arr, modelList) { + // arr是onChange中的val数组 modelList是下拉框List + let length = arr.length + let list = arr + // 遍历已经选中的选项 + arr.forEach(element => { + // 当数组中存在0,说明此时进行全选/取消全选 + if (element === '0') { + // 当数组长度为最大长度且最后一个元素为0时,说明此时在全选的基础上又点击全选,则取消全选 + if (length - 1 === modelList.length && arr[length - 1] === '0') { + list = [] + // 取消全选时,jobsStr需要重置为空,否则全选的数据还会展示在下拉输入框中 + this.jobsStr = '' + } else { + // 当不是取消全选操作,只要数组中出现了0则说明进行了全选操作 + list = [] + for (let i in modelList) { + list.push(modelList[i].title) + // 全选时,也需要给jobsStr 赋值,拿到所有的下拉选项,并进行数据格式转换 + this.jobsStr = list.join(',') + } + } + } + }) + return list + }, initDictData() { //优先从缓存中读取字典配置 if (getDictItemsFromCache(this.dictCode)) { diff --git a/jero-web/src/views/system/modules/UserModal.vue b/jero-web/src/views/system/modules/UserModal.vue index 2be2d4173..ed5f18123 100644 --- a/jero-web/src/views/system/modules/UserModal.vue +++ b/jero-web/src/views/system/modules/UserModal.vue @@ -76,10 +76,24 @@ - + + + + + + + {{$t('selectAll')}} + + + {{ item.title }} + + @@ -240,8 +254,10 @@ confirmDirty: false, viewshow: false, viewshowbrand: false, + jobsStr:'', selectedDepartKeys: [], //保存用户选择部门id brandsList: [], //保存用户选择部门id + dutylist: [], //保存用户选择部门id checkedDepartKeys: [], checkedDepartNames: [], // 保存部门的名称 =>title checkedDepartNameString: '', // 保存部门的名称 =>title @@ -380,6 +396,15 @@ } }) }, + getdutylist(){ + getAction('/sys/dict/getDictItems/duty_territory', {}).then((res) => { + if (res.success) { + this.dutylist = res.result + } else { + this.dutylist = [] + } + }) + }, loadUserRoles(userid) { queryUserRole({ userid: userid }).then((res) => { if (res.success) { @@ -494,12 +519,45 @@ this.refresh() this.edit({ activitiSync: '1' }) }, + onChange(val) { + // val 拿到的是数组格式的数据,比如:['测试1','测试3'] + const res = this.dutyTerritories.join(',') + this.jobsStr = res + this.dutyTerritories = this.checkAll(val, this.dutylist) + }, + checkAll(arr, modelList) { + // arr是onChange中的val数组 modelList是下拉框List + let length = arr.length + let list = arr + // 遍历已经选中的选项 + arr.forEach(element => { + // 当数组中存在0,说明此时进行全选/取消全选 + if (element === '0') { + // 当数组长度为最大长度且最后一个元素为0时,说明此时在全选的基础上又点击全选,则取消全选 + if (length - 1 === modelList.length && arr[length - 1] === '0') { + list = [] + // 取消全选时,jobsStr需要重置为空,否则全选的数据还会展示在下拉输入框中 + this.jobsStr = '' + } else { + // 当不是取消全选操作,只要数组中出现了0则说明进行了全选操作 + list = [] + for (let i in modelList) { + list.push(modelList[i].title) + // 全选时,也需要给jobsStr 赋值,拿到所有的下拉选项,并进行数据格式转换 + this.jobsStr = list.join(',') + } + } + } + }) + return list + }, edit(record) { this.resetScreenSize() // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度 let that = this this.disabled = false that.initialRoleList() that.barndslist() + that.getdutylist() if (record.activitiSync) { this.disabled = true } From 9e87e5ca1806fc9cb65ce221a84766f15f5e26d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=BD=A6=E6=B3=BD?= Date: Fri, 6 Jan 2023 14:21:27 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93-=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E6=84=8F=E8=A7=81=E6=94=B6=E9=9B=86-=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E6=8A=80=E6=9C=AF=E8=AF=84=E4=BC=B0-=E5=93=81?= =?UTF-8?q?=E7=89=8C=E8=A1=A8=E5=A4=B4=E5=B1=85=E5=B7=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../businessSupport/collectionOfRegulatoryOpinions/index.vue | 2 +- .../src/views/businessSupport/technologyAssessment/index.vue | 2 +- jero-web/src/views/projectManagement/projectLibrary/index.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/index.vue b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/index.vue index bcb6359d8..5e60fffb1 100644 --- a/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/index.vue +++ b/jero-web/src/views/businessSupport/collectionOfRegulatoryOpinions/index.vue @@ -213,7 +213,7 @@ }, { title: this.$t('brand'), - align: 'center', + align: 'left', ellipsis: true, width: 140, dataIndex: 'brand_text' diff --git a/jero-web/src/views/businessSupport/technologyAssessment/index.vue b/jero-web/src/views/businessSupport/technologyAssessment/index.vue index ff076ae87..277567333 100644 --- a/jero-web/src/views/businessSupport/technologyAssessment/index.vue +++ b/jero-web/src/views/businessSupport/technologyAssessment/index.vue @@ -282,7 +282,7 @@ }, { title: this.$t('brand'), - align: 'center', + align: 'left', ellipsis: true, width: 140, dataIndex: 'brand_text' diff --git a/jero-web/src/views/projectManagement/projectLibrary/index.vue b/jero-web/src/views/projectManagement/projectLibrary/index.vue index fea8392cd..2d27a619d 100644 --- a/jero-web/src/views/projectManagement/projectLibrary/index.vue +++ b/jero-web/src/views/projectManagement/projectLibrary/index.vue @@ -243,7 +243,7 @@ }, { title: this.$t('brand'), - align: 'center', + align: 'left', width: 180, ellipsis: true, dataIndex: 'brandText' From 3643370ec15afe0275dd581552bdaefbd0c34c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Fri, 6 Jan 2023 16:54:51 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=B8=85=E5=8D=95=E7=A9=BA=E6=8C=87=E9=92=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 66 ++++++++++--------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 679e73909..3773046d8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -3950,41 +3950,43 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl #a# # - String references_col = record1.get("references_col").toString(); - String[] references_colArr = references_col.split("#"); - if(StringUtils.equals(control_type,ControlTypeEnum.FILE.getValue())){ - String fileId = references_colArr[2]; - List fileInfos = this.ossFileService.getFileInfos(fileId); - String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; - }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_FILE.getValue()) - ||StringUtils.equals(control_type,ControlTypeEnum.PULL_SINGLE_FILE.getValue()) - ||StringUtils.equals(control_type,ControlTypeEnum.PULL_MORE_FILE.getValue())){ - String fileId = references_colArr[2]; - List fileInfos = this.ossFileService.getFileInfos(fileId); - String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; - }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue())){ - String fileId = references_colArr[2]; - List fileInfos = this.ossFileService.getFileInfos(fileId); - String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; - } - - StringBuilder references_colSb = new StringBuilder(); - for (String col : references_col.split("#")) { - if(StringUtils.isNotEmpty(col) && !StringUtils.equals(col," ")){ - references_colSb.append(col).append("#"); + if(!Objects.isNull(record1.get("references_col"))){ + String references_col = record1.get("references_col").toString(); + String[] references_colArr = references_col.split("#"); + if(StringUtils.equals(control_type,ControlTypeEnum.FILE.getValue())){ + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_FILE.getValue()) + ||StringUtils.equals(control_type,ControlTypeEnum.PULL_SINGLE_FILE.getValue()) + ||StringUtils.equals(control_type,ControlTypeEnum.PULL_MORE_FILE.getValue())){ + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue())){ + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; } - } - if(StringUtils.isNotEmpty(references_colSb)){ - references_col = references_colSb.substring(0,references_colSb.length()-1); - }else { - references_col = references_colSb.toString(); - } + StringBuilder references_colSb = new StringBuilder(); + for (String col : references_col.split("#")) { + if(StringUtils.isNotEmpty(col) && !StringUtils.equals(col," ")){ + references_colSb.append(col).append("#"); + } + } - record1.put("references_col",references_col); + if(StringUtils.isNotEmpty(references_colSb)){ + references_col = references_colSb.substring(0,references_colSb.length()-1); + }else { + references_col = references_colSb.toString(); + } + + record1.put("references_col",references_col); + } // 处理负责领域 record1.put("duty_territory", dutyTerritoryMap.get(dutyTerritory)); From 491dd13e4d5b3cc9ef2900a4ba9ce80cdd9e3193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Fri, 6 Jan 2023 16:56:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=B8=85=E5=8D=95=E7=A9=BA=E6=8C=87=E9=92=88?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 64 ++++++++++--------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 3773046d8..a8ece1d57 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -3952,40 +3952,42 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl #a# # if(!Objects.isNull(record1.get("references_col"))){ String references_col = record1.get("references_col").toString(); - String[] references_colArr = references_col.split("#"); - if(StringUtils.equals(control_type,ControlTypeEnum.FILE.getValue())){ - String fileId = references_colArr[2]; - List fileInfos = this.ossFileService.getFileInfos(fileId); - String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; - }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_FILE.getValue()) - ||StringUtils.equals(control_type,ControlTypeEnum.PULL_SINGLE_FILE.getValue()) - ||StringUtils.equals(control_type,ControlTypeEnum.PULL_MORE_FILE.getValue())){ - String fileId = references_colArr[2]; - List fileInfos = this.ossFileService.getFileInfos(fileId); - String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; - }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue())){ - String fileId = references_colArr[2]; - List fileInfos = this.ossFileService.getFileInfos(fileId); - String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; - } - - StringBuilder references_colSb = new StringBuilder(); - for (String col : references_col.split("#")) { - if(StringUtils.isNotEmpty(col) && !StringUtils.equals(col," ")){ - references_colSb.append(col).append("#"); + if(StringUtils.isNotEmpty(references_col)){ + String[] references_colArr = references_col.split("#"); + if(StringUtils.equals(control_type,ControlTypeEnum.FILE.getValue())){ + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_FILE.getValue()) + ||StringUtils.equals(control_type,ControlTypeEnum.PULL_SINGLE_FILE.getValue()) + ||StringUtils.equals(control_type,ControlTypeEnum.PULL_MORE_FILE.getValue())){ + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + }else if(StringUtils.equals(control_type,ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue())){ + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#"+ references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; } - } - if(StringUtils.isNotEmpty(references_colSb)){ - references_col = references_colSb.substring(0,references_colSb.length()-1); - }else { - references_col = references_colSb.toString(); - } + StringBuilder references_colSb = new StringBuilder(); + for (String col : references_col.split("#")) { + if(StringUtils.isNotEmpty(col) && !StringUtils.equals(col," ")){ + references_colSb.append(col).append("#"); + } + } - record1.put("references_col",references_col); + if(StringUtils.isNotEmpty(references_colSb)){ + references_col = references_colSb.substring(0,references_colSb.length()-1); + }else { + references_col = references_colSb.toString(); + } + + record1.put("references_col",references_col); + } } // 处理负责领域