Merge remote-tracking branch 'origin/master'

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