billGuide.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. // 指引库类型
  2. export enum BillGuideLibType {
  3. // 清单指引
  4. GUIDE = 1,
  5. // 清单精灵
  6. ELF,
  7. }
  8. // 标准指引库
  9. export interface IBillGuideLibResult {
  10. type: BillGuideLibType;
  11. ID: string;
  12. compilationId: string;
  13. compilationName: string;
  14. billsLibId: number;
  15. billsLibName: string;
  16. name: string;
  17. creator: string;
  18. createDate: string;
  19. deleted?: boolean;
  20. }
  21. // 标准指引库(更正命名)
  22. export interface IBillGuideLib {
  23. type: BillGuideLibType;
  24. ID: string;
  25. compilationID: string;
  26. compilationName: string;
  27. billsLibID: number;
  28. billLibName: string;
  29. name: string;
  30. creator: string;
  31. createDate: string;
  32. }
  33. // 指引项类型
  34. export enum BillGuideItemType {
  35. // 工作内容
  36. CONTENT = 0,
  37. // 定额
  38. RATION,
  39. }
  40. export interface IBillGuideCommonProp {
  41. outputItemCharacter?: boolean;
  42. required?: boolean;
  43. unit?: string; // 单位,识别辅助运距功能
  44. interval?: string; // 区间,辅助运距功能
  45. isMaterial?: boolean; // 材料,辅助替换材料规格
  46. isDefaultOption?: boolean; // 是否是默认选项
  47. }
  48. // 指引原数据
  49. export interface IBillGuideItemResult extends IBillGuideCommonProp {
  50. libID: string;
  51. ID: string;
  52. ParentID: string;
  53. NextSiblingID: string;
  54. billsID: string;
  55. name: string;
  56. type: BillGuideItemType;
  57. rationID?: number;
  58. deleted?: boolean;
  59. }
  60. // 指引数据
  61. export interface IBillGuideItem extends IBillGuideCommonProp {
  62. libID: string;
  63. ID: string;
  64. parentID: string;
  65. seq: number;
  66. billID: string;
  67. name: string;
  68. type: BillGuideItemType;
  69. rationID?: number;
  70. select?: boolean;
  71. }
  72. // 清单精灵数据选项
  73. export interface IBillElfOption {
  74. ID: string; // 选项对应原数据ID
  75. name: string;
  76. checked: boolean;
  77. unit?: string; // 单位,来自父项(工序)
  78. optionInputVal?: string; // 选项里可能包含用户自己输入的input(运距等情况),有单位的情况下需要显示input
  79. }
  80. // 清单精灵数据
  81. export interface IBillElfItem extends IBillGuideCommonProp {
  82. ID: string;
  83. parentID: string;
  84. seq: number;
  85. // 工序
  86. process: string;
  87. // 工序选项数据
  88. options: IBillElfOption[];
  89. // 选项名称
  90. optionName: string;
  91. // 是否是用户额外新增行,而非标准数据
  92. isAdditional: boolean;
  93. outputItemCharacter?: boolean;
  94. required?: boolean;
  95. unit?: string; // 单位,识别辅助运距功能
  96. isMaterial?: boolean; // 材料,辅助替换材料规格
  97. isDefaultOption?: boolean; // 是否是默认选项
  98. }
  99. // 清单下记录的清单精灵选项数据(1.为了后续为项目特征识别提供样本 2.审核可知道插入的定额是否准确)
  100. export interface IElfItem {
  101. // 工序
  102. process: string;
  103. // 工序对应的标准清单精灵节点ID,如果没有则说明是空行输入的
  104. processID?: string;
  105. // 选项值
  106. option: string;
  107. // 选项对应的标准清单精灵节点ID,如果没有则说明是空行输入的
  108. optionID?: string;
  109. // 选项里可能包含用户自己输入的input(运距等情况)
  110. optionInputVal?: string;
  111. // 是否是额外的非标准的,这个标记只是方便前台清单精灵功能
  112. isAdditional: boolean;
  113. // 记录这个选项对应的标准定额ID(考虑其他功能可能有用)
  114. rationID?: number;
  115. }
  116. // 清单精灵单条材料
  117. export interface IElfGlj {
  118. gljID: number;
  119. name?: string;
  120. specs?: string;
  121. }
  122. // 清单精灵材料:用于清单精灵材料替换
  123. export interface IElfMaterial {
  124. // 清单精灵库
  125. libID: string;
  126. ID: string;
  127. billID: string;
  128. materials: IElfGlj[];
  129. }