| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- import { ValuationType } from './compilation';
- import { ILabourCoeFile } from './labourCoe';
- import { IIncreaseSetting } from './increaseFee';
- import {
- ITreeScm,
- IFileRef,
- DeleteEnum,
- INumFileRef,
- IColumnMeta,
- } 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 IBillsQuantityDecimal {
- 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?: number;
- machineRate?: number;
- labourMachineRate?: number;
- benchmark?: number;
- extra?: number;
- limit?: number;
- }
- export enum OverHeightOption {
- SEPARATION = 1, // 对应清单或分部下(默认)
- MEASURE, // 指定措施清单011704001
- SPECIFIC, // 指定具体位置,显示分部分项以及措施项目的树结构显示叶子清单(分项)供勾选
- }
- // 承包人材料调整类型
- export enum GLJAdjustType {
- PRICE_INFO = 'priceInfo', // 造价信息差额调整法
- PRICE_COE = 'priceCoe', // 价格指数调整法
- }
- // 计税方式
- export enum TaxType {
- GENERAL = 1,
- SIMPLE,
- }
- // 文件类型
- export enum FileType {
- SUBMISSION = 1, // 投标
- INVITATION, // 招标
- CONTROL, // 控制价
- }
- export enum FileTypeName {
- SUBMISSION = '投标',
- INVITATION = '招标',
- CONTROL = '控制价',
- }
- export const FileTypeMap = {
- [FileType.SUBMISSION]: FileTypeName.SUBMISSION,
- [FileType.INVITATION]: FileTypeName.INVITATION,
- [FileType.CONTROL]: FileTypeName.CONTROL,
- };
- // 工程特征、基本信息
- export interface IInfoItem {
- key: string;
- dispName: string;
- value?: string;
- required?: string;
- readonly?: string;
- options?: string;
- cellType?: string;
- fileKind?: FileTypeName;
- items?: IInfoItem[];
- }
- // 工程特征指标
- interface IBaseEngineerFeature {
- value: string;
- name: string;
- exportName?: string;
- cellType?: string;
- options?: string;
- }
- export interface IStdEngineerFeature extends IBaseEngineerFeature {
- ID: number;
- ParentID: number;
- }
- export interface IEngineerFeature extends ITreeScm, IBaseEngineerFeature {}
- // 主要工料指标
- export interface IMaterialIndex {
- name: string;
- unit: string;
- coe: number;
- }
- // 主要工程量指标
- export interface IMainQtyIndex {
- name: string;
- unit: string;
- coe: number;
- }
- // 主要经济指标
- export interface IEconomicIndex {
- name: string;
- value: string;
- }
- // 项目属性
- export interface IProperty {
- rootProjectID?: string; // 建设项目ID
- valuationType?: ValuationType; // 计价类型
- valuationID?: string; // 计价规则
- engineeringID?: string; // 工程专业ID
- fileType?: FileType; // 文件类型
- taxType?: TaxType; // 计税方式
- rationFeeType?: number; // 定额取费专业
- unitFeeType?: number; // 单位工程取费专业
- calcProgramLib?: INumFileRef; // 计算程序(标准)
- calcProgramFile?: IFileRef; // 计算程序(用户数据)
- feeFile?: IFileRef; // 费率文件
- region?: string;
- showAdjustPrice?: boolean; // 是否显示调整价列
- isInstall?: boolean; // 是否是安装工程
- isItemIncrease?: boolean; // 是否是子目增加
- itemIncreaseSetting?: IIncreaseSetting;
- isAreaIncrease?: boolean; // 是否是面积增加
- indexName?: string; // 指标名称
- lockBills?: boolean; // 锁定清单
- decimal?: IDecimal; // 小数位数
- billsQuantityDecimal?: IBillsQuantityDecimal[]; // 清单工程量精度
- displaySetting?: IDisplaySetting; // 呈现选项
- billsCalcMode?: number; // 清单计费取费方式
- zanguCalcMode?: number; // 暂估合价计算方式
- calcOption?: ICalcOption; // 计算选项
- tenderSetting?: ITenderSetting; // 调价设置
- overHeight?: IOverHeight[]; // 超高降效数据
- overHeightOption?: OverHeightOption; // 超高降效选项
- basicInfo?: IInfoItem[]; // 基本信息
- feature?: IInfoItem[]; // 工程特征
- progressiveInterval?: IProgressiveInterval[]; // 累进区间
- gljAdjustType?: GLJAdjustType; // 承包人材料调整类型
- cptIllustration?: string; // 编制说明
- labourCoeFile?: ILabourCoeFile; // 人工系数文件
- engineerInfos?: IInfoItem[];
- engineerFeatures?: IEngineerFeature[];
- materials?: IMaterialIndex[];
- mainQuantities?: IMainQtyIndex[];
- economics?: IEconomicIndex[];
- }
- // 原来的列设置太复杂了,没什么必要
- 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;
- colMetas?: IColumnMeta[];
- changeMark?: string;
- remark?: string;
- fileVer?: string;
- lastFileVer?: string;
- imported?: ImportType;
- deleteType?: DeleteEnum;
- deleteDate?: number;
- deleteBy?: string;
- // 只是为了显示,不是自身的正在数据,比如汇总信息等
- external?: {
- cost: number; // 工程造价
- };
- }
- export interface IProjectBulkRst {
- create: IProject[];
- remove: string[];
- }
|