import _ from "lodash"; import { IWtuiItemParaResponse, TWtuiItemParaResponse } from "./IWtuiItemParaResponse"; import { IDictResponse } from "../core"; //form.item export interface IWtuiItemResponse { whoBuild: number; userIndx: number; itemIndx: number; wtuiForm: number; wtuiZone: number; wtuiMain: number; parentID: number; dataStat: number; dataHide: number; dataOrdr: number; dataFrom: number; dataDate: number; dataTime: number; mastName: string; mastGUID: string; createBy: string; createAt: number; updateBy: string; updateAt: number; deleteBy: string; deleteAt: number; entityID: string; /** 字段名称 */ itemName: string; /** 字段属性 */ itemAttr: string; /** 备注说明 */ itemMemo: string; /** 字段类型,取值参考const_gzlm */ itemType: number; /** 字典类型 */ fromType: number; /** 表单类型 */ formType: string; /** 显示格式 */ inFormat: string; /** 是否权限范围 */ viewOnly: number; /** 是否仅限本人 */ userOnly: number; /** 栅格占位 */ spanSize: number; /** 大小规格 */ sizeMode: string; /** 前端脚本 */ jsMethod: string; /** 参数约定 */ itemPara: string; itemParaConv: IWtuiItemParaResponse; /**虚拟字段 */ listDict: IDictResponse[]; // 前端虚拟字段,变动的时候,动态表单的这一项是否需要添加自定义class以改变颜色 needClass: number; } export class TWtuiItemResponse implements IWtuiItemResponse { whoBuild: number = 0; userIndx: number = 0; itemIndx: number = 0; wtuiForm: number = 0; wtuiZone: number = 0; wtuiMain: number = 0; parentID: number = 0; dataStat: number = 0; dataHide: number = 0; dataOrdr: number = 0; dataFrom: number = 0; dataDate: number = 0; dataTime: number = 0; mastName: string = ""; mastGUID: string = ""; createBy: string = ""; createAt: number = 0; updateBy: string = ""; updateAt: number = 0; deleteBy: string = ""; deleteAt: number = 0; entityID: string = ""; itemName: string = ""; itemAttr: string = ""; itemMemo: string = ""; itemType: number = 0; fromType: number = 0; formType: string = ""; inFormat: string = ""; viewOnly: number = 0; userOnly: number = 0; spanSize: number = 0; sizeMode: string = ""; jsMethod: string = ""; itemPara: string = ""; itemParaConv: IWtuiItemParaResponse = new TWtuiItemParaResponse(); listDict: IDictResponse[] = []; needClass: number = 0; static parseJson(itemPara: string) { const itemParaObj = new TWtuiItemParaResponse(); if (_.isEmpty(itemPara)) { return itemParaObj; } try { const obj = JSON.parse(itemPara) as TWtuiItemParaResponse; const result = _.merge(itemParaObj, obj); return result; } catch (e) {} return itemParaObj; } }