import { construct, destruct } from "@aximario/json-tree"; import _ from "lodash"; import { IBaseResponse, TBaseResponse } from "../base/IBaseResponse"; export interface IElemDataResponse extends IBaseResponse { whoBuild: number; userIndx: number; dataIndx: number; sourceND: number; fromElem: number; sysElemc: number; parentID: number; hashCode: number; dataLevl: number; dataStat: number; dataOrdr: number; dataDate: number; dataTime: number; dataHide: number; dataFrom: number; kjndKJQJ: number; dataGUID: string; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; queuesBy: number; entityID: string; dataCode: string; dataName: string; codeFull: string; nameLite: string; nameFull: string; dataMemo: string; isLasted: number; asLasted: number; elemPara: string; typeText: string; tablFrom: string; } export class TElemDataResponse extends TBaseResponse implements IElemDataResponse { whoBuild: number = 0; userIndx: number = 0; dataIndx: number = 0; sourceND: number = 0; fromElem: number = 0; sysElemc: number = 0; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataStat: number = 0; dataOrdr: number = 0; dataDate: number = 0; dataTime: number = 0; dataHide: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataGUID: string = ""; mastName: string = ""; mastGUID: string = ""; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; deleteAt: number = 0; queuesBy: number = 0; entityID: string = ""; /** 本级编码 */ dataCode: string = ""; /** 本级名称 */ dataName: string = ""; /** 要素编码 */ codeFull: string = ""; /** 要素简称 */ nameLite: string = ""; /** 要素名称 */ nameFull: string = ""; /** 备注信息 */ dataMemo: string = ""; isLasted: number = 0; /** 模拟末级 */ asLasted: number = 0; /** 参数约定 */ elemPara: string = ""; typeText: string = ""; tablFrom: string = ""; public static toTree(listData: IElemDataResponse[]) { return construct(_.cloneDeep(listData), { id: "dataIndx", pid: "parentID", children: "children" }) as IElemDataResponse[]; } public static toList(treeData: IElemDataResponse[]) { return destruct(_.cloneDeep(treeData), { id: "dataIndx", pid: "parentID", children: "children" }) as IElemDataResponse[]; } }