import { TaxType, IGLJCol } from './project'; import { IFileRef, INumFileRef } from './base'; export interface ICptItem { ID: string; name: string; description: string; } export interface IProgramLib extends INumFileRef { displayName: string; } export interface ITaxGroup { programLib: IProgramLib; templateLib: IFileRef; colLib: IFileRef; feeLib: IFileRef; taxType: TaxType; } // 工程专业 export interface IEngineering { ID: string; name: string; feeName: string; engineering: number; projectEngineering: number; valuationID: string; // 显示设置 isAreaIncrease?: boolean; // 显示面积增加费 isItemIncrease?: boolean; // 显示子目增加费 isInstall?: boolean; // 显示安装增加费 gljCol?: IGLJCol; overHeightLib?: IFileRef[]; economicLib?: IFileRef[]; mainQuantityLib?: IFileRef[]; materialLib?: IFileRef[]; engineerFeatureLib?: IFileRef[]; engineerInfoLib?: IFileRef[]; infoLib?: IFileRef[]; featureLib?: IFileRef[]; artificialLib?: INumFileRef[]; billLib?: INumFileRef[]; billsGuidanceLib?: IFileRef[]; gljLib?: INumFileRef[]; rationLib?: INumFileRef[]; progressiveLib?: IFileRef[]; taxGroup: ITaxGroup[]; indexName?: string; // 指标专业名称 } export interface IValuation { engineeringList: IEngineering[]; enable: boolean; ID: string; name: string; } export enum versionType { FREE = 'free', // 免费版 PRO = 'pro', // 专业版 } export enum LockInfo { DEFAULT = 0, // 默认值 BORROW = 1, // 借用 BUY = 2, // 销售 } export interface ICompilation { ID: string; name: string; creator: string; createTime: number; releaseTime: number; rationValuations: any; billValuations: IValuation[]; isRelease: boolean; description: string; overWriteUrl: string; categoryID: string; example: number[]; adProjects: number[]; // 附加 version: versionType; // 版本 versionText: string; // 版本对应的显示文字:免费版,学习版,专业版 lockInfo: LockInfo; // 锁信息 } export enum ValuationType { BILL = 'bill', // 清单计价 RATION = 'ration', // 定额计价 } // 专业版费用定额 export interface IProCptItem { // 编办 ID compilationID: string; // 开通时间 upgradeTime: number; // 备注 remark: string; // 截至时间,0 代表无限制 deadline: number; // 锁信息 lock: LockInfo; }