update 法规合规评估

This commit is contained in:
赵霄
2024-01-22 11:07:59 +08:00
parent b85d42701e
commit 42c41601fc
7 changed files with 100 additions and 33 deletions
@@ -101,7 +101,7 @@
<regulatory-engineer-approval v-if="isRegulatoryEngineerApproval" ref="termList" :display-data-source="dispatchDataSource" /> <regulatory-engineer-approval v-if="isRegulatoryEngineerApproval" ref="termList" :display-data-source="dispatchDataSource" />
<!--设计工程师补充立项项目号--> <!--设计工程师补充立项项目号-->
<design-engineer-write-project v-if="isDesignEngineerWriteProject" /> <design-engineer-write-project v-if="isDesignEngineerWriteProject" ref="termList" :display-data-source="dispatchDataSource"/>
<!--流程审批信息--> <!--流程审批信息-->
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div> <div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
@@ -18,9 +18,9 @@
@change="handleTableChange"> @change="handleTableChange">
<!--选择模块负责人--> <!--选择模块负责人-->
<template v-slot:moduleOwner="{text,record,index}"> <template v-slot:moduleOwner="{text,record}">
<user-selection :show-btn="false" <user-selection :show-btn="false"
:value="record.moduleOwner" v-model="record.moduleOwner"
:name-str="record.moduleOwner_dictText" :name-str="record.moduleOwner_dictText"
v-if="!record.notInvolved" v-if="!record.notInvolved"
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.moduleOwner')" :placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.moduleOwner')"
@@ -3,7 +3,17 @@
<!--项目归档--> <!--项目归档-->
<div class="process-part-title">{{ $t('workCenter.standardCompliance.projectFiling') }}</div> <div class="process-part-title">{{ $t('workCenter.standardCompliance.projectFiling') }}</div>
<div> <div>
<j-table :columns="columns" :data-source="dataSource" :pagination="false" :scroll="{x: '100%'}"> <j-table :columns="columns" :data-source="dataSource" :pagination="ipagination" :scroll="{x: '100%'}" @change="handleTableChange">
<!--条文内容-->
<template v-slot:clauseContent="{text}">
<div class="table-text" style="cursor: pointer" @click="showContent(text)" v-if="text">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div>
<div class="table-text" v-else>{{ global.emptyLine }}</div>
</template>
<!--操作-->
<template v-slot:action="{text, record, index}"> <template v-slot:action="{text, record, index}">
<a @click="handleEdit(record)">{{ $t('edit') }}</a> <a @click="handleEdit(record)">{{ $t('edit') }}</a>
</template> </template>
@@ -11,16 +21,29 @@
</div> </div>
<edit-project-modal ref="modalForm" /> <edit-project-modal ref="modalForm" />
<!--条文内容-->
<split-clause-detail ref="clauseDetail" />
</div> </div>
</template> </template>
<script> <script>
import JTable from '../../../../components/jero/JTable' import JTable from '../../../../components/jero/JTable'
import EditProjectModal from '../modules/EditProjectModal' import EditProjectModal from '../modules/EditProjectModal'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default { export default {
name: 'DesignEngineerWriteProject', name: 'DesignEngineerWriteProject',
components: { EditProjectModal, JTable }, components: { SplitClauseDetail, EditProjectModal, JTable },
props: {
// 回显的数据
displayDataSource: {
type: Array,
required: false,
default: () => {
return []
}
}
},
data () { data () {
return { return {
columns: [ columns: [
@@ -35,40 +58,41 @@ export default {
}, },
// 标准编号/条款号 // 标准编号/条款号
{ {
dataIndex: 'workNumber', dataIndex: 'termNumber',
title: this.$t('projectLibrary.vehicleItemLibrary.standardNumberClauseNumber'), title: this.$t('projectLibrary.vehicleItemLibrary.standardNumberClauseNumber'),
width: 150 width: 150,
scopedSlots: { customRender: 'evaluateDetail' }
}, },
// 标准名称/条款名称 // 标准名称/条款名称
{ {
dataIndex: 'projectName', dataIndex: 'termName',
title: this.$t('workCenter.projectComplianceEvaluationProcess.standardNameClauseName'), title: this.$t('workCenter.projectComplianceEvaluationProcess.standardNameClauseName'),
width: 160
},
// 标准状态
{
title: this.$t('standardSelect.textState'),
dataIndex: 'standardState_dictText',
width: 150 width: 150
}, },
// 条款内容
{
dataIndex: 'termText',
title: this.$t('workCenter.projectComplianceEvaluationProcess.terms'),
width: 250,
scopedSlots: { customRender: 'clauseContent' }
},
// 实施日期 // 实施日期
{ {
title: this.$t('dashboard.advancedSearch.materialDate'), title: this.$t('dashboard.advancedSearch.materialDate'),
width: 180, width: 150,
dataIndex: 'implementation_date' dataIndex: 'implementationDate'
}, },
// 评估结果 // 评估结果
{ {
dataIndex: 'evaluationResults_dictText', dataIndex: 'assessResults_dictText',
title: this.$t('projectLibrary.vehicleItemLibrary.evaluationResult'), title: this.$t('projectLibrary.vehicleItemLibrary.evaluationResult'),
width: 120 width: 120
}, },
// 是否立项 // 是否立项
{ {
dataIndex: 'isProject', dataIndex: 'projectApprovalFlag_dictText',
title: this.$t('projectLibrary.specialProjectLibrary.whetherToApproveAProjectOrNot'), title: this.$t('projectLibrary.specialProjectLibrary.whetherToApproveAProjectOrNot'),
width: 150, width: 150
scopedSlots: { customRender: 'isProject' }
}, },
// 工作令编号 // 工作令编号
{ {
@@ -90,12 +114,39 @@ export default {
scopedSlots: { customRender: 'action' } scopedSlots: { customRender: 'action' }
} }
], ],
dataSource: [] dataSource: [],
/* 分页参数 */
ipagination: {
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '30', '50', '100', '150', '200'],
showTotal: (total, range) => {
return range[0] + '-' + range[1] + ' ' + this.$t('total') + total + this.$t('strip')
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
}
}
},
watch: {
displayDataSource: {
handler (value) {
this.dataSource = value || []
},
deep: true,
immediate: true
} }
}, },
methods: { methods: {
handleEdit (record) { handleEdit (record) {
this.$refs.modalForm.open(record) this.$refs.modalForm.open(record)
},
handleTableChange (pagination) {
this.ipagination = pagination
},
showContent (text) {
this.$refs.clauseDetail.open(text)
} }
} }
} }
@@ -23,10 +23,10 @@
@change="handleTableChange"> @change="handleTableChange">
<!--选择责任单位联络人--> <!--选择责任单位联络人-->
<template v-slot:contact="{text,record,index}"> <template v-slot:contact="{text,record}">
<user-selection <user-selection
:show-btn="false" :show-btn="false"
:value="record.responsibleUnitLeader" v-model="record.responsibleUnitLeader"
:name-str="record.responsibleUnitLeader_dictText" :name-str="record.responsibleUnitLeader_dictText"
type="checkbox" type="checkbox"
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.responsibleUnitContactPerson')" :placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.responsibleUnitContactPerson')"
@@ -25,11 +25,11 @@
</template> </template>
<!--分解单来源--> <!--分解单来源-->
<template v-slot:salvageListSource="{text, record, index}"> <template v-slot:salvageListSource="{text, record}">
<a-select :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.salvageListSource')" <a-select :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.salvageListSource')"
:value="record.decompositionOrderSource" v-model="record.decompositionOrderSource"
style="width: 100%" style="width: 100%"
@change="value => handleSourceChange(value, record, index)"> @change="value => handleSourceChange(value, record)">
<a-select-option v-for="item in record.decompositionOrderSourceVOList" <a-select-option v-for="item in record.decompositionOrderSourceVOList"
:key="item.value" :key="item.value"
:value="item.value" :value="item.value"
@@ -20,7 +20,7 @@
<!--选择设计工程师--> <!--选择设计工程师-->
<template v-slot:moduleOwner="{text,record,index}"> <template v-slot:moduleOwner="{text,record,index}">
<user-selection :show-btn="false" <user-selection :show-btn="false"
:value="record.designEngineer" v-model="record.designEngineer"
:name-str="record.designEngineer_dictText" :name-str="record.designEngineer_dictText"
v-if="!record.notInvolved" v-if="!record.notInvolved"
type="checkbox" type="checkbox"
@@ -38,9 +38,9 @@
</template> </template>
<!--操作--> <!--操作-->
<template v-slot:action="{text,record,index}"> <template v-slot:action="{text,record}">
<div class="action-span-cell"> <div class="action-span-cell">
<a @click="handleUninvolved(record, index)">{{ <a @click="handleUninvolved(record)">{{
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved') !record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
}}</a> }}</a>
</div> </div>
@@ -167,12 +167,16 @@ export default {
/** /**
* 不涉及 * 不涉及
* @param record * @param record
* @param index
*/ */
handleUninvolved (record, index) { handleUninvolved (record) {
const index = this.dataSource.findIndex(tt => tt.id === record.id)
this.$refs.uninvolvedModal.open(record, index) this.$refs.uninvolvedModal.open(record, index)
}, },
handleUninvolvedOk (record, index) { handleUninvolvedOk (record, index) {
if (record.notInvolved) {
record.designEngineer = undefined
record.designEngineer_dictText = undefined
}
this.$set(this.dataSource, index, record) this.$set(this.dataSource, index, record)
}, },
onSelectChange (selectedRowKeys) { onSelectChange (selectedRowKeys) {
@@ -42,6 +42,18 @@ export default {
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 } sm: { span: 16 }
},
validatorRules: {
// 工作令编号
processName: {
rules: [{ required: true, message: this.$t('pleaseEnter') + this.$t('projectLibrary.workOrderNumber') }],
validateTrigger: 'blur'
},
// 项目名称
handleText: {
rules: [{ required: true, message: this.$t('pleaseEnter') + this.$t('projectLibrary.projectName') }],
validateTrigger: 'blur'
}
} }
} }
}, },
@@ -57,7 +69,7 @@ export default {
}, },
handleCancel () { handleCancel () {
this.close()
}, },
close () { close () {
this.visible = false this.visible = false