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