[update] 修改UAT问题:法规符合性排查流程不符合和待验证的扩展表单顺序调整,不满足要求现状下面增加字段辅助说明材料,评估结果选择不符合和待验证的时候自动展开扩展区

This commit is contained in:
lideqin
2024-09-06 11:37:56 +08:00
parent e0bb8b2afe
commit 5eda1d4587
11 changed files with 199 additions and 85 deletions
@@ -50,6 +50,7 @@
<script>
import JExpandTable from '@/components/JExpandTable'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
import { EvaluationResult } from '../../../../enums/commonEnums'
export default {
name: 'DesignEngineerEvaluation',
@@ -152,12 +153,32 @@ export default {
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
// 不满足要求的现状
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
// 辅助说明材料
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
// 整改方案
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
// 与其他项目共用性
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
},
formArr: [
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 辅助说明材料
fieldShowType: 2,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
fieldMustInput: false,
dbFieldName: 'unsatisfiedRequireAttach'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 整改周期
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
@@ -170,29 +191,17 @@ export default {
fieldMustInput: true,
dbFieldName: 'correctionCost'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
},
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 与其他项目共用性
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
fieldMustInput: true,
dbFieldName: 'commonality'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
}
]
},
@@ -226,12 +235,32 @@ export default {
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
// 不满足要求的现状
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
// 辅助说明材料
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
// 整改方案
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
// 与其他项目共用性
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
},
formArr: [
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 辅助说明材料
fieldShowType: 2,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
fieldMustInput: false,
dbFieldName: 'unsatisfiedRequireAttach'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 整改周期
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
@@ -244,29 +273,17 @@ export default {
fieldMustInput: true,
dbFieldName: 'correctionCost'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
},
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 与其他项目共用性
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
fieldMustInput: true,
dbFieldName: 'commonality'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
}
]
}
@@ -318,6 +335,14 @@ export default {
},
// 评估结果改变,清空备注和佐证材料,不满足要求的现状,整改方案,整改周期,整改费用,与其他项目共用性,共用后本项目所需费用
resultChange (record) {
if ([EvaluationResult.INCONFORMITY.value, EvaluationResult.TO_BE_VERIFIED.value].includes(record.result)) {
// 选中的是不符合或者待验证自动展开扩展区
const rowKey = this.$refs.expandTable.rowKey
if (!this.$refs.expandTable.expandedRowKeys.includes(record[rowKey])) {
// 表格展开中没有该列,加到展开项中
this.$refs.expandTable.expandedRowKeys.push(record[rowKey])
}
}
const index = this.dataSource.findIndex(item => item.id === record.id)
this.dataSource[index].remark = ''
this.dataSource[index].material = ''
@@ -24,9 +24,15 @@
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 辅助说明材料 -->
<template v-slot:unsatisfiedRequireAttach="{text, record}">
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</template>
<!-- 佐证材料 -->
<template v-slot:material="{text, record}">
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</template>
@@ -132,6 +138,13 @@ export default {
dataIndex: 'unsatisfiedRequire',
scopedSlots: { customRender: 'text' }
},
{ // 辅助说明材料
title: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
align: 'center',
width: 180,
dataIndex: 'unsatisfiedRequireAttach',
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
},
{ // 整改方案
title: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
align: 'center',
@@ -209,8 +222,8 @@ export default {
data.detailInfoList = JSON.parse(JSON.stringify(this.dataSource))
return data
},
handleMaterialClick (record) {
this.$refs.uploadFile.open(record.material)
handleFileClick (record, fieldName) {
this.$refs.uploadFile.open(record[fieldName])
},
handleTableChange (pagination, filters, sorter) {
// 分页、排序、筛选变化时触发
@@ -31,9 +31,15 @@
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 辅助说明材料 -->
<template v-slot:unsatisfiedRequireAttach="{text, record}">
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</template>
<!-- 佐证材料 -->
<template v-slot:material="{text, record}">
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</template>
@@ -223,6 +229,13 @@ export default {
dataIndex: 'unsatisfiedRequire',
scopedSlots: { customRender: 'text' }
},
{ // 辅助说明材料
title: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
align: 'center',
width: 180,
dataIndex: 'unsatisfiedRequireAttach',
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
},
{ // 整改方案
title: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
align: 'center',
@@ -345,8 +358,8 @@ export default {
handleTableChange (pagination) {
this.ipagination = pagination
},
handleMaterialClick (record) {
this.$refs.uploadFile.open(record.material)
handleFileClick (record, fieldName) {
this.$refs.uploadFile.open(record[fieldName])
},
handleExportXls (fileName, fileSuffix = '.xls') {
if (!fileName || typeof fileName !== 'string') {
@@ -198,6 +198,7 @@ import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types'
import store from '@/store'
import { downFile } from '../../../../api/manage'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
import { EvaluationResult } from '../../../../enums/commonEnums'
// 导入的加载提示
let importModalLoading
@@ -428,12 +429,32 @@ export default {
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
// 不满足要求的现状
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
// 辅助说明材料
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
// 整改方案
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
// 与其他项目共用性
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
},
formArr: [
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 辅助说明材料
fieldShowType: 2,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequireAttach'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 整改周期
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
@@ -446,29 +467,17 @@ export default {
fieldMustInput: true,
dbFieldName: 'correctionCost'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
},
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 与其他项目共用性
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
fieldMustInput: true,
dbFieldName: 'commonality'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
}
]
},
@@ -502,12 +511,32 @@ export default {
commonalityCost: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'), trigger: 'blur' },
// 不满足要求的现状
unsatisfiedRequire: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'), trigger: 'blur' },
// 辅助说明材料
unsatisfiedRequireAttach: { required: false, message: this.$t('pleaseSelect') + this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'), trigger: 'change' },
// 整改方案
correctionSolution: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'), trigger: 'blur' },
// 与其他项目共用性
commonality: { required: true, message: this.$t('pleaseEnter') + this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'), trigger: 'blur' }
},
formArr: [
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 辅助说明材料
fieldShowType: 2,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
fieldMustInput: false,
dbFieldName: 'unsatisfiedRequireAttach'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 整改周期
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationCycle'),
@@ -520,29 +549,17 @@ export default {
fieldMustInput: true,
dbFieldName: 'correctionCost'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
},
{ // 不满足要求的现状
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.theStatusNotMeetRequirements'),
fieldMustInput: true,
dbFieldName: 'unsatisfiedRequire'
},
{ // 整改方案
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
fieldMustInput: true,
dbFieldName: 'correctionSolution'
},
{ // 与其他项目共用性
fieldShowType: 1,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.sharedWithOtherProjects'),
fieldMustInput: true,
dbFieldName: 'commonality'
},
{ // 共用后本项目所需费用
fieldShowType: 4,
dbFieldTxt: this.$t('workCenter.regulatoryComplianceCheckProcess.costOfThisItemAfterSharing'),
fieldMustInput: true,
dbFieldName: 'commonalityCost'
}
]
}
@@ -702,6 +719,14 @@ export default {
},
// 评估结果改变,清空备注和佐证材料,不满足要求的现状,整改方案,整改周期,整改费用,与其他项目共用性,共用后本项目所需费用
resultChange (record) {
if ([EvaluationResult.INCONFORMITY.value, EvaluationResult.TO_BE_VERIFIED.value].includes(record.result)) {
// 选中的是不符合或者待验证自动展开扩展区
const rowKey = this.$refs.expandTable.rowKey
if (!this.$refs.expandTable.expandedRowKeys.includes(record[rowKey])) {
// 表格展开中没有该列,加到展开项中
this.$refs.expandTable.expandedRowKeys.push(record[rowKey])
}
}
const index = this.dataSourceEvaluate.findIndex(item => item.id === record.id)
this.dataSourceEvaluate[index].remark = ''
this.dataSourceEvaluate[index].material = ''
@@ -24,9 +24,15 @@
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!-- 辅助说明材料 -->
<template v-slot:unsatisfiedRequireAttach="{text, record}">
<a v-if="text" class="link-a" @click="handleFileClick(record, 'unsatisfiedRequireAttach')">{{ $t('view') }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</template>
<!-- 佐证材料 -->
<template v-slot:material="{text, record}">
<a v-if="text" class="link-a" @click="handleMaterialClick(record)">{{ $t('view') }}</a>
<a v-if="text" class="link-a" @click="handleFileClick(record, 'material')">{{ $t('view') }}</a>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</template>
@@ -146,6 +152,13 @@ export default {
dataIndex: 'unsatisfiedRequire',
scopedSlots: { customRender: 'text' }
},
{ // 辅助说明材料
title: this.$t('workCenter.regulatoryComplianceCheckProcess.supplementaryExplanatoryMaterial'),
align: 'center',
width: 180,
dataIndex: 'unsatisfiedRequireAttach',
scopedSlots: { customRender: 'unsatisfiedRequireAttach' }
},
{ // 整改方案
title: this.$t('workCenter.regulatoryComplianceCheckProcess.rectificationPlan'),
align: 'center',
@@ -226,8 +239,8 @@ export default {
handleTableChange (pagination) {
this.ipagination = pagination
},
handleMaterialClick (record) {
this.$refs.uploadFile.open(record.material)
handleFileClick (record, fieldName) {
this.$refs.uploadFile.open(record[fieldName])
},
// 显示条款内容弹框
showContent (val) {