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

This commit is contained in:
wangzhijiang
2022-08-25 15:12:03 +08:00
31 changed files with 348 additions and 97 deletions
@@ -35,6 +35,7 @@ import com.jero.modules.project.util.WordUtil;
import com.jero.modules.split.common.ReadExcel;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.ISysDictItemService;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.util.HSSFColor;
@@ -762,21 +763,21 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
nowFile.mkdirs();
String fileName = fileOriName + ".docx";
// 查询导出数据
List<Map> allParamsInfoList = queryForExportCustom(paramsReportDetailVO);
Map<String, String> params = allParamsInfoList.get(0);
List<Map<String, Object>> imgListAll = (List<Map<String, Object>>) allParamsInfoList.get(1).get("imgListAll");
String templateUrl = "";
ParamsExportTemplateEO paramsExportTemplateEO = paramsExportTemplateEOService.getById(paramsReportDetailVO.getExportTemplateId());
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(paramsExportTemplateEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFiles)) {
templateUrl = ossFiles.get(0).getUrl();
}
// 替换模板中的占位符
try {
// 查询导出数据
List<Map> allParamsInfoList = queryForExportCustom(paramsReportDetailVO);
Map<String, String> params = allParamsInfoList.get(0);
List<Map<String, Object>> imgListAll = (List<Map<String, Object>>) allParamsInfoList.get(1).get("imgListAll");
String templateUrl = "";
ParamsExportTemplateEO paramsExportTemplateEO = paramsExportTemplateEOService.getById(paramsReportDetailVO.getExportTemplateId());
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(paramsExportTemplateEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFiles)) {
templateUrl = ossFiles.get(0).getUrl();
}
// 拿取模板
String repFileName = fileName.replaceAll("/","_");
wordOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
@@ -788,16 +789,36 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
List<Map<String, Object>> fileListAll = (List<Map<String, Object>>) allParamsInfoList.get(2).get("fileListAll");
if (fileListAll != null && !fileListAll.isEmpty()) {
Map<String,String> paramsAfterFilter = WordUtil.filterParams(wordMLPackage, params);
Map<String,String> paramsAfterFilter = WordUtil.filterParams(wordMLPackage, params); // 过滤出需要导出的参数项
if (CollectionUtil.isNotEmpty(paramsAfterFilter)) {
List<String> nioNumberList = paramsAfterFilter.keySet().stream().collect(Collectors.toList());
List<OSSFile> allRelevFileList = new ArrayList<>();
// 判断文件是否重复
for (Map<String, Object> fileMap : fileListAll) {
for (Map.Entry map : fileMap.entrySet()) {
String key = (String) map.getKey();
List<OSSFile> fileList = (List<OSSFile>) map.getValue();
if (nioNumberList.contains(key)) {
allRelevFileList.addAll(fileList);
String newFileName = isRepeat(allRelevFileList, fileList.get(0));
if (!"".equals(newFileName) && !"old".equals(newFileName)) { // 文件名称重复 且文件内容不同
String configDataStr = params.get(key);
if (StringUtils.isNotEmpty(configDataStr)) {
if (configDataStr.contains("#")) {
String newConfigDataStr = configDataStr.substring(0, configDataStr.lastIndexOf("#")) + newFileName;
params.put(key, newConfigDataStr);
} else {
params.put(key, newFileName);
}
}
fileList.get(0).setFileName(newFileName);
allRelevFileList.addAll(fileList);
} else if ("".equals(newFileName)) { // 文件名称不重复
allRelevFileList.addAll(fileList);
}
}
}
}
@@ -893,21 +914,21 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
nowFile.mkdirs();
String fileName = fileOriName + ".xlsx";
// 查询导出数据
List<Map> allParamsInfoList = queryForExportCustom(paramsReportDetailVO);
HashMap<String, String> params = (HashMap<String, String>) allParamsInfoList.get(0);
List<Map<String, Object>> imgListAll = (List<Map<String, Object>>) allParamsInfoList.get(1).get("imgListAll");
String templateUrl = "";
ParamsExportTemplateEO paramsExportTemplateEO = paramsExportTemplateEOService.getById(paramsReportDetailVO.getExportTemplateId());
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(paramsExportTemplateEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFiles)) {
templateUrl = ossFiles.get(0).getUrl();
}
// 替换模板中的占位符
try {
// 查询导出数据
List<Map> allParamsInfoList = queryForExportCustom(paramsReportDetailVO);
HashMap<String, String> params = (HashMap<String, String>) allParamsInfoList.get(0);
List<Map<String, Object>> imgListAll = (List<Map<String, Object>>) allParamsInfoList.get(1).get("imgListAll");
String templateUrl = "";
ParamsExportTemplateEO paramsExportTemplateEO = paramsExportTemplateEOService.getById(paramsReportDetailVO.getExportTemplateId());
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(paramsExportTemplateEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFiles)) {
templateUrl = ossFiles.get(0).getUrl();
}
// 拿取模板
String repFileName = fileName.replaceAll("/","_");
wordOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
@@ -931,7 +952,25 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
String key = (String) map.getKey();
List<OSSFile> fileList = (List<OSSFile>) map.getValue();
if (nioNumberList.contains(key)) {
allRelevFileList.addAll(fileList);
String newFileName = isRepeat(allRelevFileList, fileList.get(0));
if (!"".equals(newFileName) && !"old".equals(newFileName)) { // 文件名称重复 且文件内容不同
String configDataStr = params.get(key);
if (StringUtils.isNotEmpty(configDataStr)) {
if (configDataStr.contains("#")) {
String newConfigDataStr = configDataStr.substring(0, configDataStr.lastIndexOf("#")) + newFileName;
params.put(key, newConfigDataStr);
} else {
params.put(key, newFileName);
}
}
fileList.get(0).setFileName(newFileName);
allRelevFileList.addAll(fileList);
} else if ("".equals(newFileName)) { // 文件名称不重复
allRelevFileList.addAll(fileList);
}
}
}
}
@@ -1064,7 +1103,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
bis.close(); // 先开后关
}
private List<Map<String, Object>> queryForExportNormal(ParamsReportDetailVO paramsReportDetailVO) {
private List<Map<String, Object>> queryForExportNormal(ParamsReportDetailVO paramsReportDetailVO) throws IOException {
List<String> idList = new ArrayList<>();
if (StringUtils.isNotEmpty(paramsReportDetailVO.getIds())) {
idList = Arrays.asList(paramsReportDetailVO.getIds().split(","));
@@ -1074,6 +1113,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
List<ParamsReportConfigEO> paramsConfigEOList = paramsReportConfigEOService.queryList(paramsReportDetailVO.getParamsManifestId()); // 查询所有配置列
List<OSSFile> fileListAll = new ArrayList<>(); // 仅用于校验文件是否重复
// 查询配置列数据
for (Map<String, Object> record1 : dataList) {
@@ -1086,7 +1126,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
//不合并
if ("1".equals(paramsReportDetailVO.getCombineFlag())) {
paramsConfigEOList = paramsConfigEOList.stream().filter(e->configIdList.contains(e.getId())).collect(Collectors.toList()); // 过滤出要导出的配置列
paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置
for (ParamsConfigEO paramsConfigEO : paramsConfigEOList) { // 参数配置
if (ControlTypeEnum.Title.getValue().equals(controlType)) {
record1.put(paramsConfigEO.getId(), titleDefaultValue);
@@ -1103,9 +1143,24 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFileList)) {
configDataBuilder.append(ossFileList.get(0).getFileName()).append("#");
// 不合并导出时 验证文件名是否相同,相同进一步验证文件内容是否相同,不同时重命名文件
String fileName = ossFileList.get(0).getFileName();
String newFileName = isRepeat(fileListAll, ossFileList.get(0));
if (!"".equals(newFileName) && !"old".equals(newFileName)) { // 文件名称重复 且文件内容不同
configDataBuilder.append(newFileName).append("#");
ossFileList.get(0).setFileName(newFileName);
fileList.addAll(ossFileList);
fileListAll.addAll(ossFileList);
} else if ("old".equals(newFileName)) { // 文件名称重复 且文件内容相同
configDataBuilder.append(fileName).append("#");
fileList.addAll(ossFileList);
}else {
configDataBuilder.append(fileName).append("#");
fileList.addAll(ossFileList);
fileListAll.addAll(ossFileList);
}
fileList.addAll(ossFileList);
}
}
@@ -1116,7 +1171,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
record1.put(paramsConfigEO.getId(), configData);
}
});
}
} else if ("2".equals(paramsReportDetailVO.getCombineFlag())) { // 合并
String configData = "";
@@ -1136,9 +1191,35 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
if (StringUtils.isNotEmpty(paramsReportConfigDataEO.getFileConnectId())) {
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(paramsReportConfigDataEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFileList)) {
fileNameList.add(ossFileList.get(0).getFileName());
// 合并导出时 验证文件名是否相同,相同进一步验证文件内容是否形同,不同时重命名文件
String fileName = ossFileList.get(0).getFileName();
String newFileName = isRepeat(fileListAll, ossFileList.get(0));
if (!"".equals(newFileName) && !"old".equals(newFileName)) { // 文件名称重复 且文件内容不同
// 判断 新文件名是不是当前参数下 配置间的 重复
int count = (int) fileList.stream().filter(e->newFileName.equals(e.getFileName())).count();
if (count <= 0) { // 不是 (如果是,不做任何操作)
fileNameList.add(newFileName);
ossFileList.get(0).setFileName(newFileName);
fileList.addAll(ossFileList);
fileListAll.addAll(ossFileList);
}
} else if ("old".equals(newFileName)) { // 文件名称重复 且文件内容相同
// 判断这种重复是不是当前参数下 配置间的
int count = (int) fileList.stream().filter(e->fileName.equals(e.getFileName())).count();
if (count <= 0) { // 不是 (如果是,不做任何操作)
fileNameList.add(fileName);
fileList.addAll(ossFileList);
fileListAll.addAll(ossFileList);
}
}else { // 文件名称不重复
fileNameList.add(fileName);
fileList.addAll(ossFileList);
fileListAll.addAll(ossFileList);
}
fileList.addAll(ossFileList);
}
}
}
@@ -1151,7 +1232,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
configDataBuilder.append(textDatas).append("#");
}
if (CollectionUtil.isNotEmpty(fileNameList)) {
fileNameList = fileNameList.stream().distinct().collect(Collectors.toList());
// fileNameList = fileNameList.stream().distinct().collect(Collectors.toList());
configDataBuilder.append(StringUtils.join(fileNameList, paramsReportDetailVO.getSeparator())).append("#");
}
configData = configDataBuilder.toString();
@@ -1168,7 +1249,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
return dataList;
}
private List<Map> queryForExportCustom(ParamsReportDetailVO paramsReportDetailVO) {
private List<Map> queryForExportCustom(ParamsReportDetailVO paramsReportDetailVO) throws IOException {
paramsReportDetailVO.setSeparator("*"); // 设置分隔符
List<String> idList = new ArrayList<>();
@@ -1194,8 +1275,8 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
String controlType = (String) record1.get("control_type");
if (CollectionUtil.isNotEmpty(paramsConfigEOList)) {
List<OSSFile> fileList = new ArrayList<>();
List<OSSFile> imgFileList = new ArrayList<>();
List<OSSFile> fileList = new ArrayList<>(); // 存放当前编号下的非图片文件
List<OSSFile> imgFileList = new ArrayList<>(); // 存放当前编号下的图片文件
// 合并配置数据
String configData = "";
@@ -1208,7 +1289,8 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
.map(ParamsReportConfigDataEO::getPullData).distinct().collect(Collectors.joining(paramsReportDetailVO.getSeparator())); // 整合下拉数据
List<String> fileNameList = new ArrayList<>();
for (ParamsReportConfigDataEO paramsReportConfigDataEO : paramsReportConfigDataEOS) { // 获取”导出文件夹“下的文件
if (CollectionUtil.isNotEmpty(paramsReportConfigDataEOS)) {
ParamsReportConfigDataEO paramsReportConfigDataEO = paramsReportConfigDataEOS.get(0); // 获取”导出文件夹“下的文件
if (StringUtils.isNotEmpty(paramsReportConfigDataEO.getFileConnectId())) {
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(paramsReportConfigDataEO.getFileConnectId());
if (CollectionUtil.isNotEmpty(ossFileList)) {
@@ -1561,6 +1643,73 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
return null;
}
private boolean compareFileContent(String fileUrl1, String fileUrl2) throws IOException {
if (CosBootUtil.doesObjectExist(fileUrl1) && CosBootUtil.doesObjectExist(fileUrl2)){
try (InputStream file1 = CosBootUtil.download(fileUrl1);
InputStream file2 = CosBootUtil.download(fileUrl2);) {
String md5Hex1 = DigestUtils.md5Hex(file1);
String md5Hex2 = DigestUtils.md5Hex(file2);
return md5Hex1.equals(md5Hex2);
} catch (IOException e) {
log.error(e.getMessage(), e);
throw new IOException(e.getMessage());
}
} else { // 有文件不存在时,也视为不相同
return false;
}
}
// 判断导出文件是否重复
private String isRepeat(List<OSSFile> fileList, OSSFile ossFile) throws IOException {
String fileName = ossFile.getFileName();
String currentFileUrl = ossFile.getUrl();
List<OSSFile> result = fileList.stream().filter(e-> fileName.equals(e.getFileName())).collect(Collectors.toList());
if (result.size() > 0) { // 文件名重复
String fileUrl = result.get(0).getUrl();
if (!compareFileContent(currentFileUrl, fileUrl)) { // 文件内容不同
List<OSSFile> sameFileList = fileList.stream().filter(e-> compareFileName(fileName, e.getFileName())).collect(Collectors.toList());
int count = sameFileList.size();
if (count > 0) {
// 判断 和重命名的文件 内容是否相同
for (OSSFile file : sameFileList) {
if (compareFileContent(currentFileUrl, file.getUrl())) {
return file.getFileName();
}
}
// 遍历完 没相同的 再重命名
String newFileName = fileName.substring(0, fileName.lastIndexOf(".")) + (count + 1) + fileName.substring(fileName.lastIndexOf("."));
return newFileName;
} else {
String newFileName = fileName.substring(0, fileName.lastIndexOf(".")) + (count + 1) + fileName.substring(fileName.lastIndexOf("."));
return newFileName;
}
} else { // 文件内容相同
return "old";
}
} else { // 文件名不重复
return "";
}
}
// 比较文件名,如 currentFileName 文件.pdf ; fileName: 文件1.pdf
private boolean compareFileName(String currentFileName, String fileName) {
StringBuilder sb = new StringBuilder();
sb.append(fileName.substring(0, fileName.lastIndexOf(".") - 1));
sb.append(fileName.substring(fileName.lastIndexOf("."), fileName.length()));
if (currentFileName.equals(sb.toString())) {
return true;
} else { // 当 currentFileName = fileName 时 也返回false
return false;
}
}
/**
* 实体对象转成Map
* @param obj 实体对象
@@ -137,8 +137,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@PostMapping(value = "/add")
// @RequiresPermissions("params:paramsInfo:add")
public Result<?> add(@Validated @RequestBody ParamsInfoEO paramsInfoEO) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())
&& !ControlTypeEnum.Title.getValue().equals(paramsInfoEO.getControlType())) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())) {
return Result.error("认证类别不能为空!");
}
boolean isSuccess = paramsInfoEOService.add(paramsInfoEO);
@@ -160,8 +159,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@PostMapping(value = "/edit")
@RequiresPermissions("params:paramsInfo:edit")
public Result<?> edit(@Validated @RequestBody ParamsInfoEO paramsInfoEO) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())
&& !ControlTypeEnum.Title.getValue().equals(paramsInfoEO.getControlType())) {
if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())) {
return Result.error("认证类别不能为空!");
}
boolean isSuccess = paramsInfoEOService.editById(paramsInfoEO);
@@ -1311,6 +1311,13 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
// 认证类别
// 来源:认证类别sheet页
resultMap = validateMustAndLength(nioCertCategoryMap.get(nioNumber), "认证类别", "Cert Category", IsMustEnum.YES.getValue(), "1000", false, cut);
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
dto.setCertCategory(nioCertCategoryMap.get(nioNumber));
// String certCategory = dto.getCertCategory();
// resultMap = validateMustAndLength(certCategory, "认证类别", "cert category", IsMustEnum.YES.getValue(), "1000", false, cut);
// errorMsg += (String)resultMap.get("errorMsg");
@@ -1332,17 +1339,6 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
controlType = (String)resultMap.get("value");
dto.setControlType(controlType);
// 认证类别
// 来源:认证类别sheet页
if (ControlTypeEnum.Title.getValue().equals(controlType)) {
resultMap = validateMustAndLength(nioCertCategoryMap.get(nioNumber), "认证类别", "Cert Category", IsMustEnum.NO.getValue(), "1000", false, cut);
} else {
resultMap = validateMustAndLength(nioCertCategoryMap.get(nioNumber), "认证类别", "Cert Category", IsMustEnum.YES.getValue(), "1000", false, cut);
}
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
dto.setCertCategory(nioCertCategoryMap.get(nioNumber));
// 控件备选值
String controlValues = dto.getControlValues();
if (ControlTypeEnum.PULL_SINGLE.getValue().equals(controlType)
@@ -178,6 +178,7 @@
v-model="item.val"
:options="item.options"
allowClear
class="item-input"
:placeholder="$t('pleaseSelect')"
:mode="allowMultiple(item)?'multiple':''"
/>
@@ -191,12 +192,14 @@
<a-time-picker v-else-if="item.type==='time'"
:value="item.val ? moment(item.val,'HH:mm:ss') : null" format="HH:mm:ss"
style="width: 100%;display: inline-block" @change="(time,value)=>item.val=value"/>
<a-input-number v-else-if=" item.type=='int'||item.type=='number' " style="width: 100%" :placeholder="$t('pleaseSelect')+$t('numericalValue')" v-model="item.val"/>
<a-input-number v-else-if=" item.type=='int'||item.type=='number' "
class="item-input"
style="width: 100%" :placeholder="$t('pleaseSelect')+$t('numericalValue')" v-model="item.val"/>
<a-select v-else-if="item.type=='switch'" :placeholder="$t('pleaseSelect')" v-model="item.val">
<a-select-option value="Y">{{$t('yes')}}</a-select-option>
<a-select-option value="N">{{$t('not')}}</a-select-option>
</a-select>
<a-input v-else v-model="item.val" :placeholder="$t('EnterValue')"/>
<a-input v-else v-model="item.val" class="item-input" :placeholder="$t('EnterValue')"/>
</a-col>
<a-col :md="4" :xs="0" style="margin-bottom: 12px;">
@@ -748,4 +751,10 @@
::v-deep .ant-modal-body{
overflow-y: visible!important;
}
.item-input{
height: 38px;
}
::v-deep .ant-select{
height: 38px;
}
</style>
+4
View File
@@ -87,6 +87,10 @@ export const JeroListMixin = {
getAction(this.url.list, params).then((res) => {
if (res.success) {
//update-begin---author:zhangyafei Date:20201118 for适配不分页的数据列表------------
if (res.result.current > 1 && res.result.records.length == 0) {
this.loadData(1)
return
}
this.dataSource = res.result.records||res.result;
if(res.result.total)
{
@@ -261,6 +261,11 @@
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
@@ -126,6 +126,11 @@
this.loading = true
getAction(this.url.getInfoList, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.conList = res.result.records
this.total = res.result.total
this.loading = false
@@ -241,6 +241,11 @@
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
@@ -183,6 +183,11 @@
this.loading = true
getAction(this.url.getInfoList, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.conList = res.result.records
if (this.conList && this.conList.length > 0) {
this.conList.forEach(val => {
@@ -131,6 +131,11 @@
this.loading = true
getAction(this.url.getInfoList, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.conList = res.result.records
if (this.conList && this.conList.length > 0) {
this.conList.forEach(val => {
@@ -206,7 +206,7 @@
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -194,7 +194,7 @@
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -331,6 +331,11 @@
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
@@ -164,6 +164,11 @@
this.loading = true
postAction(`collection/onlCgformCollection/page`, params).then(res => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.queryParams.pageNo = 1
this.loadData()
return
}
this.tableData = [...res.result.records]
this.total = res.result.total
this.loading = false
@@ -1324,6 +1324,18 @@
border: 1px #00B3BE solid;
color: #00B3BE;
}
::v-deep .ant-select-tree {
width: auto;
height: 300px;
overflow: auto;
position: absolute;
/*background: #fff;*/
}
::v-deep .ant-select-tree-dropdown {
min-height: 320px;
}
</style>
<style lang="less">
@@ -185,6 +185,11 @@
this.loading = true
postAction(`subscribe/onlCgformSubscribe/page`, params).then(res => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.queryParams.pageNo = 1
this.loadData()
return
}
this.tableData = [...res.result.records]
this.total = res.result.total
this.loading = false
@@ -71,7 +71,7 @@
{{$t('selectedStandard')}}
</span>
<span class="box-button-standard-right"
:title="selectedRowKeysLeftRecord[0]?selectedRowKeysLeftRecord[0].serialNumber+' '+selectedRowKeysLeftRecord[0].fileName:$t('noComparisonDocumentSelected')"
:title="selectedRowKeysLeftRecord[0]?selectedRowKeysLeftRecord[0].serialNumber+' '+selectedRowKeysLeftRecord[0].fileName:$t('noComparisonDocumentSelected')"
:class="{'box-button-standard-right-color':selectedRowKeysLeftRecord[0]}">
{{selectedRowKeysLeftRecord[0]?selectedRowKeysLeftRecord[0].serialNumber+' '+selectedRowKeysLeftRecord[0].fileName:$t('noComparisonDocumentSelected')}}
</span>
@@ -357,6 +357,11 @@
this.loadingLeft = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNoLeft = 1
this.getListLeft()
return
}
this.dataSourceLeft = res.result.records || []
this.totalLeft = res.result.total
this.loadingLeft = false
@@ -381,6 +386,11 @@
this.loadingRight = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNoRight = 1
this.getListRight()
return
}
this.dataSourceRight = res.result.records || []
this.totalRight = res.result.total
this.loadingRight = false
@@ -258,6 +258,11 @@
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
@@ -491,11 +496,11 @@
}
::v-deep .ant-table-row:first-child {
background: #fff!important;
background: #fff !important;
opacity: 0.9;
}
::v-deep .ant-table-body {
background: transparent!important;
background: transparent !important;
}
</style>
@@ -276,6 +276,11 @@
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
@@ -413,7 +413,7 @@
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -364,7 +364,7 @@ export default {
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -236,7 +236,7 @@
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -363,7 +363,7 @@ export default {
getAction(this.url.tableList, params).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getTableList()
return
}
@@ -339,7 +339,7 @@ export default {
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -134,7 +134,8 @@
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-if='required'>
<!-- v-if='required'-->
<a-row :gutter="24" >
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
@@ -248,8 +249,9 @@
</div>
</a-col>
</a-row>
<!-- v-if='required'-->
<a-row :gutter="24" >
<a-col :span="24" v-if='required'>
<a-col :span="24" >
<a-tabs>
<a-tab-pane v-for='(item,index) in contentList' :tab="item.cut == 'cn' ? item.text : item.textEn" :key="index + 1">
<a-row :gutter="24">
@@ -470,11 +472,11 @@ export default {
},
controlTypeChange(value){
this.$refs.ruleForm.clearValidate(['controlVerify','titleDefaultValue','controlValues'])
if(value == 11){
this.required = false
}else {
this.required = true
}
// if(value == 11){
// this.required = false
// }else {
// this.required = true
// }
},
uploadSuccess(data) {
let attIdList = []
@@ -645,11 +647,11 @@ export default {
// value.technologyTerritory = value.technologyTerritory.split(',')
// }
this.formInline = value
if(this.formInline.controlType == 11){
this.required = false
}else{
this.required = true
}
// if(this.formInline.controlType == 11){
// this.required = false
// }else{
// this.required = true
// }
this.title = this.$t('edit')
this.flag = 0
// 获取认证类别
@@ -674,7 +676,8 @@ export default {
this.$refs['ruleForm'].resetFields()
},
handleSubmit() {
if(this.formInline.certCategory == undefined && this.formInline.controlType != 11) {
// && this.formInline.controlType != 11
if(this.formInline.certCategory == undefined ) {
this.$message.warning(this.$t('certificationCategory')+this.$t('cannotEmpty'))
return
}
@@ -736,12 +739,12 @@ export default {
})
let querycontentList = JSON.parse(JSON.stringify(this.contentList))
query.certCategoryParamsInfoEOList = querycontentList
if(this.formInline.controlType == 11){
query.certCategoryParamsInfoEOList = []
query.certCategory = ''
}else{
query.titleDefaultValue = ''
}
// if(this.formInline.controlType == 11){
// query.certCategoryParamsInfoEOList = []
// query.certCategory = ''
// }else{
// query.titleDefaultValue = ''
// }
this.confirmLoading = true
Action(url, query).then((res) => {
if (res.success) {
@@ -390,7 +390,7 @@ export default {
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -79,10 +79,14 @@
<span slot="sponsorFeedback" slot-scope="text,result">
<a-textarea :placeholder="$t('pleaseEnter')+$t('sponsorFeedback')"
v-model.trim="result.sponsorFeedback"
:title="result.sponsorFeedback"
onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')"
:maxLength="300"
:rows="2"/>
</span>
<span slot="sponsorFeedbackIndex" :title="text" slot-scope="text,result">
{{text ? text : '--'}}
</span>
</a-table>
</div>
<uploadFile ref="uploadFile" :disabled="disabled" @uploadSuccess="uploadSuccess"></uploadFile>
@@ -193,6 +197,14 @@
align: 'center',
width: 180,
scopedSlots: { customRender: 'complianceResults' }
},
{
title: this.$t('sponsorFeedback'),
dataIndex: 'sponsorFeedback',
align: 'center',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'sponsorFeedbackIndex' }
}
],
columnsThree: [
@@ -112,7 +112,7 @@
{{$t('edit')}}
</a>
</span>
<span slot="regulatoryEngineer" >
<span slot="regulatoryEngineer">
<span :title="$t('regulatoryEngineer')">
{{$t('regulatoryEngineer')}}
</span>
@@ -218,6 +218,7 @@
<!-- :prop="'certificationEngineer'"-->
<a-form-model-item class="itemModel">
<a-select allowClear
class="box-input"
v-model="formInline.certificationEngineer"
:placeholder="$t('certifiedEngineer')+$t('areaOfResponsibility')">
<a-select-option v-for="(item, key) in dictOptionsValue"
@@ -283,18 +284,18 @@
{
align: 'center',
dataIndex: 'lawEngineerName',
slots:{title:'regulatoryEngineer'},
slots: { title: 'regulatoryEngineer' },
ellipsis: true
},
{
align: 'center',
slots:{title:'engineeringInterfacePerson'},
slots: { title: 'engineeringInterfacePerson' },
dataIndex: 'engineeringInterfacePersonName',
ellipsis: true
},
{
align: 'center',
slots:{title:'certifiedEngineer'},
slots: { title: 'certifiedEngineer' },
dataIndex: 'certificationEngineerName',
ellipsis: true
},
@@ -417,10 +418,10 @@
this.selectedRowKeys = []
this.getList()
},
handleCancel(){
handleCancel() {
this.visible = false
},
handleSubmit(){
handleSubmit() {
this.visible = false
},
batSettingClick() {
@@ -469,6 +470,9 @@
this.editVisible = true
this.$nextTick(() => {
this.formInline = JSON.parse(JSON.stringify(item))
if (!(this.dictOptionsValue.some(val => val.certificationEngineer == this.formInline.certificationEngineer))) {
this.formInline.certificationEngineer = undefined
}
this.$refs.ruleForm.clearValidate()
})
},
@@ -642,11 +646,12 @@
height: 38px;
/*margin-top: 2px;*/
}
.drawer-bootom-button {
position: absolute;
bottom: 0;
width: 100%;
z-index:100;
z-index: 100;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
@@ -353,7 +353,7 @@
postAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
@@ -342,6 +342,11 @@
this.loading = true
getAction(this.url.page, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
@@ -359,13 +359,11 @@ export default {
postAction(this.url.list, query).then((res) => {
if (res) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = res.result.current - 1
this.pageNo = 1
this.getList()
return
}
console.log(res.result)
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
} else {