Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage

This commit is contained in:
wangzhijiang
2022-08-11 11:54:15 +08:00
24 changed files with 341 additions and 198 deletions
+99 -102
View File
@@ -511,26 +511,23 @@ INSERT INTO `laws_weilai`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `co
-- 角色表-增加对外报告管理员角色 2022-7-28 已同步生产环境
INSERT INTO `sys_role` VALUES ('1552536424587862017', '对外报告管理员', 'ExternalReportsManager', '对外报告文件夹列表的管理员', 'admin', '2022-7-28 14:08:23', NULL, NULL, NULL, NULL);
-- 菜单管理 添加对外报告文件夹管理按钮权限 2022-07-28 已同步生产环境
INSERT INTO `sys_permission` VALUES ('1552182885208608770', '1549937961282908162', '对外报告文件夹管理', '', NULL, NULL, NULL, 2, 'externalReports:folder', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-7-27 14:43:33', NULL, NULL, 0, 0, '1', 0, 'External Report Folder Management ');
-- 对外报告文件夹表 2022-7-29 已同步生产环境
DROP TABLE IF EXISTS `ext_repo_folder`;
CREATE TABLE `ext_repo_folder` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`folder_name` varchar(255) DEFAULT NULL COMMENT '文件夹名称',
`order_id` int(11) DEFAULT NULL COMMENT '文件夹排序',
`sup_folder` varchar(36) DEFAULT NULL COMMENT '所属文件夹',
`auth_view_ids_name` varchar(2000) DEFAULT NULL COMMENT '查看权限人员',
`auth_manage_ids_name` varchar(2000) DEFAULT NULL COMMENT '管理权限人员',
`auth_view_ids` varchar(2000) DEFAULT NULL COMMENT '查看权限人员id',
`auth_manage_ids` varchar(2000) DEFAULT NULL COMMENT '管理权限人员id',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`folder_name` varchar(255) DEFAULT NULL COMMENT '文件夹名称',
`order_id` int(11) DEFAULT NULL COMMENT '文件夹排序',
`sup_folder` varchar(36) DEFAULT NULL COMMENT '所属文件夹',
`auth_view_ids_name` varchar(2000) DEFAULT NULL COMMENT '查看权限人员',
`auth_manage_ids_name` varchar(2000) DEFAULT NULL COMMENT '管理权限人员',
`auth_view_ids` varchar(2000) DEFAULT NULL COMMENT '查看权限人员id',
`auth_manage_ids` varchar(2000) DEFAULT NULL COMMENT '管理权限人员id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `ext_repo_folder` VALUES ('1552846304994131970', 'admin', '2022-07-01 11:11:11', 'admin', '2022-11-11 11:11:11', 'A01', '文件夹', '1', 'root', '', '', '', '');
@@ -538,17 +535,17 @@ INSERT INTO `ext_repo_folder` VALUES ('1552846304994131970', 'admin', '2022-07-0
-- 对外报告数据表 2022-7-29 已同步生产环境
DROP TABLE IF EXISTS `ext_repo_data`;
CREATE TABLE `ext_repo_data` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`file_key` varchar(255) DEFAULT NULL COMMENT '文件标识',
`file_name` varchar(255) DEFAULT NULL COMMENT '文件名称',
`file_description` varchar(255) DEFAULT NULL COMMENT '文件说明',
`sup_folder` varchar(36) DEFAULT NULL COMMENT '所属文件夹',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`file_key` varchar(255) DEFAULT NULL COMMENT '文件标识',
`file_name` varchar(255) DEFAULT NULL COMMENT '文件名称',
`file_description` varchar(255) DEFAULT NULL COMMENT '文件说明',
`sup_folder` varchar(36) DEFAULT NULL COMMENT '所属文件夹',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 参数项收集清单 认证类别取消列表显示 2022-08-02 已同步生产环境
@@ -731,100 +728,100 @@ CREATE TABLE `laws_weilai`.`country_card_manage_release_detail` (
-- 文档对比信息表 2022-08-07 已同步生产环境
DROP TABLE IF EXISTS `sar_file_compare_info`;
CREATE TABLE `sar_file_compare_info` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`file_id_left` varchar(36) DEFAULT NULL COMMENT '文档1',
`file_key_left` varchar(32) DEFAULT NULL COMMENT '文档key1',
`serial_number_left` varchar(36) DEFAULT NULL COMMENT '编号1',
`title_left` varchar(255) DEFAULT NULL COMMENT '标题1',
`file_type_left` varchar(36) DEFAULT NULL COMMENT '文本状态1',
`file_name_left` varchar(255) DEFAULT NULL COMMENT '文件名称1',
`file_id_right` varchar(36) DEFAULT NULL COMMENT '文档2',
`file_key_right` varchar(32) DEFAULT NULL COMMENT '文档key2',
`serial_number_right` varchar(36) DEFAULT NULL COMMENT '编号2',
`title_right` varchar(255) DEFAULT NULL COMMENT '标题2',
`file_type_right` varchar(36) DEFAULT NULL COMMENT '文本状态2',
`file_name_right` varchar(255) DEFAULT NULL COMMENT '文件名称2',
`release_state` varchar(36) DEFAULT NULL COMMENT '发布状态',
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
`comments` varchar(1000) DEFAULT NULL COMMENT '评论',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`file_id_left` varchar(36) DEFAULT NULL COMMENT '文档1',
`file_key_left` varchar(32) DEFAULT NULL COMMENT '文档key1',
`serial_number_left` varchar(36) DEFAULT NULL COMMENT '编号1',
`title_left` varchar(255) DEFAULT NULL COMMENT '标题1',
`file_type_left` varchar(36) DEFAULT NULL COMMENT '文本状态1',
`file_name_left` varchar(255) DEFAULT NULL COMMENT '文件名称1',
`file_id_right` varchar(36) DEFAULT NULL COMMENT '文档2',
`file_key_right` varchar(32) DEFAULT NULL COMMENT '文档key2',
`serial_number_right` varchar(36) DEFAULT NULL COMMENT '编号2',
`title_right` varchar(255) DEFAULT NULL COMMENT '标题2',
`file_type_right` varchar(36) DEFAULT NULL COMMENT '文本状态2',
`file_name_right` varchar(255) DEFAULT NULL COMMENT '文件名称2',
`release_state` varchar(36) DEFAULT NULL COMMENT '发布状态',
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
`comments` varchar(1000) DEFAULT NULL COMMENT '评论',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 文档对比信息条目表 2022-08-07 已同步生产环境
DROP TABLE IF EXISTS `sar_file_compare_item`;
CREATE TABLE `sar_file_compare_item` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录id',
`items_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
`items_num` varchar(255) DEFAULT NULL COMMENT '条款编号',
`items_text` longtext COMMENT '条款正文',
`items_display_num` int(11) DEFAULT NULL COMMENT '条款展示编号',
`target_stand` int(11) DEFAULT NULL COMMENT '对应相似条目',
`left_or_right` varchar(36) DEFAULT NULL COMMENT '条款位置',
`reviewed` int(11) DEFAULT NULL COMMENT '是否被评论(0或1)',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录id',
`items_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
`items_num` varchar(255) DEFAULT NULL COMMENT '条款编号',
`items_text` longtext COMMENT '条款正文',
`items_display_num` int(11) DEFAULT NULL COMMENT '条款展示编号',
`target_stand` int(11) DEFAULT NULL COMMENT '对应相似条目',
`left_or_right` varchar(36) DEFAULT NULL COMMENT '条款位置',
`reviewed` int(11) DEFAULT NULL COMMENT '是否被评论(0或1)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 文档对比信息条目评论表 2022-08-07 已同步生产环境
DROP TABLE IF EXISTS `sar_file_compare_item_comment`;
CREATE TABLE `sar_file_compare_item_comment` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
`items_id_left` varchar(36) DEFAULT NULL COMMENT '条款id左',
`items_id_right` varchar(36) DEFAULT NULL COMMENT '条款id右',
`comment` longtext COMMENT '评论',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
`items_id_left` varchar(36) DEFAULT NULL COMMENT '条款id左',
`items_id_right` varchar(36) DEFAULT NULL COMMENT '条款id右',
`comment` longtext COMMENT '评论',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 文档对比信息目录表 2022-08-07 已同步生产环境
DROP TABLE IF EXISTS `sar_file_compare_menu`;
CREATE TABLE `sar_file_compare_menu` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录ID',
`info_id` varchar(36) DEFAULT NULL COMMENT '信息ID',
`name` varchar(200) DEFAULT NULL COMMENT '目录名称',
`parent_id` varchar(36) DEFAULT NULL COMMENT '父级目录ID',
`display_seq` int(11) DEFAULT NULL COMMENT '排序序号',
`left_or_right` varchar(32) DEFAULT NULL COMMENT '目录位置',
`item_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录ID',
`info_id` varchar(36) DEFAULT NULL COMMENT '信息ID',
`name` varchar(200) DEFAULT NULL COMMENT '目录名称',
`parent_id` varchar(36) DEFAULT NULL COMMENT '父级目录ID',
`display_seq` int(11) DEFAULT NULL COMMENT '排序序号',
`left_or_right` varchar(32) DEFAULT NULL COMMENT '目录位置',
`item_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 文档对比信息结果表 2022-08-07 已同步生产环境
DROP TABLE IF EXISTS `sar_file_compare_res_comment`;
CREATE TABLE `sar_file_compare_res_comment` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
`parent_id` varchar(36) DEFAULT NULL COMMENT '回复评论ID',
`comment` longtext COMMENT '评论',
PRIMARY KEY (`id`)
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
`parent_id` varchar(36) DEFAULT NULL COMMENT '回复评论ID',
`comment` longtext COMMENT '评论',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 法规技术评估-条款信息评估结果表 字段增加长度 2022-08-08
@@ -64,8 +64,8 @@ public class SarFileCompareInfoController extends JeroController<SarFileCompareI
@RequestParam(name = "cut", defaultValue = "cn") String cut, HttpServletRequest req) {
QueryWrapper<SarFileCompareInfo> queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareInfo, req.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
queryWrapper.eq("create_by", sysUser.getUsername()).or().eq("release_state", ReleaseConditionEnum.DRAFT.getValue());
Page<SarFileCompareInfo> page = new Page<SarFileCompareInfo>(pageNo, pageSize);
queryWrapper.eq("create_by", sysUser.getUsername()).or().eq("release_state", ReleaseConditionEnum.PUBLISHED.getValue());
Page<SarFileCompareInfo> page = new Page<>(pageNo, pageSize);
IPage<SarFileCompareInfo> pageList = sarFileCompareInfoService.page(page, queryWrapper);
for (SarFileCompareInfo info : pageList.getRecords()) {
info.setReleaseStateTitle(ReleaseConditionEnum.getTextByValue(info.getReleaseState(), cut));
@@ -229,14 +229,14 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
String id = UUID.randomUUID().toString();
sarFileCompareInfo.setId(id);
sarFileCompareInfo.setFileIdLeft(leftInfo.getId());
sarFileCompareInfo.setFileKeyLeft(leftInfo.getFileId());
sarFileCompareInfo.setFileKeyLeft(leftInfo.getConnectId());
sarFileCompareInfo.setFileNameLeft(leftInfo.getFileName());
sarFileCompareInfo.setTitleLeft(leftInfo.getTitle());
sarFileCompareInfo.setFileTypeLeft(leftInfo.getFileType());
sarFileCompareInfo.setSerialNumberLeft(leftInfo.getSerialNumber());
sarFileCompareInfo.setFileIdRight(rightInfo.getId());
sarFileCompareInfo.setFileKeyRight(rightInfo.getFileId());
sarFileCompareInfo.setFileKeyRight(rightInfo.getConnectId());
sarFileCompareInfo.setFileNameRight(rightInfo.getFileName());
sarFileCompareInfo.setFileTypeRight(rightInfo.getFileType());
sarFileCompareInfo.setTitleRight(rightInfo.getTitle());
@@ -11,7 +11,6 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oss.CosBootUtil;
import com.jero.modules.extRepo.entity.ExtRepoData;
import com.jero.modules.extRepo.entity.ExtRepoDataPage;
import com.jero.modules.extRepo.entity.ExtRepoFolder;
import com.jero.modules.extRepo.service.IExtRepoDataService;
import com.jero.modules.extRepo.service.IExtRepoFolderService;
import io.swagger.annotations.Api;
@@ -185,29 +184,20 @@ public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoD
Result<ExtRepoData> result = new Result();
ExtRepoData erd = extRepoDataService.queryById(id);
if (null != erd) {
int count = getRootFolderCount();
if (erd.getSupFolder().equals("root") && count <= 1) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (extRepoFolderService.isManager() || sysUser.getUsername().equals(erd.getCreateBy())) {
extRepoDataService.deleteById(id);
CosBootUtil.delete(erd.getFileKey());
if (CutEnum.CN.getValue().equals(cut)) {
result.error500("此文件夹不可删除!");
result.success("删除成功!");
} else {
result.error500("This folder cannot be deleted!");
result.success("Data deletion successfully!");
}
} else {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (sysUser.getUsername().equals(erd.getCreateBy())) {
extRepoDataService.deleteById(id);
CosBootUtil.delete(erd.getFileKey());
if (CutEnum.CN.getValue().equals(cut)) {
result.success("删除成功!");
} else {
result.success("Data deletion successfully!");
}
if (CutEnum.CN.getValue().equals(cut)) {
result.error500("没有权限!");
} else {
if (CutEnum.CN.getValue().equals(cut)) {
result.error500("没有权限!");
} else {
result.error500("You do not have permission!");
}
result.error500("You do not have permission!");
}
}
} else {
@@ -220,11 +210,6 @@ public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoD
return result;
}
private int getRootFolderCount() {
LambdaQueryWrapper<ExtRepoFolder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ExtRepoFolder::getSupFolder, "root");
return extRepoFolderService.count(queryWrapper);
}
/**
* 批量删除
@@ -1,5 +1,6 @@
package com.jero.modules.extRepo.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.enums.CutEnum;
@@ -63,6 +64,11 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
public Result<?> add(@Validated @RequestBody ExtRepoFolder extRepoFolder) {
Result<ExtRepoFolder> result = new Result();
if (extRepoFolderService.haveManageAuth(extRepoFolder.getSupFolder())) {
if (!extRepoFolder.isAddSub()) {
//增加同级文件夹
ExtRepoFolder folder = extRepoFolderService.queryById(extRepoFolder.getSupFolder());
extRepoFolder.setSupFolder(folder.getSupFolder());
}
extRepoFolderService.add(extRepoFolder);
if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) {
result.success("添加成功!");
@@ -122,15 +128,25 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
if (extRepoFolderService.haveManageAuth(id)) {
List<ExtRepoFolder> resList = extRepoFolderService.getListBySupFolder(id);
if (resList.isEmpty()) {
List<ExtRepoData> erdList = extRepoDataService.queryByFolder(id);
for (ExtRepoData erd : erdList) {
extRepoDataService.deleteById(erd.getId());
}
extRepoFolderService.deleteById(id);
if (CutEnum.CN.getValue().equals(cut)) {
result.success("删除成功!");
ExtRepoFolder erf = extRepoFolderService.queryById(id);
int count = getRootFolderCount();
if (erf.getSupFolder().equals("root") && count <= 1) {
if (CutEnum.CN.getValue().equals(cut)) {
result.error500("此文件夹不可删除!");
} else {
result.error500("This folder cannot be deleted!");
}
} else {
result.success("Data deletion successfully!");
List<ExtRepoData> erdList = extRepoDataService.queryByFolder(id);
for (ExtRepoData erd : erdList) {
extRepoDataService.deleteById(erd.getId());
}
extRepoFolderService.deleteById(id);
if (CutEnum.CN.getValue().equals(cut)) {
result.success("删除成功!");
} else {
result.success("Data deletion successfully!");
}
}
} else {
if (CutEnum.CN.getValue().equals(cut)) {
@@ -149,6 +165,13 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
return result;
}
private int getRootFolderCount() {
LambdaQueryWrapper<ExtRepoFolder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ExtRepoFolder::getSupFolder, "root");
return extRepoFolderService.count(queryWrapper);
}
/**
* 通过id查询
*
@@ -96,4 +96,7 @@ public class ExtRepoFolder implements Serializable {
@TableField(exist = false)
private String cut;
@TableField(exist = false)
private boolean addSub;
}
+12 -12
View File
@@ -355,7 +355,7 @@ module.exports = {
templateDownload: 'Download Template',
textInformation: 'Document Files',
relatedInformation: 'Relevant Information',
RetrieveFiles: 'Retrieve Library File',
RetrieveFiles: 'Select Stored File',
SplitText: 'Split Library File',
ImportResults: 'Import Split Results',
copy: 'Copy',
@@ -475,7 +475,7 @@ module.exports = {
away: 'Collapse',
toDoProcess: 'To Do',
processDone: 'Completed',
sentProcess: 'Create',
sentProcess: 'Initiated',
monitoringProcess: 'Monitor',
ConfirmDeployment: 'Confirm Deployment?',
terminationProcess: 'Termination Process',
@@ -589,7 +589,7 @@ module.exports = {
withdraw: 'Withdraw',
maintenanceList: 'Maintain',
instructionForUse: 'Instruction',
subtitle: 'Sub-Title',
subtitle: 'Sub-title',
scopeOfApplication: 'Scope',
correspondingStandard: 'Compare EU/CN',
implementationCategory: 'Usage',
@@ -1115,25 +1115,25 @@ module.exports = {
RegulationTaskConfirmationNotification: 'Regulation Task Confirmation Notification',
evaluationMethod: 'Evaluation method',
uploadRelevantMaterials: 'Upload relevant materials',
processBackground: 'Process background',
selectedStandard: 'Selected standard',
processBackground: 'Process Background',
selectedStandard: 'Selected Standard',
standardDecompositionDocument: 'Standard decomposition document',
pleaseSelectStandardFirst: 'Please select a standard first',
RelevantMaterials: 'RelevantMaterials',
evaluatorFeedback: 'Evaluator feedback',
evaluatorFeedback: 'Evaluator Feedback',
nameTechnicalDocument: 'Name of technical document',
chapter: 'chapter',
problemDescription: 'Problem description',
problemDescription: 'Problem Description',
filingExternalOpinions: 'Filing of external opinions',
regulatoryTechnicalEvaluationResults: 'Regulatory technical evaluation results',
initiateProcessForCurrentStandard: 'Initiate process for current standard',
engineerFeedbackResults: 'Engineer feedback results',
fileExport: 'File export',
feedbackTime: 'Feedback time',
fileExport: 'File Export',
feedbackTime: 'Feedback Time',
regulatoryTechnologyAssessmentProcess: 'Regulatory technology assessment process',
feedbackEvaluation: 'Feedback evaluation',
clauseEvaluation: 'Clause evaluation',
standardDocuments: 'Standard documents',
feedbackEvaluation: 'Feedback Evaluation',
clauseEvaluation: 'Clause Evaluation',
standardDocuments: 'Standard Documents',
pleaseCompleteTheEvaluationMethodorEvaluator: 'Please complete the evaluation method or evaluator in the list',
reviewComments: 'Review comments',
PleaseCompleteList: 'Please complete the compliance results in the list',
@@ -150,14 +150,14 @@
if (res.success) {
var jsonHead = res.result
this.columns = []
this.columns.push(
{
title: this.$t('serialNumber'),
dataIndex: 'index',
key: 'index',
align: 'center',
customRender: (text, record, index) => `${index + 1}`
})
// this.columns.push(
// {
// title: this.$t('serialNumber'),
// dataIndex: 'index',
// key: 'index',
// align: 'center',
// customRender: (text, record, index) => `${index + 1}`
// })
jsonHead.forEach((res, index) => {
this.columns.push({
title: res.db_field_txt,
@@ -147,12 +147,12 @@
key: 'role',
},
{
title: this.$t('operationContent'),
title: this.$t('OperationContent'),
dataIndex: 'content',
key: 'content',
},
{
title: this.$t('operationTime'),
title: this.$t('OperationTime'),
dataIndex: 'time',
key: 'time',
},
@@ -62,7 +62,8 @@
<span slot="content" slot-scope="text,record,index">
<a-input class="box-input"
v-if="record.lableType == 8"
v-model="record.content"
v-model.trim="record.content"
:maxLength="100"
:placeholder="$t('PleaseEnter')"/>
<a-select :placeholder="$t('PleaseSelect')"
style="width: 100%"
@@ -126,7 +127,7 @@
},
visible: false,
selectedRowKeys: [],
dataList: [{}],
dataList: [],
loading: false,
confirmLoading: false,
index: '',
@@ -92,7 +92,7 @@
contentList: [],
displayList: [],
queryCountryList: [],
countryCardViewList:[],
countryCardViewList: [],
applyMarkets: '',
url: {
list: '/problemKnowledgeBase/countryCardTempEO/list',
@@ -182,10 +182,17 @@
res.countryCardManageReleaseDetailEOList.forEach((val, index1) => {
this.contentList.forEach(res1 => {
if (res1.name == val.lableName) {
res1.list.push({
lableName: val.content,
lableType: val.lableType
})
if (val.lableType == 3) {
res1.list.push({
lableName: val.contentDropDownValue,
lableType: val.lableType
})
} else {
res1.list.push({
lableName: val.content,
lableType: val.lableType
})
}
}
})
})
@@ -133,8 +133,9 @@
<div class="title-text">
<span class="title-text-text">{{$t('content')}}</span>
</div>
<a-form-model-item style="height: 300px" class="itemModel" prop="content">
<a-form-model-item style="height: 357px" class="itemModel itemModel-explain" prop="content">
<quill-editor
v-model="formInline.content"
style="height: 300px"
:content="formInline.content"
:options="editorOption"
@@ -245,7 +246,7 @@
{
max: 5000,
message: this.$t('content') + this.$t('cannotExceed') + 5000 + this.$t('Characters'),
trigger: 'change'
trigger: 'blur'
}
]
},
@@ -582,4 +583,7 @@
box-sizing: border-box;
}
::v-deep .itemModel-explain .ant-form-explain {
margin-top: 60px
}
</style>
@@ -391,8 +391,8 @@
this.formInline = { ...this.formInline }
} else {
this.formInline = {}
this.formInline.lawsContact = this.userInfo().username
this.formInline.lawsContactName = this.userInfo().id
this.formInline.lawsContact = this.userInfo().id
this.formInline.lawsContactName = this.userInfo().username
this.formInline = { ...this.formInline }
}
})
@@ -384,4 +384,21 @@
height: 38px;
margin-top: 4px;
}
::v-deep .ant-select-tree-treenode-switcher-close {
width: 255px;
}
::v-deep .ant-select-tree-node-content-wrapper {
float: right;
margin-top: -2px!important;
}
::v-deep .ant-select-tree-title {
width: 100%;
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
@@ -84,12 +84,13 @@
title: this.$t('chineseTitle'),
align: 'center',
dataIndex: 'titleCn',
width: 210
ellipsis: true,
width: 320
},
{
title: this.$t('englishTitle'),
align: 'center',
width: 210,
width: 320,
ellipsis: true,
dataIndex: 'titleEn'
},
@@ -64,6 +64,7 @@
</div>
<a-form-model-item class="itemModel" prop="endTime">
<a-date-picker class="box-input"
:disabledDate="disabledDate"
:placeholder="$t('PleaseSelect')+$t('closingDate')"
@change="dateChange('endTime')"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -347,6 +348,9 @@
}
})
},
disabledDate(current) {
return current && current < moment().subtract(1, 'day')
},
pageOnChange(page) {
this.pageNo = page
this.getList()
@@ -78,6 +78,18 @@
v-if="record.createBy == userInfoQuery.username && record.releaseState == 'draft'"
@click="deleteData(record)">{{$t('delete')}}</a>
</span>
<span slot="serialNumberRight" :title="text" slot-scope="text,record">
<a @click="serialNumberRightClick(record)">{{text}}</a>
</span>
<span slot="serialNumberLeft" :title="text" slot-scope="text,record">
<a @click="serialNumberLeftClick(record)">{{text}}</a>
</span>
<span slot="fileNameLeft" :title="text" slot-scope="text,record">
<a @click="fileNameLeftClick(record)">{{text}}</a>
</span>
<span slot="fileNameRight" :title="text" slot-scope="text,record">
<a @click="fileNameRightClick(record)">{{text}}</a>
</span>
</a-table>
<div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination
@@ -96,8 +108,9 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64'
export default {
name: 'index',
@@ -112,6 +125,7 @@
loading: false,
dataSource: [],
selectedRowKeys: [],
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
total: 0,
pageSize: 10,
pageNo: 1,
@@ -123,13 +137,17 @@
title: this.$t('standard') + 1,
align: 'center',
dataIndex: 'serialNumberLeft',
width: 170
width: 170,
ellipsis: true,
scopedSlots: { customRender: 'serialNumberLeft' }
},
{
title: this.$t('title') + 1,
align: 'center',
dataIndex: 'titleLeft',
width: 170
width: 170,
ellipsis: true,
scopedSlots: { customRender: 'serialNumberLeft' }
},
{
title: this.$t('TextStatus'),
@@ -143,18 +161,23 @@
align: 'center',
width: 270,
ellipsis: true,
dataIndex: 'fileNameLeft'
dataIndex: 'fileNameLeft',
scopedSlots: { customRender: 'fileNameLeft' }
},
{
title: this.$t('standard') + 2,
align: 'center',
dataIndex: 'serialNumberRight',
ellipsis: true,
scopedSlots: { customRender: 'serialNumberRight' },
width: 170
},
{
title: this.$t('title') + 2,
align: 'center',
dataIndex: 'titleRight',
scopedSlots: { customRender: 'serialNumberRight' },
ellipsis: true,
width: 170
},
{
@@ -169,7 +192,8 @@
align: 'center',
width: 270,
ellipsis: true,
dataIndex: 'fileNameRight'
dataIndex: 'fileNameRight',
scopedSlots: { customRender: 'fileNameRight' }
},
{
title: this.$t('releaseSituation'),
@@ -350,6 +374,58 @@
})
}
})
},
serialNumberRightClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.fileKeyRight
}
})
window.open(newUrl.href, '_blank')
},
serialNumberLeftClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.fileKeyLeft
}
})
window.open(newUrl.href, '_blank')
},
fileNameLeftClick(row) {
let fileName = row.fileNameLeft
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix === '.pdf') {
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + row.fileIdLeft + '&userName=' + this.userInfo().username))
} else if (fileSuffix === '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdLeft + fileSuffix)
window.open(url, '_blank')
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdLeft + fileSuffix)
window.open(url, '_blank')
} else {
downloadFile('/sys/common/downLoadFile', row.fileNameLeft, { id: row.fileIdLeft })
}
},
fileNameRightClick(row) {
let fileName = row.fileNameRight
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix === '.pdf') {
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + row.fileIdRight + '&userName=' + this.userInfo().username))
} else if (fileSuffix === '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdRight + fileSuffix)
window.open(url, '_blank')
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdRight + fileSuffix)
window.open(url, '_blank')
} else {
downloadFile('/sys/common/downLoadFile', row.fileNameRight, { id: row.fileIdRight })
}
}
}
}
@@ -100,8 +100,8 @@
v-if="record.createBy == userInfoQuery.username && record.releaseCondition == 'draft'"
@click="deleteData(record)">{{$t('delete')}}</a>
</span>
<span slot="title" slot-scope="text,record" :title="text">
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
<span slot="standardTitle" slot-scope="text,record" :title="text">
{{ text}}
</span>
<span slot="translationLanguage" slot-scope="text,record"
:title="record.sourceLanguage_dictText +' -- '+record.targetLanguage_dictText">
@@ -150,7 +150,7 @@
},
toggleSearchStatus: false,
loading: false,
dataSource: [{}],
dataSource: [],
selectedRowKeys: [],
total: 0,
pageSize: 10,
@@ -164,14 +164,16 @@
align: 'center',
dataIndex: 'serialNumber',
width: 170,
scopedSlots: { customRender: 'title' }
ellipsis: true,
scopedSlots: { customRender: 'standardTitle' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
width: 170,
scopedSlots: { customRender: 'title' }
ellipsis: true,
scopedSlots: { customRender: 'standardTitle' }
},
{
title: this.$t('TextStatus'),
@@ -254,7 +256,7 @@
this.pageNo = page
this.getList()
},
SizeChange(page,pageSize) {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
+8 -2
View File
@@ -40,7 +40,7 @@
<span v-else :title="title">
{{title && title.length > 18?title.slice(0,17)+'...':title}}
</span>
<template #overlay >
<template #overlay v-if='manager'>
<a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
<a-menu-item key="1" @click="orgAdd" v-has="'externalReports:folder'">{{$t('Addingfolder')}}</a-menu-item>
<a-menu-item key="4" @click="orgAdds" v-has="'externalReports:folder'" v-if="deleteNode">{{$t('Addingsubfolders')}}</a-menu-item>
@@ -296,7 +296,9 @@ export default {
pageSize: 10,
pageNo: 1,
disabled:false,
manager:false,
total: 0,
addSub:true,
tableData: [],
selectedRowKeys: [],
dataSource: [],
@@ -503,8 +505,9 @@ export default {
getAction(`extRepo/extRepoFolder/list`, {}).then(res => {
if (res.success) {
// this.data = this.toTree(res.result)
this.data = res.result
this.data = res.result.list
this.menuId = this.data[0].key
this.manager = res.result.manager
console.log(this.menuId)
let queryParam = {
supFolder: this.menuId
@@ -613,6 +616,7 @@ export default {
this.form = {}
let supFolder = ''
this.supFolder = this.nodeItem.key
this.addSub = false
this.menuRightVisible = true
},
@@ -622,6 +626,7 @@ export default {
this.form = {}
let supFolder = ''
this.supFolder = this.nodeItem.key
this.addSub = true
this.menuRightVisible = true
},
//树形修改
@@ -680,6 +685,7 @@ export default {
if (!this.isEdit) {
let params = {
supFolder: this.supFolder,
addSub: this.addSub,
...this.form
}
this.$refs.ruleForm.validate(valid => {
@@ -41,7 +41,7 @@
},
columns: [
{
title: this.$t('operationNode'),
title: this.$t('OperationNode'),
dataIndex: 'name',
align: 'center',
width:'20%',
@@ -66,7 +66,7 @@
width:'20%',
},
{
title: this.$t('operationTime'),
title: this.$t('OperationTime'),
dataIndex: 'createTime',
align: 'center',
width:'20%',
@@ -32,7 +32,7 @@
loading: false,
columns: [
{
title: this.$t('operationContent'),
title: this.$t('OperationContent'),
dataIndex: 'taskDefinitionKeyName',
align: 'center',
width: '25%'
@@ -50,7 +50,7 @@
width: '25%'
},
{
title: this.$t('operationTime'),
title: this.$t('OperationTime'),
dataIndex: 'createTime',
align: 'center',
width: '25%',
@@ -43,7 +43,7 @@
},
columns: [
{
title: this.$t('operationNode'),
title: this.$t('OperationNode'),
dataIndex: 'name',
align: 'left'
},
@@ -12,10 +12,16 @@
<a-row :gutter='24'>
<a-col :span='9'>
<a-form-model-item :label="$t('areaOfResponsibility')">
<j-dict-select-tag class="box-input" v-model="formData.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
<a-select class="box-input" v-model="formData.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')">
<a-select-option v-for="(element,index) in dutyTerritory" :key="element.value" :value="element.value">
{{element.text}}
</a-select-option>
</a-select>
<!-- <j-dict-select-tag class="box-input" v-model="formData.dutyTerritory"-->
<!-- :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'duty_territory'"/>-->
</a-form-model-item>
</a-col>
<a-col :span='9'>
@@ -99,6 +105,7 @@ export default {
loading: false,
editId: '',
RelatedItemList:[],
dutyTerritory:[],
columns: [
{
title: this.$t('areaOfResponsibility'),
@@ -180,6 +187,7 @@ export default {
mounted() {
this.loadData()
this.getRelatedItemList()
this.getdutyTerritory()
},
methods: {
getRelatedItemList(){
@@ -207,6 +215,13 @@ export default {
}
})
},
getdutyTerritory(){
getAction('sys/dict/getDictItems/duty_territory', { }).then((res) => {
if (res.success) {
this.dutyTerritory = res.result
}
})
},
// 法规技术评估列表
handletechnical(){
@@ -83,9 +83,9 @@
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
<span slot="projectName" slot-scope="text,record" :title="text">
<span slot="technicalField" slot-scope="text,record" :title="text">
<a @click="entryNameClick(record)">
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
{{ text && text.length > 23 ? text.slice(0, 22) + '...' : text }}
</a>
</span>
<span slot="operation" slot-scope="text,record">
@@ -183,7 +183,9 @@ export default {
{
title: this.$t('technicalField'),
align: 'center',
dataIndex: 'technologyTerritory_dicText'
dataIndex: 'technologyTerritory_dicText',
width: 350,
scopedSlots: { customRender: 'technicalField' }
},
{
title: this.$t('RegulatoryProcessEvaluationResults'),