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