compilation.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import { TaxType, IGLJCol } from './project';
  2. import { IFileRef, INumFileRef } from './base';
  3. export interface ICptItem {
  4. ID: string;
  5. name: string;
  6. description: string;
  7. }
  8. export interface IProgramLib extends INumFileRef {
  9. displayName: string;
  10. }
  11. export interface ITaxGroup {
  12. programLib: IProgramLib;
  13. templateLib: IFileRef;
  14. colLib: IFileRef;
  15. feeLib: IFileRef;
  16. taxType: TaxType;
  17. }
  18. // 工程专业
  19. export interface IEngineering {
  20. ID: string;
  21. name: string;
  22. feeName: string;
  23. engineering: number;
  24. projectEngineering: number;
  25. valuationID: string;
  26. // 显示设置
  27. isAreaIncrease?: boolean; // 显示面积增加费
  28. isItemIncrease?: boolean; // 显示子目增加费
  29. isInstall?: boolean; // 显示安装增加费
  30. gljCol?: IGLJCol;
  31. overHeightLib?: IFileRef[];
  32. economicLib?: IFileRef[];
  33. mainQuantityLib?: IFileRef[];
  34. materialLib?: IFileRef[];
  35. engineerFeatureLib?: IFileRef[];
  36. engineerInfoLib?: IFileRef[];
  37. infoLib?: IFileRef[];
  38. featureLib?: IFileRef[];
  39. artificialLib?: INumFileRef[];
  40. billLib?: INumFileRef[];
  41. billsGuidanceLib?: IFileRef[];
  42. gljLib?: INumFileRef[];
  43. rationLib?: INumFileRef[];
  44. progressiveLib?: IFileRef[];
  45. taxGroup: ITaxGroup[];
  46. indexName?: string; // 指标专业名称
  47. }
  48. export interface IValuation {
  49. engineeringList: IEngineering[];
  50. enable: boolean;
  51. ID: string;
  52. name: string;
  53. }
  54. export enum versionType {
  55. FREE = 'free', // 免费版
  56. PRO = 'pro', // 专业版
  57. }
  58. export enum LockInfo {
  59. DEFAULT = 0, // 默认值
  60. BORROW = 1, // 借用
  61. BUY = 2, // 销售
  62. }
  63. export interface ICompilation {
  64. ID: string;
  65. name: string;
  66. creator: string;
  67. createTime: number;
  68. releaseTime: number;
  69. rationValuations: any;
  70. billValuations: IValuation[];
  71. isRelease: boolean;
  72. description: string;
  73. overWriteUrl: string;
  74. categoryID: string;
  75. example: number[];
  76. adProjects: number[];
  77. // 附加
  78. version: versionType; // 版本
  79. versionText: string; // 版本对应的显示文字:免费版,学习版,专业版
  80. lockInfo: LockInfo; // 锁信息
  81. }
  82. export enum ValuationType {
  83. BILL = 'bill', // 清单计价
  84. RATION = 'ration', // 定额计价
  85. }
  86. // 专业版费用定额
  87. export interface IProCptItem {
  88. // 编办 ID
  89. compilationID: string;
  90. // 开通时间
  91. upgradeTime: number;
  92. // 备注
  93. remark: string;
  94. // 截至时间,0 代表无限制
  95. deadline: number;
  96. // 锁信息
  97. lock: LockInfo;
  98. }