import { construct, destruct } from "@aximario/json-tree"; import _ from "lodash"; import { IBaseResponse, TBaseResponse } from "../base/IBaseResponse"; import { IDeptResponse } from "../core"; export interface IYzpzItemResponse extends IBaseResponse { whoBuild: number; userIndx: number; sourceND: number; sourceID: number; dataType: number; dataUses: string; itemIndx: number; typeMain: number; typeName: string; parentID: number; hashCode: number; dataLevl: number; dataFrom: number; kjndKJQJ: number; dataStat: number; dataOrdr: number; dataDate: number; dataTime: number; dataHide: number; dataGUID: string; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; queuesBy: number; entityID: string; itemCode: string; itemName: string; itemMemo: string; basisTxt: string; deptSize: number; deptText: string; listDept: IDeptResponse[]; } export class TYzpzItemResponse extends TBaseResponse implements IYzpzItemResponse { whoBuild: number = 0; userIndx: number = 0; sourceND: number = 0; sourceID: number = 0; dataType: number = 0; dataUses: string = ""; itemIndx: number = 0; typeMain: number = 0; typeName: string = ""; parentID: number = 0; hashCode: number = 0; dataLevl: number = 0; dataFrom: number = 0; kjndKJQJ: number = 0; dataStat: number = 0; dataOrdr: number = 0; dataDate: number = 0; dataTime: number = 0; dataHide: 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 = ""; itemCode: string = ""; itemName: string = ""; itemMemo: string = ""; basisTxt: string = ""; deptSize: number = 0; deptText: string = ""; listDept: IDeptResponse[] = []; public static toTree(listItem: IYzpzItemResponse[]) { return construct(_.cloneDeep(listItem), { id: "itemIndx", pid: "parentID", children: "children" }) as IYzpzItemResponse[]; } public static toList(treeItem: IYzpzItemResponse[]) { return destruct(_.cloneDeep(treeItem), { id: "itemIndx", pid: "parentID", children: "children" }) as IYzpzItemResponse[]; } }