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" />
<!--设计工程师补充立项项目号-->
<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>
@@ -18,9 +18,9 @@
@change="handleTableChange">
<!--选择模块负责人-->
<template v-slot:moduleOwner="{text,record,index}">
<template v-slot:moduleOwner="{text,record}">
<user-selection :show-btn="false"
:value="record.moduleOwner"
v-model="record.moduleOwner"
:name-str="record.moduleOwner_dictText"
v-if="!record.notInvolved"
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.moduleOwner')"
@@ -3,7 +3,17 @@
<!--项目归档-->
<div class="process-part-title">{{ $t('workCenter.standardCompliance.projectFiling') }}</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}">
<a @click="handleEdit(record)">{{ $t('edit') }}</a>
</template>
@@ -11,16 +21,29 @@
</div>
<edit-project-modal ref="modalForm" />
<!--条文内容-->
<split-clause-detail ref="clauseDetail" />
</div>
</template>
<script>
import JTable from '../../../../components/jero/JTable'
import EditProjectModal from '../modules/EditProjectModal'
import SplitClauseDetail from '../../../documentTool/documentSplit/modules/SplitClauseDetail'
export default {
name: 'DesignEngineerWriteProject',
components: { EditProjectModal, JTable },
components: { SplitClauseDetail, EditProjectModal, JTable },
props: {
// 回显的数据
displayDataSource: {
type: Array,
required: false,
default: () => {
return []
}
}
},
data () {
return {
columns: [
@@ -35,40 +58,41 @@ export default {
},
// 标准编号/条款号
{
dataIndex: 'workNumber',
dataIndex: 'termNumber',
title: this.$t('projectLibrary.vehicleItemLibrary.standardNumberClauseNumber'),
width: 150
width: 150,
scopedSlots: { customRender: 'evaluateDetail' }
},
// 标准名称/条款名称
{
dataIndex: 'projectName',
dataIndex: 'termName',
title: this.$t('workCenter.projectComplianceEvaluationProcess.standardNameClauseName'),
width: 160
},
// 标准状态
{
title: this.$t('standardSelect.textState'),
dataIndex: 'standardState_dictText',
width: 150
},
// 条款内容
{
dataIndex: 'termText',
title: this.$t('workCenter.projectComplianceEvaluationProcess.terms'),
width: 250,
scopedSlots: { customRender: 'clauseContent' }
},
// 实施日期
{
title: this.$t('dashboard.advancedSearch.materialDate'),
width: 180,
dataIndex: 'implementation_date'
width: 150,
dataIndex: 'implementationDate'
},
// 评估结果
{
dataIndex: 'evaluationResults_dictText',
dataIndex: 'assessResults_dictText',
title: this.$t('projectLibrary.vehicleItemLibrary.evaluationResult'),
width: 120
},
// 是否立项
{
dataIndex: 'isProject',
dataIndex: 'projectApprovalFlag_dictText',
title: this.$t('projectLibrary.specialProjectLibrary.whetherToApproveAProjectOrNot'),
width: 150,
scopedSlots: { customRender: 'isProject' }
width: 150
},
// 工作令编号
{
@@ -90,12 +114,39 @@ export default {
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: {
handleEdit (record) {
this.$refs.modalForm.open(record)
},
handleTableChange (pagination) {
this.ipagination = pagination
},
showContent (text) {
this.$refs.clauseDetail.open(text)
}
}
}
@@ -23,10 +23,10 @@
@change="handleTableChange">
<!--选择责任单位联络人-->
<template v-slot:contact="{text,record,index}">
<template v-slot:contact="{text,record}">
<user-selection
:show-btn="false"
:value="record.responsibleUnitLeader"
v-model="record.responsibleUnitLeader"
:name-str="record.responsibleUnitLeader_dictText"
type="checkbox"
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.responsibleUnitContactPerson')"
@@ -25,11 +25,11 @@
</template>
<!--分解单来源-->
<template v-slot:salvageListSource="{text, record, index}">
<template v-slot:salvageListSource="{text, record}">
<a-select :placeholder="$t('pleaseSelect') + $t('workCenter.projectComplianceEvaluationProcess.salvageListSource')"
:value="record.decompositionOrderSource"
v-model="record.decompositionOrderSource"
style="width: 100%"
@change="value => handleSourceChange(value, record, index)">
@change="value => handleSourceChange(value, record)">
<a-select-option v-for="item in record.decompositionOrderSourceVOList"
:key="item.value"
:value="item.value"
@@ -20,7 +20,7 @@
<!--选择设计工程师-->
<template v-slot:moduleOwner="{text,record,index}">
<user-selection :show-btn="false"
:value="record.designEngineer"
v-model="record.designEngineer"
:name-str="record.designEngineer_dictText"
v-if="!record.notInvolved"
type="checkbox"
@@ -38,9 +38,9 @@
</template>
<!--操作-->
<template v-slot:action="{text,record,index}">
<template v-slot:action="{text,record}">
<div class="action-span-cell">
<a @click="handleUninvolved(record, index)">{{
<a @click="handleUninvolved(record)">{{
!record.notInvolved ? $t('projectLibrary.vehicleItemLibrary.uninvolved') : $t('workCenter.projectComplianceEvaluationProcess.noCauseInvolved')
}}</a>
</div>
@@ -167,12 +167,16 @@ export default {
/**
* 不涉及
* @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)
},
handleUninvolvedOk (record, index) {
if (record.notInvolved) {
record.designEngineer = undefined
record.designEngineer_dictText = undefined
}
this.$set(this.dataSource, index, record)
},
onSelectChange (selectedRowKeys) {
@@ -42,6 +42,18 @@ export default {
wrapperCol: {
xs: { span: 24 },
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 () {
this.close()
},
close () {
this.visible = false
@@ -68,4 +80,4 @@ export default {
<style scoped lang="less">
</style>
</style>