import { CompareType } from "./comparetype"; import { ValueType } from "./valuetype"; import { RelationType } from "./relationtype"; import { IControl, ControlConvert } from "./controltype/icontrol"; import { IValue, ConditionValueConvert } from "./conditionvalue/ivalue"; /** * 查询条件实体类 */ export class QueryCondition { /** * 唯一性标识 */ id: string; /** * 左括号 */ leftBrackets: string; /** * 字段编号 */ fieldCode: string; labelCode?: string; /** * 字段名称 */ fieldName: string; name: string; /** * 比较符 */ compareType: CompareType; /** * 值类型 */ valueType: ValueType; /** * 值 * 该属性为IValue接口,根据不同的控件类型有不同的实现类:具体如下: * 1. 文本类型:TextValue * 2. 下拉列表:DropDownListValue * 3. 日期区间:DateRangeValue * 4. 数字区间:NumberRangeValue * 5. 帮助类型:SmartHelpValue */ value: IValue; /** * 右括号 */ rightBrackets: string; /** * 关系符 */ relationType: RelationType; /** * 控件类型,目前包括文本类型,下拉列表,日期区间,数字区间,帮助类型 * 控件类型为IControl接口,根据不同的控件类型对应不同的实现类,具体如下: * 1. 文本类型:TextControl * 2. 下拉列表:DropDownListControl * 3. 日期区间:DateRangeControl * 4. 数字区间:NumberRangeControl * 5. 帮助类型:SmartHelpContol */ control: IControl; //默认显示 placeHolder: string; //是否有值 filled: boolean; //选择后的值 valueText: string; beginPlaceHolder?: string; endPlaceHolder?: string; } /** * 查询条件序列化与反序列化器 */ // export class QueryConditionConvert{ // /** // * 序列化 // * @param obj 查询条件实体 // */ // convertJObject(obj:QueryCondition):Object{ // let queryCondition=obj as QueryCondition; // let jobj=new Object(); // jobj["id"]=queryCondition.id; // jobj["leftBrackets"]=queryCondition.leftBrackets; // jobj["fieldCode"]=queryCondition.fieldCode; // jobj["fieldName"]=queryCondition.fieldName; // jobj["compareType"]=queryCondition.compareType; // jobj["valueType"]=queryCondition.valueType; // let valueConvert=new ConditionValueConvert(); // if(queryCondition.value){ // jobj["value"]=valueConvert.convertToObject(queryCondition.value); // } // jobj["rightBrackets"]=queryCondition.rightBrackets; // jobj["relationType"]=queryCondition.relationType; // let controlConvertor=new ControlConvert(); // if(queryCondition.control){ // jobj["control"]=controlConvertor.convertJObject(queryCondition.control); // } // return jobj; // } // /** // * 反序列化 // * @param jobj 查询条件实体序列化后的JSON对象 // */ // initFromJobject(jobj:Object):QueryCondition{ // let queryCondition=new QueryCondition(); // queryCondition.id=jobj["id"]; // queryCondition.fieldCode=jobj["fieldCode"]; // queryCondition.fieldName=jobj["fieldName"]; // queryCondition.leftBrackets=jobj["leftBrackets"]; // queryCondition.compareType=jobj["compareType"] as CompareType; // queryCondition.valueType=jobj["valueType"] as ValueType; // if(jobj["value"]){ // let valueConvert=new ConditionValueConvert(); // queryCondition.value=valueConvert.initFromObject(jobj["value"]); // } // queryCondition.rightBrackets=jobj["rightBrackets"]; // queryCondition.relationType=jobj["relationType"] as RelationType; // if(jobj["control"]){ // let controlConvertor=new ControlConvert(); // queryCondition.control=controlConvertor.initFromJobject(jobj["control"]); // } // return queryCondition; // } // }