From da85b09c600ddcf4e5c8cad66012fa29a8252b39 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 12 六月 2024 23:40:33 +0800 Subject: [PATCH] 岗位资源更新 --- src/api/tigerapi/model/router.ts | 5 src/api/tigerapi/mes/router.ts | 20 src/api/tigerapi/mes/mesApi.ts | 9 src/views/tigerprojects/mes/eng/route/components/PostProps.vue | 97 ++- src/api/tigerapi/system.ts | 27 + src/views/tigerprojects/mes/eng/route/components/PropsPanel.vue | 7 src/views/tigerprojects/mes/eng/route/index.vue | 1025 ++++++++++++++++++++++++-------------------------- 7 files changed, 616 insertions(+), 574 deletions(-) diff --git a/src/api/tigerapi/mes/mesApi.ts b/src/api/tigerapi/mes/mesApi.ts index d3b3621..6b2ed6b 100644 --- a/src/api/tigerapi/mes/mesApi.ts +++ b/src/api/tigerapi/mes/mesApi.ts @@ -1,3 +1,11 @@ +/* + * @Description: file content + * @Author: your name + * @version: + * @Date: 2024-04-27 15:54:50 + * @LastEditors: your name + * @LastEditTime: 2024-06-12 20:28:14 + */ export enum mesApi { GetRoute = '/MES/GetRoute', GetRouteData = '/MES/GetRouteData', @@ -8,4 +16,5 @@ DeleteMesWo = '/MES/DeleteMesWo', SaveMesWs = '/MES/SaveMesWs', DeleteMesWs = '/MES/DeleteMesWs', + SaveRouteNodePost = '/MES/SaveRouteNodePost', } diff --git a/src/api/tigerapi/mes/router.ts b/src/api/tigerapi/mes/router.ts index cb18143..2a677a0 100644 --- a/src/api/tigerapi/mes/router.ts +++ b/src/api/tigerapi/mes/router.ts @@ -1,7 +1,7 @@ import { ApiAction, ApiActionPage } from '../../model/baseModel'; import { Api, genAction, genActionPage } from '../system'; import { defHttp } from '/@/utils/http/axios'; -import { MES_ROUTE, RouteData } from '../model/router'; +import { MES_ROUTE, MES_ROUTE_NODE_POST, RouteData } from '../model/router'; import { mesApi } from './mesApi'; import { useUserStore } from '/@/store/modules/user'; import { RoutePageListGetResultModel, RoutelistPageParams } from '../model/mesModel'; @@ -27,7 +27,11 @@ return data; } -//淇濆瓨 +/** + * @description: 淇濆瓨宸ヨ壓璺嚎 + * @param {RouteData} params + * @return {*} + */ export const SaveRouteData = async (params: RouteData) => { const data = await defHttp.post( { url: mesApi.SaveRouteData, params: genAction('', params) }, @@ -38,6 +42,7 @@ ); return data; }; + export const SaveRoute = async (params: MES_ROUTE) => { params.CREATE_USER = useUserStore().getUserInfo.userId as string; params.UPDATE_USER = useUserStore().getUserInfo.userId as string; @@ -104,3 +109,14 @@ isTransformResponse: false, }, ); + + export const SaveRouteNodePost = async (params: MES_ROUTE_NODE_POST[]) => { + const data = await defHttp.post( + { url: mesApi.SaveRouteNodePost, params: genAction('MES_ROUTE_NODE_POST', params) }, + { + errorMessageMode: 'none', + isTransformResponse: false, + }, + ); + return data; + }; diff --git a/src/api/tigerapi/model/router.ts b/src/api/tigerapi/model/router.ts index b93a9d5..5713f2f 100644 --- a/src/api/tigerapi/model/router.ts +++ b/src/api/tigerapi/model/router.ts @@ -158,3 +158,8 @@ edges: MES_ROUTE_EDGE[]; acts: MES_ROUTE_NODE_ACT[]; } + +export interface MES_ROUTE_NODE_POST { + NODE_ID: string; + POST_CODE: string; +} diff --git a/src/api/tigerapi/system.ts b/src/api/tigerapi/system.ts index bedfd93..f7d1d9d 100644 --- a/src/api/tigerapi/system.ts +++ b/src/api/tigerapi/system.ts @@ -31,7 +31,7 @@ iSYS_ROLE_PROD, } from './model/systemModel'; import { defHttp } from '/@/utils/http/axios'; -import { isNullOrEmpty, isTimeType } from '/@/utils/is'; +import { isDate, isNullOrEmpty, isTimeType } from '/@/utils/is'; import { MES_ROUTE_EDGE, MES_ROUTE_NODE } from './model/router'; export enum Api { @@ -712,7 +712,7 @@ Keys[k] != '0' && !Keys[k].toString().endsWith('PSelect_0') ) { - if (!isNullOrEmpty(params[Keys[k]].length) && isTimeType(params[Keys[k]][0])) { + if (!isNullOrEmpty(params[Keys[k]].length) && isDate(params[Keys[k]][0])) { sqlcmd += ` And ${Keys[k]} > '${params[Keys[k]][0]}'`; sqlcmd += ` And ${Keys[k]} < '${params[Keys[k]][1]}'`; } else { @@ -784,7 +784,28 @@ ); } -//鑾峰彇鏈嶅姟鍣↗son鏂囦欢杩斿洖Json鏁版嵁 +/** + * @description: 鏍规嵁鏉′欢鍒犻櫎 + * @param {string} sqlcmd + * @param {string} entityName + * @return {*} + */ +export const DeleteWhere = async (sqlcmd: string, entityName: string) => { + const usParams = genAction(entityName, sqlcmd); + return await defHttp.post( + { url: Api.DeleteWhere, params: usParams }, + { + errorMessageMode: 'none', + isTransformResponse: false, + }, + ); +}; + +/** + * @description: 鑾峰彇鏈嶅姟鍣↗son鏂囦欢杩斿洖Json鏁版嵁 + * @param {string} url + * @return {*} + */ export async function fetchJson(url: string) { try { const response = await fetch(url); diff --git a/src/views/tigerprojects/mes/eng/route/components/PostProps.vue b/src/views/tigerprojects/mes/eng/route/components/PostProps.vue index d17b1a8..5267f45 100644 --- a/src/views/tigerprojects/mes/eng/route/components/PostProps.vue +++ b/src/views/tigerprojects/mes/eng/route/components/PostProps.vue @@ -4,24 +4,22 @@ * @version: * @Date: 2024-06-11 21:07:04 * @LastEditors: your name - * @LastEditTime: 2024-06-12 17:29:41 + * @LastEditTime: 2024-06-12 23:04:02 --> <!-- * @Description: 鍙充晶灞炴�ч潰鏉挎帶浠� 琛ㄥ崟灞炴�ч潰鏉� --> <template> <div class="mt-3"> - <Button type="primary" @click="handleCreate" preIcon="add_02|svg" :size="size"> 鏂板 </Button> - <a-table :columns="columns" :data-source="data" bordered> - <template #name="{ text }"> - <a>{{ text }}</a> + <BasicTable @register="registerTable"> + <template #toolbar> + <a-button type="primary" @click="handleCreate" preIcon="add_02|svg" :size="size"> 鏂板 </a-button> </template> <template #action="{ record }"> <TableAction :actions="[ { icon: 'ant-design:delete-outlined', color: 'error', - tooltip: '鍒犻櫎', popConfirm: { title: '鏄惁纭鍒犻櫎?', placement: 'left', @@ -30,23 +28,25 @@ }, ]" /> </template> - </a-table> + </BasicTable> </div> <NormalModal @register="register" @success="handleSuccess"></NormalModal> </template> <script lang="ts" setup> -import { Table, notification } from 'ant-design-vue'; -import { Button } from '/@/components/Button'; -import { TableAction } from '/@/components/Table'; +import { notification } from 'ant-design-vue'; +import { BasicTable, TableAction, useTable } from '/@/components/Table'; import { SizeType } from 'ant-design-vue/es/config-provider'; -import { ref } from 'vue'; +import { onMounted, ref, unref, watch } from 'vue'; import { useModal } from '/@/components/Modal'; import NormalModal from '/@/views/components/NormalModal.vue'; import { useI18n } from '/@/hooks/web/useI18n'; +import { DeleteEntity, DeleteWhere, SaveEntity, getEntity, getListByPage } from '/@/api/tigerapi/system'; +import { useRouteDesignState } from '../hooks/useRouteDesignState'; +import { SaveRouteNodePost } from '/@/api/tigerapi/mes/router'; const { t } = useI18n(); -const ATable = Table; +const { routeConfig, mesRoute } = useRouteDesignState(); const size = ref<SizeType>('small'); const columns = [ { @@ -60,31 +60,37 @@ dataIndex: 'POST_CODE', key: 'POST_CODE', }, - { - title: '鎿嶄綔', - key: 'operation', - fixed: 'right', - width: 65, - slots: { customRender: 'action' }, - }, ]; -const data: DataItem[] = []; -for (let i = 0; i < 5; i++) { - data.push({ - key: i, - POST_NAME: `Edrward ${i}`, - POST_CODE: 32, - }); -} - -interface DataItem { - key: number; - POST_NAME: string; - POST_CODE: number; -} - const [register, { openModal }] = useModal(); +const [registerTable, { reload }] = useTable({ + title: '鍒楄〃', + api: getListByPage, + searchInfo: { TABLE_NAME: 'V_MES_ROUTE_NOE_POST', NODE_ID: routeConfig.currentItem.ID }, + columns, + useSearchForm: false, + showTableSetting: false, + bordered: true, + showIndexColumn: false, + actionColumn: { + width: 80, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + }, +}); +// watch( +// () => routeConfig.currentItem.ID, +// (newVal, oldVal) => { +// if (newVal != oldVal) { +// reload(); +// } +// }, +// { deep: true, immediate: true }, +// ); + +onMounted(() => { +}); /** * @description: 鏂板鏂规硶 @@ -130,11 +136,26 @@ * @return {*} */ function handleDelete(record: Recordable) { - + DeleteWhere(`POST_CODE = '${record.POST_CODE}'`, 'MES_ROUTE_NODE_POST').then((res) => { + reload(); + }); } +/** + * @description: 閫夋嫨宀椾綅璧勬簮鎴愬姛杩斿洖鏂规硶 + * @param {*} d + * @param {*} u + * @return {*} + */ function handleSuccess(d, u) { - let xx = d.values.val.split(','); - let a = ''; - } + let codes = d.values.val.split(','); + let eintity: any[] = []; + var i; + for (i = 0; i < codes.length; i++) { + eintity.push({ NODE_ID: routeConfig.currentItem.ID, POST_CODE: codes[i], REMARK: '' }); + } + SaveRouteNodePost(eintity).then((res) => { + reload(); + }); +} </script> diff --git a/src/views/tigerprojects/mes/eng/route/components/PropsPanel.vue b/src/views/tigerprojects/mes/eng/route/components/PropsPanel.vue index 870f56a..8a77b20 100644 --- a/src/views/tigerprojects/mes/eng/route/components/PropsPanel.vue +++ b/src/views/tigerprojects/mes/eng/route/components/PropsPanel.vue @@ -4,14 +4,14 @@ * @version: * @Date: 2024-04-28 15:15:22 * @LastEditors: your name - * @LastEditTime: 2024-06-12 15:44:00 + * @LastEditTime: 2024-06-12 22:53:25 --> <!-- * @Description: 鍙充晶灞炴�ч厤缃潰鏉� --> <template> <div> - <Tabs v-model:activeKey="routeConfig.activeKey" :tabBarStyle="{ margin: 0 }"> + <Tabs v-model:activeKey="routeConfig.activeKey" :tabBarStyle="{ margin: 0 }" > <TabPane :key="1" tab="宸ヨ壓璺嚎"> <FormProps /> </TabPane> @@ -19,7 +19,7 @@ <FormItemProps v-if="IsOper" /> <ActionItemProps v-if="!IsOper" /> </TabPane> - <TabPane :key="3" :tab="posttitle"> + <TabPane :key="3" :tab="posttitle" > <PostProps v-if="IsOper" /> </TabPane> <!-- <TabPane :key="4" tab="缁勪欢"> @@ -52,6 +52,7 @@ entityName: String, }); const IsOper = ref(false); + const IsReload = ref(false); const title = ref(''); const posttitle = ref(''); const colSlots = ref<any>([]); diff --git a/src/views/tigerprojects/mes/eng/route/index.vue b/src/views/tigerprojects/mes/eng/route/index.vue index 0c3ead0..aed1fc9 100644 --- a/src/views/tigerprojects/mes/eng/route/index.vue +++ b/src/views/tigerprojects/mes/eng/route/index.vue @@ -2,32 +2,14 @@ <PageWrapper title="宸ヨ壓娴佺▼鍥�" content="鏍规嵁鐢熶骇宸ヨ壓璁捐宸ヨ壓娴佺▼" contentFullHeight fixedHeight> <Layout class="h-full"> <LayoutContent :style="{ overflow: 'initial' }"> - <FlowChart - :data="routeData" - @save-data="handleSave" - @add-lf="handleAddlf" - @select-node="handleSelect" - @click-blank="clickBlank" - @init="init" - /> + <FlowChart :data="routeData" @save-data="handleSave" @add-lf="handleAddlf" @select-node="handleSelect" + @click-blank="clickBlank" @init="init" /> </LayoutContent> - <LayoutSider - :class="`right`" - collapsible - :reverseArrow="true" - collapsedWidth="0" - width="400" + <LayoutSider :class="`right`" collapsible :reverseArrow="true" collapsedWidth="0" width="400" style="background: #fafafa; border-left: 1px solid #d9d9d9; padding: 10px" - :zeroWidthTriggerStyle="{ 'margin-top': '-70px', 'background-color': 'gray' }" - > - <PropsPanel ref="propsPanel" - :activeKey="routeConfig.activeKey" - :IsOperation="IsOperation" - :title="title" - :posttitle="posttitle" - :colSlots="colSlots" - :crudColSlots="crudColSlots" - :entityName="entityName"> + :zeroWidthTriggerStyle="{ 'margin-top': '-70px', 'background-color': 'gray' }"> + <PropsPanel ref="propsPanel" :activeKey="routeConfig.activeKey" :IsOperation="IsOperation" :title="title" + :posttitle="posttitle" :colSlots="colSlots" :crudColSlots="crudColSlots" :entityName="entityName"> <!-- <template v-for="item of formConfig.schemas" #[`${item.component}Props`]="data"> <slot :name="`${item.component}Props`" @@ -43,525 +25,365 @@ </template> <script lang="ts" setup name="Route_View"> - import { FlowChart } from '/@/components/FlowChart'; - import { PageWrapper } from '/@/components/Page'; - import { SaveRouteData, getRouteData } from '/@/api/tigerapi/mes/router'; - import { useModal } from '/@/components/Modal'; - import RouteModal from './RouteModal.vue'; - import { onMounted, ref, unref, Ref, provide, reactive, nextTick, watch } from 'vue'; - import { Layout, LayoutContent, LayoutSider } from 'ant-design-vue'; - import { - RouteData, - node, - edge, - MES_ROUTE_NODE, - MES_ROUTE_EDGE, - MES_ROUTE_NODE_ACT, - MES_ROUTE, - } from '/@/api/tigerapi/model/router'; - import { useUserStore } from '/@/store/modules/user'; - import RouteDrawer from './RouteDrawer.vue'; - import { useDrawer } from '/@/components/Drawer'; - import PropsPanel from './components/PropsPanel.vue'; - import { IRouteConfig } from './typings/v-form-component'; - import { useMessage } from '/@/hooks/web/useMessage'; - import { useI18n } from '/@/hooks/web/useI18n'; - import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; - import { useRoute } from 'vue-router'; - import { useTabs } from '/@/hooks/web/useTabs'; - import LogicFlow from '@logicflow/core'; +import { FlowChart } from '/@/components/FlowChart'; +import { PageWrapper } from '/@/components/Page'; +import { SaveRouteData, getRouteData } from '/@/api/tigerapi/mes/router'; +import { useModal } from '/@/components/Modal'; +import RouteModal from './RouteModal.vue'; +import { onMounted, ref, unref, Ref, provide, reactive, nextTick, watch } from 'vue'; +import { Layout, LayoutContent, LayoutSider } from 'ant-design-vue'; +import { + RouteData, + node, + edge, + MES_ROUTE_NODE, + MES_ROUTE_EDGE, + MES_ROUTE_NODE_ACT, + MES_ROUTE, +} from '/@/api/tigerapi/model/router'; +import { useUserStore } from '/@/store/modules/user'; +import RouteDrawer from './RouteDrawer.vue'; +import { useDrawer } from '/@/components/Drawer'; +import PropsPanel from './components/PropsPanel.vue'; +import { IRouteConfig } from './typings/v-form-component'; +import { useMessage } from '/@/hooks/web/useMessage'; +import { useI18n } from '/@/hooks/web/useI18n'; +import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; +import { useRoute } from 'vue-router'; +import { useTabs } from '/@/hooks/web/useTabs'; +import LogicFlow from '@logicflow/core'; import { getEntity } from '/@/api/tigerapi/system'; - const [registerDrawer, { openDrawer }] = useDrawer(); - const [registerModal, { openModal }] = useModal(); - const { t } = useI18n(); - const route = useRoute(); - const { setTitle } = useTabs(); - const { notification, createErrorModal } = useMessage(); - const routeConfig = reactive({ - // 琛ㄥ崟閰嶇疆 - schemas: [], - layout: 'horizontal', - labelLayout: 'flex', - labelWidth: 100, - labelCol: {}, - wrapperCol: {}, - currentItem: {} as MES_ROUTE_NODE, - currentAct: {} as MES_ROUTE_NODE_ACT, - routeData: {} as RouteData, - activeKey: 1, - } as IRouteConfig); - const currRoute = ref({} as MES_ROUTE); - const routeData = ref({ +const [registerDrawer, { openDrawer }] = useDrawer(); +const [registerModal, { openModal }] = useModal(); +const { t } = useI18n(); +const route = useRoute(); +const { setTitle } = useTabs(); +const { notification, createErrorModal } = useMessage(); +const routeConfig = reactive({ + // 琛ㄥ崟閰嶇疆 + schemas: [], + layout: 'horizontal', + labelLayout: 'flex', + labelWidth: 100, + labelCol: {}, + wrapperCol: {}, + currentItem: {} as MES_ROUTE_NODE, + currentAct: {} as MES_ROUTE_NODE_ACT, + routeData: {} as RouteData, + activeKey: 1, +} as IRouteConfig); +const currRoute = ref({} as MES_ROUTE); +const routeData = ref({ + nodes: [], + edges: [], +}); +provide<Ref<IRouteConfig>>('routeConfig', routeConfig); +provide<Ref<MES_ROUTE>>('mesRoute', currRoute); +const selectnode = ref({} as node); +const currRotId = ref(route.params?.id); +const colSlots = ref<any>([]); +const crudColSlots = ref<any>([]); +const entityName = ref<any>('MES_POSITION'); +const props = defineProps({ + rotId: { type: String, default: '' }, +}); +const IsOperation = ref(false); +const title = ref(''); +const posttitle = ref(''); +watch( + () => props.rotId, + (v) => { + if (v !== currRotId.value) { + currRotId.value = v; + if (!isNullOrUnDef(unref(currlf))) { + unref(currlf).render({}); + routeData.value = { + nodes: [], + edges: [], + }; + init(currlf); + } + } + }, + { deep: true }, +); + +const currlf = ref(null) as Ref<LogicFlow | null>; +console.log(currRotId.value); + +onMounted(() => { }); +/** + * @description: 宸ヨ壓璺嚎鍒濆鍖� + * @param {*} lf + * @return {*} + */ +async function init(lf) { + currlf.value = unref(lf); + //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋 + var _data = await getRouteData(currRotId.value); + console.log('缁勪欢宸叉寕杞�', _data); + //宸ヨ壓璺嚎鍏ㄤ俊鎭紝鍖呮嫭Node銆丒dge鍜孉ct + routeConfig.routeData = _data.Data; + if (_data.Data != null) { + //宸ヨ壓璺嚎涓讳俊鎭� + currRoute.value = _data.Data.route; + if (!isNullOrEmpty(currRotId.value) && isNullOrEmpty(props.rotId)) { + setTitle('璁捐锛氬伐鑹鸿矾绾�-' + currRoute.value.ROT_CODE); + } + _data.Data.nodes.forEach((n) => { + n.node.properties = JSON.parse(n.node.properties); + routeData.value.nodes.push(n.node); + }); + console.log('111', routeData.value); + _data.Data.edges.forEach((e) => { + e.edge.properties = JSON.parse(e.edge.properties); + routeData.value.edges.push(e.edge); + }); + _data.Data.acts.forEach((act) => { + act.node.properties = JSON.parse(act.node.properties); + routeData.value.nodes.push(act.node); + }); + console.log('init', unref(lf).getGraphData(), JSON.parse(JSON.stringify(routeData.value))); + unref(lf).render(routeData.value); + } +} + +const GetRotData = (lf) => { + var currRotData: RouteData = { + route: { + ID: currRoute.value.ID, + CREATE_TIME: new Date(), + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: new Date(), + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + ROT_CODE: currRoute.value.ROT_CODE, + ROT_NAME: currRoute.value.ROT_NAME, + ROT_TYPE: currRoute.value.ROT_TYPE, + ROT_VER: currRoute.value.ROT_VER, + IS_ACTIVE: currRoute.value.IS_ACTIVE, + REMARK: currRoute.value.REMARK, + AUTH_ORG: '', + AUTH_PROD: '', + AUTH_WH: '', + }, nodes: [], edges: [], - }); - provide<Ref<IRouteConfig>>('routeConfig', routeConfig); - provide<Ref<MES_ROUTE>>('mesRoute', currRoute); - const selectnode = ref({} as node); - const currRotId = ref(route.params?.id); - const colSlots = ref<any>([]); - const crudColSlots = ref<any>([]); - const entityName = ref<any>('MES_POSITION'); - const props = defineProps({ - rotId: { type: String, default: '' }, - }); - const IsOperation = ref(false); - const title = ref(''); - const posttitle = ref(''); - watch( - () => props.rotId, - (v) => { - if (v !== currRotId.value) { - currRotId.value = v; - if (!isNullOrUnDef(unref(currlf))) { - unref(currlf).render({}); - routeData.value = { - nodes: [], - edges: [], - }; - init(currlf); - } - } - }, - { deep: true }, - ); - - const currlf = ref(null) as Ref<LogicFlow | null>; - console.log(currRotId.value); - - onMounted(() => { - getEntity({ - sqlcmd: `ASSEMBLY_NAME ='MES_POSITION'`, - entityName: 'SYS_LOW_CODE', - }).then((data) => { - var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); - for (const i in searchForms) { - if(!isNullOrUnDef(searchForms[i]['colSlot'])){ - colSlots.value.push('form-'+searchForms[i]['colSlot']); - } - } - - var _cruds = JSON.parse(data.Data.Items[0].FORM_JSON); - for (const i in _cruds) { - if(!isNullOrUnDef(_cruds[i]['colSlot'])){ - crudColSlots.value.push(_cruds[i]['colSlot']); - } - } - entityName.value = 'MES_POSITION'; - }); - }); - async function init(lf) { - currlf.value = unref(lf); - //閫氳繃宸ヨ壓璺嚎ID鑾峰彇鍥惧舰鏁版嵁锛屽苟娓叉煋 - var _data = await getRouteData(currRotId.value); - console.log('缁勪欢宸叉寕杞�', _data); - //宸ヨ壓璺嚎鍏ㄤ俊鎭紝鍖呮嫭Node銆丒dge鍜孉ct - routeConfig.routeData = _data.Data; - if (_data.Data != null) { - //宸ヨ壓璺嚎涓讳俊鎭� - currRoute.value = _data.Data.route; - if (!isNullOrEmpty(currRotId.value) && isNullOrEmpty(props.rotId)) { - setTitle('璁捐锛氬伐鑹鸿矾绾�-' + currRoute.value.ROT_CODE); - } - _data.Data.nodes.forEach((n) => { - n.node.properties = JSON.parse(n.node.properties); - routeData.value.nodes.push(n.node); - }); - console.log('111', routeData.value); - _data.Data.edges.forEach((e) => { - e.edge.properties = JSON.parse(e.edge.properties); - routeData.value.edges.push(e.edge); - }); - _data.Data.acts.forEach((act) => { - act.node.properties = JSON.parse(act.node.properties); - routeData.value.nodes.push(act.node); - }); - console.log('init', unref(lf).getGraphData(), JSON.parse(JSON.stringify(routeData.value))); - unref(lf).render(routeData.value); - } - } - - const GetRotData = (lf) => { - var currRotData: RouteData = { - route: { - ID: currRoute.value.ID, - CREATE_TIME: new Date(), - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: new Date(), - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - ROT_CODE: currRoute.value.ROT_CODE, - ROT_NAME: currRoute.value.ROT_NAME, - ROT_TYPE: currRoute.value.ROT_TYPE, - ROT_VER: currRoute.value.ROT_VER, - IS_ACTIVE: currRoute.value.IS_ACTIVE, - REMARK: currRoute.value.REMARK, - AUTH_ORG: '', - AUTH_PROD: '', - AUTH_WH: '', - }, - nodes: [], - edges: [], - acts: [], - }; - var _nodes = unref(lf).getGraphData().nodes as node[]; - var _edges = unref(lf).getGraphData().edges as edge[]; - var _num = 1; - const diffnodes = routeConfig.routeData.nodes.filter((itemA) => - _nodes.some((itemB) => itemB.id === itemA.ID), - ); - const diffacts = routeConfig.routeData.acts.filter((itemA) => - _nodes.some((itemB) => itemB.id === itemA.ID), - ); - _nodes.forEach((n) => { - if (n.properties.operType && n.properties.operType == 'Action') { - var _diffacts = diffacts.length > 0 ? diffacts : routeConfig.routeData.acts; - _diffacts.forEach((a) => { - if (a.ID == n.id) { - var act: MES_ROUTE_NODE_ACT = { - ID: n.id, - CREATE_TIME: routeConfig.routeData.route.CREATE_TIME, - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: routeConfig.routeData.route.UPDATE_TIME, - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - ROT_ID: routeConfig.routeData.route.ID, - GPH_TYPE: n.type, - GPH_X: n.x, - GPH_Y: n.y, - GPH_PROP: JSON.stringify(n.properties), - GPH_TEXT: n.text.value, - REMARK: a.REMARK, - AUTH_ORG: '', - AUTH_PROD: '', - AUTH_WH: '', - OPTION_1: '', - OPTION_2: '', - OPTION_3: '', - OPTION_4: '', - OPTION_5: '', - ACT_NAME: `${routeConfig.routeData.route.ROT_CODE}_${n.text.value}_${_num}`, - NODE_ID: a.NODE_ID, - ACT_TYPE: a.ACT_TYPE, - DO_TYPE: a.DO_TYPE, - DO_METHOD: a.DO_METHOD, - DO_IF_PASS: a.DO_IF_PASS, - DO_IF_FAIL: a.DO_IF_FAIL, - node: {} as node, - IS_ACTIVE: a.IS_ACTIVE, - }; - var pnode = [n]; - while (pnode[0].properties.operType == 'Action') { - pnode = unref(lf).getNodeIncomingNode(pnode[0].id); - if (pnode[0].properties.operType != 'Action') { - act.NODE_ID = pnode[0].id; - break; - } - } - currRotData.acts.push(act); - } - }); - routeConfig.routeData.acts = _diffacts; - } else { - var _diffnodes = diffnodes.length > 0 ? diffnodes : routeConfig.routeData.nodes; - _diffnodes.forEach((nd) => { - if (nd.ID == n.id) { - var node: MES_ROUTE_NODE = { - ID: n.id, - CREATE_TIME: currRotData.route.CREATE_TIME, - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: currRotData.route.UPDATE_TIME, - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - NODE_NAME: `${currRotData.route.ROT_CODE}_${n.text.value}_${_num}`, - ROT_ID: currRotData.route.ID, - SEGMENT: nd.SEGMENT, - OPER_CODE: nd.OPER_CODE, - GPH_TYPE: n.type, - GPH_X: n.x, - GPH_Y: n.y, - GPH_PROP: JSON.stringify(n.properties), - GPH_TEXT: n.text.value, - IS_ACTIVE: nd.IS_ACTIVE, - IS_CALC_FPY: nd.IS_CALC_FPY, - CAN_SKIP: nd.CAN_SKIP, - REMARK: nd.REMARK, - AUTH_ORG: '', - AUTH_PROD: '', - AUTH_WH: '', - IS_FIRST_NODE: 'N', - IS_INPUT: nd.IS_INPUT, - IS_OUTPUT: nd.IS_OUTPUT, - OPTION_1: '', - OPTION_2: '', - OPTION_3: '', - OPTION_4: '', - OPTION_5: '', - node: {} as node, - }; - nd.GPH_TYPE = n.type; - nd.GPH_PROP = JSON.stringify(n.properties); - nd.GPH_TEXT = n.text.value; - nd.GPH_X = n.x; - nd.GPH_Y = n.y; - if (unref(lf).getNodeIncomingNode(n.id).length == 0) { - node.IS_FIRST_NODE = 'Y'; - nd.IS_FIRST_NODE = 'Y'; - } - currRotData.nodes.push(node); - } - }); - routeConfig.routeData.nodes = _diffnodes; - } - _num++; - }); - routeConfig.routeData.edges = []; - _edges.forEach((e) => { - var edge: MES_ROUTE_EDGE = { - ID: e.id, - CREATE_TIME: routeConfig.routeData.route.CREATE_TIME, - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: routeConfig.routeData.route.UPDATE_TIME, - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - EDGE_NAME: `${routeConfig.routeData.route.ROT_CODE}_${e.id}`, - ROT_ID: routeConfig.routeData.route.ID, - SRC_NODE: e.sourceNodeId, - TGT_NODE: e.targetNodeId, - GPH_TYPE: e.type, - GPH_SRC_X: e.startPoint.x, - GPH_SRC_Y: e.startPoint.y, - GPH_TGT_X: e.endPoint.x, - GPH_TGT_Y: e.endPoint.y, - GPH_PROP: JSON.stringify(e.properties), - GPH_POTS: JSON.stringify(e.pointsList), - REMARK: '', - AUTH_ORG: '', - AUTH_PROD: '', - AUTH_WH: '', - EDGE_TYPE: 0, - OPTION_1: '', - OPTION_2: '', - OPTION_3: '', - OPTION_4: '', - OPTION_5: '', - edge: {} as edge, - }; - routeConfig.routeData.edges.push(edge); - currRotData.edges.push(edge); - }); - return currRotData; + acts: [], }; + var _nodes = unref(lf).getGraphData().nodes as node[]; + var _edges = unref(lf).getGraphData().edges as edge[]; + var _num = 1; + const diffnodes = routeConfig.routeData.nodes.filter((itemA) => + _nodes.some((itemB) => itemB.id === itemA.ID), + ); + const diffacts = routeConfig.routeData.acts.filter((itemA) => + _nodes.some((itemB) => itemB.id === itemA.ID), + ); + _nodes.forEach((n) => { + if (n.properties.operType && n.properties.operType == 'Action') { + var _diffacts = diffacts.length > 0 ? diffacts : routeConfig.routeData.acts; + _diffacts.forEach((a) => { + if (a.ID == n.id) { + var act: MES_ROUTE_NODE_ACT = { + ID: n.id, + CREATE_TIME: routeConfig.routeData.route.CREATE_TIME, + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: routeConfig.routeData.route.UPDATE_TIME, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + ROT_ID: routeConfig.routeData.route.ID, + GPH_TYPE: n.type, + GPH_X: n.x, + GPH_Y: n.y, + GPH_PROP: JSON.stringify(n.properties), + GPH_TEXT: n.text.value, + REMARK: a.REMARK, + AUTH_ORG: '', + AUTH_PROD: '', + AUTH_WH: '', + OPTION_1: '', + OPTION_2: '', + OPTION_3: '', + OPTION_4: '', + OPTION_5: '', + ACT_NAME: `${routeConfig.routeData.route.ROT_CODE}_${n.text.value}_${_num}`, + NODE_ID: a.NODE_ID, + ACT_TYPE: a.ACT_TYPE, + DO_TYPE: a.DO_TYPE, + DO_METHOD: a.DO_METHOD, + DO_IF_PASS: a.DO_IF_PASS, + DO_IF_FAIL: a.DO_IF_FAIL, + node: {} as node, + IS_ACTIVE: a.IS_ACTIVE, + }; + var pnode = [n]; + while (pnode[0].properties.operType == 'Action') { + pnode = unref(lf).getNodeIncomingNode(pnode[0].id); + if (pnode[0].properties.operType != 'Action') { + act.NODE_ID = pnode[0].id; + break; + } + } + currRotData.acts.push(act); + } + }); + routeConfig.routeData.acts = _diffacts; + } else { + var _diffnodes = diffnodes.length > 0 ? diffnodes : routeConfig.routeData.nodes; + _diffnodes.forEach((nd) => { + if (nd.ID == n.id) { + var node: MES_ROUTE_NODE = { + ID: n.id, + CREATE_TIME: currRotData.route.CREATE_TIME, + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: currRotData.route.UPDATE_TIME, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + NODE_NAME: `${currRotData.route.ROT_CODE}_${n.text.value}_${_num}`, + ROT_ID: currRotData.route.ID, + SEGMENT: nd.SEGMENT, + OPER_CODE: nd.OPER_CODE, + GPH_TYPE: n.type, + GPH_X: n.x, + GPH_Y: n.y, + GPH_PROP: JSON.stringify(n.properties), + GPH_TEXT: n.text.value, + IS_ACTIVE: nd.IS_ACTIVE, + IS_CALC_FPY: nd.IS_CALC_FPY, + CAN_SKIP: nd.CAN_SKIP, + REMARK: nd.REMARK, + AUTH_ORG: '', + AUTH_PROD: '', + AUTH_WH: '', + IS_FIRST_NODE: 'N', + IS_INPUT: nd.IS_INPUT, + IS_OUTPUT: nd.IS_OUTPUT, + OPTION_1: '', + OPTION_2: '', + OPTION_3: '', + OPTION_4: '', + OPTION_5: '', + node: {} as node, + }; + nd.GPH_TYPE = n.type; + nd.GPH_PROP = JSON.stringify(n.properties); + nd.GPH_TEXT = n.text.value; + nd.GPH_X = n.x; + nd.GPH_Y = n.y; + if (unref(lf).getNodeIncomingNode(n.id).length == 0) { + node.IS_FIRST_NODE = 'Y'; + nd.IS_FIRST_NODE = 'Y'; + } + currRotData.nodes.push(node); + } + }); + routeConfig.routeData.nodes = _diffnodes; + } + _num++; + }); + routeConfig.routeData.edges = []; + _edges.forEach((e) => { + var edge: MES_ROUTE_EDGE = { + ID: e.id, + CREATE_TIME: routeConfig.routeData.route.CREATE_TIME, + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: routeConfig.routeData.route.UPDATE_TIME, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + EDGE_NAME: `${routeConfig.routeData.route.ROT_CODE}_${e.id}`, + ROT_ID: routeConfig.routeData.route.ID, + SRC_NODE: e.sourceNodeId, + TGT_NODE: e.targetNodeId, + GPH_TYPE: e.type, + GPH_SRC_X: e.startPoint.x, + GPH_SRC_Y: e.startPoint.y, + GPH_TGT_X: e.endPoint.x, + GPH_TGT_Y: e.endPoint.y, + GPH_PROP: JSON.stringify(e.properties), + GPH_POTS: JSON.stringify(e.pointsList), + REMARK: '', + AUTH_ORG: '', + AUTH_PROD: '', + AUTH_WH: '', + EDGE_TYPE: 0, + OPTION_1: '', + OPTION_2: '', + OPTION_3: '', + OPTION_4: '', + OPTION_5: '', + edge: {} as edge, + }; + routeConfig.routeData.edges.push(edge); + currRotData.edges.push(edge); + }); + return currRotData; +}; - /* - *淇濆瓨宸ヨ壓璺嚎浜嬩欢 - */ - async function handleSave(lf) { - console.log('handleSave', unref(lf).getGraphData().nodes[0]); - if (isNullOrEmpty(currRoute.value.ROT_CODE)) { +/* + *淇濆瓨宸ヨ壓璺嚎浜嬩欢 + */ +async function handleSave(lf) { + console.log('handleSave', unref(lf).getGraphData().nodes[0]); + if (isNullOrEmpty(currRoute.value.ROT_CODE)) { + createErrorModal({ + title: t('鏈�夋嫨'), + content: t('鏈�夋嫨宸ヨ壓璺嚎鎴栬�呮柊澧炲伐鑹鸿矾绾�'), + getContainer: () => document.body, + }); + } else { + var hasError = false; + unref(lf) + .getGraphData() + .nodes.forEach((n) => { + if ( + unref(lf).getNodeIncomingEdge(n.id).length == 0 && + unref(lf).getNodeOutgoingEdge(n.id).length == 0 + ) { + hasError = true; + } + }); + if (hasError) { createErrorModal({ - title: t('鏈�夋嫨'), - content: t('鏈�夋嫨宸ヨ壓璺嚎鎴栬�呮柊澧炲伐鑹鸿矾绾�'), + title: t('璀﹀憡'), + content: t('鏈夎妭鐐规湭杩炵嚎锛岃閲嶆柊璁捐宸ヨ壓璺嚎鍐嶄繚瀛樻暟鎹紒'), getContainer: () => document.body, }); } else { - var hasError = false; - unref(lf) - .getGraphData() - .nodes.forEach((n) => { - if ( - unref(lf).getNodeIncomingEdge(n.id).length == 0 && - unref(lf).getNodeOutgoingEdge(n.id).length == 0 - ) { - hasError = true; - } + var action = await SaveRouteData(GetRotData(lf)); + if (action.IsSuccessed) { + notification['success']({ + message: '鎿嶄綔鎴愬姛', + description: `淇濆瓨宸ヨ壓璺嚎锛�${currRoute.value.ROT_CODE} 鎴愬姛`, }); - if (hasError) { - createErrorModal({ - title: t('璀﹀憡'), - content: t('鏈夎妭鐐规湭杩炵嚎锛岃閲嶆柊璁捐宸ヨ壓璺嚎鍐嶄繚瀛樻暟鎹紒'), - getContainer: () => document.body, - }); - } else { - var action = await SaveRouteData(GetRotData(lf)); - if (action.IsSuccessed) { - notification['success']({ - message: '鎿嶄綔鎴愬姛', - description: `淇濆瓨宸ヨ壓璺嚎锛�${currRoute.value.ROT_CODE} 鎴愬姛`, - }); - } } } } +} - /* - *鏂板宸ヨ壓璺嚎寮瑰嚭妯℃�佺獥鍙d簨浠� - */ - async function handleAddlf(lf) { - // openDrawer(true, { - // isUpdate: false, - // lf: lf, - // }); - openModal(true, { - isUpdate: false, - lf: lf, - }); - } +/* + *鏂板宸ヨ壓璺嚎寮瑰嚭妯℃�佺獥鍙d簨浠� + */ +async function handleAddlf(lf) { + // openDrawer(true, { + // isUpdate: false, + // lf: lf, + // }); + openModal(true, { + isUpdate: false, + lf: lf, + }); +} - /* - *鐐瑰嚮鑺傜偣閫変腑浜嬩欢 - */ - function handleSelect(data, lf) { - lf.graphModel.clearSelectElements(); - lf.graphModel.getNodeModelById(data.data.id).setSelected(true); - selectnode.value = data.data; - if (isNullOrUnDef(routeConfig.routeData)) { - //鍏堝垵濮嬪寲routeData - routeConfig.routeData = {}; - routeConfig.routeData.route = currRoute.value; - routeConfig.routeData.nodes = []; - routeConfig.routeData.edges = []; - routeConfig.routeData.acts = []; - //鍐嶈繑鍥炲叿浣撴暟鎹� - routeConfig.routeData = GetRotData(lf); - } - - var _node = routeConfig.routeData.nodes.filter((x) => x.ID == selectnode.value.id)[0]; - if (isNullOrUnDef(_node)) { - _node = { - ID: selectnode.value.id, - CREATE_TIME: currRoute.value.CREATE_TIME, - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: currRoute.value.UPDATE_TIME, - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - NODE_NAME: `${currRoute.value.ROT_CODE}_${selectnode.value.text.value}_0`, - ROT_ID: currRoute.value.ID, - SEGMENT: '', - OPER_CODE: selectnode.value.type, - GPH_TYPE: selectnode.value.type, - GPH_X: selectnode.value.x, - GPH_Y: selectnode.value.y, - GPH_PROP: '', - GPH_TEXT: selectnode.value.text.value, - IS_ACTIVE: 'Y', - IS_CALC_FPY: 'N', - CAN_SKIP: 'N', - REMARK: '', - AUTH_ORG: '', - AUTH_PROD: '', - AUTH_WH: '', - IS_FIRST_NODE: '', - IS_INPUT: '', - IS_OUTPUT: '', - OPTION_1: '', - OPTION_2: '', - OPTION_3: '', - OPTION_4: '', - OPTION_5: '', - node: {} as node, - }; - routeConfig.routeData.nodes.push(_node); - } - //鏄涓� - if (selectnode.value.properties.operType && selectnode.value.properties.operType == 'Action') { - var _act = routeConfig.routeData.acts.filter((x) => x.ID == selectnode.value.id)[0]; - routeConfig.activeKey = 2; - IsOperation.value = false; - title.value = '琛屼负'; - posttitle.value = ''; - routeConfig.currentAct = { - ID: selectnode.value.id, - CREATE_TIME: currRoute.value.CREATE_TIME, - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: currRoute.value.UPDATE_TIME, - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - AUTH_ORG: '', - AUTH_PROD: '', - AUTH_WH: '', - ACT_NAME: _act.ACT_NAME, - ROT_ID: currRoute.value.ID, - NODE_ID: _act.NODE_ID, - ACT_TYPE: _act.ACT_TYPE, - GPH_TYPE: selectnode.value.type, - GPH_X: selectnode.value.x, - GPH_Y: selectnode.value.y, - GPH_PROP: JSON.stringify(selectnode.value.properties), - GPH_TEXT: selectnode.value.text.value, - DO_TYPE: _act.DO_TYPE, - DO_METHOD: _act.DO_METHOD, - DO_IF_PASS: _act.DO_IF_PASS, - DO_IF_FAIL: _act.DO_IF_FAIL, - IS_ACTIVE: _act.IS_ACTIVE, - OPTION_1: '', - OPTION_2: '', - OPTION_3: '', - OPTION_4: '', - OPTION_5: '', - REMARK: '', - node: {} as node, - }; - } else { - //鏄伐搴� - routeConfig.currentItem = { - ID: selectnode.value.id, - CREATE_TIME: currRoute.value.CREATE_TIME, - CREATE_USER: useUserStore().getUserInfo.userId as string, - UPDATE_TIME: currRoute.value.UPDATE_TIME, - UPDATE_USER: useUserStore().getUserInfo.userId as string, - GHOST_ROW: false, - NODE_NAME: _node.NODE_NAME ?? '', - ROT_ID: currRoute.value.ID, - SEGMENT: _node.SEGMENT, - OPER_CODE: _node.OPER_CODE, - GPH_TYPE: selectnode.value.type, - GPH_X: selectnode.value.x, - GPH_Y: selectnode.value.y, - GPH_PROP: '', - GPH_TEXT: selectnode.value.text.value, - IS_ACTIVE: _node.IS_ACTIVE, - IS_CALC_FPY: _node.IS_CALC_FPY, - CAN_SKIP: _node.CAN_SKIP, - IS_INPUT: _node.IS_INPUT, - IS_OUTPUT: _node.IS_OUTPUT, - REMARK: _node.REMARK, - }; - routeConfig.isCalcFpy = _node.IS_CALC_FPY == 'Y'; - routeConfig.canSkip = _node.CAN_SKIP == 'Y'; - routeConfig.isInput = _node.IS_INPUT == 'Y'; - routeConfig.isOutput = _node.IS_OUTPUT == 'Y'; - - console.log(routeConfig.currentItem); - routeConfig.activeKey = 2; - IsOperation.value = true; - title.value = '宸ュ簭'; - posttitle.value = '宀椾綅'; - } - } - - function handleSuccess(lfInstance) { - unref(lfInstance).render({}); - } - - /* - *鐐瑰嚮鐢诲竷浜嬩欢 - */ - function clickBlank() { - routeConfig.activeKey = 1; - title.value = ''; - posttitle.value = ''; - } - - /* - *鏂板宸ヨ壓璺嚎鎴愬姛鍚庝簨浠� - */ - async function modalSuccess(lfInstance, route) { - unref(lfInstance).render({}); - currRoute.value = route; - currRotId.value = currRoute.value.ID; - setTitle('璁捐锛氬伐鑹鸿矾绾�-' + currRoute.value.ROT_CODE); +/* + *鐐瑰嚮鑺傜偣閫変腑浜嬩欢 + */ +function handleSelect(data, lf) { + lf.graphModel.clearSelectElements(); + lf.graphModel.getNodeModelById(data.data.id).setSelected(true); + selectnode.value = data.data; + if (isNullOrUnDef(routeConfig.routeData)) { //鍏堝垵濮嬪寲routeData routeConfig.routeData = {}; routeConfig.routeData.route = currRoute.value; @@ -569,6 +391,153 @@ routeConfig.routeData.edges = []; routeConfig.routeData.acts = []; //鍐嶈繑鍥炲叿浣撴暟鎹� - routeConfig.routeData = GetRotData(unref(lfInstance)); + routeConfig.routeData = GetRotData(lf); } + + var _node = routeConfig.routeData.nodes.filter((x) => x.ID == selectnode.value.id)[0]; + if (isNullOrUnDef(_node)) { + _node = { + ID: selectnode.value.id, + CREATE_TIME: currRoute.value.CREATE_TIME, + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: currRoute.value.UPDATE_TIME, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + NODE_NAME: `${currRoute.value.ROT_CODE}_${selectnode.value.text.value}_0`, + ROT_ID: currRoute.value.ID, + SEGMENT: '', + OPER_CODE: selectnode.value.type, + GPH_TYPE: selectnode.value.type, + GPH_X: selectnode.value.x, + GPH_Y: selectnode.value.y, + GPH_PROP: '', + GPH_TEXT: selectnode.value.text.value, + IS_ACTIVE: 'Y', + IS_CALC_FPY: 'N', + CAN_SKIP: 'N', + REMARK: '', + AUTH_ORG: '', + AUTH_PROD: '', + AUTH_WH: '', + IS_FIRST_NODE: '', + IS_INPUT: '', + IS_OUTPUT: '', + OPTION_1: '', + OPTION_2: '', + OPTION_3: '', + OPTION_4: '', + OPTION_5: '', + node: {} as node, + }; + routeConfig.routeData.nodes.push(_node); + } + //鏄涓� + if (selectnode.value.properties.operType && selectnode.value.properties.operType == 'Action') { + var _act = routeConfig.routeData.acts.filter((x) => x.ID == selectnode.value.id)[0]; + routeConfig.activeKey = 2; + IsOperation.value = false; + title.value = '琛屼负'; + posttitle.value = ''; + routeConfig.currentAct = { + ID: selectnode.value.id, + CREATE_TIME: currRoute.value.CREATE_TIME, + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: currRoute.value.UPDATE_TIME, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + AUTH_ORG: '', + AUTH_PROD: '', + AUTH_WH: '', + ACT_NAME: _act.ACT_NAME, + ROT_ID: currRoute.value.ID, + NODE_ID: _act.NODE_ID, + ACT_TYPE: _act.ACT_TYPE, + GPH_TYPE: selectnode.value.type, + GPH_X: selectnode.value.x, + GPH_Y: selectnode.value.y, + GPH_PROP: JSON.stringify(selectnode.value.properties), + GPH_TEXT: selectnode.value.text.value, + DO_TYPE: _act.DO_TYPE, + DO_METHOD: _act.DO_METHOD, + DO_IF_PASS: _act.DO_IF_PASS, + DO_IF_FAIL: _act.DO_IF_FAIL, + IS_ACTIVE: _act.IS_ACTIVE, + OPTION_1: '', + OPTION_2: '', + OPTION_3: '', + OPTION_4: '', + OPTION_5: '', + REMARK: '', + node: {} as node, + }; + } else { + //鏄伐搴� + IsOperation.value = false; + routeConfig.currentItem = { + ID: selectnode.value.id, + CREATE_TIME: currRoute.value.CREATE_TIME, + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_TIME: currRoute.value.UPDATE_TIME, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + NODE_NAME: _node.NODE_NAME ?? '', + ROT_ID: currRoute.value.ID, + SEGMENT: _node.SEGMENT, + OPER_CODE: _node.OPER_CODE, + GPH_TYPE: selectnode.value.type, + GPH_X: selectnode.value.x, + GPH_Y: selectnode.value.y, + GPH_PROP: '', + GPH_TEXT: selectnode.value.text.value, + IS_ACTIVE: _node.IS_ACTIVE, + IS_CALC_FPY: _node.IS_CALC_FPY, + CAN_SKIP: _node.CAN_SKIP, + IS_INPUT: _node.IS_INPUT, + IS_OUTPUT: _node.IS_OUTPUT, + REMARK: _node.REMARK, + }; + routeConfig.isCalcFpy = _node.IS_CALC_FPY == 'Y'; + routeConfig.canSkip = _node.CAN_SKIP == 'Y'; + routeConfig.isInput = _node.IS_INPUT == 'Y'; + routeConfig.isOutput = _node.IS_OUTPUT == 'Y'; + setTimeout(() => { + console.log(routeConfig.currentItem); + routeConfig.activeKey = 2; + IsOperation.value = true; + title.value = '宸ュ簭'; + posttitle.value = '宀椾綅'; + }, 50); + } +} + +function handleSuccess(lfInstance) { + unref(lfInstance).render({}); +} + +/* + *鐐瑰嚮鐢诲竷浜嬩欢 + */ +function clickBlank() { + routeConfig.activeKey = 1; + title.value = ''; + posttitle.value = ''; +} + +/* + *鏂板宸ヨ壓璺嚎鎴愬姛鍚庝簨浠� + */ +async function modalSuccess(lfInstance, route) { + unref(lfInstance).render({}); + currRoute.value = route; + currRotId.value = currRoute.value.ID; + setTitle('璁捐锛氬伐鑹鸿矾绾�-' + currRoute.value.ROT_CODE); + //鍏堝垵濮嬪寲routeData + routeConfig.routeData = {}; + routeConfig.routeData.route = currRoute.value; + routeConfig.routeData.nodes = []; + routeConfig.routeData.edges = []; + routeConfig.routeData.acts = []; + //鍐嶈繑鍥炲叿浣撴暟鎹� + routeConfig.routeData = GetRotData(unref(lfInstance)); +} </script> -- Gitblit v1.9.3