import { construct, destruct } from "@aximario/json-tree"; import _ from "lodash"; import { IBaseResponse, TBaseResponse } from "../base/IBaseResponse"; import { IDeptResponse } from "../core"; import { IYzpzItemResponse } from "./IYzpzItemResponse"; import { IYzpzK0kmResponse } from "./IYzpzK0kmResponse"; import { IYzpzTypeResponse } from "./IYzpzTypeResponse"; export interface IYzpzK8kmResponse extends IBaseResponse { whoBuild: number; userIndx: number; sourceND: number; sourceID: number; k8kmKmid: number; k0kmKmid: number; parentID: number; parentCD: string; 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; typeSize: number; isLasted: number; typeText: string; k8kmKmbm: string; k8kmKmmc: string; k8kmJldw: string; onNumber: number; onBubble: number; k8kmKmdq: number; k8kmKmlx: number; k0kmText: string; deptSize: number; deptText: string; itemSize: number; itemText: string; sumLevel: number; bkColour: string; parentCd: string; onEnable: number; dataType: number; usesKmhz: number; usesXjhz: number; newAllow: number; k8kmPara: string; k0kmKmmc: string; isPublic: number; nickName: string; recordID: number; readOnly: number; /** 期间 */ sourceQJ: number; /** 金额 */ k8kmQcje: number; listK0KM: IYzpzK0kmResponse[]; listType: IYzpzTypeResponse[]; listItem: IYzpzItemResponse[]; listDept: IDeptResponse[]; listITDT: IYzpzItemResponse[]; /** * 公用经费动态字段名称 */ [key: `k8km${number}`]: string[]; } export class TYzpzK8kmResponse extends TBaseResponse implements IYzpzK8kmResponse { whoBuild: number = 0; userIndx: number = 0; sourceND: number = 0; sourceID: number = 0; k8kmKmid: number = 0; k0kmKmid: number = 0; parentID: number = 0; parentCD: string = ""; 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 = ""; typeSize: number = 0; isLasted: number = 0; typeText: string = ""; k8kmKmbm: string = ""; k8kmKmmc: string = ""; k8kmJldw: string = ""; onNumber: number = 0; onBubble: number = 0; k8kmKmdq: number = 0; k8kmKmlx: number = 0; k0kmText: string = ""; deptSize: number = 0; deptText: string = ""; itemSize: number = 0; itemText: string = ""; sumLevel: number = 0; bkColour: string = ""; parentCd: string = ""; onEnable: number = 0; dataType: number = 0; usesKmhz: number = 0; usesXjhz: number = 0; newAllow: number = 0; k8kmPara: string = ""; k0kmKmmc: string = ""; isPublic: number = 0; nickName: string = ""; recordID: number = 0; readOnly: number = 0; sourceQJ: number = 0; k8kmQcje: number = 0; listK0KM: IYzpzK0kmResponse[] = []; listType: IYzpzTypeResponse[] = []; listItem: IYzpzItemResponse[] = []; listDept: IDeptResponse[] = []; listITDT: IYzpzItemResponse[] = []; [key: `k8km${number}`]: string[]; public static toTree(listK8km: IYzpzK8kmResponse[]) { return construct(_.cloneDeep(listK8km), { id: "k8kmKmid", pid: "parentID", children: "children" }) as IYzpzK8kmResponse[]; } public static toList(treeK8km: IYzpzK8kmResponse[]) { return destruct(_.cloneDeep(treeK8km), { id: "k8kmKmid", pid: "parentID", children: "children" }) as IYzpzK8kmResponse[]; } }