| | |
| | | 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', |
| | |
| | | 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); |
| | | } |
| | |
| | | ); |
| | | }; |
| | | |
| | | /* 通用查询分页 */ |
| | | /** |
| | | * @description: 通用查询分页 |
| | | * @param {T} params |
| | | * @return {*} |
| | | */ |
| | | export async function getListByPage<T>(params: T) { |
| | | const Keys = Object.getOwnPropertyNames(params); |
| | | let sqlcmd = '1=1 '; |
| | |
| | | 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 { |
| | |
| | | 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( |
| | |
| | | }, |
| | | ); |
| | | } 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) }, |
| | |
| | | }, |
| | | ); |
| | | } |
| | | 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; |
| | | } |
| | | |
| | |
| | | ); |
| | | } |
| | | |
| | | //获取服务器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); |
| | |
| | | }, |
| | | ); |
| | | }; |
| | | |
| | | /** |
| | | * @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; |
| | | } |