// 指引库类型 export enum BillGuideLibType { // 清单指引 GUIDE = 1, // 清单精灵 ELF, } // 标准指引库 export interface IBillGuideLibResult { type: BillGuideLibType; ID: string; compilationId: string; compilationName: string; billsLibId: number; billsLibName: string; name: string; creator: string; createDate: string; deleted?: boolean; } // 标准指引库(更正命名) export interface IBillGuideLib { type: BillGuideLibType; ID: string; compilationID: string; compilationName: string; billsLibID: number; billLibName: string; name: string; creator: string; createDate: string; } // 指引项类型 export enum BillGuideItemType { // 工作内容 CONTENT = 0, // 定额 RATION, } export interface IBillGuideCommonProp { outputItemCharacter?: boolean; required?: boolean; unit?: string; // 单位,识别辅助运距功能 interval?: string; // 区间,辅助运距功能 isMaterial?: boolean; // 材料,辅助替换材料规格 isDefaultOption?: boolean; // 是否是默认选项 } // 指引原数据 export interface IBillGuideItemResult extends IBillGuideCommonProp { libID: string; ID: string; ParentID: string; NextSiblingID: string; billsID: string; name: string; type: BillGuideItemType; rationID?: number; deleted?: boolean; } // 指引数据 export interface IBillGuideItem extends IBillGuideCommonProp { libID: string; ID: string; parentID: string; seq: number; billID: string; name: string; type: BillGuideItemType; rationID?: number; select?: boolean; } // 清单精灵数据选项 export interface IBillElfOption { ID: string; // 选项对应原数据ID name: string; checked: boolean; unit?: string; // 单位,来自父项(工序) } // 清单精灵数据 export interface IBillElfItem extends IBillGuideCommonProp { ID: string; parentID: string; seq: number; // 工序 process: string; // 工序选项数据 options: IBillElfOption[]; // 选项名称 optionName: string; // 是否是用户额外新增行,而非标准数据 isAdditional: boolean; outputItemCharacter?: boolean; required?: boolean; unit?: string; // 单位,识别辅助运距功能 isMaterial?: boolean; // 材料,辅助替换材料规格 isDefaultOption?: boolean; // 是否是默认选项 } // 清单下记录的清单精灵选项数据(1.为了后续为项目特征识别提供样本 2.审核可知道插入的定额是否准确) export interface IElfItem { // 工序 process: string; // 工序对应的标准清单精灵节点ID,如果没有则说明是空行输入的 processID?: string; // 选项值 option: string; // 选项对应的标准清单精灵节点ID,如果没有则说明是空行输入的 optionID?: string; // 辅助换算(运距、厚度等)值,是用户输入的,但是由于需要输出样本,需要根据输入值,关联背后选项文本(比如是区间) refOptionValue?: string; // 是否是额外的非标准的,这个标记只是方便前台清单精灵功能 isAdditional: boolean; // 记录这个选项对应的标准定额ID(考虑其他功能可能有用) rationID?: number; } // 清单精灵单条材料 export interface IElfGlj { gljID: number; name?: string; specs?: string; } // 清单精灵材料:用于清单精灵材料替换 export interface IElfMaterial { // 清单精灵库 libID: string; ID: string; billID: string; materials: IElfGlj[]; }