import { IComponent } from './glj'; import { FileType } from './project'; import { IElfItem } from './billGuide'; import { BRType, IBRBase, INumFileRef, ITreeScm } from './base'; import { ICalcItem } from './calculation'; // 清单固定类别 export enum FixedFlag { // 分部分项工程 SUB_ENGINERRING = 1, // 措施项目 MEASURE = 2, // 施工技术措施项目 CONSTRUCTION_TECH = 3, // 安全文明施工按实计算费用 SAFETY_CONSTRUCTION_ACTUAL = 4, // 施工组织措施专项费用 CONSTRUCTION_ORGANIZATION = 5, // 安全文明施工专项费用 SAFETY_CONSTRUCTION = 6, // 其他项目 OTHER = 7, // 暂列金额 PROVISIONAL = 8, // 暂估价 ESTIMATE = 9, // 材料(工程设备)暂估价 MATERIAL_PROVISIONAL = 10, // 专业工程暂估价 ENGINEERING_ESITIMATE = 11, // 计日工 DAYWORK = 12, // 总承包服务费 TURN_KEY_CONTRACT = 13, // 索赔与现场签证 CLAIM_VISA = 14, // 规费 CHARGE = 15, // 社会保险费及住房公积金 Social insurance fee and housing accumulation fund SOCIAL_INSURANCE_HOUSING_FUND = 16, // 工程排污费 charges for disposing pollutants POLLUTANTS = 17, // 税金 TAX = 18, // 工程造价 ENGINEERINGCOST = 19, // 增值税 ADDED_VALUE_TAX = 20, // 专项技术措施暂估价 SPECIAL_TECH_PROVISIONAL = 21, // 专业发包工程管理费 LET_CONTRACT_MANAGEMENT = 22, // 人工 LABOUR = 23, // 材料 MATERIAL = 24, // 施工机械 MACHINE = 25, // 索赔 CLAIM = 26, // 现场签证 VISA = 27, // 附加税 ADDITIONAL_TAX = 28, // 环境保护税 ENVIRONMENTAL_PROTECTION_TAX = 29, // 建设工程竣工档案编制费 PROJECT_COMPLETE_ARCH_FEE = 30, // 住宅工程质量分户验收费 HOUSE_QUALITY_ACCEPT_FEE = 31, // 组织措施费 ORGANIZATION = 32, // 其他措施费 OTHER_MEASURE_FEE = 33, // 绿色施工安全防护措施费 GREEN_MEASURE_FEE = 34, // 预算包干费 BUDGET_INCLUDE_WORK_FEE = 35, // 工程优质费 PROJECT_HIGH_QUALITY_FEE = 36, // 概算幅度差 BUDGET_ESTIMATE_DIFF = 37, // 其他费用(与其他项目不同,参考广东的用法) OTHER_FEE = 38, } export interface IJobContent { seq: number; content: string; isChecked: boolean; } export interface IEigenvalue { value: string; isSelected: boolean; } export interface IItemCharacter { seq: number; character: string; eigenvalueList: string[]; // 特征值下拉项(以前需要,现在暂时取消了下拉。保留以扩展) eigenvalue: string; isChecked: boolean; } // 书签 export interface IBookmark { ID: string; type: string; content: string; creatorName: string; creatorID: string; createTime: number; telNo: string; kind: BRType; } // 修改书签 export interface ISetBookmark { ID: string; content: string; } // 价格区间 export interface IPriceScope { minUnitPrice: number; maxUnitPrice: number; } export interface ICheckOptions { fileType: string; year: string; projLocation: string; projectType: string; engineerType: string; classCode?: string; indexType?: string; unit?: string; } export interface IBill extends IBRBase { flag?: FixedFlag; // 清单固定类别 recharge?: string; // 补注 ruleText?: string; // 工程量计算规则 jobContents?: IJobContent[]; // 工作内容 jobContentText?: string; itemCharacters?: IItemCharacter[]; // 项目特征 itemCharacterText?: string; elfItems?: IElfItem[]; // 选中的清单精灵选项 formula?: string; // 基数计算 formulaValue?: number; // 基数计算的值 readjustFormulaValue?: number; // 调价基数计算的值 isAdd?: boolean; // 是否用户新增的清单 feeRateID?: string; // 费率ID feeRate?: number; // 费率值 mainBills?: boolean; // 主要清单 lockUnitPrice?: boolean; // 锁定单价 maxPrice?: number; // 最高限价 minPrice?: number; // 最低限价 engContent?: string; // 工程内容 serviceContent?: string; // 服务内容 claimVisa?: string; // 签证及索赔依据 checkFormResult?: string; // 形式检测结果 checkMaterialResult?: string; // 材料检测结果 checkPriceDiffResult?: string; // 材价差检测结果 priceScope?: IPriceScope; // 价格区间 classCode?: string; // 类别别名,清单经过机器检测后会加上 groupCode?: string; // 类别组,当机器检测结果不正确时,纠正措施 checkRationResult?: string; // 机器检测结果(必套、选套、错套定额相关) checked?: boolean; // 是否已经进行清单检测过的清单,为true表式已经检测过了(用来计算通过率) checkOptions?: ICheckOptions; // 清单检测时保存的筛选条件 setParentQuantity?: boolean; // 是否打勾了填父量 [key: string]: any; // 剩下的之后补充 } export interface IBills { projectID: string; bills: IBill[]; } export interface IStdJobContent { id: number; code: number; content: string; billsLibId: number; deleted: boolean; } export interface IStdItemCharacter { id: number; code: number; content: string; itemValue: any; billsLibId: number; deleted: boolean; } export interface IJobOrItem { id: string; serialNo: number; } // 标准清单原始数据 export interface IStdBillResult { ID: string; ParentID: string; NextSiblingID: string; code: string; name: string; unit: string; ruleText: string; engineering: number; // 工程专业,填计算程序工程专业ID Expression: string; comment: string; // 备注,后台清单精灵录入 jobs: IJobOrItem[]; items: IJobOrItem[]; recharge: string; billsLibId: number; sectionInfo?: { first?: string; second?: string; third?: string }; // 经济指标属性 economicType: string; // 工程经济指标类别 quantityIndexType: string; // 工程量指标类别 quantityIndexUnit: string; // 工程量指标单位 quantityIndexCoe: number; // 单位转换系数 deleted?: boolean; } // 标准清单(更正属性命名规范) export interface IStdBill extends ITreeScm { code: string; name: string; unit: string; ruleText: string; engineering: number; // 工程专业,填计算程序工程专业ID expression: string; comment: string; // 备注,后台清单精灵录入 jobs: IJobOrItem[]; items: IJobOrItem[]; recharge: string; billLibID: number; // 经济指标属性 economicType: string; // 工程经济指标类别 quantityIndexType: string; // 工程量指标类别 quantityIndexUnit: string; // 工程量指标单位 quantityIndexCoe: number; // 单位转换系数 } export interface IStdBillCodesMap { [libID: string]: string[]; } export interface IBillClass { compilationID: string; class: number; // 类别 code: string; name: string; itemCharacter: string; // 必填特征排列组合 classCode: string; // 类别别名 040101001@一、二类土@人工 requiredRationIDs: number[][]; // 必套定额ID optionalRationIDs: number[]; // 选套定额ID errorRationIDs: number[]; // 错套定额ID } export interface IIndexComponent extends IComponent { marketPrice: string; basePrice: string; } export interface IBillIndexGlj { code: string; name: string; specs: string; unit: string; quantity: string; marketPrice: string; basePrice: string; rationQuantity: string; components?: IIndexComponent[]; } export interface IBillIndexRation { ID?: string; parentID?: string; seq?: number; code: string; name: string; unit: string; quantity: string; unitPrice: string; rationGljList: IBillIndexGlj[]; dynamicIndex?: Record; // 动态指标,年-月为key 综合指标的映射 } export interface IFBIndex { ID?: string; parentID?: string; seq?: number; constructionName: string; singleName: string; unitName: string; constructionID: string; singleID: string; unitID: string; code: string; name: string; unit: string; quantity: string; unitPrice: string; // 经济指标--综合单价 projLocation?: string; // 工程所在地 year?: string; // 信息价年 month?: string; // 信息价月 fileType?: FileType; // 文件类型 indexTypes?: string[]; // 项目分类或者说功能分类-- dynamicIndex?: Record; // 动态指标,年-月为key 综合指标的映射 minUnitPrice?: string; maxUnitPrice?: string; } export interface IBillIndex extends IFBIndex { classCode: string; // 类别别名 groupCode?: string; itemCharacter: string; rations?: IBillIndexRation[]; } export enum LibType { BILL = '1', NORM = '2', } export interface IBillOption extends INumFileRef { libType?: LibType; }