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

This commit is contained in:
gaosong
2022-08-18 09:41:46 +08:00
91 changed files with 2477 additions and 371 deletions
@@ -824,21 +824,21 @@ CREATE TABLE `sar_file_compare_res_comment` (
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 法规技术评估-条款信息评估结果表 字段增加长度 2022-08-08 -- 法规技术评估-条款信息评估结果表 字段增加长度 2022-08-11 已同步生产环境
ALTER TABLE `laws_weilai`.`laws_technology_evaluation_item_result` ALTER TABLE `laws_weilai`.`laws_technology_evaluation_item_result`
MODIFY COLUMN `technical_file_name` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技术文件名称' AFTER `evaluation_methods`, MODIFY COLUMN `technical_file_name` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技术文件名称' AFTER `evaluation_methods`,
MODIFY COLUMN `section` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '章节' AFTER `technical_file_name`; MODIFY COLUMN `section` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '章节' AFTER `technical_file_name`;
-- 问题知识库 字段长度修改 2022-08-08 -- 问题知识库 字段长度修改 2022-08-11 已同步生产环境
ALTER TABLE `laws_weilai`.`problem_knowledge_base` ALTER TABLE `laws_weilai`.`problem_knowledge_base`
MODIFY COLUMN `buss_document_library_id` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id' AFTER `target_market`, MODIFY COLUMN `buss_document_library_id` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id' AFTER `target_market`,
MODIFY COLUMN `stand_number` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准编号' AFTER `buss_document_library_id`, MODIFY COLUMN `stand_number` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准编号' AFTER `buss_document_library_id`,
MODIFY COLUMN `stand_title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准标题' AFTER `stand_number`; MODIFY COLUMN `stand_title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准标题' AFTER `stand_number`;
-- 问题知识库 字段类型修改 2022-08-09 -- 问题知识库 字段类型修改 2022-08-11 已同步生产环境
ALTER TABLE `laws_weilai`.`problem_knowledge_base` ALTER TABLE `laws_weilai`.`problem_knowledge_base`
MODIFY COLUMN `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容(正文)' AFTER `stand_title`; MODIFY COLUMN `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容(正文)' AFTER `stand_title`;
-- 国家与国旗关系表 2022-08-09 -- 国家与国旗关系表 2022-08-11 已同步生产环境
CREATE TABLE `laws_weilai`.`country_national_flag` ( CREATE TABLE `laws_weilai`.`country_national_flag` (
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `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 '创建人', `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
@@ -852,7 +852,7 @@ CREATE TABLE `laws_weilai`.`country_national_flag` (
`national_flag_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗url', `national_flag_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗url',
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家与国旗中间表' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家与国旗中间表' ROW_FORMAT = Dynamic;
-- 初始化数据 2022-08-10 -- 初始化数据 2022-08-11 已同步生产环境
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('1', NULL, NULL, NULL, NULL, NULL, '欧盟', 'EU', NULL, '/jero-boot/nationalFlag/EU.png'); INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('1', NULL, NULL, NULL, NULL, NULL, '欧盟', 'EU', NULL, '/jero-boot/nationalFlag/EU.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('10', NULL, NULL, NULL, NULL, NULL, '美国', 'US', NULL, '/jero-boot/nationalFlag/US.png'); INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('10', NULL, NULL, NULL, NULL, NULL, '美国', 'US', NULL, '/jero-boot/nationalFlag/US.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('11', NULL, NULL, NULL, NULL, NULL, '澳大利亚', 'Australia', NULL, '/jero-boot/nationalFlag/Australia.png'); INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('11', NULL, NULL, NULL, NULL, NULL, '澳大利亚', 'Australia', NULL, '/jero-boot/nationalFlag/Australia.png');
@@ -867,22 +867,22 @@ INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_ti
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('8', NULL, NULL, NULL, NULL, NULL, '海湾地区', 'GCC', NULL, '海湾地区.jpg'); INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('8', NULL, NULL, NULL, NULL, NULL, '海湾地区', 'GCC', NULL, '海湾地区.jpg');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '/jero-boot/nationalFlag/UAE.png'); INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '/jero-boot/nationalFlag/UAE.png');
-- 法规意见收集-评估结果表字段长度调整 2022-08-11 -- 法规意见收集-评估结果表字段长度调整 2022-08-11 已同步生产环境
ALTER TABLE `laws_weilai`.`laws_opinion_assessment_result` ALTER TABLE `laws_weilai`.`laws_opinion_assessment_result`
MODIFY COLUMN `related_section` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关章节' AFTER `laws_opinion_gather_id`, MODIFY COLUMN `related_section` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关章节' AFTER `laws_opinion_gather_id`,
MODIFY COLUMN `issue_or_suggest` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题/建议' AFTER `related_section`; MODIFY COLUMN `issue_or_suggest` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题/建议' AFTER `related_section`;
-- 法规技术评估-评估结果表 字段长度调整 2022-08-11 -- 法规技术评估-评估结果表 字段长度调整 2022-08-11 已同步生产环境
ALTER TABLE `laws_weilai`.`laws_technology_evaluation_result` ALTER TABLE `laws_weilai`.`laws_technology_evaluation_result`
MODIFY COLUMN `issue_or_suggest` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题/建议' AFTER `related_section`, MODIFY COLUMN `issue_or_suggest` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题/建议' AFTER `related_section`,
MODIFY COLUMN `reason` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '理由' AFTER `issue_or_suggest`; MODIFY COLUMN `reason` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '理由' AFTER `issue_or_suggest`;
-- 展示区域 英文修改 2022-08-11 -- 展示区域 英文修改 2022-08-11 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'Relevant Information' WHERE `id` = '1492408622838222850'; UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'Relevant Information' WHERE `id` = '1492408622838222850';
UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'General Information' WHERE `id` = '1499657602378825729'; UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'General Information' WHERE `id` = '1499657602378825729';
UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'Document Files' WHERE `id` = '1499658880093847553'; UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'Document Files' WHERE `id` = '1499658880093847553';
-- 数据字典 英文修改 2022-08-11 -- 数据字典 英文修改 2022-08-11 已同步生产环境
-- 同步情况 sync_state -- 同步情况 sync_state
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'No' WHERE `id` = '1507311752583352322'; UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'No' WHERE `id` = '1507311752583352322';
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Yes' WHERE `id` = '1507311835571851265'; UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Yes' WHERE `id` = '1507311835571851265';
@@ -899,7 +899,7 @@ UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Development' WHERE `id` =
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Production' WHERE `id` = '1513769467044179970'; UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Production' WHERE `id` = '1513769467044179970';
-- 表字段 英文修改 2022-08-11 -- 表字段 英文修改 2022-08-11 已同步生产环境
-- OCR识别转换记录表 -- OCR识别转换记录表
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Conversion Result' WHERE `id` = '6b29f1c0e03533bb380c5ead03195785'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Conversion Result' WHERE `id` = '6b29f1c0e03533bb380c5ead03195785';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Conversion Time' WHERE `id` = '85894f5ad04de66ccf45ebd96c97b534'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Conversion Time' WHERE `id` = '85894f5ad04de66ccf45ebd96c97b534';
@@ -917,13 +917,35 @@ UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item No.' WHER
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item Name' WHERE `id` = '9e91b704de198ccf2f5fb7297e675404'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item Name' WHERE `id` = '9e91b704de198ccf2f5fb7297e675404';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item Content' WHERE `id` = '120a92b6d595c2fd68d2b90278357ce4'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item Content' WHERE `id` = '120a92b6d595c2fd68d2b90278357ce4';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Technical Field' WHERE `id` = 'ccf68e6578a0a446a6ac34018f0a477d'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Technical Field' WHERE `id` = 'ccf68e6578a0a446a6ac34018f0a477d';
-- 文档库信息表 2022-08-12 -- 文档库信息表 2022-08-12 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Standard Type' WHERE `id` = '441588d80cc31ce68fbdf2ce8b36f93c'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Standard Type' WHERE `id` = '441588d80cc31ce68fbdf2ce8b36f93c';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Area' WHERE `id` = '9f82d58f22a12792a53e202d64a39f06'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Area' WHERE `id` = '9f82d58f22a12792a53e202d64a39f06';
-- 参数项收集清单 2022-08-12 -- 参数项收集清单 2022-08-12 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Para Batch' WHERE `id` = '161c35a16e92682972dd1aeb26151fa2'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Para Batch' WHERE `id` = '161c35a16e92682972dd1aeb26151fa2';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Para Name' WHERE `id` = 'e586bd87d4d826ce3d7d373caf54c6f6'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Para Name' WHERE `id` = 'e586bd87d4d826ce3d7d373caf54c6f6';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Status' WHERE `id` = '9050dc65a7b2fe82927b74a9ef4a4bb4'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Status' WHERE `id` = '9050dc65a7b2fe82927b74a9ef4a4bb4';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Responsible Field' WHERE `id` = 'ed57f77975218560b37ea497a20109c6'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Responsible Field' WHERE `id` = 'ed57f77975218560b37ea497a20109c6';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Filled by' WHERE `id` = 'a371f6d49781c0921a48f317d1ba69b6'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Filled by' WHERE `id` = 'a371f6d49781c0921a48f317d1ba69b6';
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Eng. Interface' WHERE `id` = '58c3d5a50c86be19d5ab0cd5ac4d6d8b'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Eng. Interface' WHERE `id` = '58c3d5a50c86be19d5ab0cd5ac4d6d8b';
-- 国家国旗表 增加旗帜 2022-08-16
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('14', NULL, NULL, NULL, NULL, NULL, '海湾地区', 'GCC', NULL, '/jero-boot/nationalFlag/GCC.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('15', NULL, NULL, NULL, NULL, NULL, '巴西', 'Brazil', NULL, '/jero-boot/nationalFlag/Brazil.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('16', NULL, NULL, NULL, NULL, NULL, '德国', 'Germany', NULL, '/jero-boot/nationalFlag/Germany.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('17', NULL, NULL, NULL, NULL, NULL, '俄国', 'Russia', NULL, '/jero-boot/nationalFlag/Russia.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('18', NULL, NULL, NULL, NULL, NULL, '菲律宾', 'Philippines', NULL, '/jero-boot/nationalFlag/Philippines.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('19', NULL, NULL, NULL, NULL, NULL, '加拿大', 'Canada', NULL, '/jero-boot/nationalFlag/Canada.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('20', NULL, NULL, NULL, NULL, NULL, '墨西哥', 'Mexico', NULL, '/jero-boot/nationalFlag/Mexico.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('21', NULL, NULL, NULL, NULL, NULL, '挪威', 'Norway', NULL, '/jero-boot/nationalFlag/Norway.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('22', NULL, NULL, NULL, NULL, NULL, '泰国', 'Thailand', NULL, '/jero-boot/nationalFlag/Thailand.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('23', NULL, NULL, NULL, NULL, NULL, '印度', 'Hindustan', NULL, '/jero-boot/nationalFlag/Hindustan.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('24', NULL, NULL, NULL, NULL, NULL, '印尼', 'Indonesia', NULL, '/jero-boot/nationalFlag/Indonesia.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('25', NULL, NULL, NULL, NULL, NULL, '越南', 'Vietnam', NULL, '/jero-boot/nationalFlag/Vietnam.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('26', NULL, NULL, NULL, NULL, NULL, '智利', 'Chile', NULL, '/jero-boot/nationalFlag/Chile.png');
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('27', NULL, NULL, NULL, NULL, NULL, '中国香港', 'Hong Kong China', NULL, '/jero-boot/nationalFlag/HongKongChina.png');
-- 删除之前的3中国香港 和8海湾地区
delete from country_national_flag where id in ('3','8');
-- 法规流程历史表增加字段 审批意见 2022-08-16
ALTER TABLE `laws_weilai`.`laws_process_history`
ADD COLUMN `approval_opinion` varchar(2000) NULL COMMENT '审批意见' AFTER `flow_type`;
@@ -36,6 +36,7 @@ import com.jero.modules.cert.report.service.*;
import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO; import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO; import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import com.jero.modules.cert.template.enums.ControlTypeEnum; import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.cert.template.enums.ParamsIsMustEnum;
import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService; import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.service.IFeishuService;
@@ -528,147 +529,196 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
} else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue()); pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullConfigDataVO); paramsConfigDataVOList.add(pullConfigDataVO);
paramsConfigDataVOList.add(textConfigDataVO);
} else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue()); pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
pullMoreConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullMoreConfigDataVO); paramsConfigDataVOList.add(pullMoreConfigDataVO);
paramsConfigDataVOList.add(textConfigDataVO);
} else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
textConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(textConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue()); pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue()); pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
pullMoreConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullMoreConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(pullMoreConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue()); pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
paramsConfigDataVOList.add(textConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} }
@@ -724,6 +774,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String dbFieldName = onlCgformField.getDbFieldName(); String dbFieldName = onlCgformField.getDbFieldName();
if ("description".equals(dbFieldName)) { if ("description".equals(dbFieldName)) {
indexOfDescription = i; indexOfDescription = i;
map.put("click2", true);
} }
if ("duty_territory".equals(dbFieldName)) { if ("duty_territory".equals(dbFieldName)) {
map.put("click1", true); map.put("click1", true);
@@ -26,6 +26,7 @@ import com.jero.modules.cert.report.mapper.ParamsReportDetailEOMapper;
import com.jero.modules.cert.report.service.*; import com.jero.modules.cert.report.service.*;
import com.jero.modules.cert.report.vo.ParamsReportDetailVO; import com.jero.modules.cert.report.vo.ParamsReportDetailVO;
import com.jero.modules.cert.template.enums.ControlTypeEnum; import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.cert.template.enums.ParamsIsMustEnum;
import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
@@ -274,147 +275,196 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
} else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue()); pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullConfigDataVO); paramsConfigDataVOList.add(pullConfigDataVO);
paramsConfigDataVOList.add(textConfigDataVO);
} else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue()); pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
pullMoreConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullMoreConfigDataVO); paramsConfigDataVOList.add(pullMoreConfigDataVO);
paramsConfigDataVOList.add(textConfigDataVO);
} else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
textConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(textConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue()); pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO pullMoreConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullMoreConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue()); pullMoreConfigDataVO.setType(ConfigDataTypeEnum.PULL_MORE.getValue());
pullMoreConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullMoreConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullMoreConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullMoreConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullMoreConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(pullMoreConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) { } else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) {
ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO(); ParamsConfigDataVO textConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
if (ParamsIsMustEnum.YES.getValue().equals(paramsCollectManifestEO.getIsMust())) {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.YES.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
} else {
pullConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
textConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
fileConfigDataVO.setIsMust(ParamsIsMustEnum.NO.getValue());
}
textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue()); textConfigDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
textConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
textConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); textConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify()); textConfigDataVO.setControlVerify(paramsCollectManifestEO.getControlVerify());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData()); textConfigDataVO.setDataValue(paramsConfigDataEO.getTextData());
} }
paramsConfigDataVOList.add(textConfigDataVO);
ParamsConfigDataVO pullConfigDataVO = new ParamsConfigDataVO();
pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue()); pullConfigDataVO.setType(ConfigDataTypeEnum.PULL.getValue());
pullConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); pullConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues())); pullConfigDataVO.setControlValue(getControlValueMapList(paramsCollectManifestEO.getControlValues()));
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData()); pullConfigDataVO.setDataValue(paramsConfigDataEO.getPullData());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
ParamsConfigDataVO fileConfigDataVO = new ParamsConfigDataVO();
fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue()); fileConfigDataVO.setType(ConfigDataTypeEnum.FILE.getValue());
fileConfigDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock()); fileConfigDataVO.setIsLock(paramsConfigEO.getIsLock());
fileConfigDataVO.setTemplateId(templateId); fileConfigDataVO.setTemplateId(templateId);
fileConfigDataVO.setTemplateName(templateName); fileConfigDataVO.setTemplateName(templateName);
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId()); fileConfigDataVO.setDataValue(paramsConfigDataEO.getFileConnectId());
} }
paramsConfigDataVOList.add(pullConfigDataVO);
paramsConfigDataVOList.add(textConfigDataVO);
paramsConfigDataVOList.add(fileConfigDataVO); paramsConfigDataVOList.add(fileConfigDataVO);
} else if (ControlTypeEnum.Title.getValue().equals(controlType)) { } else if (ControlTypeEnum.Title.getValue().equals(controlType)) {
@@ -146,7 +146,7 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
if (cut.equals(CutEnum.CN.getValue())) { if (cut.equals(CutEnum.CN.getValue())) {
throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!"); throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
} else { } else {
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re-select the file!"); throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re select the file!");
} }
} }
} }
@@ -265,7 +265,7 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
if (cut.equals(CutEnum.CN.getValue())) { if (cut.equals(CutEnum.CN.getValue())) {
throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!"); throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
} else { } else {
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re-select the file!"); throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re select the file!");
} }
} }
} }
@@ -357,7 +357,7 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
if (cut.equals(CutEnum.CN.getValue())) { if (cut.equals(CutEnum.CN.getValue())) {
throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!"); throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
} else { } else {
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re-select the file!"); throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re select the file!");
} }
} }
} }
@@ -97,4 +97,7 @@ public class LawsProcessHistoryEO implements Serializable {
@ApiModelProperty(value = "流程类型") @ApiModelProperty(value = "流程类型")
private String flowType; private String flowType;
/**审批意见*/
@ApiModelProperty(value = "审批意见")
private String approvalOpinion;
} }
@@ -59,6 +59,6 @@ public class LawsOpinionGatherJob implements Job {
} }
} }
} }
log.info("法规意见收集流程,定时任务开启 ====================================================="); log.info("法规意见收集流程,定时任务结束 =====================================================");
} }
} }
@@ -14,5 +14,6 @@
<result column="operator_role_code" property="operatorRoleCode" /> <result column="operator_role_code" property="operatorRoleCode" />
<result column="operator_time" property="operatorTime" /> <result column="operator_time" property="operatorTime" />
<result column="flow_type" property="flowType" /> <result column="flow_type" property="flowType" />
<result column="approval_opinion" property="approvalOpinion" />
</resultMap> </resultMap>
</mapper> </mapper>
@@ -208,8 +208,7 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
@ApiOperation(value = "条款导入") @ApiOperation(value = "条款导入")
@PostMapping(value = "/importItemExcel") @PostMapping(value = "/importItemExcel")
public Result<?> importItemExcel(MultipartFile file, @RequestParam(name = "cut") String cut, HttpServletRequest request) throws Exception { public Result<?> importItemExcel(MultipartFile file, @RequestParam(name = "cut") String cut, HttpServletRequest request) throws Exception {
List<Map<String,Object>> result = this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request); return this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request);
return Result.OK(result);
} }
@ApiOperation(value="根据id查询明细数据", notes="根据id查询明细数据") @ApiOperation(value="根据id查询明细数据", notes="根据id查询明细数据")
@@ -85,7 +85,7 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
void exportItemTemplate(String cut, HttpServletResponse response, HttpServletRequest request); void exportItemTemplate(String cut, HttpServletResponse response, HttpServletRequest request);
List<Map<String,Object>> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception; Result<?> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception;
List<Map<String, Object>> queryPageDummyById(Map<String, Object> parameter); List<Map<String, Object>> queryPageDummyById(Map<String, Object> parameter);
} }
@@ -312,7 +312,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
title = "条款号,条款名称,条款内容"; title = "条款号,条款名称,条款内容";
fileOriName = "条款信息导入模板.xls"; fileOriName = "条款信息导入模板.xls";
} else { } else {
title = "Item num,Item name,Item Contents"; title = "Item No.,Item Name,Item Content";
fileOriName = "Item information is imported into the template.xls"; fileOriName = "Item information is imported into the template.xls";
} }
@@ -356,7 +356,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
} }
@Override @Override
public List<Map<String,Object>> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception { public Result<?> importItemExcel(MultipartFile file, String cut, HttpServletRequest request)throws Exception {
//校验文件格式 //校验文件格式
int pos = file.getOriginalFilename().lastIndexOf("."); int pos = file.getOriginalFilename().lastIndexOf(".");
String fileSuffixStr = file.getOriginalFilename().substring(pos+1).toLowerCase(); String fileSuffixStr = file.getOriginalFilename().substring(pos+1).toLowerCase();
@@ -367,7 +367,7 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
title = "条款号,条款名称,条款内容"; title = "条款号,条款名称,条款内容";
verifyTemplateMsg = "模板不正确,请下载正确的模板导入!"; verifyTemplateMsg = "模板不正确,请下载正确的模板导入!";
} else { } else {
title = "Item num,Item name,Item Contents"; title = "Item No.,Item Name,Item Content";
verifyTemplateMsg = "The template is not correct, please download the correct template to import!"; verifyTemplateMsg = "The template is not correct, please download the correct template to import!";
} }
@@ -406,12 +406,35 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
} }
int rowNos = sheet.getPhysicalNumberOfRows();// 得到excel的总记录条数 int rowNos = sheet.getPhysicalNumberOfRows();// 得到excel的总记录条数
for (int i = 0; i < rowNos ; i++) { for (int i = 0; i < rowNos ; i++) {
Row row = sheet.getRow(i + 1); Row row = sheet.getRow(i + 1);
if(row != null){ if(row != null){
String itemNum = row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString(); String itemNum = "";
Cell itemNumCell = row.getCell(0);
if(itemNumCell != null){
itemNumCell.setCellType(CellType.STRING);
itemNum = itemNumCell.toString().replaceAll("'","‘").replaceAll("\"","”");
}
String itemName = "";
Cell itemNameCell = row.getCell(1);
if(itemNameCell != null){
itemNameCell.setCellType(CellType.STRING);
itemName = itemNameCell.toString().replaceAll("'","‘").replaceAll("\"","”");
}
String itemContents = "";
Cell itemContentsCell = row.getCell(2);
if(itemContentsCell != null){
itemContentsCell.setCellType(CellType.STRING);
itemContents = itemContentsCell.toString().replaceAll("'","‘").replaceAll("\"","”");
}
/*String itemNum = row.getCell(0, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
String itemName = row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString(); String itemName = row.getCell(1, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
String itemContents = row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString(); String itemContents = row.getCell(2, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();*/
Map<String,Object> itemInfoMap = new HashMap<>(); Map<String,Object> itemInfoMap = new HashMap<>();
String itemId = UUID.randomUUID().toString().replace("-", ""); String itemId = UUID.randomUUID().toString().replace("-", "");
itemInfoMap.put("itemId",itemId); itemInfoMap.put("itemId",itemId);
@@ -421,9 +444,17 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
result.add(itemInfoMap); result.add(itemInfoMap);
} }
} }
Map map = validateImportDatas(result,cut);
boolean isOk = (boolean) map.get("result");
if (!isOk) {
//验证没有通过
String message = (String) map.get("message");
return Result.error(message);
}
} }
} }
return result; return Result.OK(result);
} }
@Override @Override
@@ -511,4 +542,105 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
} }
return technologyTerritoryName; return technologyTerritoryName;
} }
public Map validateImportDatas(List<Map<String, Object>> dataList,String cut){
//存放数据验证结果信息
List<String> stringMessage = new ArrayList<>();
int i = 0;
for (Map<String, Object> map : dataList) {
i++;
int countError = 0; //记录失败数据数量
String errorMsg = "";
if(CutEnum.CN.getValue().equals(cut)){
errorMsg = "第" + i + "行:";
}else{
errorMsg = i + " line:";
}
String itemNum = (String) map.get("itemNum");
String itemName = (String) map.get("itemName");
String itemContent = (String) map.get("itemContent");
if(StringUtils.isEmpty(itemNum)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款号不能为空;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item No. cannot be empty;";
}
countError++;
}else if(itemNum.length() > 100){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款号长度不能超过100;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item No. length of the cannot exceed 100;";
}
countError++;
}
if(StringUtils.isEmpty(itemName)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款名称不能为空;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item Name cannot be empty;";
}
countError++;
}else if(itemName.length() > 100){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款名称长度不能超过100;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item Name length of the cannot exceed 100;";
}
countError++;
}
if(StringUtils.isEmpty(itemContent)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款内容不能为空;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item Content cannot be empty;";
}
countError++;
}else if(itemContent.length() > 500){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
errorMsg += "条款内容长度不能超过500;";
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
errorMsg += "Item Content length of the cannot exceed 500;";
}
countError++;
}
if (countError > 0) {
errorMsg = errorMsg.substring(0,errorMsg.length()-1);
stringMessage.add(errorMsg);
}
}
Map result = new HashMap();
if(CollectionUtils.isEmpty(dataList)){
result.put("result", false);
String message = "";
if (StringUtils.equals(cut, CutEnum.CN.getValue())) {
message = "不能导入空的模板,请检查!";
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
message = "Cannot import empty template, please check!";
}
result.put("message", message);
}else if (stringMessage.isEmpty()) {
result.put("result", true);
result.put("resultList", dataList);
result.put("message", "");
} else {
result.put("result", false);
String html = "";
for (String message : stringMessage) {
html += message + "</br>";
}
result.put("message", html);
}
return result;
}
} }
@@ -216,9 +216,12 @@ public class LawsTechnologyEvaluationItemResultEOServiceImpl extends ServiceImpl
List<SysCategory> categoryList = sysCategoryService.list(); List<SysCategory> categoryList = sysCategoryService.list();
for (LawsTechnologyEvaluationItemResultEO data : datas) { for (LawsTechnologyEvaluationItemResultEO data : datas) {
String evaluationMethods = data.getEvaluationMethods(); String evaluationMethods = data.getEvaluationMethods();
List<String> evaluationMethodsList = Arrays.asList(evaluationMethods.split(",")); if(StringUtils.isNotEmpty(evaluationMethods)){
String name = getTreeName(cut, categoryList, evaluationMethodsList); List<String> evaluationMethodsList = Arrays.asList(evaluationMethods.split(","));
data.setEvaluationMethodsName(name); String name = getTreeName(cut, categoryList, evaluationMethodsList);
data.setEvaluationMethodsName(name);
}
if(StringUtils.isNotEmpty(data.getComplianceResult())){ if(StringUtils.isNotEmpty(data.getComplianceResult())){
data.setComplianceResultName(ComplianceResultEnum.getTextByValue(data.getComplianceResult(),cut)); data.setComplianceResultName(ComplianceResultEnum.getTextByValue(data.getComplianceResult(),cut));
} }
@@ -263,7 +266,7 @@ public class LawsTechnologyEvaluationItemResultEOServiceImpl extends ServiceImpl
title = "条款号,条款名称,条款内容,评估人,评估方式,技术文件名称,章节,符合性结果,意见,附件,反馈时间"; title = "条款号,条款名称,条款内容,评估人,评估方式,技术文件名称,章节,符合性结果,意见,附件,反馈时间";
fileName = "条款评估结果 " + ".xlsx"; fileName = "条款评估结果 " + ".xlsx";
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
title = "Item num,Item name,Item Contents,Evaluator,Evaluation methods,Name of technical document,Section,Compliance results,Opinion,Accessory,Feedback time "; title = "Item No.,Item Name,Item Content,Assessor,Evaluation method,Name of technical document,chapter,Compliance Results,Opinion,Enclosure,Feedback Time";
fileName = "Item Evaluation results " + ".xlsx"; fileName = "Item Evaluation results " + ".xlsx";
} }
@@ -0,0 +1,48 @@
package com.jero.modules.problemKnowledgeBase.enums;
import com.jero.common.constant.enums.CutEnum;
import org.apache.commons.lang3.StringUtils;
/**
* 问题知识库-查询标识枚举类
*/
public enum QueryFlagEnum {
GET_ALL_APPLY_MARKET("获取所有的适用市场","","0"),
GET_NOT_CREATE_APPLY_MARKET("获取还没有创建过countryCard的适用市场","","1"),
GET_RELEASED_APPLY_MARKET("获取已发布的countryCard的适用市场","","2"),
GET_CREATE_APPLY_MARKET("获取所有自己已创建的countryCard的适用市场","","3"),
;
String cnName;
String enName;
String value;
private QueryFlagEnum(String cnName, String enName, String value) {
this.cnName = cnName;
this.enName = enName;
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static String getTextByValue(String value,String cut) {
QueryFlagEnum[] values = values();
for (QueryFlagEnum queryFlagEnum : values) {
if (queryFlagEnum.value.equals(value)) {
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
return queryFlagEnum.cnName;
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
return queryFlagEnum.enName;
}
}
}
return null;
}
}
@@ -6,9 +6,11 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO; import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO;
import com.jero.modules.problemKnowledgeBase.enums.QueryFlagEnum;
import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum; import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum;
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMapper; import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMapper;
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService; import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
@@ -18,6 +20,7 @@ import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.service.ISysDictService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -216,9 +219,9 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
//获取已经创建了country Card的适用地区,该接口只返回,在country Card里面没有的适用地区。 //获取已经创建了country Card的适用地区,该接口只返回,在country Card里面没有的适用地区。
List<CountryCardManageReleaseEO> countryCardManageReleaseEOList = this.list(); List<CountryCardManageReleaseEO> countryCardManageReleaseEOList = this.list();
//如果查询标识是空,则是在countryCard管理发布页面新增数据时使用:管理发布页新增查询的是,所有未创建countryCard的适用市场。 if (StringUtils.equals(queryFlag, QueryFlagEnum.GET_ALL_APPLY_MARKET.getValue())) {
//如果查询标识不是空,则是在CountryCard的首页使用:首页查询的是 所有已创建了countryCard的适用市场。 result = dictModelList;
if (StringUtils.isEmpty(queryFlag)) { }else if (StringUtils.equals(queryFlag,QueryFlagEnum.GET_NOT_CREATE_APPLY_MARKET.getValue())) {
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){ if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
result = dictModelList; result = dictModelList;
}else { }else {
@@ -236,7 +239,7 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
} }
} }
} }
}else { }else if(StringUtils.equals(queryFlag,QueryFlagEnum.GET_RELEASED_APPLY_MARKET.getValue())){
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){ if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
result = null; result = null;
}else { }else {
@@ -250,6 +253,26 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
} }
} }
if(flag){
result.add(dictModel);
}
}
}
}else if(StringUtils.equals(queryFlag,QueryFlagEnum.GET_CREATE_APPLY_MARKET.getValue())){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){
result = null;
}else {
for (DictModel dictModel : dictModelList) {
boolean flag = false;
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())
&& StringUtils.equals(countryCardManageReleaseEO.getCreateBy(),currentUser.getUsername())){
flag = true;
break;
}
}
if(flag){ if(flag){
result.add(dictModel); result.add(dictModel);
} }
@@ -3,6 +3,7 @@ package com.jero.modules.problemKnowledgeBase.service.impl;
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO;
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseClassifyEOMapper; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseClassifyEOMapper;
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.util.StringUtils; import com.jero.modules.system.util.StringUtils;
@@ -10,10 +11,8 @@ import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.text.Collator;
import java.util.Arrays; import java.util.*;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -99,7 +98,15 @@ public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl<Probl
*/ */
@Override @Override
public List<ProblemKnowledgeBaseClassifyEO> queryList() { public List<ProblemKnowledgeBaseClassifyEO> queryList() {
return list(); List<ProblemKnowledgeBaseClassifyEO> result = this.list();
// 匿名比较器排序
Collections.sort(result, new Comparator<ProblemKnowledgeBaseClassifyEO>() {
@Override
public int compare(ProblemKnowledgeBaseClassifyEO p1, ProblemKnowledgeBaseClassifyEO p2) {
return p1.getProblemLabel().compareTo(p2.getProblemLabel());
}
});
return result;
} }
@Override @Override
@@ -50,6 +50,8 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService; private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService;
@Autowired @Autowired
private ISysDictService sysDictService; private ISysDictService sysDictService;
@Autowired
private IProblemKnowledgeBaseCommentEOService problemKnowledgeBaseCommentEOService;
/** /**
* 保存 * 保存
@@ -108,6 +110,18 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
@Override @Override
public void deleteByIds(List<String> ids) { public void deleteByIds(List<String> ids) {
removeByIds(ids); removeByIds(ids);
QueryWrapper deleteWrapper = new QueryWrapper<>();
deleteWrapper.in("problem_knowledge_base_id",ids);
this.problemKnowledgeBaseUserEOService.remove(deleteWrapper);
this.problemKnowledgeBasePraiseEOService.remove(deleteWrapper);
this.problemKnowledgeBaseCollectEOService.remove(deleteWrapper);
this.problemKnowledgeBaseBrowsingHistoryEOService.remove(deleteWrapper);
this.problemKnowledgeBaseCommentEOService.remove(deleteWrapper);
} }
/** /**
@@ -308,20 +322,25 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
String targetMarket = data.getTargetMarket(); String targetMarket = data.getTargetMarket();
if(StringUtils.isNotEmpty(targetMarket) && CollectionUtils.isNotEmpty(regionList)){ if(StringUtils.isNotEmpty(targetMarket) && CollectionUtils.isNotEmpty(regionList)){
String[] targetMarketArr = targetMarket.split(",");
String targetMarket_dicText = ""; String targetMarket_dicText = "";
if(StringUtils.equals(cut, CutEnum.CN.getValue())){ if(StringUtils.equals(cut, CutEnum.CN.getValue())){
targetMarket_dicText = regionList.stream().filter(region -> { targetMarket_dicText = regionList.stream().filter(region -> {
boolean flag = false; boolean flag = false;
if (StringUtils.equals(targetMarket, region.getValue())) { for (String s : targetMarketArr) {
flag = true; if (StringUtils.equals(s, region.getValue())) {
flag = true;
}
} }
return flag; return flag;
}).map(DictModel::getText).collect(Collectors.joining(",")); }).map(DictModel::getText).collect(Collectors.joining(","));
}else if(StringUtils.equals(cut, CutEnum.EN.getValue())){ }else if(StringUtils.equals(cut, CutEnum.EN.getValue())){
targetMarket_dicText = regionList.stream().filter(region -> { targetMarket_dicText = regionList.stream().filter(region -> {
boolean flag = false; boolean flag = false;
if (StringUtils.equals(targetMarket, region.getValue())) { for (String s : targetMarketArr) {
flag = true; if (StringUtils.equals(s, region.getValue())) {
flag = true;
}
} }
return flag; return flag;
}).map(DictModel::getTextEn).collect(Collectors.joining(",")); }).map(DictModel::getTextEn).collect(Collectors.joining(","));
@@ -348,11 +367,13 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
queryWrapper.lambda().and(query -> { queryWrapper.lambda().and(query -> {
query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue()). query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue());
or(o -> { if(CollectionUtils.isNotEmpty(problemKnowledgeBaseIdList)){
query.or(o -> {
o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue()); o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue());
o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList); o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList);
}); });
}
}); });
String searchStr = problemKnowledgeBaseEO.getSearchStr(); String searchStr = problemKnowledgeBaseEO.getSearchStr();
@@ -44,7 +44,6 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
*/ */
@AutoLog(value = "项目库基础表-分页列表查询") @AutoLog(value = "项目库基础表-分页列表查询")
@ApiOperation(value="项目库基础表-分页列表查询", notes="项目库基础表-分页列表查询") @ApiOperation(value="项目库基础表-分页列表查询", notes="项目库基础表-分页列表查询")
@RequiresPermissions("projectLibraryBase:page")
@PostMapping(value = "/page") @PostMapping(value = "/page")
public Result<?> queryPageList(@RequestBody Map<String,Object> params) { public Result<?> queryPageList(@RequestBody Map<String,Object> params) {
IPage<ProjectLibraryBase> pageList= projectLibraryBaseService.queryPageList(params); IPage<ProjectLibraryBase> pageList= projectLibraryBaseService.queryPageList(params);
@@ -7,9 +7,9 @@ public enum ProjectTaskPlanningNameEnum {
// PREHOMO_DEADLINE("Pre-Homo","Pre-Homo"), // PREHOMO_DEADLINE("Pre-Homo","Pre-Homo"),
// ATTESTATION_START_TIME("认证开始","Certification begins"), // ATTESTATION_START_TIME("认证开始","Certification begins"),
// ATTESTATION_END_TIME("认证结束"," End of certification"), // ATTESTATION_END_TIME("认证结束"," End of certification"),
PREHOMO_DEADLINE("Pre-Homo确认","Pre-Homo Confirmation"), // name:Pre-Homo value:Pre-Homo PREHOMO_DEADLINE("摸底试验结束","Pre-Homo Confirmation"), // name:Pre-Homo value:Pre-Homo
ATTESTATION_START_TIME("认证结束","Homo Completion"),// name:认证开始 value:Certification begins ATTESTATION_START_TIME("认证试验结束","Homo Completion"),// name:认证开始 value:Certification begins
ATTESTATION_END_TIME("认证开始","Homo KO"),// name:认证结束 value:End of certification ATTESTATION_END_TIME("认证批准","Homo KO"),// name:认证结束 value:End of certification
VERIFY_DEADLINE("验证符合性确认","Validation Compliance Confirmation"), VERIFY_DEADLINE("验证符合性确认","Validation Compliance Confirmation"),
; ;
String name; String name;
@@ -257,7 +257,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
title = "编号,标题,状态,技术领域,责任领域,相关项目,设计符合性,Pre-Homo确认,验证符合性"; title = "编号,标题,状态,技术领域,责任领域,相关项目,设计符合性,Pre-Homo确认,验证符合性";
fileName = "符合性结果" + ".xlsx"; fileName = "符合性结果" + ".xlsx";
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
title = "Serial number,Title,State,Technology territory,Responsible Field,Relevant project,Design conformance,Pre-Homo Confirm,Verify conformance"; title = "Number,Title,Status,Tech field,Responsible Field,Relevant project,Design Compliance Confirmation,Pre-Homo Confirmation,Validation Compliance Confirmation";
fileName = "Compliance results" + ".xlsx"; fileName = "Compliance results" + ".xlsx";
} }
OutputStream os = null; OutputStream os = null;
@@ -281,7 +281,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
//设置居中、表头值。 //设置居中、表头值。
for (int i = 0; i < firstLineTitleArr.length; i++){ for (int i = 0; i < firstLineTitleArr.length; i++){
sheet.setColumnWidth(i,5000); sheet.setColumnWidth(i,8000);
Cell cell = firstRow.createCell(i); Cell cell = firstRow.createCell(i);
cell.setCellStyle(titleCellStyle); cell.setCellStyle(titleCellStyle);
cell.setCellValue(firstLineTitleArr[i]); cell.setCellValue(firstLineTitleArr[i]);
@@ -367,7 +367,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
title = "责任领域,相关项目,设计符合性,Pre-Homo确认,验证符合性"; title = "责任领域,相关项目,设计符合性,Pre-Homo确认,验证符合性";
fileName = "符合性结果" + ".xlsx"; fileName = "符合性结果" + ".xlsx";
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
title = "Responsible Field,Relevant project,Design conformance,Pre-Homo Confirm,Verify conformance"; title = "Responsible Field,Relevant project,Design Compliance Confirmation,Pre-Homo Confirmation,Validation Compliance Confirmation";
fileName = "Compliance results" + ".xlsx"; fileName = "Compliance results" + ".xlsx";
} }
OutputStream os = null; OutputStream os = null;
@@ -391,7 +391,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
//设置居中、表头值。 //设置居中、表头值。
for (int i = 0; i < firstLineTitleArr.length; i++){ for (int i = 0; i < firstLineTitleArr.length; i++){
sheet.setColumnWidth(i,5000); sheet.setColumnWidth(i,8000);
Cell cell = firstRow.createCell(i); Cell cell = firstRow.createCell(i);
cell.setCellStyle(titleCellStyle); cell.setCellStyle(titleCellStyle);
cell.setCellValue(firstLineTitleArr[i]); cell.setCellValue(firstLineTitleArr[i]);
@@ -134,6 +134,22 @@ public class LawsMonthlyReportTitleTemplateEOController extends JeroController<L
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
/**
* 目录删除验证
*
* @param ids
* @return
*/
@AutoLog(value = "月报标题模板-批量删除")
@ApiOperation(value="月报标题模板-批量删除", notes="月报标题模板-批量删除")
@GetMapping(value = "/verifyDelete")
public Result<?> verifyDelete(@RequestParam(name="ids",required=true) String ids) {
String flag = this.lawsMonthlyReportTitleTemplateEOService.verifyDelete(Arrays.asList(ids.split(",")));
return Result.OK(flag);
}
/** /**
* 通过id查询 * 通过id查询
* *
@@ -193,4 +193,10 @@ public class LawsMonthlyReportWriteEO implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String ids; private String ids;
//新添字段
private String relatedAreasCn;//相关领域中文
private String relatedAreasEn;//相关领域英文
private String source;//来源
private String time;//日期
} }
@@ -9,7 +9,8 @@ package com.jero.modules.report.enums;
public enum ContentTemplateEnum { public enum ContentTemplateEnum {
DEFAULT_TEMPLATE("默认模板","1"), DEFAULT_TEMPLATE("默认模板","1"),
NEW_REQUEST_LIST_TEMPLATE("新征求意见清单模板","2"), NEW_REQUEST_LIST_TEMPLATE("新征求意见清单模板","2"),
NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE("新发布标准清单模板","3"); NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE("新发布标准清单模板","3"),
INDUSTRY_INFORMATION_TRENDS("行业资讯动态","4");
@@ -29,5 +29,9 @@
<result column="laws_contact" property="lawsContact" /> <result column="laws_contact" property="lawsContact" />
<result column="link" property="link" /> <result column="link" property="link" />
<result column="export_state" property="exportState" /> <result column="export_state" property="exportState" />
<result column="related_areas_cn" property="relatedAreasCn" />
<result column="related_areas_en" property="relatedAreasEn" />
<result column="source" property="source" />
<result column="time" property="time" />
</resultMap> </resultMap>
</mapper> </mapper>
@@ -48,6 +48,13 @@ public interface ILawsMonthlyReportTitleTemplateEOService extends IService<LawsM
*/ */
void deleteByIds(List<String> ids); void deleteByIds(List<String> ids);
/**
* 目录删除验证
* @param ids
* @return
*/
String verifyDelete(List<String> ids);
/** /**
* 通过id查询 * 通过id查询
* *
@@ -121,6 +121,32 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl<Law
removeByIds(ids); removeByIds(ids);
} }
/**
* 目录删除验证
* @param ids
*/
@Override
public String verifyDelete(List<String> ids) {
//标题下存在内容或子标题时不能删除
//1. 判断是否存在子标题
LambdaQueryWrapper<LawsMonthlyReportTitleTemplateEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(LawsMonthlyReportTitleTemplateEO::getParentId,ids);
List<LawsMonthlyReportTitleTemplateEO> list = this.list(wrapper);
if(list.size() != 0){
//不能删除
return "false";
}
//2. 判断是否存在内容 memories_chapter
LambdaQueryWrapper<LawsMonthlyReportWriteEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(LawsMonthlyReportWriteEO::getMemoriesChapter,ids);
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS = lawsMonthlyReportWriteEOService.list(lambdaQueryWrapper);
if(lawsMonthlyReportWriteEOS.size() != 0){
//不能删除
return "false";
}
return "true";
}
/** /**
* 通过id查询 * 通过id查询
* *
@@ -414,7 +414,16 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getIds())){ if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getIds())){
wrapper.in(LawsMonthlyReportWriteEO::getId,Arrays.asList(lawsMonthlyReportWriteEO.getIds().split(","))); wrapper.in(LawsMonthlyReportWriteEO::getId,Arrays.asList(lawsMonthlyReportWriteEO.getIds().split(",")));
} }
//管理员查看全部数据,其余人只能查看自己的数据
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername());
if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){
wrapper.in(LawsMonthlyReportWriteEO::getCreateBy,currentUser.getUsername());
}
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS = this.list(wrapper); List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS = this.list(wrapper);
//法规联系人
List<LoginUser> loginUserList = getlawsContact(lawsMonthlyReportWriteEOS);
List<String> lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); List<String> lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
//新征求意见清单模板 //新征求意见清单模板
@@ -456,8 +465,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOService.list(); List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOService.list();
lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOS.stream() lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOS.stream()
.filter(e -> memoriesChapterList.contains(e.getId())).collect(Collectors.toList()); .filter(e -> memoriesChapterList.contains(e.getId())).collect(Collectors.toList());
long l = System.currentTimeMillis();
String path = uploadpath + "/tempZip"; String path = uploadpath + "/tempZip"+l;
File fileTemp = new File(path); File fileTemp = new File(path);
if (fileTemp.exists()) { if (fileTemp.exists()) {
fileTemp.delete(); fileTemp.delete();
@@ -465,7 +474,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
fileTemp.mkdirs(); fileTemp.mkdirs();
OutputStream os = null; OutputStream os = null;
try { try {
createWord(path,lawsMonthlyReportWriteEOS,lawsMonthlyReportTitleTemplateEOS); createWord(path,lawsMonthlyReportWriteEOS,lawsMonthlyReportTitleTemplateEOS,loginUserList);
ZipUtil.zip(path, path + ".zip"); ZipUtil.zip(path, path + ".zip");
//文件 //文件
os = response.getOutputStream(); os = response.getOutputStream();
@@ -477,13 +486,15 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
os.write(len); os.write(len);
} }
os.flush(); os.flush();
os.close();
fis.close();
} catch (Exception e) { } catch (Exception e) {
}finally { }finally {
IOUtils.closeQuietly(os); IOUtils.closeQuietly(os);
File file = new File(uploadpath + "/tempZip"); File file = new File(uploadpath + "/tempZip"+l);
FileUtil.deleteContents(file); FileUtil.deleteContents(file);
File fileTem = new File(uploadpath + "/tempZip.zip"); File fileTem = new File(uploadpath + "/tempZip"+l+".zip");
FileUtil.deleteContents(fileTem); FileUtil.deleteContents(fileTem);
} }
//导出月报后修改列表状态 //导出月报后修改列表状态
@@ -505,6 +516,28 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
} }
} }
private List<LoginUser> getlawsContact(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS) {
List<String> userIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
//法规联系人
List<String> userIds = new ArrayList<>();
for (String s : userIdList) {
if(StringUtils.isNotBlank(s)){
if(s.contains(",")){
userIds.addAll(Arrays.asList(s.split(",")));
}else{
userIds.add(s);
}
}
}
List<JSONObject> jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ","));
List<LoginUser> userList = new ArrayList<>();
for (JSONObject jsonObject : jsonObjects) {
LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class);
userList.add(loginUser);
}
return userList;
}
/** /**
*创建word文件 *创建word文件
@@ -514,7 +547,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
*/ */
private void createWord(String path, private void createWord(String path,
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS, List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS){ List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS,
List<LoginUser> loginUserList){
//一级菜单 //一级菜单
List<String> parentIdList = lawsMonthlyReportTitleTemplateEOS.stream().map(LawsMonthlyReportTitleTemplateEO::getParentId).distinct().collect(Collectors.toList()); List<String> parentIdList = lawsMonthlyReportTitleTemplateEOS.stream().map(LawsMonthlyReportTitleTemplateEO::getParentId).distinct().collect(Collectors.toList());
LambdaQueryWrapper<LawsMonthlyReportTitleTemplateEO> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LawsMonthlyReportTitleTemplateEO> wrapper = new LambdaQueryWrapper<>();
@@ -583,13 +617,15 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
//内容中文版 //内容中文版
XWPFDocument documentContentCn = new XWPFDocument(); XWPFDocument documentContentCn = new XWPFDocument();
FileOutputStream outContentCn = new FileOutputStream(wordFileContentCn); FileOutputStream outContentCn = new FileOutputStream(wordFileContentCn);
wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN, documentContentCn,CutEnum.CN.getValue()); wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN,
documentContentCn,CutEnum.CN.getValue(),loginUserList);
documentContentCn.write(outContentCn); documentContentCn.write(outContentCn);
//内容英文版 //内容英文版
XWPFDocument documentContentEn = new XWPFDocument(); XWPFDocument documentContentEn = new XWPFDocument();
FileOutputStream outContentEn = new FileOutputStream(wordFileContentEn); FileOutputStream outContentEn = new FileOutputStream(wordFileContentEn);
wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN, documentContentEn,CutEnum.EN.getValue()); wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleEN,
documentContentEn,CutEnum.EN.getValue(), loginUserList);
documentContentEn.write(outContentEn); documentContentEn.write(outContentEn);
} catch (IOException e) { } catch (IOException e) {
@@ -675,7 +711,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
List<LawsMonthlyReportTitleTemplateEO> reportTitleOneList, List<LawsMonthlyReportTitleTemplateEO> reportTitleOneList,
String titleCN, String titleCN,
XWPFDocument document, XWPFDocument document,
String cut) { String cut,
List<LoginUser> loginUserList) {
//数据字典 //数据字典
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll(); List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
@@ -753,9 +790,12 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
String contentTemplate = lawsMonthlyReportWriteEO.getContentTemplate(); String contentTemplate = lawsMonthlyReportWriteEO.getContentTemplate();
if(ContentTemplateEnum.DEFAULT_TEMPLATE.getValue().equals(contentTemplate)){ if(ContentTemplateEnum.DEFAULT_TEMPLATE.getValue().equals(contentTemplate)){
//写入模板 //写入模板
WordUtil.exportWordExcelDefault(document,lawsMonthlyReportWriteEO,sysDictItems,categoryList,cut); WordUtil.exportWordExcelDefault(document,lawsMonthlyReportWriteEO,sysDictItems,categoryList,cut,loginUserList);
} }
if(ContentTemplateEnum.INDUSTRY_INFORMATION_TRENDS.getValue().equals(contentTemplate)){
WordUtil.exportWordExcelIndustry(document,lawsMonthlyReportWriteEO,cut);
}
// else if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(contentTemplate)){ // else if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(contentTemplate)){
// //新征求意见清单模板 // //新征求意见清单模板
// WordUtil.exportWordExcelAsk(document,lawsMonthlyReportWriteEO,cut); // WordUtil.exportWordExcelAsk(document,lawsMonthlyReportWriteEO,cut);
@@ -2,7 +2,7 @@ package com.jero.modules.report.util;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.modules.project.service.impl.ProjectLawsInventoryEOServiceImpl; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
import com.jero.modules.report.entity.NewOpinionTemplateEO; import com.jero.modules.report.entity.NewOpinionTemplateEO;
import com.jero.modules.report.entity.NewStandardTemplateEO; import com.jero.modules.report.entity.NewStandardTemplateEO;
@@ -36,7 +36,6 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STFldCharType;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STJc; import org.openxmlformats.schemas.wordprocessingml.x2006.main.STJc;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth; import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.Arrays; import java.util.Arrays;
@@ -44,6 +43,7 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class WordUtil { public class WordUtil {
/** /**
* 导出工具示例 * 导出工具示例
* *
@@ -350,7 +350,8 @@ public class WordUtil {
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
List<SysDictItem> sysDictItems, List<SysDictItem> sysDictItems,
List<SysCategory> categoryList, List<SysCategory> categoryList,
String cut) { String cut,
List<LoginUser> loginUserList) {
String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();//技术领域 String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();//技术领域
String applyCar = lawsMonthlyReportWriteEO.getApplyCar();//适用车型 String applyCar = lawsMonthlyReportWriteEO.getApplyCar();//适用车型
String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围 String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围
@@ -363,7 +364,8 @@ public class WordUtil {
String contentEn = lawsMonthlyReportWriteEO.getContentEn();//主要内容英文 String contentEn = lawsMonthlyReportWriteEO.getContentEn();//主要内容英文
String workProgressCn = lawsMonthlyReportWriteEO.getWorkProgressCn();//NIO工作进展中文 String workProgressCn = lawsMonthlyReportWriteEO.getWorkProgressCn();//NIO工作进展中文
String workProgressEn = lawsMonthlyReportWriteEO.getWorkProgressEn();//NIO工作进展英文 String workProgressEn = lawsMonthlyReportWriteEO.getWorkProgressEn();//NIO工作进展英文
String lawsContact = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人 String lawsContactTemp = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人
String lawsContact = getLawsContact(loginUserList, lawsContactTemp);
String link = lawsMonthlyReportWriteEO.getLink();//链接 String link = lawsMonthlyReportWriteEO.getLink();//链接
String technologyTerritoryName = ""; String technologyTerritoryName = "";
if(org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)){ if(org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)){
@@ -404,54 +406,163 @@ public class WordUtil {
//第1行 //第1行
if(CutEnum.CN.getValue().equals(cut)){ if(CutEnum.CN.getValue().equals(cut)){
//第1行 //第1行
setCell(table.getRow(0), "技术领域",technologyTerritoryName); setCell(table, 0, "相关领域",technologyTerritoryName);
//第2行 //第2行
setCell(table.getRow(1), "适用车型",applyCarName); setCell(table,1, "适用车型",applyCarName);
//第3行 //第3行
setCell(table.getRow(2), "适用范围",applyScopeName); setCell(table,2, "适用范围",applyScopeName);
//第4行 //第4行
setCell(table.getRow(3), "状态",stateName); setCell(table,3, "状态",stateName);
//第5行 //第5行
setCell(table.getRow(4), "用法",useMethodName); setCell(table,4, "用法",useMethodName);
//第6行 //第6行
setCell(table.getRow(5), "实施车型",implementCar); setCell(table,5, "实施车型",implementCar);
//第7行 //第7行
setCell(table.getRow(6), "新车型实施日期",newCarImplementTime); setCell(table,6, "新车型实施日期",newCarImplementTime);
//第8行 //第8行
setCell(table.getRow(7), "在产车实施日期",productionCarImplementTime); setCell(table,7, "在产车实施日期",productionCarImplementTime);
//第9行 //第9行
setCell(table.getRow(8), "主要内容中文",contentCn); setCell(table,8, "主要内容",contentCn);
//第10行 //第10行
setCell(table.getRow(9), "NIO工作进展中文",workProgressCn); setCell(table,9, "NIO工作进展",workProgressCn);
//第11行 //第11行
setCell(table.getRow(10), "法规联系人",lawsContact); setCell(table,10, "法规联系人",lawsContact);
//第12行 //第12行
setCell(table.getRow(11), "链接",link); setCell(table,11, "链接",link);
}else{ }else{
//第1行 //第1行
setCell(table.getRow(0), "Technical Field",technologyTerritoryName); setCell(table,0, "Related Areas",technologyTerritoryName);
//第2行 //第2行
setCell(table.getRow(1), "Vehicle Type",applyCarName); setCell(table,1,"Vehicle Type",applyCarName);
//第3行 //第3行
setCell(table.getRow(2), "Scope",applyScopeName); setCell(table,2,"Scope",applyScopeName);
//第4行 //第4行
setCell(table.getRow(3), "Status",stateName); setCell(table,3,"Status",stateName);
//第5行 //第5行
setCell(table.getRow(4), "usage",useMethodName); setCell(table,4,"usage",useMethodName);
//第6行 //第6行
setCell(table.getRow(5), "Implementation Model",implementCar); setCell(table,5,"Implementation Model",implementCar);
//第7行 //第7行
setCell(table.getRow(6), "New Type Execution Date",newCarImplementTime); setCell(table,6,"New Type Execution Date",newCarImplementTime);
//第8行 //第8行
setCell(table.getRow(7), "New Vehicle Execution Date",productionCarImplementTime); setCell(table,7,"New Vehicle Execution Date",productionCarImplementTime);
//第9行 //第9行
setCell(table.getRow(8), "Main Content (English)",contentEn); setCell(table,8,"Main Content",contentEn);
//第10行 //第10行
setCell(table.getRow(9), "NIO Work Progress (English)",workProgressEn); setCell(table,9,"NIO Work Progress",workProgressEn);
//第11行 //第11行
setCell(table.getRow(10), "Regulatory Contact",lawsContact); setCell(table, 10,"Regulatory Contact",lawsContact);
//第12行 //第12行
setCell(table.getRow(11), "Link",link); setCell(table, 11,"Link",link);
}
// if(CutEnum.CN.getValue().equals(cut)){
// //第1行
// setCell(table.getRow(0), "相关领域",technologyTerritoryName);
// //第2行
// setCell(table.getRow(1), "适用车型",applyCarName);
// //第3行
// setCell(table.getRow(2), "适用范围",applyScopeName);
// //第4行
// setCell(table.getRow(3), "状态",stateName);
// //第5行
// setCell(table.getRow(4), "用法",useMethodName);
// //第6行
// setCell(table.getRow(5), "实施车型",implementCar);
// //第7行
// setCell(table.getRow(6), "新车型实施日期",newCarImplementTime);
// //第8行
// setCell(table.getRow(7), "在产车实施日期",productionCarImplementTime);
// //第9行
// setCell(table.getRow(8), "主要内容",contentCn);
// //第10行
// setCell(table.getRow(9), "NIO工作进展",workProgressCn);
// //第11行
// setCell(table.getRow(10), "法规联系人",lawsContact);
// //第12行
// setCell(table.getRow(11), "链接",link);
// }else{
// //第1行
// setCell(table.getRow(0), "Related Areas",technologyTerritoryName);
// //第2行
// setCell(table.getRow(1), "Vehicle Type",applyCarName);
// //第3行
// setCell(table.getRow(2), "Scope",applyScopeName);
// //第4行
// setCell(table.getRow(3), "Status",stateName);
// //第5行
// setCell(table.getRow(4), "usage",useMethodName);
// //第6行
// setCell(table.getRow(5), "Implementation Model",implementCar);
// //第7行
// setCell(table.getRow(6), "New Type Execution Date",newCarImplementTime);
// //第8行
// setCell(table.getRow(7), "New Vehicle Execution Date",productionCarImplementTime);
// //第9行
// setCell(table.getRow(8), "Main Content",contentEn);
// //第10行
// setCell(table.getRow(9), "NIO Work Progress",workProgressEn);
// //第11行
// setCell(table.getRow(10), "Regulatory Contact",lawsContact);
// //第12行
// setCell(table.getRow(11), "Link",link);
// }
}
/**
* 行业资讯动态
* @param document
* @param lawsMonthlyReportWriteEO
* @param cut
*/
public static void exportWordExcelIndustry(XWPFDocument document,
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
String cut) {
String relatedAreasCn = lawsMonthlyReportWriteEO.getRelatedAreasCn();//相关领域中文
String relatedAreasEn = lawsMonthlyReportWriteEO.getRelatedAreasEn();//相关领域英文
String source = lawsMonthlyReportWriteEO.getSource();//来源
String time = lawsMonthlyReportWriteEO.getTime();//日期
String contentCn = lawsMonthlyReportWriteEO.getContentCn();//主要内容中文
String contentEn = lawsMonthlyReportWriteEO.getContentEn();//主要内容英文
String link = lawsMonthlyReportWriteEO.getLink();//链接
XWPFTable table = document.createTable(5, 2);
//表格属性
CTTblPr tablePr = table.getCTTbl().addNewTblPr();
//表格宽度
CTJc cTJc = tablePr.addNewJc();
//居中
cTJc.setVal(STJc.CENTER);
//列宽自动分割
CTTblWidth tableWidth = tablePr.addNewTblW();
//设置表格宽度
tableWidth.setType(STTblWidth.DXA);
tableWidth.setW(BigInteger.valueOf(8000));
//第1行
if(CutEnum.CN.getValue().equals(cut)){
//第1行
setCell(table, 0, "相关领域",relatedAreasCn);
//第2行
setCell(table,1, "来源",source);
//第3行
setCell(table,2, "日期",time);
//第4行
setCell(table,3, "主要内容",contentCn);
//第5行
setCell(table,4, "链接",link);
}else{
//第1行
setCell(table,0, "Related Areas",relatedAreasEn);
//第2行
setCell(table,1,"source",source);
//第3行
setCell(table,2,"Date",time);
//第4行
setCell(table,3,"Main Content",contentEn);
//第5行
setCell(table,4,"Link",link);
} }
} }
public static void exportWordExcelAsk(XWPFDocument document, public static void exportWordExcelAsk(XWPFDocument document,
@@ -666,18 +777,49 @@ public class WordUtil {
return fieldValueName; return fieldValueName;
} }
private static void setCell(XWPFTableRow tableRow, String fieldName,String technologyTerritory) { private static void setCell(XWPFTable table, int number, String fieldName,String technologyTerritory) {
tableRow.setHeight(500); table.getRow(number).setHeight(500);
CTTblWidth ctTblWidth0 = tableRow.getCell(0).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth0 = table.getRow(number).getCell(0).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth0.setType(STTblWidth.DXA); ctTblWidth0.setType(STTblWidth.DXA);
ctTblWidth0.setW(BigInteger.valueOf(3000)); ctTblWidth0.setW(BigInteger.valueOf(2000));
CTTblWidth ctTblWidth1 = tableRow.getCell(1).getCTTc().addNewTcPr().addNewTcW(); CTTblWidth ctTblWidth1 = table.getRow(number).getCell(1).getCTTc().addNewTcPr().addNewTcW();
ctTblWidth1.setType(STTblWidth.DXA); ctTblWidth1.setType(STTblWidth.DXA);
ctTblWidth1.setW(BigInteger.valueOf(5000)); ctTblWidth1.setW(BigInteger.valueOf(5000));
tableRow.getCell(0).setText(fieldName); table.getRow(number).getCell(0).setText(fieldName);
tableRow.getCell(1).setText(technologyTerritory); table.getRow(number).getCell(1).setText(technologyTerritory);
}
// private static void setCell(XWPFTableRow tableRow, String fieldName,String technologyTerritory) {
//
// tableRow.setHeight(500);
// CTTblWidth ctTblWidth0 = tableRow.getCell(0).getCTTc().addNewTcPr().addNewTcW();
// ctTblWidth0.setType(STTblWidth.DXA);
// ctTblWidth0.setW(BigInteger.valueOf(3000));
// CTTblWidth ctTblWidth1 = tableRow.getCell(1).getCTTc().addNewTcPr().addNewTcW();
// ctTblWidth1.setType(STTblWidth.DXA);
// ctTblWidth1.setW(BigInteger.valueOf(5000));
//
// tableRow.getCell(0).setText(fieldName);
// tableRow.getCell(1).setText(technologyTerritory);
// }
private static String getLawsContact(List<LoginUser> userList, String lawsContact) {
if(com.jero.modules.system.util.StringUtils.isNotBlank(lawsContact)){
List<LoginUser> collect = userList.stream().filter(e -> lawsContact.contains(e.getId())).collect(Collectors.toList());
StringBuilder sb = new StringBuilder();
for (String s : lawsContact.split(",")) {
List<LoginUser> loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList());
if(loginUserList.size() != 0){
sb.append(loginUserList.get(0).getUsername()+",");
}
}
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){
String substring = sb.substring(0, sb.length() - 1);
return substring;
}
}
return null;
} }
} }
@@ -41,9 +41,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@@ -127,9 +130,63 @@ public class LawsWarnService {
bussDocumentLibraryEOService.dictItem(sysDictItems, entry, cut, onlCgformFieldListTemp,null); bussDocumentLibraryEOService.dictItem(sysDictItems, entry, cut, onlCgformFieldListTemp,null);
bussDocumentLibraryEOService.treeDictItem(categoryList, entry, treeFieldList, cut,null); bussDocumentLibraryEOService.treeDictItem(categoryList, entry, treeFieldList, cut,null);
} }
//到期前6个月显示红色,到期前12个月显示黄色
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String newCarTime = String.valueOf(record.get("xin1_che1_xing2_shi2_shi1_ri4_qi1"));
String implementTime = String.valueOf(record.get("implement_time"));
String currentTime = sdf.format(new Date());
if(StringUtils.isNotBlank(newCarTime) && !"null".equals(newCarTime)){
try {
if(Integer.parseInt(String.valueOf(parameter.get("flag"))) == 0){
Date newCarTimeDate = sdf.parse(newCarTime);
//当前时间的前6个月
String beforeTimeSix = beforeTime(6,new Date());
String beforeTimeTwelve = beforeTime(12,new Date());
Date parseSix = sdf.parse(beforeTimeSix);
Date parseTwelve = sdf.parse(beforeTimeTwelve);
if((newCarTimeDate.after(new Date()) && newCarTimeDate.before(parseSix)) || newCarTime.equals(beforeTimeSix)){
record.put("new_colour","red");
}
if((newCarTimeDate.after(parseSix) && newCarTimeDate.before(parseTwelve)) || newCarTime.equals(beforeTimeTwelve)){
record.put("new_colour","yellow");
}
}
} catch (ParseException e) {
e.printStackTrace();
}
}
if(StringUtils.isNotBlank(implementTime) && !"null".equals(implementTime)){
try {
if(Integer.parseInt(String.valueOf(parameter.get("flag"))) == 1){
Date implementTimeDate = sdf.parse(implementTime);
//当前时间的前6个月
String beforeTimeSix = beforeTime(6,new Date());
String beforeTimeTwelve = beforeTime(12,new Date());
Date parseSix = sdf.parse(beforeTimeSix);
Date parseTwelve = sdf.parse(beforeTimeTwelve);
if((implementTimeDate.after(new Date()) && implementTimeDate.before(parseSix)) || implementTime.equals(beforeTimeSix)){
record.put("implement_colour","red");
}
if((implementTimeDate.after(parseSix) && implementTimeDate.before(parseTwelve)) || implementTime.equals(beforeTimeTwelve)){
record.put("implement_colour","yellow");
}
}
} catch (ParseException e) {
e.printStackTrace();
}
}
} }
return infoPage; return infoPage;
} }
private String beforeTime (int month, Date date){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendarBefore = Calendar.getInstance();
calendarBefore.setTime(date);
calendarBefore.add(Calendar.MONTH, month);
Date dateBefore = calendarBefore.getTime();
String beforeTime = sdf.format(dateBefore);
return beforeTime;
}
public void exportExcel(Map<String, Object> map, HttpServletResponse response, HttpServletRequest request) { public void exportExcel(Map<String, Object> map, HttpServletResponse response, HttpServletRequest request) {
String cut = (String) map.get("cut"); String cut = (String) map.get("cut");
Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

+3 -1
View File
@@ -1168,7 +1168,7 @@ module.exports = {
exportComparisonReport: 'Export Comparison Report', exportComparisonReport: 'Export Comparison Report',
comparisonDifferenceComment: 'Comparison Difference Comment', comparisonDifferenceComment: 'Comparison Difference Comment',
fullTextComments: 'Full text comments', fullTextComments: 'Full text comments',
fileDeclaration: 'file Declaration', fileDeclaration: 'File Declaration',
FileForDetails: 'File For Details', FileForDetails: 'File For Details',
Converting: 'Converting', Converting: 'Converting',
convertNetwork: 'Convert Network', convertNetwork: 'Convert Network',
@@ -1255,9 +1255,11 @@ module.exports = {
deleteNode:'If there is any file information, the file will be deleted. Are you sure to delete this data?', deleteNode:'If there is any file information, the file will be deleted. Are you sure to delete this data?',
HaveReleased:'Have released', HaveReleased:'Have released',
forward:'Forward', forward:'Forward',
areResponsibilityAreaInformationBatch:'Are you sure you want to modify the responsibility area information in batch',
issuedBy:'Issued by', issuedBy:'Issued by',
pleaseDecompositionStandardOrder:'Please import or bring in at least one decomposition standard order', pleaseDecompositionStandardOrder:'Please import or bring in at least one decomposition standard order',
currentlyTheFirstOneThatCannotMovedUp:'Currently the first one that cannot be moved up', currentlyTheFirstOneThatCannotMovedUp:'Currently the first one that cannot be moved up',
currentlyTheLastOneCannotmovedDown:'Currently the last one cannot be moved down', currentlyTheLastOneCannotmovedDown:'Currently the last one cannot be moved down',
weilaiRegulationMonthlyReport:'Weilai Regulation Monthly Report', weilaiRegulationMonthlyReport:'Weilai Regulation Monthly Report',
thereTitleWhichCannotBeDeleted:'There are new contents under this title, which cannot be deleted',
} }
+3 -1
View File
@@ -495,7 +495,7 @@ module.exports = {
toBeConfirmed: '待确认', toBeConfirmed: '待确认',
Operator: '操作人', Operator: '操作人',
role: '角色', role: '角色',
operationContent: '操作内容', OperationContent: '操作内容',
operationTime: '操作时间', operationTime: '操作时间',
toDoProcess: '待办流程', toDoProcess: '待办流程',
processDone: '已办流程', processDone: '已办流程',
@@ -1357,9 +1357,11 @@ module.exports = {
deleteNode:'若有文件信息将同步删除,确认删除该条数据?', deleteNode:'若有文件信息将同步删除,确认删除该条数据?',
HaveReleased:'已发布', HaveReleased:'已发布',
forward:'转发', forward:'转发',
areResponsibilityAreaInformationBatch:'确实是否批量修改责任领域信息',
issuedBy:'发布人', issuedBy:'发布人',
pleaseDecompositionStandardOrder:'请导入或带入至少一条分解标准单', pleaseDecompositionStandardOrder:'请导入或带入至少一条分解标准单',
currentlyTheFirstOneThatCannotMovedUp:'当前已是第一个无法进行上移', currentlyTheFirstOneThatCannotMovedUp:'当前已是第一个无法进行上移',
currentlyTheLastOneCannotmovedDown:'当前已是最后一个无法进行下移', currentlyTheLastOneCannotmovedDown:'当前已是最后一个无法进行下移',
weilaiRegulationMonthlyReport:'蔚来法规月报', weilaiRegulationMonthlyReport:'蔚来法规月报',
thereTitleWhichCannotBeDeleted:'该标题下存在新增内容,不能删除',
} }
@@ -278,6 +278,18 @@
<!-- 文本+下拉多选--> <!-- 文本+下拉多选-->
<div v-else-if='detailDate.controlType === "6"' class='add_flex'> <div v-else-if='detailDate.controlType === "6"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add-width'> <div v-for='(item,index) in detailDate.list' :key='index' class='add-width'>
<div v-if='item.type==="pull_more"'>
<a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
mode="multiple" class='selectWid'
:disabled="item.isLock == '1' ? true: false" allowClear>
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
</span>
</a-select-option>
</a-select>
</div>
<div v-if='item.type==="text"'> <div v-if='item.type==="text"'>
<!-- 文本校验 分情况--> <!-- 文本校验 分情况-->
<!-- 1 无--> <!-- 1 无-->
@@ -369,18 +381,7 @@
v-model="item.dataValue"/> v-model="item.dataValue"/>
</div> </div>
</div> </div>
<div v-if='item.type==="pull_more"'>
<a-select v-model="item.dataValue"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
mode="multiple" class='selectWid'
:disabled="item.isLock == '1' ? true: false" allowClear>
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
</span>
</a-select-option>
</a-select>
</div>
</div> </div>
</div> </div>
<!-- 文本+附件--> <!-- 文本+附件-->
@@ -680,8 +681,9 @@
uploadFileChangeDown uploadFileChangeDown
}, },
mounted() { mounted() {
console.log(this.detailDate)
this.detailDate.list.forEach((item) => { this.detailDate.list.forEach((item) => {
if (item.type === 'pull_more') { if (item.type === 'pull_more' && !item.dataValue) {
item.dataValue = [] item.dataValue = []
} }
// this.detailDatetransformation.push(item) // this.detailDatetransformation.push(item)
@@ -737,11 +739,11 @@
}, },
watch: { watch: {
detailDate(newold, oldold) { detailDate(newold, oldold) {
console.log(newold, oldold, 'll') // console.log(newold, oldold, 'll')
}, },
formInline: { formInline: {
handler(newOld, oldval) { handler(newOld, oldval) {
console.log(newOld, oldval, 'll') // console.log(newOld, oldval, 'll')
}, },
deep: true deep: true
} }
@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div class="box-title-text"> <div class="box-title-text">
<a-input class="box-input" :value="value" @input="indexclick($event)" <a-input class="box-input" :value="value" :title="value" @input="indexclick($event)"
:disabled="isDisabled" :disabled="isDisabled"
:placeholder="!isDisabled?$t('PleaseEnterOrSelect')+query.db_field_txt:query.db_field_txt"/> :placeholder="!isDisabled?$t('PleaseEnterOrSelect')+query.db_field_txt:query.db_field_txt"/>
<a-button v-if="!isDisabled" type="primary" class="button-box" @click="standardClick"> <a-button v-if="!isDisabled" type="primary" class="button-box" @click="standardClick">
@@ -224,7 +224,7 @@
position: absolute; position: absolute;
bottom: 0; bottom: 0;
width: 100%; width: 100%;
z-index:100; z-index: 100;
border-top: 1px solid #e8e8e8; border-top: 1px solid #e8e8e8;
padding: 10px 16px; padding: 10px 16px;
text-align: right; text-align: right;
@@ -56,12 +56,19 @@
<a-row style="margin-bottom: 12px;"> <a-row style="margin-bottom: 12px;">
<a-col :md="12" :xs="24"> <a-col :md="12" :xs="24">
<a-form-item :label="$t('FilterMatching')" :labelCol="{md: 6,xs:24}" :wrapperCol="{md: 18,xs:24}" style="width: 100%;"> <div class="box-title-text">
<a-select v-model="matchType" :getPopupContainer="node=>node.parentNode" style="width: 100%;"> <div class="title-text" :title="$t('FilterMatching')">
<a-select-option value="and">AND{{$t('AllMatching')}}</a-select-option> <span>{{$t('FilterMatching')}}</span>
<a-select-option value="or">OR{{$t('AnyOneMatches')}}</a-select-option> </div>
</a-select> <!-- :label="$t('FilterMatching')" :labelCol="{md: 6,xs:24}" :wrapperCol="{md: 18,xs:24}" style="width: 100%;"-->
</a-form-item> <a-form-item class='box-input'>
<a-select v-model="matchType" :getPopupContainer="node=>node.parentNode" style="width: 100%;">
<a-select-option value="and">AND{{$t('AllMatching')}}</a-select-option>
<a-select-option value="or">OR{{$t('AnyOneMatches')}}</a-select-option>
</a-select>
</a-form-item>
</div>
</a-col> </a-col>
</a-row> </a-row>
@@ -627,7 +634,33 @@
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
.j-super-query-box { .j-super-query-box {
display: inline-block; display: inline-block;
} }
+22 -3
View File
@@ -189,6 +189,14 @@
}, },
methods: { methods: {
searchQuery() { searchQuery() {
if (this.isDefault) {
let startTime = moment(new Date()).format('YYYY-MM-DD')
let endTime = this.haflYear()
if (this.queryParam['WarnTime'].length == 0) {
this.queryParam['WarnTime'] = [startTime, endTime]
}
this.queryParam = { ...this.queryParam }
}
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(this.queryParam))) eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(this.queryParam)))
}, },
searchReset() { searchReset() {
@@ -298,8 +306,7 @@
} }
.title-text { .title-text {
width: 20%; width: 100px;
min-width: 110px;
color: #000F16; color: #000F16;
display: inline-block; display: inline-block;
font-weight: 500; font-weight: 500;
@@ -315,7 +322,7 @@
.box-input { .box-input {
/*min-width: 200px;*/ /*min-width: 200px;*/
display: inline-block; display: inline-block;
width: 70%; width: calc(100% - 116px);
height: 38px; height: 38px;
margin-top: 2px; margin-top: 2px;
} }
@@ -324,4 +331,16 @@
height: 38px; height: 38px;
/*margin-top: 2px;*/ /*margin-top: 2px;*/
} }
::v-deep .ant-select-tree {
width: auto;
height: 300px;
overflow: auto;
position: absolute;
/*background: #fff;*/
}
::v-deep .ant-select-tree-dropdown {
min-height: 320px;
}
</style> </style>
@@ -25,6 +25,9 @@
<span style='padding-right: 10px;margin-left: -16px'>{{ item.db_field_txt }} </span> <span style='padding-right: 10px;margin-left: -16px'>{{ item.db_field_txt }} </span>
<a-button @click='onClickSee(item)'>{{$t('See')}}</a-button> <a-button @click='onClickSee(item)'>{{$t('See')}}</a-button>
</div> </div>
<span slot="ParameterDescription" slot-scope="text,record" :title="text">
{{ text && text.length > 8 ? text.slice(0, 7) + '...' : text }}
</span>
<span slot="operationbtn" slot-scope="record"> <span slot="operationbtn" slot-scope="record">
<span v-if='currentPersonRole === "homo"'> <span v-if='currentPersonRole === "homo"'>
@@ -220,10 +223,10 @@
type: Object, type: Object,
default: true default: true
}, },
queryParamQuery: { // queryParamQuery: {
type: Object, // type: Object,
default: true // default: true
}, // },
currentPersonRole: { currentPersonRole: {
type: String, type: String,
default: true default: true
@@ -452,6 +455,7 @@
console.log(res) console.log(res)
if (res.data.success) { if (res.data.success) {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
// this.$refs['ruleFormOne'].resetFields()
_this.areaVisiblezr = false _this.areaVisiblezr = false
this.getLoginUserType() this.getLoginUserType()
} else { } else {
@@ -492,6 +496,7 @@
console.log(res) console.log(res)
if (res.data.success) { if (res.data.success) {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
this.$refs['ruleForm'].resetFields()
_this.areaVisible = false _this.areaVisible = false
this.getLoginUserType() this.getLoginUserType()
} else { } else {
@@ -515,23 +520,25 @@
}, },
// 点击工程接口人的详情人员 有权限 // 点击工程接口人的详情人员 有权限
areaOfResponsibility(record) { areaOfResponsibility(record) {
this.areaVisible = true
// this.$refs.ruleForm.clearValidate() // this.$refs.ruleForm.clearValidate()
this.$nextTick(() => { this.$nextTick(() => {
this.Dateline = { ...this.Dateline } this.Dateline = { ...this.Dateline }
this.getquerySdtList(record) this.getquerySdtList(record)
this.$refs.ruleForm.clearValidate() this.$refs.ruleForm.clearValidate()
}) })
this.areaVisible = true
}, },
// 点击责任领域的详情人员 有权限 // 点击责任领域的详情人员 有权限
ondataValueTobe(record) { ondataValueTobe(record) {
this.areaVisiblezr = true
// this.$refs.ruleForm.clearValidate() // this.$refs.ruleForm.clearValidate()
this.$nextTick(() => { this.$nextTick(() => {
this.Dateline = { ...this.Dateline } this.Dateline = { ...this.Dateline }
this.getquerySdtId = record.id this.getquerySdtId = record.id
this.$refs.ruleFormOne.clearValidate() this.$refs.ruleFormOne.clearValidate()
}) })
this.areaVisiblezr = true
}, },
dataValueTobeinitiated() { dataValueTobeinitiated() {
this.$message.warning(this.$t('certifiedEngineer') + this.$t('and') + this.$t('Statusis') + this.$t('CollectionInitiated') + this.$t('ReturnedPerson') + this.$t('alteration') + this.$t('toHavePermission')) this.$message.warning(this.$t('certifiedEngineer') + this.$t('and') + this.$t('Statusis') + this.$t('CollectionInitiated') + this.$t('ReturnedPerson') + this.$t('alteration') + this.$t('toHavePermission'))
@@ -627,7 +634,7 @@
title: res.db_field_txt, title: res.db_field_txt,
dataIndex: res.db_field_name, dataIndex: res.db_field_name,
align: 'center', align: 'center',
ellipsis: true, // ellipsis: true,
sorter: res.sort, sorter: res.sort,
width: 160 width: 160
}) })
@@ -640,6 +647,11 @@
customRender: 'operationzr' customRender: 'operationzr'
} }
} }
if(res.click2){
this.columns[index].scopedSlots = {
customRender: 'ParameterDescription'
}
}
if (res.click) { if (res.click) {
// 工程接口人列表修改 // 工程接口人列表修改
this.columns[index].scopedSlots = { this.columns[index].scopedSlots = {
@@ -649,7 +661,6 @@
} }
}) })
this.columns = [...this.columns] this.columns = [...this.columns]
console.log(this.columns)
} }
}) })
}, },
@@ -726,9 +737,6 @@
this.selectedRowKeys = [] this.selectedRowKeys = []
}, },
getTableList(currentPersonRole) { getTableList(currentPersonRole) {
console.log(currentPersonRole)
console.log(this.queryParamQuery)
// todo
let paramsManifestid let paramsManifestid
let url let url
if (this.$route.query.it === undefined) { if (this.$route.query.it === undefined) {
@@ -752,7 +760,6 @@
this.loading = true this.loading = true
getAction(url, params).then((res) => { getAction(url, params).then((res) => {
if (res.success) { if (res.success) {
// todo
// console.log(res.result,'res.result') // console.log(res.result,'res.result')
// let tt = [] // let tt = []
// this.dataSource = [] // this.dataSource = []
@@ -771,13 +778,14 @@
// }) // })
let tt = [] let tt = []
if (this.currentPersonRole !== 'dre') { if (this.currentPersonRole !== 'dre') {
console.log(res.result.records,'res.result.records')
res.result.records.forEach((Obj) => { res.result.records.forEach((Obj) => {
Object.keys(Obj).forEach((item) => { Object.keys(Obj).forEach((item) => {
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
itemLi.isLock = 1 itemLi.isLock = 1
if (itemLi.type === 'pull_more') { if (itemLi.type === 'pull_more') {
itemLi.dataValue = itemLi.dataValue === null ? [] : itemLi.dataValue.split(',') itemLi.dataValue = !itemLi.dataValue ? [] : itemLi.dataValue.split(',')
} }
}) })
} }
@@ -790,7 +798,7 @@
if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) { if (Obj[item] instanceof Object && Obj[item].controlType !== undefined) {
Obj[item].list.forEach((itemLi) => { Obj[item].list.forEach((itemLi) => {
if (itemLi.type === 'pull_more') { if (itemLi.type === 'pull_more') {
itemLi.dataValue = itemLi.dataValue === null ? [] : itemLi.dataValue.split(',') itemLi.dataValue = !itemLi.dataValue ? [] : itemLi.dataValue.split(',')
} }
}) })
} }
@@ -798,7 +806,7 @@
tt.push(Obj) tt.push(Obj)
}) })
} }
this.dataSource = tt this.dataSource = JSON.parse(JSON.stringify(tt))
this.total = res.result.total this.total = res.result.total
this.selectedRowKeys = [] this.selectedRowKeys = []
this.selectedRowrowValue = [] this.selectedRowrowValue = []
@@ -875,6 +883,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
word-break: break-word;
color: #040B29; color: #040B29;
font-weight: 400; font-weight: 400;
} }
@@ -62,7 +62,7 @@ import { mapGetters } from 'vuex'
} }
}, },
created() { created() {
console.log(this.detailDate, 'detailDate') // console.log(this.detailDate, 'detailDate')
// this.detailDate.list.forEach((item) => { // this.detailDate.list.forEach((item) => {
// if (item.type == 'file' && item.isLock == '1') { // if (item.type == 'file' && item.isLock == '1') {
// this.disabled = true // this.disabled = true
@@ -20,7 +20,7 @@
size="middle" size="middle"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%',y:'calc(100vh - 320px)'}"
:data-source="dataSource" :data-source="dataSource"
:columns="columns" :columns="columns"
> >
@@ -362,7 +362,7 @@
}, },
completeTask(value, taskId, isTrue) { completeTask(value, taskId, isTrue) {
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
value.operatorTime = handlingTime value.handlingTime = handlingTime
Object.keys(value).forEach(res => { Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) { if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\"/g, '“')
@@ -32,7 +32,6 @@
:maxTagCount="1" :maxTagCount="1"
:getPopupContainer="triggerNode=> triggerNode.parentNode" :getPopupContainer="triggerNode=> triggerNode.parentNode"
class="box-input" class="box-input"
style="width: 100%"
:tree-data="CategoryTreeList" :tree-data="CategoryTreeList"
tree-checkable tree-checkable
:placeholder="$t('PleaseSelect')+$t('technicalField')" :placeholder="$t('PleaseSelect')+$t('technicalField')"
@@ -86,7 +85,7 @@
size="middle" size="middle"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%'}" :scroll="{x: '100%',y:'calc(100vh - 160px)'}"
rowKey="id" rowKey="id"
:data-source="dataSource" :data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -320,8 +319,7 @@
} }
.title-text { .title-text {
width: 20%; width: 110px;
min-width: 110px;
color: #000F16; color: #000F16;
display: inline-block; display: inline-block;
font-weight: 500; font-weight: 500;
@@ -336,7 +334,7 @@
.box-input { .box-input {
display: inline-block; display: inline-block;
width: 70%; width: calc(100% - 126px);
height: 38px; height: 38px;
margin-top: 2px; margin-top: 2px;
} }
@@ -10,6 +10,8 @@
</div> </div>
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')" <a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
:disabled="false" :disabled="false"
style="z-index: 100"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.applyMarket"> v-model="queryParam.applyMarket">
<a-select-option v-for="(item, key) in applyMarketList" <a-select-option v-for="(item, key) in applyMarketList"
:key="key" :key="key"
@@ -86,7 +88,7 @@
}, },
methods: { methods: {
getApplyMarketList() { getApplyMarketList() {
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: 'countryCard' }).then((res) => { getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: '2' }).then((res) => {
if (res.success) { if (res.success) {
this.applyMarketList = res.result || [] this.applyMarketList = res.result || []
} else { } else {
@@ -20,8 +20,9 @@
<span>{{$t('applicableMarket')}}</span> <span>{{$t('applicableMarket')}}</span>
</div> </div>
<a-select class="box-input" <a-select class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
:placeholder="$t('PleaseSelect')+$t('applicableMarket')" :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
style="width: 100%" style="width: 100%;"
v-model="queryParam.applyMarket"> v-model="queryParam.applyMarket">
<a-select-option v-for="(item, key) in applyMarketList" <a-select-option v-for="(item, key) in applyMarketList"
:key="key" :key="key"
@@ -39,8 +40,9 @@
<span>{{$t('releaseStatus')}}</span> <span>{{$t('releaseStatus')}}</span>
</div> </div>
<a-select class="box-input" <a-select class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
:placeholder="$t('PleaseSelect')+$t('releaseStatus')" :placeholder="$t('PleaseSelect')+$t('releaseStatus')"
style="width: 100%" style="width: 100%;"
v-model="queryParam.releaseStatus"> v-model="queryParam.releaseStatus">
<a-select-option v-for="(item, key) in releaseStatusList" <a-select-option v-for="(item, key) in releaseStatusList"
:key="key" :key="key"
@@ -192,7 +194,7 @@
methods: { methods: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
getApplyMarketList() { getApplyMarketList() {
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: '1' }).then((res) => { getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: '3' }).then((res) => {
if (res.success) { if (res.success) {
this.applyMarketList = res.result || [] this.applyMarketList = res.result || []
} else { } else {
@@ -233,6 +235,7 @@
let query = { let query = {
pageNo: this.pageNo, pageNo: this.pageNo,
pageSize: this.pageSize, pageSize: this.pageSize,
createBy: this.userInfo().username,
...queryParam ...queryParam
} }
this.loading = true this.loading = true
@@ -474,4 +477,8 @@
.text-operation { .text-operation {
margin-right: 8px; margin-right: 8px;
} }
::v-deep .ant-select-dropdown {
z-index: 100;
}
</style> </style>
@@ -181,7 +181,7 @@
this.editReplacePage(row) this.editReplacePage(row)
}, },
getApplyMarketList() { getApplyMarketList() {
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', {}).then((res) => { getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: '1' }).then((res) => {
if (res.success) { if (res.success) {
this.applyMarketList = res.result || [] this.applyMarketList = res.result || []
} else { } else {
@@ -186,7 +186,6 @@
}) })
} }
if (content && content.length > 0) { if (content && content.length > 0) {
console.log(content)
content.forEach((res, index) => { content.forEach((res, index) => {
this.contentList[index + 1] = { name: res.lableName } this.contentList[index + 1] = { name: res.lableName }
this.contentList[index + 1].list = [] this.contentList[index + 1].list = []
@@ -228,7 +227,15 @@
} }
postAction(this.list, query).then((res) => { postAction(this.list, query).then((res) => {
if (res.success) { if (res.success) {
this.queryCountryList = res.result || [] this.queryCountryList = []
applyMarkets.split(',').forEach(val => {
res.result.forEach(ol => {
if (val == ol.applyMarket) {
this.queryCountryList.push(ol)
}
})
})
// this.queryCountryList = res.result || []
this.isTrue = false this.isTrue = false
this.$nextTick(() => { this.$nextTick(() => {
this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px' this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px'
@@ -350,13 +357,13 @@
border-bottom: 1px #d9d9d9 solid; border-bottom: 1px #d9d9d9 solid;
.content-box-box-img { .content-box-box-img {
width: 70%; width: 238px;
height: 100%; height: 100%;
} }
.content-box-box-text { .content-box-box-text {
display: inline-block; display: inline-block;
width: 30%; width: calc(100% - 238px);
text-align: center; text-align: center;
font-size: 18px; font-size: 18px;
font-weight: 500; font-weight: 500;
@@ -380,13 +387,13 @@
cursor: pointer; cursor: pointer;
.content-box-box-img { .content-box-box-img {
width: 70%; width: 238px;
height: 100%; height: 100%;
} }
.content-box-box-text { .content-box-box-text {
display: inline-block; display: inline-block;
width: 30%; width: calc(100% - 238px);
text-align: center; text-align: center;
font-size: 18px; font-size: 18px;
font-weight: 500; font-weight: 500;
@@ -587,7 +587,12 @@
::v-deep .itemModel-explain .ant-form-explain { ::v-deep .itemModel-explain .ant-form-explain {
margin-top: 60px margin-top: 60px
} }
::v-deep .ql-tooltip { ::v-deep .ql-tooltip {
z-index: 10 !important; z-index: 10 !important;
} }
::v-deep .ql-snow .ql-picker {
height: 36px;
}
</style> </style>
@@ -26,15 +26,15 @@
</template> </template>
</div> </div>
<div class="box-content-right"> <div class="box-content-right">
<div @click="classificationClick" class="operator-text" v-has="'virtual:set:creater'"> <div @click="classificationClick" class="operator-text">
<a-icon type="setting"/> <a-icon type="setting"/>
{{$t('classificationMaintenance')}} {{$t('classificationMaintenance')}}
</div> </div>
<div @click="managePublishingClick" class="operator-text" v-has="'virtual:set:creater'"> <div @click="managePublishingClick" class="operator-text">
<a-icon type="carry-out"/> <a-icon type="carry-out"/>
{{$t('managePublishing')}} {{$t('managePublishing')}}
</div> </div>
<div @click="newlyAddedClick" class="operator-text" v-has="'virtual:set:creater'"> <div @click="newlyAddedClick" class="operator-text">
<a-icon type="plus"/> <a-icon type="plus"/>
{{$t('newlyAdded')}} {{$t('newlyAdded')}}
</div> </div>
@@ -205,6 +205,15 @@
this.$message.warning(this.$t('thereWhichCannotDeleted')) this.$message.warning(this.$t('thereWhichCannotDeleted'))
return return
} }
getAction('/report/lawsMonthlyReportTitleTemplateEO/verifyDelete', { ids: val.id }).then((res) => {
if (res.result == 'true') {
this.deleteBatch(val)
} else {
this.$message.warning(this.$t('thereTitleWhichCannotBeDeleted'))
}
})
},
deleteBatch(val) {
let _this = this let _this = this
this.$confirm({ this.$confirm({
content: _this.$t('ConfirmDelete'), content: _this.$t('ConfirmDelete'),
@@ -44,8 +44,10 @@
<span class="title-text-text" :title="$t('selectedStandard')">{{$t('selectedStandard')}}</span> <span class="title-text-text" :title="$t('selectedStandard')">{{$t('selectedStandard')}}</span>
</div> </div>
<div class="title-text-content" <div class="title-text-content"
:title="selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber+' - '+selectedRowKeysRecord[0].title:''"
:class="{'title-text-content-one':!isTrue}"> :class="{'title-text-content-one':!isTrue}">
{{selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber+' - '+selectedRowKeysRecord[0].title:''}} {{selectedRowKeysRecord[0] ?
selectedRowKeysRecord[0].serialNumber+'-'+selectedRowKeysRecord[0].title:''}}
</div> </div>
<div class="title-text-right" v-if="isTrue"> <div class="title-text-right" v-if="isTrue">
<span :title="$t('standardDecompositionDocument')" @click="standardDecompositionDocumentClick"> <span :title="$t('standardDecompositionDocument')" @click="standardDecompositionDocumentClick">
@@ -323,6 +325,7 @@
this.formInline.lawsTechnologyEvaluationId = this.$route.query.lawsTechnologyEvaluationId this.formInline.lawsTechnologyEvaluationId = this.$route.query.lawsTechnologyEvaluationId
this.formInline.remark = this.$route.query.remark this.formInline.remark = this.$route.query.remark
this.formInline.standId = this.$route.query.standId this.formInline.standId = this.$route.query.standId
this.formInline = { ...this.formInline }
this.getListOne() this.getListOne()
} }
eventBUs.$on('searchQuery', search => { eventBUs.$on('searchQuery', search => {
@@ -539,6 +542,8 @@
value[res] = value[res].replace(/\'/g, '‘') value[res] = value[res].replace(/\'/g, '‘')
} }
}) })
let operatorTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
value.handlingTime = operatorTime
this.startProcess(value, dataList) this.startProcess(value, dataList)
}, },
startProcess(value, dataList) { startProcess(value, dataList) {
@@ -694,6 +699,9 @@
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
word-break: break-word;
padding: 0 14px;
box-sizing: border-box;
} }
.title-text-right { .title-text-right {
@@ -707,6 +715,9 @@
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
word-break: break-word;
padding: 0 14px;
box-sizing: border-box;
color: #21c9cc; color: #21c9cc;
cursor: pointer; cursor: pointer;
} }
@@ -590,6 +590,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
word-break: break-word;
color: #040B29; color: #040B29;
font-weight: 400; font-weight: 400;
} }
@@ -618,6 +619,7 @@
font-size: 16px; font-size: 16px;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: pre-wrap; white-space: pre-wrap;
word-break: break-word;
overflow: visible; overflow: visible;
float: left; float: left;
color: #040B29; color: #040B29;
@@ -540,6 +540,7 @@
this.form.name = this.nodeItem.name this.form.name = this.nodeItem.name
this.form.itemName = this.nodeItem.itemName this.form.itemName = this.nodeItem.itemName
this.form.displaySeq = this.nodeItem.displaySeq this.form.displaySeq = this.nodeItem.displaySeq
this.form = { ...this.form }
this.menuRightVisible = true this.menuRightVisible = true
}, },
//树形删除 //树形删除
@@ -1314,7 +1315,7 @@
max-height: 39vh !important; max-height: 39vh !important;
} }
.ant-modal-body { .ant-modal-body {
overflow-y: visible !important; overflow-y: visible !important;
} }
@@ -1388,11 +1389,9 @@
/*.title-text {*/ /*.title-text {*/
/* min-width: 73px !important;*/ /* min-width: 73px !important;*/
/*}*/ /*}*/
/*.split-detail-wrap {*/ /*.split-detail-wrap {*/
/* height: 481px !important;*/ /* height: 481px !important;*/
/*}*/ /*}*/
/*.mainItem {*/ /*.mainItem {*/
/* height: 500px;*/ /* height: 500px;*/
/*}*/ /*}*/
@@ -1402,7 +1401,6 @@
/*.split-detail .split-detail-wrap .split-detail-left {*/ /*.split-detail .split-detail-wrap .split-detail-left {*/
/* height: 735px !important;*/ /* height: 735px !important;*/
/*}*/ /*}*/
/*.mainItem {*/ /*.mainItem {*/
/* height: 800px !important;*/ /* height: 800px !important;*/
/*}*/ /*}*/
@@ -47,7 +47,8 @@
<div class="detail-content-content" v-for="(item,index) in resultData.resList"> <div class="detail-content-content" v-for="(item,index) in resultData.resList">
<a-checkbox :value="item.id" class="detail-checkbox"> <a-checkbox :value="item.id" class="detail-checkbox">
</a-checkbox> </a-checkbox>
<div class="detail-content-content-text"> <div class="detail-content-content-text"
:class="{'detail-content-content-text-color':checkboxList.join(',').includes(item.id)}">
<div class="detail-content-content-text-left" <div class="detail-content-content-text-left"
:class="{'detail-content-content-text-dis':isDisplay}"> :class="{'detail-content-content-text-dis':isDisplay}">
<div class="detail-content-left"> <div class="detail-content-left">
@@ -64,7 +65,7 @@
</div> </div>
<div class="detail-content-left-button" v-html="item.itemsTextRight"></div> <div class="detail-content-left-button" v-html="item.itemsTextRight"></div>
</div> </div>
<div class="detail-content-bottom"> <div class="detail-content-bottom" :class="{'detail-content-bottom-color':checkboxList.join(',').includes(item.id)}">
<div class="detail-content-bottom-left" <div class="detail-content-bottom-left"
:class="{'detail-content-bottom-left-text':language == 'en-us' ? true:false}" :class="{'detail-content-bottom-left-text':language == 'en-us' ? true:false}"
:title="$t('comparisonDifferenceComment')"> :title="$t('comparisonDifferenceComment')">
@@ -89,7 +90,7 @@
<div class="detail-content-content"> <div class="detail-content-content">
<a-checkbox @change="fullCheckboxChange" v-model="fullCheckbox" class="detail-checkbox"> <a-checkbox @change="fullCheckboxChange" v-model="fullCheckbox" class="detail-checkbox">
</a-checkbox> </a-checkbox>
<div class="detail-content-content-text"> <div class="detail-content-content-text" :class="{'detail-content-content-text-color':fullCheckbox}">
<div class="detail-content-content-text-left" <div class="detail-content-content-text-left"
:class="{'detail-content-content-text-dis':isDisplay}"> :class="{'detail-content-content-text-dis':isDisplay}">
<div class="detail-content-content-text-left-text" :title="resultData.comments"> <div class="detail-content-content-text-left-text" :title="resultData.comments">
@@ -533,6 +534,11 @@
} }
} }
.detail-content-content-text-color {
border: 1px solid #00B3BE;
background: rgba(0,179,190,0.0300);
}
.detail-content-left { .detail-content-left {
width: 50%; width: 50%;
display: inline-block; display: inline-block;
@@ -571,7 +577,9 @@
border-radius: 4px; border-radius: 4px;
float: left; float: left;
} }
.detail-content-bottom-color{
background: rgba(0,179,190,0.0300);
}
.detail-content-bottom-left { .detail-content-bottom-left {
width: 115px; width: 115px;
font-size: 14px; font-size: 14px;
@@ -327,7 +327,7 @@
if (detailRightColor && detailRightColor.length > 0) { if (detailRightColor && detailRightColor.length > 0) {
detailRightColor[0].classList.remove('detail-content-content-right-data-color-right') detailRightColor[0].classList.remove('detail-content-content-right-data-color-right')
} }
if (item.targetStand && item.targetStand >= 0) { if (item.targetStand > -1) {
let detailContent = document.getElementsByClassName('detail-content-content-right-right-top') let detailContent = document.getElementsByClassName('detail-content-content-right-right-top')
let detailRight = document.getElementsByClassName('detail-content-content-right-data-right') let detailRight = document.getElementsByClassName('detail-content-content-right-data-right')
this.dataRight = this.resultData.textRight[item.targetStand] this.dataRight = this.resultData.textRight[item.targetStand]
@@ -357,7 +357,7 @@
if (detailLeftColor && detailLeftColor.length > 0) { if (detailLeftColor && detailLeftColor.length > 0) {
detailLeftColor[0].classList.remove('detail-content-content-right-data-color') detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
} }
if (item.targetStand && item.targetStand >= 0) { if (item.targetStand > -1) {
this.dataLeft = this.resultData.textLeft[item.targetStand] this.dataLeft = this.resultData.textLeft[item.targetStand]
let detailContent = document.getElementsByClassName('detail-content-content-right-top') let detailContent = document.getElementsByClassName('detail-content-content-right-top')
let detailLeft = document.getElementsByClassName('detail-content-content-right-data') let detailLeft = document.getElementsByClassName('detail-content-content-right-data')
@@ -720,10 +720,6 @@
height: 18px !important; height: 18px !important;
line-height: 18px !important; line-height: 18px !important;
} }
.text-left-select .ant-select {
max-width: calc(100% - 126px) !important;
}
</style> </style>
<style lang="less" scoped> <style lang="less" scoped>
@@ -923,4 +919,7 @@
text-justify: inter-ideograph; text-justify: inter-ideograph;
word-break: break-all word-break: break-all
} }
::v-deep .ant-select{
max-width: calc(100% - 126px) !important;
}
</style> </style>
@@ -0,0 +1,278 @@
<template>
<div class="box">
<div class="search-text-title">
<span>{{$t('searchScope')}}:</span>
<span>{{ queryParam.selectValue }}</span>
</div>
<a-checkbox-group v-model="checkboxText" v-if="conList.length > 0">
<li v-for="(item,index) in conList" :key="item.id">
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right"
:class="{ 'null-input':item.checked }">
<div class="text-header" @click="titleClick(item)">
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.title"></span>
</template>
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
</a-tooltip>
</div>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"
>
</div>
</a-tooltip>
</div>
</div>
</li>
</a-checkbox-group>
<div class="noData" v-else>
暂无数据
</div>
<div class="page" v-if="conList.length > 0">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:current="pageNo"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
</div>
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
</div>
</template>
<script>
import { getAction, postAction, downloadFile } from '@/api/manage'
import { Base64 } from 'js-base64'
import { mapGetters } from 'vuex'
export default {
name: 'monthlyReportRegulations',
data() {
return {
checkboxText: [],
url: {
getInfoList: 'search/document/getFullTextInfoList'
},
loading: false,
conList: [],
total: 0,
pageSize: 10,
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
pageNo: 1,
queryParam: {}
}
},
watch: {
checkboxText: function(value) {
this.conList.forEach(val => {
val.checked = false
})
if (value.length > 0) {
this.conList.forEach(val => {
value.forEach(res => {
if (res === val.id) {
val.checked = true
}
})
})
}
this.conList = [...this.conList]
}
},
mounted() {
this.conList = []
this.getList()
},
methods: {
...mapGetters(['userInfo']),
checkedClick(item) {
if (item.checked) {
this.checkboxText = this.checkboxText.filter(res => {
return res !== item.id
})
} else {
this.checkboxText.push(item.id)
}
},
ResetSearch() {
this.pageNo = 1
this.checkboxText = []
this.queryParam = {}
this.getList()
},
fileClick(fileQuery) {
let fileName = fileQuery.file_name
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=' + fileQuery.id.slice(0, 32) + '&userName=' + this.userInfo().username))
} else if (fileSuffix == '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
window.open(url, '_blank')
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
window.open(url, '_blank')
} else {
downloadFile('/sys/common/downLoadFile', fileQuery.file_name, { id: fileQuery.id.slice(0, 32) })
}
},
pageOnChange(page, pageSize) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
searchData(value) {
this.queryParam.selectValue = value || undefined
this.queryParam.selectValueTwo = undefined
this.getList()
},
searchDataTwo(value) {
this.queryParam.selectValueTwo = value
this.getList()
},
getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
queryParam[val] = queryParam[val].join(',')
}
})
let checkboxText = JSON.parse(JSON.stringify(this.checkboxText))
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
ids: checkboxText.join(','),
...queryParam
}
this.loading = true
postAction(this.url.getInfoList, query).then((res) => {
if (res.success) {
this.conList = res.result.records
this.total = res.result.total
this.loading = false
} else {
this.conList = []
this.loading = false
}
})
},
titleClick(item) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: item.id.slice(0, 32),
title: item.title,
serial_number: item.serial_number
}
})
window.open(newUrl.href, '_blank')
}
}
}
</script>
<style>
.highlight-class {
color: #21c9cc;
}
.tooltip-index {
max-width: 600px !important;
}
</style>
<style scoped lang="less">
.box {
padding: 0 0 0 18px;
box-sizing: border-box;
}
.checkbox-left {
float: left;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.text-text-right {
padding: 19px 28px;
box-sizing: border-box;
margin-left: 38px;
}
.null-input {
background-color: #F2F4F8;
}
.search-text-title {
margin-bottom: 22px;
}
.text-header {
margin-bottom: 11px;
.text-header-text {
font-size: 16px;
font-weight: bold;
color: #040B29;
display: inline-block;
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
word-break: break-word;
}
/*span {*/
/* margin-right: 52px;*/
/* font-size: 16px;*/
/* font-weight: bold;*/
/* color: #040B29;*/
/* display: inline-block;*/
/* max-width: 500px;*/
/* text-overflow: ellipsis;*/
/* white-space: nowrap;*/
/* overflow: hidden;*/
/*}*/
}
.text-content {
font-size: 14px;
font-weight: 400;
color: #040B29;
opacity: 0.7;
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
/*! autoprefixer: on;*/
text-justify: inter-ideograph;
word-break: break-all
}
.page {
text-align: right;
margin-top: 20px;
}
.noData {
width: 100%;
text-align: center;
line-height: 10;
}
</style>
@@ -0,0 +1,546 @@
<template>
<div class="search-con-text">
<div class="search-text-wrap">
<div class="text-left">
<div class="text-left-wrap">
<div class="text-left-select">
<span class="text-sel" :title="$t('problemClassification')">{{$t('problemClassification')}}</span>
<a-select :placeholder="$t('PleaseSelect')+$t('problemClassification')"
class="text-select"
v-model="queryParamOne.showPermissions">
<a-select-option v-for="(item, key) in tagList"
:key="key"
:value="item.id">
<span style="display: inline-block;width: 100%" :title=" item.problemLabel ">
{{ item.problemLabel}}
</span>
</a-select-option>
</a-select>
</div>
<div class="text-left-select">
<span class="text-sel" :title="$t('market')">{{$t('market')}}</span>
<j-dict-select-tag class="text-select" v-model="queryParamOne.applyMarket"
:placeholder="$t('PleaseSelect')+$t('market')"
:type="'select'"
:triggerChange="false" :dictCode="'region'"/>
</div>
</div>
<div class="table-page-search-submitButtons submitButtons">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}
</a-button>
</div>
</div>
<div class="text-right">
<div class="search-text-list">
<div class="search-text-title">
<div class="search-header-left">
<span>{{$t('searchScope')}}:</span>
<span>{{queryParamSeach}}</span>
</div>
</div>
<div class="box-content">
<a-checkbox-group v-model="checkboxText">
<li v-for="item in conList" :key="item.id">
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right"
@click="checkedClick(item)"
:class="{ 'null-input':item.checked }">
<div class="text-header">
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.title"></span>
</template>
<span style="cursor: pointer" v-html="item.title" @click="titleClick(item)"></span>
</a-tooltip>
</div>
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
<template slot="title">
<span v-html="item.content"></span>
</template>
<div class="text-content" @click="checkedClick(item)" v-html="item.content"
>
</div>
</a-tooltip>
</div>
</div>
</li>
</a-checkbox-group>
</div>
<div class="page">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:current="pageNo"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
</div>
</div>
</div>
</div>
<a-modal
:title="$t('viewFile')"
:width="500"
:visible="visible"
@cancel="visible=false"
>
<template slot="footer">
<a-button key="back" @click="visible = false">
{{$t('cancel')}}
</a-button>
</template>
<p v-for="(item,index) in fileList" :key="index"
class="fileText" :title="item.fileName" @click="fileClick(item)">{{ item.fileName }}</p>
</a-modal>
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
</div>
</template>
<script>
import eventBUs from '../../../../common/event'
import { getAction, postAction, downloadFile } from '@/api/manage'
import moment from 'moment'
import { Base64 } from 'js-base64'
import { mapGetters } from 'vuex'
export default {
name: 'problemKnowledgeBase',
data() {
return {
searchOption: [],
queryParam: {},
visible: false,
db_field_name: '',
url: {
queryCondition: 'search/document/queryCondition',
getParagraphInfoList: 'search/document/getParagraphInfoList'//段落
},
selectedRowKeys: [],
checkboxText: [],
conList: [],
total: 0,
pageSize: 10,
pageNo: 1,
loading: false,
selectModel: '',
fileList: [],
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
queryParamSeach: '',
mapOne: {},
mapTwo: {},
selectModelName: '',
queryParamOne: {},
searchQueryOne: {},
orderBy: '1',
orderByField: '',
tagList: []
}
},
watch: {
checkboxText: function(value) {
this.conList.forEach(val => {
val.checked = false
})
if (value.length > 0) {
this.conList.forEach(val => {
value.forEach(res => {
if (res === val.id) {
val.checked = true
}
})
})
}
this.conList = [...this.conList]
}
},
mounted() {
this.getCondition()
this.replacePage()
this.getParagraphInfoList()
},
methods: {
...mapGetters(['userInfo']),
replacePage() {
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
if (res.success) {
this.tagList = res.result
} else {
this.tagList = []
}
})
},
checkedClick(item) {
if (item.checked) {
this.checkboxText = this.checkboxText.filter(res => {
return res !== item.id
})
} else {
this.checkboxText.push(item.id)
}
},
pageOnChange(page, pageSize) {
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
this.pageNo = page
this.getParagraphInfoList(1)
},
SizeChange(page, pageSize) {
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
this.pageNo = 1
this.pageSize = pageSize
this.getParagraphInfoList(1)
},
getCondition() {
let query = {
flag: 1,
searchFlag: 0
}
getAction(this.url.queryCondition, query).then((res) => {
if (res.success) {
this.searchOption = res.result
} else {
this.searchOption = []
}
})
},
searchReset() {
this.pageNo = 1
this.queryParamOne = {}
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
this.queryParamSeach = ''
this.getParagraphInfoList(1)
},
searchQuery() {
this.ParamSeach()
this.queryParam = { ...this.queryParamOne, ...this.searchQueryOne }
this.pageNo = 1
this.getParagraphInfoList(1)
},
ParamSeach() {
let queryParam = JSON.parse(JSON.stringify(this.searchQueryOne))
if (queryParam[this.selectModel]) {
this.queryParamSeach = this.selectModelName + ':' + queryParam[this.selectModel]
} else {
this.queryParamSeach = ''
}
},
searchData(data, selectModel, name) {
this.queryParam = {}
this.searchQueryOne = data || {}
this.queryParam = { ...this.queryParamOne, ...data }
this.selectModel = selectModel
this.selectModelName = name
this.ParamSeach()
this.pageNo = 1
this.getParagraphInfoList(1)
},
searchDataTwo(data, selectModel, name) {
this.queryParam = {}
this.searchQueryOne = data || {}
this.queryParam = { ...this.queryParamOne, ...data }
this.selectModel = selectModel
this.selectModelName = name
this.ParamSeach()
this.pageNo = 1
this.getParagraphInfoList(2)
},
ResetSearch() {
this.queryParam = {}
this.queryParamOne = {}
this.searchQueryOne = {}
this.checkboxText = []
this.selectedRowKeys = []
this.selectModel = ''
this.selectModelName = ''
this.ParamSeach()
this.pageNo = 1
this.getParagraphInfoList(1)
},
getParagraphInfoList(num) {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
queryParam[val] = queryParam[val].join(',')
}
if (val.includes('_name')) {
delete queryParam[val]
}
})
this.mapTwo = {}
if (num == 1) {
this.mapOne = queryParam
} else if (num == 2) {
this.mapTwo = queryParam
let checkboxText = JSON.parse(JSON.stringify(this.checkboxText))
this.mapTwo.ids = checkboxText.join(',')
}
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
mapOne: this.mapOne,
mapTwo: this.mapTwo
}
this.loading = true
postAction(this.url.getParagraphInfoList, query).then((res) => {
if (res.success) {
this.conList = res.result.records
this.total = res.result.total
this.loading = false
} else {
this.loading = false
}
})
},
fileClick(fileQuery) {
let fileName = fileQuery.fileName || fileQuery.file_name
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=' + fileQuery.id + '&userName=' + this.userInfo().username))
} else if (fileSuffix == '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank')
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank')
} else {
downloadFile('/sys/common/downLoadFile', fileQuery.fileName || fileQuery.file_name, { id: fileQuery.id })
}
},
titleClick(item) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: item.id.slice(0, 32),
title: item.title,
serial_number: item.serial_number
}
})
window.open(newUrl.href, '_blank')
}
}
}
</script>
<style>
.checkbox-left .ant-checkbox-inner {
width: 18px !important;
height: 18px !important;
line-height: 18px !important;
}
.tooltip-index {
max-width: 600px !important;
}
</style>
<style lang="less" scoped>
.search-con-text {
.search-text-wrap {
margin-top: -27px;
height: 100%;
display: flex;
justify-content: flex-start;
.text-left {
width: 358px;
padding: 24px 24px 24px 0;
box-sizing: border-box;
.text-left-wrap {
.text-left-select {
display: flex;
justify-content: space-between;
margin-bottom: 24px;
line-height: 32px;
.text-sel {
font-size: 14px;
font-weight: 400;
color: #000F16;
text-align: right;
margin-right: 14px;
width: 65px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.text-select {
flex: 1;
}
}
}
}
.text-right {
width: calc(100% - 358px);
position: relative;
padding: 26px 0 22px 24px;
box-sizing: border-box;
border-left: 2px solid #E6E7EC;
.search-text-title {
padding: 0 0 24px 0;
.search-header-left {
width: calc(100% - 80px);
display: inline-block;
}
span {
font-size: 14px;
font-weight: 400;
color: #040B29;
}
.search-header-right {
float: right;
margin-top: -7px;
a-icon {
border: 1px solid rgba(0, 0, 0, 0.65);
cursor: pointer;
padding: 2px 5px;
border-right: none;
}
a-icon:last-child {
border-right: 1px solid rgba(0, 0, 0, 0.65);
}
.header-list {
font-size: 20px;
border: 1px solid gray;
border-radius: 3px;
padding: 3px;
}
.header-list:hover {
color: #00B3BE;
border: 1px solid #00B3BE;
}
.header-list-active {
border: 1px solid #00B3BE;
color: #00B3BE;
}
}
}
.search-text-list {
ul {
padding: 0 0 0 18px;
margin: 0;
li {
list-style: none;
.text-content {
font-size: 14px;
font-weight: 400;
color: #040B29;
opacity: 0.8;
}
}
}
}
}
}
}
.checkbox-left {
float: left;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.text-text-right {
padding: 19px 28px;
box-sizing: border-box;
margin-left: 38px;
}
.null-input {
background-color: #F2F4F8;
}
.text-header {
margin-bottom: 11px;
span {
font-size: 16px;
font-weight: bold;
color: #040B29;
display: inline-block;
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
.text-content {
font-size: 14px;
font-weight: 400;
color: #040B29;
opacity: 0.7;
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
/*! autoprefixer: on;*/
text-justify: inter-ideograph;
word-break: break-all
}
.box-content {
padding: 0 0 0 8px;
box-sizing: border-box;
}
.page {
text-align: right;
margin-top: 20px;
}
.text-operation {
margin-right: 8px;
}
.submitButtons {
text-align: center;
}
.fileText {
width: 100%;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.textName {
width: 100%;
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
/*! autoprefixer: on;*/
text-justify: inter-ideograph;
word-break: break-all
}
</style>
@@ -23,7 +23,8 @@
v-model="selectValueTwo" v-model="selectValueTwo"
:maxLength="100" :maxLength="100"
@keyup.enter.native="wholeOnSearch(selectValueTwo)" @keyup.enter.native="wholeOnSearch(selectValueTwo)"
v-else-if="active === $t('whole')" v-else-if="active === $t('whole') || active === $t('problemKnowledgeBase')
|| active === $t('monthlyReportRegulations')"
class="inputSearch" class="inputSearch"
:placeholder="$t('pleaseEnter')+$t('searchContent')" :placeholder="$t('pleaseEnter')+$t('searchContent')"
></a-input> ></a-input>
@@ -33,18 +34,21 @@
>{{$t('query')}} >{{$t('query')}}
</a-button> </a-button>
<a-button class="textSearch" <a-button class="textSearch"
v-if="active === $t('whole')" v-if="active === $t('whole') || active === $t('problemKnowledgeBase')
|| active === $t('monthlyReportRegulations')"
@keyup.enter.native="wholeOnSearch(selectValueTwo)" @keyup.enter.native="wholeOnSearch(selectValueTwo)"
@click="wholeOnSearch(selectValueTwo)" @click="wholeOnSearch(selectValueTwo)"
>{{$t('query')}} >{{$t('query')}}
</a-button> </a-button>
<a-button class="textSearch" <a-button class="textSearch"
v-if="active === $t('whole') || active === $t('DocumentLibrary')" v-if="active === $t('whole') || active === $t('DocumentLibrary')
|| active === $t('problemKnowledgeBase') || active === $t('monthlyReportRegulations')"
@click="wholeTextSearch(selectValueTwo)" @click="wholeTextSearch(selectValueTwo)"
>{{$t('searchInResults')}} >{{$t('searchInResults')}}
</a-button> </a-button>
<a-button class="textSearch" <a-button class="textSearch"
v-if="active === $t('whole') || active === $t('DocumentLibrary')" v-if="active === $t('whole') || active === $t('DocumentLibrary')
|| active === $t('problemKnowledgeBase') || active === $t('monthlyReportRegulations')"
@click="ResetSearch()" @click="ResetSearch()"
>{{$t('reset')}} >{{$t('reset')}}
</a-button> </a-button>
@@ -61,14 +65,18 @@
<a-tab-pane :key="$t('whole')" :tab="$t('whole')"></a-tab-pane> <a-tab-pane :key="$t('whole')" :tab="$t('whole')"></a-tab-pane>
<a-tab-pane :key="$t('DocumentLibrary')" :tab="$t('DocumentLibrary')" force-render> <a-tab-pane :key="$t('DocumentLibrary')" :tab="$t('DocumentLibrary')" force-render>
</a-tab-pane> </a-tab-pane>
<!-- <a-tab-pane :key="$t('KnowledgeDatabase')" :tab="$t('KnowledgeDatabase')"></a-tab-pane>--> <a-tab-pane :key="$t('problemKnowledgeBase')" :tab="$t('problemKnowledgeBase')" force-render>
<!-- <a-tab-pane :key="$t('DocumentComparisonLibrary')" :tab="$t('DocumentComparisonLibrary')"></a-tab-pane>--> </a-tab-pane>
<!-- <a-tab-pane :key="$t('weekly')" :tab="$t('weekly')"></a-tab-pane>--> <a-tab-pane :key="$t('monthlyReportRegulations')" :tab="$t('monthlyReportRegulations')" force-render>
</a-tab-pane>
</a-tabs> </a-tabs>
</div> </div>
</div> </div>
<whole ref="wholeRef" :url="url" v-if="active === $t('whole')"/> <whole ref="wholeRef" :url="url" v-if="active === $t('whole')"/>
<DocumentLibrary ref="DocumentLibraryRef" v-else-if="active === $t('DocumentLibrary')"/> <DocumentLibrary ref="DocumentLibraryRef" v-else-if="active === $t('DocumentLibrary')"/>
<problemKnowledgeBase ref="problemKnowledgeBaseRef" v-else-if="active === $t('problemKnowledgeBase')"/>
<monthlyReportRegulations ref="monthlyReportRegulationsRef"
v-else-if="active === $t('monthlyReportRegulations')"/>
</div> </div>
</div> </div>
</div> </div>
@@ -78,13 +86,17 @@
<script> <script>
import whole from './components/whole' import whole from './components/whole'
import DocumentLibrary from './components/DocumentLibrary' import DocumentLibrary from './components/DocumentLibrary'
import problemKnowledgeBase from './components/problemKnowledgeBase'
import monthlyReportRegulations from './components/monthlyReportRegulations'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
export default { export default {
name: 'searchCenter', name: 'searchCenter',
components: { components: {
whole, whole,
DocumentLibrary DocumentLibrary,
problemKnowledgeBase,
monthlyReportRegulations
}, },
data() { data() {
return { return {
@@ -257,6 +269,10 @@
width: 608px; width: 608px;
display: inline-block; display: inline-block;
} }
::v-deep .input-group .ant-select-selection--single {
height: 40px !important;
}
</style> </style>
<style> <style>
.inputSearch { .inputSearch {
@@ -35,11 +35,11 @@
:placeholder="$t('PleaseSelect')+$t('certificationType')" :placeholder="$t('PleaseSelect')+$t('certificationType')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'attestation_type'"/> :triggerChange="false" :dictCode="'attestation_type'"/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.attestationType"--> <!-- <j-dict-select-tag class="box-input" v-model="formInline.attestationType"-->
<!-- @input="handleInput('attestationType')"--> <!-- @input="handleInput('attestationType')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('certificationType')"--> <!-- :placeholder="$t('PleaseSelect')+$t('certificationType')"-->
<!-- :type="'select'"--> <!-- :type="'select'"-->
<!-- :triggerChange="false" dictCode="attestation_type"/>--> <!-- :triggerChange="false" dictCode="attestation_type"/>-->
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -55,11 +55,11 @@
:placeholder="$t('PleaseSelect')+$t('certificationLevel')" :placeholder="$t('PleaseSelect')+$t('certificationLevel')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'attestation_rank'"/> :triggerChange="false" :dictCode="'attestation_rank'"/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.attestationRank"--> <!-- <j-dict-select-tag class="box-input" v-model="formInline.attestationRank"-->
<!-- @input="handleInput('attestationRank')"--> <!-- @input="handleInput('attestationRank')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('certificationLevel')"--> <!-- :placeholder="$t('PleaseSelect')+$t('certificationLevel')"-->
<!-- :type="'select'"--> <!-- :type="'select'"-->
<!-- :triggerChange="false" dictCode="attestation_rank"/>--> <!-- :triggerChange="false" dictCode="attestation_rank"/>-->
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -73,11 +73,11 @@
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')" :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/> :triggerChange="false" :dictCode="'duty_territory'"/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"--> <!-- <j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"-->
<!-- @input="handleInput('dutyTerritory')"--> <!-- @input="handleInput('dutyTerritory')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"--> <!-- :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"-->
<!-- :type="'select'"--> <!-- :type="'select'"-->
<!-- :triggerChange="false" dictCode="duty_territory"/>--> <!-- :triggerChange="false" dictCode="duty_territory"/>-->
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -216,6 +216,13 @@
}) })
}, },
handleOk() { handleOk() {
if (this.formInline.dutyTerritory) {
this.handleOnTwo()
} else {
this.handleOkOne()
}
},
handleOkOne() {
let ids = JSON.parse(JSON.stringify(this.ids)) let ids = JSON.parse(JSON.stringify(this.ids))
let formInline = JSON.parse(JSON.stringify(this.formInline)) let formInline = JSON.parse(JSON.stringify(this.formInline))
Object.keys(formInline).forEach(res => { Object.keys(formInline).forEach(res => {
@@ -240,6 +247,37 @@
} }
}) })
}, },
handleOnTwo() {
let _this = this
this.$confirm({
content: _this.$t('areResponsibilityAreaInformationBatch'),
onOk() {
let ids = JSON.parse(JSON.stringify(_this.ids))
let formInline = JSON.parse(JSON.stringify(_this.formInline))
Object.keys(formInline).forEach(res => {
if (formInline[res] instanceof Array) {
formInline[res] = formInline[res].join(',')
}
})
let query = {
ids: ids.join(','),
...formInline
}
_this.confirmLoading = true
postAction(_this.url.setBatch, query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.visible = false
_this.confirmLoading = false
_this.$emit('batSettingList')
} else {
_this.$message.warning(res.message)
_this.confirmLoading = false
}
})
}
})
},
handleCancel() { handleCancel() {
this.formInline = {} this.formInline = {}
this.visible = false this.visible = false
@@ -113,11 +113,13 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('correspondingStandard')">{{$t('correspondingStandard')}}</span> :title="$t('correspondingStandard')">{{$t('correspondingStandard')}}</span>
</div> </div>
<a-form-model-item class="itemModel"> <a-form-model-item class="itemModel" prop="correspondingStandard">
<a-input class="box-input" <Standardselection :query="{'db_field_txt':$t('correspondingStandard')}"
:disabled="true" :standard="formInline"
v-model="formInline.correspondingStandard" v-model="formInline.correspondingStandard"/>
:placeholder="$t('PleaseEnter')+$t('correspondingStandard')"/> <!-- <a-input class="box-input"-->
<!-- v-model="formInline.correspondingStandard"-->
<!-- :placeholder="$t('PleaseEnter')+$t('correspondingStandard')"/>-->
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -621,8 +623,15 @@
rules: { rules: {
subtitle: [ subtitle: [
{ {
max: 100, max: 300,
message: this.$t('subtitle') + this.$t('cannotExceed') + 100 + this.$t('Characters'), message: this.$t('subtitle') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur'
}
],
correspondingStandard: [
{
max: 300,
message: this.$t('correspondingStandard') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur' trigger: 'blur'
} }
], ],
@@ -143,7 +143,7 @@
class="ant-table tableList" class="ant-table tableList"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 170px)'}" :scroll="{x: '100%',y:'calc(100vh - 186px)'}"
rowKey="id" rowKey="id"
:data-source="dataSource" :data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -202,6 +202,9 @@
<span v-else>--</span> <span v-else>--</span>
</span> </span>
</a-table> </a-table>
<div class="buttom-box" v-if="dataSource && dataSource.length > 0">
{{$t('total')+' '+this.dataSource.length+' '+ $t('strip')}}
</div>
</div> </div>
</a-card> </a-card>
</div> </div>
@@ -796,7 +799,7 @@
let index2 = fileName.length let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2) let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix == '.pdf') { if (fileSuffix == '.pdf') {
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id+'&userName='+this.userInfo().username)) window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id + '&userName=' + this.userInfo().username))
} else if (fileSuffix == '.docx') { } else if (fileSuffix == '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix) let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank') window.open(url, '_blank')
@@ -813,7 +816,7 @@
let index2 = fileName.length let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2) let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix == '.pdf') { if (fileSuffix == '.pdf') {
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + id+'&userName='+this.userInfo().username)) window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + id + '&userName=' + this.userInfo().username))
} else if (fileSuffix == '.docx') { } else if (fileSuffix == '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix) let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
window.open(url, '_blank') window.open(url, '_blank')
@@ -825,7 +828,7 @@
} }
}, },
download(item) { download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id ,userName:this.userInfo().username}) downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username })
}, },
clickButtonToUpload(item) { clickButtonToUpload(item) {
this.loading = true this.loading = true
@@ -1004,6 +1007,14 @@
text-justify: inter-ideograph; text-justify: inter-ideograph;
word-break: break-all word-break: break-all
} }
.buttom-box {
width: 100%;
text-align: right;
font-size: 16px;
font-weight: 500;
color: #000F16;
}
</style> </style>
<style> <style>
.box-input .ant-select-selection { .box-input .ant-select-selection {
+8 -4
View File
@@ -87,8 +87,6 @@
class="box-input" class="box-input"
@change="onChange" @change="onChange"
style='margin-left: -1px' style='margin-left: -1px'
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="queryParams.time" v-model="queryParams.time"
:disabled="false"/> :disabled="false"/>
</div> </div>
@@ -645,6 +643,7 @@ export default {
this.form.authViewIdsName = this.nodeItem.authViewIdsName this.form.authViewIdsName = this.nodeItem.authViewIdsName
this.form.folderName = this.nodeItem.folderName this.form.folderName = this.nodeItem.folderName
this.form.orderId = this.nodeItem.orderId this.form.orderId = this.nodeItem.orderId
this.form = { ...this.form }
this.menuRightVisible = true this.menuRightVisible = true
}, },
//树形删除 //树形删除
@@ -779,7 +778,7 @@ export default {
//搜索 //搜索
searchQuery(item) { searchQuery(item) {
this.pageNo = 1 this.pageNo = 1
if(this.queryParams.time){ if(this.queryParams.time && this.queryParams.time instanceof Array){
this.queryParams.time = this.queryParams.time.join(',') this.queryParams.time = this.queryParams.time.join(',')
} }
this.loadData(item) this.loadData(item)
@@ -1086,11 +1085,14 @@ export default {
/deep/.ant-table td{ /deep/.ant-table td{
white-space: nowrap; white-space: nowrap;
} }
.ant-calendar-range-picker-input{
width: 46% !important;
}
.title-text { .title-text {
width: 114px; width: 114px;
text-align: right; text-align: right;
display: inline-block; display: inline-block;
font-weight: 500; font-weight: 400;
font-size: 14px; font-size: 14px;
margin-right: 16px; margin-right: 16px;
overflow: hidden; overflow: hidden;
@@ -1098,6 +1100,7 @@ export default {
white-space: nowrap; white-space: nowrap;
height: 42px; height: 42px;
line-height: 48px; line-height: 48px;
color: #040B29;
} }
.box-input { .box-input {
@@ -1333,6 +1336,7 @@ export default {
width: auto; width: auto;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
color: #040B29;
} }
@@ -43,8 +43,8 @@
:columns="columns" :columns="columns"
> >
<span slot="projectName" slot-scope="text,record" :title="text"> <span slot="projectName" slot-scope="text,record" :title="text">
<a @click="entryNameClick(record)"> <a >
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }} {{ text && text.length > 10 ? text.slice(0, 9) + '...' : text }}
</a> </a>
</span> </span>
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
@@ -113,8 +113,9 @@
{ {
title: this.$t('entryName'), title: this.$t('entryName'),
align: 'center', align: 'center',
width: '10%', width: '13%',
dataIndex: 'projectName' dataIndex: 'projectName',
scopedSlots: { customRender: 'projectName' }
}, },
{ {
title: this.$t('ListTitle'), title: this.$t('ListTitle'),
@@ -275,6 +275,12 @@
mounted() { mounted() {
if (this.evaluatorFeedbackList && this.evaluatorFeedbackList.length > 0) { if (this.evaluatorFeedbackList && this.evaluatorFeedbackList.length > 0) {
this.dataSource = this.evaluatorFeedbackList this.dataSource = this.evaluatorFeedbackList
if (this.dataSource && this.dataSource.length == 1 && this.$route.query.taskDefinitionKey == 'pgrqr') {
this.$nextTick(() => {
let antTableBody = document.getElementsByClassName('ant-table-body')
antTableBody[0].style = 'position:auto'
})
}
if (this.$route.query.taskDefinitionKey != 'pgrqr') { if (this.$route.query.taskDefinitionKey != 'pgrqr') {
this.dataSource.forEach(res => { this.dataSource.forEach(res => {
res.sponsorFeedback = '' res.sponsorFeedback = ''
@@ -145,6 +145,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
word-break: break-word;
color: #040B29; color: #040B29;
font-weight: 400; font-weight: 400;
} }
@@ -26,34 +26,46 @@
export default { export default {
name: 'regulatoryCirculationHistory', name: 'regulatoryCirculationHistory',
props: {
isTrue: {
type: Boolean,
default: false
}
},
data() { data() {
return { return {
dataSource: [], dataSource: [],
loading: false, loading: false,
columns: [ columnsAll: [
{ {
title: this.$t('OperationContent'), title: this.$t('OperationContent'),
dataIndex: 'taskDefinitionKeyName', dataIndex: 'taskDefinitionKeyName',
align: 'center', align: 'center',
width: '25%' width: '20%'
},
{
title: this.$t('opinion'),
dataIndex: 'approvalOpinion',
align: 'center',
width: '20%'
}, },
{ {
title: this.$t('Operator'), title: this.$t('Operator'),
dataIndex: 'createBy', dataIndex: 'createBy',
align: 'center', align: 'center',
width: '25%' width: '20%'
}, },
{ {
title: this.$t('role'), title: this.$t('role'),
dataIndex: 'operatorRoleName', dataIndex: 'operatorRoleName',
align: 'center', align: 'center',
width: '25%' width: '20%'
}, },
{ {
title: this.$t('OperationTime'), title: this.$t('OperationTime'),
dataIndex: 'createTime', dataIndex: 'createTime',
align: 'center', align: 'center',
width: '25%', width: '20%',
customRender: function(t, r, index) { customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss') return moment(t).format('YYYY-MM-DD HH:mm:ss')
} }
@@ -64,6 +76,20 @@
mounted() { mounted() {
this.getList() this.getList()
}, },
computed: {
columns() {
let columnsAll = JSON.parse(JSON.stringify(this.columnsAll))
if (!this.isTrue) {
for (let i = 0; i < columnsAll.length; i++) {
if (columnsAll[i].title == this.$t('opinion')) {
columnsAll.splice(i, 1)
i--
}
}
}
return columnsAll
}
},
methods: { methods: {
getList() { getList() {
let query = { let query = {
@@ -77,7 +77,6 @@
}, },
mounted() { mounted() {
this.queryForm = this.standardContentQuery this.queryForm = this.standardContentQuery
this.queryForm.taskExplain = 'sdf dsjf;l sdf;ldsf ;lsdfkj d;lsfkds;lfdksf第三方是德国搞定过分乐观看待给对方;公开地方领导反馈给东丽的反馈给管库给的给'
}, },
methods: { methods: {
urlClick(val) { urlClick(val) {
@@ -139,6 +138,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
word-break: break-word;
color: #040B29; color: #040B29;
font-weight: 400; font-weight: 400;
} }
@@ -173,6 +173,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: pre-wrap; white-space: pre-wrap;
overflow: visible; overflow: visible;
word-break: break-word;
float: left; float: left;
color: #040B29; color: #040B29;
font-weight: 400; font-weight: 400;
@@ -34,7 +34,7 @@
@submit="submit" @submit="submit"
@sendBack="sendBack" @sendBack="sendBack"
/> />
<circulationHistory v-if="isDisplay"/> <circulationHistory :isTrue="true" v-if="isDisplay"/>
</div> </div>
</div> </div>
<JLoading :loading="loading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading> <JLoading :loading="loading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
@@ -309,7 +309,7 @@
completeTask() { completeTask() {
let value = JSON.parse(JSON.stringify(this.queryProject)) let value = JSON.parse(JSON.stringify(this.queryProject))
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
value.operatorTime = handlingTime value.handlingTime = handlingTime
Object.keys(value).forEach(res => { Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) { if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\"/g, '“')
@@ -173,6 +173,8 @@
}, },
completeTask() { completeTask() {
let value = JSON.parse(JSON.stringify(this.queryProject)) let value = JSON.parse(JSON.stringify(this.queryProject))
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
value.handlingTime = handlingTime
Object.keys(value).forEach(res => { Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof String) { if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“') value[res] = value[res].replace(/\"/g, '“')
@@ -87,13 +87,10 @@
}, },
{ {
title: this.$t('createTime'), title: this.$t('createTime'),
dataIndex: 'createTime', dataIndex: 'creatTime',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 180, width: 180,
customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss')
}
}, },
{ {
title: this.$t('CompletionTime'), title: this.$t('CompletionTime'),
@@ -101,9 +98,6 @@
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 180, width: 180,
customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss')
}
}, },
{ {
title: this.$t('ProcessStatus'), title: this.$t('ProcessStatus'),
@@ -87,13 +87,10 @@
}, },
{ {
title: this.$t('createTime'), title: this.$t('createTime'),
dataIndex: 'createTime', dataIndex: 'creatTime',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 180, width: 180,
customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss')
}
}, },
{ {
title: this.$t('CompletionTime'), title: this.$t('CompletionTime'),
@@ -101,9 +98,6 @@
align: 'center', align: 'center',
width: 180, width: 180,
ellipsis: true, ellipsis: true,
customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss')
}
}, },
{ {
title: this.$t('ProcessStatus'), title: this.$t('ProcessStatus'),
@@ -5,13 +5,13 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="10"> <a-col :md="6" :sm="10">
<a-form-item :label="$t('Collectlist')"> <a-form-item :label="$t('Collectlist')">
<a-select v-model="queryParam.ctype" @change="getonChange" :getPopupContainer="triggerNode => triggerNode.parentNode"> <a-select v-model="queryParam.ctype" @change="getonChange" :getPopupContainer="triggerNode => triggerNode.parentNode" :popper-append-to-body="false">
<a-select-option v-for="d in options" :key="d.value" :value="d.value" >{{ d.label }}</a-select-option> <a-select-option v-for="d in options" :key="d.value" :value="d.value" >{{ d.label }}</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="14"> <a-col :md="6" :sm="14">
<a-form-model-item :label="$t('Statisticalmodels')" prop="value" class="process-form-item"> <a-form-model-item :label="$t('Statisticalmodels')" prop="value" style='width: 388px' class="process-form-item">
<a-radio-group v-model="queryParam.value" @change="onChange" style='width: 253px'> <a-radio-group v-model="queryParam.value" @change="onChange" style='width: 253px'>
<a-radio :value="1"> <a-radio :value="1">
{{$t('Thepercentage')}} {{$t('Thepercentage')}}
@@ -49,7 +49,7 @@
<div class="title-text" :title="$t('NareaOfResponsibility')"> <div class="title-text" :title="$t('NareaOfResponsibility')">
<span>{{$t('NareaOfResponsibility')}}</span> <span>{{$t('NareaOfResponsibility')}}</span>
</div> </div>
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory" <j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')" :placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/> :triggerChange="false" :dictCode="'duty_territory'"/>
@@ -168,7 +168,8 @@
{{$t('Adjustareasofresponsibility')}} {{$t('Adjustareasofresponsibility')}}
</div> </div>
</template> </template>
<div class="operator-text" style="position: relative " @click='morepop' v-if='currentPersonRole == "homo" || currentPersonRole == "sdt"'> <!-- @click='morepop'-->
<div class="operator-text" style="position: relative " v-if='currentPersonRole == "homo" || currentPersonRole == "sdt"'>
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }} <span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
</div> </div>
</a-popconfirm> </a-popconfirm>
@@ -226,8 +227,9 @@
</div> </div>
<div style="width: 100%"> <div style="width: 100%">
<!-- 表格-10控件--> <!-- 表格-10控件-->
<!-- :queryParamQuery='queryParamQuery'-->
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue' <table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue'
:formInline='formInline' :queryParamQuery='queryParamQuery' :currentPersonRole='currentPersonRole' :formInline='formInline' :currentPersonRole='currentPersonRole'
@getDataSource="getDataSource" @getDataSource="getDataSource"
@handlePreservation="handlePreservation" @handlePreservation="handlePreservation"
@value='value' @value='value'
@@ -268,6 +268,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
word-break: break-word;
color: #040B29; color: #040B29;
font-weight: 400; font-weight: 400;
} }
@@ -14,18 +14,18 @@
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('areaOfResponsibility')"> <div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{$t('areaOfResponsibility')}}</span> <span>{{$t('areaOfResponsibility')}}</span>
</div> </div>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory" <j-multi-select-tag class="box-input" v-model="queryParam.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')" :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/> :triggerChange="false" :dictCode="'duty_territory'"/>
</div> </div>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('CertificationProgress')"> <div class="title-text" :title="$t('CertificationProgress')">
<span>{{$t('CertificationProgress')}}</span> <span>{{$t('CertificationProgress')}}</span>
</div> </div>
<j-dict-select-tag class="box-input" v-model="queryParam.certificationProgress" <j-dict-select-tag class="box-input" v-model="queryParam.certificationProgress"
@@ -76,6 +76,10 @@
</a-form> </a-form>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<!-- <div class="operator-text" @click="batSettingClick">-->
<!-- <a-icon type="setting"/>-->
<!-- {{ $t('batSetting') }}-->
<!-- </div>-->
<div @click="CertificationDirectory" class="operator-text"> <div @click="CertificationDirectory" class="operator-text">
<a-icon type="bulb"/> <a-icon type="bulb"/>
{{$t('CertificationDirectory')}} {{$t('CertificationDirectory')}}
@@ -86,6 +90,8 @@
</div> </div>
</div> </div>
<div style="width: 100%"> <div style="width: 100%">
<!-- rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"-->
<a-table <a-table
ref="table" ref="table"
bordered bordered
@@ -98,7 +104,8 @@
> >
<div slot="standardInformation" slot-scope="text,result" class="box-left"> <div slot="standardInformation" slot-scope="text,result" class="box-left">
<div class="content"> <div class="content">
<a class="box-content-a" @click="standardClick(result)" :title="result.serialNumber">{{result.serialNumber}}</a> <a class="box-content-a" @click="standardClick(result)"
:title="result.serialNumber">{{result.serialNumber}}</a>
<a class="box-content-buttom" :title="result.title">{{result.title}}</a> <a class="box-content-buttom" :title="result.title">{{result.title}}</a>
</div> </div>
</div> </div>
@@ -170,12 +177,14 @@
</div> </div>
<certificationDirectory :isDisplayNum="isDisplayNum" :url="url" ref="certificationDirectoryRef"/> <certificationDirectory :isDisplayNum="isDisplayNum" :url="url" ref="certificationDirectoryRef"/>
<TaskListModel @TaskListModelList="TaskListModelList" ref="TaskListModelRef"/> <TaskListModel @TaskListModelList="TaskListModelList" ref="TaskListModelRef"/>
<taskBatSetting @taskBatSettingForm="taskBatSettingForm" ref="taskBatSettingRef"></taskBatSetting>
</a-card> </a-card>
</template> </template>
<script> <script>
import certificationDirectory from './certificationDirectory' import certificationDirectory from './certificationDirectory'
import TaskListModel from './TaskListModel' import TaskListModel from './TaskListModel'
import taskBatSetting from './taskBatSetting'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import store from '@/store/' import store from '@/store/'
@@ -184,7 +193,8 @@
name: 'TaskList', name: 'TaskList',
components: { components: {
certificationDirectory, certificationDirectory,
TaskListModel TaskListModel,
taskBatSetting
}, },
props: ['isDisplayNum', 'areaOfResponsibility'], props: ['isDisplayNum', 'areaOfResponsibility'],
data() { data() {
@@ -332,8 +342,18 @@
this.queryParam = {} this.queryParam = {}
this.getList() this.getList()
}, },
onSelectChange() { batSettingClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.$refs.taskBatSettingRef.edit(JSON.parse(JSON.stringify(this.selectedRowKeys)))
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
taskBatSettingForm() {
this.getList()
},
onSelectChange(value) {
this.selectedRowKeys = value
}, },
handleExport() { handleExport() {
let query = { let query = {
@@ -364,7 +384,7 @@
DueDate: 'designDueDate', DueDate: 'designDueDate',
remarks: 'designRemark', remarks: 'designRemark',
projectName: this.$route.query.projectName, projectName: this.$route.query.projectName,
targetMarket:this.$route.query.targetMarket, targetMarket: this.$route.query.targetMarket,
projectNameId: this.$route.query.projectNameId, projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.designTaskDetailId, primaryKeyId: val.designTaskDetailId,
PersonChargeFeedback: val.designPersonChargeFeedback PersonChargeFeedback: val.designPersonChargeFeedback
@@ -389,7 +409,7 @@
DueDate: 'prehomoDueDate', DueDate: 'prehomoDueDate',
remarks: 'prehomoRemark', remarks: 'prehomoRemark',
projectName: this.$route.query.projectName, projectName: this.$route.query.projectName,
targetMarket:this.$route.query.targetMarket, targetMarket: this.$route.query.targetMarket,
projectNameId: this.$route.query.projectNameId, projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.prehomoTaskDetailId, primaryKeyId: val.prehomoTaskDetailId,
PersonChargeFeedback: val.prehomoPersonChargeFeedback PersonChargeFeedback: val.prehomoPersonChargeFeedback
@@ -414,7 +434,7 @@
DueDate: 'verifyDueDate', DueDate: 'verifyDueDate',
remarks: 'verifyRemark', remarks: 'verifyRemark',
projectName: this.$route.query.projectName, projectName: this.$route.query.projectName,
targetMarket:this.$route.query.targetMarket, targetMarket: this.$route.query.targetMarket,
projectNameId: this.$route.query.projectNameId, projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.verifyTaskDetailId, primaryKeyId: val.verifyTaskDetailId,
PersonChargeFeedback: val.verifyPersonChargeFeedback PersonChargeFeedback: val.verifyPersonChargeFeedback
@@ -431,9 +451,15 @@
this.$refs.certificationDirectoryRef.addModel() this.$refs.certificationDirectoryRef.addModel()
}, },
getList() { getList() {
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
queryParam[val] = queryParam[val].join(',')
}
})
let query = { let query = {
projectLibraryId: this.$route.query.id, projectLibraryId: this.$route.query.id,
...this.queryParam ...queryParam
} }
this.loading = true this.loading = true
getAction(this.url.list, query).then((res) => { getAction(this.url.list, query).then((res) => {
@@ -458,15 +484,15 @@
TaskListModelList() { TaskListModelList() {
this.getList() this.getList()
}, },
standardClick(row){ standardClick(row) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/docManage/library/detail', path: '/docManage/library/detail',
query: { query: {
id:row.standId id: row.standId
} }
}) })
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
}, }
} }
} }
</script> </script>
@@ -659,7 +685,8 @@
.box-content-cou { .box-content-cou {
cursor: pointer; cursor: pointer;
} }
.box-content-buttom{
.box-content-buttom {
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
display: -webkit-box; display: -webkit-box;
@@ -215,6 +215,13 @@
}) })
}, },
handleOk() { handleOk() {
if (this.formInline.dutyTerritory) {
this.handleOkTwo()
} else {
this.handleOkOne()
}
},
handleOkOne() {
let ids = JSON.parse(JSON.stringify(this.ids)) let ids = JSON.parse(JSON.stringify(this.ids))
let query = { let query = {
ids: ids.join(','), ids: ids.join(','),
@@ -233,6 +240,31 @@
} }
}) })
}, },
handleOkTwo() {
let _this = this
this.$confirm({
content: _this.$t('areResponsibilityAreaInformationBatch'),
onOk() {
let ids = JSON.parse(JSON.stringify(_this.ids))
let query = {
ids: ids.join(','),
..._this.formInline
}
_this.confirmLoading = true
postAction(_this.url.setBatch, query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.visible = false
_this.confirmLoading = false
_this.$emit('batSettingList')
} else {
_this.$message.warning(_this.$t('operationFailed'))
_this.confirmLoading = false
}
})
}
})
},
handleCancel() { handleCancel() {
this.formInline = {} this.formInline = {}
this.visible = false this.visible = false
@@ -838,8 +838,8 @@
rulesData: { rulesData: {
subtitle: [ subtitle: [
{ {
max: 100, max: 300,
message: this.$t('subtitle') + this.$t('cannotExceed') + 100 + this.$t('Characters'), message: this.$t('subtitle') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur' trigger: 'blur'
} }
], ],
@@ -29,10 +29,10 @@
<div class="title-text" :title="$t('areaOfResponsibility')"> <div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{ $t('areaOfResponsibility') }}</span> <span>{{ $t('areaOfResponsibility') }}</span>
</div> </div>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory" <j-multi-select-tag class="box-input" v-model="queryParam.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')" :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/> :triggerChange="false" :dictCode="'duty_territory'"/>
</div> </div>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
@@ -200,7 +200,7 @@
class="tableList" class="tableList"
:loading="loading" :loading="loading"
:pagination="false" :pagination="false"
:scroll="{x: '100%',y:'calc(100vh - 170px)'}" :scroll="{x: '100%',y:'calc(100vh - 186px)'}"
rowKey="id" rowKey="id"
:data-source="dataSource" :data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -273,6 +273,9 @@
<span v-else>--</span> <span v-else>--</span>
</span> </span>
</a-table> </a-table>
<div class="buttom-box" v-if="dataSource && dataSource.length > 0">
{{$t('total')+' '+this.dataSource.length+' '+ $t('strip')}}
</div>
</div> </div>
<listAddModel :url="url" @addModelList="addModelList" ref="addModelRef"/> <listAddModel :url="url" @addModelList="addModelList" ref="addModelRef"/>
<listEditModel :url="url" @editModelList="addModelList" ref="editModelRef"/> <listEditModel :url="url" @editModelList="addModelList" ref="editModelRef"/>
@@ -1386,9 +1389,15 @@
if (this.formInlineRoleSwitching.roleSwitchingCode == '11' || this.formInlineRoleSwitching.roleSwitchingCode == '12') { if (this.formInlineRoleSwitching.roleSwitchingCode == '11' || this.formInlineRoleSwitching.roleSwitchingCode == '12') {
roleCode = 0 roleCode = 0
} }
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
Object.keys(queryParam).forEach(val => {
if (queryParam[val] instanceof Array) {
queryParam[val] = queryParam[val].join(',')
}
})
let query = { let query = {
...this.queryParamQuery, ...this.queryParamQuery,
...this.queryParam, ...queryParam,
projectLibraryId: this.$route.query.id, projectLibraryId: this.$route.query.id,
roleCode: roleCode roleCode: roleCode
} }
@@ -2257,6 +2266,14 @@
text-justify: inter-ideograph; text-justify: inter-ideograph;
word-break: break-all word-break: break-all
} }
.buttom-box {
width: 100%;
text-align: right;
font-size: 16px;
font-weight: 500;
color: #000F16;
}
</style> </style>
<style> <style>
.box-input .ant-select-selection { .box-input .ant-select-selection {
@@ -0,0 +1,251 @@
<template>
<a-modal
:title="$t('batSetting')"
:width="600"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@ok="handleOk"
@cancel="handleCancel"
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('CertificationProgress')">{{$t('CertificationProgress')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.certificationProgress"
@input="handleInput('certificationProgress')"
:placeholder="$t('PleaseSelect')+$t('CertificationProgress')"
:type="'select'"
:triggerChange="false" :dictCode="'certification_progress'"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('CurrentStatus')">{{$t('CurrentStatus')}}</span>
</div>
<a-form-model-item class="itemModel" prop="conditionAssessment">
<a-select
v-model="formInline.conditionAssessment"
:placeholder="$t('PleaseSelect')+$t('CurrentProjectStatusEvaluation')">
<a-select-option :value="'1'">
<span style="display: inline-block;width: 100%">
{{ $t('red') }}
</span>
</a-select-option>
<a-select-option :value="'2'">
<span style="display: inline-block;width: 100%">
{{ $t('yellow') }}
</span>
</a-select-option>
<a-select-option :value="'3'">
<span style="display: inline-block;width: 100%">
{{ $t('green') }}
</span>
</a-select-option>
<a-select-option :value="'4'" disabled>
<span style="display: inline-block;width: 100%">
{{ $t('blue') }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</template>
<script>
import { getAction, postAction } from '@/api/manage'
import moment from 'moment'
export default {
name: 'taskBatSetting',
props: ['url'],
data() {
return {
visible: false,
confirmLoading: false,
formInline: {},
rules: {},
ids: []
}
},
mounted() {
},
methods: {
edit(data) {
this.visible = true
this.$nextTick(() => {
this.ids = data || []
this.formInline = {}
})
},
handleOk() {
if (this.formInline.dutyTerritory) {
this.handleOkTwo()
} else {
this.handleOkOne()
}
},
handleOkOne() {
let ids = JSON.parse(JSON.stringify(this.ids))
let query = {
ids: ids.join(','),
...this.formInline
}
this.confirmLoading = true
postAction(this.url.setBatch, query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.visible = false
this.confirmLoading = false
this.$emit('batSettingList')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
},
handleOkTwo() {
let _this = this
this.$confirm({
content: _this.$t('areResponsibilityAreaInformationBatch'),
onOk() {
let ids = JSON.parse(JSON.stringify(_this.ids))
let query = {
ids: ids.join(','),
..._this.formInline
}
_this.confirmLoading = true
postAction(_this.url.setBatch, query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.visible = false
_this.confirmLoading = false
_this.$emit('batSettingList')
} else {
_this.$message.warning(_this.$t('operationFailed'))
_this.confirmLoading = false
}
})
}
})
},
handleCancel() {
this.formInline = {}
this.visible = false
},
handleInput(value) {
this.$nextTick(() => {
this.formInline = { ...this.formInline }
this.$refs.ruleForm.validateField([value])
})
},
}
}
</script>
<style>
.formAdd .ant-form-item-label {
width: 130px;
}
.formAdd .ant-form-item-control-wrapper {
display: inline-block;
width: 100%;
}
/*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/
/*}*/
.itemModel .ant-form-item-control-wrapper {
width: 100%;
}
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
padding: 4px 30px 4px 11px;
}
</style>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.title-text {
width: 84px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
</style>
@@ -11,28 +11,44 @@
> >
<a-row :gutter='24'> <a-row :gutter='24'>
<a-col :span='9'> <a-col :span='9'>
<a-form-model-item :label="$t('areaOfResponsibility')"> <div class="box-title-text">
<a-select class="box-input" v-model="formData.dutyTerritory" <div class="title-text" :title="$t('areaOfResponsibility')">
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"> <span>{{$t('areaOfResponsibility')}}</span>
<a-select-option v-for="(element,index) in dutyTerritory" :key="element.value" :value="element.value"> </div>
{{element.text}} <!-- :label="$t('FilterMatching')" :labelCol="{md: 6,xs:24}" :wrapperCol="{md: 18,xs:24}" style="width: 100%;"-->
</a-select-option> <a-form-model-item class='box-input'>
</a-select> <a-select v-model="formData.dutyTerritory"
<!-- <j-dict-select-tag class="box-input" v-model="formData.dutyTerritory"--> style='width: 148%'
<!-- :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"--> :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')">
<!-- :type="'select'"--> <a-select-option v-for="(element,index) in dutyTerritory" :key="element.value" :value="element.value">
<!-- :triggerChange="false" :dictCode="'duty_territory'"/>--> {{element.text}}
</a-form-model-item> </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>
</div>
</a-col> </a-col>
<a-col :span='9'> <a-col :span='9'>
<a-form-model-item :label="$t('RelatedItems')" prop='ListTitle'> <div class="box-title-text">
<a-select class="box-input" v-model="formData.projectNameId" <div class="title-text" :title="$t('RelatedItems')">
:placeholder="$t('PleaseSelect')+$t('RelatedItems')"> <span>{{$t('RelatedItems')}}</span>
<a-select-option v-for="(element,index) in RelatedItemList" :key="element.id" :value="element.id"> </div>
{{element.projectName}} <!-- :label="$t('FilterMatching')" :labelCol="{md: 6,xs:24}" :wrapperCol="{md: 18,xs:24}" style="width: 100%;"-->
</a-select-option> <a-form-model-item class='box-input'>
</a-select> <a-select v-model="formData.projectNameId"
</a-form-model-item> style='width: 148%'
:placeholder="$t('PleaseSelect')+$t('RelatedItems')">
<a-select-option v-for="(element,index) in RelatedItemList" :key="element.id" :value="element.id">
{{element.projectName}}
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col> </a-col>
<a-col :span='6' style='margin-top: 4px;'> <a-col :span='6' style='margin-top: 4px;'>
<a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button> <a-button class='box-button' type='primary' @click='searchQuery'>{{ $t('query') }}</a-button>
@@ -58,28 +74,28 @@
@change='handleTableChange'> @change='handleTableChange'>
<span slot="status" slot-scope="text,record" :title="text" > <span slot="status" slot-scope="text,record" :title="text" >
<a v-if="record.designFlowTaskStatus_dicText == '符合'" style='color: #26BD4B'>{{ text }}</a> <a v-if="record.designFlowTaskStatus == 'Compliance'" style='color: #26BD4B'>{{ text }}</a>
<a v-if="record.designFlowTaskStatus_dicText == '不符合'" style='color: #E83030'>{{ text }}</a> <a v-if="record.designFlowTaskStatus == 'Non-Compliance'" style='color: #E83030'>{{ text }}</a>
<a v-if="record.designFlowTaskStatus_dicText == '待追踪'" style='color: #FDA71C'>{{ text }}</a> <a v-if="record.designFlowTaskStatus == 'To be tracked'" style='color: #FDA71C'>{{ text }}</a>
<a v-if="record.designFlowTaskStatus_dicText == '不涉及'" style='color: #707486'>{{ text }}</a> <a v-if="record.designFlowTaskStatus == 'NA'" style='color: #707486'>{{ text }}</a>
<a v-if="record.designFlowTaskStatus_dicText == '待确认'" style='color: #00B3BE'>{{ text }}</a> <a v-if="record.designFlowTaskStatus == 'No rating'" style='color: #00B3BE'>{{ text }}</a>
<a v-if="record.designFlowTaskStatus_dicText == '任务终止'" style='color: #E83030'>{{ text }}</a> <a v-if="record.designFlowTaskStatus == 'Termination of task'" style='color: #E83030'>{{ text }}</a>
</span> </span>
<span slot="statusprehomo" slot-scope="text,record" :title="text" > <span slot="statusprehomo" slot-scope="text,record" :title="text" >
<a v-if="record.prehomoFlowTaskStatus_dicText == '符合'" style='color: #26BD4B'>{{ text }}</a> <a v-if="record.prehomoFlowTaskStatus == 'Compliance'" style='color: #26BD4B'>{{ text }}</a>
<a v-if="record.prehomoFlowTaskStatus_dicText == '不符合'" style='color: #E83030'>{{ text }}</a> <a v-if="record.prehomoFlowTaskStatus == 'Non-Compliance'" style='color: #E83030'>{{ text }}</a>
<a v-if="record.prehomoFlowTaskStatus_dicText == '待追踪'" style='color: #FDA71C'>{{ text }}</a> <a v-if="record.prehomoFlowTaskStatus == 'To be tracked'" style='color: #FDA71C'>{{ text }}</a>
<a v-if="record.prehomoFlowTaskStatus_dicText == '不涉及'" style='color: #707486'>{{ text }}</a> <a v-if="record.prehomoFlowTaskStatus == 'NA'" style='color: #707486'>{{ text }}</a>
<a v-if="record.prehomoFlowTaskStatus_dicText == '待确认'" style='color: #00B3BE'>{{ text }}</a> <a v-if="record.prehomoFlowTaskStatus == 'No rating'" style='color: #00B3BE'>{{ text }}</a>
<a v-if="record.prehomoFlowTaskStatus_dicText == '任务终止'" style='color: #E83030'>{{ text }}</a> <a v-if="record.prehomoFlowTaskStatus == 'Termination of task'" style='color: #E83030'>{{ text }}</a>
</span> </span>
<span slot="filstatuse" slot-scope="text,record" :title="text" > <span slot="filstatuse" slot-scope="text,record" :title="text" >
<a v-if="record.verifyFlowTaskStatus_dicText == '符合'" style='color: #26BD4B'>{{ text }}</a> <a v-if="record.verifyFlowTaskStatus == 'Compliance'" style='color: #26BD4B'>{{ text }}</a>
<a v-if="record.verifyFlowTaskStatus_dicText == '不符合'" style='color: #E83030'>{{ text }}</a> <a v-if="record.verifyFlowTaskStatus == 'Non-Compliance'" style='color: #E83030'>{{ text }}</a>
<a v-if="record.verifyFlowTaskStatus_dicText == '待追踪'" style='color: #FDA71C'>{{ text }}</a> <a v-if="record.verifyFlowTaskStatus == 'To be tracked'" style='color: #FDA71C'>{{ text }}</a>
<a v-if="record.verifyFlowTaskStatus_dicText == '不涉及'" style='color: #707486'>{{ text }}</a> <a v-if="record.verifyFlowTaskStatus == 'NA'" style='color: #707486'>{{ text }}</a>
<a v-if="record.verifyFlowTaskStatus_dicText == '待确认'" style='color: #00B3BE'>{{ text }}</a> <a v-if="record.verifyFlowTaskStatus == 'No rating'" style='color: #00B3BE'>{{ text }}</a>
<a v-if="record.verifyFlowTaskStatus_dicText == '任务终止'" style='color: #E83030'>{{ text }}</a> <a v-if="record.verifyFlowTaskStatus == 'Termination of task'" style='color: #E83030'>{{ text }}</a>
</span> </span>
<!-- <template slot="file" slot-scope="text, record">--> <!-- <template slot="file" slot-scope="text, record">-->
@@ -321,6 +337,33 @@ export default {
<style lang='less' scoped> <style lang='less' scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 110px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: -15px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
.diolag-area { .diolag-area {
.table-area { .table-area {
@@ -175,7 +175,7 @@ export default {
title: this.$t('title'), title: this.$t('title'),
align: 'center', align: 'center',
dataIndex: 'title', dataIndex: 'title',
width: 180, width: 250,
scopedSlots: { customRender: 'standard' } scopedSlots: { customRender: 'standard' }
}, },
{ {
@@ -193,14 +193,14 @@ export default {
title: this.$t('technicalField'), title: this.$t('technicalField'),
align: 'center', align: 'center',
dataIndex: 'technologyTerritory_dicText', dataIndex: 'technologyTerritory_dicText',
width: 350, width: 250,
scopedSlots: { customRender: 'technicalField' } scopedSlots: { customRender: 'technicalField' }
}, },
{ {
title: this.$t('RegulatoryProcessEvaluationResults'), title: this.$t('RegulatoryProcessEvaluationResults'),
align: 'center', align: 'center',
fixed: 'right', fixed: 'right',
width: 250, width: 380,
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
} }
], ],
@@ -35,6 +35,39 @@
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns" :columns="columns"
> >
<span slot="vehicleInProductionDate" slot-scope="text,result">
<span v-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'yellow'">
{{text}}
</span>
<span v-else-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'red'">
{{text}}
</span>
<span v-else>
{{text}}
</span>
</span>
<span slot="ImplementationDate" slot-scope="text,result">
<span v-if="result.new_colour == 'yellow'" style="color: #fdd835">
{{text}}
</span>
<span v-else-if="result.new_colour == 'red'" style="color: red">
{{text}}
</span>
<span v-else>
{{text}}
</span>
</span>
<span slot="vehicleInProductionDate" slot-scope="text,result">
<span v-if="result.implement_colour == 'yellow'" style="color: #fdd835">
{{text}}
</span>
<span v-else-if="result.implement_colour == 'red'" style="color: red">
{{text}}
</span>
<span v-else>
{{text}}
</span>
</span>
</a-table> </a-table>
<div class="page" v-if="dataSource && dataSource.length > 0"> <div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination <a-pagination
@@ -138,14 +171,16 @@
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 210, width: 210,
dataIndex: 'implement_time' dataIndex: 'implement_time',
scopedSlots: { customRender: 'vehicleInProductionDate' }
}, },
{ {
title: this.$t('ImplementationDate'), title: this.$t('ImplementationDate'),
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
width: 210, width: 210,
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1' dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
scopedSlots: { customRender: 'ImplementationDate' }
} }
] ]
} }