Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage
This commit is contained in:
+5
@@ -911,6 +911,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, String>> getLoginUserTypes(ParamsCollectManifestVO paramsCollectManifestVO, String cut) {
|
public List<Map<String, String>> getLoginUserTypes(ParamsCollectManifestVO paramsCollectManifestVO, String cut) {
|
||||||
|
if (StringUtils.isEmpty(paramsCollectManifestVO.getProjectId()) || StringUtils.isEmpty(paramsCollectManifestVO.getParamsManifestId())) {
|
||||||
|
throw new JeroBootException("参数不能为空!");
|
||||||
|
}
|
||||||
|
|
||||||
String projectId = paramsCollectManifestVO.getProjectId();
|
String projectId = paramsCollectManifestVO.getProjectId();
|
||||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||||
|
|
||||||
@@ -1055,6 +1059,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
|
|
||||||
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId)
|
queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId)
|
||||||
|
.notIn(ParamsCollectManifestEO::getControlType, ControlTypeEnum.Title.getValue())
|
||||||
.orderByDesc(ParamsCollectManifestEO::getUpdateTime); // 按修改时间降序
|
.orderByDesc(ParamsCollectManifestEO::getUpdateTime); // 按修改时间降序
|
||||||
List<ParamsCollectManifestEO> list = list(queryWrapper);
|
List<ParamsCollectManifestEO> list = list(queryWrapper);
|
||||||
int collectFinishNumber = (int) list.stream().filter(e->CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.getState())).count();
|
int collectFinishNumber = (int) list.stream().filter(e->CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.getState())).count();
|
||||||
|
|||||||
+11
-8
@@ -23,6 +23,7 @@ import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
|
|||||||
import com.jero.modules.cert.report.service.IParamsReportEOService;
|
import com.jero.modules.cert.report.service.IParamsReportEOService;
|
||||||
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
|
||||||
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
|
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
|
||||||
|
import com.jero.modules.cert.template.enums.ControlTypeEnum;
|
||||||
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
|
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
|
||||||
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
|
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
|
||||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||||
@@ -126,14 +127,16 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
|||||||
target.setChangeFlag(CollectManifestChangeFlagEnum.CHANGE_BEFORE.getValue()); // 设置变更标识
|
target.setChangeFlag(CollectManifestChangeFlagEnum.CHANGE_BEFORE.getValue()); // 设置变更标识
|
||||||
|
|
||||||
|
|
||||||
// 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段
|
if (!ControlTypeEnum.Title.getValue().equals(source.getControlType())) {
|
||||||
ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectId(), source.getDutyTerritory());
|
// 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段
|
||||||
if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
|
ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectId(), source.getDutyTerritory());
|
||||||
String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson();
|
if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
|
||||||
if (StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段
|
String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson();
|
||||||
SysUser sysUser = sysUserService.getById(sdtId);
|
if (StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段
|
||||||
if (ObjectUtil.isNotEmpty(sysUser)) {
|
SysUser sysUser = sysUserService.getById(sdtId);
|
||||||
target.setSdt(sysUser.getUsername());
|
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||||
|
target.setSdt(sysUser.getUsername());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
@@ -411,6 +411,17 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
|
|||||||
}
|
}
|
||||||
paramsConfigDataVOList.add(fileConfigDataVO);
|
paramsConfigDataVOList.add(fileConfigDataVO);
|
||||||
|
|
||||||
|
} else if (ControlTypeEnum.Title.getValue().equals(controlType)) {
|
||||||
|
|
||||||
|
ParamsConfigDataVO configDataVO = new ParamsConfigDataVO();
|
||||||
|
configDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
|
||||||
|
configDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
|
||||||
|
configDataVO.setIsLock(paramsConfigEO.getIsLock());
|
||||||
|
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getTitleDefaultValue())) {
|
||||||
|
configDataVO.setDataValue(paramsCollectManifestEO.getTitleDefaultValue());
|
||||||
|
}
|
||||||
|
paramsConfigDataVOList.add(configDataVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
return paramsConfigDataVOList;
|
return paramsConfigDataVOList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1127,4 +1127,8 @@ module.exports = {
|
|||||||
fileExport:'File export',
|
fileExport:'File export',
|
||||||
feedbackTime:'Feedback time',
|
feedbackTime:'Feedback time',
|
||||||
regulatoryTechnologyAssessmentProcess:'Regulatory technology assessment process',
|
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',
|
||||||
}
|
}
|
||||||
@@ -1131,4 +1131,8 @@ module.exports = {
|
|||||||
fileExport:'文件导出',
|
fileExport:'文件导出',
|
||||||
feedbackTime:'反馈时间',
|
feedbackTime:'反馈时间',
|
||||||
regulatoryTechnologyAssessmentProcess:'法规技术评估流程',
|
regulatoryTechnologyAssessmentProcess:'法规技术评估流程',
|
||||||
|
feedbackEvaluation:'反馈评估',
|
||||||
|
clauseEvaluation:'条款评估',
|
||||||
|
standardDocuments:'标准文件',
|
||||||
|
pleaseCompleteTheEvaluationMethodorEvaluator:'Please complete the evaluation method or evaluator in the list',
|
||||||
}
|
}
|
||||||
+99
-16
@@ -1,11 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box" style="margin-bottom: 20px">
|
<div class="box" style="margin-bottom: 20px">
|
||||||
|
<div style="margin-bottom: 10px;text-align: right">
|
||||||
|
<div @click="handleModule" class="operator-text">
|
||||||
|
<a-icon type="download"/>
|
||||||
|
{{$t('templateDownload')}}
|
||||||
|
</div>
|
||||||
|
<div class="operator-text">
|
||||||
|
<ImportFile :url="url" :isTrue="true" :accept="'.xls'"
|
||||||
|
@getList="getPersonnelList"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%'}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:loading="loading">
|
:loading="loading">
|
||||||
|
<div slot="clauseContent" slot-scope="text,result">
|
||||||
|
<a-tooltip placement="topLeft">
|
||||||
|
<template slot="title">
|
||||||
|
<span v-html="text"></span>
|
||||||
|
</template>
|
||||||
|
<div class="clauseContent-text" v-html="text"></div>
|
||||||
|
</a-tooltip>
|
||||||
|
</div>
|
||||||
<span slot="evaluationMethod" slot-scope="text,result">
|
<span slot="evaluationMethod" slot-scope="text,result">
|
||||||
<a-tree-select
|
<a-tree-select
|
||||||
tree-node-filter-prop="title"
|
tree-node-filter-prop="title"
|
||||||
@@ -17,12 +36,12 @@
|
|||||||
:tree-data="gatherResultList"
|
:tree-data="gatherResultList"
|
||||||
tree-checkable
|
tree-checkable
|
||||||
:placeholder="$t('PleaseSelect')+$t('evaluationMethod')"
|
:placeholder="$t('PleaseSelect')+$t('evaluationMethod')"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
<span slot="Assessor" slot-scope="text,result">
|
<span slot="Assessor" slot-scope="text,result,index">
|
||||||
<PersonnelSelection class="box-input"
|
<PersonnelSelection class="box-input"
|
||||||
:personneQuery="result"
|
:personneQuery="result"
|
||||||
:query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor')}"
|
:query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor'),subscript:index}"
|
||||||
:isInput="true"
|
:isInput="true"
|
||||||
@change="PersonnelSelectionChange"
|
@change="PersonnelSelectionChange"
|
||||||
v-model="result.evaluatorIdsName"/>
|
v-model="result.evaluatorIdsName"/>
|
||||||
@@ -36,32 +55,40 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||||
|
import ImportFile from '@/components/ImportFile/index'
|
||||||
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TermInformation',
|
name: 'TermInformation',
|
||||||
components:{
|
components: {
|
||||||
PersonnelSelection
|
PersonnelSelection,
|
||||||
|
ImportFile
|
||||||
},
|
},
|
||||||
props:['gatherResultList'],
|
props: ['gatherResultList'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
url: {
|
||||||
|
importZipUrl: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/importItemExcel'
|
||||||
|
},
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: this.$t('clauseNo'),
|
title: this.$t('clauseNo'),
|
||||||
dataIndex: 'items_num',
|
dataIndex: 'itemNum',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('clauseName'),
|
title: this.$t('clauseName'),
|
||||||
dataIndex: 'items_name',
|
dataIndex: 'itemName',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('clauseContent'),
|
title: this.$t('clauseContent'),
|
||||||
dataIndex: 'iterms_conditions',
|
dataIndex: 'itemContent',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true,
|
||||||
|
scopedSlots: { customRender: 'clauseContent' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('evaluationMethod'),
|
title: this.$t('evaluationMethod'),
|
||||||
@@ -77,26 +104,69 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
dataIndex: 'Assessor',
|
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100,
|
width: 100,
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
dataList: [{}],
|
dataList: [],
|
||||||
loading: false
|
loading: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
deleteData() {
|
deleteData(item) {
|
||||||
|
this.dataList = this.dataList.filter(res => {
|
||||||
|
return res.itemId != item.itemId
|
||||||
|
})
|
||||||
|
this.$emit('TermInformationRefForm', item)
|
||||||
|
},
|
||||||
|
PersonnelSelectionChange(value, id, index) {
|
||||||
|
this.dataList[index][value] = id
|
||||||
|
this.dataList = [...this.dataList]
|
||||||
|
},
|
||||||
|
getData(value) {
|
||||||
|
this.dataList = []
|
||||||
|
if (value && value.length > 0) {
|
||||||
|
value.forEach(res => {
|
||||||
|
this.dataList.push({
|
||||||
|
itemId: res.id,
|
||||||
|
itemNum: res.items_num,
|
||||||
|
itemName: res.items_name,
|
||||||
|
itemContent: res.iterms_conditions
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.dataList = [...this.dataList]
|
||||||
|
},
|
||||||
|
getPersonnelList() {
|
||||||
|
|
||||||
},
|
},
|
||||||
PersonnelSelectionChange(value, id) {
|
getUUID() {
|
||||||
this.formInline[value] = id
|
var str = []
|
||||||
this.formInline = { ...this.formInline }
|
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('')
|
||||||
},
|
},
|
||||||
|
submitData(callback) {
|
||||||
|
let dataList = JSON.parse(JSON.stringify(this.dataList))
|
||||||
|
for (let i = 0; i < dataList.length; i++) {
|
||||||
|
dataList[i].evaluationMethods = dataList[i].evaluationMethods.join(',')
|
||||||
|
dataList[i].lawsTechnologyEvaluationId = this.getUUID
|
||||||
|
if (!dataList[i].evaluationMethods || !dataList[i].evaluatorIds) {
|
||||||
|
this.$message.warning(this.$t('pleaseCompleteTheEvaluationMethodorEvaluator'))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
callback && callback(dataList)
|
||||||
|
},
|
||||||
|
handleModule() {
|
||||||
|
downloadFile('/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/exportItemTemplate', this.$t('clauseEvaluation') + '.xls', {})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -107,4 +177,17 @@
|
|||||||
width: 70%;
|
width: 70%;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.clauseContent-text {
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/*! autoprefixer: off */
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
/*! autoprefixer: on;*/
|
||||||
|
text-justify: inter-ideograph;
|
||||||
|
word-break: break-all
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
+64
-29
@@ -127,6 +127,7 @@
|
|||||||
tree-node-filter-prop="title"
|
tree-node-filter-prop="title"
|
||||||
v-model="formInline.evaluationMethods"
|
v-model="formInline.evaluationMethods"
|
||||||
:maxTagCount="1"
|
:maxTagCount="1"
|
||||||
|
@change="evaluationMethodsChange"
|
||||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
@@ -155,7 +156,13 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form-model>
|
</a-form-model>
|
||||||
<TermInformation :gatherResultList="gatherResultList" v-if="isTrue"/>
|
|
||||||
|
<TermInformation
|
||||||
|
ref="TermInformationRef"
|
||||||
|
@TermInformationRefForm="TermInformationRefForm"
|
||||||
|
:gatherResultList="gatherResultList"
|
||||||
|
v-if="isTrue"/>
|
||||||
|
|
||||||
<footerProcess
|
<footerProcess
|
||||||
@submit="submit"
|
@submit="submit"
|
||||||
:isSubmit="true"
|
:isSubmit="true"
|
||||||
@@ -211,6 +218,7 @@
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
formInline: {},
|
formInline: {},
|
||||||
|
standardDecomposition: [],
|
||||||
gatherResultList: [],
|
gatherResultList: [],
|
||||||
rules: {
|
rules: {
|
||||||
endTime: [
|
endTime: [
|
||||||
@@ -358,16 +366,20 @@
|
|||||||
technologyTerritory: content[0].technology_territory_id
|
technologyTerritory: content[0].technology_territory_id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
this.standardDecomposition = content
|
||||||
},
|
},
|
||||||
standardDecompositionDocumentClick() {
|
standardDecompositionDocumentClick() {
|
||||||
if (this.selectedRowKeysRecord && this.selectedRowKeysRecord.length > 0) {
|
if (this.standardDecomposition && this.standardDecomposition.length > 0) {
|
||||||
this.$refs.standardDecompositionSheetRef.getData(JSON.parse(JSON.stringify(this.selectedRowKeysRecord[0])))
|
this.$refs.standardDecompositionSheetRef.getData(JSON.parse(JSON.stringify(this.standardDecomposition[0])))
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('pleaseSelectStandardFirst'))
|
this.$message.warning(this.$t('pleaseSelectStandardFirst'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
standardDecompositionSheetForm(value) {
|
standardDecompositionSheetForm(value) {
|
||||||
|
this.$refs.TermInformationRef.getData(JSON.parse(JSON.stringify(value)))
|
||||||
|
},
|
||||||
|
TermInformationRefForm(value) {
|
||||||
|
this.$refs.standardDecompositionSheetRef.getRowList(JSON.parse(JSON.stringify(value)))
|
||||||
},
|
},
|
||||||
clickButtonToUpload(item) {
|
clickButtonToUpload(item) {
|
||||||
this.$refs.uploadFile.perentHandleFunc()
|
this.$refs.uploadFile.perentHandleFunc()
|
||||||
@@ -397,6 +409,10 @@
|
|||||||
this.formInline[value] = id
|
this.formInline[value] = id
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
},
|
},
|
||||||
|
evaluationMethodsChange(key, name) {
|
||||||
|
this.formInline.evaluationMethods = []
|
||||||
|
this.formInline.evaluationMethods = name
|
||||||
|
},
|
||||||
dateChange(item) {
|
dateChange(item) {
|
||||||
this.formInline[item] = this.formInline[item] ? moment(this.formInline[item]).format('YYYY-MM-DD') : ''
|
this.formInline[item] = this.formInline[item] ? moment(this.formInline[item]).format('YYYY-MM-DD') : ''
|
||||||
},
|
},
|
||||||
@@ -415,37 +431,56 @@
|
|||||||
if (this.selectedRowKeysRecord && this.selectedRowKeysRecord.length == 0) {
|
if (this.selectedRowKeysRecord && this.selectedRowKeysRecord.length == 0) {
|
||||||
this.$message.warning(this.$t('pleaseSelectStandard'))
|
this.$message.warning(this.$t('pleaseSelectStandard'))
|
||||||
} else {
|
} else {
|
||||||
this.JLoading = true
|
if (this.$refs.TermInformationRef) {
|
||||||
let value = Object.assign(this.formInline, this.selectedRowKeysRecord[0])
|
this.$refs.TermInformationRef.submitData((dataList) => {
|
||||||
if (this.isTrue) {
|
this.submitData(startTime, dataList)
|
||||||
value.evaluationType = 'Item evaluation'
|
})
|
||||||
} else {
|
} else {
|
||||||
value.evaluationType = 'Feedback evaluation'
|
this.submitData(startTime)
|
||||||
}
|
}
|
||||||
value.startTime = startTime
|
|
||||||
value.flowStatus = 'Underway'
|
|
||||||
value.taskAffirmDueDate = value.endTime
|
|
||||||
value.lawsTechnologyEvaluationId = this.getUUID()
|
|
||||||
value.regulationOwnerId = this.userInfo().id
|
|
||||||
Object.keys(value).forEach(res => {
|
|
||||||
if (value[res] && value[res] instanceof Array) {
|
|
||||||
value[res] = value[res].join(',')
|
|
||||||
}
|
|
||||||
if (value[res] && value[res] instanceof String) {
|
|
||||||
value[res] = value[res].replace(/\"/g, '“')
|
|
||||||
value[res] = value[res].replace(/\'/g, '‘')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.startProcess(value)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
startProcess(value) {
|
submitData(startTime, dataList) {
|
||||||
let query = {
|
this.JLoading = true
|
||||||
type: 6,
|
let value = Object.assign(this.formInline, this.selectedRowKeysRecord[0])
|
||||||
...value,
|
if (this.isTrue) {
|
||||||
msg: JSON.stringify(value.evaluators).replace(/\"/g, '\'')
|
value.evaluationType = 'Item evaluation'
|
||||||
|
} else {
|
||||||
|
value.evaluationType = 'Feedback evaluation'
|
||||||
|
}
|
||||||
|
value.startTime = startTime
|
||||||
|
value.flowStatus = 'Underway'
|
||||||
|
value.taskAffirmDueDate = value.endTime
|
||||||
|
value.lawsTechnologyEvaluationId = this.getUUID()
|
||||||
|
value.regulationOwnerId = this.userInfo().id
|
||||||
|
value.regulationOwnerName = this.userInfo().username
|
||||||
|
Object.keys(value).forEach(res => {
|
||||||
|
if (value[res] && value[res] instanceof Array) {
|
||||||
|
value[res] = value[res].join(',')
|
||||||
|
}
|
||||||
|
if (value[res] && value[res] instanceof String) {
|
||||||
|
value[res] = value[res].replace(/\"/g, '“')
|
||||||
|
value[res] = value[res].replace(/\'/g, '‘')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.startProcess(value, dataList)
|
||||||
|
},
|
||||||
|
startProcess(value, dataList) {
|
||||||
|
let query = {}
|
||||||
|
if (this.isTrue) {
|
||||||
|
query = {
|
||||||
|
type: 6,
|
||||||
|
...value,
|
||||||
|
msg: JSON.stringify({ itemList: dataList }).replace(/\"/g, '\'')
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
query = {
|
||||||
|
type: 6,
|
||||||
|
...value,
|
||||||
|
msg: JSON.stringify({ evaluators: this.$refs.TermInformationRef.dataList }).replace(/\"/g, '\'')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
postAction('/workFlow/startProcess', query).then((res) => {
|
postAction('/workFlow/startProcess', query).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|||||||
+99
-32
@@ -2,7 +2,7 @@
|
|||||||
<a-drawer
|
<a-drawer
|
||||||
:title="$t('StandardBreakdown')"
|
:title="$t('StandardBreakdown')"
|
||||||
:maskClosable="false"
|
:maskClosable="false"
|
||||||
:width="1000"
|
:width="1200"
|
||||||
placement="right"
|
placement="right"
|
||||||
:closable="true"
|
:closable="true"
|
||||||
@close="handleCancel"
|
@close="handleCancel"
|
||||||
@@ -14,37 +14,55 @@
|
|||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :md="12" :sm="8">
|
<a-col :md="12" :sm="8">
|
||||||
<div class="box-title-text">
|
<div class="box-title-text">
|
||||||
<div class="title-text" :title="$t('standard')">
|
<div class="title-text" :title="$t('standardDocuments')">
|
||||||
<span>{{$t('standard')}}</span>
|
<span>{{$t('standardDocuments')}}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('standard')"
|
<a-select :placeholder="$t('PleaseSelect')+$t('standardDocuments')"
|
||||||
v-model="queryParam.serial_number"></a-input>
|
class="box-input"
|
||||||
|
@change="standardDocumentsChange"
|
||||||
|
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||||
|
v-model="queryParam.info_id">
|
||||||
|
<a-select-option v-for="(item, key) in sarFileSplitInfoList"
|
||||||
|
:key="key"
|
||||||
|
:value="item.id">
|
||||||
|
<span style="display: inline-block;width: 100%" :title=" item.fileName ">
|
||||||
|
{{ item.fileName }}
|
||||||
|
</span>
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<span style="float: right;overflow: hidden;margin-top: 4px" class="table-page-search-submitButtons">
|
<!-- <span style="float: right;overflow: hidden;margin-top: 4px" class="table-page-search-submitButtons">-->
|
||||||
<a-col :md="12" :sm="24">
|
<!-- <a-col :md="12" :sm="24">-->
|
||||||
<div @click="handleModule" class="operator-text">
|
<!-- <div @click="handleModule" class="operator-text">-->
|
||||||
<a-icon type="download"/>
|
<!-- <a-icon type="download"/>-->
|
||||||
{{$t('templateDownload')}}
|
<!-- {{$t('templateDownload')}}-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="operator-text">
|
<!-- <div class="operator-text">-->
|
||||||
<ImportFile :url="url" :projectId="$route.query.id" :isTrue="true" :accept="'.xls'"
|
<!-- <ImportFile :url="url" :projectId="$route.query.id" :isTrue="true" :accept="'.xls'"-->
|
||||||
@getList="getPersonnelList"/>
|
<!-- @getList="getPersonnelList"/>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:scroll="{x: 1200}"
|
:scroll="{x: '100%'}"
|
||||||
:data-source="dataList"
|
:data-source="dataList"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:loading="loading">
|
:loading="loading">
|
||||||
|
<div slot="clauseContent" slot-scope="text,result">
|
||||||
|
<a-tooltip placement="topLeft">
|
||||||
|
<template slot="title">
|
||||||
|
<span v-html="text"></span>
|
||||||
|
</template>
|
||||||
|
<div class="clauseContent-text" v-html="text"></div>
|
||||||
|
</a-tooltip>
|
||||||
|
</div>
|
||||||
</a-table>
|
</a-table>
|
||||||
<div class="page" v-if="dataList.length > 0">
|
<div class="page" v-if="dataList.length > 0">
|
||||||
<a-pagination
|
<a-pagination
|
||||||
@@ -82,6 +100,7 @@
|
|||||||
queryParam: {},
|
queryParam: {},
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
|
sarFileSplitInfoList: [],
|
||||||
url: {
|
url: {
|
||||||
list: '/split/sarFileSplitItems/getSplitItemsByPage'
|
list: '/split/sarFileSplitItems/getSplitItemsByPage'
|
||||||
},
|
},
|
||||||
@@ -90,30 +109,35 @@
|
|||||||
title: this.$t('clauseNo'),
|
title: this.$t('clauseNo'),
|
||||||
dataIndex: 'items_num',
|
dataIndex: 'items_num',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('clauseName'),
|
title: this.$t('clauseName'),
|
||||||
dataIndex: 'items_name',
|
dataIndex: 'items_name',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('clauseContent'),
|
title: this.$t('clauseContent'),
|
||||||
dataIndex: 'iterms_conditions',
|
dataIndex: 'iterms_conditions',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true,
|
||||||
|
scopedSlots: { customRender: 'clauseContent' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('technicalField'),
|
title: this.$t('technicalField'),
|
||||||
dataIndex: 'technology_territory',
|
dataIndex: 'technology_territory',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('informationCategory'),
|
title: this.$t('informationCategory'),
|
||||||
dataIndex: 'information_category',
|
dataIndex: 'information_category',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 180,
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -125,18 +149,40 @@
|
|||||||
total: 0,
|
total: 0,
|
||||||
standData: {},
|
standData: {},
|
||||||
fieldList: [],
|
fieldList: [],
|
||||||
queryConditionVOList: []
|
queryConditionVOList: [],
|
||||||
|
info_id: '',
|
||||||
|
selectedRowKeysData: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleModule() {
|
handleModule() {
|
||||||
|
|
||||||
},
|
},
|
||||||
getData(row) {
|
standardDocumentsChange(value) {
|
||||||
this.standData = row
|
|
||||||
this.visible = true
|
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
|
getData(row) {
|
||||||
|
this.total = 0
|
||||||
|
this.dataList = []
|
||||||
|
this.standData = row
|
||||||
|
this.sarFileSplitInfoList = this.standData.sarFileSplitInfoList || []
|
||||||
|
this.sarFileSplitInfoList = [...this.sarFileSplitInfoList]
|
||||||
|
this.queryParam.info_id = this.sarFileSplitInfoList && this.sarFileSplitInfoList.length > 0 ? this.sarFileSplitInfoList[0].id : ''
|
||||||
|
this.visible = true
|
||||||
|
if (this.queryParam.info_id) {
|
||||||
|
this.replacePage()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getRowList(value) {
|
||||||
|
if (value && value.itemId) {
|
||||||
|
this.selectedRowKeys = this.selectedRowKeys.filter(res=>{
|
||||||
|
return value.itemId != res
|
||||||
|
})
|
||||||
|
this.selectedRowKeysData = this.selectedRowKeysData.filter(res=>{
|
||||||
|
return value.itemId != res.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
@@ -144,6 +190,7 @@
|
|||||||
searchReset() {
|
searchReset() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.queryParam = {}
|
this.queryParam = {}
|
||||||
|
this.queryParam.info_id = this.sarFileSplitInfoList && this.sarFileSplitInfoList.length > 0 ? this.sarFileSplitInfoList[0].id : ''
|
||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
onChange(page, pageSize) {
|
onChange(page, pageSize) {
|
||||||
@@ -160,12 +207,13 @@
|
|||||||
this.replacePage()
|
this.replacePage()
|
||||||
},
|
},
|
||||||
replacePage() {
|
replacePage() {
|
||||||
|
let pageNo = JSON.parse(JSON.stringify(this.pageNo))
|
||||||
|
let pageSize = JSON.parse(JSON.stringify(this.pageSize))
|
||||||
let query = {
|
let query = {
|
||||||
pageNo: this.pageNo,
|
pageNo: pageNo + '',
|
||||||
pageSize: this.pageSize,
|
pageSize: pageSize + '',
|
||||||
info_id: this.standData.id,
|
info_id: this.queryParam.info_id,
|
||||||
menu_id:'',
|
menu_id: ''
|
||||||
...this.queryParam
|
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
postAction(this.url.list, query).then((res) => {
|
postAction(this.url.list, query).then((res) => {
|
||||||
@@ -184,10 +232,16 @@
|
|||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
this.$emit('standardDecompositionSheetForm', this.selectedRowKeysData)
|
||||||
|
this.visible = false
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('PleaseSelectData'))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onSelectChange() {
|
onSelectChange(value, record) {
|
||||||
|
this.selectedRowKeys = value
|
||||||
|
this.selectedRowKeysData = record
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,4 +298,17 @@
|
|||||||
.box-button {
|
.box-button {
|
||||||
height: 38px;
|
height: 38px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.clauseContent-text {
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
display: -webkit-box;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/*! autoprefixer: off */
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
/*! autoprefixer: on;*/
|
||||||
|
text-justify: inter-ideograph;
|
||||||
|
word-break: break-all
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
standardContentList: [
|
standardContentList: [
|
||||||
{
|
{
|
||||||
title: this.$t('standard'),
|
title: this.$t('standard'),
|
||||||
value: 'serial_number'
|
value: 'serialNumber'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('title'),
|
title: this.$t('title'),
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('RelevantMaterials'),
|
title: this.$t('RelevantMaterials'),
|
||||||
value: 'RelevantMaterials',
|
value: 'relatedDataFileId',
|
||||||
type: 2
|
type: 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -106,10 +106,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.isDisplay = true
|
this.isDisplay = false
|
||||||
// this.queryTaskDetailByTask(() => {
|
this.queryTaskDetailByTask(() => {
|
||||||
// this.lawsOpinionAssessmentResult()
|
this.lawsOpinionAssessmentResult()
|
||||||
// })
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapGetters(['userInfo']),
|
...mapGetters(['userInfo']),
|
||||||
@@ -123,6 +123,7 @@
|
|||||||
this.queryProject = res || {}
|
this.queryProject = res || {}
|
||||||
callback && callback()
|
callback && callback()
|
||||||
}
|
}
|
||||||
|
this.queryProject.evaluationTypeName = this.queryProject.evaluationType == 'Feedback evaluation' ? this.$t('feedbackEvaluation') :this.$t('clauseEvaluation')
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
lawsOpinionAssessmentResult() {
|
lawsOpinionAssessmentResult() {
|
||||||
|
|||||||
Reference in New Issue
Block a user