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

This commit is contained in:
wangzhijiang
2022-09-28 17:56:18 +08:00
14 changed files with 317 additions and 147 deletions
@@ -166,8 +166,9 @@ public class SarFileCompareItemCommentController extends JeroController<SarFileC
@AutoLog(value = "文档对比信息条款评论表-查询对比结果")
@ApiOperation(value = "文档对比信息条款评论表-查询对比结果", notes = "文档对比信息条款评论表-查询对比结果")
@GetMapping(value = "/queryCompareResult")
public Result<SarFileCompareResultVO> queryCompareResult(@RequestParam(name = "infoId", required = true) String infoId) {
SarFileCompareResultVO res = sarFileCompareItemCommentService.queryCompareResult(infoId);
public Result<SarFileCompareResultVO> queryCompareResult(@RequestParam(name = "infoId", required = true) String infoId,
@RequestParam(name = "comment", required = false) String comment) {
SarFileCompareResultVO res = sarFileCompareItemCommentService.queryCompareResult(infoId,comment);
return Result.OK(res);
}
@@ -178,8 +179,9 @@ public class SarFileCompareItemCommentController extends JeroController<SarFileC
@RequestParam(name = "selectIds", required = true) String selectIds,
@RequestParam(name = "includeComments", required = true) boolean includeComments,
@RequestParam(name = "cut", required = true) String cut,
HttpServletResponse response,HttpServletRequest request) {
sarFileCompareItemCommentService.exportResXls(request,response, infoId, selectIds, includeComments, cut);
HttpServletResponse response,HttpServletRequest request,
@RequestParam(name = "comment", required = false) String comment) {
sarFileCompareItemCommentService.exportResXls(request,response, infoId, selectIds, includeComments, cut,comment);
}
}
@@ -65,9 +65,9 @@ public interface ISarFileCompareItemCommentService extends IService<SarFileCompa
*/
List<SarFileCompareItemComment> queryList();
SarFileCompareResultVO queryCompareResult(String infoId);
SarFileCompareResultVO queryCompareResult(String infoId,String comment);
void exportResXls(HttpServletRequest request,HttpServletResponse response, String infoId, String selectIds, boolean includeComments, String cut);
void exportResXls(HttpServletRequest request,HttpServletResponse response, String infoId, String selectIds, boolean includeComments, String cut,String comment);
void consensusAssessment(SarFileCompareItemComment sarFileCompareItemComment);
}
@@ -11,6 +11,7 @@ import com.jero.modules.compare.service.ISarFileCompareInfoService;
import com.jero.modules.compare.service.ISarFileCompareItemCommentService;
import com.jero.modules.compare.service.ISarFileCompareItemService;
import com.jero.modules.system.util.StringUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -134,7 +135,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
}
@Override
public SarFileCompareResultVO queryCompareResult(String infoId) {
public SarFileCompareResultVO queryCompareResult(String infoId,String comment) {
SarFileCompareResultVO resultVO = new SarFileCompareResultVO();
SarFileCompareInfo sfcInfo = sarFileCompareInfoServiceImpl.queryById(infoId);
resultVO.setInfoId(infoId);
@@ -144,7 +145,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
resultVO.setFileNameRight(sfcInfo.getFileNameRight());
resultVO.setComments(sfcInfo.getComments());
List<SarFileCompareItemComment> list = queryListByInfoId(infoId);
List<SarFileCompareItemComment> list = queryListByInfoId(infoId,comment);
Map<String, SarFileCompareItem> sfcItemMap = SarFileCompareItemServiceImpl.queryMapByInfoId(infoId);
for (SarFileCompareItemComment sfcItemCom : list) {
SarFileCompareItemComVO itemComVO = new SarFileCompareItemComVO();
@@ -174,8 +175,11 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
}
public List<SarFileCompareItemComment> queryListByInfoId(String infoId) {
public List<SarFileCompareItemComment> queryListByInfoId(String infoId,String comment) {
LambdaQueryWrapper<SarFileCompareItemComment> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtils.isNotEmpty(comment)) {
queryWrapper.eq(SarFileCompareItemComment::getComment, comment);
}
queryWrapper.eq(SarFileCompareItemComment::getInfoId, infoId);
queryWrapper.orderBy(true, true, SarFileCompareItemComment::getCreateTime);
List<SarFileCompareItemComment> list = this.list(queryWrapper);
@@ -183,7 +187,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
}
@Override
public void exportResXls(HttpServletRequest request,HttpServletResponse response, String infoId, String selectIds, boolean includeComments, String cut) {
public void exportResXls(HttpServletRequest request,HttpServletResponse response, String infoId, String selectIds, boolean includeComments, String cut,String comment) {
List<SarFileCompareItemComment> list = null;
if (includeComments && StringUtils.isEmpty(selectIds)) {
//只导出全文评论的情况
@@ -194,6 +198,9 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
if (!StringUtils.isEmpty(selectIds)) {
queryWrapper.in(SarFileCompareItemComment::getId, Arrays.asList(selectIds.split(",")));
}
if (ObjectUtils.isNotEmpty(comment)) {
queryWrapper.eq(SarFileCompareItemComment::getComment, comment);
}
queryWrapper.orderBy(true, true, SarFileCompareItemComment::getCreateTime);
list = this.list(queryWrapper);
}
@@ -648,7 +648,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
XWPFDocument documentContentCn = new XWPFDocument();
FileOutputStream outContentCn = new FileOutputStream(wordFileContentCn);
//封面
cover(lawsMonthlyReportWriteEOS, titleCN, documentContentCn);
coverCn(lawsMonthlyReportWriteEOS, titleCN, documentContentCn);
// //目录
// catalogue(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, "目录", documentContentCn,CutEnum.CN.getValue());
wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN,
@@ -662,7 +662,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
XWPFDocument documentContentEn = new XWPFDocument();
FileOutputStream outContentEn = new FileOutputStream(wordFileContentEn);
//封面
cover(lawsMonthlyReportWriteEOS, titleEN, documentContentEn);
coverEn(lawsMonthlyReportWriteEOS, titleEN, documentContentEn);
// //目录
// catalogue(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, "catalogue", documentContentEn,CutEnum.EN.getValue());
wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleEN,
@@ -738,10 +738,10 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "") + "";
//标题
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 14,
false, false, "Blue Sky Noto Regular",null,null);
false, false, "Blue Sky Noto Regular",null,null,null);
//主要内容
WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12,
false, true, "Blue Sky Noto Regular",null,null);
false, true, "Blue Sky Noto Regular",null,null,null);
//生成页脚
WordUtil.exportHeardAndFootMain(document,moth);
int oneCount = 1;
@@ -758,7 +758,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(oneTitle)){
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT,
0, 12, false, true, "Blue Sky Noto Regular","0","一级标题");
0, 12, false, true, "Blue Sky Noto Regular","0","一级标题",null);
oneCount++;
}
@@ -781,7 +781,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(twoTitle)){
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT,
2, 12, false, true, "Blue Sky Noto Regular","1","二级标题");
2, 12, false, true, "Blue Sky Noto Regular","1","二级标题",null);
twoCount++;
}
@@ -795,7 +795,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(org.apache.commons.lang3.StringUtils.isNotBlank(reportTitle)){
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT,
4, 12, false, false, "Blue Sky Noto Regular","2","三级标题");
4, 12, false, false, "Blue Sky Noto Regular","2","三级标题",null);
reportCount++;
}
}
@@ -812,7 +812,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "") + "";
//单独设置每页右侧的时间
WordUtil.exportWord(document, catalogue, null, ParagraphAlignment.LEFT, 0, 18,
false, false, "Blue Sky Noto Regular",null,null);
false, false, "Blue Sky Noto Regular",null,null,null);
int oneCount = 1;
@@ -828,7 +828,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(oneTitle)){
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT,
0, 12, false, true, "Blue Sky Noto Regular",null,null);
0, 12, false, true, "Blue Sky Noto Regular",null,null,null);
oneCount++;
}
@@ -851,7 +851,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(twoTitle)){
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT,
0, 12, false, true, "Blue Sky Noto Regular",null,null);
0, 12, false, true, "Blue Sky Noto Regular",null,null,null);
twoCount++;
}
@@ -865,7 +865,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(org.apache.commons.lang3.StringUtils.isNotBlank(reportTitle)){
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT,
0, 12, false, false, "Blue Sky Noto Regular",null,null);
0, 12, false, false, "Blue Sky Noto Regular",null,null,null);
reportCount++;
}
}
@@ -874,16 +874,32 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
//封面
private void cover(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
private void coverCn(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
String titleCN,
XWPFDocument document) {
//封面标识
String flag = "cover";
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "") + "";
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
false, false, "Blue Sky Noto Regular",null,null);
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
false, true, "Blue Sky Noto Regular",null,null);
false, false, "Blue Sky Noto Regular",null,null,flag);
WordUtil.exportWord(document, moth+"\r\n", null, ParagraphAlignment.CENTER, 0, 12,
false, true, "Blue Sky Noto Regular",null,null,flag);
}
//封面
private void coverEn(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
String titleCN,
XWPFDocument document) {
//封面标识
String flag = "cover";
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "") + "";
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
false, false, "Blue Sky Noto Regular",null,null,flag);
WordUtil.exportWord(document, moth+"\r\n", null, ParagraphAlignment.CENTER, 0, 12,
false, true, "Blue Sky Noto Regular",null,null,flag);
}
private void wordContent(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS,
@@ -904,8 +920,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
//生成页眉页脚
WordUtil.exportHeardAndFoot(document,moth);
//生成标题
WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, 18,
false, true, "Blue Sky Noto Regular",null,null);
// WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, 18,
// false, true, "Blue Sky Noto Regular",null,null,null);
int oneCount = 1;
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) {
@@ -924,7 +940,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(oneTitle)){
WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT,
0, 14, false, true, "Blue Sky Noto Regular","0","一级标题");
0, 14, false, true, "Blue Sky Noto Regular","0","一级标题","oneTitle");
oneCount++;
}
@@ -951,7 +967,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(twoTitle)){
WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT,
0, 12, false, true, "Blue Sky Noto Regular","1","二级标题");
0, 12, false, true, "Blue Sky Noto Regular","1","二级标题",null);
twoCount++;
}
//二级目录下放--->新征求意见清单模板, 新发布标准清单模板
@@ -960,13 +976,13 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : askList) {
WordUtil.exportWordExcelAsk(document,lawsMonthlyReportWriteEO,cut);
WordUtil.exportWord(document, null, null, null,
0, 0, false, true, null,null,null);
0, 0, false, true, null,null,null,null);
}
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : issueList) {
WordUtil.exportWordExcelIssue(document,lawsMonthlyReportWriteEO,cut);
WordUtil.exportWord(document, null, null, null, 0, 0,
false, true, null,null,null);
false, true, null,null,null,null);
}
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) {
@@ -979,7 +995,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
if(StringUtils.isNotBlank(reportTitle)){
WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT,
0, 11, false, false, "Blue Sky Noto Regular","2","三级标题");
0, 11, false, false, "Blue Sky Noto Regular","2","三级标题",null);
}
@@ -82,6 +82,7 @@ public class WordUtil {
* @param fontFamily 字体,默认宋体
* @param directoryLevel 目录级别
* @param styleName 标题样式
* @param flag 封面标识(不做行间距处理)
*/
public static void exportWord(XWPFDocument document,
String text,
@@ -93,7 +94,8 @@ public class WordUtil {
Boolean isBold,
String fontFamily,
String directoryLevel,
String styleName) {
String styleName,
String flag) {
//设置标题级别
if(StringUtils.isNotEmpty(directoryLevel)){
@@ -103,6 +105,20 @@ public class WordUtil {
XWPFParagraph titleParagraph = document.createParagraph();
titleParagraph.setStyle(styleName);
//设置行间距
// if(!"cover".equals(flag) && !"oneTitle".equals(flag)){
// CTP ctp = titleParagraph.getCTP();
// CTPPr ppr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr();
// CTSpacing spacing = ppr.isSetSpacing()? ppr.getSpacing() : ppr.addNewSpacing();
// spacing.setAfter(BigInteger.valueOf(0));
// spacing.setBefore(BigInteger.valueOf(0));
// //设置行距类型为 EXACT
// spacing.setLineRule(STLineSpacingRule.EXACT);
// //1磅数是20
// spacing.setLine(BigInteger.valueOf(40*20));
// }
//设置段落左对齐
if (align == null) {
titleParagraph.setAlignment(ParagraphAlignment.LEFT);
+3
View File
@@ -1312,4 +1312,7 @@ module.exports = {
firstLevelDirectory:'First level directory',
deselectAll:'Deselect All',
classification:'Classification',
consistentAssessment:'Consistent assessment',
viewConsistentAssessment:'View Consistent Assessment',
viewAll:'View All',
}
+3
View File
@@ -1413,4 +1413,7 @@ module.exports = {
firstLevelDirectory:'一级目录',
deselectAll:'取消全选',
classification:'分类',
consistentAssessment:'一致评估',
viewConsistentAssessment:'查看一致评估',
viewAll:'查看全部',
}
@@ -52,10 +52,14 @@
<span style="color: #21c9cc"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
class="content-box-box-text content-box-box-text-index"
@click="viewFileClick(item2.lableName)"
v-else-if="item2.lableType == 7 && item2.lableName && index2 != 0">
{{$t('viewFile')}}
<!-- <span v-if="item2.lableName && item2.lableName.split(',').length == 1">-->
<!-- <span class="file-text">{{item2.lableName}}</span>-->
<!-- <a-icon @click="download(item2)" type="download" class="icon-text"/>-->
<!-- </span>-->
<span @click="viewFileClick(item2.lableName)">
{{$t('viewFile')}}
</span>
</span>
<span class="content-box-box-text content-box-box-text-index"
v-else-if="item2.lableType != 7 && !item2.lableName && index2 != 0"
@@ -97,6 +101,7 @@
import displayInformationModel from './displayInformationModel'
import countryCardViewAdd from './countryCardViewAdd'
import viewFileModel from '@/components/viewFileModel/index'
import { mapGetters } from 'vuex'
export default {
name: 'countryCardView',
@@ -131,6 +136,7 @@
})
},
methods: {
...mapGetters(['userInfo']),
displayInformationClick() {
this.$refs.displayInformationModelRef.getData(JSON.parse(JSON.stringify(this.displayList)))
},
@@ -142,6 +148,9 @@
newlyAddedClick() {
this.$refs.countryCardViewAddRef.add(this.countryCardViewList)
},
download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username })
},
countryCardViewAddForm(val) {
this.countryCardViewList = JSON.parse(JSON.stringify(val))
let content = []
@@ -473,4 +482,21 @@
vertical-align: middle;
border-style: none;
}
.file-text {
width: calc(100% - 30px);
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
float: left;
}
.icon-text {
width: 30px;
display: inline-block;
overflow: hidden;
float: left;
margin-top: 21px;
}
</style>
@@ -102,7 +102,7 @@
<div class="commentContent-text-one" v-for="(val,index1) in item.problemKnowledgeBaseCommentVOList"
v-if="item.problemKnowledgeBaseCommentVOList && item.problemKnowledgeBaseCommentVOList.length > 0">
<div class="commentContent-header">
<span class="commentContent-yuan"></span>
<!-- <span class="commentContent-yuan"></span>-->
<span class="commentContent-title">{{val.createBy}}</span>
<span class="commentContent-time">{{val.createTime}}</span>
</div>
@@ -470,15 +470,15 @@
font-size: 14px;
font-weight: 400;
color: #040B29;
display: -webkit-box;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
/*! autoprefixer: on;*/
text-justify: inter-ideograph;
/*display: -webkit-box;*/
/*text-overflow: ellipsis;*/
/*!*! autoprefixer: off *!*/
/*-webkit-box-orient: vertical;*/
/*-webkit-line-clamp: 2;*/
/*!*! autoprefixer: on;*!*/
/*text-justify: inter-ideograph;*/
/*overflow: hidden;*/
word-break: break-all;
overflow: hidden;
}
.content-box-content-botton {
@@ -53,72 +53,6 @@
</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('vehicleType')">{{$t('vehicleType')}}</span>
</div>
<a-form-model-item class="itemModel-multi">
<j-multi-select-tag class="box-input" v-model="formInline.applyCar"
:placeholder="$t('PleaseSelect')+$t('vehicleType')"
:type="'select'"
:disabled="disabled"
:triggerChange="false" :dictCode="'car_type'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('scopeOfApplication')">{{$t('scopeOfApplication')}}</span>
</div>
<a-form-model-item class="itemModel-multi">
<j-multi-select-tag class="box-input" v-model="formInline.applyScope"
:placeholder="$t('PleaseSelect')+$t('scopeOfApplication')"
:type="'select'"
:disabled="disabled"
:triggerChange="false" :dictCode="'apply_scope'"/>
</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('status')">{{$t('status')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.state"
@input="handleInput('status')"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('status')"
:type="'select'"
:triggerChange="false" :dictCode="'state'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('usage')">{{$t('usage')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.useMethod"
@input="handleInput('usage')"
:placeholder="$t('PleaseSelect')+$t('usage')"
:type="'select'"
:disabled="disabled"
:triggerChange="false" :dictCode="'yong4_fa3'"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -133,6 +67,72 @@
</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('vehicleType')">{{$t('vehicleType')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-multi">-->
<!-- <j-multi-select-tag class="box-input" v-model="formInline.applyCar"-->
<!-- :placeholder="$t('PleaseSelect')+$t('vehicleType')"-->
<!-- :type="'checkbox'"-->
<!-- :disabled="disabled"-->
<!-- :triggerChange="false" :dictCode="'car_type'"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('scopeOfApplication')">{{$t('scopeOfApplication')}}</span>
</div>
<a-form-model-item class="itemModel-multi itemModel-multi-one">
<j-multi-select-tag class="box-input" v-model="formInline.applyScope"
:placeholder="$t('PleaseSelect')+$t('scopeOfApplication')"
:type="'checkbox'"
:disabled="disabled"
:triggerChange="false" :dictCode="'apply_scope'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('status')">{{$t('status')}}</span>
</div>
<a-form-model-item class="itemModel-multi itemModel-multi-one">
<j-multi-select-tag class="box-input" v-model="formInline.state"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('status')"
:type="'checkbox'"
:triggerChange="false" :dictCode="'state'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('usage')">{{$t('usage')}}</span>
</div>
<a-form-model-item class="itemModel-multi itemModel-multi-one">
<j-multi-select-tag class="box-input" v-model="formInline.useMethod"
:placeholder="$t('PleaseSelect')+$t('usage')"
:type="'checkbox'"
:disabled="disabled"
:triggerChange="false" :dictCode="'yong4_fa3'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<!-- <a-col :span="12">-->
@@ -516,4 +516,10 @@
margin-bottom: 40px;
}
.itemModel-multi-one {
border: 1px solid #d9d9d9;
border-radius: 4px;
padding: 0 8px;
box-sizing: border-box;
}
</style>
@@ -262,21 +262,21 @@
itemNum: res.items_num,
itemName: res.items_name,
itemContent: res.iterms_conditions,
zhan3_shi4_shun4_xu4: res.zhan3_shi4_shun4_xu4 || ''
display_seq: res.display_seq || ''
})
})
}
this.dataList = this.ImportFileData.concat(this.dataListData)
this.dataList.sort((a, b) => {
a.zhan3_shi4_shun4_xu4 - b.zhan3_shi4_shun4_xu4
this.dataList = this.dataList.sort((a, b) => {
return a.display_seq - b.display_seq
})
this.dataList = [...this.dataList]
},
getPersonnelList(res) {
this.ImportFileData = this.ImportFileData.concat(res)
this.dataList = this.dataListData.concat(this.ImportFileData)
this.dataList.sort((a, b) => {
a.zhan3_shi4_shun4_xu4 - b.zhan3_shi4_shun4_xu4
this.dataList = this.dataList.sort((a, b) => {
return a.display_seq - b.display_seq
})
this.dataList = [...this.dataList]
},
@@ -9,6 +9,16 @@
<span> {{$t('comparisonResults')}}</span>
</div>
<div class="doc-detail-right">
<div @click="viewConsistentAssessmentClick" class="operator-text-text"
:title="$t('viewConsistentAssessment')">
<a-icon type="eye"/>
{{$t('viewConsistentAssessment')}}
</div>
<div @click="viewAllClick" class="operator-text-text"
:title="$t('viewAll')">
<a-icon type="eye"/>
{{$t('viewAll')}}
</div>
<div @click="exportComparisonReportClick" class="operator-text-text"
:title="$t('exportComparisonReport')">
<a-icon type="export"/>
@@ -65,7 +75,8 @@
</div>
<div class="detail-content-left-button" v-html="item.itemsTextRight"></div>
</div>
<div class="detail-content-bottom" :class="{'detail-content-bottom-color':checkboxList.join(',').includes(item.id)}">
<div class="detail-content-bottom"
:class="{'detail-content-bottom-color':checkboxList.join(',').includes(item.id)}">
<div class="detail-content-bottom-left"
:class="{'detail-content-bottom-left-text':language == 'en-us' ? true:false}"
:title="$t('comparisonDifferenceComment')">
@@ -176,6 +187,7 @@
isDisplay: false,
fullCheckbox: false,
resultData: {},
comment: '',
language: '',
url: {
exportData: '/compare/sarFileCompareItemComment/exportResXls'
@@ -207,7 +219,8 @@
let query = {
selectIds: checkboxList.join(','),
includeComments: fullCheckbox,
infoId: this.$route.query.id
infoId: this.$route.query.id,
comment: this.comment
}
downloadFile(this.url.exportData, this.resultData.serialNumberLeft + ' - ' + this.resultData.serialNumberRight + this.$t('comparisonResults') + '.xls', query, this.Deselect)
},
@@ -217,10 +230,19 @@
this.indeterminate = false
this.checkAll = false
},
viewConsistentAssessmentClick() {
this.comment = '一致'
this.getData()
},
viewAllClick() {
this.comment = ''
this.getData()
},
getData() {
let query = {
id: this.$route.query.id,
infoId: this.$route.query.id
infoId: this.$route.query.id,
comment: this.comment
}
this.loading = true
getAction('/compare/sarFileCompareItemComment/queryCompareResult', query).then((res) => {
@@ -536,7 +558,7 @@
.detail-content-content-text-color {
border: 1px solid #00B3BE;
background: rgba(0,179,190,0.0300);
background: rgba(0, 179, 190, 0.0300);
}
.detail-content-left {
@@ -577,9 +599,11 @@
border-radius: 4px;
float: left;
}
.detail-content-bottom-color{
background: rgba(0,179,190,0.0300);
.detail-content-bottom-color {
background: rgba(0, 179, 190, 0.0300);
}
.detail-content-bottom-left {
width: 115px;
font-size: 14px;
@@ -105,7 +105,10 @@
</a-form-model>
</div>
<div class="submit-button">
<a-button class="box-button" type="primary" @click="submit">{{$t('preservation')}}</a-button>
<a-button class="box-button" style="margin-right: 10px"
type="primary" @click="consistentAssessmentClick()">{{$t('consistentAssessment')}}
</a-button>
<a-button class="box-button" type="primary" @click="submit()">{{$t('preservation')}}</a-button>
</div>
</div>
</div>
@@ -194,6 +197,51 @@
path: '/documentComparison'
})
},
consistentAssessmentClick() {
if (!this.dataLeft.id && !this.dataRight.id) {
this.$message.warning(this.$t('pleaseSelectTheDataCompared'))
return
}
let query = {
itemsIdLeft: this.dataLeft.id,
itemsIdRight: this.dataRight.id,
infoId: this.$route.query.id,
comment: '一致'
}
this.dataLoadingText = this.$t('pleaseWaitWhileRunning')
this.loading = true
postAction('/compare/sarFileCompareItemComment/add', query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.loading = false
this.formInline = {}
this.resultData.textRight.forEach(val => {
if (val.id == this.dataRight.id) {
val.reviewed = 1
}
})
this.resultData.textLeft.forEach(val => {
if (val.id == this.dataLeft.id) {
val.reviewed = 1
}
})
this.resultData = { ...this.resultData }
let detailLeftColor = document.getElementsByClassName('detail-content-content-right-data-color')
if (detailLeftColor && detailLeftColor.length > 0) {
detailLeftColor[0].classList.remove('detail-content-content-right-data-color')
}
let detailRightColor = document.getElementsByClassName('detail-content-content-right-data-color-right')
if (detailRightColor && detailRightColor.length > 0) {
detailRightColor[0].classList.remove('detail-content-content-right-data-color-right')
}
this.dataLeft = {}
this.dataRight = {}
} else {
this.$message.warning(this.$t('operationFailed'))
this.loading = false
}
})
},
submit() {
if (!this.dataLeft.id && !this.dataRight.id) {
this.$message.warning(this.$t('pleaseSelectTheDataCompared'))
@@ -23,25 +23,25 @@
</a-select>
</div>
</a-col>
<!-- <a-col :md="6" :sm="8">-->
<!-- <div class="box-title-text tree-select">-->
<!-- <div class="title-text" :title="$t('processNode')">-->
<!-- <span>{{$t('processNode')}}</span>-->
<!-- </div>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('processNode')"-->
<!-- class="box-input"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- v-model="queryParam.prcType">-->
<!-- <a-select-option v-for="(item, key) in processNodeList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span class="itemOption" :title=" item.name ">-->
<!-- {{ item.name}}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- <a-col :md="6" :sm="8">-->
<!-- <div class="box-title-text tree-select">-->
<!-- <div class="title-text" :title="$t('processNode')">-->
<!-- <span>{{$t('processNode')}}</span>-->
<!-- </div>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('processNode')"-->
<!-- class="box-input"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- v-model="queryParam.prcType">-->
<!-- <a-select-option v-for="(item, key) in processNodeList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span class="itemOption" :title=" item.name ">-->
<!-- {{ item.name}}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- </div>-->
<!-- </a-col>-->
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
@@ -73,6 +73,22 @@
<span slot="operation" slot-scope="record">
<a @click="dealWith(record)" style="margin-right:8px">{{$t('Processing')}}</a>
</span>
<span slot="standard" slot-scope="text,record">
<span v-if="record.prcType == '1'" :title="record.serialNumber">
{{record.serialNumber}}
</span>
<span v-else :title="record.prcNum">
{{record.prcNum}}
</span>
</span>
<span slot="titleIndex" slot-scope="text,record">
<span v-if="record.prcType == '1'" :title="record.title">
{{record.title}}
</span>
<span v-else :title="record.prcName">
{{record.prcName}}
</span>
</span>
</a-table>
<div class="page" v-if="dataSource.length > 0">
<a-pagination
@@ -142,14 +158,16 @@
dataIndex: 'prcNum',
align: 'center',
width: 180,
ellipsis: true
ellipsis: true,
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
dataIndex: 'prcName',
align: 'center',
width: 180,
ellipsis: true
ellipsis: true,
scopedSlots: { customRender: 'titleIndex' }
},
{
title: this.$t('ProcessType'),
@@ -164,7 +182,7 @@
dataIndex: 'taskInfo',
align: 'center',
width: 180,
ellipsis: true,
ellipsis: true
},
{
title: this.$t('Sponsor'),
@@ -232,6 +250,7 @@
})
}
},
batchProcessingClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
@@ -241,8 +260,8 @@
})
for (let i = 0; i < content.length; i++) {
if (content[i].taskDefinitionKey != content[0].taskDefinitionKey) {
this.$message.warning(this.$t('processNodesAreInconsistentPleaseSelectConsistentData'))
return
this.$message.warning(this.$t('processNodesAreInconsistentPleaseSelectConsistentData'))
return
}
}
this.$refs.batchProcessingRef.getData(JSON.parse(JSON.stringify(content)))