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

This commit is contained in:
liyawei
2022-07-14 11:32:03 +08:00
15 changed files with 571 additions and 50 deletions
@@ -11,10 +11,12 @@ import com.jero.modules.lawsOpinionGather.enums.LawsOpinionGatherNodeEnum;
import com.jero.modules.lawsOpinionGather.enums.OperatorRoleCodeEnum;
import com.jero.modules.lawsOpinionGather.mapper.LawsProcessHistoryEOMapper;
import com.jero.modules.lawsOpinionGather.service.ILawsProcessHistoryEOService;
import com.jero.modules.lawsTechnologyEvaluation.job.LawsTechnologyEvaluationNodeEnum;
import com.jero.modules.project.enums.OperatorTypeEnum;
import com.jero.modules.project.enums.RequestSourceEnum;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -120,9 +122,12 @@ public class LawsProcessHistoryEOServiceImpl extends ServiceImpl<LawsProcessHist
if(StringUtils.isNotEmpty(data.getOperatorRoleCode())){
data.setOperatorRoleName(OperatorRoleCodeEnum.getTextByValue(data.getOperatorRoleCode(),cut));
}
if(StringUtils.isNotEmpty(data.getTaskDefinitionKey())){
data.setTaskDefinitionKeyName(LawsOpinionGatherNodeEnum.getTextByValue(data.getTaskDefinitionKey(),cut));
if(StringUtils.equals(data.getFlowType(), FlowTypeEnum.FGYJSJLC.getValue())){
data.setTaskDefinitionKeyName(LawsOpinionGatherNodeEnum.getTextByValue(data.getTaskDefinitionKey(),cut));
}else if(StringUtils.equals(data.getFlowType(),FlowTypeEnum.FGJSPG.getValue())){
data.setTaskDefinitionKeyName(LawsTechnologyEvaluationNodeEnum.getTextByValue(data.getTaskDefinitionKey(),cut));
}
}
});
}
@@ -205,7 +205,7 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
@AutoLog(value = "条款导入")
@ApiOperation(value = "条款导入")
@GetMapping(value = "/importItemExcel")
@PostMapping(value = "/importItemExcel")
public List<Map<String,Object>> importItemExcel(MultipartFile file, @RequestParam(name = "cut") String cut, HttpServletRequest request) throws Exception {
List<Map<String,Object>> result = this.lawsTechnologyEvaluationEOService.importItemExcel(file,cut,request);
return result;
@@ -0,0 +1,80 @@
package com.jero.modules.lawsTechnologyEvaluation.job;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* 法规技术评估 - 定时器
* 作用:当前日期大于等于截止日志的时候,把该数据的流程状态,更新为已完成,同时把当前这条数据的所有待办任务提交
*/
@Slf4j
public class LawsTechnologyEvaluationJob implements Job {
@Autowired
private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService;
@Autowired
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
@Autowired
private WorkFlowFeignClient workFlowFeignClient;
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info("法规技术评估流程,定时任务开启 =====================================================");
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue());
List<LawsTechnologyEvaluationEO> lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(queryWrapper);
if (CollectionUtils.isNotEmpty(lawsTechnologyEvaluationEOList)) {
Date currentDate = new Date();
//过滤截止日期小于当前日期的法规技术评估数据
List<LawsTechnologyEvaluationEO> updateLawsTechnologyEvaluationEOList = lawsTechnologyEvaluationEOList.stream().filter(e -> {
boolean flag = false;
if(currentDate.after(e.getEndTime())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(updateLawsTechnologyEvaluationEOList)){
List<String> lawsTechnologyEvaluationIdList = updateLawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList());
//获取这些法规技术评估数据的下级流程明细数据。
QueryWrapper<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOQueryWrapper = new QueryWrapper<>();
flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList);
List<LawsTechnologyEvaluationFlowDetailEO> lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){
String actiProcInstIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(","));
Result<String> result = this.workFlowFeignClient.completeTaskByPids(actiProcInstIds);
if(result.getCode().equals(CommonConstant.SC_OK_200)){
updateLawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> {
lawsTechnologyEvaluationEO.setFlowStatus(GatherResultEnum.COMPLETED.getValue());
});
this.lawsTechnologyEvaluationEOService.updateBatchById(updateLawsTechnologyEvaluationEOList);
}
}
}
}
log.info("法规技术评估流程,定时任务结束 =====================================================");
}
}
@@ -0,0 +1,63 @@
package com.jero.modules.lawsTechnologyEvaluation.job;
import com.alibaba.druid.util.StringUtils;
import com.jero.common.constant.enums.CutEnum;
/**
* 法规技术评估 节点枚举类
*/
public enum LawsTechnologyEvaluationNodeEnum {
ENGINEER_INITIATED("fggcsfq","法规工程师发起","Engineer initiated"),
APPRAISERS_EVALUATION("pgrqr","评估人评估","Appraiser's evaluation"),
SPONSOR_REVIEW("fqrsc","发起人审查","Sponsor review"),
;
String key;
String cnName;
String enName;
private LawsTechnologyEvaluationNodeEnum(String key, String cnName, String enName) {
this.key = key;
this.cnName = cnName;
this.enName = enName;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getCnName() {
return cnName;
}
public void setCnName(String cnName) {
this.cnName = cnName;
}
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
public static String getTextByValue(String key,String cut) {
LawsTechnologyEvaluationNodeEnum[] values = values();
for (LawsTechnologyEvaluationNodeEnum lawsOpinionGatherNodeEnum : values) {
if (lawsOpinionGatherNodeEnum.key.equals(key)) {
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
return lawsOpinionGatherNodeEnum.cnName;
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
return lawsOpinionGatherNodeEnum.enName;
}
}
}
return null;
}
}
@@ -336,13 +336,6 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
HSSFCellStyle cellStyleTemp = workbook.createCellStyle();
cellStyleTemp.setWrapText(true);//自动换行
int startLine = 0;
int endLine = 4;
//合并单元格
CellRangeAddress region1 =
new CellRangeAddress(1, 1, startLine, endLine); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
sheet.addMergedRegion(region1);
String explainInfo = null;
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);
@@ -354,12 +347,12 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
row.createCell(m).setCellValue(headerArr[m]);
}
Row rowExplain = sheet.createRow(1);
/*Row rowExplain = sheet.createRow(1);
short height = (short) (7 * 200);
rowExplain.setHeight((short) height);
Cell cell = rowExplain.createCell(0);
cell.setCellValue(explain);
cell.setCellStyle(cellStyleTemp);
cell.setCellStyle(cellStyleTemp);*/
response.setHeader("Content-Disposition",
"attachment; filename=\"" + fileOriName + ".xls");
@@ -157,7 +157,6 @@ public class LawsTechnologyEvaluationResultEOServiceImpl extends ServiceImpl<Law
QueryWrapper<LawsTechnologyEvaluationComplianceResultEO> complianceResultEOQueryWrapper = new QueryWrapper<>();
complianceResultEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationComplianceResultEO::getActiProcInstId,lawsTechnologyEvaluationResultEO.getActiProcInstId());
complianceResultEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationComplianceResultEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationResultEO.getLawsTechnologyEvaluationId());
complianceResultEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationComplianceResultEO::getCreateBy,lawsTechnologyEvaluationResultEO.getCreateBy());
List<LawsTechnologyEvaluationComplianceResultEO> complianceResultEOList = complianceResultEOService.list(complianceResultEOQueryWrapper);
if(CollectionUtils.isNotEmpty(complianceResultEOList)){
result.put("complianceResult",complianceResultEOList.get(0));
+4
View File
@@ -1132,4 +1132,8 @@ module.exports = {
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',
}
+4
View File
@@ -1136,4 +1136,8 @@ module.exports = {
standardDocuments:'标准文件',
pleaseCompleteTheEvaluationMethodorEvaluator:'请补全列表中评估方式或评估人',
reviewComments:'审核意见',
PleaseCompleteList:'请补全列表中符合性结果',
sponsorFeedback:'发起人反馈',
processNumber:'流程编号',
processName:'流程名称',
}
@@ -168,7 +168,7 @@
align: 'center',
width: 170,
ellipsis: true,
dataIndex: 'technologyTerritory'
dataIndex: 'technologyTerritoryName'
},
{
title: this.$t('collectResults'),
@@ -87,7 +87,6 @@
title: this.$t('clauseContent'),
dataIndex: 'itemContent',
align: 'center',
ellipsis: true,
scopedSlots: { customRender: 'clauseContent' }
},
{
@@ -0,0 +1,141 @@
<template>
<a-modal
:title="$t('circulationHistory')"
:width="800"
:visible="visible"
:maskClosable="false"
@cancel="visible = false"
>
<template slot="footer">
<a-button key="back" @click="visible = false">
{{$t('cancel')}}
</a-button>
</template>
<a-table
class="table"
:columns="columns"
:pagination="false"
:scroll="{x:700,y: 400}"
:data-source="dataSource"
:loading="loading"
>
<span slot="fileOperation" slot-scope="record">
<a class="text" @click="preview(record)">
{{$t('See')}}
</a>
</span>
</a-table>
<div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:current="pageNo"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
</div>
</a-modal>
</template>
<script>
import { getAction, putAction, downloadFile } from '@/api/manage'
export default {
name: 'processInformation',
data() {
return {
dataSource: [],
loading: false,
visible: false,
pageSize: 10,
total: 0,
pageNo: 1,
lawsTechnologyEvaluationId: '',
columns: [
{
title: this.$t('processNumber'),
dataIndex: 'prcNum',
align: 'center',
width: 160,
ellipsis: true
},
{
title: this.$t('processName'),
dataIndex: 'prcName',
align: 'center',
width: 160,
ellipsis: true
},
{
title: this.$t('Assessor'),
dataIndex: 'evaluatorName',
align: 'center',
width: 160,
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
]
}
},
methods: {
preview(row) {
let newUrl = this.$router.resolve({
path: '/processDetails',
query: {
prcNum: row.prcNum,
prcType: 6,
prcId: row.actiProcInstId
}
})
window.open(newUrl.href, '_blank')
},
pageOnChange(page) {
this.pageNo = page
this.getList()
},
SizeChange(pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
getData(row) {
this.visible = true
this.lawsTechnologyEvaluationId = row.id
this.getList()
},
getList() {
let query = {
lawsTechnologyEvaluationId: this.lawsTechnologyEvaluationId,
pageSize: this.pageSize,
pageNo: this.pageNo
}
this.loading = true
getAction('/lawsTechnologyEvaluation/lawsTechnologyEvaluationFlowDetailEO/page', query).then((res) => {
if (res.success) {
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
} else {
this.loading = false
this.dataSource = []
}
})
}
}
}
</script>
<style scoped>
.page {
text-align: right;
margin-top: 20px;
}
</style>
@@ -123,7 +123,6 @@
title: this.$t('clauseContent'),
dataIndex: 'iterms_conditions',
align: 'center',
ellipsis: true,
scopedSlots: { customRender: 'clauseContent' }
},
{
@@ -149,14 +149,18 @@
</a-row>
</a-form-model>
</a-modal>
<processInformation ref="processInformationRef"/>
</a-card>
</template>
<script>
import { getAction, postAction } from '@/api/manage'
import processInformation from './components/processInformation'
export default {
name: 'index',
components:{
processInformation
},
data() {
return {
//url传参严格按照当前命名
@@ -353,15 +357,7 @@
})
},
viewProcessClick(row) {
let newUrl = this.$router.resolve({
path: '/processDetails',
query: {
prcNum: row.prcNum,
prcType: 6,
prcId: row.actiProcInstId
}
})
window.open(newUrl.href, '_blank')
this.$refs.processInformationRef.getData(JSON.parse(JSON.stringify(row)))
},
evaluationResultsClick(row) {
let newUrl = this.$router.resolve({
@@ -22,21 +22,81 @@
<div class="clauseContent-text" v-html="text"></div>
</a-tooltip>
</div>
<span slot="nameTechnicalDocument" slot-scope="text,result">
<a-input class="box-input"
:maxLength="100"
v-model="result.technicalFileName"
:placeholder="$t('PleaseEnter')+$t('nameTechnicalDocument')"/>
</span>
<span slot="chapter" slot-scope="text,result">
<a-textarea :placeholder="$t('pleaseEnter')+$t('chapter')"
v-model="result.section"
:maxLength="300"
:rows="2"/>
</span>
<span slot="opinion" slot-scope="text,result">
<a-textarea :placeholder="$t('pleaseEnter')+$t('opinion')"
v-model="result.opinion"
:maxLength="300"
:rows="2"/>
</span>
<span slot="enclosure" slot-scope="text,result,index">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('accessoryFile',index)">
{{ (result.accessoryFile === 'null' || result.accessoryFile === '' ||
result.accessoryFile == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</span>
<span slot="complianceResults" slot-scope="text,result">
<a-select :placeholder="$t('PleaseSelect')+$t('complianceResults')"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="result.complianceResult">
<a-select-option v-for="(item, key) in complianceResultsList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title="item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
</span>
<span slot="accessoryFile" slot-scope="text,result">
<a v-if="text" @click="accessoryFileClick(text)">
{{ $t('viewFile') }}
</a>
<span v-else>--</span>
</span>
<span slot="Results" slot-scope="text,result">
{{text == 'Compliance' ? $t('accord'):$t('nonConformity')}}
</span>
<span slot="sponsorFeedback" slot-scope="text,result">
<a-textarea :placeholder="$t('pleaseEnter')+$t('sponsorFeedback')"
v-model="result.sponsorFeedback"
:maxLength="300"
:rows="2"/>
</span>
</a-table>
</div>
<uploadFile ref="uploadFile" :disabled="disabled" @uploadSuccess="uploadSuccess"></uploadFile>
<viewFileModel ref="viewFileModelRef"/>
</div>
</template>
<script>
import { getAction, postAction } from '@/api/manage'
import uploadFile from '@/components/uploadFile/file'
import viewFileModel from '@/components/viewFileModel/index'
export default {
name: 'evaluatorFeedback',
components: {
uploadFile
uploadFile,
viewFileModel
},
props: {
title: {
@@ -56,61 +116,154 @@
loading: false,
uploadIndex: '',
dataSource: [],
columns: [
complianceResultsList: [
{
name: this.$t('accord'),
value: 'Compliance'
},
{
name: this.$t('nonConformity'),
value: 'Non-Compliance'
}
],
columnsTwo: [
{
title: this.$t('clauseNo'),
dataIndex: 'itemNum',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('clauseName'),
dataIndex: 'itemName',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('clauseContent'),
dataIndex: 'itemContent',
align: 'center',
ellipsis: true,
width: 280,
scopedSlots: { customRender: 'clauseContent' }
},
{
title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethod',
dataIndex: 'evaluationMethodsName',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('nameTechnicalDocument'),
dataIndex: 'nameTechnicalDocument',
dataIndex: 'technicalFileName',
align: 'center',
width: 280,
scopedSlots: { customRender: 'nameTechnicalDocument' }
},
{
title: this.$t('chapter'),
dataIndex: 'section',
align: 'center',
width: 180,
scopedSlots: { customRender: 'chapter' }
},
{
title: this.$t('opinion'),
dataIndex: 'opinion',
align: 'center',
width: 180,
scopedSlots: { customRender: 'opinion' }
},
{
title: this.$t('enclosure'),
dataIndex: 'accessoryFile',
align: 'center',
width: 180,
scopedSlots: { customRender: 'enclosure' }
},
{
title: this.$t('complianceResults'),
dataIndex: 'complianceResult',
align: 'center',
width: 180,
scopedSlots: { customRender: 'complianceResults' }
}
],
columnsThree: [
{
title: this.$t('clauseNo'),
dataIndex: 'itemNum',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('clauseName'),
dataIndex: 'itemName',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('clauseContent'),
dataIndex: 'itemContent',
align: 'center',
width: 280,
scopedSlots: { customRender: 'clauseContent' }
},
{
title: this.$t('evaluationMethod'),
dataIndex: 'evaluationMethodsName',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('nameTechnicalDocument'),
dataIndex: 'technicalFileName',
align: 'center',
width: 280,
ellipsis: true
},
{
title: this.$t('chapter'),
dataIndex: 'chapter',
dataIndex: 'section',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('opinion'),
dataIndex: 'opinion',
align: 'center',
width: 180,
ellipsis: true
},
{
title: this.$t('enclosure'),
dataIndex: 'enclosure',
dataIndex: 'accessoryFile',
align: 'center',
ellipsis: true
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'accessoryFile' }
},
{
title: this.$t('complianceResults'),
dataIndex: 'complianceResults',
dataIndex: 'complianceResult',
align: 'center',
ellipsis: true
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'Results' }
},
{
title: this.$t('sponsorFeedback'),
dataIndex: 'sponsorFeedback',
align: 'center',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'sponsorFeedback' }
}
]
}
@@ -118,6 +271,21 @@
mounted() {
if (this.evaluatorFeedbackList && this.evaluatorFeedbackList.length > 0) {
this.dataSource = this.evaluatorFeedbackList
if (this.$route.query.taskDefinitionKey != 'pgrqr') {
this.dataSource.forEach(res => {
res.sponsorFeedback = ''
})
this.dataSource = [...this.dataSource]
}
}
},
computed: {
columns() {
if (this.$route.query.taskDefinitionKey == 'pgrqr') {
return this.columnsTwo
} else {
return this.columnsThree
}
}
},
methods: {
@@ -126,7 +294,7 @@
this.$refs.uploadFile.visible = true
this.uploadName = item
this.uploadIndex = index
getAction('sys/common/getFileInfos', { id: this.dataList[this.uploadIndex][this.uploadName] }).then((res) => {
getAction('sys/common/getFileInfos', { id: this.dataSource[this.uploadIndex][this.uploadName] }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
@@ -143,8 +311,23 @@
})
}
/** 赋值给当前对应的表单文件 */
this.dataList[this.uploadIndex][this.uploadName] = attIdList.join(',')
this.dataList = [...this.dataList]
this.dataSource[this.uploadIndex][this.uploadName] = attIdList.join(',')
this.dataSource = [...this.dataSource]
},
submitData(callBack) {
for (let i = 0; i < this.dataSource.length; i++) {
if (!this.dataSource[i].complianceResult) {
this.$message.warning(this.$t('PleaseCompleteList'))
return
}
}
callBack && callBack(this.dataSource)
},
preservationData(callBack) {
callBack && callBack(this.dataSource)
},
accessoryFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
}
}
}
@@ -214,7 +397,7 @@
.button-text {
height: 38px;
width: calc(100% - 100px);
width: calc(100%);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
@@ -233,6 +416,7 @@
margin-left: 8px;
cursor: pointer;
}
.clauseContent-text {
width: 100%;
overflow: hidden;
@@ -245,4 +429,15 @@
text-justify: inter-ideograph;
word-break: break-all
}
</style>
<style>
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
</style>
@@ -78,7 +78,7 @@
isPreservation: false,
isSendBack: false,
isTrue: false,
standardContentList:[],
standardContentList: [],
standardContent: [
{
title: this.$t('standard'),
@@ -110,7 +110,7 @@
value: 'processBackground'
}
],
evaluatorFeedback:[
evaluatorFeedback: [
{
title: this.$t('standard'),
value: 'serialNumber'
@@ -137,7 +137,7 @@
title: this.$t('processBackground'),
value: 'processBackground'
}
],
]
}
},
mounted() {
@@ -174,7 +174,7 @@
lawsTechnologyEvaluationItem() {
getAction('/lawsTechnologyEvaluation/lawsTechnologyEvaluationItemResultEO/list', {
lawsTechnologyEvaluationId: this.queryProject.lawsTechnologyEvaluationId,
actiProcInstId: this.$route.query.prcId,
actiProcInstId: this.$route.query.prcId
}).then((res) => {
if (res.success) {
this.evaluatorFeedbackList = res.result || []
@@ -189,8 +189,7 @@
lawsOpinionAssessmentResult() {
getAction(this.url.list, {
lawsTechnologyEvaluationId: this.queryProject.lawsTechnologyEvaluationId,
actiProcInstId: this.$route.query.prcId,
createBy: this.userInfo().username
actiProcInstId: this.$route.query.prcId
}).then((res) => {
if (res.success) {
this.complianceResult = res.result.complianceResult || {}
@@ -206,8 +205,39 @@
},
preservation() {
this.loading = true
this.$refs.evaluatorFeedbackRef.preservationData((res) => {
this.insertBatch(res, 1)
if (this.isTrue) {
this.$refs.evaluatorFeedbackListRef.preservationData((res) => {
this.batchUpdate(res, 1)
})
} else {
this.$refs.evaluatorFeedbackRef.preservationData((res) => {
this.insertBatch(res, 1)
})
}
},
batchUpdate(val, num) {
let query = {
actiProcInstId: this.$route.query.prcId,
lawsTechnologyEvaluationId: this.queryProject.lawsTechnologyEvaluationId,
itemResultList: val
}
postAction('/lawsTechnologyEvaluation/lawsTechnologyEvaluationItemResultEO/batchUpdate', query).then((res) => {
if (res.success) {
if (num == 1) {
this.$message.success(this.$t('OperationSuccessful'))
this.loading = false
} else {
if (this.queryProject.msg) {
delete this.queryProject.msg
}
this.completeTask()
}
} else {
if (num == 1) {
this.loading = false
this.$message.warning(this.$t('operationFailed'))
}
}
})
},
insertBatch(val, num) {
@@ -235,7 +265,11 @@
},
sendBack() {
if (this.isTrue) {
this.$refs.evaluatorFeedbackListRef.preservationData((res) => {
this.loading = true
this.queryProject.flag = '2'
this.batchUpdate(res, 2)
})
} else {
this.$refs.evaluatorFeedbackRef.preservationData((res) => {
this.loading = true
@@ -247,7 +281,16 @@
},
submit() {
if (this.isTrue) {
this.$refs.evaluatorFeedbackListRef.submitData((res) => {
if (this.$route.query.taskDefinitionKey == 'pgrqr') {
this.loading = true
this.batchUpdate(res, 2)
} else {
this.loading = true
this.queryProject.flag = '1'
this.batchUpdate(res, 2)
}
})
} else {
this.$refs.evaluatorFeedbackRef.submitData((res) => {
if (this.$route.query.taskDefinitionKey == 'pgrqr') {