diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index fcd8255c7..b298be65c 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -33,7 +33,7 @@ ALTER TABLE `laws_weilai`.`params_manifest` ALTER TABLE `laws_weilai`.`params_manifest_history` ADD COLUMN `project_version_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目相关版本对应的项目id' AFTER `explanation`; --- 项目库添加字段(技术领域补充(中文),技术领域补充(英文))--------2022-12-05 未同步生产环境 +-- 项目库添加字段(技术领域补充(中文),技术领域补充(英文))--------2022-12-05 已同步生产环境 ALTER TABLE `laws_weilai`.`laws_monthly_report_write` ADD COLUMN `technology_territory_cn` varchar(500) NULL COMMENT '技术领域补充(中文)' AFTER `memories_chapter_one`, ADD COLUMN `technology_territory_en` varchar(500) NULL COMMENT '技术领域补充(英文)' AFTER `technology_territory_cn`; @@ -85,7 +85,7 @@ ALTER TABLE `laws_weilai`.`params_info_publish` -- 上报库历史表,增加备注字段 2022-12-12 已同步生产环境 ALTER TABLE `laws_weilai`.`params_report_detail_log` ADD COLUMN `remarks` varchar(4000) NULL COMMENT '备注' AFTER `params_report_detail_id`; --- 创建用户项目权限表 +-- 创建用户项目权限表 已同步生产环境 CREATE TABLE `project_user_permission` ( `id` varchar(36) NOT NULL COMMENT '主键', `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', @@ -99,7 +99,7 @@ CREATE TABLE `project_user_permission` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; --- 创建用户品牌表 +-- 创建用户品牌表 已同步生产环境 CREATE TABLE `project_user_brand` ( `id` varchar(36) NOT NULL, `user_id` varchar(255) DEFAULT NULL COMMENT '用户id', @@ -107,7 +107,7 @@ CREATE TABLE `project_user_brand` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; --- 创建用户责任领域表 +-- 创建用户责任领域表 已同步生产环境 CREATE TABLE `project_user_duty_territory` ( `id` varchar(36) NOT NULL, `user_id` varchar(255) DEFAULT NULL COMMENT '用户id', @@ -115,23 +115,23 @@ CREATE TABLE `project_user_duty_territory` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; --- 项目库基础表添加字段 +-- 项目库基础表添加字段 已同步生产环境 ALTER TABLE `project_library_base` ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `flag`; --- 法规技术评估表添加字段 +-- 法规技术评估表添加字段 已同步生产环境 ALTER TABLE `laws_technology_evaluation` ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `prc_num`; --- 法规意见收集表添加字段 +-- 法规意见收集表添加字段 已同步生产环境 ALTER TABLE `laws_opinion_gather` ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `evaluator_ids`; --- 参数导出模板管理添加字段 2022-12-19(未同步生产库) +-- 参数导出模板管理添加字段 2022-12-19(已同步生产环境) ALTER TABLE `params_export_template` ADD COLUMN `region` varchar(1000) NULL COMMENT '适用地区' AFTER `file_connect_id`; --- 参数收集清单-操作记录(历史日志) 2022-12-26 未同步生产环境 +-- 参数收集清单-操作记录(历史日志) 2022-12-26 已同步生产环境 CREATE TABLE `laws_weilai`.`params_collect_manifest_log` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', @@ -147,15 +147,15 @@ CREATE TABLE `laws_weilai`.`params_collect_manifest_log` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数收集清单-操作记录(历史日志)' ROW_FORMAT = Dynamic; --- 参数清单-增加参考列配置id 2022-12-29 未同步生产环境 +-- 参数清单-增加参考列配置id 2022-12-29 已同步生产环境 ALTER TABLE `laws_weilai`.`params_manifest` ADD COLUMN `references_col_id` varchar(255) NULL COMMENT '参数项清单的参考列配置id(对应上报库参数配置表中的id)' AFTER `references_col_name`; --- 参数清单历史-增加参考列配置id 2022-12-29 未同步生产环境 +-- 参数清单历史-增加参考列配置id 2022-12-29 已同步生产环境 ALTER TABLE `laws_weilai`.`params_manifest_history` ADD COLUMN `references_col_id` varchar(255) NULL COMMENT '参数项清单的参考列配置id(对应上报库参数配置表中的id)' AFTER `references_col_name`; --- 上报库备注列字段长度修改 2022-12-29 未同步生产环境 +-- 上报库备注列字段长度修改 2022-12-29 已同步生产环境 ALTER TABLE `laws_weilai`.`params_report_detail` MODIFY COLUMN `remarks` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注' AFTER `title_default_value`; --- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 未同步生产环境 +-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境 UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937' 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 2c473c02e..56efb0b76 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 @@ -1592,7 +1592,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl for (NcrTrackVO trackVO : infoList) { String projectName = trackVO.getProjectName(); String yearName = trackVO.getYearName(); - String market = getMarket(targetMarketList, trackVO); + String market = getMarket(targetMarketList, trackVO,ncrTrackVO.getCut()); String projectVersion = trackVO.getProjectVersion(); if(StringUtils.isNotBlank(projectVersion)){ trackVO.setProjectName(projectName+"-"+yearName+"-"+market+"-"+projectVersion); @@ -296,7 +296,7 @@ public class NcrTrackServiceImpl extends ServiceImpl } } - private String getMarket(List targetMarketList, NcrTrackVO trackVO) { + private String getMarket(List targetMarketList, NcrTrackVO trackVO,String cut) { //目标市场 List dictModelList = new ArrayList<>(); for (String s : trackVO.getTargetMarket().split(",")) { @@ -308,7 +308,7 @@ public class NcrTrackServiceImpl extends ServiceImpl if(dictModelList.size() != 0){ StringBuilder sb = new StringBuilder(); for (DictModel dictModel : dictModelList) { - if(CutEnum.CN.getValue().equals(trackVO.getCut())){ + if(CutEnum.CN.getValue().equals(cut)){ sb.append(dictModel.getText()+","); }else{ sb.append(dictModel.getTextEn()+","); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java index 77c0e4c95..a63cbbc76 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java @@ -4,23 +4,25 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.project.entity.ConditionAssessmentEO; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectTaskInventoryEO; -import com.jero.modules.project.enums.CertificationProgressEnum; -import com.jero.modules.project.enums.CurrentProjectStatusEnum; -import com.jero.modules.project.enums.InventoryAffirmStatusEnum; -import com.jero.modules.project.enums.ReviewResultEnum; -import com.jero.modules.project.enums.TaskAffirmStatusEnum; +import com.jero.modules.project.enums.*; +import com.jero.modules.project.mapper.ProjectUserPermissionMapper; import com.jero.modules.project.service.IConditionAssessmentEOService; import com.jero.modules.project.service.IProjectStatusBoardService; import com.jero.modules.project.vo.TimeNodeVO; import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.mapper.SysRoleMapper; +import com.jero.modules.system.service.IProjectUserBrandService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import lombok.SneakyThrows; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,6 +51,14 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService private ProjectTaskInventoryEOServiceImpl projectTaskInventoryEOService; @Autowired private SysDictItemServiceImpl sysDictItemServiceImpl; + @Autowired + private SysRoleMapper sysRoleMapper; + @Autowired + private ProjectUserPermissionMapper projectUserPermissionMapper; + @Autowired + private IProjectUserBrandService projectUserBrandService; + @Autowired + private ISysUserService sysUserService; /** @@ -153,6 +163,26 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService */ @Override public List> scheduleInfoList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Integer isViewer = sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()); + Set projectIds = new HashSet<>(); + //根据项目用户权限表筛选有权访问的项目 + Set permissionProjectIds = projectUserPermissionMapper.queryProjectIdsByUserId(loginUser.getId()); + if (ObjectUtils.isNotEmpty(permissionProjectIds)) { + projectIds.addAll(permissionProjectIds); + } + if (isViewer > 0) { + //如果是Viewer,根据配置的品牌筛选可访问的项目 + List brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId()); + if (ObjectUtils.isNotEmpty(brandTypes)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("brand",brandTypes); + if (ObjectUtils.isNotEmpty(projectLibraryBaseService.list(queryWrapper))) { + projectIds.addAll(projectLibraryBaseService.list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet())); + } + } + } + if(StringUtils.isNotBlank(projectLibraryBase.getProjectName())){ projectLibraryBase.setProjectName(projectLibraryBase.getProjectName().replace("*","")); } @@ -163,6 +193,9 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService // //项目库信息 // List projectLibraryBaseList = projectLibraryBaseService.list(queryWrapper); List projectLibraryBaseList = projectLibraryBaseService.getList(projectLibraryBase); + if (!sysUserService.isAdministrator()) { + projectLibraryBaseList = projectLibraryBaseList.stream().filter(project -> projectIds.contains(project.getId())).collect(Collectors.toList()); + } List> result = new ArrayList<>(); if(projectLibraryBaseList.size() != 0){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java index e780f242b..75979797f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectUserPermissionServiceImpl.java @@ -34,6 +34,7 @@ import java.util.Date; import java.util.Set; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; /** * @Description: 项目权限表 @@ -42,6 +43,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; * @Version: V1.0 */ @Service +@Transactional public class ProjectUserPermissionServiceImpl extends ServiceImpl implements IProjectUserPermissionService { @Autowired diff --git a/jero-web/package.json b/jero-web/package.json index c6b13b18e..1cd46fe3c 100644 --- a/jero-web/package.json +++ b/jero-web/package.json @@ -27,6 +27,7 @@ "js-base64": "^3.7.2", "js-cookie": "^2.2.0", "jsencrypt": "^3.0.0-rc.1", + "lodash": "^4.17.21", "lodash.get": "^4.4.2", "lodash.pick": "^4.4.0", "mammoth": "^1.4.21", diff --git a/jero-web/src/App.vue b/jero-web/src/App.vue index a5ed87aac..de9e3a1dc 100644 --- a/jero-web/src/App.vue +++ b/jero-web/src/App.vue @@ -178,4 +178,12 @@ line-height: 38px !important; height: 38px !important; } + + .ant-table-column-title{ + font-weight: bold!important; + } + + .ant-table-thead > tr > th { + background: #f3f6f6!important; + } \ No newline at end of file diff --git a/jero-web/src/assets/less/common.less b/jero-web/src/assets/less/common.less index 801cf50a5..8683c2b46 100644 --- a/jero-web/src/assets/less/common.less +++ b/jero-web/src/assets/less/common.less @@ -99,6 +99,41 @@ line-height: 38px; } -.ant-table-fixed-left table, .ant-table-fixed-right table .ant-table-fixed{ +.ant-table-fixed-left table, .ant-table-fixed-right table .ant-table-fixed { width: min-content; +} + +.nio-header-th { + position: relative; + isolation: isolate; +} + +.nio-drag-handler { + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 1px; + z-index: 1; + border-left: 1px #e8e8e8 solid; +} +.nio-drag-handler:hover, +.nio-drag-handler:focus{ + cursor: col-resize!important; + border: 1px solid #0bd9d9!important; +} + +.ant-table-column-title{ + font-weight: bold!important; +} + +.ant-table-thead > tr > th { + background: #f3f6f6!important; +} +.ant-tooltip-inner { + color: #333; + background-color: #fff!important; +} +.ant-tooltip-arrow::before { + background-color: #fff; } \ No newline at end of file diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 834bf8118..b57ccfc50 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -99,6 +99,7 @@ module.exports = { RoleCode: 'Role Code', createTime: 'Creation Time', userName: 'User Name', + userManual:'User Manual', selectOneRule: 'Please select a role!', setAttribute: 'Please set the url.list2 attribute!', setDelAttribute: 'Please set the url.delete2 attribute!', @@ -426,6 +427,7 @@ module.exports = { MessageType: 'Message Type', NotificationTime: 'Notification Time', MessageNotification: 'Message Notification', + MessageCenter:'Message Center', SeeMore: 'See More', OperationSuccessful: 'Operation Successful', Intheexport: 'In The Export...', @@ -607,11 +609,11 @@ module.exports = { certificationType: 'Certification Type', certificationLevel: 'Certification Level', areaOfResponsibility: 'Responsible Field', - confirmationOfDesignConformity: 'Design Compliance Check', + confirmationOfDesignConformity: 'Design Compliance Check ', Deliverables: 'Deliverables', personLiable: 'Assignee', PrehomoConfirmation: 'Pre-Homo Confirmation', - verificationAndConformityconfirmation: 'Validation Compliance Check', + verificationAndConformityconfirmation: 'Validation Compliance Check ', StandardImplementationDate: 'New Type Execution Date', regulatoryEngineer: 'Regulation Engineer', certifiedEngineer: 'Homo Engineer', @@ -722,11 +724,11 @@ module.exports = { time: 'Time', uploadMaximumATime: 'Upload a Maximum of 20 Images at a time', - confirmationOfRegulationsList: 'Regulation List Confirmation', - regulatoryTaskConfirmation: 'Regulation Task Confirmation', - certificationStart: 'Homo Completion', - preHomoCompletion: 'Pre-Homo Confirmation', - certificationEnd: 'Homo KO', + confirmationOfRegulationsList: 'Regulation List Confirmation ', + regulatoryTaskConfirmation: 'Regulation Task Confirmation ', + certificationStart: 'Homo Completion ', + preHomoCompletion: 'Pre-Homo Confirmation ', + certificationEnd: 'Homo KO ', directoryName: 'Catalogue Name', batch: 'Batch', uploadTime: 'Upload Time', @@ -1173,6 +1175,7 @@ module.exports = { RemarkInfo: 'Remarks Info', initiateDocumentComparison: 'Initiate Document Comparison', comparativeComments: 'Comparative Comments', + Comparisonofarticles:'Comparison Of Articles', viewTheComparisonResults: 'View Results', addFullTextComment: 'Full Text Comment', turnOffAutomaticMatching: 'Turn Off Auto Match', diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 371c1be91..3f62cbed7 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -101,6 +101,7 @@ module.exports = { RoleCode: '角色编码', createTime: '创建时间', userName: '用户名称', + userManual:'用户手册', selectOneRule: '请选择一个角色!', setAttribute: '请设置url.list2属性!', setDelAttribute: '请设置url.delete2 属性!', @@ -431,6 +432,7 @@ module.exports = { MessageType: '消息类型', NotificationTime: '通知时间', MessageNotification: '消息通知', + MessageCenter:'消息中心', SeeMore: '查看更多', OperationSuccessful: '操作成功', Intheexport: '导出中...', @@ -1004,9 +1006,9 @@ module.exports = { taskConfirmationResponsiblePerson: '责任人任务确认', or: '或', warningTime: '预警时间', - RegulationMonthlyManagement: '法规月报管理', - RegulationMonthlyFill: '法规月报填写', - RegulationMonthlyName: '法规月报名称', + RegulationMonthlyManagement: '月报管理', + RegulationMonthlyFill: '月报填写', + RegulationMonthlyName: '月报名称', monthlyLanguage: '月报语种', releaseStatus: '发布状态', uploadedBy: '上传人', @@ -1178,6 +1180,7 @@ module.exports = { RemarkInfo: '备注信息', initiateDocumentComparison: '发起文档对比', comparativeComments: '对比评论', + Comparisonofarticles:'条款对比评论', viewTheComparisonResults: '查看对比结果', addFullTextComment: '添加全文评论', turnOffAutomaticMatching: '关闭自动匹配', diff --git a/jero-web/src/components/OcrTable/DocTable.vue b/jero-web/src/components/OcrTable/DocTable.vue index 0d0fa270d..7448e00be 100644 --- a/jero-web/src/components/OcrTable/DocTable.vue +++ b/jero-web/src/components/OcrTable/DocTable.vue @@ -162,7 +162,7 @@ this.columns.push({ title: res.db_field_txt, dataIndex: res.db_field_name, - align: 'center', + align: 'left', ellipsis: true, sorter: res.sort }) @@ -190,7 +190,7 @@ if (this.showAction) { this.columns.push({ title: this.$t('operation'), - align: 'center', + align: 'left', fixed: 'right', width: width, scopedSlots: { customRender: 'operation' } diff --git a/jero-web/src/components/OcrTable/index.vue b/jero-web/src/components/OcrTable/index.vue index cbab09ff6..a3570863f 100644 --- a/jero-web/src/components/OcrTable/index.vue +++ b/jero-web/src/components/OcrTable/index.vue @@ -13,7 +13,7 @@ @change="tableOnChange" > - {{record.resultContent=='转换成功'&&record.syncState=='未同步'&&record.fileSource=='1'?ol.text:''}} @@ -22,7 +22,7 @@ + v-has="'ocr:ocrRestful:downFile'" :class="{'text':record.resultContent=='转换成功'}"> {{record.resultContent=='转换成功'?ol.text:''}} @@ -166,7 +166,7 @@ this.columns.push({ title: res.db_field_txt, dataIndex: res.db_field_name, - align: 'center', + align: 'left', ellipsis: true, width: 170, sorter: res.sort @@ -195,7 +195,7 @@ if (this.showAction) { this.columns.push({ title: this.$t('operation'), - align: 'center', + align: 'left', fixed: 'right', width: width, scopedSlots: { customRender: 'operation' } @@ -290,4 +290,8 @@ text-justify: inter-ideograph; word-break: break-all } + + /*/deep/.table .ant-table-tbody > tr > td {*/ + /* color: #040B29 ;*/ + /*}*/ diff --git a/jero-web/src/components/SplitDetailTable/index.vue b/jero-web/src/components/SplitDetailTable/index.vue index ea4f0014d..486c723e4 100644 --- a/jero-web/src/components/SplitDetailTable/index.vue +++ b/jero-web/src/components/SplitDetailTable/index.vue @@ -171,7 +171,7 @@ this.columns.push({ title: res.db_field_txt, dataIndex: res.db_field_name, - align: 'center', + align: 'left', ellipsis: true, sorter: res.sort }) @@ -201,7 +201,7 @@ if (this.showAction) { this.columns.push({ title: this.$t('operation'), - align: 'center', + align: 'left', fixed: 'right', width: width, scopedSlots: { customRender: 'operation' } diff --git a/jero-web/src/components/SplitSearch/index.vue b/jero-web/src/components/SplitSearch/index.vue index c15b6b177..077aa9be9 100644 --- a/jero-web/src/components/SplitSearch/index.vue +++ b/jero-web/src/components/SplitSearch/index.vue @@ -1,8 +1,8 @@