compilation.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { ELockInfo } from './user';
  2. import { TaxType, IGLJCol } from './project';
  3. import { IFileRef, INumFileRef } from './base';
  4. export interface ICptItem {
  5. ID: string;
  6. name: string;
  7. description: string;
  8. }
  9. export interface IProgramLib extends INumFileRef {
  10. displayName: string;
  11. }
  12. export interface ITaxGroup {
  13. programLib: IProgramLib;
  14. templateLib: IFileRef;
  15. colLib: IFileRef;
  16. feeLib: IFileRef;
  17. taxType: TaxType;
  18. }
  19. // 工程专业
  20. export interface IEngineering {
  21. ID: string;
  22. name: string;
  23. feeName: string;
  24. engineering: number;
  25. projectEngineering: number;
  26. valuationID: string;
  27. // 显示设置
  28. isAreaIncrease?: boolean; // 显示面积增加费
  29. isItemIncrease?: boolean; // 显示子目增加费
  30. isInstall?: boolean; // 显示安装增加费
  31. gljCol?: IGLJCol;
  32. overHeightLib?: IFileRef[];
  33. economicLib?: IFileRef[];
  34. mainQuantityLib?: IFileRef[];
  35. materialLib?: IFileRef[];
  36. engineerFeatureLib?: IFileRef[];
  37. engineerInfoLib?: IFileRef[];
  38. infoLib?: IFileRef[];
  39. featureLib?: IFileRef[];
  40. artificialLib?: INumFileRef[];
  41. billLib?: INumFileRef[];
  42. billsGuidanceLib?: IFileRef[];
  43. gljLib?: INumFileRef[];
  44. rationLib?: INumFileRef[];
  45. progressiveLib?: IFileRef[];
  46. taxGroup: ITaxGroup[];
  47. indexName?: string; // 指标专业名称
  48. }
  49. export interface IValuation {
  50. engineeringList: IEngineering[];
  51. enable: boolean;
  52. ID: string;
  53. name: string;
  54. }
  55. export enum versionType {
  56. FREE = 'free', // 免费版
  57. PRO = 'pro', // 专业版
  58. }
  59. export interface ICompilation {
  60. ID: string;
  61. name: string;
  62. creator?: string;
  63. createTime?: number;
  64. releaseTime?: number;
  65. rationValuations?: any;
  66. billValuations?: IValuation[];
  67. isRelease?: boolean;
  68. description?: string;
  69. overWriteUrl?: string;
  70. categoryID?: string;
  71. example?: number[];
  72. adProjects?: number[];
  73. // 附加
  74. version?: versionType; // 版本
  75. versionText?: string; // 版本对应的显示文字:免费版,学习版,专业版
  76. lockInfo?: ELockInfo; //
  77. }
  78. export enum ValuationType {
  79. BILL = 'bill', // 清单计价
  80. RATION = 'ration', // 定额计价
  81. }