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{
} 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>
@@ -3,41 +3,56 @@
<a-card :bordered="false">
<div class="subscribtion-search-wrapper">
<div class="subscribtion-search-header">
<!-- <search :url="url" :flag="'1'"></search>-->
<a-form layout="inline" @keyup.enter.native="searchQuery">
<!-- <search :url="url" :flag="'1'"></search>-->
<div class="table-page-search-wrapper">
<a-row :gutter="24">
<a-col :md="6" :sm="6">
<a-form-item :label="$t('standard')">
<a-input :placeholder="$t('enterNumber')" v-model="queryParams.serialNumber"></a-input>
</a-form-item>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('standard')">
<span>{{$t('standard')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
v-model="queryParams.serialNumber"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="6">
<a-form-item :label="$t('title')">
<a-input :placeholder="$t('enterTitle')" v-model="queryParams.title"></a-input>
</a-form-item>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('title')">
<span>{{$t('title')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('title')"
v-model="queryParams.title"></a-input>
</div>
</a-col>
<a-col :md="6" :sm="6">
<a-form-item :label="$t('status')">
<j-dict-select-tag type="list" v-model="queryParams.state" dictCode="file_type" :placeholder="$t('selectStatus')" />
</a-form-item>
<a-col :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">
<div class="operator-text" @click="handleBatManage">
<a-icon type="plus" />
<a-icon type="plus"/>
{{ $t('SubscriptionManagement') }}
</div>
<div class="operator-text" @click="handleBatCancel">
<a-icon type="delete" />
<a-icon type="delete"/>
{{ $t('BatchCancellation') }}
</div>
</div>
@@ -82,196 +97,199 @@
<script>
import { getAction, postAction, deleteAction, putAction } from '@/api/manage'
import SubArea from './module/SubArea'
export default {
name:'subscribtion',
components:{
SubArea,
name: 'subscribtion',
components: {
SubArea
},
data(){
return{
selectedRowKeys:[],
queryParams:{
pageNo:1,
pageSize:10
data() {
return {
selectedRowKeys: [],
queryParams: {
pageNo: 1,
pageSize: 10
}, //搜索条件
total:0,
total: 0,
//列表表头
columns: [
{
title: this.$t('standard'),
dataIndex: 'serialNumber',
key: 'serialNumber',
align: "center",
align: 'center',
width: 100,
scopedSlots: {customRender: 'serialNumber'},
ellipsis: true,
scopedSlots: { customRender: 'serialNumber' },
ellipsis: true
},
{
title: this.$t('title'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'title',
scopedSlots: {customRender: 'serialtitle'},
ellipsis: true,
scopedSlots: { customRender: 'serialtitle' },
ellipsis: true
},
{
title: this.$t('status'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'state',
ellipsis: true,
ellipsis: true
},
{
title: this.$t('subscriptionTime'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'createTime',
ellipsis: true,
ellipsis: true
},
{
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: {customRender: 'action'},
align: "center",
scopedSlots: { customRender: 'action' },
align: 'center',
width: 170
}
],
tableData:[], //列表数据
visible:false,
selecIds:[],
loading:false,
url:{
tableData: [], //列表数据
visible: false,
selecIds: [],
loading: false,
url: {
tableHeader: 'subscribe/onlCgformSubscribe/getHeader', //表格头部字段
seachList: 'subscribe/onlCgformSubscribe/queryCondition', //搜索字段
tableList: 'subscribe/onlCgformSubscribe/page', //表格数据
tableList: 'subscribe/onlCgformSubscribe/page' //表格数据
},
OperationList: [
{
text: this.$t('CancelSubscribe'),
ClickEvent: 'onCancel'
}
],
]
}
},
mounted() {
this.loadData()
},
methods:{
methods: {
//获取列表数据
loadData(){
let params={
loadData() {
let params = {
...this.queryParams
}
this.loading=true
postAction(`subscribe/onlCgformSubscribe/page`,params).then(res=>{
if(res.success){
this.tableData= [ ...res.result.records ]
this.total=res.result.total
this.loading=false
this.loading = true
postAction(`subscribe/onlCgformSubscribe/page`, params).then(res => {
if (res.success) {
this.tableData = [...res.result.records]
this.total = res.result.total
this.loading = false
}
})
},//搜索
searchQuery(){
searchQuery() {
this.loadData()
},
//订阅领域管理
handleBatManage(){
this.visible=true
handleBatManage() {
this.visible = true
},
//批量取消收藏
handleBatCancel(){
let params={
ids:this.selecIds.join(',')
handleBatCancel() {
let params = {
ids: this.selecIds.join(',')
}
if(this.selecIds&&this.selecIds.length>0){
if (this.selecIds && this.selecIds.length > 0) {
this.$confirm({
title: this.$t('confirmBulkUnsubscribe'),
content: '',
onOk:
async () => {
deleteAction(`subscribe/onlCgformSubscribe/deleteBatch`,params).then(res=> {
if(res.success){
deleteAction(`subscribe/onlCgformSubscribe/deleteBatch`, params).then(res => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
if(this.selecIds.length==this.tableData.length&&this.queryParams.pageNo!==1){
this.queryParams.pageNo=this.queryParams.pageNo-1
if (this.selecIds.length == this.tableData.length && this.queryParams.pageNo !== 1) {
this.queryParams.pageNo = this.queryParams.pageNo - 1
}
this.loadData()
}else{
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
},
onCancel() {},
});
}else{
onCancel() {
}
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
//取消订阅
onCancel(record){
let params={
id:record.id
onCancel(record) {
let params = {
id: record.id
}
this.$confirm({
title: this.$t('unsubscribeConfirm'),
content: '',
onOk:
async () => {
deleteAction(`subscribe/onlCgformSubscribe/delete`,params).then(res=> {
if(res.success){
deleteAction(`subscribe/onlCgformSubscribe/delete`, params).then(res => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
if(this.tableData.length==1&&this.queryParams.pageNo!==1){
this.queryParams.pageNo=this.queryParams.pageNo-1
if (this.tableData.length == 1 && this.queryParams.pageNo !== 1) {
this.queryParams.pageNo = this.queryParams.pageNo - 1
}
this.loadData()
}else{
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
},
onCancel() {},
});
onCancel() {
}
})
},
//清空
searchReset(){
this.queryParams={
searchReset() {
this.queryParams = {
pageNo: 1,
pageSize: 10
}
this.loadData()
},
//点击页数
onChangePage(page,pageSize){
onChangePage(page, pageSize) {
this.queryParams.pageNo = page
this.loadData()
},
//一页显示条数
SizeChange(page,pageSize){
SizeChange(page, pageSize) {
this.queryParams.pageSize = pageSize
this.queryParams.pageNo=1
this.queryParams.pageNo = 1
this.loadData()
},
//选择框
onSelectChange(rows) {
this.selectedRowKeys = rows;
this.selectedRowKeys = rows
// let ids=[]
// if(rows && rows.length>0){
// rows.forEach(item=>{
// ids.push(item.id)
// })
// }
this.selecIds=rows
this.selecIds = rows
},
//点击编号
numberClick(records){
numberClick(records) {
},
//点击名称
titleClick(records){
titleClick(records) {
},
areaVisible(val){
this.visible=val
areaVisible(val) {
this.visible = val
},
//跳转详情
onDetail(item) {
@@ -279,9 +297,9 @@
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id:item.documentId ,
serial_number:item.serialNumber,
title:item.title
id: item.documentId,
serial_number: item.serialNumber,
title: item.title
}
})
window.open(newUrl.href, '_blank')
@@ -291,34 +309,76 @@
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
.subscribtion{
.subscribtion-search-wrapper{
.subscribtion {
.subscribtion-search-wrapper {
margin-bottom: 20px;
}
.page{
.page {
margin-top: 20px;
text-align: right;
}
}
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 33px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 100%;
height: 38px;
}
.box-button {
height: 38px;
}
</style>
<style lang="less">
.subscribtion{
.subscribtion-content{
.ant-form-item-control-wrapper{
.subscribtion {
.subscribtion-content {
.ant-form-item-control-wrapper {
min-width: 180px;
.ant-form-item{
.ant-form-item {
display: flex;
}
}
}
}
.subscribtion-search-header{
.ant-form-item-control-wrapper{
.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,31 +3,37 @@
<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>
<div class="table-operator">
<div class="operator-text" @click="handleAdd" v-has="'dict:add'">
<a-icon type="plus" />
<a-icon type="plus"/>
{{$t('newlyAdded')}}
</div>
<div class="operator-text" @click="batDelete" v-has="'dict:logicDeleteBatch'">
<a-icon type="delete" />
<a-icon type="delete"/>
{{$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,137 +105,136 @@
// import tabTable from './tabTable'
import DicList from '../dialog/DicList'
import Vue from 'vue'
import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
export default {
name: 'tagContent',
components:{
components: {
// tabTable,
DicList
},
data(){
return{
data() {
return {
title: this.$t('add'),
total:0,
queryParams:{
pageNo:1,
pageSize:10
total: 0,
queryParams: {
pageNo: 1,
pageSize: 10
},
ids:[],
loading:false,
ids: [],
loading: false,
selectedRowKeys: [],
contentVisible:false,
tableData:[],
contentVisible: false,
tableData: [],
columns: [
{
title: this.$t('LabelName'),
dataIndex: 'dictName',
key: 'dictName',
align: "center",
align: 'center',
ellipsis: true,
width: 100,
width: 100
},
{
title: this.$t('LabelType'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'attributeTypeName',
dataIndex: 'attributeTypeName'
},
{
title: this.$t('describe'),
align: "center",
align: 'center',
dataIndex: 'description',
ellipsis: true,
width:300
width: 300
},
{
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: {customRender: 'action'},
align: "center",
scopedSlots: { customRender: 'action' },
align: 'center',
width: 170
}
],
labelCol: { span:6 },
labelCol: { span: 6 },
wrapperCol: { span: 16 },
form:{},
rules:{
dictName:[{ required: true, message: this.$t('PleaseEnterLabelName'), trigger: 'change' },
{ min:1, max: 100, message: this.$t('cantExeed')+'100'+this.$t('characters'), trigger: 'blur' },],
attributeType:[
{ required: true, message: this.$t('PleaseSelectLabelType'), trigger: 'blur' },
form: {},
rules: {
dictName: [{ required: true, message: this.$t('PleaseEnterLabelName'), trigger: 'change' },
{ min: 1, max: 100, message: this.$t('cantExeed') + '100' + this.$t('characters'), trigger: 'blur' }],
attributeType: [
{ required: true, message: this.$t('PleaseSelectLabelType'), trigger: 'blur' }
],
description:[
{ min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' },
description: [
{ min: 1, max: 200, message: this.$t('cantExeed') + '200' + this.$t('characters'), trigger: 'blur' }
]
},
// typeVisible:{},
dicVisible:false,
dictVal:'list',
dicVisible: false,
dictVal: 'list',
record: {},
isEdit:1,
flag:false, //表单提交标识
isEdit: 1,
flag: false //表单提交标识
}
},
computed:{
},
computed: {},
mounted() {
this.loadData();
this.loadData()
},
methods:{
methods: {
//获取列表数据
loadData(param){
this.loading=true
let params={
loadData(param) {
this.loading = true
let params = {
...this.queryParams,
isTagDict:1,
isTagDict: 1
}
// sys/dict/tagDictPage
// sys/dict/page
postAction(`sys/dict/tagDictPage`,params).then(res=>{
if(res.success){
this.total=res.result.total
this.tableData=[...res.result.records]
postAction(`sys/dict/tagDictPage`, params).then(res => {
if (res.success) {
this.total = res.result.total
this.tableData = [...res.result.records]
}
}).finally(()=>{
this.loading=false
}).finally(() => {
this.loading = false
})
},
//查询
searchQuery(){
this.queryParams.pageNo=1
searchQuery() {
this.queryParams.pageNo = 1
this.loadData()
},
searchReset(){
this.queryParams={
pageNo:1,
searchReset() {
this.queryParams = {
pageNo: 1,
pageSize: 10
}
this.loadData()
},
handleAdd(){
this.title=this.$t('add')
this.isEdit=1
this.contentVisible=true
this.form={}
handleAdd() {
this.title = this.$t('add')
this.isEdit = 1
this.contentVisible = true
this.form = {}
},
hideModal(){
let params={
...this.form,
hideModal() {
let params = {
...this.form
}
this.$refs.ruleForm.validate((valid)=>{
this.$refs.ruleForm.validate((valid) => {
// console.log('valide',valide)
if(valid){
if (valid) {
if(!this.flag){
this.flag=true
if(this.isEdit==1){
if (!this.flag) {
this.flag = true
if (this.isEdit == 1) {
params.id=''
params.isTagDict=1
params.isReadOnly=0
postAction(`sys/dict/add`,params).then(res=> {
params.id = ''
params.isTagDict = 1
params.isReadOnly = 0
postAction(`sys/dict/add`, params).then(res => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.contentVisible = false
@@ -244,25 +251,25 @@
}
}
}).finally(()=>{
this.flag=false
}).finally(() => {
this.flag = false
})
}else if(this.isEdit==0){
this.$delete(params,'isReadOnly')
this.$delete(params,'isTagDict')
} else if (this.isEdit == 0) {
this.$delete(params, 'isReadOnly')
this.$delete(params, 'isTagDict')
// console.log('editparams',params)
putAction(`sys/dict/edit`,params).then(res=>{
if(res.success){
this.$message.success( this.$t('OperationSuccessful'))
putAction(`sys/dict/edit`, params).then(res => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.reFresh()
this.loadData()
this.contentVisible=false
this.form={}
}else{
this.contentVisible = false
this.form = {}
} else {
this.$message.warning(this.$t('operationFailed'))
}
}).finally(()=>{
this.flag=false
}).finally(() => {
this.flag = false
})
}
}
@@ -271,7 +278,7 @@
},
//刷新缓存
reFresh(){
reFresh() {
getAction('sys/dict/refleshCache').then((res) => {
if (res.success) {
//重新加载缓存
@@ -286,17 +293,17 @@
console.log('刷新失败', e)
})
},
cancelModel(){
this.contentVisible=false
this.form={}
cancelModel() {
this.contentVisible = false
this.form = {}
},
onCellChange(){
onCellChange() {
},
//删除
onDelete(val){
let param={
id:val.id
onDelete(val) {
let param = {
id: val.id
}
this.$confirm({
title: this.$t('ConfirmDelete'),
@@ -307,12 +314,12 @@
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.reFresh()
if(this.tableData&&this.tableData.length==1&&this.queryParams.pageNo!=1){
this.queryParams.pageNo=this.queryParams.pageNo-1
if (this.tableData && this.tableData.length == 1 && this.queryParams.pageNo != 1) {
this.queryParams.pageNo = this.queryParams.pageNo - 1
}
this.loadData()
}else{
this.$message.warning(this.$t('operationFailed'));
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
}
@@ -320,16 +327,16 @@
},
onSelectChange(selectedRowKeys) {
// console.log('selectedRowKeys changed: ', selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
this.ids = this.selectedRowKeys;
console.log('selRows',selectedRowKeys)
this.selectedRowKeys = selectedRowKeys
this.ids = this.selectedRowKeys
console.log('selRows', selectedRowKeys)
},
//批量删除
batDelete(){
let params={
ids:this.ids.join(',')
batDelete() {
let params = {
ids: this.ids.join(',')
}
if(this.ids&&this.ids.length>0){
if (this.ids && this.ids.length > 0) {
this.$confirm({
title: this.$t('ConfirmDelete'),
content: '',
@@ -339,46 +346,45 @@
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.reFresh()
this.selectedRowKeys=[]
if(this.ids.length==this.tableData.length&&this.queryParams.pageNo!=1){
this.queryParams.pageNo=this.queryParams.pageNo-1
this.selectedRowKeys = []
if (this.ids.length == this.tableData.length && this.queryParams.pageNo != 1) {
this.queryParams.pageNo = this.queryParams.pageNo - 1
}
this.loadData()
// postAction(`online/cgform/api/doDbSynch/48308196e7b04761b533dc31bc899707/normal
// `,{}).then(res=>{
// })
}else{
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
}
else{
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
//编辑
actionEdit(val){
this.title=this.$t('edit')
this.isEdit=0
this.form={...val}
this.contentVisible=true
actionEdit(val) {
this.title = this.$t('edit')
this.isEdit = 0
this.form = { ...val }
this.contentVisible = true
},
//字典配置
handleDicPop(record){
this.record=record
if(record.attributeType=='1'){
handleDicPop(record) {
this.record = record
if (record.attributeType == '1') {
// console.log('attribu',record.attributeType,record.attributeType=='1')
// this.typeVisible[record.id]=false
this.dictVal='list'
this.dicVisible=true
this.dictVal = 'list'
this.dicVisible = true
}else if(record.attributeType=='2'){
} else if (record.attributeType == '2') {
// this.typeVisible[record.id]=false
this.dictVal='tree'
this.dicVisible=true
this.dictVal = 'tree'
this.dicVisible = true
}
},
afterDicVisibleChange(val) {
@@ -387,69 +393,107 @@
},
//字典列表关闭
onDicClose() {
this.dicVisible = false;
this.dicVisible = false
},
//点击页数
onChangePage(page,pageSize){
console.log('page',page)
onChangePage(page, pageSize) {
console.log('page', page)
this.queryParams.pageNo = page
this.loadData()
},
//一页显示条数
SizeChange(page,pageSize){
SizeChange(page, pageSize) {
this.queryParams.pageSize = pageSize
this.queryParams.pageNo=1
this.queryParams.pageNo = 1
this.loadData()
},
}
}
}
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
.tag-content{
.tag-con-table{
.action-dict,.action-edit{
.tag-content {
.tag-con-table {
.action-dict, .action-edit {
margin-right: 10px;
}
.action-delete{
color:red;
.action-delete {
color: red;
}
}
.page{
.page {
margin-top: 20px;
text-align: right;
}
}
.type-popover{
p{
margin:5px 0;
.type-popover {
p {
margin: 5px 0;
}
p:hover{
p:hover {
cursor: pointer;
color:#0c8fcf;
color: #0c8fcf;
}
}
.dict-drawer{
.ant-drawer-content-wrapper{
.dict-drawer {
.ant-drawer-content-wrapper {
width: 100%;
}
}
.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{
.ant-modal-footer{
.show-content {
.ant-modal-footer {
text-align: center;
}
}
.tag-content{
.tag-item{
.ant-col-6{
}
.tag-content {
.tag-item {
.ant-col-6 {
min-width: 130px;
}
}
}
}
</style>
@@ -3,71 +3,93 @@
<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>
<div class="table-operator">
<div class="operator-text" @click="handleAddPop" v-has="'tag:add'">
<a-icon type="plus" />
<a-icon type="plus"/>
{{$t('newlyAdded')}}
</div>
<div class="operator-text" @click="handleShow" v-if="key=='1'">
<a-icon type="rocket" :rotate="45" />
<a-icon type="rocket" :rotate="45"/>
{{$t('ExhibitionAreaManagement')}}
</div>
<div class="operator-text" @click="batDelete" v-has="'tag:logicDeleteBatch'">
<a-icon type="delete" />
<a-icon type="delete"/>
{{$t('BatchDelete')}}
</div>
</div>
<a-drawer class="show-drawer" :title="titleTag" placement="right" width="1000px" @close="close" :visible="drawerVisible" :after-visible-change="afterVisibleChange" >
<a-drawer class="show-drawer" :title="titleTag" placement="right" width="1000px" @close="close"
:visible="drawerVisible" :after-visible-change="afterVisibleChange">
<div class="new-tag-drawer">
<a-spin :spinning="spinningDrawer" style="width: 100%;height:100%">
<tag-form v-if="drawerVisible&&editFlag" ref="realForm" @ok="closeTag" :isTagContent="isTagContent" :editData="editData" :editId=editId :submitEdit="submitEdit" :disableEdit="disableEdit" :disabled="disableSubmit" :submitKey="submitKey" normal> </tag-form>
<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 :tableData="tableData" :columns="taglabColumns" @visibleEd="visibleEd" @visibleDelete="visibleDelete" :total="total" :parm="queryParam"></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>
</a-spin>
@@ -76,181 +98,182 @@
</template>
<script>
import { putAction,postAction,getAction,deleteAction } from '@/api/manage'
import { putAction, postAction, getAction, deleteAction } from '@/api/manage'
import JInput from '@/components/jero/JInput'
import TabTable from './TabTable'
import AreaManage from '../dialog/AreaManage'
import TagForm from '../dialog/TagForm'
export default {
name: 'tagItem',
components:{
components: {
JInput,
TabTable,
AreaManage,
TagForm
},
data(){
return{
spinning:false,
queryParamOne:{
pageNo:1,
pageSize:10,
data() {
return {
spinning: false,
queryParamOne: {
pageNo: 1,
pageSize: 10
},
queryParamTwo:{
pageNo:1,
pageSize:10,
queryParamTwo: {
pageNo: 1,
pageSize: 10
},
titleTag:this.$t('NewLabelItem'),
typeVisible:false,
isTagContent:false,
editData:{}, //编辑的数据
editFlag:true,
areas:[],
tableData:[],
titleTag: this.$t('NewLabelItem'),
typeVisible: false,
isTagContent: false,
editData: {}, //编辑的数据
editFlag: true,
areas: [],
tableData: [],
taglabColumns: [
{
title: this.$t('ChineseName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldTxt',
dataIndex: 'dbFieldTxt'
},
{
title: this.$t('enName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldEnName',
dataIndex: 'dbFieldEnName'
},
{
title: this.$t('AttributeType'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'fieldShowTypeName',
dataIndex: 'fieldShowTypeName'
},
{
title: this.$t('FieldLength'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'dbLength'
},
{
title: this.$t('DisplayOrder'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'orderNum'
},
{
title: this.$t('DisplayArea'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'showAreaName'
},
{
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: {customRender: 'action'},
align: "center",
scopedSlots: { customRender: 'action' },
align: 'center',
width: 170
}
],
taglabColumns1: [
{
title: this.$t('ChineseName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldTxt',
dataIndex: 'dbFieldTxt'
},
{
title: this.$t('enName'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'dbFieldEnName',
dataIndex: 'dbFieldEnName'
},
{
title: this.$t('AttributeType'),
align: "center",
align: 'center',
width: 100,
dataIndex: 'fieldShowTypeName',
dataIndex: 'fieldShowTypeName'
},
{
title: this.$t('FieldLength'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'dbLength'
},
{
title: this.$t('DisplayOrder'),
align: "center",
align: 'center',
width: 80,
dataIndex: 'orderNum'
},
{
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: {customRender: 'action'},
align: "center",
scopedSlots: { customRender: 'action' },
align: 'center',
width: 170
}
],
areaVisible:false,
areaTable:[],
areaTotal:0,
drawerVisible:false,
value:1,
editId:'',
submitEdit:'add',
key:1,
total:0,
type:'input',
ids:[],
disableSubmit:false,
selectedRowKey:[],
spinningDrawer:false,
disableEdit:true,
submitKey:'1'
areaVisible: false,
areaTable: [],
areaTotal: 0,
drawerVisible: false,
value: 1,
editId: '',
submitEdit: 'add',
key: 1,
total: 0,
type: 'input',
ids: [],
disableSubmit: false,
selectedRowKey: [],
spinningDrawer: false,
disableEdit: true,
submitKey: '1'
}
},
mounted() {
this.loadData(1)
this.loadShowArea()
},
methods:{
methods: {
//获取展示区域
loadShowArea(){
let params = {};
getAction(`tag/onlCgformArea/queryShowArea`,params).then((res)=>{
if(res.success){
this.areas=res.result
loadShowArea() {
let params = {}
getAction(`tag/onlCgformArea/queryShowArea`, params).then((res) => {
if (res.success) {
this.areas = res.result
}
});
})
},
searchQuery(){
this.queryParamOne.pageNo=1
this.queryParamTwo.pageNo=1
if(this.key==1){
searchQuery() {
this.queryParamOne.pageNo = 1
this.queryParamTwo.pageNo = 1
if (this.key == 1) {
this.loadData(1)
}else if(this.key==2){
} else if (this.key == 2) {
this.loadData(0)
}
},
searchReset(){
this.queryParamOne={
pageNo:0,
searchReset() {
this.queryParamOne = {
pageNo: 0,
pageSize: 10
}
this.queryParamTwo={
pageNo:0,
this.queryParamTwo = {
pageNo: 0,
pageSize: 10
}
this.searchQuery()
},
handleAdd(){
this.drawerVisible=true
handleAdd() {
this.drawerVisible = true
},
//区域管理列表数据
handleShow(){
this.areaVisible=true
handleShow() {
this.areaVisible = true
// getAction(`tag/onlCgformArea/page`,{}).then(res=>{
// if(res.success){
// this.areaTable=res.result
@@ -259,99 +282,99 @@
// })
},
//标签项管理文档库初始数据
loadData(val){
this.spinning=true
this.tableData=[]
let paramsOne={
loadData(val) {
this.spinning = true
this.tableData = []
let paramsOne = {
...this.queryParamOne,
isModel:1
isModel: 1
}
let paramsTwo={
let paramsTwo = {
...this.queryParamTwo,
isModel:1
isModel: 1
}
let paramsItem
// console.log('params',params)
if(val==1){
if (val == 1) {
// console.log('1')
paramsOne.isModel=1
paramsOne.isModel = 1
paramsItem = paramsOne
}else if(val==0){
paramsTwo.isModel=0
} else if (val == 0) {
paramsTwo.isModel = 0
paramsItem = paramsTwo
}
postAction(`tag/onlCgformTag/page`,paramsItem).then(res=>{
if(res.success){
this.total=res.result.total
this.tableData= [ ...res.result.records]
this.spinning=false
}else{
postAction(`tag/onlCgformTag/page`, paramsItem).then(res => {
if (res.success) {
this.total = res.result.total
this.tableData = [...res.result.records]
this.spinning = false
} else {
this.$message.warning(res.message)
this.spinning=false
this.spinning = false
}
})
},
//标签项管理tab切换
callbackTab(value){
this.key=value
if(value==1){
this.queryParamOne.dbFieldTxt=''
this.submitKey='1'
this.queryParamOne.pageNo=1
callbackTab(value) {
this.key = value
if (value == 1) {
this.queryParamOne.dbFieldTxt = ''
this.submitKey = '1'
this.queryParamOne.pageNo = 1
this.loadData(1)
// this.tableData=this.taglab
// this.tableData=this.taglabSplit
}else if(value==2){
this.queryParamTwo.dbFieldTxt=''
this.submitKey='2'
this.queryParamTwo.pageNo=1
} else if (value == 2) {
this.queryParamTwo.dbFieldTxt = ''
this.submitKey = '2'
this.queryParamTwo.pageNo = 1
this.loadData(0)
}
},
diaHide(vis){
this.areaVisible=vis
diaHide(vis) {
this.areaVisible = vis
},
hideModal(){
this.visible = false;
hideModal() {
this.visible = false
},
close(){
this.drawerVisible=false
close() {
this.drawerVisible = false
},
submitOk(value){
submitOk(value) {
this.handleShow()
},
deleteOk(value){
deleteOk(value) {
this.handleShow()
},
//编辑按钮
updateOk(value){
updateOk(value) {
this.handleShow()
},
//编辑
visibleEd(val,id,title){
this.editFlag=false
this.disableEdit=true
this.drawerVisible=val
this.titleTag=title
this.editId=id
this.submitEdit='edit'
let params={
id:id,
visibleEd(val, id, title) {
this.editFlag = false
this.disableEdit = true
this.drawerVisible = val
this.titleTag = title
this.editId = id
this.submitEdit = 'edit'
let params = {
id: id
}
this.spinningDrawer=true
getAction(`tag/onlCgformTag/queryById`,params).then(res=>{
if(res.success){
this.editData=res.result
this.editFlag=true
this.spinningDrawer = true
getAction(`tag/onlCgformTag/queryById`, params).then(res => {
if (res.success) {
this.editData = res.result
this.editFlag = true
}
}).finally(()=>{
this.spinningDrawer=false
}).finally(() => {
this.spinningDrawer = false
})
},
//删除
visibleDelete(id){
let params={
id:id
visibleDelete(id) {
let params = {
id: id
}
this.$confirm({
title: this.$t('ConfirmDelete'),
@@ -384,15 +407,15 @@
}
})
},
selecteds(val){
this.ids=val
selecteds(val) {
this.ids = val
},
//批量删除
batDelete(val){
let params={
ids:this.ids.join(',')
batDelete(val) {
let params = {
ids: this.ids.join(',')
}
if(this.ids){
if (this.ids) {
this.$confirm({
title: this.$t('ConfirmDelete'),
content: '',
@@ -402,70 +425,69 @@
if (res.success) {
if (this.key == 1) {
this.$message.success(this.$t('OperationSuccessful'))
if(this.ids&&this.ids.length==this.tableData.length){
this.queryParamOne.pageNo=this.queryParamOne.pageNo-1
if (this.ids && this.ids.length == this.tableData.length) {
this.queryParamOne.pageNo = this.queryParamOne.pageNo - 1
}
this.selectedRowKey=[]
this.selectedRowKey = []
this.loadData(1)
} else if (this.key == 2) {
this.$message.success(this.$t('OperationSuccessful'))
if(this.ids&&this.ids.length==this.tableData.length){
this.queryParamTwo.pageNo=this.queryParamTwo.pageNo-1
if (this.ids && this.ids.length == this.tableData.length) {
this.queryParamTwo.pageNo = this.queryParamTwo.pageNo - 1
}
this.loadData(0)
}
// postAction(`online/cgform/api/doDbSynch/48308196e7b04761b533dc31bc899707/normal
// `,{}).then(res=>{
// })
}else{
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
}
else{
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
//新增关闭
closeTag(val){
this.drawerVisible=val
if(this.key==1){
closeTag(val) {
this.drawerVisible = val
if (this.key == 1) {
this.loadData(1)
}else if(this.key==2){
} else if (this.key == 2) {
this.loadData(0)
}
},
afterVisibleChange(val){
afterVisibleChange(val) {
// console.log('val',val)
},
handleAddPop(val){
this.editData={}
if(this.submitKey=='1'){
this.editData.isModel='1'
}else if(this.submitKey=='2'){
this.editData.isModel='0'
handleAddPop(val) {
this.editData = {}
if (this.submitKey == '1') {
this.editData.isModel = '1'
} else if (this.submitKey == '2') {
this.editData.isModel = '0'
}
this.disableEdit=false
this.drawerVisible=true
this.titleTag=this.$t('NewLabelItem')
this.submitEdit='add'
this.disableEdit = false
this.drawerVisible = true
this.titleTag = this.$t('NewLabelItem')
this.submitEdit = 'add'
// this.type=val
if(val=='input'){
this.typeVisible=false
this.isTagContent=false
} else if(val='select'){
this.typeVisible=false
this.isTagContent=true
if (val == 'input') {
this.typeVisible = false
this.isTagContent = false
} else if (val = 'select') {
this.typeVisible = false
this.isTagContent = true
}
},
queryParamsOne(val) {
this.queryParamOne.pageNo=val.pageNo
this.queryParamOne.pageSize=val.pageSize
if(this.key==1){
this.queryParamOne.pageNo = val.pageNo
this.queryParamOne.pageSize = val.pageSize
if (this.key == 1) {
this.loadData(1)
}
// else if(this.key==2){
@@ -473,12 +495,12 @@
// }
},
queryParamsTwo(val) {
this.queryParamTwo.pageNo=val.pageNo
this.queryParamTwo.pageSize=val.pageSize
this.queryParamTwo.pageNo = val.pageNo
this.queryParamTwo.pageSize = val.pageSize
// if(this.key==1){
// this.loadData(1)
// } else
if(this.key==2){
if (this.key == 2) {
this.loadData(0)
}
},
@@ -493,11 +515,11 @@
// }
//
// },
handleOk () {
this.$refs.realForm.submitForm();
handleOk() {
this.$refs.realForm.submitForm()
},
handleCancel () {
this.drawerVisible=false
handleCancel() {
this.drawerVisible = false
this.close()
}
}
@@ -506,47 +528,90 @@
<style lang="less" scoped>
@import '~@assets/less/common.less';
.type-popover{
p{
margin:5px;
.type-popover {
p {
margin: 5px;
}
p:hover{
p:hover {
color: #0c8fcf;
cursor: pointer;
}
}
.new-tag-drawer{
.drawer-footer{
}
.new-tag-drawer {
.drawer-footer {
height: 32px;
display: flex;
justify-content: center;
.ant-btn {
margin-left: 30px;
margin-bottom: 30px;
float: right;
}
}
}
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
.title-text {
width: 60px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
.box-button {
height: 38px;
/*margin-top: 2px;*/
}
</style>
<style lang="less">
.show-area{
.ant-modal-wrap{
.ant-modal{
width: 1000px!important;
}
}
.diolag-area{
.table-operator{
text-align: right;
}
.page{
text-align: right;
}
.show-area {
.ant-modal-wrap {
.ant-modal {
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'">
@@ -1,7 +1,8 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<!-- 认证参数收集-参数项收集清单-10控件-->
<!-- 认证参数收集-参数项收集清单-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">
@@ -98,37 +100,38 @@
<a-icon type="plus"/>
{{$t('addTo')}}
</div>
<!-- 分配填写人-->
<!-- 分配填写人-->
<div @click="assignedBy" class="operator-text">
<a-icon type="copy"/>
{{$t('Assignedby')}}
</div>
<!-- 提交-->
<!-- 提交-->
<div @click="handleSubmit" class="operator-text">
<a-icon type="plus"/>
{{$t('submit')}}
</div>
<!-- 退回-->
<!-- 退回-->
<div @click="returnDataJurisdiction" class="operator-text">
<a-icon type="plus"/>
{{$t('sendBack')}}
</div>
<!-- 引用参数-->
<!-- 引用参数-->
<div @click="referenceparameter" class="operator-text">
<a-icon type="plus"/>
{{$t('referenceparameter')}}
</div>
<!-- 批量删除-->
<!-- 批量删除-->
<div @click="handleDelJurisdiction" class="operator-text" v-has="'document:deleteBatch'">
<a-icon type="delete"/>
{{$t('BatchDelete')}}
</div>
</div>
<div style="width: 100%">
<!-- 表格-10控件-->
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue' :formInline='formInline' @LoginUserType='LoginUserType' @value='value'/>
<!-- 表格-10控件-->
<table-collection ref="CollectionTabel" :url='url' :paramsManifest='paramsManifest' @rowValue='rowValue'
:formInline='formInline' @LoginUserType='LoginUserType' @value='value'/>
</div>
<!-- 添加--->
<!-- 添加--->
<a-modal v-model="areaVisible" :title="$t('ParameterLibrary')" width='750px' :footer="null">
<parameter-library-add v-if='areaVisible' :paramsManifest='paramsManifest'/>
</a-modal>
@@ -159,22 +162,27 @@
<div class="imports-footer">
<div class="imports-footer-wrap">
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze" v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}</a-button>
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze"
v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}
</a-button>
<a-button class="imports-btn" type="primary" @click="cancleImportsFreeze">{{$t('cancel')}}</a-button>
</div>
</div>
</a-modal>
<!-- 分配填写人--->
<a-modal v-model="areaVisibleAssignedby" :title="$t('Assignedby')" width='950px' :footer="null">
<assigned-by v-if='areaVisibleAssignedby' :selectedRowKeysArray='selectedRowKeysArray' @areaVisibleAssignedbyflag='areaVisibleAssignedbyflag'/>
<assigned-by v-if='areaVisibleAssignedby' :selectedRowKeysArray='selectedRowKeysArray'
@areaVisibleAssignedbyflag='areaVisibleAssignedbyflag'/>
</a-modal>
<!-- 截至时间--->
<a-modal v-model="areaVisibleTaskCutOffTime" :title="$t('TaskCutOffTime')" width='650px' :footer="null">
<task-cut-off-time v-if='areaVisibleTaskCutOffTime' :selectedRowKeysArray='selectedRowKeysArray' @areaVisibleTaskCutOffTimeflag='areaVisibleTaskCutOffTimeflag'/>
<task-cut-off-time v-if='areaVisibleTaskCutOffTime' :selectedRowKeysArray='selectedRowKeysArray'
@areaVisibleTaskCutOffTimeflag='areaVisibleTaskCutOffTimeflag'/>
</a-modal>
<!-- 引用参数--->
<a-modal v-model="areaVisiblereferenceparameter" :title="$t('referenceparameter')" width='650px' :footer="null">
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest' :selectedRowKeysArray='selectedRowKeysArray'/>
<reference-parameter v-if='areaVisiblereferenceparameter' :paramsManifest='paramsManifest'
:selectedRowKeysArray='selectedRowKeysArray'/>
</a-modal>
</a-card>
</template>
@@ -309,15 +317,15 @@ export default {
// 仅仅状态为 已提交 可以退回
homoJurisdictionReturn() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.success(this.$t('selectLeastOne'))
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '已提交') {
flag = 1
if(item.state !== '已提交') {
flag = 0
}
})
if(flag === 1) {
@@ -326,7 +334,43 @@ export default {
this.$message.warning(this.$t('operatethisbutton'))
}
}
}else {
// 工程接口人 退回 权限
// 待工程接口人处理 填写人退回
}else if(this.sdt){
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
flag = 0
}
})
if(flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
} else if(this.dre){
// 填写人
// 待填写 认证工程师退回 状态
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待填写' && item.state !== '认证工程师退回') {
flag = 0
}
})
if(flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
} else {
this.$message.success(this.$t('operatethisbutton'))
}
return flag
@@ -335,15 +379,15 @@ export default {
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以批量删除
homoJurisdictionBatchdelete() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '待发起收集' || item.state === '工程接口人退回' || item.state === '变更') {
flag = 1
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
flag = 0
}
})
if(flag === 1) {
@@ -352,7 +396,11 @@ export default {
this.$message.warning(this.$t('operatethisbutton'))
}
}
}else {
// 工程接口人没有权限
}else if(this.sdt) {
flag = 0
this.$message.warning(this.$t('operatethisbutton'))
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
return flag
@@ -361,15 +409,15 @@ export default {
// 仅仅状态为 已提交 变更 可以同步上报库
homoJurisdictionSynchronousLibrary() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '已提交' || item.state === '变更') {
flag = 1
if(item.state !== '已提交' && item.state !== '变更') {
flag = 0
}
})
if(flag === 1) {
@@ -387,15 +435,15 @@ export default {
// 仅仅状态为 待工程接口人处理 填写人退回 可以强制撤回
homoJurisdictionCompulsoryWithdrawal() {
// 定义开关 0为没有权限 1为有权限
let flag = 0
let flag = 1
if(this.homo) {
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.success(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state === '待工程接口人处理' || item.state === '填写人退回') {
flag = 1
if(item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
flag = 0
}
})
if(flag === 1) {
@@ -404,40 +452,107 @@ export default {
this.$message.warning(this.$t('operatethisbutton'))
}
}
}else {
// 工程接口人 强制撤回 权限
// 仅仅状态为 待填写 可以强制撤回
}else if(this.sdt){
if(this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if(item.state !== '待填写') {
flag = 0
}
})
if(flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
} else {
this.$message.success(this.$t('operatethisbutton'))
}
return flag
},
// 工程接口人 分配填写人 权限
// 仅仅状态为 待工程接口人处理 填写人退回 可以分配填写人
sdtJurisdictionAssigned() {
// 定义开关 0为没有权限 1为有权限
let flag = 1
if(this.sdt) {
if (this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if (item.state !== '待工程接口人处理' && item.state !== '填写人退回') {
flag = 0
}
})
if (flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
} else {
this.$message.success(this.$t('operatethisbutton'))
}
return flag
},
// 填写人 提交 权限
// 仅仅状态为 待填写 认证工程师退回 可以提交
dreJurisdictionSubmit() {
// 定义开关 0为没有权限 1为有权限
let flag = 1
if(this.sdt) {
if (this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if (item.state !== '待填写' && item.state !== '认证工程师退回') {
flag = 0
}
})
if (flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
} else {
this.$message.success(this.$t('operatethisbutton'))
}
return flag
},
// 填写人 引用参数 权限
// 仅仅状态为 待填写 认证工程师退回 可以引用参数
dreJurisdictionreferenceParameter() {
// 定义开关 0为没有权限 1为有权限
let flag = 1
if(this.sdt) {
if (this.selectedRowKeysValue.length == 0) {
flag = 0
this.$message.warning(this.$t('selectLeastOne'))
} else {
this.selectedRowKeysValue.forEach((item, index) => {
if (item.state !== '待填写' && item.state !== '认证工程师退回') {
flag = 0
}
})
if (flag === 1) {
flag = 1
} else {
this.$message.warning(this.$t('operatethisbutton'))
}
}
} else {
this.$message.success(this.$t('operatethisbutton'))
}
return flag
},
// 工程接口人
// 工程接口人 下发收集 权限
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以下发收集
// homoJurisdictionDistributionCollection() {
// // 定义开关 0为没有权限 1为有权限
// let flag = 1
// if(this.homo) {
// if(this.selectedRowKeysValue.length == 0) {
// flag = 0
// this.$message.success(this.$t('selectLeastOne'))
// } else {
// this.selectedRowKeysValue.forEach((item, index) => {
// if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
// flag = 0
// }
// })
// if(flag === 1) {
// flag = 1
// } else {
// this.$message.warning(this.$t('operatethisbutton'))
// }
// }
// }else {
// this.$message.success(this.$t('operatethisbutton'))
// }
// return flag
// },
LoginUserType(val) {
val.split(',').forEach((item,index) => {
if(item === 'homo') {
@@ -611,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,14 +884,18 @@ export default {
// 认证工程师 工程接口人 任意状态 都无此权限
this.$message.warning(this.$t('operatethisbutton'))
} else {
// 填写人的权限
let dreJurisdictionreferenceParameter = this.dreJurisdictionreferenceParameter()
if(dreJurisdictionreferenceParameter) {
this.areaVisiblereferenceparameter = true
}
}
},
handleModule() {
},
handleCody() {
console.log(this.paramsManifest,'paramsManifestparamsManifestparamsManifestparamsManifest')
console.log(this.paramsManifest, 'paramsManifestparamsManifestparamsManifestparamsManifest')
},
searchQuery() {
this.pageNo = 1
@@ -779,12 +906,12 @@ export default {
},
handleDelJurisdiction() {
let homoJurisdictionBatchdelete = this.homoJurisdictionBatchdelete()
if(homoJurisdictionBatchdelete) {
if (homoJurisdictionBatchdelete) {
this.handleDel()
}
},
handleDel(){
let param={
handleDel() {
let param = {
ids: this.selectedRowKeysArray
}
if (this.selectedRowKeys.length > 0) {
@@ -796,7 +923,7 @@ export default {
url: '/jero-boot/params/collectManifest/deleteBatch',
method: 'post',
data: param,
transformRequest: [function (data) {
transformRequest: [function(data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
@@ -805,22 +932,22 @@ export default {
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token':_this.token
'X-Access-Token': _this.token
}
})
.then( (res) =>{
.then((res) => {
if (res.data.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.selectedRowKeys = []
_this.$refs.CollectionTabel.getData()
_this.$refs.CollectionTabel.getTableList()
}else{
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
})
.catch( (error) =>{
console.log(error);
});
.catch((error) => {
console.log(error)
})
}
})
} else {
@@ -832,15 +959,15 @@ export default {
},
SizeChange() {
},
}
}
}
}
</script>
<style lang="less" scoped>
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
.doc-detail {
.doc-detail {
background: #fff;
height: 100%;
@@ -890,24 +1017,24 @@ export default {
line-height: 42px;
}
}
}
}
.header-text {
.header-text {
font-size: 16px;
font-weight: 400;
height: 60px;
color: #000F16;
line-height: 40px;
}
}
.box-title-text {
.box-title-text {
line-height: 1.4;
display: flex;
align-items: center;
margin-bottom: 10px;
}
}
.title-text {
.title-text {
width: 20%;
min-width: 110px;
color: #000F16;
@@ -920,43 +1047,43 @@ export default {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.box-input {
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
}
.box-button {
.box-button {
height: 38px;
}
}
.text-operation {
.text-operation {
margin-right: 8px;
}
}
.page {
.page {
text-align: right;
margin-top: 20px;
}
}
.operator-text-left {
.operator-text-left {
font-size: 14px;
margin-right: 20px;
background: #eff1f3;
padding: 8px 8px;
cursor: pointer;
border-radius: 4px;
}
}
</style>
<style>
.box-input .ant-select-selection {
.box-input .ant-select-selection {
height: 38px !important;
}
}
.box-input .ant-select-selection__rendered {
.box-input .ant-select-selection__rendered {
line-height: 38px;
}
}
</style>
@@ -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">
@@ -72,21 +74,23 @@
@showSizeChange="SizeChange"
/>
</div>
<!-- 参数模板-->
<!-- 参数模板-->
<a-modal v-model="areaVisible" :title="$t('parameterTemplate')" width='750px' :footer="null">
<parameter-template-add v-if='areaVisible' @areaVisible='handleCancel' :templateTitle='templatetitle'
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version' :projectId='this.$route.query.id'></parameter-template-add>
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version'
:projectId='this.$route.query.id'></parameter-template-add>
</a-modal>
<!-- 配置-->
<!-- 配置-->
<configure ref="configureRef" :url='url' :itemId='itemId'/>
<!-- 历史版本-->
<!-- 历史版本-->
<a-modal v-model="historicalVisible" :title="$t('historicalVersion')" width='750px' :footer="null">
<historical-version v-if='historicalVisible' :historicalRow='historicalRow'></historical-version>
</a-modal>
<!-- 复制参数模板-->
<a-modal v-model="areaVisibleCody" :title="$t('CopyProjectCollectionparameters')" width='750px' :footer="null">
<parameter-template-cody v-if='areaVisibleCody' @areaVisible='handleCancel' :templateTitle='templatetitle'
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version' :projectId='this.$route.query.id'></parameter-template-cody>
:selectedRowKeyS='selectedRowKeys' :rowId='rowId' :version='version'
:projectId='this.$route.query.id'></parameter-template-cody>
</a-modal>
</a-card>
</template>
@@ -96,23 +100,24 @@
import ParameterTemplateAdd from '../dialog/ParameterTemplateAdd'
import ParameterTemplateCody from '../dialog/ParameterTemplateCody'
import HistoricalVersion from '../dialog/historicalVersion'
import { getAction,postAction } from '../../../api/manage'
import { getAction, postAction } from '../../../api/manage'
import Configure from '../dialog/configure'
import axios from 'axios'
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
export default {
name: 'TaskParameterCollection',
components:{
components: {
ImportFile,
ParameterTemplateAdd,
Configure,
HistoricalVersion,
ParameterTemplateCody
},
data(){
return{
columns:[
data() {
return {
columns: [
{
title: this.$t('title'),
align: 'center',
@@ -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'),
@@ -157,7 +162,7 @@
scopedSlots: { customRender: 'operation' }
}
],
token:Vue.ls.get(ACCESS_TOKEN),
token: Vue.ls.get(ACCESS_TOKEN),
selectedRowKeys: [],
queryParam: {},
url: {
@@ -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,18 +190,18 @@
itemId: '',
historicalVisible: false,
historicalRow: {}, // 历史版本得数据
areaVisibleCody: false, // 复制参数清单得弹框
areaVisibleCody: false // 复制参数清单得弹框
}
},
mounted() {
this.getlist()
},
methods:{
methods: {
paramsManifestClick(item) {
localStorage.setItem('paramsManifest',JSON.stringify(item))
localStorage.setItem('paramsManifest', JSON.stringify(item))
let newUrl = this.$router.resolve({
path: '/ParameterItemCollection',
query: this.$route.query,
query: this.$route.query
})
window.open(newUrl.href, '_blank')
},
@@ -247,7 +252,7 @@
this.selectedRowKeys = val
this.selectedRowKeysArray = val.join(',')
},
edit(edit){
edit(edit) {
this.areaVisible = true
let _this = this
let query = {
@@ -263,15 +268,15 @@
}
})
},
handleAdd(){
handleAdd() {
this.areaVisible = true
},
handleModule(){
handleModule() {
let _this = this
axios({
url: `/jero-boot/params/manifest/changeExtension?id=${this.selectedRowKeys[0]}`,
method: 'get',
transformRequest: [function (data) {
transformRequest: [function(data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
@@ -280,22 +285,22 @@
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token':_this.token
'X-Access-Token': _this.token
}
})
.then( (res) =>{
.then((res) => {
if (res.data.success) {
_this.$message.success(res.data.message)
}else{
} else {
_this.$message.warning(res.data.message)
}
})
.catch( (error) =>{
console.log(error);
});
.catch((error) => {
console.log(error)
})
},
handleDel(){
let param={
handleDel() {
let param = {
ids: this.selectedRowKeysArray
}
if (this.selectedRowKeys.length > 0) {
@@ -320,7 +325,7 @@
handleCody() {
this.areaVisibleCody = true
},
getPersonnelList(){
getPersonnelList() {
},
pageOnChange() {
@@ -337,7 +342,7 @@
...this.queryParam
}
getAction(this.url.list, query).then((res) => {
if(res.success) {
if (res.success) {
this.total = res.result.total
this.dataSource = res.result.records || []
this.loading = false
@@ -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"
@@ -210,7 +212,7 @@
.drawer-bootom-button {
position: absolute;
bottom: 0;
z-index:100;
z-index: 100;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
@@ -4,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