Merge remote-tracking branch 'origin/master'
This commit is contained in:
+31
-9
@@ -3141,15 +3141,17 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
|
||||
//高级搜索 queryConditionVOList List<QueryConditionVO>
|
||||
List<QueryConditionVO> queryConditionVOList = (List<QueryConditionVO>) parameter.get("queryConditionVOList");
|
||||
if(ObjectUtils.isNotEmpty(queryConditionVOList)){
|
||||
String queryCondition = sqlJoint(queryConditionVOList);
|
||||
if(StringUtils.isNotBlank(queryCondition)){
|
||||
conditionSb.append(queryCondition);
|
||||
if(ObjectUtils.isNotEmpty(parameter.get("queryConditionVOList"))){
|
||||
String queryConditionVOListStr = (String) parameter.get("queryConditionVOList");
|
||||
List<QueryConditionVO> queryConditionVOList = JSONObject.parseArray(queryConditionVOListStr, QueryConditionVO.class);
|
||||
if(ObjectUtils.isNotEmpty(queryConditionVOList)){
|
||||
String queryCondition = sqlJoint(queryConditionVOList);
|
||||
if(StringUtils.isNotBlank(queryCondition)){
|
||||
conditionSb.append(" and " + queryCondition);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//处理列表表头排序
|
||||
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
|
||||
conditionSb.append(" order by " + (String) parameter.get("orderByField"));
|
||||
@@ -5089,6 +5091,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
fieldListQuery.add("technology_territory");
|
||||
fieldListQuery.add("xin1_che1_xing2_shi2_shi1_ri4_qi1");
|
||||
fieldListQuery.add("implement_time");
|
||||
fieldListQuery.add("corresponding_standard");
|
||||
|
||||
List<String> fieldListNew = new ArrayList<>();
|
||||
fieldListNew.add("id");
|
||||
@@ -5145,6 +5148,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
for (QueryConditionVO queryConditionVO : queryConditionVOList) {
|
||||
String type = queryConditionVO.getType();//and或or
|
||||
String rule = queryConditionVO.getRule();
|
||||
String ruleLike = "";
|
||||
if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule) || QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
|
||||
ruleLike = QueryRuleEnum.LIKE.getCondition();
|
||||
}
|
||||
String field = queryConditionVO.getField();
|
||||
String val = queryConditionVO.getVal();
|
||||
//如果查询字段对应的搜索条件值为空,则不作处理
|
||||
@@ -5153,7 +5160,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
sb.append(" " + field + " ");
|
||||
//查询类型
|
||||
String ruleTemp = queryType(rule);
|
||||
sb.append(ruleTemp + " ");
|
||||
if(StringUtils.isNotBlank(ruleLike)){
|
||||
sb.append(ruleLike + " ");
|
||||
}else{
|
||||
sb.append(ruleTemp + " ");
|
||||
}
|
||||
//在..中(用in-->特殊处理)
|
||||
if(val.contains(",")){
|
||||
StringBuilder sbTemp = new StringBuilder();
|
||||
@@ -5162,10 +5173,21 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
if(StringUtils.isNotBlank(sbTemp)){
|
||||
String substring = sbTemp.substring(0, sbTemp.length() - 1);
|
||||
sb.append(substring);
|
||||
sb.append("("+substring+")");
|
||||
}
|
||||
}else{
|
||||
sb.append(val);
|
||||
//like和in需要特殊处理
|
||||
if(QueryRuleEnum.IN.getCondition().equals(rule)){
|
||||
sb.append("('" + val + "')");
|
||||
}else if(QueryRuleEnum.LIKE.getCondition().equals(rule)){
|
||||
sb.append("'%" + val + "%'");
|
||||
}else if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)){
|
||||
sb.append("'%" + val + "'");
|
||||
}else if(QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
|
||||
sb.append("'" + val + "%'");
|
||||
}else{
|
||||
sb.append("'" + val + "'");
|
||||
}
|
||||
}
|
||||
if(count > 1){
|
||||
sb.append(type + " ");
|
||||
|
||||
+1
-2
@@ -5,7 +5,6 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -195,7 +194,7 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
|
||||
@ApiOperation(value="项目库-相关人员维护表-根据projectId查询认证工程师", notes="项目库-相关人员维护表-根据projectId查询认证工程师")
|
||||
@GetMapping(value = "/queryCertificationEngineer")
|
||||
public Result<?> queryCertificationEngineer(@RequestParam(name="projectId",required=true) String projectId){
|
||||
List<SysUser> certificationEngineerList = projectRelatedPersonnelService.queryCertificationEngineer(projectId);
|
||||
List<ProjectRelatedPersonnel> certificationEngineerList = projectRelatedPersonnelService.queryCertificationEngineer(projectId);
|
||||
return Result.OK(certificationEngineerList);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ public enum ProjectTaskPlanningNameEnum {
|
||||
LIST_CONFIRMATION("法规清单确认"," Confirmation of regulations list"),
|
||||
LEGAL_TASK_CONFIRMATION("法规任务确认","Regulatory task confirmation"),
|
||||
DESIGN_DEADLINE("设计符合性确认","Design Compliance Check"),
|
||||
PREHOMO_DEADLINE("Pre-Homo确认","Pre-homo Check"),
|
||||
PREHOMO_DEADLINE("Pre-Homo确认","Pre-Homo Check"),
|
||||
ATTESTATION_START_TIME("认证开始","Certification start"),
|
||||
ATTESTATION_END_TIME("认证结束"," Certification end"),
|
||||
VERIFY_DEADLINE("验证符合性确认截止时间","Verification compliance confirmation deadline"),
|
||||
|
||||
+1
-2
@@ -2,7 +2,6 @@ package com.jero.modules.project.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@@ -87,5 +86,5 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
|
||||
|
||||
ProjectRelatedPersonnel queryByProjectIdAndDutyTerritory(String projectId, String dutyTerritory);
|
||||
|
||||
List<SysUser> queryCertificationEngineer(String projectId);
|
||||
List<ProjectRelatedPersonnel> queryCertificationEngineer(String projectId);
|
||||
}
|
||||
|
||||
+146
-137
@@ -11,6 +11,7 @@ import com.jero.common.util.RedisUtil;
|
||||
import com.jero.common.util.TokenUtils;
|
||||
import com.jero.modules.dummy.service.impl.DummyInventoryInfoEOServiceImpl;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
@@ -83,6 +84,8 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
@Lazy
|
||||
private RedisUtil redisUtil;
|
||||
|
||||
@Autowired
|
||||
private ProjectLibraryBaseServiceImpl projectLibraryBaseService;
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -465,9 +468,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
try {
|
||||
String titleOne = "";
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
titleOne = "*责任领域,*法规工程师,*工程接口人,*认证工程师,备注";
|
||||
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
|
||||
}else{
|
||||
titleOne = "*Responsible Field,*Regulation Engineer,*Engineering Interface,*Homologation Engineer,Comments";
|
||||
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
|
||||
}
|
||||
|
||||
//创建临时文件夹
|
||||
@@ -566,92 +569,92 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
String token = request.getHeader("X-Access-Token");
|
||||
TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
|
||||
|
||||
OutputStream os = null;
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
String fileOriName = "";
|
||||
String filePath = uploadpath + File.separator + fileOriName;
|
||||
try {
|
||||
String titleOne = "";
|
||||
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
||||
titleOne = "*责任领域,*法规工程师,*工程接口人,*认证工程师,备注";
|
||||
fileOriName = "相关人员导入模板.xls";
|
||||
} else {
|
||||
titleOne = "*Responsible Field,*Regulation Engineer,*Engineering Interface,*Homologation Engineer,Comments";
|
||||
fileOriName = "Import template of related personnel.xls";
|
||||
}
|
||||
|
||||
//创建临时文件夹
|
||||
File nowFile = new File(filePath);
|
||||
if (nowFile.exists()) {
|
||||
nowFile.delete();
|
||||
}
|
||||
nowFile.mkdirs();
|
||||
HSSFSheet sheet = workbook.createSheet("虚拟清单导入模板");
|
||||
sheet.setDefaultColumnWidth(16);//列宽
|
||||
HSSFCellStyle cellStyle = workbook.createCellStyle();
|
||||
cellStyle.setWrapText(true);//自动换行
|
||||
cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
|
||||
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中
|
||||
|
||||
HSSFCellStyle cellStyleTemp = workbook.createCellStyle();
|
||||
cellStyleTemp.setWrapText(true);//自动换行
|
||||
|
||||
int startLine = 0;
|
||||
int endLine = 4;
|
||||
//合并单元格
|
||||
CellRangeAddress region1 =
|
||||
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
|
||||
sheet.addMergedRegion(region1);
|
||||
|
||||
String explainInfo = null;
|
||||
|
||||
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
||||
explainInfo = "填写说明\n" +
|
||||
"1.导入数据从第三行开始\n" +
|
||||
"2.所有带*号的字段必须填写\n" +
|
||||
"3.认证类型,认证级别,实施类别,交付物类型,发起人,责任人,字段是单选属性,必须和系统中的对应字段选项相匹配\n" +
|
||||
"4.责任领域,字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" +
|
||||
"5.编号,子标题,WVTA ID,备注,填写文本内容\n" +
|
||||
"6.交付物模板字段为文件属性,填写时需要在本文件同级目录下以标准号为名称建立文件夹,并在文件夹下放置文件,假设在AAA标准号下放置了B.docx,则应填写AAA/B.docx";
|
||||
} else {
|
||||
explainInfo = "filling explanation\n" +
|
||||
"1.import data starts at the third line\n" +
|
||||
"2.all fields marked with * must be filled in\n" +
|
||||
"3.Certification Type,Certification Level,Usage,type of deliverables,initiator,person liable,Fields are radio attributes that must match the corresponding field option in the system\n" +
|
||||
"4.Responsible Field, field is a multi-select attribute and must match the corresponding field in the system. If multiple fields are filled in, separate them by commas (,)\n" +
|
||||
"5.Number,Sub-Title,WVTA ID,Comments,Fill in the text\n" +
|
||||
"6.deliverable template,When filling in the field, you need to create a folder in the directory of the same level as the file with the name of the standard number and place the file in the folder. If b. diocx is stored under the AAA standard number, enter AAA/B. diocx";
|
||||
}
|
||||
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);
|
||||
|
||||
//表头
|
||||
Row row = sheet.createRow(0);//开始创建标题行
|
||||
String[] headerArr = titleOne.split(",");
|
||||
for (int m = 0; m < headerArr.length; m++) {
|
||||
row.createCell(m).setCellValue(headerArr[m]);
|
||||
}
|
||||
|
||||
Row rowExplain = sheet.createRow(1);
|
||||
short height = (short) (7 * 252);
|
||||
rowExplain.setHeight((short) height);
|
||||
Cell cell = rowExplain.createCell(0);
|
||||
cell.setCellValue(explain);
|
||||
cell.setCellStyle(cellStyleTemp);
|
||||
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment; filename=\"" + fileOriName + ".xls");
|
||||
response.setContentType("application/force-download");
|
||||
response.flushBuffer();
|
||||
os = response.getOutputStream();
|
||||
workbook.write(os);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException("下载文件失败,请重试");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(os);
|
||||
OutputStream os = null;
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
String fileOriName = "";
|
||||
String filePath = uploadpath + File.separator + fileOriName;
|
||||
try {
|
||||
String titleOne = "";
|
||||
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
||||
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
|
||||
fileOriName = "相关人员导入模板.xls";
|
||||
} else {
|
||||
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
|
||||
fileOriName = "Import template of related personnel.xls";
|
||||
}
|
||||
|
||||
//创建临时文件夹
|
||||
File nowFile = new File(filePath);
|
||||
if (nowFile.exists()) {
|
||||
nowFile.delete();
|
||||
}
|
||||
nowFile.mkdirs();
|
||||
HSSFSheet sheet = workbook.createSheet("虚拟清单导入模板");
|
||||
sheet.setDefaultColumnWidth(16);//列宽
|
||||
HSSFCellStyle cellStyle = workbook.createCellStyle();
|
||||
cellStyle.setWrapText(true);//自动换行
|
||||
cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
|
||||
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中
|
||||
|
||||
HSSFCellStyle cellStyleTemp = workbook.createCellStyle();
|
||||
cellStyleTemp.setWrapText(true);//自动换行
|
||||
|
||||
int startLine = 0;
|
||||
int endLine = 4;
|
||||
//合并单元格
|
||||
CellRangeAddress region1 =
|
||||
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
|
||||
sheet.addMergedRegion(region1);
|
||||
|
||||
String explainInfo = null;
|
||||
|
||||
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
|
||||
explainInfo = "填写说明\n" +
|
||||
"1.导入数据从第三行开始\n" +
|
||||
"2.所有带*号的字段必须填写\n" +
|
||||
"3.认证类型,认证级别,实施类别,交付物类型,发起人,责任人,字段是单选属性,必须和系统中的对应字段选项相匹配\n" +
|
||||
"4.责任领域,字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" +
|
||||
"5.编号,子标题,WVTA ID,备注,填写文本内容\n" +
|
||||
"6.交付物模板字段为文件属性,填写时需要在本文件同级目录下以标准号为名称建立文件夹,并在文件夹下放置文件,假设在AAA标准号下放置了B.docx,则应填写AAA/B.docx";
|
||||
} else {
|
||||
explainInfo = "filling explanation\n" +
|
||||
"1.import data starts at the third line\n" +
|
||||
"2.all fields marked with * must be filled in\n" +
|
||||
"3.Certification Type,Certification Level,Usage,type of deliverables,initiator,person liable,Fields are radio attributes that must match the corresponding field option in the system\n" +
|
||||
"4.Responsible Field, field is a multi-select attribute and must match the corresponding field in the system. If multiple fields are filled in, separate them by commas (,)\n" +
|
||||
"5.Number,Sub-Title,WVTA ID,Comments,Fill in the text\n" +
|
||||
"6.deliverable template,When filling in the field, you need to create a folder in the directory of the same level as the file with the name of the standard number and place the file in the folder. If b. diocx is stored under the AAA standard number, enter AAA/B. diocx";
|
||||
}
|
||||
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);
|
||||
|
||||
//表头
|
||||
Row row = sheet.createRow(0);//开始创建标题行
|
||||
String[] headerArr = titleOne.split(",");
|
||||
for (int m = 0; m < headerArr.length; m++) {
|
||||
row.createCell(m).setCellValue(headerArr[m]);
|
||||
}
|
||||
|
||||
Row rowExplain = sheet.createRow(1);
|
||||
short height = (short) (7 * 252);
|
||||
rowExplain.setHeight((short) height);
|
||||
Cell cell = rowExplain.createCell(0);
|
||||
cell.setCellValue(explain);
|
||||
cell.setCellStyle(cellStyleTemp);
|
||||
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment; filename=\"" + fileOriName + ".xls");
|
||||
response.setContentType("application/force-download");
|
||||
response.flushBuffer();
|
||||
os = response.getOutputStream();
|
||||
workbook.write(os);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JeroBootException("下载文件失败,请重试");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(os);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -670,7 +673,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
String titleOne = "";
|
||||
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
titleOne = "*责任领域,*法规工程师,*工程接口人,*认证工程师,备注";
|
||||
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
|
||||
explainInfo = "填写说明\n" +
|
||||
"1.导入数据从第三行开始\n" +
|
||||
"2.所有带*号的字段必须填写\n"+
|
||||
@@ -679,7 +682,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
"5.编号,子标题,WVTA ID,备注,填写文本内容\n" +
|
||||
"6.交付物模板字段为文件属性,填写时需要在本文件同级目录下以标准号为名称建立文件夹,并在文件夹下放置文件,假设在AAA标准号下放置了B.docx,则应填写AAA/B.docx";
|
||||
}else{
|
||||
titleOne = "*Responsible Field,*Regulation Engineer,*Engineering Interface,*Homologation Engineer,Comments";
|
||||
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
|
||||
explainInfo = "filling explanation\n" +
|
||||
"1.import data starts at the third line\n" +
|
||||
"2.all fields marked with * must be filled in\n"+
|
||||
@@ -710,46 +713,48 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
Row headerRow = sheet.getRow(i);
|
||||
boolean isBlank = dummyInventoryInfoEOService.isRowEmpty(row);
|
||||
|
||||
if (row != null && !isBlank) {
|
||||
int columNos = headerRow.getLastCellNum();// 表头总共的列数
|
||||
if (columNos == 5) {//列数对
|
||||
for (int j = 0; j < columNos; j++) {
|
||||
Cell cell = row.getCell(j,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
if (i == 0){
|
||||
if (i == 0 && !cell.getStringCellValue().equals(titleOneList.get(j))) {//检查表头
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("读取失败.请检查第 " + (i+1) + " 行表头,请严格按照模板文件导入数据");
|
||||
} else {
|
||||
throw new JeroBootException("The data fails to be read.Please check header in line " + (i+1) + " .Import data strictly according to the template file.");
|
||||
}
|
||||
// if (row != null && !isBlank) {
|
||||
int columHeadNos = headerRow.getLastCellNum();// 表头总共的列数
|
||||
if (columHeadNos == 5) {//列数对
|
||||
for (int j = 0; j < columHeadNos; j++) {
|
||||
Cell cell = row.getCell(j,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
if (i == 0){
|
||||
if (i == 0 && !cell.getStringCellValue().equals(titleOneList.get(j))) {//检查表头
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("读取失败.请检查第 " + (i+1) + " 行表头,请严格按照模板文件导入数据");
|
||||
} else {
|
||||
throw new JeroBootException("The data fails to be read.Please check header in line " + (i+1) + " .Import data strictly according to the template file.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if((i!=1 && columNos != 5) || (i==2 && columNos !=1)){
|
||||
}
|
||||
}/*else if(i!=1 && columNos != 5) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("导入的列数不对,请检查");
|
||||
} else {
|
||||
throw new JeroBootException("The number of imported columns is wrong. Please check!");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("导入的数据不能为空,请检查");
|
||||
} else {
|
||||
throw new JeroBootException("The imported data of cannot be empty. Please check!");
|
||||
}
|
||||
}
|
||||
}*/
|
||||
// }else{
|
||||
// if (CutEnum.CN.getValue().equals(cut)) {
|
||||
// throw new JeroBootException("导入的数据不能为空,请检查");
|
||||
// } else {
|
||||
// throw new JeroBootException("The imported data of cannot be empty. Please check!");
|
||||
// }
|
||||
// }
|
||||
if (i == 1) {//校验填写说明
|
||||
row = sheet.getRow(i);
|
||||
int columNos = row.getLastCellNum();
|
||||
if(columNos != 1 /*|| (!row.getCell(0).getStringCellValue().equals(explainInfo))*/){
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("填写说明列数不对,请严格按照模板文件导入数据");
|
||||
}else{
|
||||
throw new JeroBootException("The number of columns of filling explanation is wrong. Please import data strictly according to the template file.");
|
||||
//if(columNos != 1 /*|| (!row.getCell(0).getStringCellValue().equals(explainInfo))*/){
|
||||
for (int k = 0; k < columNos; k++){
|
||||
if (k>0 && StringUtils.isNotBlank(row.getCell(k).getStringCellValue())) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("填写说明列数不对,请严格按照模板文件导入数据");
|
||||
} else {
|
||||
throw new JeroBootException("The number of columns of filling explanation is wrong. Please import data strictly according to the template file.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (i > 1) {//读取数据
|
||||
//获取每一行数据
|
||||
@@ -762,7 +767,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
projectRelatedPersonnel.setDutyTerritory(row.getCell(0).toString());
|
||||
}else{//责任领域不能为空,报错
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
throw new JeroBootException("请填写责任领域,带*的为必填.请检查第 "+ (i+1) + "行");
|
||||
throw new JeroBootException("请填写责任领域,为必填.请检查第 "+ (i+1) + "行");
|
||||
}else{
|
||||
throw new JeroBootException("Please fill in the Responsible Field and those marked with * are required. .Please check line" + (i+1));
|
||||
}
|
||||
@@ -777,18 +782,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
projectRelatedPersonnel.setLawEngineerName(lawEngineerName);
|
||||
projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
|
||||
projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName);
|
||||
}else if(StringUtils.isBlank(lawEngineerName) && StringUtils.isBlank(engineeringInterfacePersonName) && StringUtils.isBlank(certificationEngineerName)) {
|
||||
//除了责任领域,带*的全为空->可以
|
||||
}else if(StringUtils.isBlank(lawEngineerName) || StringUtils.isBlank(engineeringInterfacePersonName) || StringUtils.isBlank(certificationEngineerName)) {
|
||||
//除了责任领域,其他的可以全为空->可以
|
||||
projectRelatedPersonnel.setLawEngineerName("");
|
||||
projectRelatedPersonnel.setEngineeringInterfacePersonName("");
|
||||
projectRelatedPersonnel.setCertificationEngineerName("");
|
||||
}else {//除了责任领域,备注,有一个为空都报错
|
||||
}/*else {//除了责任领域,备注,有一个为空都报错
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
throw new JeroBootException("请填写必填字段内容,带*的为必填.请检查第 "+ (i+1) + "行");
|
||||
}else{
|
||||
throw new JeroBootException("Please fill in the required fields marked with * .Please check line" + (i+1));
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
String remark = row.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
|
||||
if(StringUtils.isNotEmpty(row.getCell(4).toString())) {
|
||||
@@ -803,7 +808,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
}
|
||||
workbook.close();
|
||||
//把数据翻译成id,并保存
|
||||
oppositeDisposeData(list, projectId, cut);
|
||||
oppositeDisposeData(list, projectId, cut);
|
||||
|
||||
}
|
||||
|
||||
@@ -1037,28 +1042,32 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
// }
|
||||
|
||||
@Override
|
||||
public List<SysUser> queryCertificationEngineer(String projectId) {
|
||||
public List<ProjectRelatedPersonnel> queryCertificationEngineer(String projectId) {
|
||||
QueryWrapper<ProjectRelatedPersonnel> queryWrapper = new QueryWrapper<>();
|
||||
List<ProjectRelatedPersonnel> list = list(queryWrapper.eq("project_id",projectId));
|
||||
|
||||
List<String> certificationEngineerList = list.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.toList());
|
||||
|
||||
StringBuilder userIdBuilder=new StringBuilder();
|
||||
List<SysUser> certificationEngineerUsers = new ArrayList<>();
|
||||
if(CollectionUtils.isNotEmpty(certificationEngineerList)){
|
||||
for(String certificationEngineerId :certificationEngineerList){
|
||||
if(StringUtils.isNotBlank(certificationEngineerId)) {
|
||||
userIdBuilder.append(certificationEngineerId).append(",");
|
||||
}
|
||||
//查询基础表认证工程师的值
|
||||
QueryWrapper<ProjectLibraryBase> baseQueryWrapper = new QueryWrapper<>();
|
||||
List<ProjectLibraryBase> baseDataList = projectLibraryBaseService.list(baseQueryWrapper.eq("id", projectId));
|
||||
String baseCertificationEngineer = baseDataList.get(0).getCertificationEngineer();
|
||||
|
||||
if(StringUtils.isNotBlank(baseCertificationEngineer)) {
|
||||
for (ProjectRelatedPersonnel projectRelatedPersonnel : list) {
|
||||
projectRelatedPersonnel.setCertificationEngineer(baseCertificationEngineer);
|
||||
}
|
||||
String userId = userIdBuilder.substring(0, userIdBuilder.toString().length() - 1);
|
||||
List userIdList = Arrays.asList(userId.split(","));
|
||||
userIdList.stream().distinct().collect(Collectors.toList());
|
||||
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
|
||||
userqueryWrapper.in("id ", userIdList);
|
||||
certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
|
||||
}
|
||||
return certificationEngineerUsers;
|
||||
disposeData(list);
|
||||
List<ProjectRelatedPersonnel> certificationEngineerList = new ArrayList<>();
|
||||
|
||||
for(ProjectRelatedPersonnel personnel : list){
|
||||
ProjectRelatedPersonnel relatedPersonnel =new ProjectRelatedPersonnel();
|
||||
relatedPersonnel.setCertificationEngineer(personnel.getCertificationEngineer());
|
||||
relatedPersonnel.setCertificationEngineerName(personnel.getCertificationEngineerName());
|
||||
certificationEngineerList.add(relatedPersonnel);
|
||||
}
|
||||
certificationEngineerList = certificationEngineerList.stream().distinct().collect(Collectors.toList());
|
||||
return certificationEngineerList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,37 +3,48 @@
|
||||
<a-card :bordered="false">
|
||||
<div class="collection-search-wrapper">
|
||||
<div class="collection-search-header">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery(queryParams)">
|
||||
<a-form-model
|
||||
class="collection-content"
|
||||
:model="queryParams"
|
||||
ref="tagEditForm"
|
||||
>
|
||||
<a-row :gutter="24" type="flex" justify="start">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-model-item :label="$t('standard')">
|
||||
<a-input :placeholder="$t('enterNumber')" v-model="queryParams.serialNumber"></a-input>
|
||||
</a-form-model-item>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{$t('standard')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParams.serialNumber"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-model-item :label="$t('title')">
|
||||
<a-input :placeholder="$t('enterTitle')" v-model="queryParams.title"></a-input>
|
||||
</a-form-model-item>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{$t('title')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParams.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-model-item :label="$t('status')">
|
||||
<j-dict-select-tag type="list" v-model="queryParams.state" dictCode="file_type" :placeholder="$t('selectStatus')" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
|
||||
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
|
||||
</span>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('status')">
|
||||
<span>{{$t('status')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParams.state"
|
||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'state'"/>
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-form>
|
||||
</a-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
@@ -272,28 +283,64 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.collection{
|
||||
.collection-content{
|
||||
.ant-form-item-control-wrapper{
|
||||
min-width: 180px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.collection-search-header{
|
||||
.ant-form-item-control-wrapper{
|
||||
min-width: 200px;
|
||||
.ant-form-item{
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
.ant-col-md-6{
|
||||
display: flex;
|
||||
}
|
||||
.table-page-search-submitButtons{
|
||||
float: none!important;
|
||||
}
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 33px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
/*.collection{*/
|
||||
/* .collection-content{*/
|
||||
/* .ant-form-item-control-wrapper{*/
|
||||
/* min-width: 180px;*/
|
||||
/* }*/
|
||||
/* }*/
|
||||
/*}*/
|
||||
/*.collection-search-header{*/
|
||||
/* .ant-form-item-control-wrapper{*/
|
||||
/* min-width: 200px;*/
|
||||
/* .ant-form-item{*/
|
||||
/* display: flex;*/
|
||||
/* }*/
|
||||
/* }*/
|
||||
/*.ant-col-md-6{*/
|
||||
/* display: flex;*/
|
||||
/*}*/
|
||||
/*.table-page-search-submitButtons{*/
|
||||
/* float: none!important;*/
|
||||
/*}*/
|
||||
/*}*/
|
||||
.box-input .ant-select-selection__rendered {
|
||||
line-height: 38px;
|
||||
height: 38px;
|
||||
}
|
||||
.box-input .ant-select-selection--single {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
@@ -1398,6 +1398,6 @@
|
||||
.box-input .ant-select-selection__rendered {
|
||||
line-height: 32px;
|
||||
height: 32px;
|
||||
overflow-y: auto;
|
||||
/*overflow-y: auto;*/
|
||||
}
|
||||
</style>
|
||||
@@ -3,41 +3,56 @@
|
||||
<a-card :bordered="false">
|
||||
<div class="subscribtion-search-wrapper">
|
||||
<div class="subscribtion-search-header">
|
||||
<!-- <search :url="url" :flag="'1'"></search>-->
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<!-- <search :url="url" :flag="'1'"></search>-->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="6">
|
||||
<a-form-item :label="$t('standard')">
|
||||
<a-input :placeholder="$t('enterNumber')" v-model="queryParams.serialNumber"></a-input>
|
||||
</a-form-item>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{$t('standard')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParams.serialNumber"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="6">
|
||||
<a-form-item :label="$t('title')">
|
||||
<a-input :placeholder="$t('enterTitle')" v-model="queryParams.title"></a-input>
|
||||
</a-form-item>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{$t('title')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParams.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="6">
|
||||
<a-form-item :label="$t('status')">
|
||||
<j-dict-select-tag type="list" v-model="queryParams.state" dictCode="file_type" :placeholder="$t('selectStatus')" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="4">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">{{$t('reset')}}</a-button>
|
||||
</span>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('status')">
|
||||
<span>{{$t('status')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParams.state"
|
||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'state'"/>
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div class="operator-text" @click="handleBatManage">
|
||||
<a-icon type="plus" />
|
||||
<a-icon type="plus"/>
|
||||
{{ $t('SubscriptionManagement') }}
|
||||
</div>
|
||||
<div class="operator-text" @click="handleBatCancel">
|
||||
<a-icon type="delete" />
|
||||
<a-icon type="delete"/>
|
||||
{{ $t('BatchCancellation') }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -53,13 +68,13 @@
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
>
|
||||
<span slot="serialNumber" slot-scope="text, record">
|
||||
<a class="table-del" @click="onDetail(record)">{{record.serialNumber}}</a>
|
||||
<a class="table-del" @click="onDetail(record)">{{record.serialNumber}}</a>
|
||||
</span>
|
||||
<span slot="serialtitle" slot-scope="text, record">
|
||||
<a class="table-del" @click="onDetail(record)">{{record.title}}</a>
|
||||
<a class="table-del" @click="onDetail(record)">{{record.title}}</a>
|
||||
</span>
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a class="table-del" @click="onCancel(record)">{{$t('CancelSubscribe')}}</a>
|
||||
<a class="table-del" @click="onCancel(record)">{{$t('CancelSubscribe')}}</a>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="tableData.length > 0">
|
||||
@@ -82,196 +97,199 @@
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
|
||||
import SubArea from './module/SubArea'
|
||||
|
||||
export default {
|
||||
name:'subscribtion',
|
||||
components:{
|
||||
SubArea,
|
||||
name: 'subscribtion',
|
||||
components: {
|
||||
SubArea
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
selectedRowKeys:[],
|
||||
queryParams:{
|
||||
pageNo:1,
|
||||
pageSize:10
|
||||
data() {
|
||||
return {
|
||||
selectedRowKeys: [],
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
}, //搜索条件
|
||||
total:0,
|
||||
total: 0,
|
||||
//列表表头
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serialNumber',
|
||||
key: 'serialNumber',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
scopedSlots: {customRender: 'serialNumber'},
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'serialNumber' },
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'title',
|
||||
scopedSlots: {customRender: 'serialtitle'},
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'serialtitle' },
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'state',
|
||||
ellipsis: true,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('subscriptionTime'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'createTime',
|
||||
ellipsis: true,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
dataIndex: 'action',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
align: "center",
|
||||
scopedSlots: { customRender: 'action' },
|
||||
align: 'center',
|
||||
width: 170
|
||||
}
|
||||
],
|
||||
tableData:[], //列表数据
|
||||
visible:false,
|
||||
selecIds:[],
|
||||
loading:false,
|
||||
url:{
|
||||
tableData: [], //列表数据
|
||||
visible: false,
|
||||
selecIds: [],
|
||||
loading: false,
|
||||
url: {
|
||||
tableHeader: 'subscribe/onlCgformSubscribe/getHeader', //表格头部字段
|
||||
seachList: 'subscribe/onlCgformSubscribe/queryCondition', //搜索字段
|
||||
tableList: 'subscribe/onlCgformSubscribe/page', //表格数据
|
||||
tableList: 'subscribe/onlCgformSubscribe/page' //表格数据
|
||||
},
|
||||
OperationList: [
|
||||
{
|
||||
text: this.$t('CancelSubscribe'),
|
||||
ClickEvent: 'onCancel'
|
||||
}
|
||||
],
|
||||
]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadData()
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
//获取列表数据
|
||||
loadData(){
|
||||
let params={
|
||||
loadData() {
|
||||
let params = {
|
||||
...this.queryParams
|
||||
}
|
||||
this.loading=true
|
||||
postAction(`subscribe/onlCgformSubscribe/page`,params).then(res=>{
|
||||
if(res.success){
|
||||
this.tableData= [ ...res.result.records ]
|
||||
this.total=res.result.total
|
||||
this.loading=false
|
||||
this.loading = true
|
||||
postAction(`subscribe/onlCgformSubscribe/page`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.tableData = [...res.result.records]
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},//搜索
|
||||
searchQuery(){
|
||||
searchQuery() {
|
||||
this.loadData()
|
||||
},
|
||||
//订阅领域管理
|
||||
handleBatManage(){
|
||||
this.visible=true
|
||||
handleBatManage() {
|
||||
this.visible = true
|
||||
},
|
||||
//批量取消收藏
|
||||
handleBatCancel(){
|
||||
let params={
|
||||
ids:this.selecIds.join(',')
|
||||
handleBatCancel() {
|
||||
let params = {
|
||||
ids: this.selecIds.join(',')
|
||||
}
|
||||
if(this.selecIds&&this.selecIds.length>0){
|
||||
if (this.selecIds && this.selecIds.length > 0) {
|
||||
this.$confirm({
|
||||
title: this.$t('confirmBulkUnsubscribe'),
|
||||
content: '',
|
||||
onOk:
|
||||
async () => {
|
||||
deleteAction(`subscribe/onlCgformSubscribe/deleteBatch`,params).then(res=> {
|
||||
if(res.success){
|
||||
deleteAction(`subscribe/onlCgformSubscribe/deleteBatch`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
if(this.selecIds.length==this.tableData.length&&this.queryParams.pageNo!==1){
|
||||
this.queryParams.pageNo=this.queryParams.pageNo-1
|
||||
if (this.selecIds.length == this.tableData.length && this.queryParams.pageNo !== 1) {
|
||||
this.queryParams.pageNo = this.queryParams.pageNo - 1
|
||||
}
|
||||
this.loadData()
|
||||
}else{
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
},
|
||||
onCancel() {},
|
||||
});
|
||||
}else{
|
||||
onCancel() {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
//取消订阅
|
||||
onCancel(record){
|
||||
let params={
|
||||
id:record.id
|
||||
onCancel(record) {
|
||||
let params = {
|
||||
id: record.id
|
||||
}
|
||||
this.$confirm({
|
||||
title: this.$t('unsubscribeConfirm'),
|
||||
content: '',
|
||||
onOk:
|
||||
async () => {
|
||||
deleteAction(`subscribe/onlCgformSubscribe/delete`,params).then(res=> {
|
||||
if(res.success){
|
||||
deleteAction(`subscribe/onlCgformSubscribe/delete`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
if(this.tableData.length==1&&this.queryParams.pageNo!==1){
|
||||
this.queryParams.pageNo=this.queryParams.pageNo-1
|
||||
if (this.tableData.length == 1 && this.queryParams.pageNo !== 1) {
|
||||
this.queryParams.pageNo = this.queryParams.pageNo - 1
|
||||
}
|
||||
this.loadData()
|
||||
}else{
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
},
|
||||
onCancel() {},
|
||||
});
|
||||
onCancel() {
|
||||
}
|
||||
})
|
||||
},
|
||||
//清空
|
||||
searchReset(){
|
||||
this.queryParams={
|
||||
searchReset() {
|
||||
this.queryParams = {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
}
|
||||
this.loadData()
|
||||
},
|
||||
//点击页数
|
||||
onChangePage(page,pageSize){
|
||||
onChangePage(page, pageSize) {
|
||||
this.queryParams.pageNo = page
|
||||
this.loadData()
|
||||
},
|
||||
//一页显示条数
|
||||
SizeChange(page,pageSize){
|
||||
SizeChange(page, pageSize) {
|
||||
this.queryParams.pageSize = pageSize
|
||||
this.queryParams.pageNo=1
|
||||
this.queryParams.pageNo = 1
|
||||
this.loadData()
|
||||
},
|
||||
//选择框
|
||||
onSelectChange(rows) {
|
||||
this.selectedRowKeys = rows;
|
||||
this.selectedRowKeys = rows
|
||||
// let ids=[]
|
||||
// if(rows && rows.length>0){
|
||||
// rows.forEach(item=>{
|
||||
// ids.push(item.id)
|
||||
// })
|
||||
// }
|
||||
this.selecIds=rows
|
||||
this.selecIds = rows
|
||||
},
|
||||
//点击编号
|
||||
numberClick(records){
|
||||
numberClick(records) {
|
||||
|
||||
},
|
||||
//点击名称
|
||||
titleClick(records){
|
||||
titleClick(records) {
|
||||
|
||||
},
|
||||
areaVisible(val){
|
||||
this.visible=val
|
||||
areaVisible(val) {
|
||||
this.visible = val
|
||||
},
|
||||
//跳转详情
|
||||
onDetail(item) {
|
||||
@@ -279,9 +297,9 @@
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id:item.documentId ,
|
||||
serial_number:item.serialNumber,
|
||||
title:item.title
|
||||
id: item.documentId,
|
||||
serial_number: item.serialNumber,
|
||||
title: item.title
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
@@ -291,34 +309,76 @@
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
.subscribtion{
|
||||
.subscribtion-search-wrapper{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.page{
|
||||
margin-top: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.subscribtion {
|
||||
.subscribtion-search-wrapper {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.page {
|
||||
margin-top: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 33px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.subscribtion{
|
||||
.subscribtion-content{
|
||||
.ant-form-item-control-wrapper{
|
||||
.subscribtion {
|
||||
.subscribtion-content {
|
||||
.ant-form-item-control-wrapper {
|
||||
min-width: 180px;
|
||||
.ant-form-item{
|
||||
|
||||
.ant-form-item {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.subscribtion-search-header{
|
||||
.ant-form-item-control-wrapper{
|
||||
min-width: 200px;
|
||||
}
|
||||
.table-page-search-submitButtons{
|
||||
float: none!important;
|
||||
|
||||
.subscribtion-search-header {
|
||||
.ant-form-item-control-wrapper {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
/*.table-page-search-submitButtons {*/
|
||||
/* float: none !important;*/
|
||||
/*}*/
|
||||
}
|
||||
.box-input .ant-select-selection__rendered {
|
||||
line-height: 38px;
|
||||
height: 38px;
|
||||
}
|
||||
.box-input .ant-select-selection--single {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
@@ -39,16 +39,16 @@
|
||||
:wrapper-col="wrapperCol"
|
||||
>
|
||||
<a-form-model-item :label="$t('name')" prop="itemText" v-if="dictVal=='list'">
|
||||
<a-input v-model="form.itemText" :placeholder="$t('enterName')" />
|
||||
<a-input v-model.trim="form.itemText" :placeholder="$t('enterName')" />
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('name')" prop="name" v-if="dictVal=='tree'">
|
||||
<a-input v-model="form.name" :placeholder="$t('enterName')" />
|
||||
<a-input v-model.trim="form.name" :placeholder="$t('enterName')" />
|
||||
</a-form-model-item>
|
||||
<!-- <a-form-model-item :label="$t('DataValue')" prop="itemValue">-->
|
||||
<!-- <a-input v-model="form.itemValue" :placeholder="$t('enterDataValue')" />-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<a-form-model-item :label="$t('enName')" prop="enName">
|
||||
<a-input v-model="form.enName" :placeholder="$t('PleaseEnterYourEnglishName')" />
|
||||
<a-input v-model.trim="form.enName" :placeholder="$t('PleaseEnterYourEnglishName')" />
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('ParentName')" prop="pid" v-if="parentVisible">
|
||||
<a-select v-model="form.pid" @change="handleChange" :placeholder="$t('pleaseSelect')" >
|
||||
@@ -58,7 +58,7 @@
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('describe')" prop="description">
|
||||
<a-input v-model="form.description" :placeholder="$t('PleaseEnterDescription')" />
|
||||
<a-input v-model.trim="form.description" :placeholder="$t('PleaseEnterDescription')" />
|
||||
</a-form-model-item>
|
||||
|
||||
</a-form-model>
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
<!-- 属性名称-->
|
||||
<a-col :span="24">
|
||||
<a-form-model-item :label="$t('AttributeName')" prop="dbFieldTxt">
|
||||
<a-input v-model="form.dbFieldTxt" :placeholder="$t('PleaseEnterPropertyName')" :maxLength="120" ></a-input>
|
||||
<a-input v-model.trim="form.dbFieldTxt" :placeholder="$t('PleaseEnterPropertyName')" :maxLength="120" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<!-- 英文名称-->
|
||||
<a-col :span="24">
|
||||
<a-form-model-item :label="$t('enName')" prop="dbFieldEnName">
|
||||
<a-input v-model="form.dbFieldEnName" :placeholder="$t('PleaseEnterYourEnglishName')" :maxLength="120" ></a-input>
|
||||
<a-input v-model.trim="form.dbFieldEnName" :placeholder="$t('PleaseEnterYourEnglishName')" :maxLength="120" ></a-input>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<!-- 属性类型-->
|
||||
|
||||
@@ -1,93 +1,101 @@
|
||||
<template>
|
||||
<div class="tag-content">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="12">
|
||||
<a-form-item :label="$t('LabelName')">
|
||||
<a-input :placeholder="$t('PleaseEnter')+$t('LabelName')" v-model="queryParams.dictName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">{{$t('reset')}}</a-button>
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('LabelName')">
|
||||
<span>{{$t('LabelName')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('LabelName')"
|
||||
v-model="queryParams.dictName"></a-input>
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div class="operator-text" @click="handleAdd" v-has="'dict:add'">
|
||||
<a-icon type="plus"/>
|
||||
{{$t('newlyAdded')}}
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div class="operator-text" @click="handleAdd" v-has="'dict:add'">
|
||||
<a-icon type="plus" />
|
||||
{{$t('newlyAdded')}}
|
||||
</div>
|
||||
<div class="operator-text" @click="batDelete" v-has="'dict:logicDeleteBatch'">
|
||||
<a-icon type="delete" />
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
<div class="operator-text" @click="batDelete" v-has="'dict:logicDeleteBatch'">
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
<a-modal class="show-content" v-model="contentVisible" :visible="contentVisible" :title="title" :ok-text="$t('preservation')" :cancel-text="$t('cancel')" @ok="hideModal" @cancel="cancelModel" v-if="contentVisible">
|
||||
<a-form-model
|
||||
class="tag-content"
|
||||
ref="ruleForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
:label-col="labelCol"
|
||||
:wrapper-col="wrapperCol"
|
||||
>
|
||||
<a-form-model-item ref="tagName" :label="$t('LabeItemName')" prop="dictName" class="tag-item">
|
||||
<a-input
|
||||
v-model="form.dictName"
|
||||
:placeholder="$t('PleaseEnterLabelName')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('LabelType')" prop="attributeType" v-if="isEdit==1" class="tag-item">
|
||||
<j-dict-select-tag type="list" v-model="form.attributeType" dictCode="attribute_type" :placeholder="$t('PleaseSelectLabelType')" />
|
||||
</a-form-model-item>
|
||||
|
||||
<a-form-model-item ref="describe" :label="$t('describe')" prop="description" class="tag-item">
|
||||
<a-input
|
||||
v-model="form.description"
|
||||
:placeholder="$t('PleaseEnterDescription')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
|
||||
<a-table :data-source="tableData" rowKey="id" :columns="columns"
|
||||
:scroll="{x: true}"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false" :loading="loading" class="tag-con-table">
|
||||
|
||||
<template slot="action" slot-scope="text, record">
|
||||
<a class="action-dict" @click="handleDicPop(record)">{{$t('DictionaryConfiguration')}}</a>
|
||||
<a class="action-edit" @click="actionEdit(record)" v-has="'dict:edit'">{{$t('edit')}}</a>
|
||||
<a class="action-delete" href="javascript:;" @click="onDelete(record)" v-has="'dict:logicDelete'">{{$t('delete')}}</a>
|
||||
</template>
|
||||
</a-table>
|
||||
<div class="page" v-if="tableData.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="queryParams.pageSize"
|
||||
:total="total"
|
||||
@change="onChangePage"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<a-drawer
|
||||
class="dict-drawer"
|
||||
:title="$t('DictionaryList')"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
:visible="dicVisible"
|
||||
:after-visible-change="afterDicVisibleChange"
|
||||
@close="onDicClose"
|
||||
width="1000px"
|
||||
</div>
|
||||
<a-modal class="show-content" v-model="contentVisible" :visible="contentVisible" :title="title"
|
||||
:ok-text="$t('preservation')" :cancel-text="$t('cancel')" @ok="hideModal" @cancel="cancelModel"
|
||||
v-if="contentVisible">
|
||||
<a-form-model
|
||||
class="tag-content"
|
||||
ref="ruleForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
:label-col="labelCol"
|
||||
:wrapper-col="wrapperCol"
|
||||
>
|
||||
<dic-list :dictVal="dictVal" :record="record" v-if="dicVisible"></dic-list>
|
||||
</a-drawer>
|
||||
<a-form-model-item ref="tagName" :label="$t('LabeItemName')" prop="dictName" class="tag-item">
|
||||
<a-input
|
||||
v-model="form.dictName"
|
||||
:placeholder="$t('PleaseEnterLabelName')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :label="$t('LabelType')" prop="attributeType" v-if="isEdit==1" class="tag-item">
|
||||
<j-dict-select-tag type="list" v-model="form.attributeType" dictCode="attribute_type"
|
||||
:placeholder="$t('PleaseSelectLabelType')"/>
|
||||
</a-form-model-item>
|
||||
|
||||
<a-form-model-item ref="describe" :label="$t('describe')" prop="description" class="tag-item">
|
||||
<a-input
|
||||
v-model="form.description"
|
||||
:placeholder="$t('PleaseEnterDescription')"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
|
||||
<a-table :data-source="tableData" rowKey="id" :columns="columns"
|
||||
:scroll="{x: true}"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false"
|
||||
:loading="loading" class="tag-con-table">
|
||||
|
||||
<template slot="action" slot-scope="text, record">
|
||||
<a class="action-dict" @click="handleDicPop(record)">{{$t('DictionaryConfiguration')}}</a>
|
||||
<a class="action-edit" @click="actionEdit(record)" v-has="'dict:edit'">{{$t('edit')}}</a>
|
||||
<a class="action-delete" href="javascript:;" @click="onDelete(record)" v-has="'dict:logicDelete'">{{$t('delete')}}</a>
|
||||
</template>
|
||||
</a-table>
|
||||
<div class="page" v-if="tableData.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="queryParams.pageSize"
|
||||
:total="total"
|
||||
@change="onChangePage"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<a-drawer
|
||||
class="dict-drawer"
|
||||
:title="$t('DictionaryList')"
|
||||
placement="right"
|
||||
:closable="true"
|
||||
:visible="dicVisible"
|
||||
:after-visible-change="afterDicVisibleChange"
|
||||
@close="onDicClose"
|
||||
width="1000px"
|
||||
>
|
||||
<dic-list :dictVal="dictVal" :record="record" v-if="dicVisible"></dic-list>
|
||||
</a-drawer>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
@@ -97,137 +105,136 @@
|
||||
// import tabTable from './tabTable'
|
||||
import DicList from '../dialog/DicList'
|
||||
import Vue from 'vue'
|
||||
import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
|
||||
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
|
||||
|
||||
export default {
|
||||
name: 'tagContent',
|
||||
components:{
|
||||
components: {
|
||||
// tabTable,
|
||||
DicList
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
data() {
|
||||
return {
|
||||
title: this.$t('add'),
|
||||
total:0,
|
||||
queryParams:{
|
||||
pageNo:1,
|
||||
pageSize:10
|
||||
total: 0,
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
ids:[],
|
||||
loading:false,
|
||||
ids: [],
|
||||
loading: false,
|
||||
selectedRowKeys: [],
|
||||
contentVisible:false,
|
||||
tableData:[],
|
||||
contentVisible: false,
|
||||
tableData: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('LabelName'),
|
||||
dataIndex: 'dictName',
|
||||
key: 'dictName',
|
||||
align: "center",
|
||||
align: 'center',
|
||||
ellipsis: true,
|
||||
width: 100,
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: this.$t('LabelType'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'attributeTypeName',
|
||||
dataIndex: 'attributeTypeName'
|
||||
},
|
||||
{
|
||||
title: this.$t('describe'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
dataIndex: 'description',
|
||||
ellipsis: true,
|
||||
width:300
|
||||
width: 300
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
dataIndex: 'action',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
align: "center",
|
||||
scopedSlots: { customRender: 'action' },
|
||||
align: 'center',
|
||||
width: 170
|
||||
}
|
||||
],
|
||||
labelCol: { span:6 },
|
||||
labelCol: { span: 6 },
|
||||
wrapperCol: { span: 16 },
|
||||
form:{},
|
||||
rules:{
|
||||
dictName:[{ required: true, message: this.$t('PleaseEnterLabelName'), trigger: 'change' },
|
||||
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },],
|
||||
attributeType:[
|
||||
{ required: true, message: this.$t('PleaseSelectLabelType'), trigger: 'blur' },
|
||||
form: {},
|
||||
rules: {
|
||||
dictName: [{ required: true, message: this.$t('PleaseEnterLabelName'), trigger: 'change' },
|
||||
{ min: 1, max: 100, message: this.$t('cantExeed') + '100' + this.$t('characters'), trigger: 'blur' }],
|
||||
attributeType: [
|
||||
{ required: true, message: this.$t('PleaseSelectLabelType'), trigger: 'blur' }
|
||||
|
||||
],
|
||||
description:[
|
||||
{ min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' },
|
||||
description: [
|
||||
{ min: 1, max: 200, message: this.$t('cantExeed') + '200' + this.$t('characters'), trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
// typeVisible:{},
|
||||
dicVisible:false,
|
||||
dictVal:'list',
|
||||
dicVisible: false,
|
||||
dictVal: 'list',
|
||||
record: {},
|
||||
isEdit:1,
|
||||
flag:false, //表单提交标识
|
||||
isEdit: 1,
|
||||
flag: false //表单提交标识
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
|
||||
},
|
||||
computed: {},
|
||||
mounted() {
|
||||
this.loadData();
|
||||
this.loadData()
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
//获取列表数据
|
||||
loadData(param){
|
||||
this.loading=true
|
||||
let params={
|
||||
loadData(param) {
|
||||
this.loading = true
|
||||
let params = {
|
||||
...this.queryParams,
|
||||
isTagDict:1,
|
||||
isTagDict: 1
|
||||
}
|
||||
// sys/dict/tagDictPage
|
||||
// sys/dict/page
|
||||
postAction(`sys/dict/tagDictPage`,params).then(res=>{
|
||||
if(res.success){
|
||||
this.total=res.result.total
|
||||
this.tableData=[...res.result.records]
|
||||
postAction(`sys/dict/tagDictPage`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.total = res.result.total
|
||||
this.tableData = [...res.result.records]
|
||||
}
|
||||
}).finally(()=>{
|
||||
this.loading=false
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
//查询
|
||||
searchQuery(){
|
||||
this.queryParams.pageNo=1
|
||||
searchQuery() {
|
||||
this.queryParams.pageNo = 1
|
||||
this.loadData()
|
||||
},
|
||||
searchReset(){
|
||||
this.queryParams={
|
||||
pageNo:1,
|
||||
searchReset() {
|
||||
this.queryParams = {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
}
|
||||
this.loadData()
|
||||
},
|
||||
handleAdd(){
|
||||
this.title=this.$t('add')
|
||||
this.isEdit=1
|
||||
this.contentVisible=true
|
||||
this.form={}
|
||||
handleAdd() {
|
||||
this.title = this.$t('add')
|
||||
this.isEdit = 1
|
||||
this.contentVisible = true
|
||||
this.form = {}
|
||||
},
|
||||
hideModal(){
|
||||
let params={
|
||||
...this.form,
|
||||
hideModal() {
|
||||
let params = {
|
||||
...this.form
|
||||
}
|
||||
this.$refs.ruleForm.validate((valid)=>{
|
||||
this.$refs.ruleForm.validate((valid) => {
|
||||
// console.log('valide',valide)
|
||||
if(valid){
|
||||
if (valid) {
|
||||
|
||||
if(!this.flag){
|
||||
this.flag=true
|
||||
if(this.isEdit==1){
|
||||
if (!this.flag) {
|
||||
this.flag = true
|
||||
if (this.isEdit == 1) {
|
||||
|
||||
params.id=''
|
||||
params.isTagDict=1
|
||||
params.isReadOnly=0
|
||||
postAction(`sys/dict/add`,params).then(res=> {
|
||||
params.id = ''
|
||||
params.isTagDict = 1
|
||||
params.isReadOnly = 0
|
||||
postAction(`sys/dict/add`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.contentVisible = false
|
||||
@@ -244,26 +251,26 @@
|
||||
}
|
||||
}
|
||||
|
||||
}).finally(()=>{
|
||||
this.flag=false
|
||||
})
|
||||
}else if(this.isEdit==0){
|
||||
this.$delete(params,'isReadOnly')
|
||||
this.$delete(params,'isTagDict')
|
||||
// console.log('editparams',params)
|
||||
putAction(`sys/dict/edit`,params).then(res=>{
|
||||
if(res.success){
|
||||
this.$message.success( this.$t('OperationSuccessful'))
|
||||
this.reFresh()
|
||||
this.loadData()
|
||||
this.contentVisible=false
|
||||
this.form={}
|
||||
}else{
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
}).finally(()=>{
|
||||
this.flag=false
|
||||
})
|
||||
}).finally(() => {
|
||||
this.flag = false
|
||||
})
|
||||
} else if (this.isEdit == 0) {
|
||||
this.$delete(params, 'isReadOnly')
|
||||
this.$delete(params, 'isTagDict')
|
||||
// console.log('editparams',params)
|
||||
putAction(`sys/dict/edit`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.reFresh()
|
||||
this.loadData()
|
||||
this.contentVisible = false
|
||||
this.form = {}
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
}).finally(() => {
|
||||
this.flag = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -271,7 +278,7 @@
|
||||
|
||||
},
|
||||
//刷新缓存
|
||||
reFresh(){
|
||||
reFresh() {
|
||||
getAction('sys/dict/refleshCache').then((res) => {
|
||||
if (res.success) {
|
||||
//重新加载缓存
|
||||
@@ -286,17 +293,17 @@
|
||||
console.log('刷新失败', e)
|
||||
})
|
||||
},
|
||||
cancelModel(){
|
||||
this.contentVisible=false
|
||||
this.form={}
|
||||
cancelModel() {
|
||||
this.contentVisible = false
|
||||
this.form = {}
|
||||
},
|
||||
onCellChange(){
|
||||
onCellChange() {
|
||||
|
||||
},
|
||||
//删除
|
||||
onDelete(val){
|
||||
let param={
|
||||
id:val.id
|
||||
onDelete(val) {
|
||||
let param = {
|
||||
id: val.id
|
||||
}
|
||||
this.$confirm({
|
||||
title: this.$t('ConfirmDelete'),
|
||||
@@ -307,12 +314,12 @@
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.reFresh()
|
||||
if(this.tableData&&this.tableData.length==1&&this.queryParams.pageNo!=1){
|
||||
this.queryParams.pageNo=this.queryParams.pageNo-1
|
||||
if (this.tableData && this.tableData.length == 1 && this.queryParams.pageNo != 1) {
|
||||
this.queryParams.pageNo = this.queryParams.pageNo - 1
|
||||
}
|
||||
this.loadData()
|
||||
}else{
|
||||
this.$message.warning(this.$t('operationFailed'));
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -320,16 +327,16 @@
|
||||
},
|
||||
onSelectChange(selectedRowKeys) {
|
||||
// console.log('selectedRowKeys changed: ', selectedRowKeys);
|
||||
this.selectedRowKeys = selectedRowKeys;
|
||||
this.ids = this.selectedRowKeys;
|
||||
console.log('selRows',selectedRowKeys)
|
||||
this.selectedRowKeys = selectedRowKeys
|
||||
this.ids = this.selectedRowKeys
|
||||
console.log('selRows', selectedRowKeys)
|
||||
},
|
||||
//批量删除
|
||||
batDelete(){
|
||||
let params={
|
||||
ids:this.ids.join(',')
|
||||
batDelete() {
|
||||
let params = {
|
||||
ids: this.ids.join(',')
|
||||
}
|
||||
if(this.ids&&this.ids.length>0){
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
this.$confirm({
|
||||
title: this.$t('ConfirmDelete'),
|
||||
content: '',
|
||||
@@ -339,46 +346,45 @@
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.reFresh()
|
||||
this.selectedRowKeys=[]
|
||||
if(this.ids.length==this.tableData.length&&this.queryParams.pageNo!=1){
|
||||
this.queryParams.pageNo=this.queryParams.pageNo-1
|
||||
this.selectedRowKeys = []
|
||||
if (this.ids.length == this.tableData.length && this.queryParams.pageNo != 1) {
|
||||
this.queryParams.pageNo = this.queryParams.pageNo - 1
|
||||
}
|
||||
this.loadData()
|
||||
// postAction(`online/cgform/api/doDbSynch/48308196e7b04761b533dc31bc899707/normal
|
||||
// `,{}).then(res=>{
|
||||
// })
|
||||
}else{
|
||||
// postAction(`online/cgform/api/doDbSynch/48308196e7b04761b533dc31bc899707/normal
|
||||
// `,{}).then(res=>{
|
||||
// })
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
//编辑
|
||||
actionEdit(val){
|
||||
this.title=this.$t('edit')
|
||||
this.isEdit=0
|
||||
this.form={...val}
|
||||
this.contentVisible=true
|
||||
actionEdit(val) {
|
||||
this.title = this.$t('edit')
|
||||
this.isEdit = 0
|
||||
this.form = { ...val }
|
||||
this.contentVisible = true
|
||||
},
|
||||
//字典配置
|
||||
handleDicPop(record){
|
||||
this.record=record
|
||||
if(record.attributeType=='1'){
|
||||
handleDicPop(record) {
|
||||
this.record = record
|
||||
if (record.attributeType == '1') {
|
||||
// console.log('attribu',record.attributeType,record.attributeType=='1')
|
||||
// this.typeVisible[record.id]=false
|
||||
this.dictVal='list'
|
||||
this.dicVisible=true
|
||||
this.dictVal = 'list'
|
||||
this.dicVisible = true
|
||||
|
||||
}else if(record.attributeType=='2'){
|
||||
} else if (record.attributeType == '2') {
|
||||
// this.typeVisible[record.id]=false
|
||||
this.dictVal='tree'
|
||||
this.dicVisible=true
|
||||
this.dictVal = 'tree'
|
||||
this.dicVisible = true
|
||||
}
|
||||
},
|
||||
afterDicVisibleChange(val) {
|
||||
@@ -387,69 +393,107 @@
|
||||
},
|
||||
//字典列表关闭
|
||||
onDicClose() {
|
||||
this.dicVisible = false;
|
||||
this.dicVisible = false
|
||||
},
|
||||
//点击页数
|
||||
onChangePage(page,pageSize){
|
||||
console.log('page',page)
|
||||
onChangePage(page, pageSize) {
|
||||
console.log('page', page)
|
||||
this.queryParams.pageNo = page
|
||||
this.loadData()
|
||||
},
|
||||
//一页显示条数
|
||||
SizeChange(page,pageSize){
|
||||
SizeChange(page, pageSize) {
|
||||
this.queryParams.pageSize = pageSize
|
||||
this.queryParams.pageNo=1
|
||||
this.queryParams.pageNo = 1
|
||||
this.loadData()
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
.tag-content{
|
||||
.tag-con-table{
|
||||
.action-dict,.action-edit{
|
||||
|
||||
.tag-content {
|
||||
.tag-con-table {
|
||||
.action-dict, .action-edit {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.action-delete{
|
||||
color:red;
|
||||
|
||||
.action-delete {
|
||||
color: red;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.page{
|
||||
.page {
|
||||
margin-top: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
.type-popover{
|
||||
p{
|
||||
margin:5px 0;
|
||||
|
||||
.type-popover {
|
||||
p {
|
||||
margin: 5px 0;
|
||||
}
|
||||
p:hover{
|
||||
|
||||
p:hover {
|
||||
cursor: pointer;
|
||||
color:#0c8fcf;
|
||||
color: #0c8fcf;
|
||||
}
|
||||
}
|
||||
.dict-drawer{
|
||||
.ant-drawer-content-wrapper{
|
||||
|
||||
.dict-drawer {
|
||||
.ant-drawer-content-wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.show-content{
|
||||
.ant-modal-footer{
|
||||
text-align: center;
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
.tag-content{
|
||||
.tag-item{
|
||||
.ant-col-6{
|
||||
min-width: 130px;
|
||||
.title-text {
|
||||
width: 60px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
/*margin-top: 2px;*/
|
||||
}
|
||||
</style>
|
||||
<style lang="less">
|
||||
.show-content {
|
||||
.ant-modal-footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tag-content {
|
||||
.tag-item {
|
||||
.ant-col-6 {
|
||||
min-width: 130px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,256 +1,279 @@
|
||||
<template>
|
||||
<div class="tag-item">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="12" v-show='submitKey=="1"'>
|
||||
<a-form-item :label="$t('ChineseName')">
|
||||
<a-input :placeholder="$t('PleaseEnter')+$t('ChineseName')" v-model="queryParamOne.dbFieldTxt"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="12" v-show='submitKey=="2"'>
|
||||
<a-form-item :label="$t('ChineseName')">
|
||||
<a-input :placeholder="$t('PleaseEnter')+$t('ChineseName')" v-model="queryParamTwo.dbFieldTxt"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8" v-show='submitKey=="1"'>
|
||||
<a-form-item :label="$t('DisplayArea')">
|
||||
<a-select v-model="queryParamOne.showArea" :placeholder="$t('pleaseSelect')">
|
||||
<a-select-option :value="item.id" v-for="item in areas">{{item.showArea}}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">{{$t('reset')}}</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8" v-show='submitKey=="1"'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ChineseName')">
|
||||
<span>{{$t('ChineseName')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ChineseName')"
|
||||
v-model="queryParamOne.dbFieldTxt"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8" v-show='submitKey=="2"'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ChineseName')">
|
||||
<span>{{$t('ChineseName')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ChineseName')"
|
||||
v-model="queryParamOne.dbFieldTxt"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8" v-show='submitKey=="1"'>
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('DisplayArea')">
|
||||
<span>{{$t('DisplayArea')}}</span>
|
||||
</div>
|
||||
<a-select class="box-input" v-model="queryParamOne.showArea" :placeholder="$t('pleaseSelect')">
|
||||
<a-select-option :value="item.id" v-for="item in areas">{{item.showArea}}</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div class="operator-text" @click="handleAddPop" v-has="'tag:add'">
|
||||
<a-icon type="plus" />
|
||||
{{$t('newlyAdded')}}
|
||||
<a-icon type="plus"/>
|
||||
{{$t('newlyAdded')}}
|
||||
</div>
|
||||
<div class="operator-text" @click="handleShow" v-if="key=='1'">
|
||||
<a-icon type="rocket" :rotate="45" />
|
||||
<a-icon type="rocket" :rotate="45"/>
|
||||
{{$t('ExhibitionAreaManagement')}}
|
||||
</div>
|
||||
<div class="operator-text" @click="batDelete" v-has="'tag:logicDeleteBatch'">
|
||||
<a-icon type="delete" />
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
</div>
|
||||
<a-drawer class="show-drawer" :title="titleTag" placement="right" width="1000px" @close="close" :visible="drawerVisible" :after-visible-change="afterVisibleChange" >
|
||||
<a-drawer class="show-drawer" :title="titleTag" placement="right" width="1000px" @close="close"
|
||||
:visible="drawerVisible" :after-visible-change="afterVisibleChange">
|
||||
|
||||
<div class="new-tag-drawer">
|
||||
<a-spin :spinning="spinningDrawer" style="width: 100%;height:100%">
|
||||
<tag-form v-if="drawerVisible&&editFlag" ref="realForm" @ok="closeTag" :isTagContent="isTagContent" :editData="editData" :editId=editId :submitEdit="submitEdit" :disableEdit="disableEdit" :disabled="disableSubmit" :submitKey="submitKey" normal> </tag-form>
|
||||
<div class="new-tag-drawer">
|
||||
<a-spin :spinning="spinningDrawer" style="width: 100%;height:100%">
|
||||
<tag-form v-if="drawerVisible&&editFlag" ref="realForm" @ok="closeTag" :isTagContent="isTagContent"
|
||||
:editData="editData" :editId=editId :submitEdit="submitEdit" :disableEdit="disableEdit"
|
||||
:disabled="disableSubmit" :submitKey="submitKey" normal></tag-form>
|
||||
|
||||
<div class="drawer-footer" v-if="drawerVisible&&editFlag">
|
||||
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">{{$t('preservation')}}</a-button>
|
||||
<a-button @click="handleCancel" style="margin-bottom: 0;">{{$t('close')}}</a-button>
|
||||
</div>
|
||||
<div class="drawer-footer" v-if="drawerVisible&&editFlag">
|
||||
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">
|
||||
{{$t('preservation')}}
|
||||
</a-button>
|
||||
<a-button @click="handleCancel" style="margin-bottom: 0;">{{$t('close')}}</a-button>
|
||||
</div>
|
||||
</a-spin>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<a-modal class="show-area" v-model="areaVisible" :title="$t('ExhibitionAreaManagement')" :footer="null"
|
||||
@cancel="hideModal">
|
||||
<area-manage v-if="areaVisible" @diaHide="diaHide" @submitOk="submitOk" @deleteOk="deleteOk"
|
||||
@updateOk="updateOk"></area-manage>
|
||||
</a-modal>
|
||||
<div class="tag-doc-tab">
|
||||
<a-spin :spinning="spinning">
|
||||
<a-tabs default-active-key="1" @change="callbackTab">
|
||||
<a-tab-pane key="1" :tab="$t('DocumentLibrary')">
|
||||
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns" :parm="queryParamOne"
|
||||
:selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete"
|
||||
@queryParams="queryParamsOne" @selecteds="selecteds" :total="total"></tab-table>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" :tab="$t('DocumentSplitting')">
|
||||
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns1" :parm="queryParamTwo"
|
||||
:selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete"
|
||||
@queryParams="queryParamsTwo" @selecteds="selecteds" :total="total"></tab-table>
|
||||
<!-- <tab-table :tableData="tableData" :columns="taglabColumns" @visibleEd="visibleEd" @visibleDelete="visibleDelete" :total="total" :parm="queryParam"></tab-table>-->
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-spin>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<a-modal class="show-area" v-model="areaVisible" :title="$t('ExhibitionAreaManagement')" :footer="null" @cancel="hideModal">
|
||||
<area-manage v-if="areaVisible" @diaHide="diaHide" @submitOk="submitOk" @deleteOk="deleteOk" @updateOk="updateOk"></area-manage>
|
||||
</a-modal>
|
||||
<div class="tag-doc-tab">
|
||||
<a-spin :spinning="spinning">
|
||||
<a-tabs default-active-key="1" @change="callbackTab">
|
||||
<a-tab-pane key="1" :tab="$t('DocumentLibrary')">
|
||||
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns" :parm="queryParamOne" :selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete" @queryParams="queryParamsOne" @selecteds="selecteds" :total="total"></tab-table>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" :tab="$t('DocumentSplitting')">
|
||||
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns1" :parm="queryParamTwo" :selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete" @queryParams="queryParamsTwo" @selecteds="selecteds" :total="total"></tab-table>
|
||||
<!-- <tab-table :tableData="tableData" :columns="taglabColumns" @visibleEd="visibleEd" @visibleDelete="visibleDelete" :total="total" :parm="queryParam"></tab-table>-->
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-spin>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { putAction,postAction,getAction,deleteAction } from '@/api/manage'
|
||||
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
|
||||
import JInput from '@/components/jero/JInput'
|
||||
import TabTable from './TabTable'
|
||||
import AreaManage from '../dialog/AreaManage'
|
||||
import TagForm from '../dialog/TagForm'
|
||||
|
||||
export default {
|
||||
name: 'tagItem',
|
||||
components:{
|
||||
components: {
|
||||
JInput,
|
||||
TabTable,
|
||||
AreaManage,
|
||||
TagForm
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
spinning:false,
|
||||
queryParamOne:{
|
||||
pageNo:1,
|
||||
pageSize:10,
|
||||
data() {
|
||||
return {
|
||||
spinning: false,
|
||||
queryParamOne: {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
queryParamTwo:{
|
||||
pageNo:1,
|
||||
pageSize:10,
|
||||
queryParamTwo: {
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
titleTag:this.$t('NewLabelItem'),
|
||||
typeVisible:false,
|
||||
isTagContent:false,
|
||||
editData:{}, //编辑的数据
|
||||
editFlag:true,
|
||||
areas:[],
|
||||
tableData:[],
|
||||
titleTag: this.$t('NewLabelItem'),
|
||||
typeVisible: false,
|
||||
isTagContent: false,
|
||||
editData: {}, //编辑的数据
|
||||
editFlag: true,
|
||||
areas: [],
|
||||
tableData: [],
|
||||
taglabColumns: [
|
||||
{
|
||||
title: this.$t('ChineseName'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'dbFieldTxt',
|
||||
dataIndex: 'dbFieldTxt'
|
||||
},
|
||||
{
|
||||
title: this.$t('enName'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'dbFieldEnName',
|
||||
dataIndex: 'dbFieldEnName'
|
||||
},
|
||||
{
|
||||
title: this.$t('AttributeType'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'fieldShowTypeName',
|
||||
dataIndex: 'fieldShowTypeName'
|
||||
},
|
||||
{
|
||||
title: this.$t('FieldLength'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'dbLength'
|
||||
},
|
||||
{
|
||||
title: this.$t('DisplayOrder'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'orderNum'
|
||||
},
|
||||
{
|
||||
title: this.$t('DisplayArea'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'showAreaName'
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
dataIndex: 'action',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
align: "center",
|
||||
scopedSlots: { customRender: 'action' },
|
||||
align: 'center',
|
||||
width: 170
|
||||
}
|
||||
],
|
||||
taglabColumns1: [
|
||||
{
|
||||
title: this.$t('ChineseName'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'dbFieldTxt',
|
||||
dataIndex: 'dbFieldTxt'
|
||||
},
|
||||
{
|
||||
title: this.$t('enName'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'dbFieldEnName',
|
||||
dataIndex: 'dbFieldEnName'
|
||||
},
|
||||
{
|
||||
title: this.$t('AttributeType'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'fieldShowTypeName',
|
||||
dataIndex: 'fieldShowTypeName'
|
||||
},
|
||||
{
|
||||
title: this.$t('FieldLength'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'dbLength'
|
||||
},
|
||||
{
|
||||
title: this.$t('DisplayOrder'),
|
||||
align: "center",
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dataIndex: 'orderNum'
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
dataIndex: 'action',
|
||||
scopedSlots: {customRender: 'action'},
|
||||
align: "center",
|
||||
scopedSlots: { customRender: 'action' },
|
||||
align: 'center',
|
||||
width: 170
|
||||
}
|
||||
],
|
||||
areaVisible:false,
|
||||
areaTable:[],
|
||||
areaTotal:0,
|
||||
drawerVisible:false,
|
||||
value:1,
|
||||
editId:'',
|
||||
submitEdit:'add',
|
||||
key:1,
|
||||
total:0,
|
||||
type:'input',
|
||||
ids:[],
|
||||
disableSubmit:false,
|
||||
selectedRowKey:[],
|
||||
spinningDrawer:false,
|
||||
disableEdit:true,
|
||||
submitKey:'1'
|
||||
areaVisible: false,
|
||||
areaTable: [],
|
||||
areaTotal: 0,
|
||||
drawerVisible: false,
|
||||
value: 1,
|
||||
editId: '',
|
||||
submitEdit: 'add',
|
||||
key: 1,
|
||||
total: 0,
|
||||
type: 'input',
|
||||
ids: [],
|
||||
disableSubmit: false,
|
||||
selectedRowKey: [],
|
||||
spinningDrawer: false,
|
||||
disableEdit: true,
|
||||
submitKey: '1'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.loadData(1)
|
||||
this.loadShowArea()
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
//获取展示区域
|
||||
loadShowArea(){
|
||||
let params = {};
|
||||
getAction(`tag/onlCgformArea/queryShowArea`,params).then((res)=>{
|
||||
if(res.success){
|
||||
this.areas=res.result
|
||||
loadShowArea() {
|
||||
let params = {}
|
||||
getAction(`tag/onlCgformArea/queryShowArea`, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.areas = res.result
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
searchQuery(){
|
||||
this.queryParamOne.pageNo=1
|
||||
this.queryParamTwo.pageNo=1
|
||||
if(this.key==1){
|
||||
searchQuery() {
|
||||
this.queryParamOne.pageNo = 1
|
||||
this.queryParamTwo.pageNo = 1
|
||||
if (this.key == 1) {
|
||||
this.loadData(1)
|
||||
}else if(this.key==2){
|
||||
} else if (this.key == 2) {
|
||||
this.loadData(0)
|
||||
}
|
||||
},
|
||||
searchReset(){
|
||||
this.queryParamOne={
|
||||
pageNo:0,
|
||||
searchReset() {
|
||||
this.queryParamOne = {
|
||||
pageNo: 0,
|
||||
pageSize: 10
|
||||
}
|
||||
this.queryParamTwo={
|
||||
pageNo:0,
|
||||
this.queryParamTwo = {
|
||||
pageNo: 0,
|
||||
pageSize: 10
|
||||
}
|
||||
this.searchQuery()
|
||||
},
|
||||
handleAdd(){
|
||||
this.drawerVisible=true
|
||||
handleAdd() {
|
||||
this.drawerVisible = true
|
||||
|
||||
},
|
||||
|
||||
//区域管理列表数据
|
||||
handleShow(){
|
||||
this.areaVisible=true
|
||||
handleShow() {
|
||||
this.areaVisible = true
|
||||
// getAction(`tag/onlCgformArea/page`,{}).then(res=>{
|
||||
// if(res.success){
|
||||
// this.areaTable=res.result
|
||||
@@ -259,99 +282,99 @@
|
||||
// })
|
||||
},
|
||||
//标签项管理文档库初始数据
|
||||
loadData(val){
|
||||
this.spinning=true
|
||||
this.tableData=[]
|
||||
let paramsOne={
|
||||
loadData(val) {
|
||||
this.spinning = true
|
||||
this.tableData = []
|
||||
let paramsOne = {
|
||||
...this.queryParamOne,
|
||||
isModel:1
|
||||
isModel: 1
|
||||
}
|
||||
let paramsTwo={
|
||||
let paramsTwo = {
|
||||
...this.queryParamTwo,
|
||||
isModel:1
|
||||
isModel: 1
|
||||
}
|
||||
let paramsItem
|
||||
// console.log('params',params)
|
||||
if(val==1){
|
||||
if (val == 1) {
|
||||
// console.log('1')
|
||||
paramsOne.isModel=1
|
||||
paramsOne.isModel = 1
|
||||
paramsItem = paramsOne
|
||||
}else if(val==0){
|
||||
paramsTwo.isModel=0
|
||||
} else if (val == 0) {
|
||||
paramsTwo.isModel = 0
|
||||
paramsItem = paramsTwo
|
||||
}
|
||||
postAction(`tag/onlCgformTag/page`,paramsItem).then(res=>{
|
||||
if(res.success){
|
||||
this.total=res.result.total
|
||||
this.tableData= [ ...res.result.records]
|
||||
this.spinning=false
|
||||
}else{
|
||||
postAction(`tag/onlCgformTag/page`, paramsItem).then(res => {
|
||||
if (res.success) {
|
||||
this.total = res.result.total
|
||||
this.tableData = [...res.result.records]
|
||||
this.spinning = false
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
this.spinning=false
|
||||
this.spinning = false
|
||||
}
|
||||
})
|
||||
},
|
||||
//标签项管理tab切换
|
||||
callbackTab(value){
|
||||
this.key=value
|
||||
if(value==1){
|
||||
this.queryParamOne.dbFieldTxt=''
|
||||
this.submitKey='1'
|
||||
this.queryParamOne.pageNo=1
|
||||
callbackTab(value) {
|
||||
this.key = value
|
||||
if (value == 1) {
|
||||
this.queryParamOne.dbFieldTxt = ''
|
||||
this.submitKey = '1'
|
||||
this.queryParamOne.pageNo = 1
|
||||
this.loadData(1)
|
||||
// this.tableData=this.taglab
|
||||
// this.tableData=this.taglabSplit
|
||||
}else if(value==2){
|
||||
this.queryParamTwo.dbFieldTxt=''
|
||||
this.submitKey='2'
|
||||
this.queryParamTwo.pageNo=1
|
||||
} else if (value == 2) {
|
||||
this.queryParamTwo.dbFieldTxt = ''
|
||||
this.submitKey = '2'
|
||||
this.queryParamTwo.pageNo = 1
|
||||
this.loadData(0)
|
||||
}
|
||||
},
|
||||
diaHide(vis){
|
||||
this.areaVisible=vis
|
||||
diaHide(vis) {
|
||||
this.areaVisible = vis
|
||||
},
|
||||
hideModal(){
|
||||
this.visible = false;
|
||||
hideModal() {
|
||||
this.visible = false
|
||||
},
|
||||
close(){
|
||||
this.drawerVisible=false
|
||||
close() {
|
||||
this.drawerVisible = false
|
||||
},
|
||||
submitOk(value){
|
||||
submitOk(value) {
|
||||
this.handleShow()
|
||||
},
|
||||
deleteOk(value){
|
||||
deleteOk(value) {
|
||||
this.handleShow()
|
||||
},
|
||||
//编辑按钮
|
||||
updateOk(value){
|
||||
updateOk(value) {
|
||||
this.handleShow()
|
||||
},
|
||||
//编辑
|
||||
visibleEd(val,id,title){
|
||||
this.editFlag=false
|
||||
this.disableEdit=true
|
||||
this.drawerVisible=val
|
||||
this.titleTag=title
|
||||
this.editId=id
|
||||
this.submitEdit='edit'
|
||||
let params={
|
||||
id:id,
|
||||
visibleEd(val, id, title) {
|
||||
this.editFlag = false
|
||||
this.disableEdit = true
|
||||
this.drawerVisible = val
|
||||
this.titleTag = title
|
||||
this.editId = id
|
||||
this.submitEdit = 'edit'
|
||||
let params = {
|
||||
id: id
|
||||
}
|
||||
this.spinningDrawer=true
|
||||
getAction(`tag/onlCgformTag/queryById`,params).then(res=>{
|
||||
if(res.success){
|
||||
this.editData=res.result
|
||||
this.editFlag=true
|
||||
this.spinningDrawer = true
|
||||
getAction(`tag/onlCgformTag/queryById`, params).then(res => {
|
||||
if (res.success) {
|
||||
this.editData = res.result
|
||||
this.editFlag = true
|
||||
}
|
||||
}).finally(()=>{
|
||||
this.spinningDrawer=false
|
||||
}).finally(() => {
|
||||
this.spinningDrawer = false
|
||||
})
|
||||
},
|
||||
//删除
|
||||
visibleDelete(id){
|
||||
let params={
|
||||
id:id
|
||||
visibleDelete(id) {
|
||||
let params = {
|
||||
id: id
|
||||
}
|
||||
this.$confirm({
|
||||
title: this.$t('ConfirmDelete'),
|
||||
@@ -384,88 +407,87 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
selecteds(val){
|
||||
this.ids=val
|
||||
selecteds(val) {
|
||||
this.ids = val
|
||||
},
|
||||
//批量删除
|
||||
batDelete(val){
|
||||
let params={
|
||||
ids:this.ids.join(',')
|
||||
batDelete(val) {
|
||||
let params = {
|
||||
ids: this.ids.join(',')
|
||||
}
|
||||
if(this.ids){
|
||||
this.$confirm({
|
||||
title: this.$t('ConfirmDelete'),
|
||||
content: '',
|
||||
onOk:
|
||||
async () => {
|
||||
if (this.ids) {
|
||||
this.$confirm({
|
||||
title: this.$t('ConfirmDelete'),
|
||||
content: '',
|
||||
onOk:
|
||||
async () => {
|
||||
getAction(`tag/onlCgformTag/logicDeleteBatch`, params).then(res => {
|
||||
if (res.success) {
|
||||
if (this.key == 1) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
if(this.ids&&this.ids.length==this.tableData.length){
|
||||
this.queryParamOne.pageNo=this.queryParamOne.pageNo-1
|
||||
if (this.ids && this.ids.length == this.tableData.length) {
|
||||
this.queryParamOne.pageNo = this.queryParamOne.pageNo - 1
|
||||
}
|
||||
this.selectedRowKey=[]
|
||||
this.selectedRowKey = []
|
||||
this.loadData(1)
|
||||
} else if (this.key == 2) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
if(this.ids&&this.ids.length==this.tableData.length){
|
||||
this.queryParamTwo.pageNo=this.queryParamTwo.pageNo-1
|
||||
if (this.ids && this.ids.length == this.tableData.length) {
|
||||
this.queryParamTwo.pageNo = this.queryParamTwo.pageNo - 1
|
||||
}
|
||||
this.loadData(0)
|
||||
}
|
||||
// postAction(`online/cgform/api/doDbSynch/48308196e7b04761b533dc31bc899707/normal
|
||||
// `,{}).then(res=>{
|
||||
// })
|
||||
}else{
|
||||
// postAction(`online/cgform/api/doDbSynch/48308196e7b04761b533dc31bc899707/normal
|
||||
// `,{}).then(res=>{
|
||||
// })
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
else{
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
//新增关闭
|
||||
closeTag(val){
|
||||
this.drawerVisible=val
|
||||
if(this.key==1){
|
||||
closeTag(val) {
|
||||
this.drawerVisible = val
|
||||
if (this.key == 1) {
|
||||
this.loadData(1)
|
||||
}else if(this.key==2){
|
||||
} else if (this.key == 2) {
|
||||
this.loadData(0)
|
||||
}
|
||||
},
|
||||
afterVisibleChange(val){
|
||||
afterVisibleChange(val) {
|
||||
// console.log('val',val)
|
||||
},
|
||||
handleAddPop(val){
|
||||
this.editData={}
|
||||
if(this.submitKey=='1'){
|
||||
this.editData.isModel='1'
|
||||
}else if(this.submitKey=='2'){
|
||||
this.editData.isModel='0'
|
||||
handleAddPop(val) {
|
||||
this.editData = {}
|
||||
if (this.submitKey == '1') {
|
||||
this.editData.isModel = '1'
|
||||
} else if (this.submitKey == '2') {
|
||||
this.editData.isModel = '0'
|
||||
}
|
||||
|
||||
this.disableEdit=false
|
||||
this.drawerVisible=true
|
||||
this.titleTag=this.$t('NewLabelItem')
|
||||
this.submitEdit='add'
|
||||
this.disableEdit = false
|
||||
this.drawerVisible = true
|
||||
this.titleTag = this.$t('NewLabelItem')
|
||||
this.submitEdit = 'add'
|
||||
// this.type=val
|
||||
if(val=='input'){
|
||||
this.typeVisible=false
|
||||
this.isTagContent=false
|
||||
} else if(val='select'){
|
||||
this.typeVisible=false
|
||||
this.isTagContent=true
|
||||
if (val == 'input') {
|
||||
this.typeVisible = false
|
||||
this.isTagContent = false
|
||||
} else if (val = 'select') {
|
||||
this.typeVisible = false
|
||||
this.isTagContent = true
|
||||
}
|
||||
},
|
||||
queryParamsOne(val) {
|
||||
this.queryParamOne.pageNo=val.pageNo
|
||||
this.queryParamOne.pageSize=val.pageSize
|
||||
if(this.key==1){
|
||||
this.queryParamOne.pageNo = val.pageNo
|
||||
this.queryParamOne.pageSize = val.pageSize
|
||||
if (this.key == 1) {
|
||||
this.loadData(1)
|
||||
}
|
||||
// else if(this.key==2){
|
||||
@@ -473,12 +495,12 @@
|
||||
// }
|
||||
},
|
||||
queryParamsTwo(val) {
|
||||
this.queryParamTwo.pageNo=val.pageNo
|
||||
this.queryParamTwo.pageSize=val.pageSize
|
||||
this.queryParamTwo.pageNo = val.pageNo
|
||||
this.queryParamTwo.pageSize = val.pageSize
|
||||
// if(this.key==1){
|
||||
// this.loadData(1)
|
||||
// } else
|
||||
if(this.key==2){
|
||||
if (this.key == 2) {
|
||||
this.loadData(0)
|
||||
}
|
||||
},
|
||||
@@ -493,11 +515,11 @@
|
||||
// }
|
||||
//
|
||||
// },
|
||||
handleOk () {
|
||||
this.$refs.realForm.submitForm();
|
||||
handleOk() {
|
||||
this.$refs.realForm.submitForm()
|
||||
},
|
||||
handleCancel () {
|
||||
this.drawerVisible=false
|
||||
handleCancel() {
|
||||
this.drawerVisible = false
|
||||
this.close()
|
||||
}
|
||||
}
|
||||
@@ -506,47 +528,90 @@
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
.type-popover{
|
||||
p{
|
||||
margin:5px;
|
||||
|
||||
.type-popover {
|
||||
p {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
p:hover {
|
||||
color: #0c8fcf;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
p:hover{
|
||||
color: #0c8fcf;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.new-tag-drawer{
|
||||
.drawer-footer{
|
||||
|
||||
.new-tag-drawer {
|
||||
.drawer-footer {
|
||||
height: 32px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
.ant-btn {
|
||||
margin-left: 30px;
|
||||
margin-bottom: 30px;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 60px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
/*margin-top: 2px;*/
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="less">
|
||||
|
||||
.show-area{
|
||||
.ant-modal-wrap{
|
||||
.ant-modal{
|
||||
width: 1000px!important;
|
||||
.show-area {
|
||||
.ant-modal-wrap {
|
||||
.ant-modal {
|
||||
width: 1000px !important;
|
||||
}
|
||||
}
|
||||
.diolag-area{
|
||||
.table-operator{
|
||||
|
||||
.diolag-area {
|
||||
.table-operator {
|
||||
text-align: right;
|
||||
}
|
||||
.page{
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.box-input .ant-select-selection__rendered {
|
||||
line-height: 38px;
|
||||
height: 38px;
|
||||
}
|
||||
.box-input .ant-select-selection--single {
|
||||
height: 38px;
|
||||
}
|
||||
</style>
|
||||
@@ -10,6 +10,7 @@
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -50,6 +51,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
{{$t('listSubclauses')}}
|
||||
</div>
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -80,6 +81,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<!-- 导入-->
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -29,6 +30,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleAdd" class="operator-text" v-has="'document:getInfoById'">
|
||||
|
||||
@@ -1,64 +1,66 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<!-- 认证参数收集-参数项收集清单-10控件-->
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NiONumber')">
|
||||
<span>{{$t('NiONumber')}}</span>
|
||||
<!-- 认证参数收集-参数项收集清单-10控件-->
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('NiONumber')">
|
||||
<span>{{$t('NiONumber')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('NiONumber')"
|
||||
v-model="formInline.nioNumber"></a-input>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('NiONumber')"
|
||||
v-model="formInline.nioNumber"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ParameterName')">
|
||||
<span>{{$t('ParameterName')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('ParameterName')">
|
||||
<span>{{$t('ParameterName')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ParameterName')"
|
||||
v-model="formInline.paramsName"></a-input>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ParameterName')"
|
||||
v-model="formInline.paramsName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('certificationCategory')">
|
||||
<span>{{$t('certificationCategory')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('certificationCategory')">
|
||||
<span>{{$t('certificationCategory')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.certCategory"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationCategory')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'cert_category'"/>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.certCategory"
|
||||
:placeholder="$t('PleaseSelect')+$t('certificationCategory')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'cert_category'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||
<span>{{$t('areaOfResponsibility')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||
<span>{{$t('areaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('completedBy')">
|
||||
<span>{{$t('completedBy')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('completedBy')">
|
||||
<span>{{$t('completedBy')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('completedBy')"
|
||||
v-model="formInline.dre"></a-input>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('completedBy')"
|
||||
v-model="formInline.dre"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<a-popconfirm overlayClassName='popconfirm' placement="bottomRight">
|
||||
@@ -98,37 +100,38 @@
|
||||
<a-icon type="plus"/>
|
||||
{{$t('addTo')}}
|
||||
</div>
|
||||
<!-- 分配填写人-->
|
||||
<!-- 分配填写人-->
|
||||
<div @click="assignedBy" class="operator-text">
|
||||
<a-icon type="copy"/>
|
||||
{{$t('Assignedby')}}
|
||||
</div>
|
||||
<!-- 提交-->
|
||||
<!-- 提交-->
|
||||
<div @click="handleSubmit" class="operator-text">
|
||||
<a-icon type="plus"/>
|
||||
{{$t('submit')}}
|
||||
</div>
|
||||
<!-- 退回-->
|
||||
<!-- 退回-->
|
||||
<div @click="returnDataJurisdiction" class="operator-text">
|
||||
<a-icon type="plus"/>
|
||||
{{$t('sendBack')}}
|
||||
</div>
|
||||
<!-- 引用参数-->
|
||||
<!-- 引用参数-->
|
||||
<div @click="referenceparameter" class="operator-text">
|
||||
<a-icon type="plus"/>
|
||||
{{$t('referenceparameter')}}
|
||||
</div>
|
||||
<!-- 批量删除-->
|
||||
<!-- 批量删除-->
|
||||
<div @click="handleDelJurisdiction" class="operator-text" v-has="'document:deleteBatch'">
|
||||
<a-icon type="delete"/>
|
||||
{{$t('BatchDelete')}}
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<!-- 表格-10控件-->
|
||||
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue' :formInline='formInline' @LoginUserType='LoginUserType' @value='value'/>
|
||||
<!-- 表格-10控件-->
|
||||
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue'
|
||||
:formInline='formInline' @LoginUserType='LoginUserType' @value='value'/>
|
||||
</div>
|
||||
<!-- 添加--->
|
||||
<!-- 添加--->
|
||||
<a-modal v-model="areaVisible" :title="$t('ParameterLibrary')" width='750px' :footer="null">
|
||||
<parameter-library-add v-if='areaVisible' :paramsManifest='paramsManifest'/>
|
||||
</a-modal>
|
||||
@@ -159,22 +162,27 @@
|
||||
<div class="imports-footer">
|
||||
<div class="imports-footer-wrap">
|
||||
|
||||
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze" v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}</a-button>
|
||||
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze"
|
||||
v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}
|
||||
</a-button>
|
||||
<a-button class="imports-btn" type="primary" @click="cancleImportsFreeze">{{$t('cancel')}}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 分配填写人--->
|
||||
<a-modal v-model="areaVisibleAssignedby" :title="$t('Assignedby')" width='950px' :footer="null">
|
||||
<assigned-by v-if='areaVisibleAssignedby' :selectedRowKeysArray='selectedRowKeysArray' @areaVisibleAssignedbyflag='areaVisibleAssignedbyflag'/>
|
||||
<assigned-by v-if='areaVisibleAssignedby' :selectedRowKeysArray='selectedRowKeysArray'
|
||||
@areaVisibleAssignedbyflag='areaVisibleAssignedbyflag'/>
|
||||
</a-modal>
|
||||
<!-- 截至时间--->
|
||||
<a-modal v-model="areaVisibleTaskCutOffTime" :title="$t('TaskCutOffTime')" width='650px' :footer="null">
|
||||
<task-cut-off-time v-if='areaVisibleTaskCutOffTime' :selectedRowKeysArray='selectedRowKeysArray' @areaVisibleTaskCutOffTimeflag='areaVisibleTaskCutOffTimeflag'/>
|
||||
<task-cut-off-time v-if='areaVisibleTaskCutOffTime' :selectedRowKeysArray='selectedRowKeysArray'
|
||||
@areaVisibleTaskCutOffTimeflag='areaVisibleTaskCutOffTimeflag'/>
|
||||
</a-modal>
|
||||
<!-- 引用参数--->
|
||||
<a-modal v-model="areaVisiblereferenceparameter" :title="$t('referenceparameter')" width='650px' :footer="null">
|
||||
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest' :selectedRowKeysArray='selectedRowKeysArray'/>
|
||||
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest'
|
||||
:selectedRowKeysArray='selectedRowKeysArray'/>
|
||||
</a-modal>
|
||||
</a-card>
|
||||
</template>
|
||||
@@ -309,15 +317,15 @@ export default {
|
||||
// 仅仅状态为 已提交 可以退回
|
||||
homoJurisdictionReturn() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 0
|
||||
let flag = 1
|
||||
if(this.homo) {
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.success(this.$t('selectLeastOne'))
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state === '已提交') {
|
||||
flag = 1
|
||||
if(item.state !== '已提交') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
@@ -326,7 +334,43 @@ export default {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
}else {
|
||||
// 工程接口人 退回 权限
|
||||
// 待工程接口人处理 填写人退回
|
||||
}else if(this.sdt){
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
flag = 1
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
} else if(this.dre){
|
||||
// 填写人
|
||||
// 待填写 认证工程师退回 状态
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '待填写' && item.state !== '认证工程师退回') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
flag = 1
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
@@ -335,15 +379,15 @@ export default {
|
||||
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以批量删除
|
||||
homoJurisdictionBatchdelete() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 0
|
||||
let flag = 1
|
||||
if(this.homo) {
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state === '待发起收集' || item.state === '工程接口人退回' || item.state === '变更') {
|
||||
flag = 1
|
||||
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
@@ -352,7 +396,11 @@ export default {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
}else {
|
||||
// 工程接口人没有权限
|
||||
}else if(this.sdt) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
@@ -361,15 +409,15 @@ export default {
|
||||
// 仅仅状态为 已提交 变更 可以同步上报库
|
||||
homoJurisdictionSynchronousLibrary() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 0
|
||||
let flag = 1
|
||||
if(this.homo) {
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state === '已提交' || item.state === '变更') {
|
||||
flag = 1
|
||||
if(item.state !== '已提交' && item.state !== '变更') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
@@ -387,15 +435,15 @@ export default {
|
||||
// 仅仅状态为 待工程接口人处理 填写人退回 可以强制撤回
|
||||
homoJurisdictionCompulsoryWithdrawal() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 0
|
||||
let flag = 1
|
||||
if(this.homo) {
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.success(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state === '待工程接口人处理' || item.state === '填写人退回') {
|
||||
flag = 1
|
||||
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
@@ -404,40 +452,107 @@ export default {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
}else {
|
||||
// 工程接口人 强制撤回 权限
|
||||
// 仅仅状态为 待填写 可以强制撤回
|
||||
}else if(this.sdt){
|
||||
if(this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if(item.state !== '待填写') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if(flag === 1) {
|
||||
flag = 1
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
},
|
||||
// 工程接口人 分配填写人 权限
|
||||
// 仅仅状态为 待工程接口人处理 填写人退回 可以分配填写人
|
||||
sdtJurisdictionAssigned() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 1
|
||||
if(this.sdt) {
|
||||
if (this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if (item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if (flag === 1) {
|
||||
flag = 1
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
},
|
||||
// 填写人 提交 权限
|
||||
// 仅仅状态为 待填写 认证工程师退回 可以提交
|
||||
dreJurisdictionSubmit() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 1
|
||||
if(this.sdt) {
|
||||
if (this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if (item.state !== '待填写' && item.state !== '认证工程师退回') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if (flag === 1) {
|
||||
flag = 1
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
},
|
||||
// 填写人 引用参数 权限
|
||||
// 仅仅状态为 待填写 认证工程师退回 可以引用参数
|
||||
dreJurisdictionreferenceParameter() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
let flag = 1
|
||||
if(this.sdt) {
|
||||
if (this.selectedRowKeysValue.length == 0) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
} else {
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
if (item.state !== '待填写' && item.state !== '认证工程师退回') {
|
||||
flag = 0
|
||||
}
|
||||
})
|
||||
if (flag === 1) {
|
||||
flag = 1
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
},
|
||||
|
||||
// 工程接口人
|
||||
|
||||
// 工程接口人 下发收集 权限
|
||||
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以下发收集
|
||||
// homoJurisdictionDistributionCollection() {
|
||||
// // 定义开关 0为没有权限 1为有权限
|
||||
// let flag = 1
|
||||
// if(this.homo) {
|
||||
// if(this.selectedRowKeysValue.length == 0) {
|
||||
// flag = 0
|
||||
// this.$message.success(this.$t('selectLeastOne'))
|
||||
// } else {
|
||||
// this.selectedRowKeysValue.forEach((item, index) => {
|
||||
// if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
|
||||
// flag = 0
|
||||
// }
|
||||
// })
|
||||
// if(flag === 1) {
|
||||
// flag = 1
|
||||
// } else {
|
||||
// this.$message.warning(this.$t('operatethisbutton'))
|
||||
// }
|
||||
// }
|
||||
// }else {
|
||||
// this.$message.success(this.$t('operatethisbutton'))
|
||||
// }
|
||||
// return flag
|
||||
// },
|
||||
LoginUserType(val) {
|
||||
val.split(',').forEach((item,index) => {
|
||||
if(item === 'homo') {
|
||||
@@ -611,37 +726,41 @@ export default {
|
||||
// 认证工程师 工程接口人 任意状态 都无此权限
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
// 提交数据
|
||||
let postDate = []
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
let postDateobj = {}
|
||||
Object.keys(item).forEach((itemIn, index) => {
|
||||
if(itemIn !== 'sdt') {
|
||||
if(item[itemIn] instanceof Object) {
|
||||
postDateobj[itemIn] = item[itemIn]
|
||||
// 填写人 权限
|
||||
let dreJurisdictionSubmit = this.dreJurisdictionSubmit()
|
||||
if(dreJurisdictionSubmit) {
|
||||
// 提交数据
|
||||
let postDate = []
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
let postDateobj = {}
|
||||
Object.keys(item).forEach((itemIn, index) => {
|
||||
if(itemIn !== 'sdt') {
|
||||
if(item[itemIn] instanceof Object) {
|
||||
postDateobj[itemIn] = item[itemIn]
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
postDateobj.id = item.id
|
||||
postDate.push(postDateobj)
|
||||
})
|
||||
let configDataList = { configDataList: postDate }
|
||||
if(this.selectedRowKeys.length == 0) {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}else {
|
||||
postAction(this.url.add, configDataList).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
postDateobj.id = item.id
|
||||
postDate.push(postDateobj)
|
||||
})
|
||||
let configDataList = { configDataList: postDate }
|
||||
if(this.selectedRowKeys.length == 0) {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}else {
|
||||
postAction(this.url.add, configDataList).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
returnDataJurisdiction() {
|
||||
// 退回的状态权限
|
||||
let homoJurisdictionReturn = this.homoJurisdictionReturn
|
||||
let homoJurisdictionReturn = this.homoJurisdictionReturn()
|
||||
if (homoJurisdictionReturn) {
|
||||
this.returnData()
|
||||
}
|
||||
@@ -734,7 +853,11 @@ export default {
|
||||
// 认证工程师 任意状态 都无此权限
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
this.areaVisibleAssignedby = true
|
||||
// 工程接口人
|
||||
let sdtJurisdictionAssigned = this.sdtJurisdictionAssigned()
|
||||
if(sdtJurisdictionAssigned) {
|
||||
this.areaVisibleAssignedby = true
|
||||
}
|
||||
}
|
||||
},
|
||||
// 分配填写人确定后弹框关闭
|
||||
@@ -761,30 +884,34 @@ export default {
|
||||
// 认证工程师 工程接口人 任意状态 都无此权限
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
this.areaVisiblereferenceparameter = true
|
||||
// 填写人的权限
|
||||
let dreJurisdictionreferenceParameter = this.dreJurisdictionreferenceParameter()
|
||||
if(dreJurisdictionreferenceParameter) {
|
||||
this.areaVisiblereferenceparameter = true
|
||||
}
|
||||
}
|
||||
},
|
||||
handleModule() {
|
||||
|
||||
},
|
||||
handleCody() {
|
||||
console.log(this.paramsManifest,'paramsManifestparamsManifestparamsManifestparamsManifest')
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.$refs.CollectionTabel.getTableList()
|
||||
},
|
||||
searchReset() {
|
||||
this.$refs.CollectionTabel.getTableListReset()
|
||||
},
|
||||
handleDelJurisdiction() {
|
||||
let homoJurisdictionBatchdelete = this.homoJurisdictionBatchdelete()
|
||||
if(homoJurisdictionBatchdelete) {
|
||||
this.handleDel()
|
||||
}
|
||||
},
|
||||
handleDel(){
|
||||
let param={
|
||||
},
|
||||
handleCody() {
|
||||
console.log(this.paramsManifest, 'paramsManifestparamsManifestparamsManifestparamsManifest')
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.$refs.CollectionTabel.getTableList()
|
||||
},
|
||||
searchReset() {
|
||||
this.$refs.CollectionTabel.getTableListReset()
|
||||
},
|
||||
handleDelJurisdiction() {
|
||||
let homoJurisdictionBatchdelete = this.homoJurisdictionBatchdelete()
|
||||
if (homoJurisdictionBatchdelete) {
|
||||
this.handleDel()
|
||||
}
|
||||
},
|
||||
handleDel() {
|
||||
let param = {
|
||||
ids: this.selectedRowKeysArray
|
||||
}
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
@@ -796,7 +923,7 @@ export default {
|
||||
url: '/jero-boot/params/collectManifest/deleteBatch',
|
||||
method: 'post',
|
||||
data: param,
|
||||
transformRequest: [function (data) {
|
||||
transformRequest: [function(data) {
|
||||
let ret = ''
|
||||
for (let it in data) {
|
||||
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
|
||||
@@ -805,158 +932,158 @@ export default {
|
||||
}],
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'X-Access-Token':_this.token
|
||||
'X-Access-Token': _this.token
|
||||
}
|
||||
})
|
||||
.then( (res) =>{
|
||||
.then((res) => {
|
||||
if (res.data.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.$refs.CollectionTabel.getData()
|
||||
_this.$refs.CollectionTabel.getTableList()
|
||||
}else{
|
||||
} else {
|
||||
_this.$message.warning(_this.$t('operationFailed'))
|
||||
}
|
||||
})
|
||||
.catch( (error) =>{
|
||||
console.log(error);
|
||||
});
|
||||
.catch((error) => {
|
||||
console.log(error)
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
pageOnChange() {
|
||||
},
|
||||
pageOnChange() {
|
||||
|
||||
},
|
||||
SizeChange() {
|
||||
},
|
||||
SizeChange() {
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
height: 100%;
|
||||
|
||||
.Virtual-detail-header {
|
||||
width: 100%;
|
||||
height: 68px;
|
||||
line-height: 68px;
|
||||
padding: 0 32px 0 32px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 2px #eff1f3 solid;
|
||||
.doc-detail {
|
||||
background: #fff;
|
||||
height: 100%;
|
||||
|
||||
.Virtual-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;
|
||||
.Virtual-detail-header {
|
||||
width: 100%;
|
||||
height: 68px;
|
||||
line-height: 68px;
|
||||
padding: 0 32px 0 32px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 2px #eff1f3 solid;
|
||||
background: #fff;
|
||||
|
||||
.Virtual-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;
|
||||
}
|
||||
}
|
||||
|
||||
.Virtual-detail-content {
|
||||
padding: 0 38px 0 38px;
|
||||
box-sizing: border-box;
|
||||
font-size: 16px;
|
||||
|
||||
.box-title-text-add {
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.title-text-add {
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
margin-right: 16px;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.Virtual-detail-content {
|
||||
padding: 0 38px 0 38px;
|
||||
box-sizing: border-box;
|
||||
.header-text {
|
||||
font-size: 16px;
|
||||
|
||||
.box-title-text-add {
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.title-text-add {
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
margin-right: 16px;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
}
|
||||
font-weight: 400;
|
||||
height: 60px;
|
||||
color: #000F16;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.header-text {
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
height: 60px;
|
||||
color: #000F16;
|
||||
line-height: 40px;
|
||||
}
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
}
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.operator-text-left {
|
||||
font-size: 14px;
|
||||
margin-right: 20px;
|
||||
background: #eff1f3;
|
||||
padding: 8px 8px;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.operator-text-left {
|
||||
font-size: 14px;
|
||||
margin-right: 20px;
|
||||
background: #eff1f3;
|
||||
padding: 8px 8px;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.box-input .ant-select-selection {
|
||||
height: 38px !important;
|
||||
}
|
||||
.box-input .ant-select-selection {
|
||||
height: 38px !important;
|
||||
}
|
||||
|
||||
.box-input .ant-select-selection__rendered {
|
||||
line-height: 38px;
|
||||
}
|
||||
.box-input .ant-select-selection__rendered {
|
||||
line-height: 38px;
|
||||
}
|
||||
</style>
|
||||
@@ -1,34 +1,36 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{$t('standard')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{$t('standard')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serialNumber"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serialNumber"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
|
||||
<span>{{$t('areaOfResponsibility')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
|
||||
<span>{{$t('areaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
|
||||
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="CertificationDirectory" class="operator-text">
|
||||
@@ -212,7 +214,7 @@
|
||||
'To be tracked': 'TrackedColor',
|
||||
'NA': 'notInvolvedColor',
|
||||
'No rating': 'submittedColor',
|
||||
'Termination of task': 'nonConformityColor',
|
||||
'Termination of task': 'nonConformityColor'
|
||||
},
|
||||
statusText: {
|
||||
'Compliance': this.$t('accord'),
|
||||
@@ -220,7 +222,7 @@
|
||||
'To be tracked': this.$t('Tracked'),
|
||||
'NA': this.$t('notInvolved'),
|
||||
'No rating': this.$t('toBeConfirmed'),
|
||||
'Termination of task': this.$t('taskTermination'),
|
||||
'Termination of task': this.$t('taskTermination')
|
||||
},
|
||||
CertificationColor: {
|
||||
'Test passed': 'accordColor',
|
||||
@@ -299,7 +301,7 @@
|
||||
projectName: this.$route.query.projectName,
|
||||
projectNameId: this.$route.query.projectNameId,
|
||||
primaryKeyId: val.designTaskDetailId,
|
||||
PersonChargeFeedback:val.designPersonChargeFeedback,
|
||||
PersonChargeFeedback: val.designPersonChargeFeedback
|
||||
}
|
||||
break
|
||||
case 2:
|
||||
@@ -323,7 +325,7 @@
|
||||
projectName: this.$route.query.projectName,
|
||||
projectNameId: this.$route.query.projectNameId,
|
||||
primaryKeyId: val.prehomoTaskDetailId,
|
||||
PersonChargeFeedback:val.prehomoPersonChargeFeedback,
|
||||
PersonChargeFeedback: val.prehomoPersonChargeFeedback
|
||||
}
|
||||
break
|
||||
case 3:
|
||||
@@ -347,7 +349,7 @@
|
||||
projectName: this.$route.query.projectName,
|
||||
projectNameId: this.$route.query.projectNameId,
|
||||
primaryKeyId: val.verifyTaskDetailId,
|
||||
PersonChargeFeedback:val.verifyPersonChargeFeedback,
|
||||
PersonChargeFeedback: val.verifyPersonChargeFeedback
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{$t('title')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{$t('title')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleAdd" class="operator-text">
|
||||
@@ -53,7 +55,7 @@
|
||||
<span slot="paramsManifestClick" slot-scope="text,record">
|
||||
<a @click="paramsManifestClick(record)">{{text}}</a>
|
||||
</span>
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
<a class="text-operation" @click="configure(record)">{{$t('configure')}}</a>
|
||||
<a class="text-operation" @click="edit(record)">{{$t('edit')}}</a>
|
||||
<a class="text-operation" @click="deleteLib(record)">{{$t('deleteLib')}}</a>
|
||||
@@ -72,21 +74,23 @@
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<!-- 参数模板-->
|
||||
<!-- 参数模板-->
|
||||
<a-modal v-model="areaVisible" :title="$t('parameterTemplate')" width='750px' :footer="null">
|
||||
<parameter-template-add v-if='areaVisible' @areaVisible='handleCancel' :templateTitle='templatetitle'
|
||||
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version' :projectId='this.$route.query.id'></parameter-template-add>
|
||||
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version'
|
||||
:projectId='this.$route.query.id'></parameter-template-add>
|
||||
</a-modal>
|
||||
<!-- 配置-->
|
||||
<!-- 配置-->
|
||||
<configure ref="configureRef" :url='url' :itemId='itemId'/>
|
||||
<!-- 历史版本-->
|
||||
<!-- 历史版本-->
|
||||
<a-modal v-model="historicalVisible" :title="$t('historicalVersion')" width='750px' :footer="null">
|
||||
<historical-version v-if='historicalVisible' :historicalRow='historicalRow'></historical-version>
|
||||
</a-modal>
|
||||
<!-- 复制参数模板-->
|
||||
<a-modal v-model="areaVisibleCody" :title="$t('CopyProjectCollectionparameters')" width='750px' :footer="null">
|
||||
<parameter-template-cody v-if='areaVisibleCody' @areaVisible='handleCancel' :templateTitle='templatetitle'
|
||||
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version' :projectId='this.$route.query.id'></parameter-template-cody>
|
||||
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version'
|
||||
:projectId='this.$route.query.id'></parameter-template-cody>
|
||||
</a-modal>
|
||||
</a-card>
|
||||
</template>
|
||||
@@ -96,107 +100,108 @@
|
||||
import ParameterTemplateAdd from '../dialog/ParameterTemplateAdd'
|
||||
import ParameterTemplateCody from '../dialog/ParameterTemplateCody'
|
||||
import HistoricalVersion from '../dialog/historicalVersion'
|
||||
import { getAction,postAction } from '../../../api/manage'
|
||||
import { getAction, postAction } from '../../../api/manage'
|
||||
import Configure from '../dialog/configure'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
|
||||
export default {
|
||||
name: 'TaskParameterCollection',
|
||||
components:{
|
||||
components: {
|
||||
ImportFile,
|
||||
ParameterTemplateAdd,
|
||||
Configure,
|
||||
HistoricalVersion,
|
||||
ParameterTemplateCody
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
columns:[
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'center',
|
||||
dataIndex: 'title',
|
||||
scopedSlots: { customRender: 'paramsManifestClick' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: 'center',
|
||||
dataIndex: 'state',
|
||||
},
|
||||
{
|
||||
title: this.$t('parameterTemplateName'),
|
||||
align: 'center',
|
||||
dataIndex: 'paramsTemplateName',
|
||||
},
|
||||
{
|
||||
title: this.$t('collectionCompletionTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'finishTime',
|
||||
},
|
||||
{
|
||||
title: this.$t('Version'),
|
||||
align: 'center',
|
||||
dataIndex: 'version',
|
||||
},
|
||||
{
|
||||
title: this.$t('creator'),
|
||||
align: 'center',
|
||||
dataIndex: 'createBy',
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'createTime',
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 200,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
token:Vue.ls.get(ACCESS_TOKEN),
|
||||
selectedRowKeys: [],
|
||||
queryParam: {},
|
||||
url: {
|
||||
list: 'params/manifest/page',
|
||||
add: 'params/manifest/add',
|
||||
edit: 'params/manifest/edit',
|
||||
queryById: 'params/manifest/queryById',
|
||||
deleteBatch: 'params/manifest/delete',
|
||||
deleteAll: 'params/manifest/deleteBatch',
|
||||
conAdd: 'params/config/addBatch',
|
||||
conList: 'params/config/list',
|
||||
},
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
areaVisible: false, // 弹框的控制
|
||||
configureareaVisible: false, // 配置的彈框
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
selectedRowKeysArray: '',
|
||||
templatetitle: '',
|
||||
templatetitleId: '',
|
||||
rowId: '',
|
||||
version: 0,
|
||||
itemId: '',
|
||||
historicalVisible: false,
|
||||
historicalRow: {}, // 历史版本得数据
|
||||
areaVisibleCody: false, // 复制参数清单得弹框
|
||||
}
|
||||
data() {
|
||||
return {
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('title'),
|
||||
align: 'center',
|
||||
dataIndex: 'title',
|
||||
scopedSlots: { customRender: 'paramsManifestClick' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
align: 'center',
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
title: this.$t('parameterTemplateName'),
|
||||
align: 'center',
|
||||
dataIndex: 'paramsTemplateName'
|
||||
},
|
||||
{
|
||||
title: this.$t('collectionCompletionTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'finishTime'
|
||||
},
|
||||
{
|
||||
title: this.$t('Version'),
|
||||
align: 'center',
|
||||
dataIndex: 'version'
|
||||
},
|
||||
{
|
||||
title: this.$t('creator'),
|
||||
align: 'center',
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('createTime'),
|
||||
align: 'center',
|
||||
dataIndex: 'createTime'
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 200,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
token: Vue.ls.get(ACCESS_TOKEN),
|
||||
selectedRowKeys: [],
|
||||
queryParam: {},
|
||||
url: {
|
||||
list: 'params/manifest/page',
|
||||
add: 'params/manifest/add',
|
||||
edit: 'params/manifest/edit',
|
||||
queryById: 'params/manifest/queryById',
|
||||
deleteBatch: 'params/manifest/delete',
|
||||
deleteAll: 'params/manifest/deleteBatch',
|
||||
conAdd: 'params/config/addBatch',
|
||||
conList: 'params/config/list'
|
||||
},
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
areaVisible: false, // 弹框的控制
|
||||
configureareaVisible: false, // 配置的彈框
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
selectedRowKeysArray: '',
|
||||
templatetitle: '',
|
||||
templatetitleId: '',
|
||||
rowId: '',
|
||||
version: 0,
|
||||
itemId: '',
|
||||
historicalVisible: false,
|
||||
historicalRow: {}, // 历史版本得数据
|
||||
areaVisibleCody: false // 复制参数清单得弹框
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getlist()
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
paramsManifestClick(item) {
|
||||
localStorage.setItem('paramsManifest',JSON.stringify(item))
|
||||
localStorage.setItem('paramsManifest', JSON.stringify(item))
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/ParameterItemCollection',
|
||||
query: this.$route.query,
|
||||
query: this.$route.query
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
@@ -247,7 +252,7 @@
|
||||
this.selectedRowKeys = val
|
||||
this.selectedRowKeysArray = val.join(',')
|
||||
},
|
||||
edit(edit){
|
||||
edit(edit) {
|
||||
this.areaVisible = true
|
||||
let _this = this
|
||||
let query = {
|
||||
@@ -263,15 +268,15 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
handleAdd(){
|
||||
handleAdd() {
|
||||
this.areaVisible = true
|
||||
},
|
||||
handleModule(){
|
||||
handleModule() {
|
||||
let _this = this
|
||||
axios({
|
||||
url: `/jero-boot/params/manifest/changeExtension?id=${this.selectedRowKeys[0]}`,
|
||||
method: 'get',
|
||||
transformRequest: [function (data) {
|
||||
transformRequest: [function(data) {
|
||||
let ret = ''
|
||||
for (let it in data) {
|
||||
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
|
||||
@@ -280,22 +285,22 @@
|
||||
}],
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'X-Access-Token':_this.token
|
||||
'X-Access-Token': _this.token
|
||||
}
|
||||
})
|
||||
.then( (res) =>{
|
||||
.then((res) => {
|
||||
if (res.data.success) {
|
||||
_this.$message.success(res.data.message)
|
||||
}else{
|
||||
} else {
|
||||
_this.$message.warning(res.data.message)
|
||||
}
|
||||
})
|
||||
.catch( (error) =>{
|
||||
console.log(error);
|
||||
});
|
||||
.catch((error) => {
|
||||
console.log(error)
|
||||
})
|
||||
},
|
||||
handleDel(){
|
||||
let param={
|
||||
handleDel() {
|
||||
let param = {
|
||||
ids: this.selectedRowKeysArray
|
||||
}
|
||||
if (this.selectedRowKeys.length > 0) {
|
||||
@@ -320,7 +325,7 @@
|
||||
handleCody() {
|
||||
this.areaVisibleCody = true
|
||||
},
|
||||
getPersonnelList(){
|
||||
getPersonnelList() {
|
||||
|
||||
},
|
||||
pageOnChange() {
|
||||
@@ -337,8 +342,8 @@
|
||||
...this.queryParam
|
||||
}
|
||||
getAction(this.url.list, query).then((res) => {
|
||||
if(res.success) {
|
||||
this.total = res.result.total
|
||||
if (res.success) {
|
||||
this.total = res.result.total
|
||||
this.dataSource = res.result.records || []
|
||||
this.loading = false
|
||||
} else {
|
||||
@@ -346,7 +351,7 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -50,6 +51,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
{{ $t('DocumentStandard') }}
|
||||
</div>
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -43,6 +44,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator" style="overflow:hidden;">
|
||||
<div style="float: left;margin-bottom: 10px;margin-left: 20px" v-if="isDisplay">
|
||||
|
||||
@@ -124,10 +124,10 @@
|
||||
v-model="formInline.certificationEngineer"
|
||||
:placeholder="$t('certifiedEngineer')+$t('areaOfResponsibility')">
|
||||
<a-select-option v-for="(item, key) in dictOptionsValue"
|
||||
:key="item.id"
|
||||
:value="item.id">
|
||||
<span class="itemOption" :title=" item.username ">
|
||||
{{ item.username }}
|
||||
:key="item.certificationEngineer"
|
||||
:value="item.certificationEngineer">
|
||||
<span class="itemOption" :title=" item.certificationEngineerName ">
|
||||
{{ item.certificationEngineerName }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -38,6 +39,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleExport" class="operator-text">
|
||||
|
||||
@@ -10,23 +10,25 @@
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div style="margin-bottom: 60px">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('VirtualListName')">
|
||||
<span>{{$t('VirtualListName')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('VirtualListName')">
|
||||
<span>{{$t('VirtualListName')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('VirtualListName')"
|
||||
v-model="queryParam.name"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('VirtualListName')"
|
||||
v-model="queryParam.name"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
<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>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
@@ -210,7 +212,7 @@
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
z-index:100;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
|
||||
@@ -4,35 +4,36 @@
|
||||
{{ $t('DocumentStandard') }}
|
||||
</div>
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{ $t('standard') }}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('standard')">
|
||||
<span>{{ $t('standard') }}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serialNumber"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serialNumber"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{ $t('title') }}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('title')">
|
||||
<span>{{ $t('title') }}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" style="width: 44px" :title="$t('subtitle')">
|
||||
<span>{{ $t('subtitle') }}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" style="width: 44px" :title="$t('subtitle')">
|
||||
<span>{{ $t('subtitle') }}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')"
|
||||
v-model="queryParam.subtitle"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')"
|
||||
v-model="queryParam.subtitle"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
@@ -42,7 +43,8 @@
|
||||
@click="searchReset">{{ $t('reset') }}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -94,6 +95,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleAdd" class="operator-text" v-has="'document:getInfoById'">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -22,7 +23,7 @@
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
|
||||
<div class="title-text" :title="$t('areaOfResponsibility')">
|
||||
<span>{{$t('areaOfResponsibility')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
|
||||
@@ -138,6 +139,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="handleExport" class="operator-text">
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
<template>
|
||||
<a-card :bordered="false">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('entryName')">
|
||||
<span>{{$t('entryName')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('entryName')">
|
||||
<span>{{$t('entryName')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
||||
v-model="queryParam.projectName"></j-input>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('entryName')"
|
||||
v-model="queryParam.projectName"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('targetMarket')">
|
||||
<span>{{$t('targetMarket')}}</span>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('targetMarket')">
|
||||
<span>{{$t('targetMarket')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.targetMarket"
|
||||
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.targetMarket"
|
||||
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
</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>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="box-top">
|
||||
<span class="box-top-text">{{$t('regulatoryCertificationTaskPlan')}}</span>
|
||||
@@ -315,7 +317,7 @@
|
||||
fontFamily: 'Blue Sky Noto',
|
||||
color: '#000F16',
|
||||
fontSize: '16'
|
||||
},
|
||||
}
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
|
||||
Reference in New Issue
Block a user