From e33d593df8bf528ad793bf80eb8f391513ccc2ba Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 30 五月 2024 21:01:05 +0800
Subject: [PATCH] 通用增删改

---
 src/api/tigerapi/system.ts |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/src/api/tigerapi/system.ts b/src/api/tigerapi/system.ts
index 0242820..3d0f4d5 100644
--- a/src/api/tigerapi/system.ts
+++ b/src/api/tigerapi/system.ts
@@ -656,7 +656,7 @@
       !isNullOrEmpty(params[Keys[k]]) &&
       Keys[k] != 'page' &&
       Keys[k] != 'pageSize' &&
-      Keys[k] != 'TABLE_NAME' //蹇呴渶鍦ㄩ〉闈㈢殑鏌ヨ閮ㄥ垎鍔犲叆'TABLE_NAME'瀛楁骞惰祴鍊艰〃鍚�
+      Keys[k] != 'TABLE_NAME'
     ) {
       sqlcmd += `And ${Keys[k]} like '%${params[Keys[k]]}%'`;
     }
@@ -678,6 +678,41 @@
   return model;
 }
 
+export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string) {
+  let data;
+  if (isUpdate) {
+    data = await defHttp.post(
+      { url: Api.UpdateEntity, params: genAction(entityName, params) },
+      {
+        errorMessageMode: 'none',
+        isTransformResponse: false,
+      },
+    );
+  } else {
+    params.ID = buildUUID(); //鐢熸垚GUID
+    data = await defHttp.post(
+      { url: Api.AddEntity, params: genAction(entityName, params) },
+      {
+        errorMessageMode: 'none',
+        isTransformResponse: false,
+      },
+    );
+  }
+  return data;
+}
+
+export async function DeleteEntity<T>(params: T, entityName: string) {
+  const usParams = genAction(entityName, [params]);
+  return await defHttp.post(
+    { url: Api.DeleteList, params: usParams },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+    },
+  );
+}
+
+//鑾峰彇鏈嶅姟鍣↗son鏂囦欢杩斿洖Json鏁版嵁
 export async function fetchJson(url: string) {
   try {
     const response = await fetch(url);
@@ -686,3 +721,8 @@
     console.error('Error fetching columns:', error);
   }
 }
+
+// 娉涘瀷鍑芥暟锛岃幏鍙栫被鐨勫悕绉�
+export function getClassName<T>(ctor: new () => T): string {
+  return ctor.name;
+}

--
Gitblit v1.9.3