Files
geg-gas-web/src/views/secondDev/processMonitoringFlowPage.vue

72 lines
2.2 KiB
Vue
Raw Normal View History

2025-10-13 11:53:54 +08:00
<template>
<div class="flow-page">
<FormInformation
v-if="!isSelfForm"
:key="renderKey"
ref="formInformation"
:disabled="readonly"
:formAssignmentData="data.formAssignmentData"
:formInfos="data.formInfos"
:opinions="data.opinions"
:opinionsComponents="data.opinionsComponents"
@get-form-configs="(config) => (formConfigs = config)"
/>
2025-10-21 18:04:02 +08:00
<component v-else-if="data" :is="componentName" :formData="data" :flowData="flowData" />
2025-10-13 11:53:54 +08:00
</div>
</template>
<script setup>
import { useRouter } from 'vue-router';
import { onMounted, reactive, ref, unref, createVNode, provide, defineExpose, computed, defineAsyncComponent } from 'vue';
import FormInformation from './flowFormInformation.vue';
import { getApprovalProcess } from '/@/api/workflow/task';
import Title from '/@/components/Title/src/Title.vue';
import { message, Modal } from 'ant-design-vue';
const selfFormList = [
// 流程编码
// 'exchange_opinion',
// 'audit_programme'
2025-10-21 18:04:02 +08:00
];
2025-10-13 11:53:54 +08:00
const selfFormMap = {
// 流程编码对应文件路径
// 'exchange_opinion': 'auditOperationsCenter/exchangeViews/index.vue',
// 'audit_programme': 'auditOperationsCenter/preAuditProgramme/index.vue'
2025-10-21 18:04:02 +08:00
};
2025-10-13 11:53:54 +08:00
const isSelfForm = computed(() => {
2025-10-21 18:04:02 +08:00
return selfFormList.includes(props.data.item.code);
});
2025-10-13 11:53:54 +08:00
const componentName = computed(() => {
return defineAsyncComponent({
2025-10-21 18:04:02 +08:00
loader: () => import(`../${selfFormMap[props.data.item.code]}`)
});
});
2025-10-13 11:53:54 +08:00
const readonly = ref(true); // 查看流程会触发只读模式
const renderKey = ref('');
const formConfigs = ref();
const formInformation = ref();
const props = defineProps({
data: {
type: Object,
default: () => null
},
flowData: {
type: Object,
default: () => null
}
});
2025-10-21 18:04:02 +08:00
onMounted(async () => {});
2025-10-13 11:53:54 +08:00
2025-10-21 18:04:02 +08:00
defineExpose({});
2025-10-13 11:53:54 +08:00
</script>
<style lang="less" scoped>
2025-10-21 18:04:02 +08:00
.flow-page {
position: relative;
box-sizing: border-box;
width: 100%;
height: 100%;
}
2025-10-13 11:53:54 +08:00
</style>