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>
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)){
String queryCondition = sqlJoint(queryConditionVOList);
if(StringUtils.isNotBlank(queryCondition)){
conditionSb.append(queryCondition);
conditionSb.append(" and " + queryCondition);
}
}
}
//处理列表表头排序
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
@@ -5089,6 +5091,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
fieldListQuery.add("technology_territory");
fieldListQuery.add("xin1_che1_xing2_shi2_shi1_ri4_qi1");
fieldListQuery.add("implement_time");
fieldListQuery.add("corresponding_standard");
List<String> fieldListNew = new ArrayList<>();
fieldListNew.add("id");
@@ -5145,6 +5148,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (QueryConditionVO queryConditionVO : queryConditionVOList) {
String type = queryConditionVO.getType();//and或or
String rule = queryConditionVO.getRule();
String ruleLike = "";
if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule) || QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
ruleLike = QueryRuleEnum.LIKE.getCondition();
}
String field = queryConditionVO.getField();
String val = queryConditionVO.getVal();
//如果查询字段对应的搜索条件值为空,则不作处理
@@ -5153,7 +5160,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
sb.append(" " + field + " ");
//查询类型
String ruleTemp = queryType(rule);
if(StringUtils.isNotBlank(ruleLike)){
sb.append(ruleLike + " ");
}else{
sb.append(ruleTemp + " ");
}
//在..中(用in-->特殊处理)
if(val.contains(",")){
StringBuilder sbTemp = new StringBuilder();
@@ -5162,10 +5173,21 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
if(StringUtils.isNotBlank(sbTemp)){
String substring = sbTemp.substring(0, sbTemp.length() - 1);
sb.append(substring);
sb.append("("+substring+")");
}
}else{
sb.append(val);
//like和in需要特殊处理
if(QueryRuleEnum.IN.getCondition().equals(rule)){
sb.append("('" + val + "')");
}else if(QueryRuleEnum.LIKE.getCondition().equals(rule)){
sb.append("'%" + val + "%'");
}else if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)){
sb.append("'%" + val + "'");
}else if(QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
sb.append("'" + val + "%'");
}else{
sb.append("'" + val + "'");
}
}
if(count > 1){
sb.append(type + " ");
@@ -5,7 +5,6 @@ import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
import com.jero.modules.system.entity.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -195,7 +194,7 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
@ApiOperation(value="项目库-相关人员维护表-根据projectId查询认证工程师", notes="项目库-相关人员维护表-根据projectId查询认证工程师")
@GetMapping(value = "/queryCertificationEngineer")
public Result<?> queryCertificationEngineer(@RequestParam(name="projectId",required=true) String projectId){
List<SysUser> certificationEngineerList = projectRelatedPersonnelService.queryCertificationEngineer(projectId);
List<ProjectRelatedPersonnel> certificationEngineerList = projectRelatedPersonnelService.queryCertificationEngineer(projectId);
return Result.OK(certificationEngineerList);
}
}
@@ -4,7 +4,7 @@ public enum ProjectTaskPlanningNameEnum {
LIST_CONFIRMATION("法规清单确认"," Confirmation of regulations list"),
LEGAL_TASK_CONFIRMATION("法规任务确认","Regulatory task confirmation"),
DESIGN_DEADLINE("设计符合性确认","Design Compliance Check"),
PREHOMO_DEADLINE("Pre-Homo确认","Pre-homo Check"),
PREHOMO_DEADLINE("Pre-Homo确认","Pre-Homo Check"),
ATTESTATION_START_TIME("认证开始","Certification start"),
ATTESTATION_END_TIME("认证结束"," Certification end"),
VERIFY_DEADLINE("验证符合性确认截止时间","Verification compliance confirmation deadline"),
@@ -2,7 +2,6 @@ package com.jero.modules.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.system.entity.SysUser;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.web.multipart.MultipartFile;
@@ -87,5 +86,5 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
ProjectRelatedPersonnel queryByProjectIdAndDutyTerritory(String projectId, String dutyTerritory);
List<SysUser> queryCertificationEngineer(String projectId);
List<ProjectRelatedPersonnel> queryCertificationEngineer(String projectId);
}
@@ -11,6 +11,7 @@ import com.jero.common.util.RedisUtil;
import com.jero.common.util.TokenUtils;
import com.jero.modules.dummy.service.impl.DummyInventoryInfoEOServiceImpl;
import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
@@ -83,6 +84,8 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
@Lazy
private RedisUtil redisUtil;
@Autowired
private ProjectLibraryBaseServiceImpl projectLibraryBaseService;
/**
* 保存
*
@@ -465,9 +468,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
try {
String titleOne = "";
if(CutEnum.CN.getValue().equals(cut)){
titleOne = "*责任领域,*法规工程师,*工程接口人,*认证工程师,备注";
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
}else{
titleOne = "*Responsible Field,*Regulation Engineer,*Engineering Interface,*Homologation Engineer,Comments";
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
}
//创建临时文件夹
@@ -573,10 +576,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
try {
String titleOne = "";
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
titleOne = "*责任领域,*法规工程师,*工程接口人,*认证工程师,备注";
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
fileOriName = "相关人员导入模板.xls";
} 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";
}
@@ -670,7 +673,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
String titleOne = "";
if(CutEnum.CN.getValue().equals(cut)){
titleOne = "*责任领域,*法规工程师,*工程接口人,*认证工程师,备注";
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
explainInfo = "填写说明\n" +
"1.导入数据从第三行开始\n" +
"2.所有带*号的字段必须填写\n"+
@@ -679,7 +682,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
"5.编号,子标题,WVTA ID,备注,填写文本内容\n" +
"6.交付物模板字段为文件属性,填写时需要在本文件同级目录下以标准号为名称建立文件夹,并在文件夹下放置文件,假设在AAA标准号下放置了B.docx,则应填写AAA/B.docx";
}else{
titleOne = "*Responsible Field,*Regulation Engineer,*Engineering Interface,*Homologation Engineer,Comments";
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
explainInfo = "filling explanation\n" +
"1.import data starts at the third line\n" +
"2.all fields marked with * must be filled in\n"+
@@ -710,10 +713,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
Row headerRow = sheet.getRow(i);
boolean isBlank = dummyInventoryInfoEOService.isRowEmpty(row);
if (row != null && !isBlank) {
int columNos = headerRow.getLastCellNum();// 表头总共的列数
if (columNos == 5) {//列数对
for (int j = 0; j < columNos; j++) {
// if (row != null && !isBlank) {
int columHeadNos = headerRow.getLastCellNum();// 表头总共的列数
if (columHeadNos == 5) {//列数对
for (int j = 0; j < columHeadNos; j++) {
Cell cell = row.getCell(j,Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
if (i == 0){
if (i == 0 && !cell.getStringCellValue().equals(titleOneList.get(j))) {//检查表头
@@ -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)) {
throw new JeroBootException("导入的列数不对,请检查");
} else {
throw new JeroBootException("The number of imported columns is wrong. Please check!");
}
}
}else{
if (CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的数据不能为空,请检查");
} else {
throw new JeroBootException("The imported data of cannot be empty. Please check!");
}
}
}*/
// }else{
// if (CutEnum.CN.getValue().equals(cut)) {
// throw new JeroBootException("导入的数据不能为空,请检查");
// } else {
// throw new JeroBootException("The imported data of cannot be empty. Please check!");
// }
// }
if (i == 1) {//校验填写说明
row = sheet.getRow(i);
int columNos = row.getLastCellNum();
if(columNos != 1 /*|| (!row.getCell(0).getStringCellValue().equals(explainInfo))*/){
//if(columNos != 1 /*|| (!row.getCell(0).getStringCellValue().equals(explainInfo))*/){
for (int k = 0; k < columNos; k++){
if (k>0 && StringUtils.isNotBlank(row.getCell(k).getStringCellValue())) {
if (CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("填写说明列数不对,请严格按照模板文件导入数据");
} else {
throw new JeroBootException("The number of columns of filling explanation is wrong. Please import data strictly according to the template file.");
}
}
}
}
if (i > 1) {//读取数据
//获取每一行数据
@@ -762,7 +767,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setDutyTerritory(row.getCell(0).toString());
}else{//责任领域不能为空,报错
if(CutEnum.CN.getValue().equals(cut)){
throw new JeroBootException("请填写责任领域,带*的为必填.请检查第 "+ (i+1) + "行");
throw new JeroBootException("请填写责任领域,为必填.请检查第 "+ (i+1) + "行");
}else{
throw new JeroBootException("Please fill in the Responsible Field and those marked with * are required. .Please check line" + (i+1));
}
@@ -777,18 +782,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setLawEngineerName(lawEngineerName);
projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName);
}else if(StringUtils.isBlank(lawEngineerName) && StringUtils.isBlank(engineeringInterfacePersonName) && StringUtils.isBlank(certificationEngineerName)) {
//除了责任领域,带*的全为空->可以
}else if(StringUtils.isBlank(lawEngineerName) || StringUtils.isBlank(engineeringInterfacePersonName) || StringUtils.isBlank(certificationEngineerName)) {
//除了责任领域,其他的可以全为空->可以
projectRelatedPersonnel.setLawEngineerName("");
projectRelatedPersonnel.setEngineeringInterfacePersonName("");
projectRelatedPersonnel.setCertificationEngineerName("");
}else {//除了责任领域,备注,有一个为空都报错
}/*else {//除了责任领域,备注,有一个为空都报错
if(CutEnum.CN.getValue().equals(cut)){
throw new JeroBootException("请填写必填字段内容,带*的为必填.请检查第 "+ (i+1) + "行");
}else{
throw new JeroBootException("Please fill in the required fields marked with * .Please check line" + (i+1));
}
}
}*/
String remark = row.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK).toString();
if(StringUtils.isNotEmpty(row.getCell(4).toString())) {
@@ -1037,28 +1042,32 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
// }
@Override
public List<SysUser> queryCertificationEngineer(String projectId) {
public List<ProjectRelatedPersonnel> queryCertificationEngineer(String projectId) {
QueryWrapper<ProjectRelatedPersonnel> queryWrapper = new QueryWrapper<>();
List<ProjectRelatedPersonnel> list = list(queryWrapper.eq("project_id",projectId));
List<String> certificationEngineerList = list.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.toList());
StringBuilder userIdBuilder=new StringBuilder();
List<SysUser> certificationEngineerUsers = new ArrayList<>();
if(CollectionUtils.isNotEmpty(certificationEngineerList)){
for(String certificationEngineerId :certificationEngineerList){
if(StringUtils.isNotBlank(certificationEngineerId)) {
userIdBuilder.append(certificationEngineerId).append(",");
//查询基础表认证工程师的值
QueryWrapper<ProjectLibraryBase> baseQueryWrapper = new QueryWrapper<>();
List<ProjectLibraryBase> baseDataList = projectLibraryBaseService.list(baseQueryWrapper.eq("id", projectId));
String baseCertificationEngineer = baseDataList.get(0).getCertificationEngineer();
if(StringUtils.isNotBlank(baseCertificationEngineer)) {
for (ProjectRelatedPersonnel projectRelatedPersonnel : list) {
projectRelatedPersonnel.setCertificationEngineer(baseCertificationEngineer);
}
}
String userId = userIdBuilder.substring(0, userIdBuilder.toString().length() - 1);
List userIdList = Arrays.asList(userId.split(","));
userIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", userIdList);
certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
disposeData(list);
List<ProjectRelatedPersonnel> certificationEngineerList = new ArrayList<>();
for(ProjectRelatedPersonnel personnel : list){
ProjectRelatedPersonnel relatedPersonnel =new ProjectRelatedPersonnel();
relatedPersonnel.setCertificationEngineer(personnel.getCertificationEngineer());
relatedPersonnel.setCertificationEngineerName(personnel.getCertificationEngineerName());
certificationEngineerList.add(relatedPersonnel);
}
return certificationEngineerUsers;
certificationEngineerList = certificationEngineerList.stream().distinct().collect(Collectors.toList());
return certificationEngineerList;
}
@@ -3,39 +3,50 @@
<a-card :bordered="false">
<div class="collection-search-wrapper">
<div class="collection-search-header">
<a-form layout="inline" @keyup.enter.native="searchQuery(queryParams)">
<a-form-model
class="collection-content"
:model="queryParams"
ref="tagEditForm"
>
<a-row :gutter="24" type="flex" justify="start">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<a-form-model-item :label="$t('standard')">
<a-input :placeholder="$t('enterNumber')" v-model="queryParams.serialNumber"></a-input>
</a-form-model-item>
<div class="box-title-text">
<div class="title-text" :title="$t('standard')">
<span>{{$t('standard')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
v-model="queryParams.serialNumber"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8">
<a-form-model-item :label="$t('title')">
<a-input :placeholder="$t('enterTitle')" v-model="queryParams.title"></a-input>
</a-form-model-item>
<div class="box-title-text">
<div class="title-text" :title="$t('title')">
<span>{{$t('title')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
v-model="queryParams.title"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8">
<a-form-model-item :label="$t('status')">
<j-dict-select-tag type="list" v-model="queryParams.state" dictCode="file_type" :placeholder="$t('selectStatus')" />
</a-form-model-item>
<div class="box-title-text">
<div class="title-text" :title="$t('status')">
<span>{{$t('status')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParams.state"
:placeholder="$t('PleaseSelect')+$t('status')"
:type="'select'"
:triggerChange="false" :dictCode="'state'"/>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px"
class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
<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>
</a-col>
</a-row>
</a-form-model>
</a-form>
</div>
</div>
</div>
<div class="table-operator">
<div class="operator-text" @click="handleBatCancel">
<a-icon type="delete" />
@@ -272,28 +283,64 @@
}
}
}
</style>
<style lang="less">
.collection{
.collection-content{
.ant-form-item-control-wrapper{
min-width: 180px;
}
}
}
.collection-search-header{
.ant-form-item-control-wrapper{
min-width: 200px;
.ant-form-item{
.box-title-text {
line-height: 1.4;
display: flex;
}
}
.ant-col-md-6{
display: flex;
}
.table-page-search-submitButtons{
float: none!important;
}
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 33px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 100%;
height: 38px;
}
.box-button {
height: 38px;
}
</style>
<style lang="less">
/*.collection{*/
/* .collection-content{*/
/* .ant-form-item-control-wrapper{*/
/* min-width: 180px;*/
/* }*/
/* }*/
/*}*/
/*.collection-search-header{*/
/* .ant-form-item-control-wrapper{*/
/* min-width: 200px;*/
/* .ant-form-item{*/
/* display: flex;*/
/* }*/
/* }*/
/*.ant-col-md-6{*/
/* display: flex;*/
/*}*/
/*.table-page-search-submitButtons{*/
/* float: none!important;*/
/*}*/
/*}*/
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--single {
height: 38px;
}
</style>
@@ -1398,6 +1398,6 @@
.box-input .ant-select-selection__rendered {
line-height: 32px;
height: 32px;
overflow-y: auto;
/*overflow-y: auto;*/
}
</style>
@@ -4,31 +4,46 @@
<div class="subscribtion-search-wrapper">
<div class="subscribtion-search-header">
<!-- <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-col :md="6" :sm="6">
<a-form-item :label="$t('standard')">
<a-input :placeholder="$t('enterNumber')" v-model="queryParams.serialNumber"></a-input>
</a-form-item>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('standard')">
<span>{{$t('standard')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
v-model="queryParams.serialNumber"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="6">
<a-form-item :label="$t('title')">
<a-input :placeholder="$t('enterTitle')" v-model="queryParams.title"></a-input>
</a-form-item>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('title')">
<span>{{$t('title')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
v-model="queryParams.title"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="6">
<a-form-item :label="$t('status')">
<j-dict-select-tag type="list" v-model="queryParams.state" dictCode="file_type" :placeholder="$t('selectStatus')" />
</a-form-item>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('status')">
<span>{{$t('status')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParams.state"
:placeholder="$t('PleaseSelect')+$t('status')"
:type="'select'"
:triggerChange="false" :dictCode="'state'"/>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px"
class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
<a-col :md="6" :sm="4">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">{{$t('reset')}}</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
</div>
</div>
<div class="table-operator">
@@ -82,10 +97,11 @@
<script>
import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
import SubArea from './module/SubArea'
export default {
name: 'subscribtion',
components: {
SubArea,
SubArea
},
data() {
return {
@@ -101,38 +117,38 @@
title: this.$t('standard'),
dataIndex: 'serialNumber',
key: 'serialNumber',
align: "center",
align: 'center',
width: 100,
scopedSlots: { customRender: 'serialNumber' },
ellipsis: true,
ellipsis: true
},
{
title: this.$t('title'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'title',
scopedSlots: { customRender: 'serialtitle' },
ellipsis: true,
ellipsis: true
},
{
title: this.$t('status'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'state',
ellipsis: true,
ellipsis: true
},
{
title: this.$t('subscriptionTime'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'createTime',
ellipsis: true,
ellipsis: true
},
{
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
align: "center",
align: 'center',
width: 170
}
],
@@ -143,14 +159,14 @@
url: {
tableHeader: 'subscribe/onlCgformSubscribe/getHeader', //表格头部字段
seachList: 'subscribe/onlCgformSubscribe/queryCondition', //搜索字段
tableList: 'subscribe/onlCgformSubscribe/page', //表格数据
tableList: 'subscribe/onlCgformSubscribe/page' //表格数据
},
OperationList: [
{
text: this.$t('CancelSubscribe'),
ClickEvent: 'onCancel'
}
],
]
}
},
mounted() {
@@ -201,8 +217,9 @@
}
})
},
onCancel() {},
});
onCancel() {
}
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
@@ -229,8 +246,9 @@
}
})
},
onCancel() {},
});
onCancel() {
}
})
},
//清空
searchReset() {
@@ -253,7 +271,7 @@
},
//选择框
onSelectChange(rows) {
this.selectedRowKeys = rows;
this.selectedRowKeys = rows
// let ids=[]
// if(rows && rows.length>0){
// rows.forEach(item=>{
@@ -291,34 +309,76 @@
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
.subscribtion {
.subscribtion-search-wrapper {
margin-bottom: 20px;
}
.page {
margin-top: 20px;
text-align: right;
}
}
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 33px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 100%;
height: 38px;
}
.box-button {
height: 38px;
}
</style>
<style lang="less">
.subscribtion {
.subscribtion-content {
.ant-form-item-control-wrapper {
min-width: 180px;
.ant-form-item {
display: flex;
}
}
}
}
.subscribtion-search-header {
.ant-form-item-control-wrapper {
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>
@@ -39,16 +39,16 @@
:wrapper-col="wrapperCol"
>
<a-form-model-item :label="$t('name')" prop="itemText" v-if="dictVal=='list'">
<a-input v-model="form.itemText" :placeholder="$t('enterName')" />
<a-input v-model.trim="form.itemText" :placeholder="$t('enterName')" />
</a-form-model-item>
<a-form-model-item :label="$t('name')" prop="name" v-if="dictVal=='tree'">
<a-input v-model="form.name" :placeholder="$t('enterName')" />
<a-input v-model.trim="form.name" :placeholder="$t('enterName')" />
</a-form-model-item>
<!-- <a-form-model-item :label="$t('DataValue')" prop="itemValue">-->
<!-- <a-input v-model="form.itemValue" :placeholder="$t('enterDataValue')" />-->
<!-- </a-form-model-item>-->
<a-form-model-item :label="$t('enName')" prop="enName">
<a-input v-model="form.enName" :placeholder="$t('PleaseEnterYourEnglishName')" />
<a-input v-model.trim="form.enName" :placeholder="$t('PleaseEnterYourEnglishName')" />
</a-form-model-item>
<a-form-model-item :label="$t('ParentName')" prop="pid" v-if="parentVisible">
<a-select v-model="form.pid" @change="handleChange" :placeholder="$t('pleaseSelect')" >
@@ -58,7 +58,7 @@
</a-select>
</a-form-model-item>
<a-form-model-item :label="$t('describe')" prop="description">
<a-input v-model="form.description" :placeholder="$t('PleaseEnterDescription')" />
<a-input v-model.trim="form.description" :placeholder="$t('PleaseEnterDescription')" />
</a-form-model-item>
</a-form-model>
@@ -36,13 +36,13 @@
<!-- 属性名称-->
<a-col :span="24">
<a-form-model-item :label="$t('AttributeName')" prop="dbFieldTxt">
<a-input v-model="form.dbFieldTxt" :placeholder="$t('PleaseEnterPropertyName')" :maxLength="120" ></a-input>
<a-input v-model.trim="form.dbFieldTxt" :placeholder="$t('PleaseEnterPropertyName')" :maxLength="120" ></a-input>
</a-form-model-item>
</a-col>
<!-- 英文名称-->
<a-col :span="24">
<a-form-model-item :label="$t('enName')" prop="dbFieldEnName">
<a-input v-model="form.dbFieldEnName" :placeholder="$t('PleaseEnterYourEnglishName')" :maxLength="120" ></a-input>
<a-input v-model.trim="form.dbFieldEnName" :placeholder="$t('PleaseEnterYourEnglishName')" :maxLength="120" ></a-input>
</a-form-model-item>
</a-col>
<!-- 属性类型-->
@@ -3,17 +3,21 @@
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="12">
<a-form-item :label="$t('LabelName')">
<a-input :placeholder="$t('PleaseEnter')+$t('LabelName')" v-model="queryParams.dictName"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">{{$t('reset')}}</a-button>
</span>
<div class="box-title-text">
<div class="title-text" :title="$t('LabelName')">
<span>{{$t('LabelName')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('LabelName')"
v-model="queryParams.dictName"></a-input>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
@@ -27,7 +31,9 @@
{{$t('BatchDelete')}}
</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
class="tag-content"
ref="ruleForm"
@@ -43,7 +49,8 @@
/>
</a-form-model-item>
<a-form-model-item :label="$t('LabelType')" prop="attributeType" v-if="isEdit==1" class="tag-item">
<j-dict-select-tag type="list" v-model="form.attributeType" dictCode="attribute_type" :placeholder="$t('PleaseSelectLabelType')" />
<j-dict-select-tag type="list" v-model="form.attributeType" dictCode="attribute_type"
:placeholder="$t('PleaseSelectLabelType')"/>
</a-form-model-item>
<a-form-model-item ref="describe" :label="$t('describe')" prop="description" class="tag-item">
@@ -57,7 +64,8 @@
<a-table :data-source="tableData" rowKey="id" :columns="columns"
:scroll="{x: true}"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false" :loading="loading" class="tag-con-table">
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false"
:loading="loading" class="tag-con-table">
<template slot="action" slot-scope="text, record">
<a class="action-dict" @click="handleDicPop(record)">{{$t('DictionaryConfiguration')}}</a>
@@ -97,7 +105,8 @@
// import tabTable from './tabTable'
import DicList from '../dialog/DicList'
import Vue from 'vue'
import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
export default {
name: 'tagContent',
components: {
@@ -122,19 +131,19 @@
title: this.$t('LabelName'),
dataIndex: 'dictName',
key: 'dictName',
align: "center",
align: 'center',
ellipsis: true,
width: 100,
width: 100
},
{
title: this.$t('LabelType'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'attributeTypeName',
dataIndex: 'attributeTypeName'
},
{
title: this.$t('describe'),
align: "center",
align: 'center',
dataIndex: 'description',
ellipsis: true,
width: 300
@@ -143,7 +152,7 @@
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
align: "center",
align: 'center',
width: 170
}
],
@@ -152,13 +161,13 @@
form: {},
rules: {
dictName: [{ required: true, message: this.$t('PleaseEnterLabelName'), trigger: 'change' },
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },],
{ min: 1, max: 100, message: this.$t('cantExeed') + '100' + this.$t('characters'), trigger: 'blur' }],
attributeType: [
{ required: true, message: this.$t('PleaseSelectLabelType'), trigger: 'blur' },
{ required: true, message: this.$t('PleaseSelectLabelType'), trigger: 'blur' }
],
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:{},
@@ -166,14 +175,12 @@
dictVal: 'list',
record: {},
isEdit: 1,
flag:false, //表单提交标识
flag: false //表单提交标识
}
},
computed:{
},
computed: {},
mounted() {
this.loadData();
this.loadData()
},
methods: {
//获取列表数据
@@ -181,7 +188,7 @@
this.loading = true
let params = {
...this.queryParams,
isTagDict:1,
isTagDict: 1
}
// sys/dict/tagDictPage
// sys/dict/page
@@ -214,7 +221,7 @@
},
hideModal() {
let params = {
...this.form,
...this.form
}
this.$refs.ruleForm.validate((valid) => {
// console.log('valide',valide)
@@ -312,7 +319,7 @@
}
this.loadData()
} else {
this.$message.warning(this.$t('operationFailed'));
this.$message.warning(this.$t('operationFailed'))
}
})
}
@@ -320,8 +327,8 @@
},
onSelectChange(selectedRowKeys) {
// console.log('selectedRowKeys changed: ', selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
this.ids = this.selectedRowKeys;
this.selectedRowKeys = selectedRowKeys
this.ids = this.selectedRowKeys
console.log('selRows', selectedRowKeys)
},
//批量删除
@@ -354,8 +361,7 @@
}
})
}
else{
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
@@ -387,7 +393,7 @@
},
//字典列表关闭
onDicClose() {
this.dicVisible = false;
this.dicVisible = false
},
//点击页数
onChangePage(page, pageSize) {
@@ -400,18 +406,20 @@
this.queryParams.pageSize = pageSize
this.queryParams.pageNo = 1
this.loadData()
},
}
}
}
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
.tag-content {
.tag-con-table {
.action-dict, .action-edit {
margin-right: 10px;
}
.action-delete {
color: red;
}
@@ -423,20 +431,55 @@
text-align: right;
}
}
.type-popover {
p {
margin: 5px 0;
}
p:hover {
cursor: pointer;
color: #0c8fcf;
}
}
.dict-drawer {
.ant-drawer-content-wrapper {
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 lang="less">
.show-content {
@@ -445,6 +488,7 @@
}
}
.tag-content {
.tag-item {
.ant-col-6 {
@@ -3,29 +3,40 @@
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="12" v-show='submitKey=="1"'>
<a-form-item :label="$t('ChineseName')">
<a-input :placeholder="$t('PleaseEnter')+$t('ChineseName')" v-model="queryParamOne.dbFieldTxt"></a-input>
</a-form-item>
<a-col :md="6" :sm="8" v-show='submitKey=="1"'>
<div class="box-title-text">
<div class="title-text" :title="$t('ChineseName')">
<span>{{$t('ChineseName')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ChineseName')"
v-model="queryParamOne.dbFieldTxt"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="12" v-show='submitKey=="2"'>
<a-form-item :label="$t('ChineseName')">
<a-input :placeholder="$t('PleaseEnter')+$t('ChineseName')" v-model="queryParamTwo.dbFieldTxt"></a-input>
</a-form-item>
<a-col :md="6" :sm="8" v-show='submitKey=="2"'>
<div class="box-title-text">
<div class="title-text" :title="$t('ChineseName')">
<span>{{$t('ChineseName')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('ChineseName')"
v-model="queryParamOne.dbFieldTxt"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="8" v-show='submitKey=="1"'>
<a-form-item :label="$t('DisplayArea')">
<a-select v-model="queryParamOne.showArea" :placeholder="$t('pleaseSelect')">
<div class="box-title-text">
<div class="title-text" :title="$t('DisplayArea')">
<span>{{$t('DisplayArea')}}</span>
</div>
<a-select class="box-input" v-model="queryParamOne.showArea" :placeholder="$t('pleaseSelect')">
<a-select-option :value="item.id" v-for="item in areas">{{item.showArea}}</a-select-option>
</a-select>
</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 :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">{{$t('reset')}}</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
@@ -43,30 +54,41 @@
{{$t('BatchDelete')}}
</div>
</div>
<a-drawer class="show-drawer" :title="titleTag" placement="right" width="1000px" @close="close" :visible="drawerVisible" :after-visible-change="afterVisibleChange" >
<a-drawer class="show-drawer" :title="titleTag" placement="right" width="1000px" @close="close"
:visible="drawerVisible" :after-visible-change="afterVisibleChange">
<div class="new-tag-drawer">
<a-spin :spinning="spinningDrawer" style="width: 100%;height:100%">
<tag-form v-if="drawerVisible&&editFlag" ref="realForm" @ok="closeTag" :isTagContent="isTagContent" :editData="editData" :editId=editId :submitEdit="submitEdit" :disableEdit="disableEdit" :disabled="disableSubmit" :submitKey="submitKey" normal> </tag-form>
<tag-form v-if="drawerVisible&&editFlag" ref="realForm" @ok="closeTag" :isTagContent="isTagContent"
:editData="editData" :editId=editId :submitEdit="submitEdit" :disableEdit="disableEdit"
:disabled="disableSubmit" :submitKey="submitKey" normal></tag-form>
<div class="drawer-footer" v-if="drawerVisible&&editFlag">
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">{{$t('preservation')}}</a-button>
<a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">
{{$t('preservation')}}
</a-button>
<a-button @click="handleCancel" style="margin-bottom: 0;">{{$t('close')}}</a-button>
</div>
</a-spin>
</div>
</a-drawer>
<a-modal class="show-area" v-model="areaVisible" :title="$t('ExhibitionAreaManagement')" :footer="null" @cancel="hideModal">
<area-manage v-if="areaVisible" @diaHide="diaHide" @submitOk="submitOk" @deleteOk="deleteOk" @updateOk="updateOk"></area-manage>
<a-modal class="show-area" v-model="areaVisible" :title="$t('ExhibitionAreaManagement')" :footer="null"
@cancel="hideModal">
<area-manage v-if="areaVisible" @diaHide="diaHide" @submitOk="submitOk" @deleteOk="deleteOk"
@updateOk="updateOk"></area-manage>
</a-modal>
<div class="tag-doc-tab">
<a-spin :spinning="spinning">
<a-tabs default-active-key="1" @change="callbackTab">
<a-tab-pane key="1" :tab="$t('DocumentLibrary')">
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns" :parm="queryParamOne" :selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete" @queryParams="queryParamsOne" @selecteds="selecteds" :total="total"></tab-table>
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns" :parm="queryParamOne"
:selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete"
@queryParams="queryParamsOne" @selecteds="selecteds" :total="total"></tab-table>
</a-tab-pane>
<a-tab-pane key="2" :tab="$t('DocumentSplitting')">
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns1" :parm="queryParamTwo" :selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete" @queryParams="queryParamsTwo" @selecteds="selecteds" :total="total"></tab-table>
<tab-table v-if="spinning==false" :tableData="tableData" :columns="taglabColumns1" :parm="queryParamTwo"
:selectedRowKey="selectedRowKey" @visibleEd="visibleEd" @visibleDelete="visibleDelete"
@queryParams="queryParamsTwo" @selecteds="selecteds" :total="total"></tab-table>
<!-- <tab-table :tableData="tableData" :columns="taglabColumns" @visibleEd="visibleEd" @visibleDelete="visibleDelete" :total="total" :parm="queryParam"></tab-table>-->
</a-tab-pane>
</a-tabs>
@@ -81,6 +103,7 @@
import TabTable from './TabTable'
import AreaManage from '../dialog/AreaManage'
import TagForm from '../dialog/TagForm'
export default {
name: 'tagItem',
components: {
@@ -94,11 +117,11 @@
spinning: false,
queryParamOne: {
pageNo: 1,
pageSize:10,
pageSize: 10
},
queryParamTwo: {
pageNo: 1,
pageSize:10,
pageSize: 10
},
titleTag: this.$t('NewLabelItem'),
typeVisible: false,
@@ -110,37 +133,37 @@
taglabColumns: [
{
title: this.$t('ChineseName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldTxt',
dataIndex: 'dbFieldTxt'
},
{
title: this.$t('enName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldEnName',
dataIndex: 'dbFieldEnName'
},
{
title: this.$t('AttributeType'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'fieldShowTypeName',
dataIndex: 'fieldShowTypeName'
},
{
title: this.$t('FieldLength'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'dbLength'
},
{
title: this.$t('DisplayOrder'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'orderNum'
},
{
title: this.$t('DisplayArea'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'showAreaName'
},
@@ -148,38 +171,38 @@
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
align: "center",
align: 'center',
width: 170
}
],
taglabColumns1: [
{
title: this.$t('ChineseName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldTxt',
dataIndex: 'dbFieldTxt'
},
{
title: this.$t('enName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldEnName',
dataIndex: 'dbFieldEnName'
},
{
title: this.$t('AttributeType'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'fieldShowTypeName',
dataIndex: 'fieldShowTypeName'
},
{
title: this.$t('FieldLength'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'dbLength'
},
{
title: this.$t('DisplayOrder'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'orderNum'
},
@@ -187,7 +210,7 @@
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
align: "center",
align: 'center',
width: 170
}
],
@@ -216,12 +239,12 @@
methods: {
//获取展示区域
loadShowArea() {
let params = {};
let params = {}
getAction(`tag/onlCgformArea/queryShowArea`, params).then((res) => {
if (res.success) {
this.areas = res.result
}
});
})
},
searchQuery() {
this.queryParamOne.pageNo = 1
@@ -312,7 +335,7 @@
this.areaVisible = vis
},
hideModal() {
this.visible = false;
this.visible = false
},
close() {
this.drawerVisible = false
@@ -336,7 +359,7 @@
this.editId = id
this.submitEdit = 'edit'
let params = {
id:id,
id: id
}
this.spinningDrawer = true
getAction(`tag/onlCgformTag/queryById`, params).then(res => {
@@ -424,8 +447,7 @@
}
})
}
else{
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
@@ -494,7 +516,7 @@
//
// },
handleOk() {
this.$refs.realForm.submitForm();
this.$refs.realForm.submitForm()
},
handleCancel() {
this.drawerVisible = false
@@ -506,28 +528,63 @@
<style lang="less" scoped>
@import '~@assets/less/common.less';
.type-popover {
p {
margin: 5px;
}
p:hover {
color: #0c8fcf;
cursor: pointer;
}
}
.new-tag-drawer {
.drawer-footer {
height: 32px;
display: flex;
justify-content: center;
.ant-btn {
margin-left: 30px;
margin-bottom: 30px;
float: right;
}
}
}
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 60px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
.box-button {
height: 38px;
/*margin-top: 2px;*/
}
</style>
@@ -539,14 +596,22 @@
width: 1000px !important;
}
}
.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>
@@ -10,6 +10,7 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 60px">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="8">
<div class="box-title-text">
@@ -50,6 +51,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div style="width: 100%">
<a-table
@@ -42,6 +42,7 @@
{{$t('listSubclauses')}}
</div>
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -80,6 +81,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<!-- 导入-->
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -29,6 +30,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="handleAdd" class="operator-text" v-has="'document:getInfoById'">
@@ -2,6 +2,7 @@
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<!-- 认证参数收集-参数项收集清单-10控件-->
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -59,6 +60,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<a-popconfirm overlayClassName='popconfirm' placement="bottomRight">
@@ -126,7 +128,8 @@
</div>
<div style="width: 100%">
<!-- 表格-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>
<!-- 添加--->
<a-modal v-model="areaVisible" :title="$t('ParameterLibrary')" width='750px' :footer="null">
@@ -159,22 +162,27 @@
<div class="imports-footer">
<div class="imports-footer-wrap">
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze" v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}</a-button>
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze"
v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}
</a-button>
<a-button class="imports-btn" type="primary" @click="cancleImportsFreeze">{{$t('cancel')}}</a-button>
</div>
</div>
</a-modal>
<!-- 分配填写人--->
<a-modal v-model="areaVisibleAssignedby" :title="$t('Assignedby')" width='950px' :footer="null">
<assigned-by v-if='areaVisibleAssignedby' :selectedRowKeysArray='selectedRowKeysArray' @areaVisibleAssignedbyflag='areaVisibleAssignedbyflag'/>
<assigned-by v-if='areaVisibleAssignedby' :selectedRowKeysArray='selectedRowKeysArray'
@areaVisibleAssignedbyflag='areaVisibleAssignedbyflag'/>
</a-modal>
<!-- 截至时间--->
<a-modal v-model="areaVisibleTaskCutOffTime" :title="$t('TaskCutOffTime')" width='650px' :footer="null">
<task-cut-off-time v-if='areaVisibleTaskCutOffTime' :selectedRowKeysArray='selectedRowKeysArray' @areaVisibleTaskCutOffTimeflag='areaVisibleTaskCutOffTimeflag'/>
<task-cut-off-time v-if='areaVisibleTaskCutOffTime' :selectedRowKeysArray='selectedRowKeysArray'
@areaVisibleTaskCutOffTimeflag='areaVisibleTaskCutOffTimeflag'/>
</a-modal>
<!-- 引用参数--->
<a-modal v-model="areaVisiblereferenceparameter" :title="$t('referenceparameter')" width='650px' :footer="null">
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest' :selectedRowKeysArray='selectedRowKeysArray'/>
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest'
:selectedRowKeysArray='selectedRowKeysArray'/>
</a-modal>
</a-card>
</template>
@@ -309,15 +317,51 @@ export default {
// 仅仅状态为 已提交 可以退回
homoJurisdictionReturn() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.success(this.$t('selectLeastOne'))
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '已提交') {
if(item.state !== '已提交') {
flag = 0
}
})
if(flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
// 工程接口人 退回 权限
// 待工程接口人处理 填写人退回
}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) {
@@ -335,15 +379,15 @@ export default {
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以批量删除
homoJurisdictionBatchdelete() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '待发起收集' || item.state === '工程接口人退回' || item.state === '变更') {
flag = 1
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
flag = 0
}
})
if(flag === 1) {
@@ -352,6 +396,10 @@ export default {
this.$message.warning(this.$t('operatethisbutton'))
}
}
// 工程接口人没有权限
}else if(this.sdt) {
flag = 0
this.$message.warning(this.$t('operatethisbutton'))
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
@@ -361,15 +409,15 @@ export default {
// 仅仅状态为 已提交 变更 可以同步上报库
homoJurisdictionSynchronousLibrary() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '已提交' || item.state === '变更') {
flag = 1
if(item.state !== '已提交' && item.state !== '变更') {
flag = 0
}
})
if(flag === 1) {
@@ -387,15 +435,111 @@ export default {
// 仅仅状态为 待工程接口人处理 填写人退回 可以强制撤回
homoJurisdictionCompulsoryWithdrawal() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.success(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '待工程接口人处理' || item.state === '填写人退回') {
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
flag = 0
}
})
if(flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
// 工程接口人 强制撤回 权限
// 仅仅状态为 待填写 可以强制撤回
}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) {
@@ -409,35 +553,6 @@ export default {
}
return flag
},
// 工程接口人
// 工程接口人 下发收集 权限
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以下发收集
// homoJurisdictionDistributionCollection() {
// // 定义开关 0为没有权限 1为有权限
// let flag = 1
// if(this.homo) {
// if(this.selectedRowKeysValue.length == 0) {
// flag = 0
// this.$message.success(this.$t('selectLeastOne'))
// } else {
// this.selectedRowKeysValue.forEach((item, index) => {
// if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
// flag = 0
// }
// })
// if(flag === 1) {
// flag = 1
// } else {
// this.$message.warning(this.$t('operatethisbutton'))
// }
// }
// }else {
// this.$message.success(this.$t('operatethisbutton'))
// }
// return flag
// },
LoginUserType(val) {
val.split(',').forEach((item,index) => {
if(item === 'homo') {
@@ -611,6 +726,9 @@ export default {
// 认证工程师 工程接口人 任意状态 都无此权限
this.$message.warning(this.$t('operatethisbutton'))
} else {
// 填写人 权限
let dreJurisdictionSubmit = this.dreJurisdictionSubmit()
if(dreJurisdictionSubmit) {
// 提交数据
let postDate = []
this.selectedRowKeysValue.forEach((item, index) => {
@@ -638,10 +756,11 @@ export default {
})
}
}
}
},
returnDataJurisdiction() {
// 退回的状态权限
let homoJurisdictionReturn = this.homoJurisdictionReturn
let homoJurisdictionReturn = this.homoJurisdictionReturn()
if (homoJurisdictionReturn) {
this.returnData()
}
@@ -734,8 +853,12 @@ export default {
// 认证工程师 任意状态 都无此权限
this.$message.warning(this.$t('operatethisbutton'))
} else {
// 工程接口人
let sdtJurisdictionAssigned = this.sdtJurisdictionAssigned()
if(sdtJurisdictionAssigned) {
this.areaVisibleAssignedby = true
}
}
},
// 分配填写人确定后弹框关闭
areaVisibleAssignedbyflag(val) {
@@ -761,8 +884,12 @@ export default {
// 认证工程师 工程接口人 任意状态 都无此权限
this.$message.warning(this.$t('operatethisbutton'))
} else {
// 填写人的权限
let dreJurisdictionreferenceParameter = this.dreJurisdictionreferenceParameter()
if(dreJurisdictionreferenceParameter) {
this.areaVisiblereferenceparameter = true
}
}
},
handleModule() {
@@ -819,8 +946,8 @@ export default {
}
})
.catch((error) => {
console.log(error);
});
console.log(error)
})
}
})
} else {
@@ -832,7 +959,7 @@ export default {
},
SizeChange() {
},
}
}
}
</script>
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -29,6 +30,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="CertificationDirectory" class="operator-text">
@@ -212,7 +214,7 @@
'To be tracked': 'TrackedColor',
'NA': 'notInvolvedColor',
'No rating': 'submittedColor',
'Termination of task': 'nonConformityColor',
'Termination of task': 'nonConformityColor'
},
statusText: {
'Compliance': this.$t('accord'),
@@ -220,7 +222,7 @@
'To be tracked': this.$t('Tracked'),
'NA': this.$t('notInvolved'),
'No rating': this.$t('toBeConfirmed'),
'Termination of task': this.$t('taskTermination'),
'Termination of task': this.$t('taskTermination')
},
CertificationColor: {
'Test passed': 'accordColor',
@@ -299,7 +301,7 @@
projectName: this.$route.query.projectName,
projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.designTaskDetailId,
PersonChargeFeedback:val.designPersonChargeFeedback,
PersonChargeFeedback: val.designPersonChargeFeedback
}
break
case 2:
@@ -323,7 +325,7 @@
projectName: this.$route.query.projectName,
projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.prehomoTaskDetailId,
PersonChargeFeedback:val.prehomoPersonChargeFeedback,
PersonChargeFeedback: val.prehomoPersonChargeFeedback
}
break
case 3:
@@ -347,7 +349,7 @@
projectName: this.$route.query.projectName,
projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.verifyTaskDetailId,
PersonChargeFeedback:val.verifyPersonChargeFeedback,
PersonChargeFeedback: val.verifyPersonChargeFeedback
}
break
}
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -18,6 +19,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="handleAdd" class="operator-text">
@@ -75,7 +77,8 @@
<!-- 参数模板-->
<a-modal v-model="areaVisible" :title="$t('parameterTemplate')" width='750px' :footer="null">
<parameter-template-add v-if='areaVisible' @areaVisible='handleCancel' :templateTitle='templatetitle'
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version' :projectId='this.$route.query.id'></parameter-template-add>
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version'
:projectId='this.$route.query.id'></parameter-template-add>
</a-modal>
<!-- 配置-->
<configure ref="configureRef" :url='url' :itemId='itemId'/>
@@ -86,7 +89,8 @@
<!-- 复制参数模板-->
<a-modal v-model="areaVisibleCody" :title="$t('CopyProjectCollectionparameters')" width='750px' :footer="null">
<parameter-template-cody v-if='areaVisibleCody' @areaVisible='handleCancel' :templateTitle='templatetitle'
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version' :projectId='this.$route.query.id'></parameter-template-cody>
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version'
:projectId='this.$route.query.id'></parameter-template-cody>
</a-modal>
</a-card>
</template>
@@ -101,6 +105,7 @@
import axios from 'axios'
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
export default {
name: 'TaskParameterCollection',
components: {
@@ -122,32 +127,32 @@
{
title: this.$t('status'),
align: 'center',
dataIndex: 'state',
dataIndex: 'state'
},
{
title: this.$t('parameterTemplateName'),
align: 'center',
dataIndex: 'paramsTemplateName',
dataIndex: 'paramsTemplateName'
},
{
title: this.$t('collectionCompletionTime'),
align: 'center',
dataIndex: 'finishTime',
dataIndex: 'finishTime'
},
{
title: this.$t('Version'),
align: 'center',
dataIndex: 'version',
dataIndex: 'version'
},
{
title: this.$t('creator'),
align: 'center',
dataIndex: 'createBy',
dataIndex: 'createBy'
},
{
title: this.$t('createTime'),
align: 'center',
dataIndex: 'createTime',
dataIndex: 'createTime'
},
{
title: this.$t('operation'),
@@ -168,7 +173,7 @@
deleteBatch: 'params/manifest/delete',
deleteAll: 'params/manifest/deleteBatch',
conAdd: 'params/config/addBatch',
conList: 'params/config/list',
conList: 'params/config/list'
},
loading: false,
dataSource: [],
@@ -185,7 +190,7 @@
itemId: '',
historicalVisible: false,
historicalRow: {}, // 历史版本得数据
areaVisibleCody: false, // 复制参数清单得弹框
areaVisibleCody: false // 复制参数清单得弹框
}
},
mounted() {
@@ -196,7 +201,7 @@
localStorage.setItem('paramsManifest', JSON.stringify(item))
let newUrl = this.$router.resolve({
path: '/ParameterItemCollection',
query: this.$route.query,
query: this.$route.query
})
window.open(newUrl.href, '_blank')
},
@@ -291,8 +296,8 @@
}
})
.catch((error) => {
console.log(error);
});
console.log(error)
})
},
handleDel() {
let param = {
@@ -346,7 +351,7 @@
}
})
}
},
}
}
</script>
@@ -10,6 +10,7 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 60px">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="8">
<div class="box-title-text">
@@ -50,6 +51,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<a-table
:columns="columns"
@@ -4,6 +4,7 @@
{{ $t('DocumentStandard') }}
</div>
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -43,6 +44,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator" style="overflow:hidden;">
<div style="float: left;margin-bottom: 10px;margin-left: 20px" v-if="isDisplay">
@@ -124,10 +124,10 @@
v-model="formInline.certificationEngineer"
:placeholder="$t('certifiedEngineer')+$t('areaOfResponsibility')">
<a-select-option v-for="(item, key) in dictOptionsValue"
:key="item.id"
:value="item.id">
<span class="itemOption" :title=" item.username ">
{{ item.username }}
:key="item.certificationEngineer"
:value="item.certificationEngineer">
<span class="itemOption" :title=" item.certificationEngineerName ">
{{ item.certificationEngineerName }}
</span>
</a-select-option>
</a-select>
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -38,6 +39,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="handleExport" class="operator-text">
@@ -10,6 +10,7 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 60px">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="8">
<div class="box-title-text">
@@ -27,6 +28,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<a-table
:columns="columns"
@@ -4,6 +4,7 @@
{{ $t('DocumentStandard') }}
</div>
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -43,6 +44,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div style="width: 100%">
<a-table
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -94,6 +95,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="handleAdd" class="operator-text" v-has="'document:getInfoById'">
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -22,7 +23,7 @@
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
<div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{$t('areaOfResponsibility')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
@@ -138,6 +139,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="table-operator">
<div @click="handleExport" class="operator-text">
@@ -1,6 +1,7 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<div class="box-title-text">
@@ -29,6 +30,7 @@
</a-col>
</span>
</a-row>
</a-form>
</div>
<div class="box-top">
<span class="box-top-text">{{$t('regulatoryCertificationTaskPlan')}}</span>
@@ -315,7 +317,7 @@
fontFamily: 'Blue Sky Noto',
color: '#000F16',
fontSize: '16'
},
}
},
axisLine: {
show: false