From 2069d53e9be24adec3c8d6717fd7317555bd9a52 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 02 七月 2024 23:02:51 +0800
Subject: [PATCH] 高级表单优化

---
 src/api/tigerapi/system.ts |  113 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 74 insertions(+), 39 deletions(-)

diff --git a/src/api/tigerapi/system.ts b/src/api/tigerapi/system.ts
index e98fe8e..0d53fb4 100644
--- a/src/api/tigerapi/system.ts
+++ b/src/api/tigerapi/system.ts
@@ -1,4 +1,3 @@
-import { UserConfigFn } from 'vite';
 import { useGlobSetting } from '/@/hooks/setting';
 import { buildUUID } from '../../utils/uuid';
 import { DateFormat } from '../../utils/dataformat';
@@ -31,7 +30,7 @@
   iSYS_ROLE_PROD,
 } from './model/systemModel';
 import { defHttp } from '/@/utils/http/axios';
-import { isArray, isDate, isNullOrEmpty, isTimeType, isTimeViaRegExp8601, isTimeViaRegExpSimple } from '/@/utils/is';
+import { isArray, isNullOrEmpty, isTimeViaRegExp8601 } from '/@/utils/is';
 
 export enum Api {
   QueryUrl = '/Base/Query',
@@ -39,6 +38,7 @@
   EntitySqlList = '/Base/QuerySQL',
   EntityPageList = '/Base/QueryCustomPage',
   IsAccountExist = '/Base/IsExist',
+  AddAfterDelete = '/Base/AddAfterDelete',
   setRoleStatus = '/system/setRoleStatus',
   MenuList = '/SYS/getMenuListAll',
   SaveMenu = '/SYS/SaveMenu',
@@ -283,20 +283,20 @@
 /**
  * @description: 鏍戝舰琛ㄧ粨鏋勮浆鏍戝舰Json
  * @param {T} data
- * @param {string} parentId
- * @param {string} id
- * @param {string} pid
+ * @param {string} parentField 鐖跺瓧娈靛悕
+ * @param {string} idField 鍞竴key瀛楁鍚�
+ * @param {string} pid_val 鐖秈d鍊�
  * @return {*}
  */
-export function convertToTree<T>(data: T[], parentId: string, id: string, pid?: string) {
+export function convertToTree<T>(data: T[], parentField: string, idField: string, pid?: string) {
   const result: T[] = [];
   let temp: T[] = [];
   const _pid = isNullOrEmpty(pid) ? '' : pid;
   for (let i = 0; i < data.length; i++) {
-    const currPid = data[i][parentId] == null ? '' : data[i][parentId];
+    const currPid = data[i][parentField] == null ? '' : data[i][parentField];
     if (currPid === _pid) {
-      const obj = data[i] as {};
-      temp = convertToTree(data, parentId, id, data[i][id]);
+      const obj = data[i] as T;
+      temp = convertToTree(data, parentField, idField, data[i][idField]);
       if (temp.length > 0) {
         obj['children'] = temp;
       }
@@ -704,9 +704,46 @@
  * @return {*}
  */
 export async function getListByPage<T>(params: T) {
+  const sqlcmd = ReturnSqlcmd(params);
+  let order = '';
+  if (!isNullOrEmpty(params['order'])) {
+    order = params['order'] == 'descend' ? params['field'] + ' desc' : params['field'];
+  }
+  const rParams = genAction(params['TABLE_NAME'], {
+    QueryAble_T: '',
+    where: sqlcmd,
+    order: order,
+    page: {
+      pageAble_T: 'string',
+      draw: 1,
+      pageIndex: params['page'],
+      pageSize: params['pageSize'],
+    },
+  });
+  return getListByPageAsync(rParams);
+}
+async function getListByPageAsync(params: any) {
+  const data = await defHttp.post(
+    { url: Api.QueryUrl, params, timeout: 50000 },
+    {
+      isTransformResponse: false,
+    },
+  );
+  const model = {
+    items: data.Data.page.data,
+    total: data.Data.page.totals,
+  };
+  return model;
+}
+
+/**
+ * @description: 鏍规嵁鏌ヨ鏉′欢鍙傛暟鎷兼帴鏌ヨ鏉′欢
+ * @param {T} params
+ * @return {*}
+ */
+export function ReturnSqlcmd<T>(params: T) {
   const Keys = Object.getOwnPropertyNames(params);
   let sqlcmd = '1=1 ';
-  let order = '';
   for (const k in Keys) {
     console.log(`${k}:${Keys[k]}`);
     if (
@@ -727,34 +764,7 @@
       }
     }
   }
-  if (!isNullOrEmpty(params['order'])) {
-    order = params['order'] == 'descend' ? params['field'] + ' desc' : params['field'];
-  }
-  const rParams = genAction(params['TABLE_NAME'], {
-    QueryAble_T: '',
-    where: sqlcmd,
-    order: order,
-    page: {
-      pageAble_T: 'string',
-      draw: 1,
-      pageIndex: params['page'],
-      pageSize: params['pageSize'],
-    },
-  });
-  return getListByPageAsync(rParams);
-}
-async function getListByPageAsync(params: any) {
-  const data = await defHttp.post(
-    { url: Api.QueryUrl, params,timeout:50000 },
-    {
-      isTransformResponse: false,
-    },
-  );
-  const model = {
-    items: data.Data.page.data,
-    total: data.Data.page.totals,
-  };
-  return model;
+  return sqlcmd;
 }
 
 export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string, ...args) {
@@ -769,7 +779,7 @@
     );
   } else {
     var check = await isExist(genAction(entityName, args[0]));
-    if(check.Data){
+    if (check.Data) {
       check.IsSuccessed = false;
       check.Message = '璁板綍宸茬粡瀛樺湪锛屼笉鑳芥柊澧烇紒';
       return check;
@@ -809,6 +819,31 @@
 }
 
 /**
+ * @description: 鍏堝垹闄ゅ悗娣诲姞Api
+ * @param {T} params
+ * @param {string} entityName
+ * @param {*} items
+ * @return {*}
+ */
+export async function AddAfterDelete(entityName: string, items: [], where: string) {
+  let data = await defHttp.post(
+    {
+      url: Api.AddAfterDelete,
+      params: genAction(entityName, {
+        QueryAble_T: '',
+        where: where,
+        Items: items,
+      }),
+    },
+    {
+      errorMessageMode: 'none',
+      isTransformResponse: false,
+    },
+  );
+  return data;
+}
+
+/**
  * @description: 鏍规嵁鏉′欢鍒犻櫎
  * @param {string} sqlcmd
  * @param {string} entityName

--
Gitblit v1.9.3