Merge remote-tracking branch 'origin/master'
This commit is contained in:
+3
-1
@@ -1,5 +1,6 @@
|
||||
package com.jero.common.system.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -21,7 +22,8 @@ import lombok.experimental.Accessors;
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
public class LoginUser {
|
||||
public class LoginUser implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 登录人id
|
||||
|
||||
+7
-1
@@ -24,6 +24,7 @@ import com.jero.common.util.SpringContextUtils;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.data.redis.serializer.SerializationException;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -128,7 +129,12 @@ public class ShiroRealm extends AuthorizingRealm {
|
||||
|
||||
// 查询用户信息
|
||||
log.debug("———校验token是否有效————checkUserTokenIsEffect——————— "+ token);
|
||||
LoginUser loginUser = commonAPI.getUserByName(username);
|
||||
LoginUser loginUser = null;
|
||||
try {
|
||||
loginUser = commonAPI.getUserByName(username);
|
||||
}catch (SerializationException e){
|
||||
throw e;
|
||||
}
|
||||
if (loginUser == null) {
|
||||
LoginException.loginException(401,"用户不存在!");
|
||||
return null;
|
||||
|
||||
+54
-10
@@ -488,13 +488,31 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
public List<Map<String, Object>> getHeader(String flag, String cut, String searchFlag) {
|
||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||
if (fieldList.size() != 0) {
|
||||
String titleEn = "";
|
||||
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
||||
if ("search".equals(searchFlag)) {
|
||||
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowSearch()))).collect(Collectors.toList());
|
||||
} else {
|
||||
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
|
||||
for (OnlCgformField onlCgformField : fieldList) {
|
||||
if(CutEnum.EN.getValue().equals(cut) && "title_en".equals(onlCgformField.getDbFieldName())){
|
||||
titleEn = onlCgformField.getDbFieldEnName();
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (OnlCgformField onlCgformField : fieldList) {
|
||||
if(CutEnum.EN.getValue().equals(cut) && "title".equals(onlCgformField.getDbFieldName())){
|
||||
onlCgformField.setDbFieldEnName(titleEn);
|
||||
break;
|
||||
}
|
||||
}
|
||||
fieldList = fieldList.stream()
|
||||
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))
|
||||
&& !"title_en".equals(e.getDbFieldName()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
//过滤掉英文标题字段
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (OnlCgformField onlCgformField : fieldList) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
@@ -3015,6 +3033,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<String> idList = new ArrayList<>();
|
||||
List<String> fileIdLidt = new ArrayList<>();
|
||||
for (Map record : records) {
|
||||
//处理标题
|
||||
if(CutEnum.EN.getValue().equals(cut)){
|
||||
record.put("title",record.get("title_en"));
|
||||
}
|
||||
Map<String, Object> record1 = (Map) record;
|
||||
idList.add((String) record1.get("id"));
|
||||
for (Map.Entry<String, Object> entry : record1.entrySet()) {
|
||||
@@ -3119,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"));
|
||||
@@ -5067,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");
|
||||
@@ -5123,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();
|
||||
//如果查询字段对应的搜索条件值为空,则不作处理
|
||||
@@ -5131,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();
|
||||
@@ -5140,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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<a-select v-else-if="tagType=='select'" allowClear :getPopupContainer = "getPopupContainer" :placeholder="placeholder" :disabled="disabled" :value="getValueSting" @change="handleInput">
|
||||
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
|
||||
<a-select-option v-for="(item, key) in dictOptionsValue" :key="key" :value="item.value">
|
||||
<span class="itemOption" :title=" item.text || item.label ">
|
||||
<span class="itemOption-index" :title=" item.text || item.label ">
|
||||
{{ item.text || item.label }}
|
||||
</span>
|
||||
</a-select-option>
|
||||
@@ -118,7 +118,7 @@
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.itemOption {
|
||||
.itemOption-index {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -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>
|
||||
@@ -99,11 +99,11 @@
|
||||
rules:{
|
||||
name:[
|
||||
{ required: true, message: this.$t('enterName'), trigger: 'blur' },
|
||||
{ min:1, max: 30, message: this.$t('cantExeed')+'30'+this.$t('characters'), trigger: 'blur' },
|
||||
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },
|
||||
],
|
||||
itemText:[
|
||||
{ required: true, message: this.$t('enterName'), trigger: 'blur' },
|
||||
{ min:1, max: 30, message: this.$t('cantExeed')+'30'+this.$t('characters'), trigger: 'blur' },
|
||||
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },
|
||||
],
|
||||
// itemValue:[
|
||||
// { required: true, message: this.$t('enterDataValue'), trigger: 'blur' },
|
||||
@@ -111,7 +111,7 @@
|
||||
// ],
|
||||
enName:[
|
||||
{ required: true, message: this.$t('PleaseEnterYourEnglishName'), trigger: 'blur' },
|
||||
{ min:1, max: 50, message: this.$t('cantExeed')+'50'+this.$t('characters'), trigger: 'blur' },
|
||||
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },
|
||||
],
|
||||
description:[
|
||||
// { required: true, message: this.$t('PleaseEnterDescription'), trigger: 'blur' },
|
||||
|
||||
@@ -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: 30, message: this.$t('cantExeed')+'30'+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,14 +10,15 @@
|
||||
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">
|
||||
<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>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serial_number"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
@@ -25,8 +26,8 @@
|
||||
<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>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
@@ -50,6 +51,7 @@
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<a-table
|
||||
@@ -108,7 +110,7 @@
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'serial_number',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
@@ -120,36 +122,31 @@
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
dataIndex: 'state_dictText',
|
||||
dataIndex: 'state',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('technicalField'),
|
||||
dataIndex: 'technologyTerritory',
|
||||
dataIndex: 'technology_territory',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
// {
|
||||
// title: this.$t('functionalAreas'),
|
||||
// dataIndex: 'functionalAreas',
|
||||
// align: 'center'
|
||||
// },
|
||||
{
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implementTime',
|
||||
dataIndex: 'implement_time',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('correspondingStandard'),
|
||||
dataIndex: 'correspondingStandard',
|
||||
dataIndex: 'corresponding_standard',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
}
|
||||
@@ -159,7 +156,10 @@
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
total: 0,
|
||||
fieldList: [],
|
||||
queryParamQuery: {},
|
||||
queryConditionVOList: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -170,7 +170,9 @@
|
||||
this.visible = true
|
||||
this.queryParam = {}
|
||||
this.selectedRowKeys = []
|
||||
this.queryConditionVOList = []
|
||||
this.replacePage()
|
||||
this.queryConditionInventory()
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
@@ -179,6 +181,9 @@
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.queryConditionVOList = []
|
||||
this.$refs.globalAdvancedQueryRef.resetLine()
|
||||
this.$refs.globalAdvancedQueryRef.emitCallback()
|
||||
this.replacePage()
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
@@ -191,10 +196,12 @@
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let queryConditionVOList = JSON.parse(JSON.stringify(this.queryConditionVOList))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
...this.queryParam
|
||||
...this.queryParam,
|
||||
queryConditionVOList: JSON.stringify(queryConditionVOList),
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.addModelList, query).then((res) => {
|
||||
@@ -203,10 +210,24 @@
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
queryConditionInventory() {
|
||||
let query = {
|
||||
flag: 1
|
||||
}
|
||||
getAction(this.url.queryConditionInventory, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.fieldList = res.result || []
|
||||
} else {
|
||||
this.fieldList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
onSelectChange(value) {
|
||||
this.selectedRowKeys = value
|
||||
},
|
||||
@@ -240,16 +261,17 @@
|
||||
handleSuperQuery(params, matchType) {
|
||||
let sqp = {}
|
||||
if (!params || (params && params.length == 0)) {
|
||||
sqp['superQueryParams'] = ''
|
||||
this.queryConditionVOList = []
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
|
||||
} else {
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
|
||||
sqp['superQueryParams'] = encodeURI(JSON.stringify(params))
|
||||
sqp['superQueryMatchType'] = matchType
|
||||
this.queryConditionVOList = params
|
||||
this.queryConditionVOList.forEach(res=>{
|
||||
res.type = matchType
|
||||
})
|
||||
}
|
||||
this.queryParamQuery = sqp
|
||||
this.getList()
|
||||
},
|
||||
this.replacePage()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -264,7 +286,7 @@
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index:100;
|
||||
z-index: 100;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
|
||||
@@ -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">
|
||||
<!-- 导入-->
|
||||
@@ -260,7 +262,8 @@
|
||||
}
|
||||
],
|
||||
url: {
|
||||
addModelList: '/project/projectLawsInventoryEO/queryPageInfoBussDocument',
|
||||
addModelList: '/dummy/dummyInventoryInfoEO/queryPageDummy',
|
||||
queryConditionInventory:'/dummy/dummyInventoryInfoEO/queryConditionInventory',
|
||||
list: '/dummy/dummyInventoryInfoEO/list',
|
||||
addModel: '/dummy/dummyInventoryInfoEO/add',
|
||||
editModel: '/dummy/dummyInventoryInfoEO/edit',
|
||||
|
||||
@@ -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>
|
||||
@@ -304,7 +312,8 @@ export default {
|
||||
},
|
||||
mounted() {},
|
||||
methods:{
|
||||
// 工程接口人 退回 权限
|
||||
// 认证工程师的权限
|
||||
// 认证工程师 退回 权限
|
||||
// 仅仅状态为 已提交 可以退回
|
||||
homoJurisdictionReturn() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
@@ -312,7 +321,7 @@ export default {
|
||||
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 !== '已提交') {
|
||||
@@ -325,12 +334,48 @@ 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
|
||||
},
|
||||
// 工程接口人 批量删除 权限
|
||||
// 认证工程师 批量删除 权限
|
||||
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以批量删除
|
||||
homoJurisdictionBatchdelete() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
@@ -338,7 +383,7 @@ export default {
|
||||
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 !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
|
||||
@@ -351,12 +396,16 @@ export default {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
}
|
||||
}else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
// 工程接口人没有权限
|
||||
}else if(this.sdt) {
|
||||
flag = 0
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
},
|
||||
// 工程接口人 同步上报库 权限
|
||||
// 认证工程师 同步上报库 权限
|
||||
// 仅仅状态为 已提交 变更 可以同步上报库
|
||||
homoJurisdictionSynchronousLibrary() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
@@ -364,7 +413,7 @@ export default {
|
||||
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 !== '已提交' && item.state !== '变更') {
|
||||
@@ -378,11 +427,11 @@ export default {
|
||||
}
|
||||
}
|
||||
}else {
|
||||
this.$message.success(this.$t('operatethisbutton'))
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
return flag
|
||||
},
|
||||
// 工程接口人 强制撤回 权限
|
||||
// 认证工程师 强制撤回 权限
|
||||
// 仅仅状态为 待工程接口人处理 填写人退回 可以强制撤回
|
||||
homoJurisdictionCompulsoryWithdrawal() {
|
||||
// 定义开关 0为没有权限 1为有权限
|
||||
@@ -403,37 +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') {
|
||||
@@ -461,6 +580,8 @@ export default {
|
||||
this.areaVisibleFreeze = true
|
||||
// 获取冻结配置数据
|
||||
this.getFreeze()
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
},
|
||||
// 冻结配置提交
|
||||
@@ -536,6 +657,7 @@ export default {
|
||||
distributionAndCollectionJurisdiction() {
|
||||
let homoJurisdictionBatchdelete = this.homoJurisdictionBatchdelete()
|
||||
if(homoJurisdictionBatchdelete) {
|
||||
console.log(';;;;')
|
||||
this.distributionAndCollection()
|
||||
}
|
||||
},
|
||||
@@ -593,46 +715,52 @@ export default {
|
||||
if(this.homo) {
|
||||
// 认证工程师 任意状态 都有此权限
|
||||
this.areaVisible = true
|
||||
} else {
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
}
|
||||
},
|
||||
// 提交
|
||||
handleSubmit() {
|
||||
// 先判断提交权限
|
||||
if(this.homo) {
|
||||
// 认证工程师 任意状态 都无此权限
|
||||
if(this.homo || this.sdt) {
|
||||
// 认证工程师 工程接口人 任意状态 都无此权限
|
||||
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()
|
||||
}
|
||||
@@ -725,7 +853,11 @@ export default {
|
||||
// 认证工程师 任意状态 都无此权限
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
this.areaVisibleAssignedby = true
|
||||
// 工程接口人
|
||||
let sdtJurisdictionAssigned = this.sdtJurisdictionAssigned()
|
||||
if(sdtJurisdictionAssigned) {
|
||||
this.areaVisibleAssignedby = true
|
||||
}
|
||||
}
|
||||
},
|
||||
// 分配填写人确定后弹框关闭
|
||||
@@ -734,7 +866,7 @@ export default {
|
||||
},
|
||||
// 截止时间
|
||||
TaskCutOffTime() {
|
||||
if(this.homo) {
|
||||
if(this.homo || this.sdt) {
|
||||
// 认证工程师 任意状态 都无此权限
|
||||
this.$message.warning(this.$t('operatethisbutton'))
|
||||
} else {
|
||||
@@ -748,34 +880,38 @@ export default {
|
||||
},
|
||||
//引用参数
|
||||
referenceparameter() {
|
||||
if(this.homo) {
|
||||
// 认证工程师 任意状态 都无此权限
|
||||
if(this.homo || this.sdt) {
|
||||
// 认证工程师 工程接口人 任意状态 都无此权限
|
||||
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) {
|
||||
@@ -787,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]) + '&'
|
||||
@@ -796,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>
|
||||
|
||||
|
||||
@@ -30,6 +30,12 @@
|
||||
{{ $t('delete') }}
|
||||
</a>
|
||||
</span>
|
||||
<span slot="operationFile" slot-scope="text,record">
|
||||
<a @click="viewFileClick(text)" v-if="text">
|
||||
{{$t('viewFile')}}
|
||||
</a>
|
||||
<span v-else>--</span>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataList.length > 0">
|
||||
<a-pagination
|
||||
@@ -51,6 +57,7 @@
|
||||
</a-drawer>
|
||||
<certificationDirectoryAdd @certificationDirectoryList="certificationDirectoryList"
|
||||
ref="certificationDirectoryAddRef"/>
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
@@ -58,11 +65,13 @@
|
||||
<script>
|
||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
||||
import certificationDirectoryAdd from './certificationDirectoryAdd'
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
|
||||
export default {
|
||||
name: 'certificationDirectory',
|
||||
components: {
|
||||
certificationDirectoryAdd
|
||||
certificationDirectoryAdd,
|
||||
viewFileModel
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -87,13 +96,15 @@
|
||||
title: this.$t('catalogFile'),
|
||||
dataIndex: 'directoryFile',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'operationFile' }
|
||||
},
|
||||
{
|
||||
title: this.$t('testScheme'),
|
||||
dataIndex: 'experimentFile',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'operationFile' }
|
||||
},
|
||||
{
|
||||
title: this.$t('testReportLocation'),
|
||||
@@ -164,7 +175,7 @@
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
projectLibraryId:this.$route.query.id,
|
||||
projectLibraryId: this.$route.query.id,
|
||||
...this.queryParam
|
||||
}
|
||||
this.loading = true
|
||||
@@ -209,6 +220,9 @@
|
||||
certificationDirectoryList() {
|
||||
this.pageNo = 1
|
||||
this.replacePage()
|
||||
},
|
||||
viewFileClick(item) {
|
||||
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,14 +10,15 @@
|
||||
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">
|
||||
<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>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
||||
v-model="queryParam.serial_number"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
@@ -25,8 +26,8 @@
|
||||
<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>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
@@ -42,11 +43,15 @@
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
<globalAdvancedQuery ref="globalAdvancedQueryRef"
|
||||
@handleSuperQuery="handleSuperQuery"
|
||||
:fieldList="fieldList"/>
|
||||
<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>
|
||||
<a-table
|
||||
:columns="columns"
|
||||
@@ -79,25 +84,25 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import currencySearch from '@/components/currencySearch/index'
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
|
||||
|
||||
export default {
|
||||
name: 'listAddModel',
|
||||
components: {
|
||||
currencySearch
|
||||
globalAdvancedQuery
|
||||
},
|
||||
props:['url'],
|
||||
props: ['url'],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
queryParam:{},
|
||||
queryParam: {},
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('standard'),
|
||||
dataIndex: 'serialNumber',
|
||||
dataIndex: 'serial_number',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
@@ -109,31 +114,31 @@
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
dataIndex: 'state_dictText',
|
||||
dataIndex: 'state',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('technicalField'),
|
||||
dataIndex: 'technologyTerritory',
|
||||
dataIndex: 'technology_territory',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('ImplementationDate'),
|
||||
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
|
||||
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('vehicleInProductionDate'),
|
||||
dataIndex: 'implementTime',
|
||||
dataIndex: 'implement_time',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: this.$t('correspondingStandard'),
|
||||
dataIndex: 'correspondingStandard',
|
||||
dataIndex: 'corresponding_standard',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
}
|
||||
@@ -144,6 +149,8 @@
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
fieldList: [],
|
||||
queryConditionVOList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -154,7 +161,9 @@
|
||||
this.visible = true
|
||||
this.queryParam = {}
|
||||
this.selectedRowKeys = []
|
||||
this.queryConditionVOList = []
|
||||
this.replacePage()
|
||||
this.queryConditionInventory()
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
@@ -163,6 +172,9 @@
|
||||
searchReset() {
|
||||
this.pageNo = 1
|
||||
this.queryParam = {}
|
||||
this.queryConditionVOList = []
|
||||
this.$refs.globalAdvancedQueryRef.resetLine()
|
||||
this.$refs.globalAdvancedQueryRef.emitCallback()
|
||||
this.replacePage()
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
@@ -175,10 +187,12 @@
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let queryConditionVOList = JSON.parse(JSON.stringify(this.queryConditionVOList))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
...this.queryParam
|
||||
...this.queryParam,
|
||||
queryConditionVOList: JSON.stringify(queryConditionVOList)
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.addModelList, query).then((res) => {
|
||||
@@ -187,6 +201,8 @@
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
@@ -201,7 +217,10 @@
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
this.confirmLoading = true
|
||||
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
postAction(this.url.addModel, { ids: selectedRowKeys.join(','),projectLibraryId: this.$route.query.id }).then((res) => {
|
||||
postAction(this.url.addModel, {
|
||||
ids: selectedRowKeys.join(','),
|
||||
projectLibraryId: this.$route.query.id
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
@@ -217,6 +236,32 @@
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
queryConditionInventory() {
|
||||
let query = {
|
||||
flag: 1
|
||||
}
|
||||
getAction(this.url.queryConditionInventory, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.fieldList = res.result || []
|
||||
} else {
|
||||
this.fieldList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
handleSuperQuery(params, matchType) {
|
||||
let sqp = {}
|
||||
if (!params || (params && params.length == 0)) {
|
||||
this.queryConditionVOList = []
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = false
|
||||
} else {
|
||||
this.$refs.globalAdvancedQueryRef.superQueryFlag = true
|
||||
this.queryConditionVOList = params
|
||||
this.queryConditionVOList.forEach(res => {
|
||||
res.type = matchType
|
||||
})
|
||||
}
|
||||
this.replacePage()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -232,7 +277,7 @@
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index:100;
|
||||
z-index: 100;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
text-align: right;
|
||||
|
||||
@@ -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">
|
||||
@@ -650,7 +652,8 @@
|
||||
},
|
||||
queryParam: {},
|
||||
url: {
|
||||
addModelList: '/project/projectLawsInventoryEO/queryPageInfoBussDocument',
|
||||
addModelList: '/project/projectLawsInventoryEO/queryPageDummy',
|
||||
queryConditionInventory:'/project/projectLawsInventoryEO/queryConditionInventory',
|
||||
list: '/project/projectLawsInventoryEO/list',
|
||||
addModel: 'project/projectLawsInventoryEO/add',
|
||||
editModel: '/project/projectLawsInventoryEO/edit',
|
||||
|
||||
@@ -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