Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage
This commit is contained in:
@@ -326,3 +326,11 @@ CREATE TABLE `laws_technology_evaluation_result` (
|
||||
`acti_proc_inst_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '流程实例id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '法规技术评估-评估结果表' ROW_FORMAT = Dynamic;
|
||||
|
||||
|
||||
-- 增加评估方式树形字典。
|
||||
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `sys_dict_id`, `has_child`, `en_name`, `description`, `is_tag_dict`, `attribute_type`, `is_read_only`, `del_flag`, `item_value`, `sort_order`) VALUES ('1546745025973256194', '0', '评1', NULL, 'admin', '2022-07-12 14:35:26', 'admin', '2022-07-12 14:36:36', 'A01', '1546744902203539458', '1', 'P1', '333', 1, NULL, NULL, 0, NULL, 1);
|
||||
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `sys_dict_id`, `has_child`, `en_name`, `description`, `is_tag_dict`, `attribute_type`, `is_read_only`, `del_flag`, `item_value`, `sort_order`) VALUES ('1546745149692641282', '0', '评2', NULL, 'admin', '2022-07-12 14:35:55', NULL, NULL, 'A01', '1546744902203539458', NULL, 'P2', NULL, 1, NULL, NULL, 0, NULL, 2);
|
||||
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `sys_dict_id`, `has_child`, `en_name`, `description`, `is_tag_dict`, `attribute_type`, `is_read_only`, `del_flag`, `item_value`, `sort_order`) VALUES ('1546745318161055745', '1546745025973256194', '评1+1', NULL, 'admin', '2022-07-12 14:36:36', NULL, NULL, 'A01', '1546744902203539458', NULL, 'P1+1', NULL, 1, NULL, NULL, 0, NULL, 1);
|
||||
|
||||
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1546744902203539458', '评估方式', 'evaluation_method', '评估方式', 0, 'admin', '2022-07-12 14:34:56', NULL, NULL, NULL, NULL, 1, 0, '2', 1);
|
||||
|
||||
+3
-1
@@ -588,7 +588,8 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
||||
|
||||
// 添加导出历史
|
||||
String uploadFileName = fileOriName + ".zip";
|
||||
MultipartFile mFile = new MockMultipartFile(uploadFileName, uploadFileName, ContentType.APPLICATION_OCTET_STREAM.toString(), fis); // 用于上传
|
||||
InputStream uploadFileio = new FileInputStream(new File(fileNowPath+".zip"));
|
||||
MultipartFile mFile = new MockMultipartFile(uploadFileName, uploadFileName, "text/plain", uploadFileio); // 用于上传
|
||||
OSSFile ossFile = ossFileService.uploadLocalOfCos(mFile, "/report", "", CutEnum.CN.getValue()); // 上传导出的压缩包
|
||||
ParamsReportExportHistoryEO paramsReportExportHistoryEO = new ParamsReportExportHistoryEO();
|
||||
paramsReportExportHistoryEO.setExportType(ExportTypeEnum.NORMAL.getValue());
|
||||
@@ -597,6 +598,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
||||
paramsReportExportHistoryEO.setExportTime(new Date());
|
||||
paramsReportExportHistoryEOService.add(paramsReportExportHistoryEO);
|
||||
|
||||
uploadFileio.close();
|
||||
os.flush();
|
||||
os.close(); // 后开先关
|
||||
fis.close(); // 先开后关
|
||||
|
||||
+2
-2
@@ -77,10 +77,10 @@ public class ParamsInfoEO implements Serializable {
|
||||
private String paramsName;
|
||||
|
||||
/**技术领域*/
|
||||
@Excel(name = "*技术领域", width = 15)
|
||||
// @Excel(name = "*技术领域", width = 15)
|
||||
// @Dict(dicCode = "technology_territory")
|
||||
@ApiModelProperty(value = "技术领域")
|
||||
private String technologyTerritory;
|
||||
private String technologyTerritory; // 2022-07-12 需求去掉技术领域
|
||||
|
||||
/**参数批次*/
|
||||
@Excel(name = "*参数批次", width = 15, dicCode = "params_batch")
|
||||
|
||||
+16
-16
@@ -455,7 +455,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
// 查询导出数据
|
||||
List<ParamsInfoEO> paramsInfoEOList = paramsInfoEOMapper.selectListWithCert(paramsInfoVO); // 中文数据导出
|
||||
getTreeDictItemText(paramsInfoEOList, cut);
|
||||
// getTreeDictItemText(paramsInfoEOList, cut);
|
||||
List<Map<String, Object>> sheetsList = new ArrayList<>();
|
||||
sheetsList = getCnExportSheetsList(paramsInfoEOList, fileNowPath, paramsTemplateId);
|
||||
workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.XSSF);
|
||||
@@ -463,7 +463,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
} else if (CutEnum.EN.getValue().equals(cut)) {
|
||||
// 查询导出数据
|
||||
List<ParamsInfoEnExport> paramsInfoEnExportList = paramsInfoEOMapper.selectListWithCertForEnExport(paramsInfoVO); // 英文数据导出
|
||||
getTreeDictItemTextForEnExport(paramsInfoEnExportList);
|
||||
// getTreeDictItemTextForEnExport(paramsInfoEnExportList);
|
||||
List<Map<String, Object>> sheetsList = new ArrayList<>();
|
||||
sheetsList = getEnExportSheetsList(paramsInfoEnExportList, fileNowPath, paramsTemplateId);
|
||||
workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.XSSF);
|
||||
@@ -839,7 +839,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
// 第几个sheet页
|
||||
if (numSheet == 0) { // 企业参数表
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
String fields[] ={ "*NIO Number", "*Is Must", "*Params Name","*Technical Field","*Params Batch","*Duty Territory",
|
||||
String fields[] ={ "*NIO Number", "*Is Must", "*Params Name","*Params Batch","*Duty Territory",
|
||||
"Description", "*Control Type", "Control Verify", "Control Values", "File Template"};
|
||||
params.setImportFields(fields);
|
||||
|
||||
@@ -847,7 +847,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
List<ParamsInfoEnImport> paramsInfoEOListEn = resultEn.getList();
|
||||
copyParamsInfoList(paramsInfoEOListEn, paramsInfoEOList);
|
||||
} else {
|
||||
String fields[] ={ "*NIO编号", "*是否必填", "*参数名称","*技术领域","*参数批次","*责任领域",
|
||||
String fields[] ={ "*NIO编号", "*是否必填", "*参数名称","*参数批次","*责任领域",
|
||||
"参数说明", "*控件类型", "控件校验", "控件备选值", "附件模板"};
|
||||
params.setImportFields(fields);
|
||||
|
||||
@@ -1069,7 +1069,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
String cut){
|
||||
List<CertCategoryParamsInfoCnImport> certCategoryParamsInfoEOList = new ArrayList<>();
|
||||
// 树形数据字典
|
||||
List<SysCategory> categoryList = sysCategoryService.queryByTreeDicCode("technology_territory");
|
||||
// List<SysCategory> categoryList = sysCategoryService.queryByTreeDicCode("technology_territory");
|
||||
// 普通数据字典
|
||||
List<SysDictItem> dictItemList = new ArrayList<>();
|
||||
List<String> dictCodeList = new ArrayList<>();
|
||||
@@ -1091,12 +1091,12 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
//普通数据字典
|
||||
List<String> itemNameList = new ArrayList<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
treeNameList = categoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||
// treeNameList = categoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||
itemNameList = dictItemList.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
|
||||
|
||||
certCategoryMap = dictItemList.stream().filter(e->"cert_category".equals(e.getDictCode())).collect(Collectors.toMap(c->c.getItemText(),c->c.getItemValue()));
|
||||
} else if(CutEnum.EN.getValue().equals(cut)){
|
||||
treeNameList = categoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||
// treeNameList = categoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||
itemNameList = dictItemList.stream().map(SysDictItem::getEnName).collect(Collectors.toList());
|
||||
|
||||
certCategoryMap = dictItemList.stream().filter(e->"cert_category".equals(e.getDictCode())).collect(Collectors.toMap(c->c.getEnName(),c->c.getItemValue()));
|
||||
@@ -1177,15 +1177,15 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
countError += (int)resultMap.get("countError");
|
||||
|
||||
// 技术领域
|
||||
String technologyTerritory = dto.getTechnologyTerritory();
|
||||
resultMap = validateMustAndLength(technologyTerritory, "技术领域", "Technical Field", IsMustEnum.YES.getValue(), "1000", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(technologyTerritory,"技术领域", "Technical Field","treeDicCode",null,treeNameList,categoryList,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
technologyTerritory = (String)resultMap.get("value");
|
||||
dto.setTechnologyTerritory(technologyTerritory);
|
||||
// String technologyTerritory = dto.getTechnologyTerritory();
|
||||
// resultMap = validateMustAndLength(technologyTerritory, "技术领域", "Technical Field", IsMustEnum.YES.getValue(), "1000", false, cut);
|
||||
// errorMsg += (String)resultMap.get("errorMsg");
|
||||
// countError += (int)resultMap.get("countError");
|
||||
// resultMap = getCodeByName(technologyTerritory,"技术领域", "Technical Field","treeDicCode",null,treeNameList,categoryList,cut);
|
||||
// errorMsg += (String)resultMap.get("errorMsg");
|
||||
// countError += (int)resultMap.get("countError");
|
||||
// technologyTerritory = (String)resultMap.get("value");
|
||||
// dto.setTechnologyTerritory(technologyTerritory);
|
||||
|
||||
// 参数批次
|
||||
String paramsBatch = dto.getParamsBatch();
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class ParamsInfoCnImport {
|
||||
private String paramsName;
|
||||
|
||||
/**技术领域*/
|
||||
@Excel(name = "*技术领域", width = 15)
|
||||
// @Excel(name = "*技术领域", width = 15)
|
||||
@ApiModelProperty(value = "技术领域")
|
||||
private String technologyTerritory;
|
||||
|
||||
|
||||
+2
-2
@@ -60,8 +60,8 @@ public class ParamsInfoEnExport {
|
||||
private String paramsName;
|
||||
|
||||
/**技术领域*/
|
||||
@Excel(name = "*Technical Field", width = 15)
|
||||
// @Dict(dicCode = "technology_territory")
|
||||
// @Excel(name = "*Technical Field", width = 15)
|
||||
//// @Dict(dicCode = "technology_territory")
|
||||
@ApiModelProperty(value = "技术领域")
|
||||
private String technologyTerritory;
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class ParamsInfoEnImport {
|
||||
private String paramsName;
|
||||
|
||||
/**技术领域*/
|
||||
@Excel(name = "*Technical Field", width = 15)
|
||||
// @Excel(name = "*Technical Field", width = 15)
|
||||
@ApiModelProperty(value = "技术领域")
|
||||
private String technologyTerritory;
|
||||
|
||||
|
||||
+9
@@ -594,4 +594,13 @@ public class SysCategoryController {
|
||||
return Result.OK(sysCategoryService.getSysCategoryTree(flag));
|
||||
}
|
||||
|
||||
/**
|
||||
* 只查询评估方式的树形数据字典
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getEvaluationMethodTree")
|
||||
public Result getevaluationMethodTree() {
|
||||
String flag = "evaluation_method";
|
||||
return Result.OK(sysCategoryService.getSysCategoryTree(flag));
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -273,6 +273,8 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
|
||||
String dictId = "";
|
||||
if("deliverable_template".equals(flag)){
|
||||
dictId = sysCategoryMapper.getDictId("deliverable_template");
|
||||
}else if("evaluation_method".equals(flag)){
|
||||
dictId = sysCategoryMapper.getDictId("evaluation_method");
|
||||
}else{
|
||||
dictId = sysCategoryMapper.getFieldInfo("technology_territory");
|
||||
}
|
||||
|
||||
+16
-3
@@ -3,6 +3,7 @@ package com.jero.modules.lawsOpinionGather.controller;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -19,7 +20,6 @@ import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
@@ -153,10 +153,23 @@ public class LawsOpinionAssessmentResultEOController extends JeroController<Laws
|
||||
* @param request
|
||||
* @param lawsOpinionAssessmentResultEO
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
/*@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, LawsOpinionAssessmentResultEO lawsOpinionAssessmentResultEO) {
|
||||
return super.exportXls(request, lawsOpinionAssessmentResultEO, LawsOpinionAssessmentResultEO.class, "法规意见收集-评估结果表");
|
||||
}
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
* @param response
|
||||
* @param request
|
||||
* @param lawsOpinionAssessmentResultEO
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public void exportXls(HttpServletResponse response,HttpServletRequest request,
|
||||
LawsOpinionAssessmentResultEO lawsOpinionAssessmentResultEO,
|
||||
@RequestParam Map<String,Object> params) {
|
||||
this.lawsOpinionAssessmentResultEOService.exportXls(response,request, lawsOpinionAssessmentResultEO,params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
|
||||
+3
@@ -4,6 +4,7 @@ import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@@ -82,6 +83,8 @@ public class LawsOpinionAssessmentResultEO implements Serializable {
|
||||
@Excel(name = "附件", width = 15)
|
||||
@ApiModelProperty(value = "附件")
|
||||
private String accessoryFile;
|
||||
@TableField(exist = false)
|
||||
private String accessoryFileName;
|
||||
|
||||
/**提出时间*/
|
||||
@Excel(name = "提出时间", width = 15, format = "yyyy-MM-dd")
|
||||
|
||||
+4
@@ -5,7 +5,9 @@ import com.jero.modules.lawsOpinionGather.entity.LawsOpinionAssessmentResultEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 法规意见收集-评估结果表
|
||||
@@ -67,4 +69,6 @@ public interface ILawsOpinionAssessmentResultEOService extends IService<LawsOpin
|
||||
* @param json
|
||||
*/
|
||||
void insertBatch(JSONObject json);
|
||||
|
||||
void exportXls(HttpServletResponse response, HttpServletRequest request, LawsOpinionAssessmentResultEO lawsOpinionAssessmentResultEO, Map<String,Object> params);
|
||||
}
|
||||
|
||||
+227
-3
@@ -1,23 +1,44 @@
|
||||
package com.jero.modules.lawsOpinionGather.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyuncs.utils.IOUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oss.CosBootUtil;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionAssessmentResultEO;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.mapper.LawsOpinionAssessmentResultEOMapper;
|
||||
import com.jero.modules.lawsOpinionGather.service.ILawsOpinionAssessmentResultEOService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.util.PDFUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.aspectj.util.FileUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.io.*;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @Description: 法规意见收集-评估结果表
|
||||
@@ -28,6 +49,12 @@ import javax.servlet.http.HttpServletRequest;
|
||||
@Service
|
||||
public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOpinionAssessmentResultEOMapper, LawsOpinionAssessmentResultEO> implements ILawsOpinionAssessmentResultEOService {
|
||||
|
||||
@Value(value = "${jero.path.upload}")
|
||||
private String uploadpath;
|
||||
|
||||
@Autowired
|
||||
private IOSSFileService iOSSFileService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -125,4 +152,201 @@ public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOp
|
||||
this.saveBatch(lawsOpinionAssessmentResultEOList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportXls(HttpServletResponse response, HttpServletRequest request, LawsOpinionAssessmentResultEO lawsOpinionAssessmentResultEO, Map<String,Object> params) {
|
||||
|
||||
Integer pageNo = (Integer) params.get("pageNo");
|
||||
Integer pageSize = (Integer) params.get("pageSize");
|
||||
String exportAll = (String)params.get("exportAll");
|
||||
String ids = (String)params.get("ids");
|
||||
String cut = (String)params.get("cut");
|
||||
String exportType = (String)params.get("exportType");
|
||||
List<LawsOpinionAssessmentResultEO> exportData = new ArrayList<>();
|
||||
QueryWrapper<LawsOpinionAssessmentResultEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionAssessmentResultEO, request.getParameterMap());
|
||||
if(StringUtils.isNotEmpty(ids)){
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
queryWrapper.lambda().in(LawsOpinionAssessmentResultEO::getId,idList);
|
||||
}
|
||||
if(StringUtils.equals(exportAll,"yes")){
|
||||
exportData = this.baseMapper.selectList(queryWrapper);
|
||||
}else {
|
||||
Page<LawsOpinionAssessmentResultEO> page = new Page<LawsOpinionAssessmentResultEO>(pageNo, pageSize);
|
||||
IPage<LawsOpinionAssessmentResultEO> pageList = this.page(page, queryWrapper);
|
||||
exportData = pageList.getRecords();
|
||||
}
|
||||
|
||||
this.disposeData(exportData,cut);
|
||||
|
||||
String title = "";
|
||||
String fileName = "";
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
title = "相关章节,问题/建议,理由,附件,评估人,提出时间";
|
||||
fileName = "评估结果 " + ".xlsx";
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
title = "Related section,IssueOrSuggest,Reason,Accessory,Evaluator,Submit Date";
|
||||
fileName = "Evaluation results " + ".xlsx";
|
||||
}
|
||||
|
||||
OutputStream os = null;
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
|
||||
try {
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment; filename=" + fileName);
|
||||
response.setContentType("application/force-download");
|
||||
|
||||
HSSFSheet sheet = workbook.createSheet("sheet1");
|
||||
|
||||
CellStyle titleCellStyle = workbook.createCellStyle();
|
||||
titleCellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
|
||||
titleCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中
|
||||
titleCellStyle.setWrapText(true);//自动换行
|
||||
|
||||
Row firstRow = sheet.createRow(0);
|
||||
|
||||
//创建表头
|
||||
String[] titleArr = title.split(",");
|
||||
for (int i=0; i<=5; i++){
|
||||
sheet.setColumnWidth(i,4000);
|
||||
Cell cell = firstRow.createCell(i);
|
||||
cell.setCellStyle(titleCellStyle);
|
||||
cell.setCellValue(titleArr[i]);
|
||||
}
|
||||
|
||||
//设置导出数据
|
||||
if(CollectionUtils.isNotEmpty(exportData)) {
|
||||
for (int dataIndex = 0; dataIndex < exportData.size(); dataIndex++) {
|
||||
Row dataRow = sheet.createRow(dataIndex + 1);
|
||||
dataRow.createCell(0).setCellValue(exportData.get(dataIndex).getRelatedSection());
|
||||
dataRow.createCell(1).setCellValue(exportData.get(dataIndex).getIssueOrSuggest());
|
||||
dataRow.createCell(2).setCellValue(exportData.get(dataIndex).getReason());
|
||||
dataRow.createCell(3).setCellValue(exportData.get(dataIndex).getAccessoryFileName());
|
||||
dataRow.createCell(4).setCellValue(exportData.get(dataIndex).getCreateBy());
|
||||
String submitTimeStr = disposeDate(exportData.get(dataIndex).getSubmitTime());
|
||||
dataRow.createCell(5).setCellValue(submitTimeStr);
|
||||
}
|
||||
}
|
||||
if ("excel".equals(exportType)) {
|
||||
os = response.getOutputStream();
|
||||
workbook.write(os);
|
||||
os.flush();
|
||||
}else {
|
||||
String path = uploadpath + "/tempZip/evaluationResults";
|
||||
File fileTemp = new File(path);
|
||||
if (fileTemp.exists()) {
|
||||
fileTemp.delete();
|
||||
}
|
||||
fileTemp.mkdirs();
|
||||
//excel
|
||||
OutputStream excelOS = new FileOutputStream(path + File.separator + fileName);
|
||||
workbook.write(excelOS);
|
||||
excelOS.flush();
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
for (LawsOpinionAssessmentResultEO data : exportData) {
|
||||
String accessoryFile = data.getAccessoryFile();
|
||||
|
||||
List<OSSFile> fileInfosList = iOSSFileService.getFileInfos(accessoryFile);
|
||||
if (fileInfosList.size() != 0) {
|
||||
for (OSSFile ossFile : fileInfosList) {
|
||||
String url = ossFile.getUrl();
|
||||
//判断文件是否存在
|
||||
if(StringUtils.isNotBlank(url)){
|
||||
//判断文件是否存在
|
||||
boolean b = CosBootUtil.doesObjectExist(url);
|
||||
if(b){
|
||||
InputStream download = CosBootUtil.download(url);
|
||||
if(url.endsWith(".pdf") || url.endsWith(".PDF")){
|
||||
String currentTime = sdf.format(new Date());
|
||||
String waterContent = loginUser.getUsername() + " " + currentTime;
|
||||
File newFile = PDFUtils.PDFWatermark(download,uploadpath,ossFile.getFileName(),waterContent);
|
||||
download = new FileInputStream(newFile.getPath());
|
||||
}
|
||||
copyFile(download, path + File.separator + ossFile.getFileName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ZipUtil.zip(path, path + ".zip");
|
||||
//文件
|
||||
FileInputStream fis = new FileInputStream(path + ".zip");
|
||||
os = response.getOutputStream();
|
||||
|
||||
int len = 0;
|
||||
while ((len = fis.read()) != -1) {
|
||||
os.write(len);
|
||||
}
|
||||
os.flush();
|
||||
fis.close();
|
||||
}
|
||||
|
||||
}catch (IOException ex){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
throw new JeroBootException("下载文件失败");
|
||||
}else{
|
||||
throw new JeroBootException("Failed to download file");
|
||||
}
|
||||
}finally {
|
||||
IOUtils.closeQuietly(os);
|
||||
File file = new File(uploadpath + "/tempZip/evaluationResults");
|
||||
FileUtil.deleteContents(file);
|
||||
File fileTemp = new File(uploadpath + "/tempZip/evaluationResults.zip");
|
||||
FileUtil.deleteContents(fileTemp);
|
||||
}
|
||||
}
|
||||
|
||||
public static void copyFile(InputStream in, String newFile) throws IOException {
|
||||
File file2 = new File(newFile);
|
||||
if (!file2.exists()) {
|
||||
file2.createNewFile();
|
||||
}
|
||||
try (FileOutputStream ou = new FileOutputStream(newFile);) {
|
||||
byte[] bs = new byte[1024];
|
||||
int count = 0;
|
||||
while ((count = in.read(bs, 0, bs.length)) != -1) {
|
||||
ou.write(bs, 0, count);
|
||||
}
|
||||
ou.flush();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new IOException("复制文件失败!");
|
||||
} finally {
|
||||
in.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据
|
||||
* @param datas
|
||||
* @param cut
|
||||
*/
|
||||
public void disposeData(List<LawsOpinionAssessmentResultEO> datas,String cut){
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
for (LawsOpinionAssessmentResultEO data : datas) {
|
||||
if(StringUtils.isNotEmpty(data.getAccessoryFile())){
|
||||
List<OSSFile> accessoryFileList = iOSSFileService.getFileInfos(data.getAccessoryFile());
|
||||
String accessoryFileName = accessoryFileList.stream().map(OSSFile::getFileName).collect(Collectors.joining(","));
|
||||
data.setAccessoryFileName(accessoryFileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String disposeDate(Date date){
|
||||
String result = "";
|
||||
try {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
if(date != null){
|
||||
result = sdf.format(date);
|
||||
}
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("处理日期失败:" +ex.getMessage());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,6 +195,10 @@ export function downloadFile(url, fileName, parameter, callback) {
|
||||
}
|
||||
} catch (e) {
|
||||
if (!data || data.size === 0) {
|
||||
index.showDrawer({
|
||||
loading: false,
|
||||
isTrue: isTrue
|
||||
})
|
||||
Vue.prototype['$message'].warning('文件下载失败')
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1118,4 +1118,5 @@ module.exports = {
|
||||
nameTechnicalDocument:'Name of technical document',
|
||||
chapter:'chapter',
|
||||
problemDescription:'Problem description',
|
||||
filingExternalOpinions:'Filing of external opinions',
|
||||
}
|
||||
@@ -1122,4 +1122,5 @@ module.exports = {
|
||||
nameTechnicalDocument:'技术文件名称',
|
||||
chapter:'章节',
|
||||
problemDescription:'问题说明',
|
||||
filingExternalOpinions:'对外意见归档',
|
||||
}
|
||||
+11
-7
@@ -44,13 +44,13 @@
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text">对外意见归档:</span>
|
||||
<div @click="clickButtonToUpload('opinionArchiveId')"
|
||||
<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)" class="operator-text">
|
||||
<div @click="seeFileClick(formInline.opinionArchiveId)" style="color: #21c9cc" class="operator-text">
|
||||
<a-icon type="eye" />
|
||||
{{$t('viewFile')}}
|
||||
</div>
|
||||
@@ -177,11 +177,13 @@
|
||||
//导出
|
||||
handleExport() {
|
||||
let query = {
|
||||
lawsOpinionGatherId: this.lawsOpinionGatherId,
|
||||
actiProcInstId: this.actiProcInstId
|
||||
pageSize:this.pageSize,
|
||||
pageNo:this.pageNo
|
||||
// lawsOpinionGatherId: this.lawsOpinionGatherId,
|
||||
// actiProcInstId: this.actiProcInstId
|
||||
}
|
||||
downloadFile('/lawsOpinionGather/lawsOpinionAssessmentResultEO/exportXls',
|
||||
this.$t('evaluationResults') + '.xls', query)
|
||||
this.$t('evaluationResults') + '.zip', query)
|
||||
},
|
||||
getData(row) {
|
||||
this.visible = true
|
||||
@@ -206,7 +208,9 @@
|
||||
getList() {
|
||||
let query = {
|
||||
lawsOpinionGatherId: this.lawsOpinionGatherId,
|
||||
actiProcInstId: this.actiProcInstId
|
||||
actiProcInstId: this.actiProcInstId,
|
||||
pageSize:this.pageSize,
|
||||
pageNo:this.pageNo
|
||||
}
|
||||
this.loading = true
|
||||
getAction('/lawsOpinionGather/lawsOpinionAssessmentResultEO/page', query).then((res) => {
|
||||
|
||||
@@ -86,8 +86,8 @@
|
||||
})
|
||||
},
|
||||
prcClick(row) {
|
||||
let index = row.taskIds.lastIndexOf(',')
|
||||
row.taskIds = row.taskIds.slice(0, index)
|
||||
// let index = row.taskIds.lastIndexOf(',')
|
||||
// row.taskIds = row.taskIds.slice(0, index)
|
||||
if (row.prcType == '1') {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/handshakeProcess',
|
||||
|
||||
@@ -27,16 +27,16 @@
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div v-for="(item,index) in dataList" :key="index">
|
||||
<div v-for="(item,index) in formInline.dataList" :key="index">
|
||||
<div class="feedbackPoint">
|
||||
{{$t('feedbackPoint')+(index+1)}}
|
||||
<a-icon class="icon-size"
|
||||
@click="addData"
|
||||
v-if="(dataList.length-1) == index"
|
||||
v-if="(formInline.dataList.length-1) == index"
|
||||
type="plus-circle"/>
|
||||
<a-icon class="icon-size"
|
||||
@click="deleteData"
|
||||
v-if="dataList.length > 1 && (dataList.length - 1) == index"
|
||||
v-if="formInline.dataList.length > 1 && (formInline.dataList.length - 1) == index"
|
||||
type="minus-circle"/>
|
||||
</div>
|
||||
<a-row :gutter="24">
|
||||
@@ -46,7 +46,11 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="relatedSection">
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.relatedSection'"
|
||||
:rules="[{ required: true, message: $t('relevantSections') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('relevantSections') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.relatedSection"
|
||||
@@ -61,7 +65,10 @@
|
||||
<span class="title-text-text"
|
||||
:title="$t('problemDescription')">{{$t('problemDescription')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="issueOrSuggest">
|
||||
<a-form-model-item class="itemModel" :prop="'dataList.'+index+'.issueOrSuggest'"
|
||||
:rules="[{ required: true, message: $t('problemDescription') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('problemDescription') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.issueOrSuggest"
|
||||
@@ -97,6 +104,7 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
|
||||
export default {
|
||||
name: 'evaluatorFeedback',
|
||||
components: {
|
||||
@@ -107,44 +115,78 @@
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
feedbackDataList:{
|
||||
feedbackDataList: {
|
||||
type: Array,
|
||||
default: (()=>{
|
||||
default: (() => {
|
||||
return []
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formInline: {},
|
||||
disabled:false,
|
||||
rules: {},
|
||||
uploadIndex:'',
|
||||
disabled: false,
|
||||
rules: {
|
||||
flag:[
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('complianceResults') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
},
|
||||
],
|
||||
relatedSection: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('relevantSections') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('relevantSections') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
issueOrSuggest: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('problemDescription') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('problemDescription') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
uploadIndex: '',
|
||||
dataList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.feedbackDataList && this.feedbackDataList.length > 0){
|
||||
this.dataList = this.feedbackDataList
|
||||
this.dataList = [...this.dataList]
|
||||
}else{
|
||||
this.dataList = [
|
||||
{
|
||||
relatedSection: '',
|
||||
issueOrSuggest: '',
|
||||
reason: '',
|
||||
accessoryFile: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
if (this.feedbackDataList && this.feedbackDataList.length > 0) {
|
||||
this.formInline.dataList = this.feedbackDataList
|
||||
} else {
|
||||
this.formInline.dataList = [
|
||||
{
|
||||
relatedSection: '',
|
||||
issueOrSuggest: '',
|
||||
reason: '',
|
||||
accessoryFile: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
this.formInline = { ...this.formInline }
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
clickButtonToUpload(item,index) {
|
||||
clickButtonToUpload(item, index) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
this.uploadName = item
|
||||
this.uploadIndex = index
|
||||
getAction('sys/common/getFileInfos', { id: this.dataList[this.uploadIndex][this.uploadName] }).then((res) => {
|
||||
getAction('sys/common/getFileInfos', { id: this.formInline.dataList[this.uploadIndex][this.uploadName] }).then((res) => {
|
||||
if (res.success) {
|
||||
this.$refs.uploadFile.perentHandleFunc(res.result)
|
||||
} else {
|
||||
@@ -161,22 +203,29 @@
|
||||
})
|
||||
}
|
||||
/** 赋值给当前对应的表单文件 */
|
||||
this.dataList[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
||||
this.dataList = [...this.dataList]
|
||||
this.formInline.dataList[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
||||
this.formInline = [...this.formInline]
|
||||
},
|
||||
addData() {
|
||||
this.dataList.push({
|
||||
this.formInline.dataList.push({
|
||||
relatedSection: '',
|
||||
issueOrSuggest: '',
|
||||
reason: '',
|
||||
accessoryFile: ''
|
||||
})
|
||||
this.dataList = [...this.dataList]
|
||||
this.formInline = [...this.formInline]
|
||||
},
|
||||
deleteData() {
|
||||
this.dataList.pop()
|
||||
this.dataList = [...this.dataList]
|
||||
}
|
||||
this.formInline.dataList.pop()
|
||||
this.formInline = [...this.formInline]
|
||||
},
|
||||
submitData(callBack){
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
callBack && callBack(this.formInline)
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
</div>
|
||||
<div class="content-text">
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<div v-for="(item,index) in dataList" :key="index">
|
||||
<div v-for="(item,index) in formInline.dataList" :key="index">
|
||||
<div class="feedbackPoint">
|
||||
{{$t('feedbackPoint')+(index+1)}}
|
||||
<a-icon class="icon-size"
|
||||
@click="addData"
|
||||
v-if="(dataList.length-1) == index"
|
||||
v-if="(formInline.dataList.length-1) == index"
|
||||
type="plus-circle"/>
|
||||
<a-icon class="icon-size"
|
||||
@click="deleteData"
|
||||
v-if="dataList.length > 1 && (dataList.length - 1) == index"
|
||||
v-if="formInline.dataList.length > 1 && (formInline.dataList.length - 1) == index"
|
||||
type="minus-circle"/>
|
||||
</div>
|
||||
<a-row :gutter="24">
|
||||
@@ -26,7 +26,11 @@
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('relevantSections')">{{$t('relevantSections')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="relatedSection">
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.relatedSection'"
|
||||
:rules="[{ required: true, message: $t('relevantSections') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('relevantSections') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.relatedSection"
|
||||
@@ -41,7 +45,10 @@
|
||||
<span class="title-text-text"
|
||||
:title="$t('questionsSuggestions')">{{$t('questionsSuggestions')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="issueOrSuggest">
|
||||
<a-form-model-item class="itemModel" :prop="'dataList.'+index+'.issueOrSuggest'"
|
||||
:rules="[{ required: true, message: $t('questionsSuggestions') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('questionsSuggestions') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.issueOrSuggest"
|
||||
@@ -101,44 +108,48 @@
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
feedbackDataList:{
|
||||
feedbackDataList: {
|
||||
type: Array,
|
||||
default: (()=>{
|
||||
return []
|
||||
default: (() => {
|
||||
return []
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formInline: {},
|
||||
disabled:false,
|
||||
disabled: false,
|
||||
rules: {},
|
||||
uploadIndex:'',
|
||||
uploadIndex: '',
|
||||
dataList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.feedbackDataList && this.feedbackDataList.length > 0){
|
||||
this.dataList = this.feedbackDataList
|
||||
this.dataList = [...this.dataList]
|
||||
}else{
|
||||
this.dataList = [
|
||||
{
|
||||
relatedSection: '',
|
||||
issueOrSuggest: '',
|
||||
reason: '',
|
||||
accessoryFile: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
if (this.feedbackDataList && this.feedbackDataList.length > 0) {
|
||||
this.formInline.dataList = this.feedbackDataList
|
||||
this.formInline = { ...this.formInline }
|
||||
} else {
|
||||
this.formInline.dataList = [
|
||||
{
|
||||
relatedSection: '',
|
||||
issueOrSuggest: '',
|
||||
reason: '',
|
||||
accessoryFile: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
this.formInline = { ...this.formInline }
|
||||
})
|
||||
|
||||
},
|
||||
methods: {
|
||||
clickButtonToUpload(item,index) {
|
||||
clickButtonToUpload(item, index) {
|
||||
this.$refs.uploadFile.perentHandleFunc()
|
||||
this.$refs.uploadFile.visible = true
|
||||
this.uploadName = item
|
||||
this.uploadIndex = index
|
||||
getAction('sys/common/getFileInfos', { id: this.dataList[this.uploadIndex][this.uploadName] }).then((res) => {
|
||||
getAction('sys/common/getFileInfos', { id: this.formInline.dataList[this.uploadIndex][this.uploadName] }).then((res) => {
|
||||
if (res.success) {
|
||||
this.$refs.uploadFile.perentHandleFunc(res.result)
|
||||
} else {
|
||||
@@ -155,21 +166,21 @@
|
||||
})
|
||||
}
|
||||
/** 赋值给当前对应的表单文件 */
|
||||
this.dataList[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
||||
this.dataList = [...this.dataList]
|
||||
this.formInline.dataList[this.uploadIndex][this.uploadName] = attIdList.join(',')
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
addData() {
|
||||
this.dataList.push({
|
||||
this.formInline.dataList.push({
|
||||
relatedSection: '',
|
||||
issueOrSuggest: '',
|
||||
reason: '',
|
||||
accessoryFile: ''
|
||||
})
|
||||
this.dataList = [...this.dataList]
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
deleteData() {
|
||||
this.dataList.pop()
|
||||
this.dataList = [...this.dataList]
|
||||
this.formInline.dataList.pop()
|
||||
this.formInline = { ...this.formInline }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,8 +170,9 @@
|
||||
})
|
||||
},
|
||||
submit() {
|
||||
let dataList = this.$refs.feedbackInformationRef.dataList
|
||||
this.insertBatch(dataList, 2)
|
||||
this.$refs.evaluatorFeedbackRef.submitData()
|
||||
// let dataList = this.$refs.feedbackInformationRef.dataList
|
||||
// this.insertBatch(dataList, 2)
|
||||
},
|
||||
completeTask() {
|
||||
let query = {
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
},
|
||||
preservation() {
|
||||
this.loading = true
|
||||
let dataList = this.$refs.feedbackInformationRef.dataList
|
||||
let dataList = this.$refs.feedbackInformationRef.formInline.dataList
|
||||
this.insertBatch(dataList, 1)
|
||||
},
|
||||
insertBatch(list, num) {
|
||||
@@ -162,7 +162,7 @@
|
||||
})
|
||||
},
|
||||
submit() {
|
||||
let dataList = this.$refs.feedbackInformationRef.dataList
|
||||
let dataList = this.$refs.feedbackInformationRef.formInline.dataList
|
||||
this.insertBatch(dataList, 2)
|
||||
},
|
||||
completeTask() {
|
||||
|
||||
@@ -154,8 +154,8 @@
|
||||
})
|
||||
},
|
||||
dealWith(row) {
|
||||
let index = row.taskIds.lastIndexOf(',')
|
||||
row.taskIds = row.taskIds.slice(0, index)
|
||||
// let index = row.taskIds.lastIndexOf(',')
|
||||
// row.taskIds = row.taskIds.slice(0, index)
|
||||
if (row.prcType == '1') {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/handshakeProcess',
|
||||
|
||||
Reference in New Issue
Block a user