compilation.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. import { TaxType, IGLJCol } from './project';
  2. import { IFileRef, INumFileRef } from './base';
  3. import { IBillOption } from './bill';
  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. normLib: string;//指标分部
  19. }
  20. // 工程专业
  21. export interface IEngineering {
  22. ID: string;
  23. name: string;
  24. feeName: string;
  25. engineering: number;
  26. projectEngineering: number;
  27. valuationID: string;
  28. // 显示设置
  29. isAreaIncrease?: boolean; // 显示面积增加费
  30. isItemIncrease?: boolean; // 显示子目增加费
  31. isInstall?: boolean; // 显示安装增加费
  32. gljCol?: IGLJCol;
  33. overHeightLib?: IFileRef[];
  34. economicLib?: IFileRef[];
  35. mainQuantityLib?: IFileRef[];
  36. materialLib?: IFileRef[];
  37. engineerFeatureLib?: IFileRef[];
  38. engineerInfoLib?: IFileRef[];
  39. infoLib?: IFileRef[];
  40. featureLib?: IFileRef[];
  41. artificialLib?: INumFileRef[];
  42. billLib?: IBillOption[];
  43. billsGuidanceLib?: IFileRef[];
  44. gljLib?: INumFileRef[];
  45. rationLib?: INumFileRef[];
  46. progressiveLib?: IFileRef[];
  47. taxGroup: ITaxGroup[];
  48. indexName?: string; // 指标专业名称
  49. }
  50. export interface IValuation {
  51. engineeringList: IEngineering[];
  52. enable: boolean;
  53. ID: string;
  54. name: string;
  55. }
  56. export enum versionType {
  57. FREE = 'free', // 免费版
  58. PRO = 'pro', // 专业版
  59. }
  60. export enum LockInfo {
  61. DEFAULT = 0, // 默认值
  62. BORROW = 1, // 借用
  63. BUY = 2, // 销售
  64. }
  65. export interface IConsumeAmt {
  66. region: string;
  67. taxModel: number;
  68. consumeAmt: {
  69. dataCode: string;
  70. dataName: string;
  71. refPrice: string;
  72. };
  73. }
  74. export interface ISubPrice {
  75. region: string;
  76. taxModel: number;
  77. price: {
  78. dataCode: string;
  79. dataName: string;
  80. };
  81. }
  82. export interface ICompilation {
  83. ID: string;
  84. name: string;
  85. creator: string;
  86. createTime: number;
  87. releaseTime: number;
  88. rationValuations: any;
  89. billValuations: IValuation[];
  90. isRelease: boolean;
  91. description: string;
  92. overWriteUrl: string;
  93. categoryID: string;
  94. example: number[];
  95. adProjects: number[];
  96. consumeAmtProperties?: IConsumeAmt[]; // 多组成物时的消耗量属性来源
  97. priceProperties?: ISubPrice[]; // 多单价时的价格属性来源
  98. // 附加
  99. version: versionType; // 版本
  100. versionText: string; // 版本对应的显示文字:免费版,学习版,专业版
  101. lockInfo: LockInfo; // 锁信息
  102. }
  103. export enum ValuationType {
  104. BILL = 'bill', // 清单计价
  105. RATION = 'ration', // 定额计价
  106. }
  107. // 专业版费用定额
  108. export interface IProCptItem {
  109. // 编办 ID
  110. compilationID: string;
  111. // 开通时间
  112. upgradeTime: number;
  113. // 备注
  114. remark: string;
  115. // 截至时间,0 代表无限制
  116. deadline: number;
  117. // 锁信息
  118. lock: LockInfo;
  119. }