合并分支 'dev_third_stage' 到 'master'
Dev third stage 查看合并请求 laws-nio/laws-weilai!177
This commit is contained in:
@@ -1114,4 +1114,48 @@ INSERT INTO `laws_weilai`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `co
|
||||
|
||||
-- 上报库 添加项目目标市场 2022-09-19
|
||||
ALTER TABLE `laws_weilai`.`params_report`
|
||||
ADD COLUMN `target_market` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目标市场' AFTER `title`;
|
||||
ADD COLUMN `target_market` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目标市场' AFTER `title`;
|
||||
|
||||
-- 参数项清单 修改字段长度 2022-09-23
|
||||
ALTER TABLE `laws_weilai`.`params_info`
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'nio编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `is_must`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`params_info_publish`
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'nio编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `is_must`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`cert_category_params_info`
|
||||
MODIFY COLUMN `params_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `params_number`;
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'nio编号' AFTER `description`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`cert_category_params_info_publish`
|
||||
MODIFY COLUMN `params_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `params_number`,
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'nio编号' AFTER `description`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`params_collect_manifest`
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'NIO编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `is_must`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`params_collect_manifest_history`
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'NIO编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `is_must`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`params_report_detail`
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'NIO编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `is_must`;
|
||||
|
||||
ALTER TABLE `laws_weilai`.`report_cert_category_params_info`
|
||||
MODIFY COLUMN `params_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '编号' AFTER `sys_org_code`,
|
||||
MODIFY COLUMN `params_name` varchar(350) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数名称' AFTER `params_number`,
|
||||
MODIFY COLUMN `nio_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'NIO编号' AFTER `description`;
|
||||
|
||||
-- 虚拟清单表修改备注字段长度由300改为1000 2022-09-23 未同步生产环境
|
||||
ALTER TABLE `laws_weilai`.`dummy_inventory_info`
|
||||
MODIFY COLUMN `remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注' AFTER `duty_territory`;
|
||||
|
||||
-- 法规清单表修改备注字段长度由300改为1000 2022-09-23 未同步生产环境
|
||||
ALTER TABLE `laws_weilai`.`project_laws_inventory`
|
||||
MODIFY COLUMN `remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注' AFTER `engineering_interface_person`;
|
||||
|
||||
+5
-5
@@ -1225,7 +1225,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
// nio编号
|
||||
String nioNumber = dto.getNioNumber();
|
||||
resultMap = validateMustAndLength(nioNumber, "NIO编号", "NIO Number", IsMustEnum.YES.getValue(),"15", false, cut);
|
||||
resultMap = validateMustAndLength(nioNumber, "NIO编号", "NIO Number", IsMustEnum.YES.getValue(),"20", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
if (StringUtils.isNotEmpty(dto.getNioNumber())) {
|
||||
@@ -1268,7 +1268,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// 参数名称
|
||||
String paramsName = dto.getParamsName();
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Para Name", IsMustEnum.YES.getValue(), "100", false, cut);
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Para Name", IsMustEnum.YES.getValue(), "350", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
|
||||
@@ -1479,7 +1479,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// nio编号
|
||||
String nioNumber = ccDto.getNioNumber();
|
||||
resultMap = validateMustAndLength(nioNumber, "NIO编号", "NIO number", IsMustEnum.YES.getValue(),"15", false, cut);
|
||||
resultMap = validateMustAndLength(nioNumber, "NIO编号", "NIO number", IsMustEnum.YES.getValue(),"20", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
if (StringUtils.isNotEmpty(ccDto.getNioNumber())) {
|
||||
@@ -1510,7 +1510,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
}
|
||||
// 编号
|
||||
String paramsNumber = ccDto.getParamsNumber();
|
||||
resultMap = validateMustAndLength(paramsNumber, "编号", "Number", IsMustEnum.YES.getValue(),"15", false, cut);
|
||||
resultMap = validateMustAndLength(paramsNumber, "编号", "Number", IsMustEnum.YES.getValue(),"20", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
if (StringUtils.isNotEmpty(ccDto.getParamsNumber())) {
|
||||
@@ -1527,7 +1527,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
}
|
||||
// 参数名称
|
||||
String paramsName = ccDto.getParamsName();
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Para Name", IsMustEnum.YES.getValue(),"100", false, cut);
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Para Name", IsMustEnum.YES.getValue(),"350", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
// 参数说明
|
||||
|
||||
+5
-3
@@ -1037,6 +1037,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
String key = "";
|
||||
if (row != null && !isBlank) {
|
||||
int columNos = headerRow.getLastCellNum();// 表头总共的列数
|
||||
//预防空格子报错
|
||||
columNos = columNos > 24 ? 24 : columNos;
|
||||
Map<String, String> rowList = new LinkedHashMap<>();
|
||||
for (int j = 0; j < columNos; j++) {
|
||||
Cell cell = row.getCell(j);
|
||||
@@ -1275,12 +1277,12 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
}
|
||||
//备注 remark
|
||||
if(StringUtils.isNotBlank(remark)){
|
||||
if(remark.length() > 300){
|
||||
if(remark.length() > 1000){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEOTemp.getCut())){
|
||||
message = errorMsg + "备注不能超过300个字符, ";
|
||||
message = errorMsg + "备注不能超过1000个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " Note The value cannot exceed 300 characters, ";
|
||||
message = errorMsg + " Note The value cannot exceed 1000 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
|
||||
+9
-9
@@ -5199,12 +5199,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
//备注 remark
|
||||
if(StringUtils.isNotBlank(remark)){
|
||||
if(remark.length() > 300){
|
||||
if(remark.length() > 1000){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "备注不能超过300个字符, ";
|
||||
message = errorMsg + "备注不能超过1000个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " Note The value cannot exceed 300 characters, ";
|
||||
message = errorMsg + " Note The value cannot exceed 1000 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
@@ -5517,12 +5517,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
//备注 remark
|
||||
if(StringUtils.isNotBlank(remark)){
|
||||
if(remark.length() > 300){
|
||||
if(remark.length() > 1000){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "备注不能超过300个字符, ";
|
||||
message = errorMsg + "备注不能超过1000个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " Note The value cannot exceed 300 characters, ";
|
||||
message = errorMsg + " Note The value cannot exceed 1000 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
@@ -5824,12 +5824,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
// }
|
||||
// //备注 remark
|
||||
// if(StringUtils.isNotBlank(remark)){
|
||||
// if(remark.length() > 300){
|
||||
// if(remark.length() > 1000){
|
||||
// String message = "";
|
||||
// if(CutEnum.CN.getValue().equals(projectLawsInventoryEOTemp.getCut())){
|
||||
// message = errorMsg + "备注不能超过300个字符, ";
|
||||
// message = errorMsg + "备注不能超过1000个字符, ";
|
||||
// }else{
|
||||
// message = errorMsg + " Note The value cannot exceed 300 characters, ";
|
||||
// message = errorMsg + " Note The value cannot exceed 1000 characters, ";
|
||||
// }
|
||||
// msgList.add(message);
|
||||
// }
|
||||
|
||||
+8
-2
@@ -48,6 +48,7 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl<Law
|
||||
List<LawsMonthlyReportTitleTemplateEO> children = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> StringUtils.isNotBlank(e.getParentId())).collect(Collectors.toList());
|
||||
int sort = 0;
|
||||
if(StringUtils.isBlank(lawsMonthlyReportTitleTemplateEO.getParentId())){
|
||||
//新增父级
|
||||
if(parent.size() == 0){
|
||||
lawsMonthlyReportTitleTemplateEO.setSort(0);
|
||||
}else{
|
||||
@@ -56,10 +57,15 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl<Law
|
||||
sort = sortList.get(sortList.size()-1) + 1;
|
||||
}
|
||||
}else{
|
||||
if(children.size() == 0){
|
||||
//判断该父级下是否有子级
|
||||
List<LawsMonthlyReportTitleTemplateEO> childrenList = children.stream()
|
||||
.filter(e -> lawsMonthlyReportTitleTemplateEO.getParentId().equals(e.getParentId()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if(childrenList.size() == 0){
|
||||
lawsMonthlyReportTitleTemplateEO.setSort(0);
|
||||
}else{
|
||||
List<Integer> sortList = parent.stream().map(LawsMonthlyReportTitleTemplateEO::getSort).collect(Collectors.toList());
|
||||
List<Integer> sortList = childrenList.stream().map(LawsMonthlyReportTitleTemplateEO::getSort).collect(Collectors.toList());
|
||||
Collections.sort(sortList);
|
||||
sort = sortList.get(sortList.size()-1) + 1;
|
||||
}
|
||||
|
||||
+69
-15
@@ -112,6 +112,7 @@ public class FileSpiltService {
|
||||
// if (sarFileSplitInfoEO.getStartNumber()<4){
|
||||
//从第四个开始拆解
|
||||
nowStart.add("3.1");
|
||||
nowStart.add("4");
|
||||
// } else {
|
||||
// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber()));
|
||||
// }
|
||||
@@ -153,6 +154,8 @@ public class FileSpiltService {
|
||||
// 记录word自动生成的编号数据
|
||||
Map numberMap = new HashMap<String, Integer>();
|
||||
boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据
|
||||
boolean startFlag = false; // 判断开始拆分的起始段落,因为需要从标题:范围 开始拆,但会受目录的影响
|
||||
int count = 0; // 记录标题:范围 出现的次数
|
||||
for (IBodyElement element : elements) {
|
||||
// 段落
|
||||
if (element instanceof XWPFParagraph) {
|
||||
@@ -160,6 +163,18 @@ public class FileSpiltService {
|
||||
|
||||
// 处理段落生成编号不识别问题
|
||||
String paragraphString = p.getText();
|
||||
if ("前言".equals(getChinese(paragraphString))) {
|
||||
count++;
|
||||
if (count > 1) {
|
||||
startFlag = true;
|
||||
}
|
||||
|
||||
continue;
|
||||
} else {
|
||||
if(!startFlag) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(paragraphString)) {
|
||||
paragraphString = paragraphString.replace((char) 12288, ' ');
|
||||
paragraphString = paragraphString.trim();
|
||||
@@ -168,7 +183,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -179,7 +196,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -200,7 +219,7 @@ public class FileSpiltService {
|
||||
}
|
||||
}
|
||||
if (messageNumber == 0) {
|
||||
ptest = Pattern.compile("^1\\s{0,3}范围");
|
||||
ptest = Pattern.compile("^1\\s{0,50}范围");
|
||||
matcher = ptest.matcher(paragraphString);
|
||||
while (matcher.find()) {
|
||||
List<String> clauseContent = new ArrayList<>();
|
||||
@@ -227,7 +246,7 @@ public class FileSpiltService {
|
||||
messageNumber++;
|
||||
}
|
||||
} else if (messageNumber == 1) {
|
||||
ptest = Pattern.compile("^2\\s{0,3}规范性引用文件");
|
||||
ptest = Pattern.compile("^2\\s{0,50}规范性引用文件");
|
||||
matcher = ptest.matcher(paragraphString);
|
||||
if (matcher.find()) {
|
||||
List<String> clauseContent = new ArrayList<>();
|
||||
@@ -261,7 +280,7 @@ public class FileSpiltService {
|
||||
}
|
||||
}
|
||||
} else if (messageNumber == 2) {
|
||||
ptest = Pattern.compile("^3\\s{0,3}术语(和|与)定义");
|
||||
ptest = Pattern.compile("^3\\s{0,50}术语(和|与)定义");
|
||||
matcher = ptest.matcher(paragraphString);
|
||||
if (matcher.find()) {
|
||||
List<String> clauseContent = new ArrayList<>();
|
||||
@@ -695,7 +714,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -706,7 +727,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -887,7 +910,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -898,7 +923,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -1089,7 +1116,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -1100,7 +1129,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -1461,7 +1492,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -1472,7 +1505,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -1666,7 +1701,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -1677,7 +1714,9 @@ public class FileSpiltService {
|
||||
// 处理当前段落仅为图片的情况
|
||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph) p);
|
||||
if (CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
if (messageList.size() > 0) {
|
||||
addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -3025,4 +3064,19 @@ public class FileSpiltService {
|
||||
// }
|
||||
// return personMsgEO;
|
||||
// }
|
||||
|
||||
private String getChinese(String source) {
|
||||
|
||||
char[] chars = source.toCharArray();
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (char aChar : chars) {
|
||||
int length = String.valueOf(aChar).getBytes().length;
|
||||
if (length == 3) {
|
||||
stringBuilder.append(aChar);
|
||||
}
|
||||
}
|
||||
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1154,8 +1154,8 @@ module.exports = {
|
||||
category: 'Category',
|
||||
RegulatoryProcessEvaluationResults: 'Regulatory Process Evaluation Results',
|
||||
ViewConformanceResults: 'View Conformance Results',
|
||||
CommentsCollectionResultsForReference: 'Comments Collection Results For Reference',
|
||||
TechnicalEvaluationResultsForReference: 'Technical Evaluation Results For Reference',
|
||||
CommentsCollectionResultsForReference: 'Comments Collection Results For',
|
||||
TechnicalEvaluationResultsForReference: 'Technical Evaluation Results For',
|
||||
ComplianceConfirmationRecord: 'Compliance Confirmation Record',
|
||||
complianceConfirmation: 'Compliance Confirmation',
|
||||
noComparisonDocumentSelected: 'No comparison document selected',
|
||||
@@ -1299,4 +1299,14 @@ module.exports = {
|
||||
theResponsiblePersonTaskForTheSecondTime:'The responsible person receives the task for the second time',
|
||||
processNodesAreInconsistentPleaseSelectConsistentData:'Process nodes are inconsistent; Please select consistent data',
|
||||
exportFileName:'Export file name',
|
||||
initiateSupplementaryProcess:'Initiate supplementary process',
|
||||
whetherTheDisassemblySheetIncluded:'Whether the disassembly sheet is included',
|
||||
inRecentMonths3:'In recent 3 months',
|
||||
inRecentMonths6:'In recent 6 months',
|
||||
inRecentYear1:'In recent 1 year',
|
||||
inRecentYear2:'In recent 2 year',
|
||||
selectAll:'Select All',
|
||||
importLocalDisassemblyOrder:'Import local disassembly order',
|
||||
notExport:'Not export',
|
||||
hasBeenExport:'Has been export',
|
||||
}
|
||||
@@ -1158,7 +1158,6 @@ module.exports = {
|
||||
category: '类别',
|
||||
RegulatoryProcessEvaluationResults: '法规流程评估结果',
|
||||
ViewConformanceResults: '查看符合性结果',
|
||||
CommentsCollectionResultsForReference: '意见收集结果参考',
|
||||
TechnicalEvaluationResultsForReference: '技术评估结果参考',
|
||||
ComplianceConfirmationRecord: '符合性确认记录',
|
||||
complianceConfirmation: '符合性确认',
|
||||
@@ -1259,8 +1258,8 @@ module.exports = {
|
||||
category: '类别',
|
||||
RegulatoryProcessEvaluationResults: '法规流程评估结果',
|
||||
ViewConformanceResults: '查看符合性结果',
|
||||
CommentsCollectionResultsForReference: '意见收集结果参考',
|
||||
TechnicalEvaluationResultsForReference: '技术评估结果参考',
|
||||
CommentsCollectionResultsForReference: '意见收集结果',
|
||||
TechnicalEvaluationResultsForReference: '技术评估结果',
|
||||
ComplianceConfirmationRecord: '符合性确认记录',
|
||||
complianceConfirmation: '符合性确认',
|
||||
Deriveconformanceresults: '导出符合性结果',
|
||||
@@ -1401,4 +1400,14 @@ module.exports = {
|
||||
theResponsiblePersonTaskForTheSecondTime:'责任人二次接收任务',
|
||||
processNodesAreInconsistentPleaseSelectConsistentData:'流程节点不一致;请选择一致的数据',
|
||||
exportFileName:'导出文件名称',
|
||||
initiateSupplementaryProcess:'发起补充流程',
|
||||
whetherTheDisassemblySheetIncluded:'是否含有拆解单',
|
||||
inRecentMonths3:'近3个月内',
|
||||
inRecentMonths6:'近6个月内',
|
||||
inRecentYear1:'近1年内',
|
||||
inRecentYear2:'近2年内',
|
||||
selectAll:'全选',
|
||||
importLocalDisassemblyOrder:'导入本地拆解单',
|
||||
notExport:'未导出',
|
||||
hasBeenExport:'已导出',
|
||||
}
|
||||
@@ -98,6 +98,7 @@
|
||||
this.$route.path == '/problemKnowledgeBaseRelease' ||
|
||||
this.$route.path == '/problemKnowledgeBaseView' ||
|
||||
this.$route.path == '/regulatoryInitiatingProcess' ||
|
||||
this.$route.path == '/regulatoryEvaluationResults' ||
|
||||
this.$route.path == '/regulatoryProcessReview' ||
|
||||
this.$route.path == '/handshakeProcess' ||
|
||||
this.$route.path == '/projectStatusAndProgress' ||
|
||||
|
||||
@@ -67,6 +67,24 @@
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||
</div>
|
||||
<div class="box-title-text" v-else-if="item.field_show_type == '12'">
|
||||
<div class="title-text" :title="item.db_field_txt">
|
||||
<span>{{item.db_field_txt}}</span>
|
||||
</div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+item.db_field_txt"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
v-model="queryParam[item.db_field_name]">
|
||||
<a-select-option v-for="(item, key) in item.option"
|
||||
:key="key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.name">
|
||||
{{ item.name }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-if="index >= 3 && toggleSearchStatus">
|
||||
@@ -133,6 +151,24 @@
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||
</div>
|
||||
<div class="box-title-text" v-else-if="item.field_show_type == '12'">
|
||||
<div class="title-text" :title="item.db_field_txt">
|
||||
<span>{{item.db_field_txt}}</span>
|
||||
</div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+item.db_field_txt"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
v-model="queryParam[item.db_field_name]">
|
||||
<a-select-option v-for="(item, key) in item.option"
|
||||
:key="key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.name">
|
||||
{{ item.name }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</a-col>
|
||||
@@ -190,11 +226,12 @@
|
||||
methods: {
|
||||
searchQuery() {
|
||||
if (this.isDefault) {
|
||||
if (!this.queryParam['WarnTimeText']) {
|
||||
this.queryParam['WarnTimeText'] = '2'
|
||||
}
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
let endTime = this.getNowdate()
|
||||
if (this.queryParam['WarnTime'].length == 0) {
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
}
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
this.queryParam = { ...this.queryParam }
|
||||
}
|
||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(this.queryParam)))
|
||||
@@ -203,8 +240,8 @@
|
||||
this.queryParam = {}
|
||||
if (this.isDefault) {
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
this.queryParam['WarnTimeText'] = '2'
|
||||
let endTime = this.getNowdate()
|
||||
console.log(endTime)
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
this.queryParam = { ...this.queryParam }
|
||||
}
|
||||
@@ -218,7 +255,17 @@
|
||||
if (res.success) {
|
||||
this.searchList = res.result
|
||||
if (this.searchQueryList && this.searchQueryList.length > 0) {
|
||||
this.searchList = this.searchList.concat(this.searchQueryList)
|
||||
for (let i = 0; i < this.searchList.length; i++) {
|
||||
if (this.searchList[i].db_field_name == 'issue_time') {
|
||||
this.searchList.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
if (this.searchList[i].db_field_name == 'title') {
|
||||
let data = this.searchList[i + 1]
|
||||
this.searchList[i + 1] = this.searchQueryList[0]
|
||||
this.searchList.push(data)
|
||||
}
|
||||
}
|
||||
if (this.isDefault) {
|
||||
this.searchReset()
|
||||
}
|
||||
@@ -226,26 +273,41 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
getNowdate(){
|
||||
getNowdate() {
|
||||
let monthData
|
||||
let yearData
|
||||
if (this.queryParam['WarnTimeText'] == '1') {
|
||||
monthData = 4
|
||||
yearData = 1
|
||||
} else if (this.queryParam['WarnTimeText'] == '2') {
|
||||
monthData = 7
|
||||
yearData = 1
|
||||
} else if (this.queryParam['WarnTimeText'] == '3') {
|
||||
monthData = 13
|
||||
yearData = 1
|
||||
} else if (this.queryParam['WarnTimeText'] == '4') {
|
||||
monthData = 25
|
||||
yearData = 2
|
||||
}
|
||||
var date_now = new Date()//获取当前时间
|
||||
var year = date_now.getFullYear()//获取当前时间的年份
|
||||
var month = date_now.getMonth()//获取当前时间的月份
|
||||
var day = date_now.getDate()//获取当前时间的日
|
||||
var days = new Date(year,month,0)//将获取到的年月赋值给days
|
||||
var days = new Date(year, month, 0)//将获取到的年月赋值给days
|
||||
days = days.getDate()//获取当前年月的日
|
||||
var year2 = year
|
||||
var month2 = parseInt(month+7)//获取当前月份的1一个月以后的月份
|
||||
if(month2 > 12){
|
||||
year2 = parseInt(year2) + 1
|
||||
var month2 = parseInt(month + monthData)//获取当前月份的1一个月以后的月份
|
||||
if (month2 > 12) {
|
||||
year2 = parseInt(year2) + yearData
|
||||
month2 = parseInt(month2) % 12
|
||||
}//考虑到12月要是获取一个月以后,就是一月,年份需要加一 ,一年没有13月,所以%12,取得来年1月
|
||||
var day2 = day
|
||||
var days2 = new Date(year2,month2,0)
|
||||
var days2 = new Date(year2, month2, 0)
|
||||
days2 = days2.getDate()
|
||||
if(day2>days2){
|
||||
if (day2 > days2) {
|
||||
day2 = days2
|
||||
}//获取了当前年份的日和6个月以后的日,为的就是判断如果前一个月是有31号,后一个月没有,就将一个月以后的日期取到,赋值给day2
|
||||
if(month2 < 10){
|
||||
if (month2 < 10) {
|
||||
month2 = '0' + month2
|
||||
}
|
||||
var time = year2 + '-' + month2 + '-' + day2
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
<span slot="fileOperation" slot-scope="record">
|
||||
<a class="text" @click="pdfPreview(record)"
|
||||
:disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx' || record.fileSuffix == '.doc'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
|| record.fileSuffix == '.jpg' || record.fileSuffix == '.png' || record.fileSuffix == '.gif'
|
||||
|| record.fileSuffix == '.jpeg' || record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
{{$t('See')}}
|
||||
</a>
|
||||
<a class="text" @click="download(record)">
|
||||
@@ -77,7 +78,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -342,6 +342,11 @@ export const constantRouterMap = [
|
||||
name: 'initiatingProcess',
|
||||
component: () => import(/* webpackChunkName: "user" */ '@/views/businessSupport/collectionOfRegulatoryOpinions/components/initiatingProcess')
|
||||
},
|
||||
{
|
||||
path: '/regulatoryEvaluationResults',
|
||||
name: 'evaluationResultsList',
|
||||
component: () => import(/* webpackChunkName: "user" */ '@/views/businessSupport/collectionOfRegulatoryOpinions/components/evaluationResultsList')
|
||||
},
|
||||
{
|
||||
path: '/evaluationInitiationProcess',
|
||||
name: 'evaluationInitiationProcess',
|
||||
|
||||
+130
-72
@@ -1,64 +1,65 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-drawer
|
||||
:title="$t('evaluationResults')"
|
||||
:maskClosable="false"
|
||||
:width="1080"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div class="table-operator-right">
|
||||
<div @click="handleExport" v-if="formInline.createBy == userInfoQuery.username" class="operator-text">
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('export')}}
|
||||
<div class="doc-detail">
|
||||
<div class="doc-detail-wrap">
|
||||
<div class="doc-detail-header" style="position: fixed;top: 0">
|
||||
<div class="doc-detail-title">
|
||||
<!-- <span style="line-height: 66px;display: inline-block;float: left">-->
|
||||
<!-- <a-icon type="home" style="margin-right: 6px;"/>-->
|
||||
<!-- </span>-->
|
||||
{{$route.query.serialNumber +' '+$t('evaluationResults')}}
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 320px)'}"
|
||||
:data-source="dataSource"
|
||||
:columns="columns"
|
||||
>
|
||||
<div style="padding-top: 68px;background: #fff">
|
||||
<div class="detail-content" style="padding:12px 24px">
|
||||
<div class="table-operator-right">
|
||||
<div @click="handleExport" v-if="formInline.createBy == userInfoQuery.username" class="operator-text">
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('export')}}
|
||||
</div>
|
||||
</div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 320px)'}"
|
||||
:data-source="dataSource"
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="accessoryFile" slot-scope="text,record">
|
||||
<a @click="seeFileClick(text)" v-if="text">
|
||||
{{$t('viewFile')}}
|
||||
</a>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text">{{$t('filingExternalOpinions')}}:</span>
|
||||
<div @click="clickButtonToUpload('opinionArchiveId')" style="color: #21c9cc"
|
||||
v-if="formInline.createBy == this.userInfoQuery.username" class="operator-text">
|
||||
<a-icon type="cloud-upload"/>
|
||||
{{$t('clickUpload')}}
|
||||
</div>
|
||||
<div @click="seeFileClick(formInline.opinionArchiveId)" style="color: #21c9cc" class="operator-text">
|
||||
<a-icon type="eye"/>
|
||||
{{$t('viewFile')}}
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<div style="margin-top: 20px">
|
||||
<span class="text">{{$t('filingExternalOpinions')}}:</span>
|
||||
<div @click="clickButtonToUpload('opinionArchiveId')" style="color: #21c9cc"
|
||||
v-if="formInline.createBy == this.userInfoQuery.username" class="operator-text">
|
||||
<a-icon type="cloud-upload"/>
|
||||
{{$t('clickUpload')}}
|
||||
</div>
|
||||
<div @click="seeFileClick(formInline.opinionArchiveId)" style="color: #21c9cc" class="operator-text">
|
||||
<a-icon type="eye"/>
|
||||
{{$t('viewFile')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drawer-bootom-button">
|
||||
<a-button @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</div>
|
||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile>
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
</div>
|
||||
@@ -78,8 +79,6 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
confirmLoading: false,
|
||||
visible: false,
|
||||
loading: false,
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
@@ -109,6 +108,13 @@
|
||||
ellipsis: true,
|
||||
dataIndex: 'reason'
|
||||
},
|
||||
{
|
||||
title: this.$t('clauseContent'),
|
||||
align: 'center',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
dataIndex: 'clauseContent'
|
||||
},
|
||||
{
|
||||
title: this.$t('enclosure'),
|
||||
align: 'center',
|
||||
@@ -136,6 +142,7 @@
|
||||
},
|
||||
mounted() {
|
||||
this.userInfoQuery = this.userInfo()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
@@ -186,12 +193,10 @@
|
||||
downloadFile('/lawsOpinionGather/lawsOpinionAssessmentResultEO/exportXls',
|
||||
this.$t('evaluationResults') + '.zip', query)
|
||||
},
|
||||
getData(row) {
|
||||
this.visible = true
|
||||
this.formInline = JSON.parse(JSON.stringify(row))
|
||||
this.actiProcInstId = row.actiProcInstId
|
||||
this.lawsOpinionGatherId = row.id
|
||||
console.log(row)
|
||||
getData() {
|
||||
this.formInline = JSON.parse(JSON.stringify(this.$route.query))
|
||||
this.actiProcInstId = this.$route.query.actiProcInstId
|
||||
this.lawsOpinionGatherId = this.$route.query.id
|
||||
this.getList()
|
||||
},
|
||||
handleCancel() {
|
||||
@@ -232,19 +237,71 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
left: 0;
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
height: 100%;
|
||||
|
||||
.doc-detail-wrap {
|
||||
.doc-detail-header {
|
||||
width: 100%;
|
||||
height: 68px;
|
||||
line-height: 68px;
|
||||
padding: 0 0 0 32px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 2px #eff1f3 solid;
|
||||
z-index: 1000;
|
||||
background: #fff;
|
||||
|
||||
.doc-detail-title {
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
line-height: 68px;
|
||||
}
|
||||
|
||||
.doc-detail-right {
|
||||
width: 800px;
|
||||
line-height: 68px;
|
||||
display: flex;
|
||||
|
||||
.doc-detail-btn {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-box {
|
||||
padding: 0 32px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.header-text {
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
height: 80px;
|
||||
color: #000F16;
|
||||
line-height: 80px;
|
||||
}
|
||||
|
||||
.processBackground-text {
|
||||
font-size: 16px;
|
||||
color: #000F16;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.box-button-top {
|
||||
float: right;
|
||||
margin-top: 28px;
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.table-operator-right {
|
||||
@@ -263,12 +320,13 @@
|
||||
color: #040B29;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff!important;
|
||||
background: #fff !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
background: transparent !important;
|
||||
}
|
||||
</style>
|
||||
@@ -91,7 +91,7 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 160px)'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 260px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -101,8 +101,9 @@
|
||||
<span>{{text}}</span>
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>
|
||||
<a class="text-operation" v-if="record.gatherResult == 'Completed'"
|
||||
<!-- <a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>-->
|
||||
<!-- v-if="record.gatherResult == 'Completed'"-->
|
||||
<a class="text-operation"
|
||||
@click="evaluationResultsClick(record)">{{$t('evaluationResults')}}</a>
|
||||
<a class="text-operation"
|
||||
v-if="(record.gatherResult == 'Completed' && userInfoQuery.username == record.createBy) || administrators"
|
||||
@@ -123,20 +124,15 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<evaluationResultsList ref="evaluationResultsListRef"/>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import evaluationResultsList from './components/evaluationResultsList'
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
evaluationResultsList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//url传参严格按照当前命名
|
||||
@@ -181,7 +177,7 @@
|
||||
align: 'center',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 280
|
||||
},
|
||||
{
|
||||
title: this.$t('technicalField'),
|
||||
@@ -193,7 +189,7 @@
|
||||
{
|
||||
title: this.$t('collectResults'),
|
||||
align: 'center',
|
||||
width: 170,
|
||||
width: 140,
|
||||
ellipsis: true,
|
||||
dataIndex: 'gatherResultShow'
|
||||
},
|
||||
@@ -201,21 +197,21 @@
|
||||
title: this.$t('dateOfInitiation'),
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
width: 140,
|
||||
dataIndex: 'startTime'
|
||||
},
|
||||
{
|
||||
title: this.$t('closingDate'),
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
width: 140,
|
||||
dataIndex: 'endTime'
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 320,
|
||||
width: 210,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
@@ -373,7 +369,12 @@
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
evaluationResultsClick(row) {
|
||||
this.$refs.evaluationResultsListRef.getData(JSON.parse(JSON.stringify(row)))
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/regulatoryEvaluationResults',
|
||||
query:JSON.parse(JSON.stringify(row))
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
// this.$refs.evaluationResultsListRef.getData(JSON.parse(JSON.stringify(row)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,11 +10,14 @@
|
||||
</div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:disabled="false"
|
||||
show-search
|
||||
optionFilterProp="label"
|
||||
style="z-index: 100"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
v-model="queryParam.applyMarket">
|
||||
<a-select-option v-for="(item, key) in applyMarketList"
|
||||
:key="key"
|
||||
:label="item.title"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.title ">
|
||||
{{ item.title}}
|
||||
|
||||
+3
@@ -20,12 +20,15 @@
|
||||
<span>{{$t('applicableMarket')}}</span>
|
||||
</div>
|
||||
<a-select class="box-input"
|
||||
show-search
|
||||
optionFilterProp="label"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
style="width: 100%;"
|
||||
v-model="queryParam.applyMarket">
|
||||
<a-select-option v-for="(item, key) in applyMarketList"
|
||||
:key="key"
|
||||
:label="item.title"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.title ">
|
||||
{{ item.title}}
|
||||
|
||||
+3
@@ -20,10 +20,13 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="applyMarket">
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
show-search
|
||||
optionFilterProp="label"
|
||||
:disabled="false"
|
||||
v-model="formInline.applyMarket">
|
||||
<a-select-option v-for="(item, key) in applyMarketList"
|
||||
:key="key"
|
||||
:label="item.title"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.title ">
|
||||
{{ item.title}}
|
||||
|
||||
+34
-2
@@ -30,6 +30,12 @@
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="box-content-right">
|
||||
<div @click="selectAllClick" class="operator-text">
|
||||
<a-icon type="eye"/>
|
||||
{{$t('selectAll')}}
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 60px">
|
||||
<a-table
|
||||
v-if="this.visible"
|
||||
@@ -90,6 +96,16 @@
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
selectAllClick() {
|
||||
this.dataList.forEach(res => {
|
||||
res.showOrNot = true
|
||||
this.dataListOne.forEach(val => {
|
||||
if (res.id == val.id) {
|
||||
val.showOrNot = true
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
searchQuery() {
|
||||
if (this.queryParam.labelName) {
|
||||
this.dataList = this.dataList.filter(res => {
|
||||
@@ -186,12 +202,28 @@
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff!important;
|
||||
background: #fff !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.box-content-right {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.operator-text {
|
||||
cursor: pointer;
|
||||
margin-right: 13px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
+72
-14
@@ -52,10 +52,11 @@
|
||||
<a-col :span="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('market')">{{$t('market')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="targetMarket">
|
||||
<!-- prop="targetMarket"-->
|
||||
<a-form-model-item class="itemModel">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.targetMarket"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('PleaseSelect')+$t('market')"
|
||||
@@ -106,12 +107,23 @@
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('standardNo')">{{$t('standardNo')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="standNumber">
|
||||
<a-input class="box-input-index"
|
||||
:title="formInline.standNumber"
|
||||
:disabled="true"
|
||||
v-model="formInline.standNumber"
|
||||
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
|
||||
<a-form-model-item class="itemModel itemModel-multi itemModelStand" prop="standNumber">
|
||||
<a-select
|
||||
class="box-input-index"
|
||||
v-model="formInline.standNumber"
|
||||
@change="onChange"
|
||||
mode="multiple"
|
||||
:placeholder="$t('standardNo')"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode">
|
||||
<a-select-option
|
||||
v-for="(item,index) in dictOptions"
|
||||
:key="index"
|
||||
:value="item.standNumber">
|
||||
<span class="itemOption" :title="item.standNumber">
|
||||
{{ item.standNumber }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<a-button class="box-button-index"
|
||||
:title="$t('bringInDocumentInformation')"
|
||||
type="primary" @click="bringInDocumentInformationClick">
|
||||
@@ -229,6 +241,7 @@
|
||||
formInline: {},
|
||||
loading: false,
|
||||
headers: '',
|
||||
dictOptions: [],
|
||||
uploadAction: window._CONFIG['domianURL'] + '/sys/common/upload',
|
||||
editorOption: { // 富文本框配置
|
||||
placeholder: '',
|
||||
@@ -436,6 +449,16 @@
|
||||
} else {
|
||||
this.isDisplay = false
|
||||
}
|
||||
this.dictOptions = []
|
||||
if (this.formInline.standNumber) {
|
||||
this.formInline.standNumber = this.formInline.standNumber.split(',')
|
||||
this.formInline.standNumber.forEach((res, index) => {
|
||||
this.dictOptions.push({
|
||||
standNumber: res,
|
||||
id: this.formInline.bussDocumentLibraryId.split(',')[index]
|
||||
})
|
||||
})
|
||||
}
|
||||
this.formInline = { ...this.formInline }
|
||||
} else {
|
||||
this.formInline = {}
|
||||
@@ -466,9 +489,6 @@
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
onEditorChange({ quill, html, text }) {
|
||||
console.log(html)
|
||||
console.log(quill)
|
||||
console.log(text)
|
||||
this.formInline.content = html
|
||||
},
|
||||
handleInput(value) {
|
||||
@@ -499,10 +519,34 @@
|
||||
}
|
||||
},
|
||||
listAddModelForm(id, number) {
|
||||
this.formInline.standNumber = number
|
||||
this.formInline.standNumber = number.split(',')
|
||||
this.formInline.bussDocumentLibraryId = id
|
||||
this.dictOptions = []
|
||||
if (number) {
|
||||
number.split(',').forEach((res, index) => {
|
||||
this.dictOptions.push({
|
||||
standNumber: res,
|
||||
id: id.split(',')[index]
|
||||
})
|
||||
})
|
||||
}
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
onChange(value) {
|
||||
console.log(value)
|
||||
let content = []
|
||||
let standNumber = []
|
||||
value.forEach(res => {
|
||||
this.dictOptions.forEach(val => {
|
||||
if (res == val.standNumber) {
|
||||
content.push(val.id)
|
||||
standNumber.push(val.standNumber)
|
||||
}
|
||||
})
|
||||
})
|
||||
this.formInline.standNumber = standNumber
|
||||
this.formInline.bussDocumentLibraryId = content.join(',')
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
@@ -531,6 +575,9 @@
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let formInline = JSON.parse(JSON.stringify(this.formInline))
|
||||
if (formInline.standNumber && formInline.standNumber.length > 0){
|
||||
formInline.standNumber = formInline.standNumber.join(',')
|
||||
}
|
||||
this.loading = true
|
||||
this.confirmLoading = true
|
||||
let url = ''
|
||||
@@ -575,7 +622,11 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.itemModelStand .ant-form-item-children .ant-select-dropdown--multiple {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
@@ -702,7 +753,6 @@
|
||||
|
||||
.box-button-index {
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
width: 120px;
|
||||
overflow: hidden;
|
||||
padding: 0 0;
|
||||
@@ -755,4 +805,12 @@
|
||||
height: 38px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.itemOption {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
-o-text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
+7
-1
@@ -111,6 +111,11 @@
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
let serial_number = localStorage.getItem('serial_number')
|
||||
if (serial_number) {
|
||||
this.searchStr = serial_number
|
||||
localStorage.removeItem('serial_number')
|
||||
}
|
||||
this.getList()
|
||||
this.replacePage()
|
||||
},
|
||||
@@ -406,7 +411,8 @@
|
||||
text-overflow: ellipsis;
|
||||
word-break: break-all;
|
||||
}
|
||||
.box-content-left .ant-tag-checkable-checked{
|
||||
|
||||
.box-content-left .ant-tag-checkable-checked {
|
||||
border: 1px #21c9cc solid;
|
||||
color: #21c9cc;
|
||||
}
|
||||
|
||||
+52
-1
@@ -14,6 +14,26 @@
|
||||
:placeholder="$t('monthSelection')"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('exportStatus')">
|
||||
<span>{{$t('exportStatus')}}</span>
|
||||
</div>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('exportStatus')"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
allowClear
|
||||
v-model="queryParam.exportState">
|
||||
<a-select-option v-for="(item, key) in exportStatusList"
|
||||
: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>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||
@@ -54,6 +74,7 @@
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="copyClick(record)">{{$t('copy')}}</a>
|
||||
<a class="text-operation" @click="viewClick(record)">{{$t('view')}}</a>
|
||||
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
|
||||
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
|
||||
@@ -97,6 +118,16 @@
|
||||
list: '/report/lawsMonthlyReportWriteEO/page',
|
||||
exportData: '/report/lawsMonthlyReportWriteEO/exportMonthlyReport'
|
||||
},
|
||||
exportStatusList:[
|
||||
{
|
||||
value:'2',
|
||||
name:this.$t('hasBeenExport')
|
||||
},
|
||||
{
|
||||
value:'1',
|
||||
name:this.$t('notExport')
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
@@ -151,7 +182,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 180,
|
||||
width: 190,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
]
|
||||
@@ -162,6 +193,26 @@
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
copyClick(row){
|
||||
let _this = this
|
||||
this.$confirm({
|
||||
content: _this.$t('ConfirmReplication'),
|
||||
onOk() {
|
||||
let query = JSON.parse(JSON.stringify(row))
|
||||
delete query.id
|
||||
delete query.exportState
|
||||
delete query.exportStateName
|
||||
postAction('/report/lawsMonthlyReportWriteEO/add', query).then((res) => {
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
dateChange(item) {
|
||||
this.queryParam[item.db_field_name] = this.queryParam[item.db_field_name] ? moment(this.queryParam[item.db_field_name]).format('YYYY-MM') : ''
|
||||
this.queryParam = { ...this.queryParam }
|
||||
|
||||
+2
-1
@@ -216,7 +216,8 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
+162
-10
@@ -1,20 +1,93 @@
|
||||
<template>
|
||||
<div class="box" style="margin-bottom: 20px">
|
||||
<div style="margin-bottom: 10px;text-align: right">
|
||||
<div @click="handleModule" class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
<a-modal
|
||||
:title="$t('importLocalDisassemblyOrder')"
|
||||
:width="700"
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
@cancel="visible = false"
|
||||
>
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="visible = false">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
</template>
|
||||
<div style="margin-bottom: 10px;text-align: center">
|
||||
<div @click="handleModule" class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
{{$t('templateDownload')}}
|
||||
</div>
|
||||
<div class="operator-text">
|
||||
<ImportFile :url="url" :isTrue="true" :accept="'.xls'"
|
||||
@getList="getPersonnelList"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operator-text">
|
||||
<ImportFile :url="url" :isTrue="true" :accept="'.xls'"
|
||||
@getList="getPersonnelList"/>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
:title="$t('BatchSetting')"
|
||||
:width="700"
|
||||
:visible="visibleBatch"
|
||||
:confirm-loading="confirmLoadingBatch"
|
||||
:maskClosable="false"
|
||||
@ok="handleOk"
|
||||
@cancel="handleCancel"
|
||||
>
|
||||
<a-form-model :model="formInline" class="formAdd" ref="ruleForm">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('evaluationMethod')">{{$t('evaluationMethod')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi">
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.evaluationMethods"
|
||||
:maxTagCount="1"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input-index"
|
||||
:tree-data="gatherResultList"
|
||||
tree-checkable
|
||||
:placeholder="$t('PleaseSelect')+$t('evaluationMethod')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('Assessor')">{{$t('Assessor')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<PersonnelSelection class="box-input-index"
|
||||
:personneQuery="formInline"
|
||||
:query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor')}"
|
||||
:isInput="true"
|
||||
@change="evaluationMethodChange"
|
||||
v-model="formInline.evaluatorIdsName"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
<div style="margin-bottom: 10px;text-align: right">
|
||||
<div @click="BatchSettingClick" class="operator-text">
|
||||
<a-icon type="setting"/>
|
||||
{{$t('BatchSetting')}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:scroll="{x: '100%'}"
|
||||
:data-source="dataList"
|
||||
rowKey="itemId"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
:pagination="false"
|
||||
:loading="loading">
|
||||
<div slot="clauseContent" slot-scope="text,result">
|
||||
@@ -70,6 +143,8 @@
|
||||
url: {
|
||||
importZipUrl: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/importItemExcel'
|
||||
},
|
||||
selectedRowKeys: [],
|
||||
formInline: {},
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('clauseNo'),
|
||||
@@ -109,15 +184,55 @@
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
confirmLoading: false,
|
||||
dataList: [],
|
||||
visible: false,
|
||||
ImportFileData: [],
|
||||
dataListData: [],
|
||||
loading: false
|
||||
loading: false,
|
||||
visibleBatch: false,
|
||||
confirmLoadingBatch: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
openData() {
|
||||
this.visible = true
|
||||
},
|
||||
BatchSettingClick() {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
this.visibleBatch = true
|
||||
this.formInline = {}
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
handleOk() {
|
||||
this.dataList.forEach(res => {
|
||||
this.selectedRowKeys.forEach(val => {
|
||||
if (res.itemId == val) {
|
||||
if (this.formInline.evaluationMethods && this.formInline.evaluationMethods.length > 0) {
|
||||
this.$set(res, 'evaluationMethods', this.formInline.evaluationMethods)
|
||||
}
|
||||
if (this.formInline.evaluatorIds) {
|
||||
this.$set(res, 'evaluatorIds', this.formInline.evaluatorIds)
|
||||
this.$set(res, 'evaluatorIdsName', this.formInline.evaluatorIdsName)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
this.dataList = [...this.dataList]
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.selectedRowKeys = []
|
||||
this.visibleBatch = false
|
||||
},
|
||||
handleCancel() {
|
||||
this.visibleBatch = false
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
},
|
||||
deleteData(item) {
|
||||
this.dataList = this.dataList.filter(res => {
|
||||
return res.itemId != item.itemId
|
||||
@@ -134,6 +249,10 @@
|
||||
this.dataList[index][value] = id
|
||||
this.dataList = [...this.dataList]
|
||||
},
|
||||
evaluationMethodChange(value, id) {
|
||||
this.formInline[value] = id
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
getData(value) {
|
||||
this.dataListData = []
|
||||
if (value && value.length > 0) {
|
||||
@@ -180,7 +299,6 @@
|
||||
this.$message.warning(this.$t('pleaseDecompositionStandardOrder'))
|
||||
return
|
||||
}
|
||||
|
||||
callback && callback(dataList)
|
||||
},
|
||||
handleModule() {
|
||||
@@ -228,4 +346,38 @@
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 84px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
}
|
||||
|
||||
.box-input-index {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
}
|
||||
</style>
|
||||
+13
-12
@@ -13,12 +13,12 @@
|
||||
<div class="detail-content">
|
||||
<div class="content-box">
|
||||
<div class="header-text">
|
||||
{{$t('processBackground')}}
|
||||
<a-button class="box-button-top" type="primary" @click="CurrentStandard">
|
||||
{{$t('initiateProcessForCurrentStandard')}}
|
||||
{{$t('initiateSupplementaryProcess')}}
|
||||
</a-button>
|
||||
</div>
|
||||
<div class="processBackground-text">
|
||||
<span style="font-size: 16px;font-weight: 400;color: #000F16;"> {{$t('processBackground')}}:</span>
|
||||
{{$route.query.processBackground}}
|
||||
</div>
|
||||
<div class="header-text">
|
||||
@@ -179,6 +179,13 @@
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResultName',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
@@ -193,13 +200,6 @@
|
||||
ellipsis: true,
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResultName',
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: this.$t('opinion'),
|
||||
dataIndex: 'opinion',
|
||||
@@ -237,7 +237,7 @@
|
||||
processBackground: this.$route.query.processBackground || '',
|
||||
remark: this.$route.query.remark || '',
|
||||
standId: this.$route.query.standId,
|
||||
lawsTechnologyEvaluationId:this.$route.query.lawsTechnologyEvaluationId
|
||||
lawsTechnologyEvaluationId: this.$route.query.lawsTechnologyEvaluationId
|
||||
}
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/evaluationInitiationProcess',
|
||||
@@ -423,13 +423,14 @@
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff!important;
|
||||
background: #fff !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
background: transparent !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
|
||||
+2
-2
@@ -13,12 +13,12 @@
|
||||
<div class="detail-content">
|
||||
<div class="content-box">
|
||||
<div class="header-text">
|
||||
{{$t('processBackground')}}
|
||||
<a-button class="box-button-top" type="primary" @click="CurrentStandard">
|
||||
{{$t('initiateProcessForCurrentStandard')}}
|
||||
{{$t('initiateSupplementaryProcess')}}
|
||||
</a-button>
|
||||
</div>
|
||||
<div class="processBackground-text">
|
||||
<span style="font-size: 16px;font-weight: 400;color: #000F16;"> {{$t('processBackground')}}:</span>
|
||||
{{$route.query.processBackground}}
|
||||
</div>
|
||||
<!-- <div class="header-text">-->
|
||||
|
||||
+73
-9
@@ -22,6 +22,12 @@
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange ,columnTitle:' '}"
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="whetherTheDisassemblySheetIncluded" slot-scope="text,record">
|
||||
{{record.sarFileSplitInfoList && record.sarFileSplitInfoList.length > 0 ? '是':'否'}}
|
||||
</span>
|
||||
<span slot="whetherTheDisassemblySheetIncludedTitle" :title="$t('whetherTheDisassemblySheetIncluded')">
|
||||
{{$t('whetherTheDisassemblySheetIncluded')}}
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataSource && dataSource.length > 0">
|
||||
<a-pagination
|
||||
@@ -37,8 +43,29 @@
|
||||
</div>
|
||||
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24" v-if="whetherDisplay">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('standardDecompositionDocument')">{{$t('standardDecompositionDocument')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="whetherTobring">
|
||||
<a-radio-group class="box-input"
|
||||
v-model="formInline.whetherTobring" @change="onChange">
|
||||
<a-radio :value="'1'">
|
||||
{{$t('yes')}}
|
||||
</a-radio>
|
||||
<a-radio :value="'2'">
|
||||
{{$t('notOnlyRz')}}
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24" style="margin-bottom: 10px">
|
||||
<a-col :span="24">
|
||||
<a-col :span="16">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('selectedStandard')">{{$t('selectedStandard')}}</span>
|
||||
@@ -49,16 +76,21 @@
|
||||
{{selectedRowKeysRecord[0] ?
|
||||
selectedRowKeysRecord[0].serialNumber+'-'+selectedRowKeysRecord[0].title:''}}
|
||||
</div>
|
||||
<div class="title-text-right" v-if="isTrue">
|
||||
<div class="title-text-right title-text-right-index" v-if="isTrue">
|
||||
<span :title="$t('standardDecompositionDocument')" @click="standardDecompositionDocumentClick">
|
||||
{{$t('standardDecompositionDocument')}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="title-text-right" v-if="isTrue">
|
||||
<span :title="$t('importLocalDisassemblyOrder')" @click="importLocalDisassemblyOrderClick">
|
||||
{{$t('importLocalDisassemblyOrder')}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<a-col :span="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
@@ -76,7 +108,7 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-col :span="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
@@ -178,6 +210,7 @@
|
||||
<JLoading :loading="JLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
|
||||
<standardDecompositionSheet ref="standardDecompositionSheetRef"
|
||||
:gatherResultList="gatherResultList"
|
||||
@standardDecompositionSheetForm="standardDecompositionSheetForm"/>
|
||||
</div>
|
||||
</template>
|
||||
@@ -234,6 +267,13 @@
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
whetherTobring: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('standardDecompositionDocument') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
evaluatorsName: [
|
||||
{
|
||||
required: true,
|
||||
@@ -304,6 +344,15 @@
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
dataIndex: 'corresponding_standard'
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
scopedSlots: {
|
||||
customRender: 'whetherTheDisassemblySheetIncluded',
|
||||
title: 'whetherTheDisassemblySheetIncludedTitle'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -312,9 +361,13 @@
|
||||
document.title = this.$t('regulatoryEngineer') + this.$t('initiatingProcess')
|
||||
this.getEvaluationMethodTree()
|
||||
if (this.$route.query.whetherTobring == '1') {
|
||||
this.formInline.whetherTobring = '1'
|
||||
this.formInline = { ...this.formInline }
|
||||
this.isTrue = true
|
||||
} else {
|
||||
this.isTrue = false
|
||||
this.formInline.whetherTobring = '2'
|
||||
this.formInline = { ...this.formInline }
|
||||
}
|
||||
if (this.$route.query.firstInitiation == '1') {
|
||||
this.whetherDisplay = true
|
||||
@@ -400,7 +453,7 @@
|
||||
}
|
||||
this.loading = true
|
||||
let url = ''
|
||||
if (this.$route.query.whetherTobring == '1') {
|
||||
if (this.isTrue) {
|
||||
url = this.url.addModelListOne
|
||||
} else {
|
||||
url = this.url.addModelList
|
||||
@@ -601,6 +654,12 @@
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
},
|
||||
onChange(event) {
|
||||
this.isTrue = event.target.value == '1' ? true : false
|
||||
},
|
||||
importLocalDisassemblyOrderClick() {
|
||||
this.$refs.TermInformationRef.openData()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -634,7 +693,7 @@
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 88px;
|
||||
width: 118px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
@@ -676,7 +735,7 @@
|
||||
|
||||
.button-text {
|
||||
height: 38px;
|
||||
width: calc(100% - 100px);
|
||||
width: calc(100%);
|
||||
line-height: 38px;
|
||||
background: #fff;
|
||||
border: 1px #00B3BE solid;
|
||||
@@ -690,7 +749,7 @@
|
||||
|
||||
.title-text-content {
|
||||
display: inline-block;
|
||||
width: calc(100% - 334px);
|
||||
width: calc(100% - 530px);
|
||||
text-align: center;
|
||||
border: 1px solid #d9d9d9;
|
||||
line-height: 38px;
|
||||
@@ -722,9 +781,14 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.title-text-right-index {
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
||||
.title-text-content-one {
|
||||
border-bottom-right-radius: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
width: calc(100% - 128px);
|
||||
width: calc(100% - 132px);
|
||||
}
|
||||
</style>
|
||||
+56
-1
@@ -32,6 +32,40 @@
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('technicalField')">
|
||||
<span>{{$t('technicalField')}}</span>
|
||||
</div>
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="queryParam.technology_territory"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
class="box-input"
|
||||
style="width: 100%"
|
||||
:tree-data="CategoryTreeList"
|
||||
tree-checkable
|
||||
:placeholder="$t('PleaseSelect')+$t('technicalField')"
|
||||
/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('informationCategory')">
|
||||
<span>{{$t('informationCategory')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.information_category"
|
||||
:placeholder="$t('PleaseSelect')+$t('informationCategory')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'information_category'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="8">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
<!-- <span style="float: right;overflow: hidden;margin-top: 4px" class="table-page-search-submitButtons">-->
|
||||
<!-- <a-col :md="12" :sm="24">-->
|
||||
<!-- <div @click="handleModule" class="operator-text">-->
|
||||
@@ -94,6 +128,7 @@
|
||||
components: {
|
||||
ImportFile
|
||||
},
|
||||
props: ['gatherResultList'],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
@@ -101,6 +136,7 @@
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
sarFileSplitInfoList: [],
|
||||
informationCategoryList:[],
|
||||
url: {
|
||||
list: '/split/sarFileSplitItems/getSplitItemsByPage'
|
||||
},
|
||||
@@ -151,10 +187,23 @@
|
||||
queryConditionVOList: [],
|
||||
info_id: '',
|
||||
selectedRowKeysData: [],
|
||||
standardList: ''
|
||||
standardList: '',
|
||||
CategoryTreeList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getSysCategoryTree()
|
||||
},
|
||||
methods: {
|
||||
getSysCategoryTree() {
|
||||
getAction('/sys/category/getSysCategoryTree', {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.CategoryTreeList = res.result
|
||||
} else {
|
||||
this.CategoryTreeList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
handleModule() {
|
||||
|
||||
},
|
||||
@@ -176,6 +225,7 @@
|
||||
this.standData = row
|
||||
this.sarFileSplitInfoList = this.standData.sarFileSplitInfoList || []
|
||||
this.sarFileSplitInfoList = [...this.sarFileSplitInfoList]
|
||||
this.queryParam = {}
|
||||
this.queryParam.info_id = this.sarFileSplitInfoList && this.sarFileSplitInfoList.length > 0 ? this.sarFileSplitInfoList[0].id : ''
|
||||
this.visible = true
|
||||
if (this.queryParam.info_id) {
|
||||
@@ -219,10 +269,15 @@
|
||||
replacePage() {
|
||||
let pageNo = JSON.parse(JSON.stringify(this.pageNo))
|
||||
let pageSize = JSON.parse(JSON.stringify(this.pageSize))
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
if (queryParam.technology_territory && queryParam.technology_territory.length > 0){
|
||||
queryParam.technology_territory = queryParam.technology_territory.join(',')
|
||||
}
|
||||
let query = {
|
||||
pageNo: pageNo + '',
|
||||
pageSize: pageSize + '',
|
||||
info_id: this.queryParam.info_id,
|
||||
technology_territory:queryParam.technology_territory,
|
||||
menu_id: ''
|
||||
}
|
||||
this.loading = true
|
||||
|
||||
@@ -102,8 +102,9 @@
|
||||
>
|
||||
<!-- -->
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>
|
||||
<a class="text-operation" v-if="record.flowStatus == 'Completed'"
|
||||
<!-- <a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>-->
|
||||
<!-- v-if="record.flowStatus == 'Completed'"-->
|
||||
<a class="text-operation"
|
||||
@click="evaluationResultsClick(record)">{{$t('evaluationResults')}}</a>
|
||||
<a class="text-operation"
|
||||
v-if="(record.flowStatus == 'Completed' && userInfoQuery.username == record.createBy) || administrators"
|
||||
@@ -286,7 +287,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 320,
|
||||
width: 220,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
@@ -428,24 +429,26 @@
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
this.visible = false
|
||||
this.formInline.firstInitiation = '1'
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/evaluationInitiationProcess',
|
||||
query: this.formInline
|
||||
})
|
||||
// let newUrl = this.$router.resolve({
|
||||
// path: '/evaluationProcess'
|
||||
// })
|
||||
window.open(newUrl.href, '_blank')
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
initiatingProcessClick() {
|
||||
this.visible = true
|
||||
this.formInline = {}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
// this.visible = true
|
||||
// this.formInline = {}
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.ruleForm.clearValidate()
|
||||
// })
|
||||
this.formInline.firstInitiation = '1'
|
||||
this.formInline.whetherTobring = '1'
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/evaluationInitiationProcess',
|
||||
query: this.formInline
|
||||
})
|
||||
// let newUrl = this.$router.resolve({
|
||||
// path: '/evaluationProcess'
|
||||
// })
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
viewProcessClick(row) {
|
||||
this.$refs.processInformationRef.getData(JSON.parse(JSON.stringify(row)))
|
||||
|
||||
@@ -74,7 +74,8 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -251,7 +251,8 @@
|
||||
<span slot="fileOperation" slot-scope="record">
|
||||
<a class="text" @click="pdfPreview(record)"
|
||||
:disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx' || record.fileSuffix == '.doc'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
|| record.fileSuffix == '.jpg' || record.fileSuffix == '.png' || record.fileSuffix == '.gif'|| record.fileSuffix == '.jpeg'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
{{$t('See')}}
|
||||
</a>
|
||||
<a class="text" @click="download(record)">
|
||||
@@ -395,6 +396,15 @@
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
KnowledgeDatabaseClick() {
|
||||
let serial_number = ''
|
||||
if (this.detailList.length > 0) {
|
||||
this.detailList[0][this.$t('essentialInformation')].forEach(res => {
|
||||
if (res.db_field_name == 'serial_number') {
|
||||
serial_number = res.value
|
||||
}
|
||||
})
|
||||
}
|
||||
localStorage.setItem('serial_number',serial_number)
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/problemknowledgeBase',
|
||||
})
|
||||
@@ -452,7 +462,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
+2
-1
@@ -30,7 +30,8 @@
|
||||
<div class="detail-content" style="padding-bottom: 20px">
|
||||
<div style="width: 100%;height: auto;overflow: hidden">
|
||||
<div class="detail-content-left">
|
||||
<div class="detail-content-left-header" :title="resultData.serialNumberLeft + resultData.fileNameLeft">
|
||||
<div class="detail-content-left-header"
|
||||
:title="resultData.serialNumberLeft + resultData.fileNameLeft">
|
||||
{{this.resultData.serialNumberLeft}}
|
||||
{{this.resultData.fileNameLeft}}
|
||||
</div>
|
||||
|
||||
+28
-1
@@ -71,6 +71,7 @@
|
||||
{{$t('selectedStandard')}}
|
||||
</span>
|
||||
<span class="box-button-standard-right"
|
||||
@click="selecLeftClick(selectedRowKeysLeftRecord[0])"
|
||||
:title="selectedRowKeysLeftRecord[0]?selectedRowKeysLeftRecord[0].serialNumber+' '+selectedRowKeysLeftRecord[0].fileName:$t('noComparisonDocumentSelected')"
|
||||
:class="{'box-button-standard-right-color':selectedRowKeysLeftRecord[0]}">
|
||||
{{selectedRowKeysLeftRecord[0]?selectedRowKeysLeftRecord[0].serialNumber+' '+selectedRowKeysLeftRecord[0].fileName:$t('noComparisonDocumentSelected')}}
|
||||
@@ -136,6 +137,7 @@
|
||||
{{$t('selectedStandard')}}
|
||||
</span>
|
||||
<span class="box-button-standard-right"
|
||||
@click="selecLeftClick(selectedRowKeysRightRecord[0])"
|
||||
:title="selectedRowKeysRightRecord[0]?selectedRowKeysRightRecord[0].serialNumber+' '+selectedRowKeysRightRecord[0].fileName:$t('noComparisonDocumentSelected')"
|
||||
:class="{'box-button-standard-right-color':selectedRowKeysRightRecord[0]}">
|
||||
{{selectedRowKeysRightRecord[0]?selectedRowKeysRightRecord[0].serialNumber+' '+selectedRowKeysRightRecord[0].fileName:$t('noComparisonDocumentSelected')}}
|
||||
@@ -169,7 +171,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import { getAction, postAction, deleteAction ,downloadFile} from '@/api/manage'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'initiateDocumentComparison',
|
||||
@@ -191,6 +195,7 @@
|
||||
totalRight: 0,
|
||||
pageNoRight: 1,
|
||||
formInline: {},
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
rules: {
|
||||
remark: [
|
||||
{
|
||||
@@ -248,6 +253,7 @@
|
||||
document.title = this.$t('DocumentComparison') + ' - ' + this.$t('initiateComparison')
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
Fallback() {
|
||||
this.$router.push({
|
||||
path: '/documentComparison'
|
||||
@@ -371,6 +377,26 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
selecLeftClick(fileQuery){
|
||||
if (fileQuery){
|
||||
let fileName = fileQuery.fileName
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.fileId+'&userName='+this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.fileId })
|
||||
}
|
||||
}
|
||||
},
|
||||
getListRight() {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParamRight))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
@@ -580,5 +606,6 @@
|
||||
|
||||
.box-button-standard-right-color {
|
||||
color: #040B29;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
@@ -150,20 +150,20 @@
|
||||
scopedSlots: { customRender: 'serialNumberLeft' }
|
||||
},
|
||||
{
|
||||
title: this.$t('TextStatus'),
|
||||
title: this.$t('TextStatus') + 1,
|
||||
align: 'center',
|
||||
width: 200,
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileTypeLeft'
|
||||
},
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
align: 'center',
|
||||
width: 270,
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileNameLeft',
|
||||
scopedSlots: { customRender: 'fileNameLeft' }
|
||||
},
|
||||
// {
|
||||
// title: this.$t('fileName'),
|
||||
// align: 'center',
|
||||
// width: 270,
|
||||
// ellipsis: true,
|
||||
// dataIndex: 'fileNameLeft',
|
||||
// scopedSlots: { customRender: 'fileNameLeft' }
|
||||
// },
|
||||
{
|
||||
title: this.$t('standard') + 2,
|
||||
align: 'center',
|
||||
@@ -181,20 +181,20 @@
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('TextStatus'),
|
||||
title: this.$t('TextStatus') + 2,
|
||||
align: 'center',
|
||||
width: 200,
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileTypeRight'
|
||||
},
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
align: 'center',
|
||||
width: 270,
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileNameRight',
|
||||
scopedSlots: { customRender: 'fileNameRight' }
|
||||
},
|
||||
// {
|
||||
// title: this.$t('fileName'),
|
||||
// align: 'center',
|
||||
// width: 270,
|
||||
// ellipsis: true,
|
||||
// dataIndex: 'fileNameRight',
|
||||
// scopedSlots: { customRender: 'fileNameRight' }
|
||||
// },
|
||||
{
|
||||
title: this.$t('releaseSituation'),
|
||||
align: 'center',
|
||||
@@ -202,6 +202,13 @@
|
||||
ellipsis: true,
|
||||
dataIndex: 'releaseStateTitle'
|
||||
},
|
||||
{
|
||||
title: this.$t('creater'),
|
||||
align: 'center',
|
||||
width: 170,
|
||||
ellipsis: true,
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('remarks'),
|
||||
align: 'center',
|
||||
@@ -415,7 +422,8 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdLeft + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdLeft + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
@@ -432,7 +440,8 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdRight + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdRight + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -31,10 +31,11 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<!-- <span class="Required">*</span>-->
|
||||
<span class="title-text-text" :title="$t('standard')">{{$t('standard')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="serialNumber">
|
||||
<!-- prop="serialNumber"-->
|
||||
<a-form-model-item class="itemModel" >
|
||||
<a-input class="box-input"
|
||||
readonly
|
||||
v-model="formInline.serialNumber"
|
||||
|
||||
@@ -696,7 +696,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
+4
-2
@@ -129,7 +129,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
@@ -150,7 +151,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -267,7 +267,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -170,7 +170,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
@@ -238,7 +239,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
|
||||
@@ -651,8 +651,8 @@
|
||||
],
|
||||
remark: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
max: 1000,
|
||||
message: this.$t('remarks') + this.$t('cannotExceed') + 1000 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
|
||||
@@ -238,6 +238,7 @@
|
||||
>
|
||||
<span slot="fileOperation" slot-scope="record">
|
||||
<a class="text" @click="pdfPreview(record)" :disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx'
|
||||
|| record.fileSuffix == '.jpg' || record.fileSuffix == '.png' || record.fileSuffix == '.gif'|| record.fileSuffix == '.jpeg'
|
||||
|| record.fileSuffix == '.doc' || record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
{{$t('See')}}
|
||||
</a>
|
||||
@@ -829,7 +830,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
@@ -846,7 +848,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('fileName')">{{$t('fileName')}}</span>
|
||||
:title="$t('file')">{{$t('file')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="fileKey">
|
||||
<a-button type="primary" class="button-text"
|
||||
|
||||
@@ -61,10 +61,10 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('fileName')">
|
||||
<span>{{ $t('fileName') }}</span>
|
||||
<div class="title-text" :title="$t('file')">
|
||||
<span>{{ $t('file') }}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('fileName')"
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('file')"
|
||||
v-model="queryParams.fileName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -355,7 +355,7 @@ export default {
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
title: this.$t('file'),
|
||||
align: 'center',
|
||||
dataIndex: 'fileName',
|
||||
scopedSlots: { customRender: 'fileName' },
|
||||
|
||||
@@ -95,6 +95,21 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('exportFileName')">
|
||||
<span class="Required">*</span>
|
||||
<span>{{$t('exportFileName')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="exportName">
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('exportFileName')"
|
||||
v-model.trim="formInline.exportName"></a-input>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
@@ -141,6 +156,14 @@ export default {
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
exportName:[
|
||||
{
|
||||
max: 70,
|
||||
message: this.$t('exportFileName') + this.$t('cannotExceed') + 70 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('exportFileName'), trigger: 'blur' },
|
||||
],
|
||||
certCategory:[
|
||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('certificationCategory'), trigger: 'change' },
|
||||
// { min:1, max: 50, message: this.$t('cantExeed')+'50'+this.$t('MergeSeparator'), trigger: 'blur' },
|
||||
@@ -289,12 +312,12 @@ export default {
|
||||
query.certCategoryName = this.contentListStart
|
||||
}
|
||||
query.paramsManifestId = this.$route.query.id
|
||||
let long = localStorage.getItem('language')
|
||||
if (long && long === 'zh-cn') {
|
||||
query.exportName = '常规导出'
|
||||
} else if (long && long === 'en-us') {
|
||||
query.exportName = 'Normal'
|
||||
}
|
||||
// let long = localStorage.getItem('language')
|
||||
// if (long && long === 'zh-cn') {
|
||||
// query.exportName = '常规导出'
|
||||
// } else if (long && long === 'en-us') {
|
||||
// query.exportName = 'Normal'
|
||||
// }
|
||||
this.confirmLoading = true
|
||||
downloadFile('report/detail/exportNormal', query.exportName+'.zip', query)
|
||||
this.confirmLoading = false
|
||||
|
||||
@@ -377,7 +377,7 @@ export default {
|
||||
rules: {
|
||||
nioNumber:[
|
||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('NiONumber'), trigger: 'blur' },
|
||||
{ min:1, max: 15, message: this.$t('cantExeed')+'15'+this.$t('characters'), trigger: 'blur' },
|
||||
{ min:1, max: 20, message: this.$t('cantExeed')+'20'+this.$t('characters'), trigger: 'blur' },
|
||||
{
|
||||
pattern: /^[0-9a-zA-Z-/ ]{1,}$/,
|
||||
message: this.$t('onlyThree'),
|
||||
@@ -392,7 +392,7 @@ export default {
|
||||
],
|
||||
paramsName: [
|
||||
{ required: true, message: this.$t('pleaseSelect')+this.$t('Paraname'), trigger: 'blur' },
|
||||
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },
|
||||
{ min:1, max: 350, message: this.$t('cantExeed')+'350'+this.$t('characters'), trigger: 'blur' },
|
||||
],
|
||||
technologyTerritory: [
|
||||
{ required: true, message: this.$t('pleaseSelect')+this.$t('technicalField'), trigger: 'change' },
|
||||
@@ -689,8 +689,8 @@ export default {
|
||||
this.$message.warning(this.$t('standard')+this.$t('cannotEmpty'))
|
||||
falg = 0
|
||||
return
|
||||
} else if(item.paramsNumber.length > 15){
|
||||
this.$message.warning(this.$t('standard')+this.$t('cantExeed')+'15'+this.$t('Characters'))
|
||||
} else if(item.paramsNumber.length > 20){
|
||||
this.$message.warning(this.$t('standard')+this.$t('cantExeed')+'20'+this.$t('Characters'))
|
||||
falg = 0
|
||||
return
|
||||
} else if(item.paramsNumber.match(reg) === null) {
|
||||
@@ -703,8 +703,8 @@ export default {
|
||||
this.$message.warning(this.$t('ParameterName')+this.$t('cannotEmpty'))
|
||||
falg = 0
|
||||
return
|
||||
} else if(item.paramsName.length > 100){
|
||||
this.$message.warning(this.$t('ParameterName')+this.$t('cantExeed')+'100'+this.$t('Characters'))
|
||||
} else if(item.paramsName.length > 350){
|
||||
this.$message.warning(this.$t('ParameterName')+this.$t('cantExeed')+'350'+this.$t('Characters'))
|
||||
falg = 0
|
||||
return
|
||||
}
|
||||
|
||||
@@ -164,6 +164,13 @@
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'complianceResults' }
|
||||
},
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
@@ -192,13 +199,6 @@
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'enclosure' }
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'complianceResults' }
|
||||
},
|
||||
{
|
||||
title: this.$t('sponsorFeedback'),
|
||||
dataIndex: 'sponsorFeedback',
|
||||
@@ -237,6 +237,14 @@
|
||||
width: 180,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'Results' }
|
||||
},
|
||||
{
|
||||
title: this.$t('nameTechnicalDocument'),
|
||||
dataIndex: 'technicalFileName',
|
||||
@@ -266,14 +274,6 @@
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'accessoryFile' }
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResult',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'Results' }
|
||||
},
|
||||
{
|
||||
title: this.$t('sponsorFeedback'),
|
||||
dataIndex: 'sponsorFeedback',
|
||||
|
||||
@@ -55,21 +55,6 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('reason')">{{$t('reason')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.reason'"
|
||||
:rules="[{max: 300,message: $t('reason') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('reason')"
|
||||
:disabled="disabled"
|
||||
v-model="item.reason" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
@@ -87,6 +72,42 @@
|
||||
</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('reason')">{{$t('reason')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.reason'"
|
||||
:rules="[
|
||||
{ required: true, message: $t('reason') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('reason') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('reason')"
|
||||
:disabled="disabled"
|
||||
v-model="item.reason" :rows="4"/>
|
||||
</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="title-text-text" :title="$t('clauseContent')">{{$t('clauseContent')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.clauseContent'"
|
||||
:rules="[
|
||||
{max: 300,message: $t('clauseContent') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('clauseContent')"
|
||||
:disabled="disabled"
|
||||
v-model="item.clauseContent" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-form-model>
|
||||
|
||||
@@ -17,10 +17,13 @@
|
||||
@click="urlClick(queryForm[item.value])"
|
||||
v-if="item.type == 1"
|
||||
>{{queryForm[item.value]}}</span>
|
||||
|
||||
<span class="text-field-right text-field-right-url"
|
||||
@click="standardClick(queryForm)"
|
||||
v-else-if="item.type == '5'" :title="queryForm[item.value]"
|
||||
>{{queryForm[item.value]}}</span>
|
||||
<span class="text-field-right text-field-right-url"
|
||||
@click="clickButtonToUpload(queryForm[item.value])"
|
||||
v-if="item.type == 2 && queryForm[item.value]"
|
||||
v-else-if="item.type == 2 && queryForm[item.value]"
|
||||
>{{ $t('viewFile') }}</span>
|
||||
<span class="text-field-right"
|
||||
:title="queryForm[item.value]" v-else
|
||||
@@ -84,6 +87,15 @@
|
||||
window.open(val)
|
||||
}
|
||||
},
|
||||
standardClick(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: row.standId
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
clickButtonToUpload(item) {
|
||||
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||
}
|
||||
|
||||
@@ -41,7 +41,8 @@
|
||||
<span slot="fileOperation" slot-scope="record">
|
||||
<a class="text" @click="pdfPreview(record)"
|
||||
:disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx' || record.fileSuffix == '.doc'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
|| record.fileSuffix == '.jpg' || record.fileSuffix == '.png' || record.fileSuffix == '.gif'|| record.fileSuffix == '.jpeg'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
{{$t('See')}}
|
||||
</a>
|
||||
<a class="text" @click="download(record)">
|
||||
@@ -186,7 +187,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
@@ -203,7 +205,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -82,7 +82,8 @@
|
||||
standardContent: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
value: 'serialNumber'
|
||||
value: 'serialNumber',
|
||||
type: 5
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
@@ -114,7 +115,8 @@
|
||||
evaluatorFeedback: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
value: 'serialNumber'
|
||||
value: 'serialNumber',
|
||||
type: 5
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</div>
|
||||
<!-- <span class="flow-chart-title">{{ $route.params.processNumber }} {{ $route.params.processTypeName }} 流程图</span>-->
|
||||
</div>
|
||||
<div class="flow-group" style="margin-top: 30px;overflow: auto;text-align: center">
|
||||
<div class="flow-group" style="overflow: auto;text-align: center">
|
||||
<img :src="processStep" class="process-img">
|
||||
</div>
|
||||
</div>
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
.flow-chart {
|
||||
width: 100%;
|
||||
height: 45%;
|
||||
height: 40%;
|
||||
background: #F0F0F0;
|
||||
border: 1px solid #CCCDCE;
|
||||
border-bottom: none;
|
||||
@@ -109,8 +109,7 @@
|
||||
height: calc(~'100% - 30px');
|
||||
|
||||
.process-img {
|
||||
//width: 100%;
|
||||
//height: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,8 @@
|
||||
standardContentList: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
value: 'serial_number'
|
||||
value: 'serial_number',
|
||||
type: 5
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
|
||||
@@ -945,8 +945,8 @@
|
||||
],
|
||||
remark: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('remarks') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
max: 1000,
|
||||
message: this.$t('remarks') + this.$t('cannotExceed') + 1000 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
|
||||
@@ -369,7 +369,8 @@
|
||||
<span slot="fileOperation" slot-scope="record">
|
||||
<a class="text" @click="pdfPreview(record)"
|
||||
:disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx' || record.fileSuffix == '.doc'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
|| record.fileSuffix == '.jpg' || record.fileSuffix == '.png' || record.fileSuffix == '.gif'|| record.fileSuffix == '.jpeg'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
{{$t('See')}}
|
||||
</a>
|
||||
<a class="text" @click="download(record)">
|
||||
@@ -2125,7 +2126,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
@@ -2143,7 +2145,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -214,7 +214,8 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -115,7 +115,8 @@
|
||||
<span slot="fileOperation" slot-scope="record">
|
||||
<a class="text" @click="pdfPreview(record)"
|
||||
:disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx' || record.fileSuffix == '.doc'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
|| record.fileSuffix == '.jpg' || record.fileSuffix == '.png' || record.fileSuffix == '.gif'|| record.fileSuffix == '.jpeg'
|
||||
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
|
||||
{{$t('See')}}
|
||||
</a>
|
||||
<a class="text" @click="download(record)">
|
||||
@@ -467,7 +468,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
@@ -484,7 +486,8 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
|
||||
@@ -86,17 +86,17 @@
|
||||
>
|
||||
<span slot="technicalField" slot-scope="text,record" :title="text">
|
||||
<a @click="entryNameClick(record)">
|
||||
{{ text && text.length > 23 ? text.slice(0, 22) + '...' : text }}
|
||||
{{ text }}
|
||||
</a>
|
||||
</span>
|
||||
<span slot="standard" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
||||
{{ text }}
|
||||
</span>
|
||||
<!-- <span slot="serialNumber" slot-scope="text,record" :title="text">-->
|
||||
<!-- {{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}-->
|
||||
<!-- </span>-->
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="handlecody(record)">{{$t('ViewConformanceResults')}}</a>
|
||||
<a class="text-operation" @click="handlecody(record)">{{$t('view')}}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
@@ -168,21 +168,24 @@ export default {
|
||||
title: this.$t('standard'),
|
||||
align: 'center',
|
||||
dataIndex: 'serialNumber',
|
||||
width: 180,
|
||||
width: 300,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standard' }
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'center',
|
||||
dataIndex: 'title',
|
||||
width: 250,
|
||||
width: 300,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standard' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
dataIndex: 'state_dicText',
|
||||
width: 180
|
||||
width: 120
|
||||
},
|
||||
// {
|
||||
// title: this.$t('category'),
|
||||
@@ -194,13 +197,14 @@ export default {
|
||||
align: 'center',
|
||||
dataIndex: 'technologyTerritory_dicText',
|
||||
width: 250,
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'technicalField' }
|
||||
},
|
||||
{
|
||||
title: this.$t('RegulatoryProcessEvaluationResults'),
|
||||
title: this.$t('evaluationResults'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 300,
|
||||
width: 180,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
@@ -282,7 +286,8 @@ export default {
|
||||
// 导出历史
|
||||
handlecody(e) {
|
||||
this.drawerVisible = true
|
||||
this.titleTag = e.serialNumber + this.$t('ComplianceConfirmationRecord')
|
||||
// e.serialNumber +
|
||||
this.titleTag = this.$t('evaluationResults')
|
||||
this.paramsManifestId = e.id
|
||||
this.item = {...e}
|
||||
},
|
||||
|
||||
@@ -122,9 +122,27 @@
|
||||
searchParmes: {},
|
||||
searchQueryList: [
|
||||
{
|
||||
field_show_type: 6,
|
||||
field_show_type: 12,
|
||||
db_field_txt: this.$t('warningTime'),
|
||||
db_field_name: 'WarnTime'
|
||||
db_field_name: 'WarnTimeText',
|
||||
option: [
|
||||
{
|
||||
value: '1',
|
||||
name:this.$t('inRecentMonths3')
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
name: this.$t('inRecentMonths6')
|
||||
},
|
||||
{
|
||||
value: '3',
|
||||
name: this.$t('inRecentYear1')
|
||||
},
|
||||
{
|
||||
value: '4',
|
||||
name: this.$t('inRecentYear2')
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
@@ -240,7 +258,7 @@
|
||||
} else {
|
||||
flag = 2
|
||||
}
|
||||
this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)),flag)
|
||||
this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)), flag)
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
@@ -272,6 +290,9 @@
|
||||
this.selectedRowKeys = []
|
||||
},
|
||||
clearSelected() {
|
||||
if (!this.searchParmes['WarnTimeText']) {
|
||||
this.searchParmes['WarnTimeText'] = '2'
|
||||
}
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
let endTime = this.getNowdate()
|
||||
this.searchParmes['WarnTime'] = [startTime, endTime]
|
||||
@@ -279,26 +300,41 @@
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
getNowdate(){
|
||||
getNowdate() {
|
||||
let monthData
|
||||
let yearData
|
||||
if (this.searchParmes['WarnTimeText'] == '1') {
|
||||
monthData = 4
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '2') {
|
||||
monthData = 7
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '3') {
|
||||
monthData = 13
|
||||
yearData = 1
|
||||
} else if (this.searchParmes['WarnTimeText'] == '4') {
|
||||
monthData = 25
|
||||
yearData = 2
|
||||
}
|
||||
var date_now = new Date()//获取当前时间
|
||||
var year = date_now.getFullYear()//获取当前时间的年份
|
||||
var month = date_now.getMonth()//获取当前时间的月份
|
||||
var day = date_now.getDate()//获取当前时间的日
|
||||
var days = new Date(year,month,0)//将获取到的年月赋值给days
|
||||
var days = new Date(year, month, 0)//将获取到的年月赋值给days
|
||||
days = days.getDate()//获取当前年月的日
|
||||
var year2 = year
|
||||
var month2 = parseInt(month+7)//获取当前月份的1一个月以后的月份
|
||||
if(month2 > 12){
|
||||
year2 = parseInt(year2) + 1
|
||||
var month2 = parseInt(month + monthData)//获取当前月份的1一个月以后的月份
|
||||
if (month2 > 12) {
|
||||
year2 = parseInt(year2) + yearData
|
||||
month2 = parseInt(month2) % 12
|
||||
}//考虑到12月要是获取一个月以后,就是一月,年份需要加一 ,一年没有13月,所以%12,取得来年1月
|
||||
var day2 = day
|
||||
var days2 = new Date(year2,month2,0)
|
||||
var days2 = new Date(year2, month2, 0)
|
||||
days2 = days2.getDate()
|
||||
if(day2>days2){
|
||||
if (day2 > days2) {
|
||||
day2 = days2
|
||||
}//获取了当前年份的日和6个月以后的日,为的就是判断如果前一个月是有31号,后一个月没有,就将一个月以后的日期取到,赋值给day2
|
||||
if(month2 < 10){
|
||||
if (month2 < 10) {
|
||||
month2 = '0' + month2
|
||||
}
|
||||
var time = year2 + '-' + month2 + '-' + day2
|
||||
@@ -350,12 +386,13 @@
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff!important;
|
||||
background: #fff !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
::v-deep .ant-table-body {
|
||||
background: transparent!important;
|
||||
background: transparent !important;
|
||||
}
|
||||
</style>
|
||||
@@ -92,7 +92,7 @@ module.exports = {
|
||||
}
|
||||
}, */
|
||||
'/jero-boot': {
|
||||
target: 'http://localhost:8080', //请求本地 jero-boot后台项目
|
||||
target: 'http://10.0.1.14:8080', //请求本地 jero-boot后台项目
|
||||
// target: 'http://10.10.10.46:8101', //请求本地 jero-boot后台项目
|
||||
// target: 'http://10.0.1.25:8080',
|
||||
// target: 'http://10.0.1.5:8080',
|
||||
|
||||
Reference in New Issue
Block a user