合并分支 'dev_2nd_LCYH' 到 'master'
Dev 2nd lcyh 查看合并请求 laws-nio/laws-weilai!308
This commit is contained in:
@@ -507,102 +507,116 @@ INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `descrip
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1524311354002771970', '1524311122804346881', '实验通过', 'Test passed', '实验通过', 3, 1, 'admin', '2022-05-11 16:52:02', NULL, NULL, NULL, NULL, NULL, '0', 'Test passed');
|
||||
|
||||
|
||||
-- 初始化生产环境,设计符合性流程状态为空的数据 处理成 清单待发布 2023-4-10 未同步生产环境
|
||||
UPDATE `project_laws_inventory`
|
||||
SET `design_flow_status` = 'List to be released'
|
||||
WHERE
|
||||
`id` IN ( SELECT temp.id FROM ( SELECT id FROM project_laws_inventory WHERE design_flow_status IS NULL ) temp );
|
||||
# -- 初始化生产环境,设计符合性流程状态为空的数据 处理成 清单待发布 2023-4-10 未同步生产环境
|
||||
# UPDATE `project_laws_inventory`
|
||||
# SET `design_flow_status` = 'List to be released'
|
||||
# WHERE
|
||||
# `id` IN ( SELECT temp.id FROM ( SELECT id FROM project_laws_inventory WHERE design_flow_status IS NULL ) temp );
|
||||
#
|
||||
#
|
||||
# -- 初始化生产环境,验证符合性流程状态为空的数据 处理成 清单待发布 2023-4-10 未同步生产环境
|
||||
# UPDATE `project_laws_inventory`
|
||||
# SET `verify_flow_status` = 'List to be released'
|
||||
# WHERE
|
||||
# `id` IN (SELECT temp.id FROM (SELECT id FROM project_laws_inventory WHERE verify_flow_status IS NULL ) temp);
|
||||
#
|
||||
#
|
||||
# -- *********************************************** 法规相关历史数据处理sql *********************************************************
|
||||
# -- 以下sql需要按照顺序执行,否则会出问题。 2023-04-11 未同步生产环境
|
||||
# -- 处理 法规清单确认 待确认状态的数据sql
|
||||
# UPDATE `project_laws_inventory` SET
|
||||
# `design_flow_status` = 'List to be checked',
|
||||
# `verify_flow_status` = 'List to be checked'
|
||||
# where id in (
|
||||
# SELECT temp.id FROM (
|
||||
# SELECT
|
||||
# id
|
||||
# FROM
|
||||
# project_laws_inventory
|
||||
# WHERE inventory_affirm_status = 'List to confirm'
|
||||
# ) temp
|
||||
# );
|
||||
#
|
||||
#
|
||||
# -- 处理待办中心-流程历史,之前的符合性流程数据sql。
|
||||
# -- 1.将之前符合性流程的 发起人审核节点, 处理结果为 符合、不涉及的数据,更新为通过(现在法规工程师审核的时候 处理结果是通过)
|
||||
# update process_history set
|
||||
# operator_result = 'Adopt'
|
||||
# where id in (
|
||||
# SELECT temp.id FROM (
|
||||
# select
|
||||
# id
|
||||
# from
|
||||
# process_history
|
||||
# where task_definition_key = 'fqrsh' and operator_result in ('Compliance','NA')
|
||||
# ) temp
|
||||
# );
|
||||
#
|
||||
# -- 2.将之前符合性流程的 发起人审核节点,修改为 法规工程师审核节点
|
||||
# update process_history set
|
||||
# task_definition_key = 'fggcssh'
|
||||
# where id in (
|
||||
# SELECT temp.id FROM (
|
||||
# select
|
||||
# id
|
||||
# from
|
||||
# process_history
|
||||
# where task_definition_key = 'fqrsh'
|
||||
# ) temp
|
||||
# );
|
||||
#
|
||||
# -- 3.将之前符合性流程的 责任人处理任务 节点,修改为 符合性确认节点
|
||||
# update process_history set
|
||||
# task_definition_key = 'zrrtjjfw'
|
||||
# where id in (
|
||||
# SELECT temp.id FROM (
|
||||
# select
|
||||
# id
|
||||
# from
|
||||
# process_history
|
||||
# where task_definition_key = 'zrrclrw'
|
||||
# ) temp
|
||||
# );
|
||||
#
|
||||
# -- 处理待办中心-流程节点明细,之前的符合性流程节点任务节点keysql
|
||||
# -- 1.将之前符合性流程的 发起人审核节点,修改为 法规工程师审核节点
|
||||
# update process_info_detail set
|
||||
# task_definition_key = 'fggcssh'
|
||||
# where id in (
|
||||
# SELECT temp.id FROM (
|
||||
# select
|
||||
# id
|
||||
# from
|
||||
# process_info_detail
|
||||
# where task_definition_key = 'fqrsh' and `status` = 'haveDone'
|
||||
# ) temp
|
||||
# );
|
||||
# -- 2.将之前符合性流程的 责任人处理任务 节点,修改为 符合性确认节点
|
||||
# update process_info_detail set
|
||||
# task_definition_key = 'zrrtjjfw'
|
||||
# where id in (
|
||||
# SELECT temp.id FROM (
|
||||
# select
|
||||
# id
|
||||
# from
|
||||
# process_info_detail
|
||||
# where task_definition_key = 'zrrclrw' and `status` = 'haveDone'
|
||||
# ) temp
|
||||
# );
|
||||
|
||||
|
||||
-- 初始化生产环境,验证符合性流程状态为空的数据 处理成 清单待发布 2023-4-10 未同步生产环境
|
||||
UPDATE `project_laws_inventory`
|
||||
SET `verify_flow_status` = 'List to be released'
|
||||
WHERE
|
||||
`id` IN (SELECT temp.id FROM (SELECT id FROM project_laws_inventory WHERE verify_flow_status IS NULL ) temp);
|
||||
|
||||
|
||||
-- *********************************************** 法规相关历史数据处理sql *********************************************************
|
||||
-- 以下sql需要按照顺序执行,否则会出问题。 2023-04-11 未同步生产环境
|
||||
-- 处理 法规清单确认 待确认状态的数据sql
|
||||
UPDATE `project_laws_inventory` SET
|
||||
`design_flow_status` = 'List to be checked',
|
||||
`verify_flow_status` = 'List to be checked'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
project_laws_inventory
|
||||
WHERE inventory_affirm_status = 'List to confirm'
|
||||
) temp
|
||||
);
|
||||
|
||||
|
||||
-- 处理待办中心-流程历史,之前的符合性流程数据sql。
|
||||
-- 1.将之前符合性流程的 发起人审核节点, 处理结果为 符合、不涉及的数据,更新为通过(现在法规工程师审核的时候 处理结果是通过)
|
||||
update process_history set
|
||||
operator_result = 'Adopt'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_history
|
||||
where task_definition_key = 'fqrsh' and operator_result in ('Compliance','NA')
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 2.将之前符合性流程的 发起人审核节点,修改为 法规工程师审核节点
|
||||
update process_history set
|
||||
task_definition_key = 'fggcssh'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_history
|
||||
where task_definition_key = 'fqrsh'
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 3.将之前符合性流程的 责任人处理任务 节点,修改为 符合性确认节点
|
||||
update process_history set
|
||||
task_definition_key = 'zrrtjjfw'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_history
|
||||
where task_definition_key = 'zrrclrw'
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 处理待办中心-流程节点明细,之前的符合性流程节点任务节点keysql
|
||||
-- 1.将之前符合性流程的 发起人审核节点,修改为 法规工程师审核节点
|
||||
update process_info_detail set
|
||||
task_definition_key = 'fggcssh'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_info_detail
|
||||
where task_definition_key = 'fqrsh' and `status` = 'haveDone'
|
||||
) temp
|
||||
);
|
||||
-- 2.将之前符合性流程的 责任人处理任务 节点,修改为 符合性确认节点
|
||||
update process_info_detail set
|
||||
task_definition_key = 'zrrtjjfw'
|
||||
where id in (
|
||||
SELECT temp.id FROM (
|
||||
select
|
||||
id
|
||||
from
|
||||
process_info_detail
|
||||
where task_definition_key = 'zrrclrw' and `status` = 'haveDone'
|
||||
) temp
|
||||
);
|
||||
|
||||
-- 认证清单,增加字段 2023-04-17 未同步生产环境
|
||||
ALTER TABLE `project_certification_inventory`
|
||||
ADD COLUMN `inventory_verify_end_time` datetime(0) NULL COMMENT '清单校核截止时间' AFTER `project_library_id`,
|
||||
ADD COLUMN `task_confirm_end_time` datetime(0) NULL COMMENT '责任确认截止时间' AFTER `inventory_verify_end_time`;
|
||||
-- 认证清单,增加字段 2023-04-17 未同步生产环境
|
||||
ALTER TABLE `project_certification_inventory`
|
||||
ADD COLUMN `attestation_type` varchar(2000) NULL COMMENT '认证类型' AFTER `task_confirm_end_time`;
|
||||
-- 数据字典 增加 认证清单-认证类别 2023-04-17 未同步生产环境
|
||||
INSERT INTO `sys_dict`(`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1646032917672861697', '认证清单-认证类型', 'ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2', NULL, 0, 'admin', '2023-04-12 14:10:04', NULL, NULL, NULL, NULL, 1, 0, '1', 1);
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1646033124468826113', '1646032917672861697', '公告', '12d45870339f47d59b95f0e9baabe404', NULL, 1, 1, 'admin', '2023-04-12 14:10:53', NULL, NULL, 1, NULL, NULL, '0', 'Announcement');
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1646033156706246657', '1646032917672861697', 'CCC', '6c7c21ec0dd24cdd87e10c4c40208a78', NULL, 2, 1, 'admin', '2023-04-12 14:11:01', NULL, NULL, 1, NULL, NULL, '0', 'CCC');
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1646033251040337922', '1646032917672861697', '地标', 'dfbc363b6e2d4d9c97664aeb6731767e', NULL, 3, 1, 'admin', '2023-04-12 14:11:24', NULL, NULL, 1, NULL, NULL, '0', 'Landmark');
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1646033351942709250', '1646032917672861697', '其他', '17a3731e5a374d8ba3909cca2464a8eb', NULL, 4, 1, 'admin', '2023-04-12 14:11:48', NULL, NULL, 1, NULL, NULL, '0', 'Other');
|
||||
|
||||
|
||||
|
||||
+65
-2
@@ -188,7 +188,7 @@ public class SysDictController {
|
||||
}
|
||||
|
||||
// 将结果集进行排序
|
||||
if (CollectionUtils.isNotEmpty(ls)) {
|
||||
/*if (CollectionUtils.isNotEmpty(ls)) {
|
||||
// 匿名比较器排序
|
||||
Collections.sort(ls, new Comparator<DictModel>() {
|
||||
@Override
|
||||
@@ -196,7 +196,7 @@ public class SysDictController {
|
||||
return p1.getText().compareTo(p2.getText());
|
||||
}
|
||||
});
|
||||
}
|
||||
}*/
|
||||
|
||||
result.setSuccess(true);
|
||||
result.setResult(ls);
|
||||
@@ -790,4 +790,67 @@ public class SysDictController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取责任领域字典数据
|
||||
* @param dictCode 字典code
|
||||
* @param dictCode 表名,文本字段,code字段 | 举例:sys_user,realname,id
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "字典控制器-获取责任领域字典数据", notes = "字典控制器-获取责任领域字典数据")
|
||||
@RequestMapping(value = "/getDutyTerritoryDictItems/{dictCode}", method = RequestMethod.GET)
|
||||
public Result<List<DictModel>> getDutyTerritoryDictItems(@PathVariable String dictCode, @RequestParam(value = "sign",required = false) String sign, HttpServletRequest request) {
|
||||
log.info(" dictCode : "+ dictCode);
|
||||
Result<List<DictModel>> result = new Result<List<DictModel>>();
|
||||
List<DictModel> ls = null;
|
||||
try {
|
||||
if(dictCode.indexOf(",")!=-1) {
|
||||
//关联表字典(举例:sys_user,realname,id)
|
||||
String[] params = dictCode.split(",");
|
||||
|
||||
if(params.length<3) {
|
||||
result.error500("字典Code格式不正确!");
|
||||
return result;
|
||||
}
|
||||
//SQL注入校验(只限制非法串改数据库)
|
||||
final String[] sqlInjCheck = {params[0],params[1],params[2]};
|
||||
SqlInjectionUtil.filterContent(sqlInjCheck);
|
||||
|
||||
if(params.length==4) {
|
||||
//SQL注入校验(查询条件SQL 特殊check,此方法仅供此处使用)
|
||||
SqlInjectionUtil.specialFilterContent(params[3]);
|
||||
ls = sysDictService.queryTableDictItemsByCodeAndFilter(params[0],params[1],params[2],params[3]);
|
||||
}else if (params.length==3) {
|
||||
ls = sysDictService.queryTableDictItemsByCode(params[0],params[1],params[2]);
|
||||
}else{
|
||||
result.error500("字典Code格式不正确!");
|
||||
return result;
|
||||
}
|
||||
}else {
|
||||
//字典表
|
||||
ls = sysDictService.queryDictItemsByCode(dictCode);
|
||||
}
|
||||
|
||||
// 将结果集进行排序
|
||||
if (CollectionUtils.isNotEmpty(ls)) {
|
||||
// 匿名比较器排序
|
||||
Collections.sort(ls, new Comparator<DictModel>() {
|
||||
@Override
|
||||
public int compare(DictModel p1, DictModel p2) {
|
||||
return p1.getText().compareTo(p2.getText());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
result.setSuccess(true);
|
||||
result.setResult(ls);
|
||||
log.debug(result.toString());
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(),e);
|
||||
result.error500("操作失败");
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-2
@@ -272,9 +272,10 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
|
||||
@ApiOperation(value="复制", notes="复制")
|
||||
@GetMapping(value = "/copyInfoByIds")
|
||||
public Result<?> copyInfoByIds(@RequestParam(name="ids",required=true) String ids,
|
||||
@RequestParam(name="cut",required=true) String cut) {
|
||||
@RequestParam(name="cut",required=true) String cut,
|
||||
@RequestParam(name="operateType",required=true) String operateType) {
|
||||
try {
|
||||
projectLawsInventoryEOService.copyInfoByIds(ids);
|
||||
projectLawsInventoryEOService.copyInfoByIds(ids,operateType);
|
||||
} catch (Exception e) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
return Result.error("复制失败");
|
||||
|
||||
+21
@@ -230,4 +230,25 @@ public class ProjectCertificationInventoryEO implements Serializable {
|
||||
//排序字段
|
||||
@TableField(exist = false)
|
||||
private String orderByField;
|
||||
|
||||
/**清单校核截止时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "清单校核截止时间")
|
||||
private Date inventoryVerifyEndTime;
|
||||
|
||||
/**责任确认截止时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "责任确认截止时间")
|
||||
private Date taskConfirmEndTime;
|
||||
|
||||
/**认证类型*/
|
||||
@ApiModelProperty(value = "认证类型")
|
||||
private String attestationType;
|
||||
|
||||
/**认证类型名称**/
|
||||
@Excel(name = "认证类型", width = 20)
|
||||
@TableField(exist = false)
|
||||
private String attestationTypeName;
|
||||
}
|
||||
|
||||
+6
@@ -218,4 +218,10 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
|
||||
// @Excel(name = "截止日期", width = 20, format = "yyyy-MM-dd")
|
||||
@TableField(exist = false)
|
||||
private String endTimeStr;
|
||||
|
||||
/**认证类型*/
|
||||
@Excel(name = "Certification Type", width = 20)
|
||||
@ApiModelProperty(value = "认证类型")
|
||||
@TableField(exist = false)
|
||||
private String attestationTypeName;
|
||||
}
|
||||
|
||||
+12
@@ -17,6 +17,18 @@ public enum CertificationFlowNodeEnum {
|
||||
RZGCSSC ("rzgcssc","认证工程师审查","Certified engineer review"),
|
||||
RZGCSSC_TG ("rzgcssc_tg","认证工程师审查-通过","Certified engineer review through"),
|
||||
RZGCSSC_TH ("rzgcssc_th","认证工程师审查-退回","Certified engineer review returned"),
|
||||
|
||||
/**
|
||||
* 待办中心,展示任务节点key
|
||||
* 清单校核-> studio发给认证工程师处理
|
||||
* 任务责任确认 -> 认证工程师发给责任人
|
||||
* 任务办理 -> 责任人接受之后,等待提交交付物
|
||||
* 任务审查 -> 责任人提交交付物之后,认证工程师审查。
|
||||
*/
|
||||
CHECKLIST_VERIFICATION ("Checklist verification","清单校核","Checklist verification"),
|
||||
TASK_RESPONSIBILITY_CONFIRMATION ("Task responsibility confirmation","任务责任确认","Task responsibility confirmation"),
|
||||
TASK_HANDLING ("Task handling","任务办理","Task handling"),
|
||||
TASK_REVIEW ("Task Review","任务审查","Task Review"),
|
||||
;
|
||||
|
||||
String key;
|
||||
|
||||
+2
@@ -83,6 +83,8 @@ public enum OperatorTypeEnum {
|
||||
LAWS_INVENTORY_VERIFY_UPDATE_FLOW_STATUS("法规清单-更新验证符合性流程状态","lawsInventoryVerifyUpdateFlowStatus"),
|
||||
LAWS_INVENTORY_DESIGN_CITE_DELIVERABLE("法规清单-设计-引用交付物","lawsInventoryDesignCiteDeliverable"),
|
||||
LAWS_INVENTORY_VERIFY_CITE_DELIVERABLE("法规清单-验证-引用交付物","lawsInventoryVerifyCiteDeliverable"),
|
||||
LAWS_INVENTORY_STUDIO_COPY("法规清单-studio复制","lawsInventoryStudioCopy"),
|
||||
LAWS_INVENTORY_REGULATION_OWNER_COPY("法规清单-法规工程师复制","lawsInventoryRegulationOwnerCopy"),
|
||||
|
||||
/**
|
||||
* 待办中心-将法规工程师的法规清单确认待办任务转为已办
|
||||
|
||||
+177
-16
@@ -89,17 +89,14 @@ public class CertificationInventoryJob implements Job {
|
||||
* @param projectCertificationInventoryEOS
|
||||
*/
|
||||
private void remindCertificationEngineer( List<ProjectCertificationInventoryEO> projectCertificationInventoryEOS,ProjectLibraryBase projectLibraryBase) {
|
||||
List<ProjectCertificationInventoryEO> certificationInventoryEOList = projectCertificationInventoryEOS.stream().filter(data -> {
|
||||
List<ProjectCertificationInventoryEO> toBeReviewedCiEoList = projectCertificationInventoryEOS.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
|| StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue())
|
||||
|| StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|
||||
StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(certificationInventoryEOList)){
|
||||
Map<String, Object> sendMsgDataListMap = this.disposeSendMsgDataList(certificationInventoryEOList);
|
||||
if(CollectionUtils.isNotEmpty(toBeReviewedCiEoList)){
|
||||
Map<String, Object> sendMsgDataListMap = this.disposeSendMsgDataList(toBeReviewedCiEoList);
|
||||
|
||||
List<String> certificationEngineerIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(","));
|
||||
List<SysUser> certificationEngineerList = this.sysUserService.querySysUserListByIdList(certificationEngineerIdList);
|
||||
@@ -113,7 +110,8 @@ public class CertificationInventoryJob implements Job {
|
||||
certificationEngineerList,
|
||||
certificationEngineerId,
|
||||
threeDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE6.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE6.getValue(),
|
||||
threeDaysList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -126,7 +124,8 @@ public class CertificationInventoryJob implements Job {
|
||||
certificationEngineerList,
|
||||
certificationEngineerId,
|
||||
currentDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE7.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE7.getValue(),
|
||||
currentDaysList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -139,7 +138,66 @@ public class CertificationInventoryJob implements Job {
|
||||
certificationEngineerList,
|
||||
certificationEngineerId,
|
||||
overdueList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE8.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE8.getValue(),
|
||||
overdueList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<ProjectCertificationInventoryEO> toBeCheckedCiEoList = projectCertificationInventoryEOS.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
|| StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(toBeCheckedCiEoList)){
|
||||
Map<String, Object> sendMsgDataListMap = this.disposeSendMsgDataListByInventoryVerifyEndTime(toBeCheckedCiEoList);
|
||||
|
||||
List<String> certificationEngineerIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(","));
|
||||
List<SysUser> certificationEngineerList = this.sysUserService.querySysUserListByIdList(certificationEngineerIdList);
|
||||
|
||||
// 三天后结束的
|
||||
List<ProjectCertificationInventoryEO> threeDaysList = (List<ProjectCertificationInventoryEO>) sendMsgDataListMap.get("threeDaysList");
|
||||
if(CollectionUtils.isNotEmpty(threeDaysList)){
|
||||
for (String certificationEngineerId : certificationEngineerIdList) {
|
||||
this.sendLarkCardMsgByTemplate(
|
||||
projectLibraryBase,
|
||||
certificationEngineerList,
|
||||
certificationEngineerId,
|
||||
threeDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE6.getValue(),
|
||||
threeDaysList.get(0).getInventoryVerifyEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
// 当天结束的
|
||||
List<ProjectCertificationInventoryEO> currentDaysList = (List<ProjectCertificationInventoryEO>) sendMsgDataListMap.get("currentDaysList");
|
||||
if(CollectionUtils.isNotEmpty(currentDaysList)){
|
||||
for (String certificationEngineerId : certificationEngineerIdList) {
|
||||
this.sendLarkCardMsgByTemplate(
|
||||
projectLibraryBase,
|
||||
certificationEngineerList,
|
||||
certificationEngineerId,
|
||||
currentDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE7.getValue(),
|
||||
currentDaysList.get(0).getInventoryVerifyEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
// 逾期的
|
||||
List<ProjectCertificationInventoryEO> overdueList = (List<ProjectCertificationInventoryEO>) sendMsgDataListMap.get("overdueList");
|
||||
if(CollectionUtils.isNotEmpty(overdueList)){
|
||||
for (String certificationEngineerId : certificationEngineerIdList) {
|
||||
this.sendLarkCardMsgByTemplate(
|
||||
projectLibraryBase,
|
||||
certificationEngineerList,
|
||||
certificationEngineerId,
|
||||
overdueList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE8.getValue(),
|
||||
overdueList.get(0).getInventoryVerifyEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -193,7 +251,8 @@ public class CertificationInventoryJob implements Job {
|
||||
dutyPersonList,
|
||||
dutyPersonUserId,
|
||||
fourteenDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE19.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE19.getValue(),
|
||||
fourteenDaysList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -205,7 +264,8 @@ public class CertificationInventoryJob implements Job {
|
||||
dutyPersonList,
|
||||
dutyPersonUserId,
|
||||
sevenDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE20.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE20.getValue(),
|
||||
sevenDaysList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -217,7 +277,8 @@ public class CertificationInventoryJob implements Job {
|
||||
dutyPersonList,
|
||||
dutyPersonUserId,
|
||||
currentDaysList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE21.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE21.getValue(),
|
||||
currentDaysList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
// 逾期的
|
||||
@@ -228,7 +289,8 @@ public class CertificationInventoryJob implements Job {
|
||||
dutyPersonList,
|
||||
dutyPersonUserId,
|
||||
overdueList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE22.getValue()
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE22.getValue(),
|
||||
overdueList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -351,6 +413,101 @@ public class CertificationInventoryJob implements Job {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理需要发送消息的数据
|
||||
* @param pciEoList
|
||||
* @return
|
||||
*/
|
||||
private Map<String,Object> disposeSendMsgDataListByInventoryVerifyEndTime(List<ProjectCertificationInventoryEO> pciEoList) {
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
Date currentDate = new Date();
|
||||
|
||||
//获取后三天前的时间
|
||||
Calendar calendar=new GregorianCalendar();
|
||||
calendar.setTime(new Date());
|
||||
calendar.add(Calendar.DATE,3);
|
||||
Date threeDays = calendar.getTime();
|
||||
|
||||
//获取后七天后的时间
|
||||
Calendar sevenCalendar=new GregorianCalendar();
|
||||
sevenCalendar.setTime(new Date());
|
||||
sevenCalendar.add(Calendar.DATE,7);
|
||||
Date sevenDays = sevenCalendar.getTime();
|
||||
|
||||
//获取后十四天后的时间
|
||||
Calendar fourteenCalendar=new GregorianCalendar();
|
||||
fourteenCalendar.setTime(new Date());
|
||||
fourteenCalendar.add(Calendar.DATE,14);
|
||||
Date fourteenDays = fourteenCalendar.getTime();
|
||||
|
||||
String threeDaysStr = sdf.format(threeDays);
|
||||
String sevenDaysStr = sdf.format(sevenDays);
|
||||
String fourteenDaysStr = sdf.format(fourteenDays);
|
||||
String currentDateStr = sdf.format(currentDate);
|
||||
|
||||
// 当天结束的
|
||||
List<ProjectCertificationInventoryEO> currentDaysList = pciEoList.stream().filter(data -> {
|
||||
boolean flag = false;
|
||||
//结束日期是当前日期
|
||||
if(data.getInventoryVerifyEndTime() != null){
|
||||
if (StringUtils.equals(currentDateStr, sdf.format(data.getInventoryVerifyEndTime()))) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 三天后结束的
|
||||
List<ProjectCertificationInventoryEO> threeDaysList = pciEoList.stream().filter(data -> {
|
||||
boolean flag = false;
|
||||
if(data.getInventoryVerifyEndTime() != null){
|
||||
if (StringUtils.equals(threeDaysStr, sdf.format(data.getInventoryVerifyEndTime()))) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 七天后结束的
|
||||
List<ProjectCertificationInventoryEO> sevenDaysList = pciEoList.stream().filter(data -> {
|
||||
boolean flag = false;
|
||||
if(data.getInventoryVerifyEndTime()!=null){
|
||||
if (StringUtils.equals(sevenDaysStr, sdf.format(data.getInventoryVerifyEndTime()))) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 十四天后结束的
|
||||
List<ProjectCertificationInventoryEO> fourteenDaysList = pciEoList.stream().filter(data -> {
|
||||
boolean flag = false;
|
||||
if(data.getInventoryVerifyEndTime() != null){
|
||||
if (StringUtils.equals(fourteenDaysStr, sdf.format(data.getInventoryVerifyEndTime()))) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 逾期的
|
||||
List<ProjectCertificationInventoryEO> overdueList = pciEoList.stream().filter(data -> {
|
||||
// 只要早于当前日期都算逾期
|
||||
boolean flag = false;
|
||||
if(data.getInventoryVerifyEndTime() != null){
|
||||
flag = (data.getInventoryVerifyEndTime().before(currentDate) && !StringUtils.equals(currentDateStr, sdf.format(data.getInventoryVerifyEndTime())));
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
result.put("currentDaysList",currentDaysList);
|
||||
result.put("threeDaysList",threeDaysList);
|
||||
result.put("overdueList",overdueList);
|
||||
result.put("sevenDaysList",sevenDaysList);
|
||||
result.put("fourteenDaysList",fourteenDaysList);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据模板 发送飞书消息
|
||||
* @param projectLibraryBase
|
||||
@@ -358,7 +515,11 @@ public class CertificationInventoryJob implements Job {
|
||||
* @param userId
|
||||
* @param list
|
||||
*/
|
||||
private void sendLarkCardMsgByTemplate(ProjectLibraryBase projectLibraryBase, List<SysUser> userList,String userId,List<ProjectCertificationInventoryEO> list,String templateId) {
|
||||
private void sendLarkCardMsgByTemplate(ProjectLibraryBase projectLibraryBase,
|
||||
List<SysUser> userList,String userId,
|
||||
List<ProjectCertificationInventoryEO> list,
|
||||
String templateId,
|
||||
Date endTime) {
|
||||
String thirdId = this.sysUserService.getUserThirdIdByUserId(userList,userId);
|
||||
|
||||
if(StringUtils.isNotEmpty(thirdId)){
|
||||
@@ -385,7 +546,7 @@ public class CertificationInventoryJob implements Job {
|
||||
templateVariableMap.put("standName",standName);
|
||||
templateVariableMap.put("itemName",itemName);
|
||||
templateVariableMap.put("Initiator", projectLibraryBase.getStudioEngineerName());
|
||||
templateVariableMap.put("endTime", DateUtils.formatDate(list.get(0).getEndTime()));
|
||||
templateVariableMap.put("endTime", DateUtils.formatDate(endTime));
|
||||
templateVariableMap.put("viewBtnUrlCn",hrefFeishu_CN);
|
||||
templateVariableMap.put("viewBtnUrlEn",hrefFeishu_EN);
|
||||
|
||||
|
||||
+6
-1
@@ -16,6 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -225,7 +226,7 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
|
||||
* @param userIdList
|
||||
* @param userInfoList
|
||||
*/
|
||||
void sendMessageByTemplateId(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOS,String templeteId,List<String> userIdList,List<SysUser> userInfoList);
|
||||
void sendMessageByTemplateId(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOS, String templeteId, List<String> userIdList, List<SysUser> userInfoList, Date endTime);
|
||||
|
||||
/**
|
||||
* 数据唯一校验。
|
||||
@@ -248,4 +249,8 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
|
||||
* @return
|
||||
*/
|
||||
Result<?> addConfigByIds(JSONObject json);
|
||||
|
||||
void certificationInventoryEOListSortByEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList);
|
||||
void certificationInventoryEOListSortByInventoryVerifyEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList);
|
||||
void certificationInventoryEOListSortByTaskConfirmEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList);
|
||||
}
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
|
||||
List<ProjectLawsInventoryEO> queryProjectLawsInventoryInfoById(Map<String, Object> params);
|
||||
|
||||
|
||||
void copyInfoByIds(String ids);
|
||||
void copyInfoByIds(String ids,String operateType);
|
||||
|
||||
/**
|
||||
* 批量设置
|
||||
|
||||
+174
-38
@@ -222,7 +222,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
editEndTimeCertificationInventoryEOS,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE14.getValue(),
|
||||
userIdList,
|
||||
userInfoList
|
||||
userInfoList,
|
||||
projectCertificationInventoryEO.getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -248,7 +249,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
editDutyPersonCertificationInventoryEOS,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE15.getValue(),
|
||||
userIdList,
|
||||
userInfoList
|
||||
userInfoList,
|
||||
projectCertificationInventoryEO.getEndTime()
|
||||
);
|
||||
|
||||
// 如果责任人有变更,将之前责任人的待办中心任务,移交给新的责任人。
|
||||
@@ -627,7 +629,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
projectCertificationInventoryEOS,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE14.getValue(),
|
||||
userIdList,
|
||||
userInfoList
|
||||
userInfoList,
|
||||
projectCertificationInventoryEO.getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -663,7 +666,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
* @param templeteId
|
||||
*/
|
||||
@Override
|
||||
public void sendMessageByTemplateId(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOS,String templeteId,List<String> userIdList,List<SysUser> userInfoList){
|
||||
public void sendMessageByTemplateId(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOS,
|
||||
String templeteId,
|
||||
List<String> userIdList,
|
||||
List<SysUser> userInfoList,
|
||||
Date endTime){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectCertificationInventoryEOS.get(0).getProjectLibraryId());
|
||||
@@ -686,8 +693,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
|
||||
if(StringUtils.isNotEmpty(thirdId)){
|
||||
// 根据结束时间进行排序,获取最近的时间,发消息时使用。
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOS);
|
||||
Date endTime = projectCertificationInventoryEOS.get(0).getEndTime();
|
||||
// this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOS);
|
||||
// Date endTime = projectCertificationInventoryEOS.get(0).getEndTime();
|
||||
|
||||
JSONObject larkMesJson = new JSONObject();
|
||||
larkMesJson.put("template_id", templeteId);
|
||||
@@ -989,6 +996,10 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
// }
|
||||
// data.setEndTimeStr(String.valueOf(endTime));
|
||||
// }
|
||||
if(StringUtils.isNotEmpty(data.getAttestationType())){
|
||||
String attestationTypeName = this.sysDictItemService.disposeShowDictItemValue(sysDictItems,data.getAttestationType(),cut, "ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2");
|
||||
data.setAttestationTypeName(attestationTypeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1027,7 +1038,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
if(StringUtils.isEmpty(ids)){
|
||||
throw new JeroBootException("至少选择一条数据进行发布!");
|
||||
}
|
||||
// String endTime = json.getString("endTime");
|
||||
String inventoryVerifyEndTimeStr = json.getString("inventoryVerifyEndTime");
|
||||
Date inventoryVerifyEndTime = DateUtils.str2Date(inventoryVerifyEndTimeStr, DateUtils.date_sdf.get());
|
||||
|
||||
String cut = json.getString("cut");
|
||||
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
@@ -1055,13 +1068,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
// 将数据的状态更新为:清单待校核,更新截止时间。等待认证工程师进行操作。
|
||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
|
||||
// projectCertificationInventoryEO.setEndTime(DateUtils.str2Date(endTime,DateUtils.date_sdf.get()));
|
||||
projectCertificationInventoryEO.setInventoryVerifyEndTime(inventoryVerifyEndTime);
|
||||
}
|
||||
|
||||
this.saveProjectCertificationInventoryLog(projectCertificationInventoryEOList,OperatorTypeEnum.CERTIFICATION_INVENTORY_STUDIO_ISSUE.getValue());
|
||||
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
Date endTime = projectCertificationInventoryEOList.get(0).getEndTime();
|
||||
// this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
// Date endTime = projectCertificationInventoryEOList.get(0).getEndTime();
|
||||
|
||||
String projectLibraryId = json.getString("projectLibraryId");
|
||||
// 获取项目信息,获取认证工程师,给认证工程师分配待办任务
|
||||
@@ -1091,6 +1104,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
processInfoDetailEO.setProcessInfoId(projectLibraryId);
|
||||
processInfoDetailEO.setActiProcInstId(projectLibraryId);
|
||||
processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||
processInfoDetailEO.setEndTime(inventoryVerifyEndTime);
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
|
||||
@@ -1125,7 +1139,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
templateVariableMap.put("projectNameCn",PRN_CN);
|
||||
templateVariableMap.put("projectNameEn",PRN_EN);
|
||||
templateVariableMap.put("Initiator",projectLibraryBase.getStudioEngineerName());
|
||||
templateVariableMap.put("endTime",DateUtils.formatDate(endTime));
|
||||
templateVariableMap.put("endTime",DateUtils.formatDate(inventoryVerifyEndTime));
|
||||
templateVariableMap.put("viewBtnUrlCn",hrefFeishu_CN);
|
||||
templateVariableMap.put("viewBtnUrlEn",hrefFeishu_EN);
|
||||
|
||||
@@ -1660,11 +1674,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
// 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办 flowStatus
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),flowStatus);
|
||||
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
this.sendMessageByTemplateId(
|
||||
projectCertificationInventoryEOList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE24.getValue(),
|
||||
dutyPersonIdList,
|
||||
dutyPersonList
|
||||
dutyPersonList,
|
||||
projectCertificationInventoryEOList.get(0).getEndTime()
|
||||
);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
@@ -1721,12 +1737,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
// 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办 flowStatus
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),flowStatus);
|
||||
|
||||
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
this.sendMessageByTemplateId(
|
||||
projectCertificationInventoryEOList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE25.getValue(),
|
||||
dutyPersonIdList,
|
||||
dutyPersonList
|
||||
dutyPersonList,
|
||||
projectCertificationInventoryEOList.get(0).getEndTime()
|
||||
);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
@@ -1791,6 +1808,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||
throw new JeroBootException("至少选择一条数据流程状态为'结果待提交 或 审查退回'的数据!");
|
||||
}
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
|
||||
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||
|
||||
@@ -1812,6 +1830,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
processInfoDetailEO.setProcessInfoId(projectLibraryBase.getId());
|
||||
processInfoDetailEO.setActiProcInstId(projectLibraryBase.getId());
|
||||
processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||
processInfoDetailEO.setEndTime(projectCertificationInventoryEOList.get(0).getEndTime());
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
// 数据更新为结果待审查
|
||||
@@ -1839,12 +1858,12 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
|
||||
// 给认证工程师分配待办中心的任务 认证工程师审查
|
||||
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.RZGCSSC.getKey());
|
||||
|
||||
this.sendMessageByTemplateId(
|
||||
projectCertificationInventoryEOList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE23.getValue(),
|
||||
certificationEngineerList,
|
||||
certificationEngineers
|
||||
certificationEngineers,
|
||||
projectCertificationInventoryEOList.get(0).getEndTime()
|
||||
);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
@@ -2038,6 +2057,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
|
||||
this.processInfoDetailEOService.update(detailUpdateWrap);
|
||||
|
||||
this.certificationInventoryEOListSortByInventoryVerifyEndTimeAsc(projectCertificationInventoryEOList);
|
||||
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
List<String> certificationEngineerList = Arrays.asList(certificationEngineer.split(","));
|
||||
// 给认证工程师分配任务
|
||||
@@ -2050,6 +2071,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
processInfoDetailEO.setProcessInfoId(projectLibraryBase.getId());
|
||||
processInfoDetailEO.setActiProcInstId(projectLibraryBase.getId());
|
||||
processInfoDetailEO.setFlowType(FlowTypeEnum.CERTIFICATION_LC.getValue());
|
||||
processInfoDetailEO.setEndTime(projectCertificationInventoryEOList.get(0).getInventoryVerifyEndTime());
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
|
||||
@@ -2071,8 +2093,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
|
||||
if(StringUtils.isNotEmpty(thirdId)){
|
||||
// 根据结束时间进行排序,获取最近的时间,发消息时使用。
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
Date endTime = projectCertificationInventoryEOList.get(0).getEndTime();
|
||||
// this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
Date endTime = projectCertificationInventoryEOList.get(0).getInventoryVerifyEndTime();
|
||||
|
||||
JSONObject larkMesJson = new JSONObject();
|
||||
larkMesJson.put("template_id", TemplateInfoEnum2.CERTIFICATION_MESSAGE11.getValue());
|
||||
@@ -2242,6 +2264,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
if(StringUtils.isEmpty(ids)){
|
||||
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||
}
|
||||
String taskConfirmEndTimeStr = json.getString("taskConfirmEndTime");
|
||||
Date taskConfirmEndTime = DateUtils.str2Date(taskConfirmEndTimeStr, DateUtils.date_sdf.get());
|
||||
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
@@ -2277,10 +2302,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
|
||||
projectCertificationInventoryEO.setTaskConfirmEndTime(taskConfirmEndTime);
|
||||
|
||||
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
|
||||
processInfoDetailEO.setUserId(projectCertificationInventoryEO.getDutyPerson());
|
||||
processInfoDetailEO.setEndTime(projectCertificationInventoryEO.getEndTime());
|
||||
processInfoDetailEO.setEndTime(taskConfirmEndTime);
|
||||
processInfoDetailEO.setProjectLawsInventoryId(projectCertificationInventoryEO.getId());
|
||||
processInfoDetailEOList.add(processInfoDetailEO);
|
||||
}
|
||||
@@ -2314,8 +2340,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
|
||||
if(StringUtils.isNotEmpty(thirdId)){
|
||||
// 根据结束时间进行排序,获取最近的时间,发消息时使用。
|
||||
this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
Date endTime = projectCertificationInventoryEOList.get(0).getEndTime();
|
||||
// this.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
// Date endTime = projectCertificationInventoryEOList.get(0).getEndTime();
|
||||
|
||||
JSONObject larkMesJson = new JSONObject();
|
||||
larkMesJson.put("template_id", TemplateInfoEnum2.CERTIFICATION_MESSAGE10.getValue());
|
||||
@@ -2327,7 +2353,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
templateVariableMap.put("standName",standName);
|
||||
templateVariableMap.put("itemName",itemName);
|
||||
templateVariableMap.put("Initiator",projectLibraryBase.getStudioEngineerName());
|
||||
templateVariableMap.put("endTime",DateUtils.formatDate(endTime));
|
||||
templateVariableMap.put("endTime",DateUtils.formatDate(taskConfirmEndTime));
|
||||
templateVariableMap.put("viewBtnUrlCn",hrefFeishu_CN);
|
||||
templateVariableMap.put("viewBtnUrlEn",hrefFeishu_EN);
|
||||
templateVariableMap.put("certificationEngineer",currentUser.getUsername());
|
||||
@@ -2353,7 +2379,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
* 认证清单数据排序,根据截至时间顺序排序
|
||||
* @param projectCertificationInventoryEOList
|
||||
*/
|
||||
private void certificationInventoryEOListSortByEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList) {
|
||||
@Override
|
||||
public void certificationInventoryEOListSortByEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList) {
|
||||
Collections.sort(projectCertificationInventoryEOList, new Comparator<ProjectCertificationInventoryEO>() {
|
||||
@Override
|
||||
public int compare(ProjectCertificationInventoryEO p1, ProjectCertificationInventoryEO p2) {
|
||||
@@ -2365,6 +2392,39 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 认证清单数据排序,根据清单校核截至时间顺序排序
|
||||
* @param pciEoList
|
||||
*/
|
||||
@Override
|
||||
public void certificationInventoryEOListSortByInventoryVerifyEndTimeAsc(List<ProjectCertificationInventoryEO> pciEoList) {
|
||||
Collections.sort(pciEoList, new Comparator<ProjectCertificationInventoryEO>() {
|
||||
@Override
|
||||
public int compare(ProjectCertificationInventoryEO p1, ProjectCertificationInventoryEO p2) {
|
||||
if(p1.getInventoryVerifyEndTime() != null && p2.getInventoryVerifyEndTime() != null){
|
||||
return p1.getInventoryVerifyEndTime().compareTo(p2.getInventoryVerifyEndTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 认证清单数据排序,根据任务确认截至时间顺序排序
|
||||
* @param pciEoList
|
||||
*/
|
||||
@Override
|
||||
public void certificationInventoryEOListSortByTaskConfirmEndTimeAsc(List<ProjectCertificationInventoryEO> pciEoList) {
|
||||
Collections.sort(pciEoList, new Comparator<ProjectCertificationInventoryEO>() {
|
||||
@Override
|
||||
public int compare(ProjectCertificationInventoryEO p1, ProjectCertificationInventoryEO p2) {
|
||||
if(p1.getTaskConfirmEndTime() != null && p2.getTaskConfirmEndTime() != null){
|
||||
return p1.getTaskConfirmEndTime().compareTo(p2.getTaskConfirmEndTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> saveBatch(JSONObject json) {
|
||||
Date now = new Date();
|
||||
@@ -2633,7 +2693,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
projectCertificationInventoryEOList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE17.getValue(),
|
||||
userIdList,
|
||||
userInfoList
|
||||
userInfoList,
|
||||
projectCertificationInventoryEOList.get(0).getEndTime()
|
||||
);
|
||||
|
||||
// 获取认证清单 - 飞书跳转链接
|
||||
@@ -2709,13 +2770,12 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
*/
|
||||
String operatorType = json.getString("operatorType");
|
||||
if(StringUtils.equals(operatorType,OperatorTypeEnum.CERTIFICATION_INVENTORY_STUDIO_EXPEDITING.getValue())){
|
||||
List<ProjectCertificationInventoryEO> certificationInventoryEOList = projectCertificationInventoryEOList.stream().filter(data -> {
|
||||
return (StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
|| StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue())
|
||||
|| StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()));
|
||||
// 结果待审查
|
||||
List<ProjectCertificationInventoryEO> toBeReviewedCiEoList = projectCertificationInventoryEOList.stream().filter(data -> {
|
||||
return (StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()));
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(CollectionUtils.isNotEmpty(certificationInventoryEOList)){
|
||||
if(CollectionUtils.isNotEmpty(toBeReviewedCiEoList)){
|
||||
String certificationEngineerIds = projectLibraryBase.getCertificationEngineer();
|
||||
if(StringUtils.isNotEmpty(certificationEngineerIds)){
|
||||
List<String> certificationEngineerIdList = Arrays.asList(certificationEngineerIds.split(","));
|
||||
@@ -2723,7 +2783,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
List<SysUser> certificationEngineerList = this.sysUserService.querySysUserListByIdList(certificationEngineerIdList);
|
||||
|
||||
// 根据结束时间进行排序,获取最近的时间,发消息时使用。
|
||||
Collections.sort(certificationInventoryEOList, new Comparator<ProjectCertificationInventoryEO>() {
|
||||
Collections.sort(toBeReviewedCiEoList, new Comparator<ProjectCertificationInventoryEO>() {
|
||||
@Override
|
||||
public int compare(ProjectCertificationInventoryEO p1, ProjectCertificationInventoryEO p2) {
|
||||
if(p1.getEndTime() != null && p2.getEndTime() != null){
|
||||
@@ -2732,9 +2792,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
Date endTime = certificationInventoryEOList.get(0).getEndTime();
|
||||
Date endTime = toBeReviewedCiEoList.get(0).getEndTime();
|
||||
|
||||
Map<String, Object> standNameAndItemName = this.getStandNameAndItemName(certificationInventoryEOList);
|
||||
Map<String, Object> standNameAndItemName = this.getStandNameAndItemName(toBeReviewedCiEoList);
|
||||
String standName = (String) standNameAndItemName.get("standName");
|
||||
String itemName = (String) standNameAndItemName.get("itemName");
|
||||
|
||||
@@ -2768,6 +2828,65 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 清单待校核、责任人拒绝
|
||||
List<ProjectCertificationInventoryEO> toBeCheckedCiEoList = projectCertificationInventoryEOList.stream().filter(data -> {
|
||||
return (StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
|| StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()));
|
||||
}).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(toBeCheckedCiEoList)) {
|
||||
String certificationEngineerIds = projectLibraryBase.getCertificationEngineer();
|
||||
if(StringUtils.isNotEmpty(certificationEngineerIds)){
|
||||
List<String> certificationEngineerIdList = Arrays.asList(certificationEngineerIds.split(","));
|
||||
|
||||
List<SysUser> certificationEngineerList = this.sysUserService.querySysUserListByIdList(certificationEngineerIdList);
|
||||
|
||||
// 根据结束时间进行排序,获取最近的时间,发消息时使用。
|
||||
Collections.sort(toBeCheckedCiEoList, new Comparator<ProjectCertificationInventoryEO>() {
|
||||
@Override
|
||||
public int compare(ProjectCertificationInventoryEO p1, ProjectCertificationInventoryEO p2) {
|
||||
if(p1.getInventoryVerifyEndTime() != null && p2.getInventoryVerifyEndTime() != null){
|
||||
return p1.getInventoryVerifyEndTime().compareTo(p2.getInventoryVerifyEndTime());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
Date inventoryVerifyEndTime = toBeCheckedCiEoList.get(0).getInventoryVerifyEndTime();
|
||||
|
||||
Map<String, Object> standNameAndItemName = this.getStandNameAndItemName(toBeCheckedCiEoList);
|
||||
String standName = (String) standNameAndItemName.get("standName");
|
||||
String itemName = (String) standNameAndItemName.get("itemName");
|
||||
|
||||
if(CollectionUtils.isNotEmpty(certificationEngineerList)){
|
||||
for (String certificationEngineerId : certificationEngineerIdList) {
|
||||
String thirdId = this.sysUserService.getUserThirdIdByUserId(certificationEngineerList,certificationEngineerId);
|
||||
|
||||
if(StringUtils.isNotEmpty(thirdId)){
|
||||
try {
|
||||
JSONObject larkMesJson = new JSONObject();
|
||||
larkMesJson.put("template_id", TemplateInfoEnum2.CERTIFICATION_MESSAGE1.getValue());
|
||||
larkMesJson.put("userIds",thirdId);
|
||||
|
||||
Map<String,Object> templateVariableMap = new HashMap<>();
|
||||
templateVariableMap.put("projectNameCn",PRN_CN);
|
||||
templateVariableMap.put("projectNameEn",PRN_EN);
|
||||
templateVariableMap.put("standName",standName);
|
||||
templateVariableMap.put("itemName",itemName);
|
||||
templateVariableMap.put("Initiator",projectLibraryBase.getStudioEngineerName());
|
||||
templateVariableMap.put("endTime",DateUtils.formatDate(inventoryVerifyEndTime));
|
||||
templateVariableMap.put("viewBtnUrlCn",hrefFeishu_CN);
|
||||
templateVariableMap.put("viewBtnUrlEn",hrefFeishu_EN);
|
||||
|
||||
larkMesJson.put("templateVariableMap",templateVariableMap);
|
||||
this.feishuService.batchSendLarkCardMsgByTemplate2(larkMesJson);
|
||||
} catch (Exception e) {
|
||||
log.error("飞书消息推送失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<String> dutyPersonIdList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getDutyPerson).distinct().collect(Collectors.toList());
|
||||
@@ -2792,13 +2911,16 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
this.certificationInventoryEOListSortByTaskConfirmEndTimeAsc(toBeConfirmedPciEoList);
|
||||
if (CollectionUtils.isNotEmpty(toBeConfirmedPciEoList)) {
|
||||
Date taskConfirmEndTime = toBeConfirmedPciEoList.get(0).getTaskConfirmEndTime();
|
||||
// 给责任人发消息
|
||||
this.sendMessageByTemplateId(
|
||||
toBeConfirmedPciEoList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE16.getValue(),
|
||||
userIdList,
|
||||
dutyPersonList
|
||||
dutyPersonList,
|
||||
taskConfirmEndTime
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2812,12 +2934,14 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isNotEmpty(toBeSubmitOrReturnPciEoList)) {
|
||||
this.certificationInventoryEOListSortByTaskConfirmEndTimeAsc(toBeSubmitOrReturnPciEoList);
|
||||
// 给责任人发消息
|
||||
this.sendMessageByTemplateId(
|
||||
toBeSubmitOrReturnPciEoList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE18.getValue(),
|
||||
userIdList,
|
||||
dutyPersonList
|
||||
dutyPersonList,
|
||||
toBeSubmitOrReturnPciEoList.get(0).getTaskConfirmEndTime()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3139,11 +3263,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
String title = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
title = "*类别,*检验项目,*配置项,*WVTA ID," +
|
||||
"*标准编号,*责任领域,*工程接口人,*责任人," +
|
||||
"*标准编号,*责任领域,*认证类型,*工程接口人,*责任人," +
|
||||
"交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称";
|
||||
}else {
|
||||
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
|
||||
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
|
||||
"*Standard No,*Responsible Field,*Certification Type,*Eng. Interface,*Assignee," +
|
||||
"Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer";
|
||||
}
|
||||
|
||||
@@ -3496,6 +3620,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
//交付物模板
|
||||
String deliverableTemplate = projectCertificationInventoryEO.getDeliverableTemplateName();
|
||||
|
||||
// 认证类型
|
||||
String attestationTypeName = projectCertificationInventoryEO.getAttestationTypeName();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3656,6 +3783,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
}
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(attestationTypeName)) {
|
||||
value = pullMore(dictItemList, projectCertificationInventoryEO, errorMsg, attestationTypeName,msgList,"认证类型","Certification Type","ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectCertificationInventoryEO.setAttestationType(value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return msgList;
|
||||
}
|
||||
@@ -4313,6 +4447,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
case "*WVTA ID": return "wvtaId";
|
||||
case "*标准编号": return "serialNumber";
|
||||
case "*责任领域": return "dutyTerritoryName";
|
||||
case "*认证类型": return "attestationTypeName";
|
||||
case "*工程接口人": return "sdtName";
|
||||
case "*责任人": return "dutyPersonName";
|
||||
case "*交付物类型": return "deliverableTypeName";
|
||||
@@ -4331,6 +4466,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
case "*Configuration Item": return "configItem";
|
||||
case "*Standard No": return "serialNumber";
|
||||
case "*Responsible Field": return "dutyTerritoryName";
|
||||
case "*Certification Type": return "attestationTypeName";
|
||||
case "*Eng. Interface": return "sdtName";
|
||||
case "*Assignee": return "dutyPersonName";
|
||||
case "*Deliverable Type": return "deliverableTypeNameEn";
|
||||
@@ -4366,11 +4502,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
String title = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
title = "*类别,*检验项目,*配置项,*WVTA ID," +
|
||||
"*标准编号,*责任领域,*工程接口人,*责任人," +
|
||||
"*标准编号,*责任领域,*认证类型,*工程接口人,*责任人," +
|
||||
"交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称";
|
||||
}else {
|
||||
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
|
||||
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
|
||||
"*Standard No,*Responsible Field,*Certification Type,*Eng. Interface,*Assignee," +
|
||||
"Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer";
|
||||
}
|
||||
|
||||
|
||||
+11
-3
@@ -4163,7 +4163,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
|
||||
@Override
|
||||
public void copyInfoByIds(String ids) {
|
||||
public void copyInfoByIds(String ids,String operateType) {
|
||||
if(org.apache.commons.lang3.StringUtils.isNotBlank(ids)){
|
||||
LambdaQueryWrapper<ProjectLawsInventoryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ProjectLawsInventoryEO::getId,Arrays.asList(ids.split(",")));
|
||||
@@ -4185,8 +4185,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
projectLawsInventoryEO.setVerifyDueDate(null);*/
|
||||
projectLawsInventoryEO.setInventoryAffirmDueDate(null);
|
||||
projectLawsInventoryEO.setTaskAffirmDueDate(null);
|
||||
projectLawsInventoryEO.setDesignFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||
projectLawsInventoryEO.setVerifyFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||
|
||||
// 修改UAT问题清单,122条,法规工程师复制,将流程状态设置为 待校核 -> 对应现在的 任务待发起
|
||||
if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_STUDIO_COPY.getValue())){
|
||||
projectLawsInventoryEO.setDesignFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||
projectLawsInventoryEO.setVerifyFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||
}else if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_REGULATION_OWNER_COPY.getValue())){
|
||||
projectLawsInventoryEO.setDesignFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
|
||||
projectLawsInventoryEO.setVerifyFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
|
||||
}
|
||||
|
||||
|
||||
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
|
||||
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
|
||||
|
||||
+3
-1
@@ -437,12 +437,14 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
certificationInventoryEOQueryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.projectCertificationInventoryEOService.list(certificationInventoryEOQueryWrapper);
|
||||
if(CollectionUtils.isNotEmpty(projectCertificationInventoryEOList)){
|
||||
this.projectCertificationInventoryEOService.certificationInventoryEOListSortByEndTimeAsc(projectCertificationInventoryEOList);
|
||||
List<SysUser> userInfoList = this.sysUserService.querySysUserListByIdList(originalCertificationEngineerIdList);
|
||||
this.projectCertificationInventoryEOService.sendMessageByTemplateId(
|
||||
projectCertificationInventoryEOList,
|
||||
TemplateInfoEnum2.CERTIFICATION_MESSAGE13.getValue(),
|
||||
originalCertificationEngineerIdList,
|
||||
userInfoList
|
||||
userInfoList,
|
||||
projectCertificationInventoryEOList.get(0).getEndTime()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -245,7 +245,7 @@
|
||||
pid.end_time
|
||||
from
|
||||
process_info_detail pid
|
||||
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1
|
||||
where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' and pid.end_time is not null order by pid.end_time asc limit 1
|
||||
) as end_time,
|
||||
<!--(
|
||||
case when flow_type = '21' then
|
||||
|
||||
+53
@@ -766,6 +766,59 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
data.setTaskDefinitionKeyName(taskDefinitionKeyName);
|
||||
}
|
||||
// 如果是Pre-Homo流程
|
||||
if(StringUtils.equals(data.getFlowType(),FlowTypeEnum.CERTIFICATION_LC.getValue())){
|
||||
String taskDefinitionKey = "";
|
||||
|
||||
String processInfoId = data.getId();
|
||||
Date preHomoEndTime = data.getEndTime();
|
||||
|
||||
List<ProcessInfoDetailEO> pidEoListTemp = processInfoDetailEOList.stream().filter(pidEo -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(processInfoId, pidEo.getProcessInfoId()) && pidEo.getEndTime() != null) {
|
||||
if(pidEo.getEndTime().equals(preHomoEndTime)){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
boolean qdjhFlag = false; // 清单校核标识
|
||||
boolean rwzrqrFlag = false; // 任务责任确认标识
|
||||
boolean rwblFlag = false; // 任务办理标识
|
||||
boolean rwscFlag = false; // 任务审查标识
|
||||
for (ProcessInfoDetailEO pidEo : pidEoListTemp) {
|
||||
if(pidEo.getEndTime() == null){
|
||||
continue;
|
||||
}
|
||||
if (StringUtils.equals(processInfoId, pidEo.getProcessInfoId()) && StringUtils.equals(pidEo.getStatus(),TaskStatusEnum.NOT_DONE.getValue())) {
|
||||
if(StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.RZGCSJSRW.getKey())){
|
||||
qdjhFlag = true;
|
||||
}
|
||||
if(StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.ZRRJSRW.getKey())){
|
||||
rwzrqrFlag = true;
|
||||
}
|
||||
if(StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.ZRRTJRW.getKey())){
|
||||
rwblFlag = true;
|
||||
}
|
||||
if(StringUtils.equals(pidEo.getTaskDefinitionKey(), CertificationFlowNodeEnum.RZGCSSC.getKey())){
|
||||
rwscFlag = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(qdjhFlag){
|
||||
taskDefinitionKey = CertificationFlowNodeEnum.CHECKLIST_VERIFICATION.getKey();
|
||||
}else if(rwzrqrFlag){
|
||||
taskDefinitionKey = CertificationFlowNodeEnum.TASK_RESPONSIBILITY_CONFIRMATION.getKey();
|
||||
}else if(rwblFlag){
|
||||
taskDefinitionKey = CertificationFlowNodeEnum.TASK_HANDLING.getKey();
|
||||
}else if(rwscFlag){
|
||||
taskDefinitionKey = CertificationFlowNodeEnum.TASK_REVIEW.getKey();
|
||||
}
|
||||
|
||||
data.setTaskDefinitionKeyName(CertificationFlowNodeEnum.getTextByValue(taskDefinitionKey,cut));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ const editDictItem = (params)=>putAction("/sys/dictItem/edit",params);
|
||||
|
||||
//字典标签专用(通过code获取字典数组)
|
||||
export const ajaxGetDictItems = (code, params)=>getAction(`/sys/dict/getDictItems/${code}`,params);
|
||||
export const getDutyTerritoryDictItems = (code, params)=>getAction(`/sys/dict/getDutyTerritoryDictItems/${code}`,params);
|
||||
//从缓存中获取字典配置
|
||||
function getDictItemsFromCache(dictCode) {
|
||||
if (Vue.ls.get(UI_CACHE_DB_DICT_DATA) && Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]) {
|
||||
|
||||
@@ -1790,4 +1790,10 @@ module.exports = {
|
||||
history:'History',
|
||||
deliveryDate:'Delivery Date',
|
||||
regulatoryEngineerReturns:'Regulatory engineer returns',
|
||||
designProcessStatus:'Design Process Status',
|
||||
verifyProcessStatus:'Verify Process Status',
|
||||
design:'Design',
|
||||
verify:'Verify',
|
||||
inventoryVerifyEndTime:'Inventory Verify End Time',
|
||||
taskConfirmEndTime:'Task Confirm End Time',
|
||||
}
|
||||
@@ -1892,4 +1892,10 @@ module.exports = {
|
||||
history:'历史',
|
||||
deliveryDate:'交付日期',
|
||||
regulatoryEngineerReturns:'法规工程师退回',
|
||||
designProcessStatus:'设计流程状态',
|
||||
verifyProcessStatus:'验证流程状态',
|
||||
design:'设计',
|
||||
verify:'验证',
|
||||
inventoryVerifyEndTime:'清单校核截止时间',
|
||||
taskConfirmEndTime:'责任确认截止时间',
|
||||
}
|
||||
@@ -25,7 +25,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
|
||||
import { ajaxGetDictItems, getDictItemsFromCache, getDutyTerritoryDictItems } from '@/api/api'
|
||||
|
||||
export default {
|
||||
name: 'JDictSelectTag',
|
||||
@@ -88,12 +88,22 @@
|
||||
}
|
||||
|
||||
//根据字典Code, 初始化字典数组
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
if (this.dictCode == 'duty_territory'){
|
||||
getDutyTerritoryDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log(res.result);
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
}else{
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log(res.result);
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
handleInput(e) {
|
||||
let val
|
||||
@@ -109,7 +119,7 @@
|
||||
}
|
||||
})
|
||||
if (this.triggerChange) {
|
||||
this.$emit('change', val,content)
|
||||
this.$emit('change', val, content)
|
||||
} else {
|
||||
this.$emit('input', val)
|
||||
this.$emit('changeQuery', content, this.db_field_name)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
|
||||
import { ajaxGetDictItems, getDictItemsFromCache,getDutyTerritoryDictItems } from '@/api/api'
|
||||
|
||||
export default {
|
||||
name: 'JMultiSelectTag',
|
||||
@@ -117,11 +117,21 @@
|
||||
return
|
||||
}
|
||||
//根据字典Code, 初始化字典数组
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
if (this.dictCode == 'duty_territory'){
|
||||
getDutyTerritoryDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log(res.result);
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
}else{
|
||||
ajaxGetDictItems(this.dictCode, null).then((res) => {
|
||||
if (res.success) {
|
||||
// console.log(res.result);
|
||||
this.dictOptions = res.result
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
v-else-if="item.type == 'Personnel'"
|
||||
:query="{db_field_name:'valueId',db_field_txt:'',subscript:index}"
|
||||
:isInput="true"
|
||||
:isClass="true"
|
||||
:isClass="false"
|
||||
:personneQuery="item"
|
||||
@change="PersonnelSelectionChange"
|
||||
v-model="item.valueName"/>
|
||||
@@ -197,12 +197,22 @@
|
||||
<a-select
|
||||
v-else-if="item.options instanceof Array"
|
||||
v-model="item.val"
|
||||
:options="item.options"
|
||||
allowClear
|
||||
show-search
|
||||
optionFilterProp="label"
|
||||
class="item-input"
|
||||
:placeholder="$t('pleaseSelect')"
|
||||
:mode="allowMultiple(item)?'multiple':''"
|
||||
/>
|
||||
>
|
||||
<a-select-option v-for="(itemEl, key) in item.options"
|
||||
:key="key"
|
||||
:label="itemEl.text || itemEl.label"
|
||||
:value="itemEl.value">
|
||||
<span class="itemOption-index" :title=" itemEl.text || itemEl.label ">
|
||||
{{ itemEl.text || itemEl.label }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<j-area-linkage v-model="item.val" v-else-if="item.type==='area-linkage' || item.type==='pca'"
|
||||
style="width: 100%;display: inline-block"/>
|
||||
<j-date v-else-if=" item.type=='date' " v-model="item.val"
|
||||
@@ -783,4 +793,12 @@
|
||||
::v-deep .ant-select{
|
||||
height: 38px;
|
||||
}
|
||||
.itemOption-index {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-o-text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
@@ -101,7 +101,7 @@
|
||||
{{$t('CustomExport')}}
|
||||
</div>
|
||||
<!-- 列表设置-->
|
||||
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirm"
|
||||
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirmClassName"
|
||||
placement="bottomRight" v-if="!this.$route.query.it">
|
||||
<template slot="title" id="popconfirmmize">
|
||||
<div style="max-height:360px;overflow:scroll;overflow-x: auto;width: 211px">
|
||||
@@ -896,16 +896,16 @@
|
||||
}
|
||||
</style>
|
||||
<style lang="less" scoped>
|
||||
/deep/.popconfirm {
|
||||
/deep/.popconfirmClassName {
|
||||
z-index: 999;
|
||||
width: 264px
|
||||
}
|
||||
|
||||
.popconfirm .ant-popover-buttons {
|
||||
.popconfirmClassName .ant-popover-buttons {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.popconfirm .anticon-exclamation-circle {
|
||||
.popconfirmClassName .anticon-exclamation-circle {
|
||||
display: none !important;
|
||||
}
|
||||
::v-deep .ant-table-fixed-header .ant-table-body-inner {
|
||||
@@ -931,7 +931,7 @@ popconfirmmize {
|
||||
}
|
||||
</style>
|
||||
<style lang='less'>
|
||||
.popconfirm .ant-popover-message-title {
|
||||
.popconfirmClassName .ant-popover-message-title {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
</style>
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
.flow-chart {
|
||||
width: 100%;
|
||||
height: 40%;
|
||||
height: 62%;
|
||||
background: #F0F0F0;
|
||||
border: 1px solid #CCCDCE;
|
||||
border-bottom: none;
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
'1': '法规工程师',
|
||||
'2': '认证工程师',
|
||||
'4': '法规工程师/认证工程师',
|
||||
'11': '领导角色',
|
||||
'11': 'R&H Manager',
|
||||
'12': '系统管理员',
|
||||
'13': 'Viewer',
|
||||
'14': '品牌管理员',
|
||||
|
||||
+161
-120
@@ -161,66 +161,20 @@
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
:title="$t('certificationType')">{{$t('certificationType')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
style="display: inline-block"
|
||||
:prop="'dataList.'+index+'.deliverableType'"
|
||||
:rules="[{ required: true, message: $t('typeOfDeliverables') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
<a-form-model-item class="itemModel-multi"
|
||||
:prop="'dataList.'+index+'.attestationType'"
|
||||
:rules="[{ required: true, message: $t('certificationType') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
>
|
||||
<!--
|
||||
:maxTagCount="1"
|
||||
tree-checkable-->
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="item.deliverableType"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
<j-multi-select-tag class="box-input" v-model="item.attestationType"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationType')"
|
||||
:type="'select'"
|
||||
:triggerChange="false"
|
||||
:dictCode="'ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('certificationType')">{{$t('certificationType')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-multi"-->
|
||||
<!-- :prop="'dataList.'+index+'.attestationType'"-->
|
||||
<!-- :rules="[{ required: true, message: $t('certificationType') + $t('cannotEmpty'), trigger: 'change'},]"-->
|
||||
<!-- >-->
|
||||
<!-- <j-multi-select-tag class="box-input" v-model="item.attestationType"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('certificationType')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('deliverableTemplate',index,true)">
|
||||
{{ (item.deliverableTemplate === 'null' || item.deliverableTemplate === ''
|
||||
||
|
||||
item.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -249,7 +203,55 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
style="display: inline-block"
|
||||
:prop="'dataList.'+index+'.deliverableType'"
|
||||
:rules="[{ required: true, message: $t('typeOfDeliverables') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
>
|
||||
<!--
|
||||
:maxTagCount="1"
|
||||
tree-checkable-->
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="item.deliverableType"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('deliverableTemplate',index,true)">
|
||||
{{ (item.deliverableTemplate === 'null' || item.deliverableTemplate === ''
|
||||
||
|
||||
item.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -374,67 +376,26 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
style="display: inline-block"
|
||||
:prop="'deliverableType'"
|
||||
>
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.deliverableType"
|
||||
:maxTagCount="1"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('certificationType')">{{$t('certificationType')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel-multi"-->
|
||||
<!-- :prop="'dataList.'+index+'.attestationType'"-->
|
||||
<!-- :rules="[{ required: true, message: $t('certificationType') + $t('cannotEmpty'), trigger: 'change'},]"-->
|
||||
<!-- >-->
|
||||
<!-- <j-multi-select-tag class="box-input" v-model="item.attestationType"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('certificationType')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2'"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
|
||||
:title="$t('certificationType')">{{$t('certificationType')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('deliverableTemplate')">
|
||||
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
|
||||
||
|
||||
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
<a-form-model-item class="itemModel-multi"
|
||||
:prop="'attestationType'"
|
||||
:rules="[{ required: true, message: $t('certificationType') + $t('cannotEmpty'), trigger: 'change'},]"
|
||||
>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.attestationType"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationType')"
|
||||
:type="'select'"
|
||||
:triggerChange="false"
|
||||
:dictCode="'ren4_zheng4_qing1_dan1_-_ren4_zheng4_lei4_xing2'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -464,25 +425,46 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.deliverableType != '1635545748968783874'">*</span>
|
||||
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="formInline.deliverableType == '1635545748968783874'?'':'endTime'"
|
||||
:rules="[{ required: formInline.deliverableType == '1635545748968783874'?false:true,
|
||||
message: $t('closingDate') + $t('cannotEmpty'), trigger: 'change'}]"
|
||||
style="display: inline-block"
|
||||
:prop="'deliverableType'"
|
||||
>
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('closingDate')"
|
||||
@change="dateChange({db_field_name:'endTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.endTime"
|
||||
style="width: 100%"/>
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.deliverableType"
|
||||
:maxTagCount="1"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="DeliverableTreeList"
|
||||
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="deliverableTemplate">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('deliverableTemplate')">
|
||||
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
|
||||
||
|
||||
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -511,6 +493,65 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="formInline.deliverableType != '1635545748968783874'">*</span>
|
||||
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="formInline.deliverableType == '1635545748968783874'?'':'endTime'"
|
||||
:rules="[{ required: formInline.deliverableType == '1635545748968783874'?false:true,
|
||||
message: $t('closingDate') + $t('cannotEmpty'), trigger: 'change'}]"
|
||||
>
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('closingDate')"
|
||||
@change="dateChange({db_field_name:'endTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.endTime"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12" v-if="formInline.inventoryVerifyEndTime">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('inventoryVerifyEndTime')">{{$t('inventoryVerifyEndTime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-date-picker class="box-input"
|
||||
@change="dateChange({db_field_name:'inventoryVerifyEndTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabled="true"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.inventoryVerifyEndTime"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12" v-if="formInline.taskConfirmEndTime">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('taskConfirmEndTime')">{{$t('taskConfirmEndTime')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-date-picker class="box-input"
|
||||
@change="dateChange({db_field_name:'taskConfirmEndTime'})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabled="true"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline.taskConfirmEndTime"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
<!-- <a-row :gutter="24">-->
|
||||
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
<template>
|
||||
<a-modal
|
||||
:title="title"
|
||||
:width="500"
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text-index">
|
||||
<div class="title-text-index" style="width: 100px">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('cutoffTime')">
|
||||
{{ $t('cutoffTime') }}
|
||||
</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 120px)" :prop="queryData.dutyDueDate">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
|
||||
@change="dateChange({'db_field_name':queryData.dutyDueDate})"
|
||||
format="YYYY-MM-DD"
|
||||
:disabledDate="disabledDate"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
v-model="formInline[queryData.dutyDueDate]"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-spin>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'deadlineForm',
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
formInline: {},
|
||||
rules: {},
|
||||
queryData:{},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getData(val) {
|
||||
this.queryData = val
|
||||
this.title = val.title
|
||||
this.visible = true
|
||||
this.formInline = {}
|
||||
this.confirmLoading = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
this.rules[val.dutyDueDate] = [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('cutoffTime') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
},
|
||||
]
|
||||
})
|
||||
},
|
||||
handleOk() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
this.$emit('deadlineDataForm', this.queryData,this.formInline)
|
||||
this.confirmLoading = true
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
//时间禁用
|
||||
disabledDate(current) {
|
||||
return current && current < moment().subtract(1, 'day')
|
||||
},
|
||||
dateChange(item) {
|
||||
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.box-title-text-index {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.title-text-index {
|
||||
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;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: calc(100% - 120px);
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.Required {
|
||||
color: red;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -423,6 +423,7 @@
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
<reasonForReturn ref="reasonForReturnRef" @reasonForReturnForm="reasonForReturnForm"/>
|
||||
<addConfiguration ref="addConfigurationRef" @addConfigurationForm="transferListForm"/>
|
||||
<deadlineForm ref="deadlineFormRef" @deadlineDataForm="deadlineDataForm"/>
|
||||
<JLoading :loading="JTextLoading">{{ $t('Submitting') }}</JLoading>
|
||||
<!-- <a-modal-->
|
||||
<!-- :title="listTitle"-->
|
||||
@@ -510,6 +511,7 @@
|
||||
import SelectedBy from '@/components/SelectedBy/index'
|
||||
import reasonForReturn from './components/reasonForReturn'
|
||||
import addConfiguration from './components/addConfiguration'
|
||||
import deadlineForm from './components/deadlineForm'
|
||||
import referenceDeliverablesList from './components/referenceDeliverablesList'
|
||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
||||
@@ -534,7 +536,8 @@
|
||||
SelectedBy,
|
||||
viewFileModel,
|
||||
reasonForReturn,
|
||||
addConfiguration
|
||||
addConfiguration,
|
||||
deadlineForm
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -549,9 +552,9 @@
|
||||
'In progress': 'TrackedColor',
|
||||
'NA': 'notInvolvedColor',
|
||||
'Not start': 'submittedColor',
|
||||
'25181c5a4c044001b4beca539c77a5c8':'accordColor',
|
||||
'0a384b5475554ae8886b950730a3bff7':'accordColor',
|
||||
'7cba3c71fd24421eade54c685e3b4444':'TrackedColor',
|
||||
'25181c5a4c044001b4beca539c77a5c8': 'accordColor',
|
||||
'0a384b5475554ae8886b950730a3bff7': 'accordColor',
|
||||
'7cba3c71fd24421eade54c685e3b4444': 'TrackedColor'
|
||||
},
|
||||
fieldList: [
|
||||
{
|
||||
@@ -688,6 +691,13 @@
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('certificationType'),
|
||||
align: 'left',
|
||||
dataIndex: 'attestationTypeName',
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('engineeringInterfacePerson'),
|
||||
align: 'left',
|
||||
@@ -986,9 +996,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!isTrue){
|
||||
this.$refs.batSettingRef.edit(JSON.parse(JSON.stringify(this.selectedRowKeys)), name,this.selectedRowKeysList[0])
|
||||
}else{
|
||||
if (!isTrue) {
|
||||
this.$refs.batSettingRef.edit(JSON.parse(JSON.stringify(this.selectedRowKeys)), name, this.selectedRowKeysList[0])
|
||||
} else {
|
||||
this.$refs.batSettingRef.edit(JSON.parse(JSON.stringify(this.selectedRowKeys)), name)
|
||||
}
|
||||
|
||||
@@ -1151,7 +1161,15 @@
|
||||
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataListReleasedAndCertificationReturnCanSelected')
|
||||
}
|
||||
if (ids && ids.length > 0) {
|
||||
this.releaseData(ids, notConditions, data)
|
||||
// this.releaseData(ids, notConditions, data)
|
||||
let query = {
|
||||
ids: ids,
|
||||
notConditions: notConditions,
|
||||
data: data,
|
||||
dutyDueDate: 'inventoryVerifyEndTime',
|
||||
title: this.$t('release')
|
||||
}
|
||||
this.$refs.deadlineFormRef.getData(JSON.parse(JSON.stringify(query)))
|
||||
} else {
|
||||
this.failedMessage(data)
|
||||
}
|
||||
@@ -1159,29 +1177,72 @@
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
releaseData(ids, notConditions, data) {
|
||||
deadlineDataForm(val, formInline) {
|
||||
if (val.title == this.$t('release')) {
|
||||
this.releaseData(val.ids, val.notConditions, val.data, formInline)
|
||||
} else if (val.title == this.$t('initiateTask')) {
|
||||
this.initiateTaskClick(val, formInline)
|
||||
}
|
||||
},
|
||||
releaseData(ids, notConditions, data, formInline) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('confirmRelease'),
|
||||
onOk() {
|
||||
postAction('/project/projectCertificationInventoryEO/issue', {
|
||||
ids: ids.join(','),
|
||||
projectLibraryId: _this.$route.query.id
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.selectedRowKeysList = []
|
||||
_this.getList()
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
_this.failedMessage(data)
|
||||
}
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
// this.$confirm({
|
||||
// content: _this.$t('confirmRelease'),
|
||||
// onOk() {
|
||||
postAction('/project/projectCertificationInventoryEO/issue', {
|
||||
ids: ids.join(','),
|
||||
projectLibraryId: _this.$route.query.id,
|
||||
inventoryVerifyEndTime: formInline.inventoryVerifyEndTime
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.selectedRowKeysList = []
|
||||
_this.getList()
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
_this.failedMessage(data)
|
||||
}
|
||||
_this.$refs.deadlineFormRef.visible = false
|
||||
_this.$refs.deadlineFormRef.confirmLoading = false
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
_this.$refs.deadlineFormRef.confirmLoading = false
|
||||
}
|
||||
})
|
||||
// }
|
||||
// })
|
||||
},
|
||||
|
||||
initiateTaskClick(val, formInline) {
|
||||
let _this = this
|
||||
if (val.NAId && val.NAId.length > 0) {
|
||||
_this.NASubmitTask(val.NAId, val.ids, val.notConditions, val.data)
|
||||
}
|
||||
if (val.ids && val.ids.length > 0) {
|
||||
let query = {
|
||||
'nodeKey': val.value,
|
||||
'projectLibraryId': _this.$route.query.id,
|
||||
'ids': val.ids.join(','),
|
||||
taskConfirmEndTime: formInline.taskConfirmEndTime
|
||||
}
|
||||
|
||||
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
_this.selectedRowKeys = []
|
||||
_this.selectedRowKeysList = []
|
||||
_this.$refs.deadlineFormRef.visible = false
|
||||
_this.$refs.deadlineFormRef.confirmLoading = false
|
||||
if (val.notConditions && val.notConditions.length > 0) {
|
||||
_this.failedMessage(val.data)
|
||||
}
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
_this.$refs.deadlineFormRef.confirmLoading = false
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// handleOk() {
|
||||
// this.$refs.ruleForm.validate(valid => {
|
||||
@@ -1694,7 +1755,18 @@
|
||||
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessReturned')
|
||||
}
|
||||
if ((ids && ids.length > 0) || (NAId && NAId.length > 0)) {
|
||||
this.submitTask(value, prompt, ids, notConditions, data, NAId)
|
||||
let query = {
|
||||
value: value,
|
||||
prompt: prompt,
|
||||
ids: ids,
|
||||
notConditions: notConditions,
|
||||
data: data,
|
||||
dutyDueDate: 'taskConfirmEndTime',
|
||||
title: this.$t('initiateTask'),
|
||||
NAId: NAId
|
||||
}
|
||||
this.$refs.deadlineFormRef.getData(JSON.parse(JSON.stringify(query)))
|
||||
// this.submitTask(value, prompt, ids, notConditions, data, NAId)
|
||||
} else {
|
||||
this.failedMessage(data)
|
||||
}
|
||||
@@ -1874,9 +1946,9 @@
|
||||
}
|
||||
let data = ''
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
if (value == 'rzgcssc_th'){
|
||||
if (value == 'rzgcssc_th') {
|
||||
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataWithApprovedCanCeSelected')
|
||||
}else{
|
||||
} else {
|
||||
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusResultReviewedCanBeSelected')
|
||||
}
|
||||
}
|
||||
@@ -1906,6 +1978,7 @@
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
|
||||
reasonForReturnForm(value, text, ids, notConditions, data, reasonForReturn) {
|
||||
let _this = this
|
||||
let query = {
|
||||
@@ -1955,9 +2028,9 @@
|
||||
this.$confirm({
|
||||
content: prompt,
|
||||
onOk() {
|
||||
if (NAId && NAId.length > 0) {
|
||||
_this.NASubmitTask(NAId, ids, notConditions, data)
|
||||
}
|
||||
// if (NAId && NAId.length > 0) {
|
||||
// _this.NASubmitTask(NAId, ids, notConditions, data)
|
||||
// }
|
||||
if (ids && ids.length > 0) {
|
||||
let query = {
|
||||
'nodeKey': value,
|
||||
@@ -1998,11 +2071,14 @@
|
||||
if (notConditions && notConditions.length > 0) {
|
||||
_this.failedMessage(data)
|
||||
}
|
||||
_this.$refs.deadlineFormRef.visible = false
|
||||
_this.$refs.deadlineFormRef.confirmLoading = false
|
||||
}
|
||||
} else {
|
||||
if (ids && ids.length > 0) {
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
_this.$refs.deadlineFormRef.confirmLoading = false
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
v-model="queryParam.serialNumber"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{ $t('title') }}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('title')">-->
|
||||
<!-- <span>{{ $t('title') }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"-->
|
||||
<!-- v-model="queryParam.title"></j-input>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||
@@ -35,43 +35,56 @@
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ProcessStatus')">
|
||||
<span>{{ $t('ProcessStatus') }}</span>
|
||||
</div>
|
||||
<a-input-group class="box-input" compact>
|
||||
<a-select v-model="selectModel" @change="selectModelChange" style="width: 80px">
|
||||
<a-select-option :value="'designFlowStatus'">
|
||||
{{$t('design')}}
|
||||
</a-select-option>
|
||||
<a-select-option :value="'verifyFlowStatus'">
|
||||
{{$t('verify')}}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')"
|
||||
allowClear
|
||||
show-search
|
||||
style="width: calc(100% - 80px);"
|
||||
optionFilterProp="label"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="queryParam[selectModel]">
|
||||
<a-select-option v-for="(item, key) in listOptions"
|
||||
:key="item.key"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.label ">
|
||||
{{ item.label }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-input-group>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <template v-if="toggleSearchStatus">-->
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('listConfirmationStatus')">-->
|
||||
<!-- <span>{{ $t('listConfirmationStatus') }}</span>-->
|
||||
<!-- <div class="title-text" :title="$t('verifyProcessStatus')">-->
|
||||
<!-- <span>{{ $t('verifyProcessStatus') }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('listConfirmationStatus')"-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('verifyProcessStatus')"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- allowClear-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- v-model="queryParam.inventoryAffirmStatus">-->
|
||||
<!-- <a-select-option v-for="(item, key) in listOptions"-->
|
||||
<!-- :key="item.key"-->
|
||||
<!-- :value="item.value">-->
|
||||
<!-- <span style="display: inline-block;width: 100%" :title=" item.label ">-->
|
||||
<!-- {{ item.label }}-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-select-option>-->
|
||||
<!-- </a-select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('taskAffirmStatus')">-->
|
||||
<!-- <span>{{ $t('taskAffirmStatus') }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('taskAffirmStatus')"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- allowClear-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- v-model="queryParam.taskAffirmStatus">-->
|
||||
<!-- v-model="queryParam.verifyFlowStatus">-->
|
||||
<!-- <a-select-option v-for="(item, key) in taskOptions"-->
|
||||
<!-- :key="item.key"-->
|
||||
<!-- :value="item.value">-->
|
||||
<!-- <span style="display: inline-block;width: 100%" :title=" item.label ">-->
|
||||
<!-- {{ item.label }}-->
|
||||
<!-- </span>-->
|
||||
<!-- <span style="display: inline-block;width: 100%" :title=" item.label ">-->
|
||||
<!-- {{ item.label }}-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-select-option>-->
|
||||
<!-- </a-select>-->
|
||||
<!-- </div>-->
|
||||
@@ -84,10 +97,10 @@
|
||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
:fieldList="fieldList"/>
|
||||
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
|
||||
<!-- {{ !toggleSearchStatus ? $t('open') : $t('away') }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />-->
|
||||
<!-- </a>-->
|
||||
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
|
||||
<!-- {{ !toggleSearchStatus ? $t('open') : $t('away') }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
|
||||
<!-- </a>-->
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -97,10 +110,10 @@
|
||||
style="overflow:hidden;margin-bottom: 20px">
|
||||
<div style="float: left;margin-bottom: 0px;margin-left: 20px">
|
||||
<!-- 调取-->
|
||||
<!-- <div @click="profileClick" class="operator-text">-->
|
||||
<!-- <a-icon type="profile"/>-->
|
||||
<!-- 重置流程(数据迁移)-->
|
||||
<!-- </div>-->
|
||||
<!-- <div @click="profileClick" class="operator-text">-->
|
||||
<!-- <a-icon type="profile"/>-->
|
||||
<!-- 重置流程(数据迁移)-->
|
||||
<!-- </div>-->
|
||||
<!-- 调取-->
|
||||
<div @click="transferClick" class="operator-text" v-if="this.roleSwitchingCode == '0'">
|
||||
<a-icon type="profile"/>
|
||||
@@ -123,9 +136,16 @@
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{ $t('modifyOperator') }}
|
||||
</div>
|
||||
<!-- 复制-->
|
||||
<div @click="copyClick('lawsInventoryRegulationOwnerCopy')" v-if="this.roleSwitchingCode == '1'"
|
||||
class="operator-text">
|
||||
<a-icon type="copy"/>
|
||||
{{ $t('copy') }}
|
||||
</div>
|
||||
<!-- 列表设置-->
|
||||
<a-popconfirm :visible="customizevisible" overlayClassName="popconfirmmize"
|
||||
placement="bottomRight" v-if="this.roleSwitchingCode == '0' || this.roleSwitchingCode == '1'">
|
||||
placement="bottomRight"
|
||||
v-if="this.roleSwitchingCode == '0' || this.roleSwitchingCode == '1' || this.roleSwitchingCode == '13'">
|
||||
<template slot="title" id="popconfirmmize">
|
||||
<div style="max-height:360px;overflow:scroll;overflow-x: auto;">
|
||||
<a-checkbox
|
||||
@@ -163,7 +183,7 @@
|
||||
{{ $t('add') }}
|
||||
</div>
|
||||
<!-- 复制-->
|
||||
<div @click="copyClick" class="operator-text-title">
|
||||
<div @click="copyClick('lawsInventoryStudioCopy')" class="operator-text-title">
|
||||
<a-icon type="copy"/>
|
||||
{{ $t('copy') }}
|
||||
</div>
|
||||
@@ -288,24 +308,24 @@
|
||||
<!-- @click="viewClick(record)">-->
|
||||
<!-- {{ $t('view') }}-->
|
||||
<!-- </a>-->
|
||||
<a class="text-operation"
|
||||
v-if="(
|
||||
record.verifyFlowStatus == 'List to be released' ||
|
||||
record.verifyFlowStatus == 'Regulatory engineer returns' ||
|
||||
record.verifyFlowStatus == 'Compliance' ||
|
||||
record.verifyFlowStatus == 'Non-Compliance' ||
|
||||
record.verifyFlowStatus == 'To be tracked' ||
|
||||
record.verifyFlowStatus == 'NA')
|
||||
&& (record.designFlowStatus == 'List to be released' ||
|
||||
record.designFlowStatus == 'Regulatory engineer returns' ||
|
||||
record.designFlowStatus == 'Compliance' ||
|
||||
record.designFlowStatus == 'Non-Compliance' ||
|
||||
record.designFlowStatus == 'To be tracked' ||
|
||||
record.designFlowStatus == 'NA')
|
||||
&& roleSwitchingCode == 0"
|
||||
@click="deleteLib(record)">
|
||||
{{ $t('deleteLib') }}
|
||||
</a>
|
||||
<!-- <a class="text-operation"-->
|
||||
<!-- v-if="(-->
|
||||
<!-- record.verifyFlowStatus == 'List to be released' ||-->
|
||||
<!-- record.verifyFlowStatus == 'Regulatory engineer returns' ||-->
|
||||
<!-- record.verifyFlowStatus == 'Compliance' ||-->
|
||||
<!-- record.verifyFlowStatus == 'Non-Compliance' ||-->
|
||||
<!-- record.verifyFlowStatus == 'To be tracked' ||-->
|
||||
<!-- record.verifyFlowStatus == 'NA')-->
|
||||
<!-- && (record.designFlowStatus == 'List to be released' ||-->
|
||||
<!-- record.designFlowStatus == 'Regulatory engineer returns' ||-->
|
||||
<!-- record.designFlowStatus == 'Compliance' ||-->
|
||||
<!-- record.designFlowStatus == 'Non-Compliance' ||-->
|
||||
<!-- record.designFlowStatus == 'To be tracked' ||-->
|
||||
<!-- record.designFlowStatus == 'NA')-->
|
||||
<!-- && roleSwitchingCode == 0"-->
|
||||
<!-- @click="deleteLib(record)">-->
|
||||
<!-- {{ $t('deleteLib') }}-->
|
||||
<!-- </a>-->
|
||||
<a class="text-operation"
|
||||
@click="resultReportedClick(record)">
|
||||
{{ $t('resultReported') }}
|
||||
@@ -1180,37 +1200,42 @@
|
||||
isResultReported: false,
|
||||
// fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number
|
||||
fieldList: [
|
||||
// {
|
||||
// type: 'string',
|
||||
// value: 'correspondingStandard',
|
||||
// text: this.$t('correspondingStandard')
|
||||
// },
|
||||
{
|
||||
type: 'string',
|
||||
value: 'title',
|
||||
text: this.$t('title')
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'subtitle',
|
||||
text: this.$t('subtitle')
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'applicableSupplement',
|
||||
text: this.$t('applicableSupplement')
|
||||
},
|
||||
// {
|
||||
// type: '',
|
||||
// value: 'implementType',
|
||||
// text: this.$t('implementationCategory'),
|
||||
// dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||
// },
|
||||
{
|
||||
type: 'date',
|
||||
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||
text: this.$t('ImplementationDate')
|
||||
},
|
||||
{
|
||||
type: 'date',
|
||||
value: 'implementTime',
|
||||
text: this.$t('vehicleInProductionDate')
|
||||
},
|
||||
{
|
||||
type: 'string',
|
||||
value: 'wvtaId',
|
||||
text: 'WVTA ID'
|
||||
},
|
||||
// {
|
||||
// type: 'date',
|
||||
// value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||
// text: this.$t('ImplementationDate')
|
||||
// },
|
||||
// {
|
||||
// type: 'date',
|
||||
// value: 'implementTime',
|
||||
// text: this.$t('vehicleInProductionDate')
|
||||
// },
|
||||
// {
|
||||
// type: 'string',
|
||||
// value: 'wvtaId',
|
||||
// text: 'WVTA ID'
|
||||
// },
|
||||
{
|
||||
type: '',
|
||||
value: 'attestationType',
|
||||
@@ -1223,185 +1248,134 @@
|
||||
text: this.$t('certificationLevel'),
|
||||
dictCode: 'attestation_rank'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||
},
|
||||
{
|
||||
type: '',
|
||||
value: 'dutyTerritory',
|
||||
text: this.$t('areaOfResponsibility'),
|
||||
dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||
},
|
||||
// {
|
||||
// type: '',
|
||||
// value: 'dutyTerritory',
|
||||
// text: this.$t('areaOfResponsibility'),
|
||||
// dictCode: 'duty_territory'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框
|
||||
// },
|
||||
{
|
||||
type: 'Personnel',
|
||||
value: 'engineeringInterfacePerson',
|
||||
valueName: 'engineeringInterfacePersonName',
|
||||
text: this.$t('engineeringInterfacePerson')
|
||||
},
|
||||
{
|
||||
value: 'designFlowStatus',
|
||||
text: this.$t('designComplianceReview') + this.$t('ProcessStatus'),
|
||||
options: [
|
||||
{
|
||||
value: 'List to be released',
|
||||
key: 'List to be released',
|
||||
label: this.$t('listToBeReleased')
|
||||
},
|
||||
{
|
||||
value: 'Regulatory engineer returns',
|
||||
key: 'Regulatory engineer returns',
|
||||
label: this.$t('regulatoryEngineerReturns')
|
||||
},
|
||||
{
|
||||
value: 'Duty Person Rejected',
|
||||
key: 'Duty Person Rejected',
|
||||
label: this.$t('dutyPersonRejected')
|
||||
},
|
||||
{
|
||||
value: 'List to be checked',
|
||||
key: 'List to be checked',
|
||||
label: this.$t('listToBeChecked')
|
||||
},
|
||||
{
|
||||
value: 'Task to be confirmed',
|
||||
key: 'Task to be confirmed',
|
||||
label: this.$t('taskToBeConfirmed')
|
||||
},
|
||||
{
|
||||
value: 'Results to be submitted',
|
||||
key: 'Results to be submitted',
|
||||
label: this.$t('resultsToBeSubmitted')
|
||||
},
|
||||
{
|
||||
value: 'Results to be reviewed',
|
||||
key: 'Results to be reviewed',
|
||||
label: this.$t('resultsToBeReviewed')
|
||||
},
|
||||
{
|
||||
value: 'Compliance',
|
||||
key: 'Compliance',
|
||||
label: this.$t('compliance')
|
||||
},
|
||||
{
|
||||
value: 'Non-Compliance',
|
||||
key: 'Non-Compliance',
|
||||
label: this.$t('nonCompliance')
|
||||
},
|
||||
{
|
||||
value: 'To be tracked',
|
||||
key: 'To be tracked',
|
||||
label: this.$t('toBeTracked')
|
||||
},
|
||||
{
|
||||
value: 'NA',
|
||||
key: 'NA',
|
||||
label: this.$t('NA')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'verifyFlowStatus',
|
||||
text: this.$t('verificationAndConformityconfirmation') + this.$t('ProcessStatus'),
|
||||
options: [
|
||||
{
|
||||
value: 'List to be released',
|
||||
key: 'List to be released',
|
||||
label: this.$t('listToBeReleased')
|
||||
},
|
||||
{
|
||||
value: 'Regulatory engineer returns',
|
||||
key: 'Regulatory engineer returns',
|
||||
label: this.$t('regulatoryEngineerReturns')
|
||||
},
|
||||
{
|
||||
value: 'Duty Person Rejected',
|
||||
key: 'Duty Person Rejected',
|
||||
label: this.$t('dutyPersonRejected')
|
||||
},
|
||||
{
|
||||
value: 'List to be checked',
|
||||
key: 'List to be checked',
|
||||
label: this.$t('listToBeChecked')
|
||||
},
|
||||
{
|
||||
value: 'Task to be confirmed',
|
||||
key: 'Task to be confirmed',
|
||||
label: this.$t('taskToBeConfirmed')
|
||||
},
|
||||
{
|
||||
value: 'Results to be submitted',
|
||||
key: 'Results to be submitted',
|
||||
label: this.$t('resultsToBeSubmitted')
|
||||
},
|
||||
{
|
||||
value: 'Results to be reviewed',
|
||||
key: 'Results to be reviewed',
|
||||
label: this.$t('resultsToBeReviewed')
|
||||
},
|
||||
{
|
||||
value: 'Compliance',
|
||||
key: 'Compliance',
|
||||
label: this.$t('compliance')
|
||||
},
|
||||
{
|
||||
value: 'Non-Compliance',
|
||||
key: 'Non-Compliance',
|
||||
label: this.$t('nonCompliance')
|
||||
},
|
||||
{
|
||||
value: 'To be tracked',
|
||||
key: 'To be tracked',
|
||||
label: this.$t('toBeTracked')
|
||||
},
|
||||
{
|
||||
value: 'NA',
|
||||
key: 'NA',
|
||||
label: this.$t('NA')
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
listOptions: [
|
||||
{
|
||||
value: 'Not started',
|
||||
key: 'Not started',
|
||||
label: this.$t('notLaunch')
|
||||
value: 'List to be released',
|
||||
key: 'List to be released',
|
||||
label: this.$t('listToBeReleased')
|
||||
},
|
||||
{
|
||||
value: 'List to confirm',
|
||||
key: 'List to confirm',
|
||||
label: this.$t('toBeConfirmed')
|
||||
value: 'Regulatory engineer returns',
|
||||
key: 'Regulatory engineer returns',
|
||||
label: this.$t('regulatoryEngineerReturns')
|
||||
},
|
||||
{
|
||||
value: 'Accepted',
|
||||
key: 'Accepted',
|
||||
label: this.$t('accept')
|
||||
value: 'Duty Person Rejected',
|
||||
key: 'Duty Person Rejected',
|
||||
label: this.$t('dutyPersonRejected')
|
||||
},
|
||||
{
|
||||
value: 'Rejected',
|
||||
key: 'Rejected',
|
||||
label: this.$t('refuse')
|
||||
value: 'List to be checked',
|
||||
key: 'List to be checked',
|
||||
label: this.$t('listToBeChecked')
|
||||
},
|
||||
{
|
||||
value: 'Task to be confirmed',
|
||||
key: 'Task to be confirmed',
|
||||
label: this.$t('taskToBeConfirmed')
|
||||
},
|
||||
{
|
||||
value: 'Results to be submitted',
|
||||
key: 'Results to be submitted',
|
||||
label: this.$t('resultsToBeSubmitted')
|
||||
},
|
||||
{
|
||||
value: 'Results to be reviewed',
|
||||
key: 'Results to be reviewed',
|
||||
label: this.$t('resultsToBeReviewed')
|
||||
},
|
||||
{
|
||||
value: 'Compliance',
|
||||
key: 'Compliance',
|
||||
label: this.$t('compliance')
|
||||
},
|
||||
{
|
||||
value: 'Non-Compliance',
|
||||
key: 'Non-Compliance',
|
||||
label: this.$t('nonCompliance')
|
||||
},
|
||||
{
|
||||
value: 'To be tracked',
|
||||
key: 'To be tracked',
|
||||
label: this.$t('toBeTracked')
|
||||
},
|
||||
{
|
||||
value: 'NA',
|
||||
key: 'NA',
|
||||
label: this.$t('NA')
|
||||
}
|
||||
],
|
||||
taskOptions: [
|
||||
{
|
||||
value: 'Not started',
|
||||
key: 'Not started',
|
||||
label: this.$t('notLaunch')
|
||||
value: 'List to be released',
|
||||
key: 'List to be released',
|
||||
label: this.$t('listToBeReleased')
|
||||
},
|
||||
{
|
||||
value: 'List to confirm',
|
||||
key: 'List to confirm',
|
||||
label: this.$t('toBeConfirmed')
|
||||
value: 'Regulatory engineer returns',
|
||||
key: 'Regulatory engineer returns',
|
||||
label: this.$t('regulatoryEngineerReturns')
|
||||
},
|
||||
{
|
||||
value: 'Accepted',
|
||||
key: 'Accepted',
|
||||
label: this.$t('accept')
|
||||
value: 'Duty Person Rejected',
|
||||
key: 'Duty Person Rejected',
|
||||
label: this.$t('dutyPersonRejected')
|
||||
},
|
||||
{
|
||||
value: 'Rejected',
|
||||
key: 'Rejected',
|
||||
label: this.$t('refuse')
|
||||
value: 'List to be checked',
|
||||
key: 'List to be checked',
|
||||
label: this.$t('listToBeChecked')
|
||||
},
|
||||
{
|
||||
value: 'Task to be confirmed',
|
||||
key: 'Task to be confirmed',
|
||||
label: this.$t('taskToBeConfirmed')
|
||||
},
|
||||
{
|
||||
value: 'Results to be submitted',
|
||||
key: 'Results to be submitted',
|
||||
label: this.$t('resultsToBeSubmitted')
|
||||
},
|
||||
{
|
||||
value: 'Results to be reviewed',
|
||||
key: 'Results to be reviewed',
|
||||
label: this.$t('resultsToBeReviewed')
|
||||
},
|
||||
{
|
||||
value: 'Compliance',
|
||||
key: 'Compliance',
|
||||
label: this.$t('compliance')
|
||||
},
|
||||
{
|
||||
value: 'Non-Compliance',
|
||||
key: 'Non-Compliance',
|
||||
label: this.$t('nonCompliance')
|
||||
},
|
||||
{
|
||||
value: 'To be tracked',
|
||||
key: 'To be tracked',
|
||||
label: this.$t('toBeTracked')
|
||||
},
|
||||
{
|
||||
value: 'NA',
|
||||
key: 'NA',
|
||||
label: this.$t('NA')
|
||||
}
|
||||
],
|
||||
selectModel: 'designFlowStatus',
|
||||
visibleRoleSwitching: false,
|
||||
confirmLoadingRoleSwitching: false,
|
||||
formInlineRoleSwitching: {},
|
||||
@@ -1712,14 +1686,14 @@
|
||||
downloadFile(this.url.exportData, this.$route.query.projectName + '.zip', query, this.Deselect)
|
||||
},
|
||||
//复制
|
||||
copyClick() {
|
||||
copyClick(operateType) {
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmReplication'),
|
||||
onOk() {
|
||||
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
|
||||
getAction(_this.url.copyUrl, { ids: idList.join(',') }).then((res) => {
|
||||
getAction(_this.url.copyUrl, { ids: idList.join(','),operateType:operateType }).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
@@ -2192,6 +2166,11 @@
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
selectModelChange() {
|
||||
this.queryParam['designFlowStatus'] = undefined
|
||||
this.queryParam['verifyFlowStatus'] = undefined
|
||||
this.queryParam = { ...this.queryParam }
|
||||
},
|
||||
//编辑
|
||||
edit(item) {
|
||||
item.roleCodeIndex = this.roleSwitchingCode
|
||||
@@ -2417,7 +2396,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'left',
|
||||
fixed: 'right',
|
||||
width: long == 'zh-cn' ? 180 : 246,
|
||||
width: long == 'zh-cn' ? 140 : 186,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
})
|
||||
this.columnsAll.forEach((item) => {
|
||||
@@ -2981,7 +2960,7 @@
|
||||
},
|
||||
download(item) {
|
||||
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username })
|
||||
},
|
||||
}
|
||||
// profileClick() {
|
||||
// let _this = this
|
||||
// this.$confirm({
|
||||
|
||||
@@ -30,9 +30,12 @@
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
showSearch
|
||||
optionFilterProp="label"
|
||||
v-model="queryParam.flowType">
|
||||
<a-select-option v-for="(item, key) in taskTypeList"
|
||||
:key="key"
|
||||
:label="item.name"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.name">
|
||||
{{ item.name }}
|
||||
@@ -41,34 +44,37 @@
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ProcessStatus')">
|
||||
<span>{{$t('ProcessStatus')}}</span>
|
||||
</div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('ProcessStatus')"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
v-model="queryParam.status">
|
||||
<a-select-option v-for="(item, key) in taskStatusList"
|
||||
:key="key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.name">
|
||||
{{ item.name }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
</template>
|
||||
<!-- <template v-if="toggleSearchStatus">-->
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('Tasknode')">-->
|
||||
<!-- <span>{{$t('Tasknode')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Tasknode')"-->
|
||||
<!-- class="box-input"-->
|
||||
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
|
||||
<!-- allowClear-->
|
||||
<!-- showSearch-->
|
||||
<!-- optionFilterProp="label"-->
|
||||
<!-- v-model="queryParam.status">-->
|
||||
<!-- <a-select-option v-for="(item, key) in taskStatusList"-->
|
||||
<!-- :key="key"-->
|
||||
<!-- :label="item.name"-->
|
||||
<!-- :value="item.value">-->
|
||||
<!-- <span style="display: inline-block;width: 100%" :title=" item.name">-->
|
||||
<!-- {{ item.name }}-->
|
||||
<!-- </span>-->
|
||||
<!-- </a-select-option>-->
|
||||
<!-- </a-select>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- </template>-->
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a @click="handleToggleSearch">
|
||||
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<!-- <a @click="handleToggleSearch">-->
|
||||
<!-- {{ !toggleSearchStatus ? $t('open') : $t('away') }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
|
||||
<!-- </a>-->
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||
</a-col>
|
||||
|
||||
Reference in New Issue
Block a user