Ben Lin
2024-06-20 36acf8daf78fdc005a42ea682efec7174f4e283b
src/api/tigerapi/system.ts
@@ -31,7 +31,7 @@
  iSYS_ROLE_PROD,
} from './model/systemModel';
import { defHttp } from '/@/utils/http/axios';
import { isNullOrEmpty, isTimeType } from '/@/utils/is';
import { isArray, isDate, isNullOrEmpty, isTimeType, isTimeViaRegExp8601, isTimeViaRegExpSimple } from '/@/utils/is';
export enum Api {
  QueryUrl = '/Base/Query',
@@ -273,6 +273,32 @@
      temp = convertToTreeData(data, parentId, id, data[i][id]);
      if (temp.length > 0) {
        obj.children = temp;
      }
      result.push(obj);
    }
  }
  return result;
}
/**
 * @description: 树形表结构转树形Json
 * @param {T} data
 * @param {string} parentId
 * @param {string} id
 * @param {string} pid
 * @return {*}
 */
export function convertToTree<T>(data: T[], parentId: string, id: 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];
    if (currPid === _pid) {
      const obj = data[i] as {};
      temp = convertToTree(data, parentId, id, data[i][id]);
      if (temp.length > 0) {
        obj['children'] = temp;
      }
      result.push(obj);
    }
@@ -672,7 +698,11 @@
  );
};
/* 通用查询分页 */
/**
 * @description: 通用查询分页
 * @param {T} params
 * @return {*}
 */
export async function getListByPage<T>(params: T) {
  const Keys = Object.getOwnPropertyNames(params);
  let sqlcmd = '1=1 ';
@@ -686,9 +716,10 @@
      Keys[k] != 'TABLE_NAME' &&
      Keys[k] != 'order' &&
      Keys[k] != 'field' &&
      Keys[k] != '0'
      Keys[k] != '0' &&
      !Keys[k].toString().endsWith('PSelect_0')
    ) {
      if (!isNullOrEmpty(params[Keys[k]].length) && isTimeType(params[Keys[k]][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 {
@@ -726,7 +757,7 @@
  return model;
}
export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string) {
export async function SaveEntity<T>(params: T, isUpdate: boolean, entityName: string, ...args) {
  let data;
  if (isUpdate) {
    data = await defHttp.post(
@@ -737,6 +768,12 @@
      },
    );
  } else {
    var check = await isExist(genAction(entityName, args[0]));
    if(check.Data){
      check.IsSuccessed = false;
      check.Message = '记录已经存在,不能新增!';
      return check;
    }
    params.ID = buildUUID(); //生成GUID
    data = await defHttp.post(
      { url: Api.AddEntity, params: genAction(entityName, params) },
@@ -746,6 +783,17 @@
      },
    );
  }
  return data;
}
export async function AddListEntity<T>(params: T, entityName: string) {
  let data = await defHttp.post(
    { url: Api.AddListEntity, params: genAction(entityName, params) },
    {
      errorMessageMode: 'none',
      isTransformResponse: false,
    },
  );
  return data;
}
@@ -760,7 +808,28 @@
  );
}
//获取服务器Json文件返回Json数据
/**
 * @description: 根据条件删除
 * @param {string} sqlcmd
 * @param {string} entityName
 * @return {*}
 */
export const DeleteWhere = async (sqlcmd: string, entityName: string) => {
  const usParams = genAction(entityName, sqlcmd);
  return await defHttp.post(
    { url: Api.DeleteWhere, params: usParams },
    {
      errorMessageMode: 'none',
      isTransformResponse: false,
    },
  );
};
/**
 * @description: 获取服务器Json文件返回Json数据
 * @param {string} url
 * @return {*}
 */
export async function fetchJson(url: string) {
  try {
    const response = await fetch(url);
@@ -829,3 +898,18 @@
    },
  );
};
/**
 * @description: 判断保存的值如果是[]数组的,就直接取[0]第一个值,一般针对上传模板的地址
 * @param {any} values
 * @return {*}
 */
export function formatValues(values: any) {
  const Keys = Object.getOwnPropertyNames(values);
  for (const k in Keys) {
    if (isArray(values[Keys[k]])) {
      values[Keys[k]] = values[Keys[k]][0];
    }
  }
  return values;
}