优化任务详情获取表单内容

dianlixunjian
刘妍 2024-07-10 17:12:52 +08:00
parent 547d1906e9
commit ca97409adf
2 changed files with 74 additions and 69 deletions

View File

@ -8,7 +8,7 @@
>
<template v-for="item in settingList" :key="item.key">
<TabPane :tab="item.name">
<div :style="'display: flex; height:' + data.height">
<div :style="' height:' + data.height">
<component :is="tabs[item.component]" />
</div>
</TabPane>

View File

@ -17,12 +17,12 @@
ref="MapboxComponent"
/>
</div>
<div :class="mapConfig?.isShowMap ? 'form-container' : ''">
<a-layout>
<a-layout>
<a-layout-content>
<a-tabs v-model:activeKey="activeName" @change="changeActive" type="card" >
<a-tabs v-model:activeKey="activeName" @change="changeActive" type="card">
<a-tab-pane
key="form"
:tab="
@ -33,7 +33,11 @@
v-if="formVisble"
>
<div>
<ImagePreview v-if="isShowImagePreview" :globalImagePreviewUrl="globalImagePreviewUrl" @closeImagePreview="closeImagePreview"></ImagePreview>
<ImagePreview
v-if="isShowImagePreview"
:globalImagePreviewUrl="globalImagePreviewUrl"
@closeImagePreview="closeImagePreview"
></ImagePreview>
<FormViewer
ref="formBoxRef"
:formConfig="formConfig"
@ -47,7 +51,6 @@
v-if="formVisble"
/>
</div>
</a-tab-pane>
<a-tab-pane key="flow" tab="流程模板" force-render>
<div class="process-design" :style="'display: flex; height:' + designerData.height">
@ -110,7 +113,6 @@
</a-layout>
</div>
<!-- 节点记录信息 -->
<div class="info-box" v-if="designerData.nodeLogs.length > 0">
<a-drawer v-model:open="infoOpen" class="custom-class" title="记录信息" placement="right">
@ -138,7 +140,7 @@
</template>
<script lang="ts" setup>
import { ref, reactive, onBeforeMount, defineAsyncComponent,watch } from 'vue';
import { ref, reactive, onBeforeMount, defineAsyncComponent, watch } from 'vue';
import { FormViewer } from '@/components/FormViewer';
import { ProcessViewer } from '@/components/ProcessViewer';
import { PageWrapper } from '@/components/Page';
@ -149,7 +151,7 @@
import { auditInfo } from './page';
import { getGeom } from '@/api/sys/layerManagement';
import { storeToRefs } from 'pinia';
import ImagePreview from "@/components/Upload/src/components/image_preview.vue";
import ImagePreview from '@/components/Upload/src/components/image_preview.vue';
import { userFormFileStore } from '@/store/modules/formFileUrl';
import { useMessage } from '@/hooks/web/useMessage';
const { createMessage } = useMessage();
@ -259,9 +261,14 @@
if (data.process.isFinished == 1) {
data.flowViewer.finishedTaskSet.forEach((finishElement) => {
wfData.forEach((element) => {
if (finishElement == element.id && element.type == 'bpmn:Task') {
if (element.type == 'bpmn:StartEvent') {
currentNode = element;
}
if (finishElement == element.id && element.type == 'bpmn:Task') {
if (!element.isInherit) {
currentNode = element;
}
}
});
});
mapConfig.value = currentNode.mapConfig;
@ -431,34 +438,34 @@
// tabStore.closeTabByKey('/dashboard/task_look_preview/detail?processId=' + processId, router);
// }
//
const chooseLayer = ref<string>("")
const geomfield = ref<string>("");
const chooseLayer = ref<string>('');
const geomfield = ref<string>('');
function findValue(obj, targetKey) {
for (var key in obj) {
if (typeof obj[key] === 'object') {
// findValue
var result = findValue(obj[key], targetKey);
if (result !== undefined && result == 'MapGeom') {
return result;
}
} else if (key === targetKey && obj[key] == 'MapGeom') {
//
chooseLayer.value = obj['mapSetData'].chooseLayer;
geomfield.value = obj['field']
return obj[key];
}
for (var key in obj) {
if (typeof obj[key] === 'object') {
// findValue
var result = findValue(obj[key], targetKey);
if (result !== undefined && result == 'MapGeom') {
return result;
}
} else if (key === targetKey && obj[key] == 'MapGeom') {
//
chooseLayer.value = obj['mapSetData'].chooseLayer;
geomfield.value = obj['field'];
return obj[key];
}
}
}
function getFormSuccess(formData){
if(mapConfig.value.isShowMap){
function getFormSuccess(formData) {
if (mapConfig.value.isShowMap) {
handlerShowGeomtrys(designerData.formCurrentNode, formData);
}
}
async function handlerShowGeomtrys(currentNode,formData) {
findValue(currentNode.authFields,"component");
async function handlerShowGeomtrys(currentNode, formData) {
findValue(currentNode.authFields, 'component');
let layer: string = chooseLayer.value;
if (!layer) {
createMessage.error('图斑未绑定图层服务!');
@ -467,57 +474,55 @@
let geomfiledValue = geomfield.value;
let gids = '';
try {
geomfiledValue = geomfiledValue.toLowerCase();
gids = formData[geomfiledValue];
// ids
if (gids) {
try {
let getGeomPrams = {
TableName: layer,
FieldName: 'gid',
FieldValue: gids,
page: 1,
limit: 999,
key: null,
};
getGeom(getGeomPrams).then((res) => {
let geoms = [];
if (res) {
if (res.items?.length > 0) {
res.items.forEach((item, index) => {
let geom = {
key: item.gid,
mapgeom: item.geometry,
};
geoms.push(geom);
});
}
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑!');
geomfiledValue = geomfiledValue.toLowerCase();
gids = formData[geomfiledValue];
// ids
if (gids) {
try {
let getGeomPrams = {
TableName: layer,
FieldName: 'gid',
FieldValue: gids,
page: 1,
limit: 999,
key: null,
};
getGeom(getGeomPrams).then((res) => {
let geoms = [];
if (res) {
if (res.items?.length > 0) {
res.items.forEach((item, index) => {
let geom = {
key: item.gid,
mapgeom: item.geometry,
};
geoms.push(geom);
});
}
});
} catch (e) {
createMessage.error('当前数据没有图斑!');
}
} else {
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑!');
}
});
} catch (e) {
createMessage.error('当前数据没有图斑!');
}
} else {
createMessage.error('当前数据没有图斑!');
}
} catch {
createMessage.error('获取图斑数据失败!');
}
}
function onMapboxLoad() {
function onMapboxLoad() {}
}
//
//
const isShowImagePreview = ref<Boolean>(false);
const closeImagePreview = ()=>{
const closeImagePreview = () => {
isShowImagePreview.value = false;
}
const globalImagePreviewUrl=ref<String>();
};
const globalImagePreviewUrl = ref<String>();
const formFileStore = userFormFileStore();
const formFileState = storeToRefs(formFileStore);
watch(formFileState.url, (newValue, oldValue) => {