Ben Lin
2024-07-02 2069d53e9be24adec3c8d6717fd7317555bd9a52
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',
@@ -704,29 +704,8 @@
 * @return {*}
 */
export async function getListByPage<T>(params: T) {
  const Keys = Object.getOwnPropertyNames(params);
  let sqlcmd = '1=1 ';
  const sqlcmd = ReturnSqlcmd(params);
  let order = '';
  for (const k in Keys) {
    console.log(`${k}:${Keys[k]}`);
    if (
      !isNullOrEmpty(params[Keys[k]]) &&
      Keys[k] != 'page' &&
      Keys[k] != 'pageSize' &&
      Keys[k] != 'TABLE_NAME' &&
      Keys[k] != 'order' &&
      Keys[k] != 'field' &&
      Keys[k] != '0' &&
      !Keys[k].toString().endsWith('PSelect_0')
    ) {
      if (!isNullOrEmpty(params[Keys[k]].length) && isTimeViaRegExp8601(params[Keys[k]][0])) {
        sqlcmd += ` And ${Keys[k]} > '${params[Keys[k]][0]}'`;
        sqlcmd += ` And ${Keys[k]} < '${params[Keys[k]][1]}'`;
      } else {
        sqlcmd += `And ${Keys[k]} like '%${params[Keys[k]]}%'`;
      }
    }
  }
  if (!isNullOrEmpty(params['order'])) {
    order = params['order'] == 'descend' ? params['field'] + ' desc' : params['field'];
  }
@@ -755,6 +734,37 @@
    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 ';
  for (const k in Keys) {
    console.log(`${k}:${Keys[k]}`);
    if (
      !isNullOrEmpty(params[Keys[k]]) &&
      Keys[k] != 'page' &&
      Keys[k] != 'pageSize' &&
      Keys[k] != 'TABLE_NAME' &&
      Keys[k] != 'order' &&
      Keys[k] != 'field' &&
      Keys[k] != '0' &&
      !Keys[k].toString().endsWith('PSelect_0')
    ) {
      if (!isNullOrEmpty(params[Keys[k]].length) && isTimeViaRegExp8601(params[Keys[k]][0])) {
        sqlcmd += ` And ${Keys[k]} > '${params[Keys[k]][0]}'`;
        sqlcmd += ` And ${Keys[k]} < '${params[Keys[k]][1]}'`;
      } else {
        sqlcmd += `And ${Keys[k]} like '%${params[Keys[k]]}%'`;
      }
    }
  }
  return sqlcmd;
}
export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string, ...args) {
@@ -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