From 5a4d79d9765dfca8812638b57d5f5fe21f7a06ee Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 16 七月 2024 17:05:25 +0800 Subject: [PATCH] 工单下发更新 --- src/views/components/CustModal.vue | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/views/components/CustModal.vue b/src/views/components/CustModal.vue index 83d0f8b..efbf7eb 100644 --- a/src/views/components/CustModal.vue +++ b/src/views/components/CustModal.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-05 15:46:07 * @LastEditors: Ben Lin - * @LastEditTime: 2024-06-28 14:26:49 + * @LastEditTime: 2024-07-16 16:55:52 --> <template> <BasicModal @@ -30,14 +30,15 @@ </BasicModal> </template> <script lang="ts" setup> - import { ref, unref, nextTick, watch } from 'vue'; + import { ref, unref, nextTick, watch, Ref } from 'vue'; import { BasicModal, useModalInner } from '/@/components/Modal'; import { FormSchema } from '/@/components/Form/index'; - import { custFunction } from './data'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { Layout, LayoutContent, Card } from 'ant-design-vue'; import { useMessage } from '/@/hooks/web/useMessage'; import { useI18n } from '/@/hooks/web/useI18n'; + import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel'; + import { CustModalParams } from '/@/api/tigerapi/model/systemModel'; const { t } = useI18n(); const { notification, createErrorModal } = useMessage(); @@ -58,7 +59,23 @@ const useFormData = ref<any>({}); const props = defineProps({ detailSlots: { type: Array, default: [] }, + entityName: { type: String }, }); + + const custImport = ref<any[]>([]); + const EntityCustFunction = ref([ + { + CustFunc(param: CustModalParams) {}, + } as EntityCustFunctionType, + ]); + /* 鍔ㄦ�乮mport瀹炰綋鍚�.ts鐨勮嚜瀹氫箟鏂规硶 */ + try { + custImport.value = await import(`../tigerprojects/system/lowcode/entityts/${props.entityName}.ts`); + } catch (e) {} + const [{ CustFunc }] = isNullOrUnDef(custImport.value['default']) + ? EntityCustFunction.value + : custImport.value['default'](); + watch( () => props.detailSlots, (v) => { @@ -95,13 +112,15 @@ //鍒濆鍖栨柟娉曡嚜瀹氫箟 if (!isNullOrEmpty(data?.initFnName)) { initFnName.value = data?.initFnName; - custFunction( - unref(isUpdate.value), - initFnName.value[cType.value], - cType.value, - mValues.value, - data?.others, - ); + let param: CustModalParams = { + cType: cType.value, + values: unref(isUpdate.value), + initFnName: initFnName.value[cType.value], + mValues: mValues.value, + others: data?.others, + FnName: '', + }; + CustFunc(param); } }); @@ -116,7 +135,7 @@ /** * @description: 寮规纭畾鎸夐挳鏂规硶 * @return {*} - */ + */ async function handleSuccess() { try { var values = {} as any; @@ -129,8 +148,12 @@ setModalProps({ confirmLoading: true }); //璋冪敤鑷畾涔変繚瀛樻柟娉曚繚瀛樻暟鎹� values['mValues'] = mValues.value; - const action = await custFunction(values, FnName.value[cType.value], cType.value); - if (action as boolean) { + const action = await CustFunc({ + cType: cType.value, + values: values, + FnName: FnName.value[cType.value], + } as unknown as CustModalParams); + if (action.IsSuccessed) { closeModal(); //鎴愬姛浜嬩欢锛屽皢鏁版嵁杩斿洖鍘熼〉闈� emit('success', { @@ -143,7 +166,7 @@ } else { createErrorModal({ title: t('璀﹀憡'), - content: t('淇濆瓨鏁版嵁澶辫触'), + content: t(action.LocaleMsg), getContainer: () => document.body, }); } -- Gitblit v1.9.3