compilation.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. normLib: string;
  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 enum LockInfo {
  60. DEFAULT = 0, // 默认值
  61. BORROW = 1, // 借用
  62. BUY = 2, // 销售
  63. }
  64. export interface IConsumeAmt {
  65. region: string;
  66. taxModel: number;
  67. consumeAmt: {
  68. dataCode: string;
  69. dataName: string;
  70. refPrice: string;
  71. };
  72. }
  73. export interface ISubPrice {
  74. region: string;
  75. taxModel: number;
  76. price: {
  77. dataCode: string;
  78. dataName: string;
  79. };
  80. }
  81. export interface ICompilation {
  82. ID: string;
  83. name: string;
  84. creator: string;
  85. createTime: number;
  86. releaseTime: number;
  87. rationValuations: any;
  88. billValuations: IValuation[];
  89. isRelease: boolean;
  90. description: string;
  91. overWriteUrl: string;
  92. categoryID: string;
  93. example: number[];
  94. adProjects: number[];
  95. consumeAmtProperties?: IConsumeAmt[]; // 多组成物时的消耗量属性来源
  96. priceProperties?: ISubPrice[]; // 多单价时的价格属性来源
  97. // 附加
  98. version: versionType; // 版本
  99. versionText: string; // 版本对应的显示文字:免费版,学习版,专业版
  100. lockInfo: LockInfo; // 锁信息
  101. }
  102. export enum ValuationType {
  103. BILL = 'bill', // 清单计价
  104. RATION = 'ration', // 定额计价
  105. }
  106. // 专业版费用定额
  107. export interface IProCptItem {
  108. // 编办 ID
  109. compilationID: string;
  110. // 开通时间
  111. upgradeTime: number;
  112. // 备注
  113. remark: string;
  114. // 截至时间,0 代表无限制
  115. deadline: number;
  116. // 锁信息
  117. lock: LockInfo;
  118. }