Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage

This commit is contained in:
liyawei
2022-08-04 18:33:00 +08:00
49 changed files with 792 additions and 384 deletions
@@ -1,5 +1,6 @@
package com.jero.modules.problemKnowledgeBase.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
@@ -35,7 +36,7 @@ import com.jero.common.aspect.annotation.AutoLog;
public class CountryCardTempEOController extends JeroController<CountryCardTempEO, ICountryCardTempEOService> {
@Autowired
private ICountryCardTempEOService countryCardTempEOService;
/**
* 分页列表查询
*
@@ -55,6 +56,7 @@ public class CountryCardTempEOController extends JeroController<CountryCardTempE
QueryWrapper<CountryCardTempEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempEO, req.getParameterMap());
Page<CountryCardTempEO> page = new Page<CountryCardTempEO>(pageNo, pageSize);
IPage<CountryCardTempEO> pageList = countryCardTempEOService.page(page, queryWrapper);
this.countryCardTempEOService.disposeData(pageList.getRecords(),countryCardTempEO.getCut());
return Result.OK(pageList);
}
@@ -66,8 +68,9 @@ public class CountryCardTempEOController extends JeroController<CountryCardTempE
@AutoLog(value = "Country Card模板维护表-列表查询")
@ApiOperation(value="Country Card模板维护表-列表查询", notes="Country Card模板维护表-列表查询")
@GetMapping(value = "/list")
public Result<List<CountryCardTempEO>> queryList() {
List<CountryCardTempEO> list = countryCardTempEOService.queryList();
public Result<List<CountryCardTempEO>> queryList(CountryCardTempEO countryCardTempEO,HttpServletRequest req) {
List<CountryCardTempEO> list = countryCardTempEOService.queryList(countryCardTempEO,req);
this.countryCardTempEOService.disposeData(list,countryCardTempEO.getCut());
return Result.OK(list);
}
@@ -141,7 +144,16 @@ public class CountryCardTempEOController extends JeroController<CountryCardTempE
if(countryCardTempEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(countryCardTempEO);
List<CountryCardTempEO> countryCardTempEOList = new ArrayList<>();
countryCardTempEOList.add(countryCardTempEO);
this.countryCardTempEOService.disposeData(countryCardTempEOList,countryCardTempEO.getCut());
if(countryCardTempEOList.size() == 0){
return Result.error("未找到对应数据");
}
return Result.OK(countryCardTempEOList.get(0));
}
/**
@@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog;
public class CountryCardTempItemEOController extends JeroController<CountryCardTempItemEO, ICountryCardTempItemEOService> {
@Autowired
private ICountryCardTempItemEOService countryCardTempItemEOService;
/**
* 分页列表查询
*
@@ -66,8 +66,8 @@ public class CountryCardTempItemEOController extends JeroController<CountryCardT
@AutoLog(value = "Country Card模板维护-字典项表-列表查询")
@ApiOperation(value="Country Card模板维护-字典项表-列表查询", notes="Country Card模板维护-字典项表-列表查询")
@GetMapping(value = "/list")
public Result<List<CountryCardTempItemEO>> queryList() {
List<CountryCardTempItemEO> list = countryCardTempItemEOService.queryList();
public Result<List<CountryCardTempItemEO>> queryList(CountryCardTempItemEO countryCardTempItemEO,HttpServletRequest req) {
List<CountryCardTempItemEO> list = countryCardTempItemEOService.queryList(countryCardTempItemEO,req);
return Result.OK(list);
}
@@ -3,7 +3,10 @@ package com.jero.modules.problemKnowledgeBase.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -86,4 +89,10 @@ public class CountryCardTempEO implements Serializable {
@ApiModelProperty(value = "描述")
private java.lang.String description;
/**Country Card模板维护-字典项实体*/
@TableField(exist = false)
private List<CountryCardTempItemEO> countryCardTempItemEOList;
@TableField(exist = false)
private String cut;
}
@@ -0,0 +1,49 @@
package com.jero.modules.problemKnowledgeBase.enums;
import com.jero.common.constant.enums.CutEnum;
import org.apache.commons.lang3.StringUtils;
/**
* 标签类型枚举类
*/
public enum LableTypeEnum {
PULL_SINGLE("单选下拉框","Option drop - down box","3"),
FILE("文件","file","7"),
TEXT("文本框","text","8"),
LINK("链接输入","Link to the input","9"),
;
String cnName;
String enName;
String value;
private LableTypeEnum(String cnName,String enName, String value) {
this.cnName = cnName;
this.enName = enName;
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public static String getTextByValue(String value,String cut) {
LableTypeEnum[] values = values();
for (LableTypeEnum taskStatusEnum : values) {
if (taskStatusEnum.value.equals(value)) {
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
return taskStatusEnum.cnName;
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
return taskStatusEnum.enName;
}
}
}
return null;
}
}
@@ -2,6 +2,8 @@ package com.jero.modules.problemKnowledgeBase.service;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@@ -57,5 +59,12 @@ public interface ICountryCardTempEOService extends IService<CountryCardTempEO> {
*
* @return
*/
List<CountryCardTempEO> queryList();
List<CountryCardTempEO> queryList(CountryCardTempEO countryCardTempEO, HttpServletRequest req);
/***
* 处理数据
* @param datas
* @param cut
*/
void disposeData(List<CountryCardTempEO> datas, String cut);
}
@@ -1,7 +1,10 @@
package com.jero.modules.problemKnowledgeBase.service;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@@ -57,5 +60,7 @@ public interface ICountryCardTempItemEOService extends IService<CountryCardTempI
*
* @return
*/
List<CountryCardTempItemEO> queryList();
List<CountryCardTempItemEO> queryList(CountryCardTempItemEO countryCardTempItemEO, HttpServletRequest req);
void batchInsert(List<CountryCardTempItemEO> countryCardTempItemEOList, String id,String cut);
}
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库-country_card-管理发布明细表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl<CountryCardManageReleaseDetailEOMapper, CountryCardManageReleaseDetailEO> implements ICountryCardManageReleaseDetailEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库-country_card-管理发布表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCardManageReleaseEOMapper, CountryCardManageReleaseEO> implements ICountryCardManageReleaseEOService {
/**
@@ -1,12 +1,28 @@
package com.jero.modules.problemKnowledgeBase.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO;
import com.jero.modules.problemKnowledgeBase.enums.LableTypeEnum;
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempEOMapper;
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService;
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
/**
* @Description: Country Card模板维护表
@@ -15,8 +31,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOMapper, CountryCardTempEO> implements ICountryCardTempEOService {
@Autowired
private ICountryCardTempItemEOService countryCardTempItemEOService;
/**
* 保存
*
@@ -29,6 +49,10 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
countryCardTempEO.setCreateTime(now);
countryCardTempEO.setUpdateTime(now);
save(countryCardTempEO);
//如果选择了下拉框
if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
this.countryCardTempItemEOService.batchInsert(countryCardTempEO.getCountryCardTempItemEOList(),countryCardTempEO.getId(),countryCardTempEO.getCut());
}
}
/**
@@ -42,6 +66,10 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
Date now = new Date();
countryCardTempEO.setUpdateTime(now);
saveOrUpdate(countryCardTempEO);
//如果选择了下拉框
if(StringUtils.equals(countryCardTempEO.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){
this.countryCardTempItemEOService.batchInsert(countryCardTempEO.getCountryCardTempItemEOList(),countryCardTempEO.getId(),countryCardTempEO.getCut());
}
}
/**
@@ -83,7 +111,35 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
* @return
*/
@Override
public List<CountryCardTempEO> queryList() {
return list();
public List<CountryCardTempEO> queryList(CountryCardTempEO countryCardTempEO, HttpServletRequest req) {
QueryWrapper<CountryCardTempEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempEO, req.getParameterMap());
List<CountryCardTempEO> result = this.list(queryWrapper);
return result;
}
@Override
public void disposeData(List<CountryCardTempEO> datas, String cut) {
if (CollectionUtils.isNotEmpty(datas)) {
List<String> countroCardTempIdList = datas.stream().map(CountryCardTempEO::getId).distinct().collect(Collectors.toList());
QueryWrapper<CountryCardTempItemEO> tempItemEOQueryWrapper = new QueryWrapper<>();
tempItemEOQueryWrapper.lambda().in(CountryCardTempItemEO::getCountryCardTempId,countroCardTempIdList);
List<CountryCardTempItemEO> countryCardTempItemEOList = this.countryCardTempItemEOService.list(tempItemEOQueryWrapper);
datas.forEach(countryCardTemp -> {
//如果该条数据的标签类型是下拉选项
if(CollectionUtils.isNotEmpty(countryCardTempItemEOList) && StringUtils.equals(countryCardTemp.getLableType(),LableTypeEnum.PULL_SINGLE.getValue())){
//把这条模板的下拉选项设置进去
List<CountryCardTempItemEO> collect = countryCardTempItemEOList.stream().filter(countryCardTempItemEO -> {
boolean flag = false;
if (StringUtils.equals(countryCardTemp.getId(), countryCardTempItemEO.getCountryCardTempId())) {
flag = true;
}
return flag;
}).collect(Collectors.toList());
countryCardTemp.setCountryCardTempItemEOList(collect);
}
});
}
}
}
@@ -1,12 +1,26 @@
package com.jero.modules.problemKnowledgeBase.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO;
import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO;
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempItemEOMapper;
import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import java.util.UUID;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
/**
* @Description: Country Card模板维护-字典项表
@@ -15,6 +29,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class CountryCardTempItemEOServiceImpl extends ServiceImpl<CountryCardTempItemEOMapper, CountryCardTempItemEO> implements ICountryCardTempItemEOService {
/**
@@ -83,7 +98,34 @@ public class CountryCardTempItemEOServiceImpl extends ServiceImpl<CountryCardTem
* @return
*/
@Override
public List<CountryCardTempItemEO> queryList() {
return list();
public List<CountryCardTempItemEO> queryList(CountryCardTempItemEO countryCardTempItemEO, HttpServletRequest req) {
QueryWrapper<CountryCardTempItemEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempItemEO, req.getParameterMap());
List<CountryCardTempItemEO> countryCardTempItemEOList = this.list(queryWrapper);
return countryCardTempItemEOList;
}
@Override
public void batchInsert(List<CountryCardTempItemEO> countryCardTempItemEOList, String countryCardTempId,String cut) {
if(CollectionUtils.isEmpty(countryCardTempItemEOList)){
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
throw new JeroBootException("请维护下拉选项值!");
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
throw new JeroBootException("Please maintain the drop-down option values!");
}
}
countryCardTempItemEOList.forEach(countryCardTempItemEO -> {
if(StringUtils.isEmpty(countryCardTempItemEO.getItemValue())){
String itemValue = UUID.randomUUID().toString().replace("-", "");
countryCardTempItemEO.setItemValue(itemValue);
}
countryCardTempItemEO.setCountryCardTempId(countryCardTempId);
countryCardTempItemEO.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
});
QueryWrapper<CountryCardTempItemEO> deleteWrapper = new QueryWrapper<>();
deleteWrapper.lambda().eq(CountryCardTempItemEO::getCountryCardTempId,countryCardTempId);
this.baseMapper.delete(deleteWrapper);
this.saveBatch(countryCardTempItemEOList);
}
}
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库浏览历史表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBaseBrowsingHistoryEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseBrowsingHistoryEOMapper, ProblemKnowledgeBaseBrowsingHistoryEO> implements IProblemKnowledgeBaseBrowsingHistoryEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库-分类表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseClassifyEOMapper, ProblemKnowledgeBaseClassifyEO> implements IProblemKnowledgeBaseClassifyEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库收藏表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBaseCollectEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseCollectEOMapper, ProblemKnowledgeBaseCollectEO> implements IProblemKnowledgeBaseCollectEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库评论表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBaseCommentEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseCommentEOMapper, ProblemKnowledgeBaseCommentEO> implements IProblemKnowledgeBaseCommentEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseEOMapper, ProblemKnowledgeBaseEO> implements IProblemKnowledgeBaseEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库点赞表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBasePraiseEOServiceImpl extends ServiceImpl<ProblemKnowledgeBasePraiseEOMapper, ProblemKnowledgeBasePraiseEO> implements IProblemKnowledgeBasePraiseEOService {
/**
@@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* @Description: 问题知识库展示权限表
@@ -15,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0
*/
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ProblemKnowledgeBaseUserEOServiceImpl extends ServiceImpl<ProblemKnowledgeBaseUserEOMapper, ProblemKnowledgeBaseUserEO> implements IProblemKnowledgeBaseUserEOService {
/**
@@ -100,7 +100,7 @@ public class LawsMonthlyReportTitleTemplateEOController extends JeroController<L
*/
@AutoLog(value = "月报标题模板-编辑")
@ApiOperation(value="月报标题模板-编辑", notes="月报标题模板-编辑")
@GetMapping(value = "/edit")
@PostMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO) {
lawsMonthlyReportTitleTemplateEOService.editById(lawsMonthlyReportTitleTemplateEO);
return Result.OK("编辑成功!");
@@ -103,6 +103,7 @@ public class LawsMonthlyReportManageEOServiceImpl extends ServiceImpl<LawsMonthl
query.in("create_by",sysUser.getUsername()).in("issue_status", InventoryStateEnum.TO_BE_RELEASED.getValue())
.or().in("issue_status",InventoryStateEnum.ISSUE.getValue());
});
queryWrapper.orderByDesc("create_time");
Page<LawsMonthlyReportManageEO> pageInfo = this.page(page, queryWrapper);
return pageInfo;
}
@@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
import com.jero.modules.report.mapper.LawsMonthlyReportTitleTemplateEOMapper;
import com.jero.modules.report.service.ILawsMonthlyReportTitleTemplateEOService;
import com.jero.modules.report.vo.LawsMonthlyReportTitleTemplateVO;
import com.jero.modules.system.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
@@ -30,6 +33,8 @@ import java.util.stream.Collectors;
@Service
public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl<LawsMonthlyReportTitleTemplateEOMapper, LawsMonthlyReportTitleTemplateEO> implements ILawsMonthlyReportTitleTemplateEOService {
@Autowired
private LawsMonthlyReportWriteEOServiceImpl lawsMonthlyReportWriteEOService;
/**
* 保存
*
@@ -98,7 +103,22 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl<Law
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
//标题下存在内容或子标题时不能删除
//1. 判断是否存在子标题
LambdaQueryWrapper<LawsMonthlyReportTitleTemplateEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(LawsMonthlyReportTitleTemplateEO::getParentId,ids);
List<LawsMonthlyReportTitleTemplateEO> list = this.list(wrapper);
if(list.size() != 0){
throw new JeroBootException("该标题下存在子标题,不能删除");
}
//2. 判断是否存在内容 memories_chapter
LambdaQueryWrapper<LawsMonthlyReportWriteEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(LawsMonthlyReportWriteEO::getMemoriesChapter,ids);
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS = lawsMonthlyReportWriteEOService.list(lambdaQueryWrapper);
if(lawsMonthlyReportWriteEOS.size() != 0){
throw new JeroBootException("该标题下存在新增内容,不能删除");
}
removeByIds(ids);
}
/**
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.document.enums.FieldTypeEnum;
@@ -29,11 +30,14 @@ import com.jero.modules.report.service.INewStandardTemplateEOService;
import com.jero.modules.report.util.WordUtil;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.enums.ProjectRoleEnum;
import com.jero.modules.system.service.impl.SysBaseApiImpl;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.StringUtils;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.shiro.SecurityUtils;
import org.aspectj.util.FileUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -81,6 +85,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
private BussDocumentLibraryEOMapper bussDocumentLibraryEOMapper;
@Autowired
private SysDictItemServiceImpl sysDictItemServiceImpl;
@Autowired
private SysBaseApiImpl sysBaseApi;
/**
* 保存
*
@@ -92,6 +98,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
Date now = new Date();
lawsMonthlyReportWriteEO.setCreateTime(now);
lawsMonthlyReportWriteEO.setUpdateTime(now);
lawsMonthlyReportWriteEO.setExportState(ExportStateEnum.NOT_EXPORT.getValue());
save(lawsMonthlyReportWriteEO);
if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
@@ -261,6 +268,13 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
Integer pageSize,
HttpServletRequest req) {
QueryWrapper<LawsMonthlyReportWriteEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
//管理员查看全部数据,其余人只能查看自己的数据
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername());
if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){
queryWrapper.in("create_by",currentUser.getUsername());
}
Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
//法规月报id
@@ -522,6 +536,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}else{
content = "Content";
}
//单独设置每页右侧的时间
WordUtil.exportWordMonth(document, lawsMonthlyReportWriteEOS.get(0).getMonth(), null, ParagraphAlignment.RIGHT, 0, 12, false, true, "微软雅黑");
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI");
WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
int oneCount = 1;
@@ -597,7 +613,9 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
content = "Content";
}
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI");
WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
//单独设置每页右侧的时间
WordUtil.exportWordMonth(document, lawsMonthlyReportWriteEOS.get(0).getMonth(), null, ParagraphAlignment.RIGHT, 0, 12, false, true, "Microsoft YaHei UI");
// WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI");
int oneCount = 1;
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) {
@@ -103,6 +103,100 @@ public class WordUtil {
}
}
/**
* 导出工具示例
*
* @param document POI文件类
* @param text 输出文本
* @param textColor 字体颜色
* @param align 字体位置,默认居左
* @param spaceNum 预留空格数,默认不留空格
* @param fontSize 字体大小,默认11
* @param isNewline 是否换行,换行后文本失效
* @param isBold 是否加粗,默认不加粗
* @param fontFamily 字体,默认宋体
*/
public static void exportWordMonth(XWPFDocument document,
String text,
String textColor,
ParagraphAlignment align,
Integer spaceNum,
Integer fontSize,
Boolean isNewline,
Boolean isBold,
String fontFamily) {
// CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
// XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
//
// //添加页眉
// CTP ctpHeader = CTP.Factory.newInstance();
// CTR ctrHeader = ctpHeader.addNewR();
// CTText ctHeader = ctrHeader.addNewT();
// String headerText = "Java POI create MS word file.";
// ctHeader.setStringValue(headerText);
// XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document);
// //设置为右对齐
// headerParagraph.setAlignment(ParagraphAlignment.RIGHT);
// XWPFParagraph[] parsHeader = new XWPFParagraph[1];
// parsHeader[0] = headerParagraph;
// try {
// policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader);
// } catch (IOException e) {
// e.printStackTrace();
// }
//添加标题
XWPFParagraph titleParagraph = document.createParagraph();
//设置段落左对齐
if (align == null) {
titleParagraph.setAlignment(ParagraphAlignment.RIGHT);
} else {
titleParagraph.setAlignment(align);
}
XWPFRun titleParagraphRun = titleParagraph.createRun();
if (isNewline) {
titleParagraphRun.setText("\r");
} else {
//封装文字内容
StringBuilder newText = new StringBuilder();
for (int i = 0; i < spaceNum; i++) {
newText.append(" ");
}
newText.append(text);
titleParagraphRun.setText(newText.toString());
//设置颜色
if (StringUtils.isNotEmpty(textColor)) {
titleParagraphRun.setColor(textColor);
} else {
titleParagraphRun.setColor("000000");
}
//设置文字大小
if (ObjectUtil.isNotEmpty(fontSize)) {
titleParagraphRun.setFontSize(fontSize);
} else {
titleParagraphRun.setFontSize(11);
}
//设置加粗
if (ObjectUtil.isNotEmpty(isBold)) {
titleParagraphRun.setBold(isBold);
} else {
titleParagraphRun.setBold(false);
}
//设置字体样式
if (StringUtils.isNotEmpty(fontFamily)) {
titleParagraphRun.setFontFamily(fontFamily);
} else {
titleParagraphRun.setFontFamily("宋体");
}
}
}
public static void exportWordExcelDefault(XWPFDocument document,
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
+166 -163
View File
@@ -40,7 +40,7 @@ module.exports = {
userName: 'User Name',
department: 'Department',
status: 'Status',
Operation: 'Operation',
operation: 'Operation',
aRcord: 'A Rcord',
OperationAllowedAccount: 'This Operation is not Allowed for administrator account, please select again!',
confirm: 'Confirm',
@@ -176,9 +176,9 @@ module.exports = {
MenuType: 'Menu Type',
menu: 'Menu',
ButtonsPermissions: 'Buttons / Permissions',
ConventionalExport:'Conventional Export',
CustomExport:'Custom Export',
CustomTemplateName:'Custom template name',
ConventionalExport: 'Conventional Export',
CustomExport: 'Custom Export',
CustomTemplateName: 'Custom template name',
assembly: 'Component',
route: 'Route',
AddSubmenu: 'Add Submenu',
@@ -388,8 +388,8 @@ module.exports = {
StandardDetails: 'Standard Details',
whole: 'Whole',
DocumentLibrary: 'Document Library',
GeneralExportInformation:'General export information',
CustomizeExportInformation:'Customize export information',
GeneralExportInformation: 'General export information',
CustomizeExportInformation: 'Customize export information',
DocumentComparisonLibrary: 'Document Comparison Library',
weekly: 'Weekly',
SyncLibrary: 'Sync To doc. Library',
@@ -714,7 +714,7 @@ module.exports = {
confirmationOfRegulationsList: 'Regulation List Confirmation',
regulatoryTaskConfirmation: 'Regulation Task Confirmation',
certificationStart: 'Homo Test Completion',
preHomoCompletion:'Pre-Homo Completion',
preHomoCompletion: 'Pre-Homo Completion',
certificationEnd: 'Type Approval',
directoryName: 'Catalogue Name',
batch: 'Batch',
@@ -735,7 +735,7 @@ module.exports = {
// 参数收集开始
MaintainConfigureInfo: 'Maintain Configuration Information',
ParameteItemCollectionList: 'Parameter item collection list',
ParameterViewPage:'Parameter View Page',
ParameterViewPage: 'Parameter View Page',
Areyousureparameteritems: 'Are you sure to submit the selected parameter items?',
Theselectedconfiguration: 'The configuration can only be added when the parameter items in the parameter list are to be collected or changed',
NoConfigurationNotStart: 'No configuration added, unable to start collection, please check',
@@ -802,10 +802,10 @@ module.exports = {
releaseVersion: 'Release Version',
parameterTemplate: 'Parameter Template',
contentDescription: 'Content Description',
WhetherMergeParameters:'Whether to merge parameters',
merge:'Merge',
nonjoinder:'Nonjoinder',
MergeSeparator:'Merge separator',
WhetherMergeParameters: 'Whether to merge parameters',
merge: 'Merge',
nonjoinder: 'Nonjoinder',
MergeSeparator: 'Merge separator',
parameterTemplateExportName: 'Parameter List',
parameterDataExport: 'Parameter Export Data',
// 参数收集结束
@@ -860,6 +860,7 @@ module.exports = {
experimentFailed: 'Test Failed',
toBeStarted: 'Not Start',
inProgress: 'In Progress',
Underway: 'Underway',
green: 'Green',
red: 'Red',
blue: 'Blue',
@@ -977,7 +978,7 @@ module.exports = {
disableInput: 'Disable Input',
taskConfirmationDeadline: 'Task Confirmation Deadline',
OnlyOrTaskconfirmationOut: 'Only when the list confirmation status or task confirmation status is to be confirmed can the reminder be carried out',
taskConfirmationResponsiblePerson:'Task confirmation of responsible person',
taskConfirmationResponsiblePerson: 'Task confirmation of responsible person',
or: 'or',
warningTime: 'Warning Time',
RegulationMonthlyManagement: 'Regulation Monthly Management',
@@ -1023,7 +1024,7 @@ module.exports = {
relevantSections: 'Relevant Sections',
questionsSuggestions: 'Questions Or Suggestions',
reason: 'Reason',
proposedTime:'Proposed Time',
proposedTime: 'Proposed Time',
feedbackPoint: 'Feedback Point',
link: 'Link',
planNoChinese: 'Plan No.',
@@ -1085,154 +1086,156 @@ module.exports = {
Templatenamelist: 'Template name - parameter item collection list',
newNiONumber: 'Number',
English: 'English',
requiredParametersEmpty:'Required parameters cannot be empty',
PleaseTaskConfirmationRejected:'Please select the data whose list confirmation status is accepted and task confirmation status is not initiated or rejected',
theProjectContactEmpty:'The project contact person of cannot be empty',
pleaseSelectinitiatedOrRejected:'Please select the data whose list confirmation status is not initiated or rejected',
TheEngineerAndCertification:'The regulatory engineer and Certification Engineer of cannot be empty',
theResponsiblePersonAndDeadlineClank:'The responsible person and deadline of cannot be blank',
bringInTheProjectInterface:'Bring in the project interface',
theCurrentListSaved:'The current list data has been submitted and cannot be temporarily saved',
defaultTemplate:'Default Template',
newRequestCommentListTemplate:'New request for comment list template',
NewReleasedStandardTemplate:'New released standard template',
pleaseSelectStandard:'Please select a standard',
theResponsiblePersonEmpty:'The responsible person of cannot be empty',
theDeadlineEmpty:'The deadline of cannot be empty',
theDeliveryTypeCannotBeEmpty:'The delivery type of cannot be empty',
For:'For',
markedRejection:'Marked Rejection',
RegulationListConfirmationTask:'Regulation List Confirmation Task',
RegulationListConfirmationNotification:'Regulation List Confirmation Notification',
RegulationTaskConfirmation:'Regulation Task Confirmation',
DesignComplianceTask:'Design Compliance Task',
PreHomoTask:'Pre-Homo Task',
ValidationTask:'Validation Task',
DesignComplianceNotification:'Design Compliance Notification',
PreHomoNotification:'Pre-Homo Notification',
ValidationComplianceNotification:'Validation Compliance Notification',
RegulationTaskConfirmationNotification:'Regulation Task Confirmation Notification',
evaluationMethod:'Evaluation method',
uploadRelevantMaterials:'Upload relevant materials',
processBackground:'Process background',
selectedStandard:'Selected standard',
standardDecompositionDocument:'Standard decomposition document',
pleaseSelectStandardFirst:'Please select a standard first',
RelevantMaterials:'RelevantMaterials',
evaluatorFeedback:'Evaluator feedback',
nameTechnicalDocument:'Name of technical document',
chapter:'chapter',
problemDescription:'Problem description',
filingExternalOpinions:'Filing of external opinions',
regulatoryTechnicalEvaluationResults:'Regulatory technical evaluation results',
initiateProcessForCurrentStandard:'Initiate process for current standard',
engineerFeedbackResults:'Engineer feedback results',
fileExport:'File export',
feedbackTime:'Feedback time',
regulatoryTechnologyAssessmentProcess:'Regulatory technology assessment process',
feedbackEvaluation:'Feedback evaluation',
clauseEvaluation:'Clause evaluation',
standardDocuments:'Standard documents',
pleaseCompleteTheEvaluationMethodorEvaluator:'Please complete the evaluation method or evaluator in the list',
reviewComments:'Review comments',
PleaseCompleteList:'Please complete the compliance results in the list',
sponsorFeedback:'Sponsor feedback',
processNumber:'Process number',
processName:'Process Name',
feedbackResults:'Feedback results',
theDoesNotSupportPreview:'The current file format does not support Preview',
releaseSituation:'Release situation',
comparisonResults:'Comparison results',
Published:'Published',
initiateComparison:'Initiate comparison',
translationLanguage:'Translation language',
translationResults:'Translation results',
conversionTime:'Conversion time',
category:'Category',
RegulatoryProcessEvaluationResults :'Regulatory Process Evaluation Results',
ViewConformanceResults:'View Conformance Results',
CommentsCollectionResultsForReference:'Comments Collection Results For Reference',
TechnicalEvaluationResultsForReference:'Technical Evaluation Results For Reference',
ComplianceConfirmationRecord:'Compliance Confirmation Record',
complianceConfirmation:'Compliance Confirmation',
noComparisonDocumentSelected:'No comparison document selected',
RemarkInfo:'Remarks Info',
initiateDocumentComparison:'Initiate Document Comparison',
comparativeComments:'Comparative Comments',
viewTheComparisonResults:'View The Comparison Results',
addFullTextComment:'Add Full Text Comment',
turnOffAutomaticMatching:'Turn Off Automatic Matching',
Deriveconformanceresults:'Derive Conformance Results',
Regulatorycompliancekanban:'Regulatory Compliance Kanban',
exportComparisonReport:'Export Comparison Report',
comparisonDifferenceComment:'Comparison Difference Comment',
fullTextComments:'Full text comments',
fileDeclaration:'file Declaration',
FileForDetails:'File For Details',
Converting:'Converting',
convertNetwork:'Convert Network',
convertFailed:'Convert Failed',
standardData:'Standard Data',
Theorganization:'The Organization',
Addingfolder:'Adding a folder',
Addingsubfolders:'Adding Subfolders',
Editfolder:'Edit Folder',
Deletefolders:'Delete Folders',
Foldername:'Folder Name',
Folderpermissions:'Folder Permissions',
Folderorder:'Folder Order',
Downloadprivileges:'Download Privileges',
Openpersonnel:'Open Personnel',
originalText:'Original Text',
translatedText:'Translated Text',
Administrativeprivileges:'Administrativ Pprivileges',
Checkthepermissions:'Check The Permissions',
onlyFilesUploaded:'Only.Docx,.Doc files can be uploaded',
requiredParametersEmpty: 'Required parameters cannot be empty',
PleaseTaskConfirmationRejected: 'Please select the data whose list confirmation status is accepted and task confirmation status is not initiated or rejected',
theProjectContactEmpty: 'The project contact person of cannot be empty',
pleaseSelectinitiatedOrRejected: 'Please select the data whose list confirmation status is not initiated or rejected',
TheEngineerAndCertification: 'The regulatory engineer and Certification Engineer of cannot be empty',
theResponsiblePersonAndDeadlineClank: 'The responsible person and deadline of cannot be blank',
bringInTheProjectInterface: 'Bring in the project interface',
theCurrentListSaved: 'The current list data has been submitted and cannot be temporarily saved',
defaultTemplate: 'Default Template',
newRequestCommentListTemplate: 'New request for comment list template',
NewReleasedStandardTemplate: 'New released standard template',
pleaseSelectStandard: 'Please select a standard',
theResponsiblePersonEmpty: 'The responsible person of cannot be empty',
theDeadlineEmpty: 'The deadline of cannot be empty',
theDeliveryTypeCannotBeEmpty: 'The delivery type of cannot be empty',
For: 'For',
markedRejection: 'Marked Rejection',
RegulationListConfirmationTask: 'Regulation List Confirmation Task',
RegulationListConfirmationNotification: 'Regulation List Confirmation Notification',
RegulationTaskConfirmation: 'Regulation Task Confirmation',
DesignComplianceTask: 'Design Compliance Task',
PreHomoTask: 'Pre-Homo Task',
ValidationTask: 'Validation Task',
DesignComplianceNotification: 'Design Compliance Notification',
PreHomoNotification: 'Pre-Homo Notification',
ValidationComplianceNotification: 'Validation Compliance Notification',
RegulationTaskConfirmationNotification: 'Regulation Task Confirmation Notification',
evaluationMethod: 'Evaluation method',
uploadRelevantMaterials: 'Upload relevant materials',
processBackground: 'Process background',
selectedStandard: 'Selected standard',
standardDecompositionDocument: 'Standard decomposition document',
pleaseSelectStandardFirst: 'Please select a standard first',
RelevantMaterials: 'RelevantMaterials',
evaluatorFeedback: 'Evaluator feedback',
nameTechnicalDocument: 'Name of technical document',
chapter: 'chapter',
problemDescription: 'Problem description',
filingExternalOpinions: 'Filing of external opinions',
regulatoryTechnicalEvaluationResults: 'Regulatory technical evaluation results',
initiateProcessForCurrentStandard: 'Initiate process for current standard',
engineerFeedbackResults: 'Engineer feedback results',
fileExport: 'File export',
feedbackTime: 'Feedback time',
regulatoryTechnologyAssessmentProcess: 'Regulatory technology assessment process',
feedbackEvaluation: 'Feedback evaluation',
clauseEvaluation: 'Clause evaluation',
standardDocuments: 'Standard documents',
pleaseCompleteTheEvaluationMethodorEvaluator: 'Please complete the evaluation method or evaluator in the list',
reviewComments: 'Review comments',
PleaseCompleteList: 'Please complete the compliance results in the list',
sponsorFeedback: 'Sponsor feedback',
processNumber: 'Process number',
processName: 'Process Name',
feedbackResults: 'Feedback results',
theDoesNotSupportPreview: 'The current file format does not support Preview',
releaseSituation: 'Release situation',
comparisonResults: 'Comparison results',
Published: 'Published',
initiateComparison: 'Initiate comparison',
translationLanguage: 'Translation language',
translationResults: 'Translation results',
conversionTime: 'Conversion time',
category: 'Category',
RegulatoryProcessEvaluationResults: 'Regulatory Process Evaluation Results',
ViewConformanceResults: 'View Conformance Results',
CommentsCollectionResultsForReference: 'Comments Collection Results For Reference',
TechnicalEvaluationResultsForReference: 'Technical Evaluation Results For Reference',
ComplianceConfirmationRecord: 'Compliance Confirmation Record',
complianceConfirmation: 'Compliance Confirmation',
noComparisonDocumentSelected: 'No comparison document selected',
RemarkInfo: 'Remarks Info',
initiateDocumentComparison: 'Initiate Document Comparison',
comparativeComments: 'Comparative Comments',
viewTheComparisonResults: 'View The Comparison Results',
addFullTextComment: 'Add Full Text Comment',
turnOffAutomaticMatching: 'Turn Off Automatic Matching',
Deriveconformanceresults: 'Derive Conformance Results',
Regulatorycompliancekanban: 'Regulatory Compliance Kanban',
exportComparisonReport: 'Export Comparison Report',
comparisonDifferenceComment: 'Comparison Difference Comment',
fullTextComments: 'Full text comments',
fileDeclaration: 'file Declaration',
FileForDetails: 'File For Details',
Converting: 'Converting',
convertNetwork: 'Convert Network',
convertFailed: 'Convert Failed',
standardData: 'Standard Data',
Theorganization: 'The Organization',
Addingfolder: 'Adding a folder',
Addingsubfolders: 'Adding Subfolders',
Editfolder: 'Edit Folder',
Deletefolders: 'Delete Folders',
Foldername: 'Folder Name',
Folderpermissions: 'Folder Permissions',
Folderorder: 'Folder Order',
Downloadprivileges: 'Download Privileges',
Openpersonnel: 'Open Personnel',
originalText: 'Original Text',
translatedText: 'Translated Text',
Administrativeprivileges: 'Administrativ Pprivileges',
Checkthepermissions: 'Check The Permissions',
onlyFilesUploaded: 'Only.Docx,.Doc files can be uploaded',
selectDirectorylocation: 'Please select the directory location to add the folder',
Fileuploaded:'File uploaded, please wait',
uploadedbyyourself:'You can only delete files and data uploaded by yourself',
Fileuploaded:'File uploading, please wait',
doNotHavePermissionDeleteData:'Do not have permission to delete this data,',
Parametercollection:'Parameter Collection',
Collectlist:'Colle Ctlist',
Statisticalmodels:'Statisti Calmodels',
Inthecollection:'In the collection',
Notatthe:'Not at the',
Thepercentage:'The Percentage',
problemKnowledgeBase:'Problem Knowledge Base',
recentHotSpots:'Recent Hot Spots',
disseminationMaterials:'Dissemination Materials',
informationSafety:'Information Safety',
blueBook:'Blue Book',
invoiceCollection:'Invoice Collection',
productHighlights:'Product Highlights',
financialReimbursement:'Financial Reimbursement',
classificationMaintenance:'Classification Maintenance',
managePublishing:'Manage Publishing',
displayPermission:'Display permission',
authorizedUser:'Authorized user',
problemClassification:'Problem classification',
market:'market',
documentNumber:'Document Number',
documentTitle:'Document Title',
bringInDocumentInformation:'Bring in document information',
thereWhichCannotDeleted:'There are sub headings under this title, which cannot be deleted',
sdt:'sdt',
dre:'dre',
applicableInstructionsMarketList:'Applicable instructions of market list',
pleaseSelectTheDataCompared:'Please select the data to be compared',
problemLabel:'Problem label',
personCharge:'Person in charge',
addLabel:'Add Label',
editLabel:'Edit Label',
applicableMarket:'Applicable market',
templateMaintenance:'Template maintenance',
associatedWebsite:'Associated website',
dropDownOptions:'Drop down options',
dropDownOptionMaintenance:'Drop down option maintenance',
displayInformation:'Display information',
addComparison:'Add comparison',
showOrNot:'Show or not',
comparisonMarket:'Comparison Market',
share:'share',
Fileuploaded: 'File uploaded, please wait',
uploadedbyyourself: 'You can only delete files and data uploaded by yourself',
Fileuploaded: 'File uploading, please wait',
doNotHavePermissionDeleteData: 'Do not have permission to delete this data,',
Parametercollection: 'Parameter Collection',
Collectlist: 'Colle Ctlist',
Statisticalmodels: 'Statisti Calmodels',
Inthecollection: 'In the collection',
Notatthe: 'Not at the',
Thepercentage: 'The Percentage',
problemKnowledgeBase: 'Problem Knowledge Base',
recentHotSpots: 'Recent Hot Spots',
disseminationMaterials: 'Dissemination Materials',
informationSafety: 'Information Safety',
blueBook: 'Blue Book',
invoiceCollection: 'Invoice Collection',
productHighlights: 'Product Highlights',
financialReimbursement: 'Financial Reimbursement',
classificationMaintenance: 'Classification Maintenance',
managePublishing: 'Manage Publishing',
displayPermission: 'Display permission',
authorizedUser: 'Authorized user',
problemClassification: 'Problem classification',
market: 'market',
documentNumber: 'Document Number',
documentTitle: 'Document Title',
bringInDocumentInformation: 'Bring in document information',
thereWhichCannotDeleted: 'There are sub headings under this title, which cannot be deleted',
sdt: 'sdt',
dre: 'dre',
applicableInstructionsMarketList: 'Applicable instructions of market list',
pleaseSelectTheDataCompared: 'Please select the data to be compared',
problemLabel: 'Problem label',
personCharge: 'Person in charge',
addLabel: 'Add Label',
editLabel: 'Edit Label',
applicableMarket: 'Applicable market',
templateMaintenance: 'Template maintenance',
associatedWebsite: 'Associated website',
dropDownOptions: 'Drop down options',
dropDownOptionMaintenance: 'Drop down option maintenance',
displayInformation: 'Display information',
addComparison: 'Add comparison',
showOrNot: 'Show or not',
comparisonMarket: 'Comparison Market',
share: 'share',
simplifiedChinese:'Simplified Chinese',
uploadOnly:'Upload only',
}
+3
View File
@@ -874,6 +874,7 @@ module.exports = {
experimentFailed: '实验失败',
toBeStarted: '待开始',
inProgress: '进行中',
Underway:'进行中',
green: '绿',
red: '红',
blue: '蓝',
@@ -1338,4 +1339,6 @@ module.exports = {
showOrNot:'是否展示',
comparisonMarket:'对比市场',
share:'分享',
simplifiedChinese:'简体中文',
uploadOnly:'只能上传',
}
@@ -15,6 +15,7 @@
<div class="box-title-text" v-if="isInput">
<a-input :class="{'box-input':!isClass}" :value="value"
readonly
:title="value"
@click.native="standardClick"
:placeholder="$t('PleaseSelect')+query.db_field_txt"/>
</div>
@@ -68,6 +68,7 @@
</div>
</div>
</a-modal>
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
</div>
</template>
@@ -91,6 +92,7 @@ export default {
editId: '',
visibleoperationFailed:false,
newVisible: false,
textLoading:false,
NotSelectedRowKeysValue:[],
labelCol: {
xs: { span: 24 },
@@ -220,6 +222,7 @@ export default {
// _this.$message.success(this.$t('OperationSuccessful'))
if(res.data.result.length == 0){
this.visibleoperationFailed = false
this.textLoading = false
_this.$message.success(this.$t('OperationSuccessful'))
this.$emit('areaVisibleTaskCutOffTimeflag', false)
this.$emit('GetgetTableList')
@@ -227,6 +230,7 @@ export default {
}else{
this.NotSelectedRowKeysValue = res.data.result
this.visibleoperationFailed = true
this.textLoading = false
}
// this.$emit('areaVisibleTaskCutOffTimeflag', false)
@@ -69,6 +69,7 @@
</div>
</div>
</a-modal>
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
</div>
</template>
@@ -223,10 +224,12 @@ export default {
_this.$message.success(this.$t('OperationSuccessful'))
this.$emit('areaVisibleTaskCutOffTimeAll', false)
this.$emit('GetgetTableList')
this.textLoading = false
}else{
this.NotSelectedRowKeysValue = res.data.result
this.visibleoperationFailed = true
this.textLoading = false
}
// this.$emit('areaVisibleTaskCutOffTime', false)
+4 -4
View File
@@ -34,7 +34,7 @@
export default {
name: 'file',
props: ['disableds', 'disabled', 'thisFileUploadUrl', 'readonly', 'thisFileType', 'isUploadFile', 'isMultiple', 'restrictUploads'],
props: ['disableds', 'disabled', 'thisFileUploadUrl', 'readonly', 'thisFileType', 'isUploadFile', 'isMultiple', 'restrictUploads', 'Uploadable'],
data() {
return {
visible: false,
@@ -68,7 +68,7 @@
if (this.isMultiple) {
this.multiple = false
}
this.accept = this.restrictUploads ? '.docx,.doc' : '*.*'
this.accept = this.restrictUploads ? this.Uploadable : '*.*'
// console.log(this.thisFileType,this.thisFileSize,this.thisFileUploadUrl);
},
methods: {
@@ -99,10 +99,10 @@
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix == '.docx' || fileSuffix == '.doc') {
if (this.Uploadable.includes(fileSuffix)) {
} else {
this.$message.warning(this.$t('onlyFilesUploaded'))
this.$message.warning(this.$t('uploadOnly') + this.Uploadable + this.$t('file'))
return false
}
}
@@ -10,7 +10,7 @@
:visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div class="table-operator-right">
<div @click="handleExport" class="operator-text">
<div @click="handleExport" v-if="formInline.createBy == userInfoQuery.username" class="operator-text">
<a-icon type="export" :rotate="-90"/>
{{$t('export')}}
</div>
@@ -47,11 +47,11 @@
<span class="text">{{$t('filingExternalOpinions')}}:</span>
<div @click="clickButtonToUpload('opinionArchiveId')" style="color: #21c9cc"
v-if="formInline.createBy == this.userInfoQuery.username" class="operator-text">
<a-icon type="cloud-upload" />
<a-icon type="cloud-upload"/>
{{$t('clickUpload')}}
</div>
<div @click="seeFileClick(formInline.opinionArchiveId)" style="color: #21c9cc" class="operator-text">
<a-icon type="eye" />
<a-icon type="eye"/>
{{$t('viewFile')}}
</div>
</div>
@@ -86,7 +86,7 @@
pageNo: 1,
dataSource: [],
formInline: {},
userInfoQuery:{},
userInfoQuery: {},
columns: [
{
title: this.$t('relevantSections'),
@@ -135,7 +135,7 @@
}
},
mounted() {
this.userInfoQuery = this.userInfo()
this.userInfoQuery = this.userInfo()
},
methods: {
...mapGetters(['userInfo']),
@@ -178,8 +178,8 @@
//导出
handleExport() {
let query = {
pageSize:this.pageSize,
pageNo:this.pageNo,
pageSize: this.pageSize,
pageNo: this.pageNo,
lawsOpinionGatherId: this.lawsOpinionGatherId,
actiProcInstId: this.actiProcInstId
}
@@ -201,7 +201,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -210,8 +210,8 @@
let query = {
lawsOpinionGatherId: this.lawsOpinionGatherId,
actiProcInstId: this.actiProcInstId,
pageSize:this.pageSize,
pageNo:this.pageNo
pageSize: this.pageSize,
pageNo: this.pageNo
}
this.loading = true
getAction('/lawsOpinionGather/lawsOpinionAssessmentResultEO/page', query).then((res) => {
@@ -43,6 +43,7 @@
</div>
<a-form-model-item class="itemModel" prop="endTime">
<a-date-picker class="box-input"
:disabledDate="disabledDate"
:placeholder="$t('PleaseSelect')+$t('closingDate')"
@change="dateChange('endTime')"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -141,7 +142,7 @@
addModelList: '/dummy/dummyInventoryInfoEO/queryPageDummy'
},
loading: false,
JLoading:false,
JLoading: false,
dataSource: [],
selectedRowKeys: [],
total: 0,
@@ -162,6 +163,13 @@
message: this.$t('Assessor') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
taskExplain: [
{
max: 300,
message: this.$t('taskDescription') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur'
}
]
},
searchParmes: {},
@@ -172,12 +180,14 @@
align: 'center',
dataIndex: 'serial_number',
width: 170,
ellipsis: true,
scopedSlots: { customRender: 'serial_number' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
ellipsis: true,
width: 170,
scopedSlots: { customRender: 'titleName' }
},
@@ -228,11 +238,14 @@
},
methods: {
...mapGetters(['userInfo']),
disabledDate(current) {
return current && current < moment().subtract(1, 'day')
},
pageOnChange(page) {
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -261,7 +274,7 @@
if (this.selectedRowKeys.length > 1) {
this.selectedRowKeys.shift()
}
this.selectedRowKeysRecord = record.filter(res=>{
this.selectedRowKeysRecord = record.filter(res => {
return res.id == this.selectedRowKeys[0]
})
this.selectedRowKeysRecord = [...this.selectedRowKeysRecord]
@@ -297,14 +310,14 @@
dateChange(item) {
this.formInline[item] = this.formInline[item] ? moment(this.formInline[item]).format('YYYY-MM-DD') : ''
},
getUUID(){
var str=[];
var Chars='0123456789abcdefghijklmnopqrstuvwxyz';
for(var i=0;i<36;i++){
str[i]=Chars.substr(Math.floor(Math.random()*16),1)
getUUID() {
var str = []
var Chars = '0123456789abcdefghijklmnopqrstuvwxyz'
for (var i = 0; i < 36; i++) {
str[i] = Chars.substr(Math.floor(Math.random() * 16), 1)
}
str[0]=str[8]=str[13]=str[18]=str[23]='-';
return str.join("")
str[0] = str[8] = str[13] = str[18] = str[23] = '-'
return str.join('')
},
submit() {
this.$refs.ruleForm.validate(valid => {
@@ -338,7 +351,7 @@
postAction('/workFlow/startProcess', query).then((res) => {
if (res.success) {
this.completeTask(value, res.result)
}else{
} else {
this.JLoading = false
}
})
@@ -92,7 +92,10 @@
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
<span slot="operation" slot-scope="text,record">
<span slot="serialNumber" :title="text" slot-scope="text,result">
<span>{{text}}</span>
</span>
<span slot="operation" slot-scope="text,record">
<a class="text-operation" @click="viewProcessClick(record)">{{$t('viewProcess')}}</a>
<a class="text-operation" v-if="record.gatherResult == 'Completed'"
@click="evaluationResultsClick(record)">{{$t('evaluationResults')}}</a>
@@ -129,7 +132,7 @@
//url传参严格按照当前命名
url: {
list: '/lawsOpinionGather/lawsOpinionGatherEO/page',
getSysCategoryTree: '/sys/category/getSysCategoryTree',
getSysCategoryTree: '/sys/category/getSysCategoryTree'
},
loading: false,
toggleSearchStatus: false,
@@ -138,17 +141,17 @@
total: 0,
pageSize: 10,
pageNo: 1,
CategoryTreeList:[],
serialNumber:'',
CategoryTreeList: [],
serialNumber: '',
queryParam: {},
gatherResultList:[
gatherResultList: [
{
value:'Underway',
name:this.$t('inProgress'),
value: 'Underway',
name: this.$t('Underway')
},
{
value:'Completed',
name:this.$t('Finished'),
value: 'Completed',
name: this.$t('Finished')
}
],
columns: [
@@ -156,12 +159,15 @@
title: this.$t('standard'),
align: 'center',
dataIndex: 'serialNumber',
width: 170
ellipsis: true,
width: 170,
scopedSlots: { customRender: 'serialNumber' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
ellipsis: true,
width: 170
},
{
@@ -233,7 +239,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -248,7 +254,7 @@
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize,
serialNumber: this.$route.query.serialNumber?this.$route.query.serialNumber:'',
serialNumber: this.$route.query.serialNumber ? this.$route.query.serialNumber : '',
...queryParam
}
this.loading = true
@@ -292,8 +298,8 @@
}
</script>
<style>
.tree-select .ant-select-tree-dropdown{
height: 298px!important;
.tree-select .ant-select-tree-dropdown {
height: 298px !important;
}
</style>
<style scoped>
@@ -164,7 +164,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -21,48 +21,23 @@
{{$t('addComparison')}}
</div>
</div>
<div class="content-box">
<div class="content-box-left">
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
<div class="content-box-left-text">
hadhasdasdhadashdjk
</div>
</div>
<div class="content-box-right" v-for="item1 in 9">
<div class="content-box-box-top">
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
<span class="content-box-box-text">
<div style="overflow: auto;height: calc(100vh - 160px);">
<div class="content-box" :style="{'width':clientWidth}" v-if="isTrue">
<div style="width: 100%" v-for="(item1,index) in 14" class="content-box-top">
<div v-for="(item2,index2) in 16" style="width: 340px;display: inline-block" class="content-box-left">
<div class="content-box-box-top" v-if="index == 0">
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
<span class="content-box-box-text">
中国
</span>
</div>
<div class="content-box-box" v-for="item in 9">
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
<span class="content-box-box-text">
</div>
<div class="content-box-box" v-else>
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
<span class="content-box-box-text">
中国
</span>
</div>
</div>
</div>
</div>
</div>
@@ -78,6 +53,7 @@
import { getAction, postAction, downloadFile } from '@/api/manage'
import displayInformationModel from './displayInformationModel'
import countryCardViewAdd from './countryCardViewAdd'
export default {
name: 'countryCardView',
components: {
@@ -85,18 +61,26 @@
countryCardViewAdd
},
data() {
return {}
return {
clientWidth: '',
isTrue: false
}
},
mounted() {
this.isTrue = false
this.$nextTick(() => {
this.clientWidth = 340 * 14 + 'px'
this.isTrue = true
})
},
methods: {
displayInformationClick() {
this.$refs.displayInformationModelRef.getData()
},
newlyAddedClick() {
this.$refs.countryCardViewAddRef.add()
this.$refs.countryCardViewAddRef.add()
},
countryCardViewAddForm(){
countryCardViewAddForm() {
}
}
@@ -180,36 +164,8 @@
}
.content-box {
overflow: auto;
white-space: nowrap;
position: relative;
}
.content-box-left {
width: 200px;
background: #fff;
z-index: 111;
display: inline-block;
position: sticky;
left: 0;
border-top: 1px #d9d9d9 solid;
border-left: 1px #d9d9d9 solid;
border-bottom: 1px #d9d9d9 solid;
border-right: 1px #d9d9d9 solid;
}
.content-box-left-text {
font-size: 16px;
color: #040B29;
font-weight: 400;
text-align: center;
border-bottom: 1px #d9d9d9 solid;
height: 80px;
line-height: 80px;
}
.content-box-left-text:last-child {
border-bottom: none;
}
.content-box-box-top {
@@ -217,52 +173,69 @@
height: 160px;
display: inline-block;
cursor: pointer;
border-left: 1px #d9d9d9 solid;
background: #fff;
border-right: 1px #d9d9d9 solid;
border-top: 1px #d9d9d9 solid;
border-bottom: 1px #d9d9d9 solid;
.content-box-box-img {
width: 70%;
height: 100%;
}
.content-box-box-text {
display: inline-block;
width: 30%;
text-align: center;
font-size: 18px;
font-weight: 500;
color: #040B29;
}
}
.content-box-left:first-child .content-box-box-top {
border-left: 1px #d9d9d9 solid;
}
.content-box-box {
width: 340px;
display: inline-block;
height: 80px;
background: #fff;
border-right: 1px #d9d9d9 solid;
border-bottom: 1px #d9d9d9 solid;
cursor: pointer;
.content-box-box-img {
width: 70%;
height: 100%;
}
.content-box-box-text {
display: inline-block;
width: 30%;
text-align: center;
font-size: 18px;
font-weight: 500;
color: #040B29;
}
}
.content-box-left:first-child .content-box-box {
border-left: 1px #d9d9d9 solid;
}
.content-box-left:first-child {
position: sticky;
left: 0;
z-index: 110;
background: #fff;
}
.content-box-top:first-child {
position: sticky;
top: 0;
z-index: 111;
background: #fff;
}
.content-box-right {
width: 339px;
position: relative;
display: inline-block;
border-top: 1px #d9d9d9 solid;
border-right: 1px #d9d9d9 solid;
border-bottom: 1px #d9d9d9 solid;
}
.content-box-right:last-child {
border-right: 1px #d9d9d9 solid;
}
.content-box-box-img {
width: 70%;
height: 100%;
}
.content-box-box-text {
display: inline-block;
width: 30%;
text-align: center;
font-size: 18px;
font-weight: 500;
color: #040B29;
}
.content-box-box {
width: 100%;
height: 80px;
border-bottom: 1px #d9d9d9 solid;
cursor: pointer;
}
.content-box-box:last-child {
border-bottom: none;
}
</style>
@@ -185,7 +185,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -44,7 +44,7 @@
:columns="columns"
>
<span slot="language" slot-scope="text,record">
<span>{{text == 1?$t('chinese'):$t('English')}}</span>
<span>{{text == 1?$t('simplifiedChinese'):$t('English')}}</span>
</span>
<span slot="RegulationMonthlyName" slot-scope="text,record">
<a @click="preview(record)">{{text}}</a>
@@ -151,7 +151,7 @@
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 180,
width: 240,
scopedSlots: { customRender: 'operation' }
}
]
@@ -179,7 +179,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -220,9 +220,9 @@
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
window.open(url, '_blank')
} else {
if (item.createBy == this.userInfo().username){
if (item.createBy == this.userInfo().username) {
downloadFile('/sys/common/downLoadFile', item.name, { id: item.fileId, userName: this.userInfo().username })
}else{
} else {
this.$message.warning(this.$t('theDoesNotSupportPreview'))
}
}
@@ -249,11 +249,11 @@
</div>
<a-form-model-item class="itemModel">
<PersonnelSelection
:query="{db_field_name:'lawsContactName',db_field_txt:$t('regulatoryContact')}"
:query="{db_field_name:'lawsContact',db_field_txt:$t('regulatoryContact')}"
:personneQuery="formInline"
:disabled="disabled"
@change="PersonnelSelectionChange"
v-model="formInline.lawsContact"/>
v-model="formInline.lawsContactName"/>
</a-form-model-item>
</div>
</a-col>
@@ -382,6 +382,12 @@
} else {
this.formInline.technologyTerritory = []
}
if (!this.formInline.useMethod) {
this.formInline.useMethod = undefined
}
if (!this.formInline.state) {
this.formInline.state = undefined
}
this.formInline = { ...this.formInline }
} else {
this.formInline = {}
@@ -443,6 +449,12 @@
formInline[res] = formInline[res].join(',')
}
})
if (!formInline.state || formInline.state == '' || formInline.state == 'null') {
formInline.state = ''
}
if (!formInline.useMethod || formInline.useMethod == '' || formInline.useMethod == 'null') {
formInline.useMethod = ''
}
callback && callback(formInline)
}
})
@@ -97,7 +97,7 @@
title: this.$t('operation'),
align: 'center',
fixed: 'right',
width: 180,
width: 280,
scopedSlots: { customRender: 'operation' }
}
]
@@ -51,6 +51,7 @@
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
:disabled="isParentId"
v-model="formInline.parentId">
<a-select-option v-for="(item, key) in ParentList"
:key="item.id"
@@ -110,7 +111,8 @@
url: {
add: '/report/lawsMonthlyReportTitleTemplateEO/add',
edit: '/report/lawsMonthlyReportTitleTemplateEO/edit'
}
},
isParentId: false
}
},
mounted() {
@@ -131,6 +133,7 @@
this.visible = true
this.getParent()
this.$nextTick(() => {
this.isParentId = false
this.formInline = {}
this.$refs.ruleForm.clearValidate()
})
@@ -139,8 +142,13 @@
this.title = this.$t('edit')
this.visible = true
this.getParent()
this.isParentId = false
this.$nextTick(() => {
this.formInline = row
if (!row.parentId) {
this.formInline.parentId = undefined
this.isParentId = true
}
this.$refs.ruleForm.clearValidate()
})
},
@@ -38,7 +38,6 @@
<a-form-model-item class="itemModel" prop="language">
<a-select :placeholder="$t('PleaseSelect')+$t('monthlyLanguage')"
:disabled="disabled"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="formInline.language">
@@ -61,7 +60,8 @@
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
</div>
</a-drawer>
<uploadFile ref="uploadFile" :isMultiple="true" @uploadSuccess="uploadSuccess"></uploadFile>
<uploadFile ref="uploadFile" :restrictUploads="true" :isMultiple="true" :Uploadable="'.docx,.doc,.pdf'"
@uploadSuccess="uploadSuccess"></uploadFile>
</div>
</template>
@@ -95,7 +95,7 @@
visible: false,
languageList: [
{
text: this.$t('chinese'),
text: this.$t('simplifiedChinese'),
value: 1
},
{
@@ -275,7 +275,7 @@
.button-text {
height: 38px;
width: calc(100% - 100px);
width: 100%;
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
@@ -250,12 +250,14 @@
align: 'center',
dataIndex: 'serial_number',
width: 170,
ellipsis: true,
scopedSlots: { customRender: 'serial_number' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
ellipsis: true,
width: 170,
scopedSlots: { customRender: 'titleName' }
},
@@ -335,7 +337,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -101,7 +101,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -306,7 +306,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -210,7 +210,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -94,7 +94,7 @@
</a-row>
</a-form-model>
</a-modal>
<uploadFile ref="uploadFile" :restrictUploads="true" :isMultiple="true" @uploadSuccess="uploadSuccess"/>
<uploadFile ref="uploadFile" :restrictUploads="true" :Uploadable="'.docx,.doc,'" :isMultiple="true" @uploadSuccess="uploadSuccess"/>
<standardData ref="standardDataRef" @standardDataForm="standardDataForm"/>
</div>
</template>
@@ -249,7 +249,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
@@ -5,7 +5,7 @@
{{title}}
</div>
</div>
<div class="content-text">
<div class="content-text-text">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<div v-for="(item,index) in formInline.dataList" :key="index">
<div class="feedbackPoint">
@@ -41,18 +41,15 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('questionsSuggestions')">{{$t('questionsSuggestions')}}</span>
<span class="title-text-text" :title="$t('enclosure')">{{$t('enclosure')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'dataList.'+index+'.issueOrSuggest'"
:rules="[{ required: true, message: $t('questionsSuggestions') + $t('cannotEmpty'), trigger: 'blur'},
{max: 300,message: $t('questionsSuggestions') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
}]">
<a-input class="box-input"
:disabled="disabled"
v-model="item.issueOrSuggest"
:placeholder="$t('PleaseEnter')+$t('questionsSuggestions')"/>
<a-form-model-item class="itemModel" prop="accessoryFile">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('accessoryFile',index)">
{{ (item.accessoryFile === 'null' || item.accessoryFile === '' ||
item.accessoryFile == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</a-form-model-item>
</div>
</a-col>
@@ -63,26 +60,30 @@
<div class="title-text">
<span class="title-text-text" :title="$t('reason')">{{$t('reason')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-input class="box-input"
:disabled="disabled"
v-model="item.reason"
:placeholder="$t('PleaseEnter')+$t('reason')"/>
<a-form-model-item class="itemModel"
:prop="'dataList.'+index+'.reason'"
:rules="[{max: 300,message: $t('reason') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
}]">
<a-textarea :placeholder="$t('PleaseEnter')+$t('reason')"
:disabled="disabled"
v-model="item.reason" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('enclosure')">{{$t('enclosure')}}</span>
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('questionsSuggestions')">{{$t('questionsSuggestions')}}</span>
</div>
<a-form-model-item class="itemModel" prop="accessoryFile">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('accessoryFile',index)">
{{ (item.accessoryFile === 'null' || item.accessoryFile === '' ||
item.accessoryFile == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
<a-form-model-item class="itemModel" :prop="'dataList.'+index+'.issueOrSuggest'"
:rules="[{ required: true, message: $t('questionsSuggestions') + $t('cannotEmpty'), trigger: 'blur'},
{max: 300,message: $t('questionsSuggestions') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
}]">
<a-textarea :placeholder="$t('PleaseEnter')+$t('questionsSuggestions')"
:disabled="disabled"
v-model="item.issueOrSuggest" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
@@ -9,7 +9,8 @@
</div>
</div>
<div class="content-text">
<div class="text-field" v-for="(item,index) in standardContentList" :key="index">
<div class="text-field" :class="{'text-content-button-one':item.type == 4 ? true :false}"
v-for="(item,index) in standardContentList" :key="index">
<span class="text-field-left" :title="item.title">{{item.title}}</span>
<span class="text-field-right text-field-right-url"
:title="queryForm[item.value]"
@@ -21,7 +22,6 @@
@click="clickButtonToUpload(queryForm[item.value])"
v-if="item.type == 2 && queryForm[item.value]"
>{{ $t('viewFile') }}</span>
<span class="text-field-right"
:title="queryForm[item.value]" v-else
>{{queryForm[item.value]}}</span>
@@ -58,14 +58,14 @@
type: Object,
default: {}
},
title:{
type:String,
default:'',
},
isConfirmationDeadline:{
type:Boolean,
default:false,
title: {
type: String,
default: ''
},
isConfirmationDeadline: {
type: Boolean,
default: false
}
},
components: {
viewFileModel
@@ -77,6 +77,7 @@
},
mounted() {
this.queryForm = this.standardContentQuery
this.queryForm.taskExplain = 'sdf dsjf;l sdf;ldsf ;lsdfkj d;lsfkds;lfdksf第三方是德国搞定过分乐观看待给对方公开地方领导反馈给东丽的反馈给管库给的给'
},
methods: {
urlClick(val) {
@@ -147,5 +148,40 @@
cursor: pointer;
}
}
.text-content-button-one {
width: 100%;
.text-field-left {
width: 124px;
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #6F7385;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 24px;
float: left;
margin-top: 3px;
}
.text-field-right {
width: calc(100% - 200px);
display: inline-block;
font-size: 16px;
text-overflow: ellipsis;
white-space: pre-wrap;
overflow: visible;
float: left;
color: #040B29;
font-weight: 400;
}
.text-field-right-url {
color: #00B3BE !important;
cursor: pointer;
}
}
}
</style>
@@ -88,7 +88,8 @@
{},
{
title: this.$t('taskDescription'),
value: 'taskExplain'
value: 'taskExplain',
type:4,
}
// {
// title: this.$t('remarks'),
@@ -298,7 +298,7 @@
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
SizeChange(page,pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()