|
|
@@ -0,0 +1,171 @@
|
|
|
+import { ITreeScm, IFileRef, DeleteEnum } from './base';
|
|
|
+import { ICalcOption, ITenderSetting } from './calculation';
|
|
|
+
|
|
|
+export enum ProjectType {
|
|
|
+ FOLDER = 1,
|
|
|
+ CONSTRUCTION, // 建设项目
|
|
|
+ SINGLE, // 单项工程
|
|
|
+ UNIT, // 单位工程
|
|
|
+}
|
|
|
+
|
|
|
+export interface IGLJCol {
|
|
|
+ showAdjustPrice?: boolean;
|
|
|
+}
|
|
|
+
|
|
|
+// 小数位数
|
|
|
+export interface IDecimal {
|
|
|
+ bills: { unitFee: number; totalFee: number };
|
|
|
+ ration: { quantity: number; unitFee: number; totalFee: number };
|
|
|
+ glj: { quantity: number; unitPriceHasMix: number; unitFee: number };
|
|
|
+ feeRate: number;
|
|
|
+ quantityDetail: number;
|
|
|
+ material: number; // 三材系数
|
|
|
+ process: number;
|
|
|
+}
|
|
|
+
|
|
|
+// 工程量精度
|
|
|
+export interface IQuantityDecimal {
|
|
|
+ unit: string;
|
|
|
+ decimal: number;
|
|
|
+}
|
|
|
+
|
|
|
+// 呈现选项
|
|
|
+export interface IDisplaySetting {
|
|
|
+ billsAutoHeight: boolean;
|
|
|
+ rationAutoHeight: boolean;
|
|
|
+ disPlayMainMaterial: boolean;
|
|
|
+}
|
|
|
+
|
|
|
+// 累进区间
|
|
|
+export interface IProgression {
|
|
|
+ interval: string; // 区间字符 eg: '(0,100]'
|
|
|
+ feeRate: boolean;
|
|
|
+}
|
|
|
+
|
|
|
+export interface IProgressiveInterval {
|
|
|
+ name: string;
|
|
|
+ progression: IProgression[];
|
|
|
+}
|
|
|
+
|
|
|
+// 超高降效
|
|
|
+export interface IOverHeight {
|
|
|
+ name: string;
|
|
|
+ code?: string;
|
|
|
+ unit?: string;
|
|
|
+ labourRate?: string;
|
|
|
+ machineRate?: string;
|
|
|
+ labourMachineRate?: string;
|
|
|
+ benchmark?: string;
|
|
|
+ extra?: string;
|
|
|
+ limit?: string;
|
|
|
+}
|
|
|
+
|
|
|
+export enum OverHeightOption {
|
|
|
+ SEPARATION = 1, // 对应清单或分部下(默认)
|
|
|
+ MEASURE, // 指定措施清单011704001
|
|
|
+ SPECIFIC, // 指定具体位置,显示分部分项以及措施项目的树结构显示叶子清单(分项)供勾选
|
|
|
+}
|
|
|
+
|
|
|
+// 工程特征、基本信息
|
|
|
+export interface IInfoItem {
|
|
|
+ key: string;
|
|
|
+ dispName: string;
|
|
|
+ value?: string;
|
|
|
+ required?: string;
|
|
|
+ readonly?: string;
|
|
|
+ options?: string;
|
|
|
+ cellType?: string;
|
|
|
+ items?: IInfoItem[];
|
|
|
+}
|
|
|
+
|
|
|
+// 承包人材料调整类型
|
|
|
+export enum GLJAdjustType {
|
|
|
+ PRICE_INFO = 'priceInfo', // 造价信息差额调整法
|
|
|
+ PRICE_COE = 'priceCoe', // 价格指数调整法
|
|
|
+}
|
|
|
+
|
|
|
+// 计税方式
|
|
|
+export enum TaxType {
|
|
|
+ GENERAL = 1,
|
|
|
+ SIMPLE,
|
|
|
+}
|
|
|
+
|
|
|
+// 文件类型
|
|
|
+export enum FileType {
|
|
|
+ BID_SUBMISSION = 1, // 投标
|
|
|
+ BID_INVITATION, // 招标
|
|
|
+}
|
|
|
+
|
|
|
+// 项目属性
|
|
|
+export interface IProperty {
|
|
|
+ rootProjectID?: string; // 建设项目ID
|
|
|
+ valuationID?: string; // 计价规则
|
|
|
+ engineeringID?: string; // 工程专业
|
|
|
+ taxType?: number; // 计税方式
|
|
|
+ rationFeeType?: number; // 定额取费专业
|
|
|
+ unitFeeType?: number; // 单位工程取费专业
|
|
|
+ calcProgram?: IFileRef; // 计算程序
|
|
|
+ colLibID?: number; // 列设置
|
|
|
+ templateLibID?: number; // 清单模板
|
|
|
+ unitPriceFile?: IFileRef; // 单价文件
|
|
|
+ feeFile?: IFileRef; // 费率文件
|
|
|
+ region?: string;
|
|
|
+ isInstall?: boolean; // 是否是安装工程
|
|
|
+ isItemIncrease?: boolean; // 是否是子目增加
|
|
|
+ isAreaIncrease?: boolean; // 是否是面积增加
|
|
|
+ featureLibID?: string; // 工程特征
|
|
|
+ indexName?: string; // 指标名称
|
|
|
+ engineerInfoLibID?: string; // 工程信息指标
|
|
|
+ engineerFeatureLibID?: string; // 工程特征指标
|
|
|
+ economicLibID?: string; // 主要经济指标
|
|
|
+ mainQuantityLibID?: string; // 主要工程量指标
|
|
|
+ materialLibID?: string; // 主要工料指标
|
|
|
+ progressiveLibID?: string; // 累进区间库
|
|
|
+ lockBills?: boolean; // 锁定清单
|
|
|
+ decimal?: IDecimal; // 小数位数
|
|
|
+ displaySetting?: IDisplaySetting; // 呈现选项
|
|
|
+ billsCalcMode?: number; // 清单计费取费方式
|
|
|
+ zanguCalcMode?: number; // 暂估合价计算方式
|
|
|
+ calcOption?: ICalcOption; // 计算选项
|
|
|
+ tenderSetting?: ITenderSetting; // 调价设置
|
|
|
+ overHeight?: IOverHeight[]; // 超高降效数据
|
|
|
+ overHeightOption?: OverHeightOption; // 超高降效选项
|
|
|
+ basicInfo?: IInfoItem[]; // 基本信息
|
|
|
+ feature?: IInfoItem[]; // 工程特征
|
|
|
+ gljAdjustType?: GLJAdjustType; // 承包人材料调整类型
|
|
|
+ cptIllustration?: string; // 编制说明
|
|
|
+}
|
|
|
+
|
|
|
+export interface IMainTreeCol {
|
|
|
+ cols: Array<any>;
|
|
|
+ headRowHeight: Array<number>;
|
|
|
+ treeCol?: number;
|
|
|
+ headRows?: number;
|
|
|
+ emptyRows?: number;
|
|
|
+}
|
|
|
+
|
|
|
+export enum ImportType {
|
|
|
+ NONE,
|
|
|
+ YBP,
|
|
|
+ INTERFACE,
|
|
|
+}
|
|
|
+
|
|
|
+export interface IProject extends ITreeScm {
|
|
|
+ type: ProjectType;
|
|
|
+ compilationID: string;
|
|
|
+ userID: string;
|
|
|
+ name: string;
|
|
|
+ code?: string;
|
|
|
+ createDate: number;
|
|
|
+ property?: IProperty;
|
|
|
+ mainTreeCol?: IMainTreeCol;
|
|
|
+ gljCol?: IGLJCol;
|
|
|
+ changeMark?: string;
|
|
|
+ remark?: string;
|
|
|
+ fileVer?: string;
|
|
|
+ lastFileVer?: string;
|
|
|
+ imported?: ImportType;
|
|
|
+ deleteType?: DeleteEnum;
|
|
|
+ deleteDate?: number;
|
|
|
+ deleteBy?: string;
|
|
|
+}
|