修改项目库平台件

This commit is contained in:
范强强
2023-12-15 16:10:04 +08:00
parent 6b5fffa639
commit 3cc1253bba
8 changed files with 184 additions and 9 deletions
@@ -731,6 +731,9 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
problemManagementEO.setProjectName(StringUtils.join(projectNameList,",")); problemManagementEO.setProjectName(StringUtils.join(projectNameList,","));
} }
} }
if(StringUtils.isEmpty(problemManagementEO.getProjectName()) && StringUtils.isNotEmpty(problemManagementEO.getProjectId())){
problemManagementEO.setProjectName(problemManagementEO.getProjectId());
}
//相关文件连接 //相关文件连接
if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){ if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){
@@ -908,6 +911,10 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
problemManagementEO.setProjectName(StringUtils.join(projectNameList,",")); problemManagementEO.setProjectName(StringUtils.join(projectNameList,","));
} }
} }
if(StringUtils.isEmpty(problemManagementEO.getProjectName()) && StringUtils.isNotEmpty(problemManagementEO.getProjectId())){
problemManagementEO.setProjectName(problemManagementEO.getProjectId());
}
//相关文件连接 //相关文件连接
if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){ if(StringUtils.isNotBlank(problemManagementEO.getFileLink())){
+1
View File
@@ -2035,4 +2035,5 @@ module.exports = {
interfacePerson: 'Eng. Interface', interfacePerson: 'Eng. Interface',
regulationEngineerInitiateProcess: 'Regulation Engineer Initiate Process', regulationEngineerInitiateProcess: 'Regulation Engineer Initiate Process',
parameterCollectionDescription:'In the extension parameter collection list, the data highlighted in red represents the deleted parameters after template update, the data highlighted in yellow represents the changed parameters after template update, and for the newly added parameters after template update, homo engineer should find in "More-Add" and add them to the parameter collection list.', parameterCollectionDescription:'In the extension parameter collection list, the data highlighted in red represents the deleted parameters after template update, the data highlighted in yellow represents the changed parameters after template update, and for the newly added parameters after template update, homo engineer should find in "More-Add" and add them to the parameter collection list.',
experienceReference:'Experience reference',
} }
+1
View File
@@ -3769,4 +3769,5 @@ module.exports = {
interfacePerson:'接口人', interfacePerson:'接口人',
regulationEngineerInitiateProcess:'法规工程师发起流程', regulationEngineerInitiateProcess:'法规工程师发起流程',
parameterCollectionDescription:'变更扩展参数收集清单中,标红数据为模板更新后被删除参数,标黄数据为模板更新后变更参数,模板更新新增参数请认证工程师在“更多-添加”中查阅并添加至参数收集清单中。', parameterCollectionDescription:'变更扩展参数收集清单中,标红数据为模板更新后被删除参数,标黄数据为模板更新后变更参数,模板更新新增参数请认证工程师在“更多-添加”中查阅并添加至参数收集清单中。',
experienceReference:'经验参考',
} }
@@ -0,0 +1,147 @@
<template>
<div class="box">
<div v-if="experienceReferenceList && experienceReferenceList.length > 0"
class='title'>{{$t('experienceReference')}}</div>
<a-table
v-if="experienceReferenceList && experienceReferenceList.length > 0"
:components="drag(experienceReferenceColumns,'experienceReferenceColumns')"
:columns="experienceReferenceColumns"
rowKey="id"
:scroll="{x: 1000,y:400}"
:data-source="experienceReferenceList"
:pagination="false"
:loading="loading">
<span slot="titleName"
:title="record.title"
slot-scope="text,record">
<a @click="titleClick(record)" style='color:#00B3BE;cursor: pointer'>
{{record.title}}
</a>
</span>
</a-table>
<div class="page" v-if="experienceReferenceList.length > 0">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:pageSizeOptions="['10','20','30','50']"
:current="pageNo"
@change="onChangeSize"
@showSizeChange="SizeChange"
/>
</div>
<detilModel ref="detilModelRef"/>
<designCompliance ref="designComplianceRef"/>
</div>
</template>
<script>
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import { getAction, postAction, downloadFile } from '@/api/manage'
import detilModel from '../../views/projectManagement/projectNonConformance/moudles/detilModel'
import designCompliance from '../../views/toDoCenter/projectRegulationTasks/components/designCompliance'
export default {
name: 'index',
mixins: [ResizeHeader, ResizeColumnProvide],
components: {
detilModel,
designCompliance
},
data() {
return {
pageNo: 1,
pageSize: 10,
total: 0,
experienceReferenceColumns: [
{
title: this.$t('title'),
dataIndex: 'title',
align: 'left',
ellipsis: true,
width: 200,
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('RelatedItems'),
dataIndex: 'projectName',
align: 'left',
ellipsis: true,
width: 200
},
{
title: this.$t('statisticalNodes'),
dataIndex: 'dutyTerritory',
align: 'left',
ellipsis: true,
width: 200
},
{
title: this.$t('createTime'),
dataIndex: 'createTime',
align: 'left',
ellipsis: true,
width: 200
}
],
experienceReferenceList: [],
loading: false,
serialNumber: ''
}
},
methods: {
titleClick(row) {
this.$refs.detilModelRef.edit(JSON.parse(JSON.stringify(row)))
},
getData(serialNumber) {
this.serialNumber = serialNumber
this.pageNo = 1
this.getList()
},
onChangeSize(page, pageSize) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
getList() {
this.loading = true
getAction('/project/ncrTrackController/queryPageProblem', {
serialNumber: this.serialNumber,
pageNo: this.pageNo,
pageSize: this.pageSize
}).then((res) => {
if (res.success) {
this.experienceReferenceList = res.result.records || []
this.total = res.result.total || 0
} else {
this.experienceReferenceList = []
this.total = 0
}
this.loading = false
})
}
}
}
</script>
<style scoped>
.title {
font-size: 16px;
font-weight: bold;
margin-bottom: 20px;
}
.page {
text-align: right;
margin-top: 20px;
margin-bottom: 20px;
}
</style>
@@ -48,7 +48,8 @@
</a-col> </a-col>
</a-row> </a-row>
<div style='margin-bottom: 30px'> <experienceReferenceList ref="experienceReferenceListRef"/>
<div style='margin-bottom: 30px;margin-top: 20px'>
<a-table <a-table
v-if='dataList && dataList.length > 0' v-if='dataList && dataList.length > 0'
:components="drag(columns,'columns')" :components="drag(columns,'columns')"
@@ -61,7 +62,8 @@
<span slot="ProcessStatus" <span slot="ProcessStatus"
:title="flag == 'design'?record.designFlowStatusName : record.verifyFlowStatusName" :title="flag == 'design'?record.designFlowStatusName : record.verifyFlowStatusName"
slot-scope="text,record"> slot-scope="text,record">
<a @click="processStatusClick(record,flag == 'design'?$t('designComplianceProcess') : $t('validationComplianceProcess'))"> <a
@click="processStatusClick(record,flag == 'design'?$t('designComplianceProcess') : $t('validationComplianceProcess'))">
{{flag == 'design'?record.designFlowStatusName : record.verifyFlowStatusName}} {{flag == 'design'?record.designFlowStatusName : record.verifyFlowStatusName}}
</a> </a>
</span> </span>
@@ -198,12 +200,14 @@
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header' import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import designCompliance from '../../toDoCenter/projectRegulationTasks/components/designCompliance' import designCompliance from '../../toDoCenter/projectRegulationTasks/components/designCompliance'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import experienceReferenceList from '@/components/experienceReferenceList/index'
export default { export default {
name: 'addModel', name: 'addModel',
components: { components: {
uploadFile, uploadFile,
designCompliance designCompliance,
experienceReferenceList
}, },
mixins: [ResizeHeader, ResizeColumnProvide], mixins: [ResizeHeader, ResizeColumnProvide],
data() { data() {
@@ -281,7 +285,7 @@
ellipsis: true, ellipsis: true,
width: 120, width: 120,
scopedSlots: { customRender: 'ProcessStatus' } scopedSlots: { customRender: 'ProcessStatus' }
}, }
], ],
loading: false, loading: false,
visible: false, visible: false,
@@ -320,6 +324,9 @@
this.flag = name == this.$t('designComplianceProcess') ? 'design' : 'verify' this.flag = name == this.$t('designComplianceProcess') ? 'design' : 'verify'
this.visible = true this.visible = true
this.confirmLoading = true this.confirmLoading = true
this.$nextTick(() => {
this.$refs.experienceReferenceListRef.getData(row.serialNumber)
})
getAction('/project/projectLawsInventoryEO/queryPlatformList', { getAction('/project/projectLawsInventoryEO/queryPlatformList', {
lawsInventoryId: row.id, lawsInventoryId: row.id,
flowFlag: this.flag flowFlag: this.flag
@@ -350,7 +357,7 @@
down(id, name) { down(id, name) {
downloadFile('/sys/common/downLoadFile', name, { id: id }) downloadFile('/sys/common/downLoadFile', name, { id: id })
}, },
processStatusClick(row, name){ processStatusClick(row, name) {
let query = {} let query = {}
let TaskKey = '' let TaskKey = ''
if (name == this.$t('designComplianceProcess')) { if (name == this.$t('designComplianceProcess')) {
@@ -411,7 +418,7 @@
} }
} }
this.$refs.designComplianceRef.getList(JSON.parse(JSON.stringify(query)), name) this.$refs.designComplianceRef.getList(JSON.parse(JSON.stringify(query)), name)
}, }
} }
} }
</script> </script>
@@ -588,6 +588,7 @@
} }
.itemModel-text-box { .itemModel-text-box {
width: 100%;
white-space: pre-wrap; white-space: pre-wrap;
height: 200px; height: 200px;
display: inline-block; display: inline-block;
@@ -121,6 +121,9 @@
<!-- </div>--> <!-- </div>-->
<a-tooltip placement="topLeft" overlayClassName="tooltipColor"> <a-tooltip placement="topLeft" overlayClassName="tooltipColor">
<template slot="title"> <template slot="title">
<div>
{{ val.name }}
</div>
<span>{{ val.time.slice(0, 11) }}</span> <span>{{ val.time.slice(0, 11) }}</span>
</template> </template>
<img v-if="val.status == 1" src="../../../assets/heiTop.png" class="process-content-left" <img v-if="val.status == 1" src="../../../assets/heiTop.png" class="process-content-left"
@@ -143,6 +146,9 @@
</div> </div>
<a-tooltip placement="topLeft" overlayClassName="tooltipColor"> <a-tooltip placement="topLeft" overlayClassName="tooltipColor">
<template slot="title"> <template slot="title">
<div>
{{ val.name }}
</div>
<span>{{ val.time.slice(0, 11) }}</span> <span>{{ val.time.slice(0, 11) }}</span>
</template> </template>
<img @click="statusClick(val,item.projectInfo)" v-if="val.status == 1" <img @click="statusClick(val,item.projectInfo)" v-if="val.status == 1"
@@ -32,6 +32,7 @@
:standardContentQuery="queryProject" :standardContentQuery="queryProject"
/> />
<!-- :class="{'circulationHistory':this.queryData.isDisplay,'circulationHistoryOne':!this.queryData.isDisplay}"--> <!-- :class="{'circulationHistory':this.queryData.isDisplay,'circulationHistoryOne':!this.queryData.isDisplay}"-->
<experienceReferenceList ref="experienceReferenceListRef"/>
<div> <div>
<circulationHistory <circulationHistory
v-if="isDisplay" v-if="isDisplay"
@@ -39,7 +40,6 @@
:queryProject="queryData" :queryProject="queryData"
/> />
</div> </div>
<!--:class="{'drawer-review':isDrawerClass, <!--:class="{'drawer-review':isDrawerClass,
'drawer-review-One':!isDrawerClass}"--> 'drawer-review-One':!isDrawerClass}"-->
<div v-if="this.queryData.isDisplay" class="drawer-review"> <div v-if="this.queryData.isDisplay" class="drawer-review">
@@ -76,6 +76,7 @@
import reviewedByThePersonInCharge from './reviewedByThePersonInCharge' import reviewedByThePersonInCharge from './reviewedByThePersonInCharge'
import circulationHistory from './circulationHistory' import circulationHistory from './circulationHistory'
import referenceDeliverablesList from './referenceDeliverablesList' import referenceDeliverablesList from './referenceDeliverablesList'
import experienceReferenceList from '@/components/experienceReferenceList/index'
import { getAction, postAction, deleteAction, downloadFile, putAction } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile, putAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
@@ -88,7 +89,8 @@
reviewedByThePersonInCharge, reviewedByThePersonInCharge,
footerProcess, footerProcess,
circulationHistory, circulationHistory,
referenceDeliverablesList referenceDeliverablesList,
experienceReferenceList
}, },
data() { data() {
return { return {
@@ -295,9 +297,12 @@
getAction(this.url.queryProjectLawsInventoryInfoById, query).then((res) => { getAction(this.url.queryProjectLawsInventoryInfoById, query).then((res) => {
if (res.success) { if (res.success) {
this.queryProject = res.result[0] || {} this.queryProject = res.result[0] || {}
if(this.queryData.platform){ if (this.queryData.platform) {
this.queryProject.platform = this.queryData.platform this.queryProject.platform = this.queryData.platform
} }
this.$nextTick(() => {
this.$refs.experienceReferenceListRef.getData(this.queryProject.serialNumber)
})
// if (this.queryData.TaskKey == 'zrrqr' || this.queryData.TaskKey == 'dezrrqr') { // if (this.queryData.TaskKey == 'zrrqr' || this.queryData.TaskKey == 'dezrrqr') {
// this.queryProject.endTime = this.queryData.endTime // this.queryProject.endTime = this.queryData.endTime
// } // }