update 法规合规流程

This commit is contained in:
赵霄
2023-11-27 13:53:04 +08:00
parent da73b49cbf
commit 56f8412cc6
5 changed files with 262 additions and 3 deletions
+5
View File
@@ -383,5 +383,10 @@ module.exports = {
noMatchTracking: {
queryByCondition: '按条件查询',
problemTypes: '问题类型'
},
// 法规合规评估流程
standardCompliance: {
addStandard: '添加标准',
responsibleUnitContactPerson: '责任单位联络人'
}
}
@@ -943,4 +943,4 @@ export default {
.dispatch-form {
margin-top: 20px;
}
</style>
</style>
@@ -55,6 +55,11 @@
</a-form-item>
</a-form>
<!--业务基本信息选择标准-->
<initial-basic-service-info />
<!--业务分派信息-->
<initial-assign-table />
<!--流程审批信息-->
<div class="process-part-title">{{ $t('processApprovalInformation') }}</div>
<a-form :form="approvalInfoForm">
@@ -114,10 +119,12 @@ import InternalDetailPage from '../../../components/InternalDetailPage'
import ProcessDetailList from '../../../components/ProcessDetailList'
import { WorkCenterMixin } from '../../../mixins/WorkCenterMixin'
import { ProcessKey } from '../../../enums/commonEnums'
import InitialBasicServiceInfo from './components/InitialBasicServiceInfo'
import InitialAssignTable from './components/InitialAssignTable'
export default {
name: 'StandardComplianceProcess',
components: { ProcessDetailList, InternalDetailPage, PersonnelInfo },
components: { ProcessDetailList, InternalDetailPage, PersonnelInfo, InitialBasicServiceInfo, InitialAssignTable },
mixins: [WorkCenterMixin],
computed: {
pageTitle () {
@@ -135,6 +142,7 @@ export default {
// 审批信息的表单
approvalInfoForm: this.$form.createForm(this),
approvalInfo: {},
currentNode: null,
labelCol: {
xs: { span: 24 },
sm: { span: 4 }
@@ -169,4 +177,4 @@ export default {
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>
</style>
@@ -0,0 +1,138 @@
<!--发起节点的业务分派信息表格-->
<template>
<div>
<div class="process-part-title">{{ $t('workCenter.dispatchInformation') }}</div>
<div class="table-operator">
<!--批量选择人员-->
<a-button type="primary" @click="handleSelectPerson">
{{ $t('workCenter.projectComplianceEvaluationProcess.batchSelector') }}
</a-button>
<!--批量删除-->
<a-button type="primary" ghost @click="handleDelete">
{{ $t('batchDelete') }}
</a-button>
</div>
<div>
<j-table :columns="columns"
:data-source="dataSource"
:scroll="{x: '100%'}"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
<!--选择责任单位联络人-->
<template v-slot:contact="{text,record,index}">
<user-selection :show-btn="false"
:value="record.contact"
:name-str="record.contact_dictText"
type="checkbox"
:placeholder="$t('pleaseSelect') + $t('workCenter.standardCompliance.responsibleUnitContactPerson')" />
</template>
<!--操作-->
<template v-slot:action="{text,record,index}">
<div class="action-span-cell">
<a :disabled="index === 0 && dataSource.length === 1">{{ $t('delete') }}</a>
</div>
</template>
</j-table>
</div>
<user-select-modal ref="userSelectModal" />
</div>
</template>
<script>
import JTable from '../../../../components/jero/JTable'
import UserSelection from '../../../../components/selection/UserSelection'
import UserSelectModal from '../../../../components/selection/UserSelectModal'
export default {
name: 'InitialAssignTable',
components: { UserSelection, JTable, UserSelectModal },
data () {
return {
columns: [
// 序号
{
title: this.$t('serialNumber'),
key: 'rowIndex',
width: 80,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
},
// 标准编号/条款号
{
dataIndex: 'workNumber',
title: this.$t('projectLibrary.vehicleItemLibrary.standardNumberClauseNumber'),
width: 150
},
// 标准名称/条款名称
{
dataIndex: 'projectName',
title: this.$t('workCenter.projectComplianceEvaluationProcess.standardNameClauseName'),
width: 160
},
// 条款内容
{
dataIndex: 'projectSource_dictText',
title: this.$t('workCenter.projectComplianceEvaluationProcess.terms'),
width: 150
},
// 标准状态
{
title: this.$t('standardSelect.textState'),
dataIndex: 'standardState_dictText',
width: 150
},
// 责任单位联络人
{
title: this.$t('workCenter.standardCompliance.responsibleUnitContactPerson'),
dataIndex: 'contact',
width: 150,
scopedSlots: { customRender: 'contact' }
},
// 操作
{
title: this.$t('operation'),
fixed: 'right',
width: 100,
scopedSlots: { customRender: 'action' }
}
],
dataSource: [{ id: 1 }, { id: 2 }, { id: 3 }],
selectedRowKeys: []
}
},
methods: {
/**
* 批量选择人员
*/
handleSelectPerson () {
// 请选择要分发的数据
if (!this.selectedRowKeys || this.selectedRowKeys.length === 0) {
this.$message.warning(this.$t('pleaseSelectDistributeData'))
return
}
},
handleDelete () {
},
onSelectChange (selectedRowKeys) {
this.selectedRowKeys = selectedRowKeys
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
.process-part-title:first-child {
margin-top: 32px;
}
/deep/ .user-input {
width: 100% !important;
}
</style>
@@ -0,0 +1,108 @@
<!--发起节点的业务基本信息部分-->
<template>
<div>
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
<div class="table-operator">
<!--删除-->
<a-button type="primary" ghost @click="handleDelete">
{{ $t('delete') }}
</a-button>
<!--添加标准-->
<a-button type="primary" @click="handleAdd">
{{ $t('workCenter.standardCompliance.addStandard') }}
</a-button>
</div>
<div>
<j-table :columns="columns" :data-source="dataSource" :pagination="false">
<template v-slot:salvageListSource="{text, record, index}">
<j-dict-select-tag style="width: 100%"
:value="record.salvageSource"
dict-code="process_manuscript"
@change="value => handleSourceChange(value, record, index)" />
</template>
</j-table>
</div>
<standard-selection-modal ref="standardSelectModal" type="radio" @listChange="handleSelectedStandard" />
</div>
</template>
<script>
import StandardSelectionModal from '../../../../components/selection/StandardSelectionModal'
import JTable from '../../../../components/jero/JTable'
export default {
name: 'InitialBasicServiceInfo',
components: { JTable, StandardSelectionModal },
data () {
return {
columns: [
// 标准编号
{
title: this.$t('standardNumber'),
dataIndex: 'standardNumber',
width: 150
},
// 标准名称
{
title: this.$t('standardName'),
dataIndex: 'standardName',
width: 150
},
// 标准状态
{
title: this.$t('standardSelect.textState'),
dataIndex: 'standardState_dictText',
width: 150
},
// 分解单来源
{
title: this.$t('workCenter.projectComplianceEvaluationProcess.salvageListSource'),
dataIndex: 'salvageSource',
width: 150,
scopedSlots: { customRender: 'salvageListSource' }
},
// 发布日期
{
title: this.$t('standardSelect.releaseDate'),
dataIndex: 'releaseDate',
width: 120
},
// 新车型实施日期
{
dataIndex: 'newModelImplementationDate',
title: this.$t('projectLibrary.vehicleItemLibrary.newModelImplementationDate'),
width: 150
},
// 在产车实施日期
{
dataIndex: 'onTheProductionDate',
title: this.$t('projectLibrary.vehicleItemLibrary.productionDate'),
width: 150
}
],
dataSource: []
}
},
methods: {
handleDelete () {
},
handleAdd () {
this.$refs.standardSelectModal.open()
},
handleSelectedStandard (list) {
this.dataSource = list
},
handleSourceChange (value, record, index) {
record.salvageSource = value
this.$set(this.dataSource, index, record)
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
</style>