@gct-paas/word 0.1.74-beta.2 → 0.1.74-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +4 -1
  2. package/dist/assets/svgs/table/index.d.ts +7 -0
  3. package/dist/assets/theme/field-state.d.ts +64 -56
  4. package/dist/base/calendar/src/calendar.vue.d.ts +2 -2
  5. package/dist/base/calendar/src/time.vue.d.ts +2 -2
  6. package/dist/base/checkbox/src/checkbox-group.vue.d.ts +2 -2
  7. package/dist/base/checkbox/src/checkbox.vue.d.ts +2 -2
  8. package/dist/base/collapse/src/collapse.vue.d.ts +3 -0
  9. package/dist/base/color-picker/src/ColorPicker.vue.d.ts +1 -1
  10. package/dist/base/dropdown/src/dropdown-basic-select.vue.d.ts +2 -2
  11. package/dist/base/empty/src/empty.vue.d.ts +1 -1
  12. package/dist/base/image-upload/src/image-upload.vue.d.ts +1 -1
  13. package/dist/base/input/src/input-number.vue.d.ts +2 -2
  14. package/dist/base/input/src/input.vue.d.ts +5 -5
  15. package/dist/base/input/src/text-area.vue.d.ts +4 -4
  16. package/dist/base/modal/src/ModalRoot.vue.d.ts +1 -0
  17. package/dist/base/modal/src/modal.type.d.ts +5 -0
  18. package/dist/base/radio/src/radio-group.vue.d.ts +2 -2
  19. package/dist/base/radio/src/radio.vue.d.ts +2 -2
  20. package/dist/base/rdo-tree-select/src/rdo-tree-select.vue.d.ts +2 -2
  21. package/dist/base/segment-slider/src/segment-slider.vue.d.ts +2 -2
  22. package/dist/base/select/src/basic-select.vue.d.ts +4 -4
  23. package/dist/base/select/src/searchable-select.vue.d.ts +30 -3
  24. package/dist/base/slider/src/slider.vue.d.ts +4 -4
  25. package/dist/base/switch/src/switch.vue.d.ts +2 -2
  26. package/dist/base/tree-select/src/tree-select.vue.d.ts +2 -2
  27. package/dist/base/utils/image-size-util.d.ts +12 -4
  28. package/dist/core/command/commands/InsertTable.d.ts +4 -0
  29. package/dist/core/constants/index.d.ts +1 -0
  30. package/dist/core/constants/paper.d.ts +3 -1
  31. package/dist/core/constants/table.d.ts +11 -0
  32. package/dist/core/cursor/logic/getSelectionRects.d.ts +15 -2
  33. package/dist/core/cursor/logic/index.d.ts +2 -1
  34. package/dist/core/cursor/logic/selectionAnalyzer.d.ts +31 -6
  35. package/dist/core/data/enrichers/build-field-enrichers.d.ts +1 -1
  36. package/dist/core/data/enrichers/lot-parent-label-enricher.d.ts +13 -0
  37. package/dist/core/data/paths/field-paths.d.ts +2 -0
  38. package/dist/core/data/updates/field-updates.d.ts +7 -2
  39. package/dist/core/event/types.d.ts +1 -1
  40. package/dist/core/index.d.ts +1 -1
  41. package/dist/core/interaction/InteractionController.d.ts +11 -0
  42. package/dist/core/interaction/types.d.ts +8 -0
  43. package/dist/core/interaction/useInteraction.d.ts +6 -0
  44. package/dist/core/layout/LayoutManager.d.ts +5 -1
  45. package/dist/core/layout/providers/TableInfoProvider.d.ts +2 -2
  46. package/dist/core/layout/table/split-table.d.ts +10 -0
  47. package/dist/core/layout/types/index.d.ts +2 -0
  48. package/dist/core/model/document/Wbody.d.ts +4 -0
  49. package/dist/core/model/document/Wtbl/Calculation.d.ts +8 -2
  50. package/dist/core/model/document/Wtbl/RowColumnOps.d.ts +24 -3
  51. package/dist/core/model/document/Wtbl/Serialization.d.ts +26 -1
  52. package/dist/core/model/document/Wtbl.d.ts +31 -3
  53. package/dist/core/model/document/Wtc.d.ts +13 -2
  54. package/dist/core/model/document/Wtr.d.ts +2 -1
  55. package/dist/core/model/document/index.d.ts +1 -0
  56. package/dist/core/model/document/utils/ensure-paragraphs-around-tables.d.ts +18 -0
  57. package/dist/core/model/document/wtcRegionRef.d.ts +1 -1
  58. package/dist/core/model/logic/subtable/repeating/RepeatingRegion.d.ts +28 -1
  59. package/dist/core/model/templates/tableCell.template.d.ts +2 -0
  60. package/dist/core/view/Doc.d.ts +13 -1
  61. package/dist/core/view/Page.d.ts +2 -2
  62. package/dist/core/view/Table.d.ts +13 -0
  63. package/dist/core/view/TableCell.d.ts +2 -1
  64. package/dist/core/view/base/LayoutGroup.d.ts +11 -0
  65. package/dist/core/view/context/DocPubApiContext.d.ts +1 -0
  66. package/dist/core/view/runs/ImageWidget.d.ts +4 -0
  67. package/dist/core/view/utils/TextUtil.d.ts +1 -9
  68. package/dist/domain/active/active-types.d.ts +15 -1
  69. package/dist/domain/constants/enum/view.d.ts +15 -0
  70. package/dist/domain/field/field-type.d.ts +14 -2
  71. package/dist/domain/field/form-value.d.ts +5 -0
  72. package/dist/domain/table/business/check/check-table/actions/fetch-check-items.d.ts +1 -0
  73. package/dist/domain/table/business/material/material-requisition/index.d.ts +2 -0
  74. package/dist/domain/table/business/material/material-requisition/profile/field-keys.d.ts +34 -0
  75. package/dist/domain/table/business/material/material-requisition/profile/fields.d.ts +2 -0
  76. package/dist/domain/table/business/material/material-requisition/profile/index.d.ts +4 -0
  77. package/dist/domain/table/business/material/material-requisition/runtime/register-handlers.d.ts +1 -0
  78. package/dist/domain/table/business/material/material-requisition/runtime/row-change-handlers.d.ts +5 -0
  79. package/dist/domain/table/business/material/types.d.ts +41 -0
  80. package/dist/domain/table/business/preprocess/pretreatment-list/actions/index.d.ts +0 -1
  81. package/dist/domain/table/business/preprocess/pretreatment-list/actions/scan.d.ts +6 -7
  82. package/dist/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +7 -7
  83. package/dist/domain/table/business/shared/production-identification-scan-api.d.ts +13 -0
  84. package/dist/domain/table/business/shared/scan-action.d.ts +27 -20
  85. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/actions/index.d.ts +0 -1
  86. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/actions/scan.d.ts +6 -7
  87. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +0 -2
  88. package/dist/domain/table/business/warehouse/device-part-consume/index.d.ts +2 -0
  89. package/dist/domain/table/business/warehouse/device-part-consume/profile/field-keys.d.ts +35 -0
  90. package/dist/domain/table/business/warehouse/device-part-consume/profile/fields.d.ts +2 -0
  91. package/dist/domain/table/business/warehouse/device-part-consume/profile/index.d.ts +3 -0
  92. package/dist/domain/table/business/warehouse/device-part-consume/runtime/register-handlers.d.ts +1 -0
  93. package/dist/domain/table/business/warehouse/device-part-consume/runtime/row-change-handlers.d.ts +3 -0
  94. package/dist/domain/table/business/warehouse/part-stocktake/index.d.ts +2 -0
  95. package/dist/domain/table/business/warehouse/part-stocktake/profile/field-keys.d.ts +38 -0
  96. package/dist/domain/table/business/warehouse/part-stocktake/profile/fields.d.ts +2 -0
  97. package/dist/domain/table/business/warehouse/part-stocktake/profile/index.d.ts +3 -0
  98. package/dist/domain/table/business/warehouse/part-stocktake/runtime/register-handlers.d.ts +1 -0
  99. package/dist/domain/table/business/warehouse/part-stocktake/runtime/row-change-handlers.d.ts +6 -0
  100. package/dist/domain/table/business/warehouse/shared/inventory-scan-api.d.ts +15 -0
  101. package/dist/domain/table/business/warehouse/warehouse-allocate/actions/index.d.ts +0 -1
  102. package/dist/domain/table/business/warehouse/warehouse-allocate/actions/scan.d.ts +7 -7
  103. package/dist/domain/table/business/warehouse/warehouse-allocate/profile/field-keys.d.ts +31 -10
  104. package/dist/domain/table/business/warehouse/warehouse-allocate/profile/index.d.ts +0 -1
  105. package/dist/domain/table/business/warehouse/warehouse-allocate/runtime/row-change-handlers.d.ts +2 -5
  106. package/dist/domain/table/business/warehouse/warehouse-in/actions/index.d.ts +1 -0
  107. package/dist/domain/table/business/warehouse/warehouse-in/actions/scan.d.ts +3 -0
  108. package/dist/domain/table/business/warehouse/warehouse-in/index.d.ts +3 -0
  109. package/dist/domain/table/business/warehouse/warehouse-in/profile/field-keys.d.ts +39 -0
  110. package/dist/domain/table/business/warehouse/warehouse-in/profile/fields.d.ts +2 -0
  111. package/dist/domain/table/business/warehouse/warehouse-in/profile/index.d.ts +3 -0
  112. package/dist/domain/table/business/warehouse/warehouse-in/runtime/register-handlers.d.ts +1 -0
  113. package/dist/domain/table/business/warehouse/warehouse-in/runtime/row-change-handlers.d.ts +5 -0
  114. package/dist/domain/table/business/warehouse/warehouse-inbound/index.d.ts +2 -0
  115. package/dist/domain/table/business/warehouse/warehouse-inbound/profile/field-keys.d.ts +32 -0
  116. package/dist/domain/table/business/warehouse/warehouse-inbound/profile/fields.d.ts +2 -0
  117. package/dist/domain/table/business/warehouse/warehouse-inbound/profile/index.d.ts +3 -0
  118. package/dist/domain/table/business/warehouse/warehouse-inbound/runtime/register-handlers.d.ts +1 -0
  119. package/dist/domain/table/business/warehouse/warehouse-inbound/runtime/row-change-handlers.d.ts +2 -0
  120. package/dist/domain/table/business/warehouse/warehouse-inventory/actions/index.d.ts +0 -1
  121. package/dist/domain/table/business/warehouse/warehouse-inventory/actions/scan.d.ts +9 -7
  122. package/dist/domain/table/business/warehouse/warehouse-inventory/index.d.ts +1 -0
  123. package/dist/domain/table/business/warehouse/warehouse-inventory/profile/api.d.ts +3 -0
  124. package/dist/domain/table/business/warehouse/warehouse-inventory/profile/field-keys.d.ts +25 -43
  125. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/index.d.ts +1 -2
  126. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/row-change-handlers.d.ts +2 -18
  127. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/stocktake-calc.d.ts +8 -59
  128. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/stocktake-dimension.d.ts +10 -0
  129. package/dist/domain/table/business/warehouse/warehouse-inventory/types.d.ts +22 -22
  130. package/dist/domain/table/business/warehouse/warehouse-out/actions/index.d.ts +1 -0
  131. package/dist/domain/table/business/warehouse/warehouse-out/actions/scan.d.ts +7 -0
  132. package/dist/domain/table/business/warehouse/warehouse-out/index.d.ts +3 -0
  133. package/dist/domain/table/business/warehouse/warehouse-out/profile/field-keys.d.ts +44 -0
  134. package/dist/domain/table/business/warehouse/warehouse-out/profile/fields.d.ts +2 -0
  135. package/dist/domain/table/business/warehouse/warehouse-out/profile/index.d.ts +3 -0
  136. package/dist/domain/table/business/warehouse/warehouse-out/runtime/register-handlers.d.ts +1 -0
  137. package/dist/domain/table/business/warehouse/warehouse-out/runtime/row-change-handlers.d.ts +5 -0
  138. package/dist/domain/table/business/warehouse/warehouse-outbound/index.d.ts +2 -0
  139. package/dist/domain/table/business/warehouse/warehouse-outbound/profile/field-keys.d.ts +34 -0
  140. package/dist/domain/table/business/warehouse/warehouse-outbound/profile/fields.d.ts +2 -0
  141. package/dist/domain/table/business/warehouse/warehouse-outbound/profile/index.d.ts +3 -0
  142. package/dist/domain/table/business/warehouse/warehouse-outbound/runtime/register-handlers.d.ts +1 -0
  143. package/dist/domain/table/business/warehouse/warehouse-outbound/runtime/row-change-handlers.d.ts +2 -0
  144. package/dist/domain/table/design/ribbon-options.d.ts +8 -1
  145. package/dist/domain/table/design/validate-nested-table-region.d.ts +31 -0
  146. package/dist/domain/table/design/validate-table-selection.d.ts +8 -0
  147. package/dist/domain/table/index.d.ts +1 -0
  148. package/dist/domain/table/runtime/engines/linkage-engine.d.ts +9 -2
  149. package/dist/domain/table/runtime/engines/main-field-bind-engine.d.ts +2 -0
  150. package/dist/domain/table/runtime/table-runtime-utils.d.ts +6 -1
  151. package/dist/domain/table/runtime/table-runtime.d.ts +2 -0
  152. package/dist/domain/table/types.d.ts +60 -7
  153. package/dist/index.es.js +21189 -11330
  154. package/dist/runtime/canvas/inline-image/resize-box.vue.d.ts +2 -2
  155. package/dist/runtime/canvas/table/render/label-parse-rule/type.d.ts +7 -1
  156. package/dist/runtime/canvas/table/render/material-consume/bom-validator.d.ts +141 -18
  157. package/dist/runtime/canvas/table/render/material-consume/context-key.d.ts +4 -0
  158. package/dist/runtime/canvas/table/render/material-consume/index.d.ts +1 -0
  159. package/dist/runtime/canvas/table/render/material-consume/material-consume-group-merge.d.ts +19 -0
  160. package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +79 -20
  161. package/dist/runtime/canvas/table/render/material-consume/material-consume.util.d.ts +2 -3
  162. package/dist/runtime/canvas/table/render/material-consume/product-id-query.d.ts +31 -0
  163. package/dist/runtime/canvas/table/render/material-consume/scan-fill.d.ts +13 -0
  164. package/dist/runtime/canvas/table/render/material-consume/scan-validator.d.ts +192 -0
  165. package/dist/runtime/canvas/table/render/material-consume/service.d.ts +6 -0
  166. package/dist/runtime/canvas/table/render/material-consume/transform.d.ts +12 -0
  167. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/business-scan-menu.d.ts +9 -0
  168. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/index.d.ts +1 -1
  169. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/quick-fill.util.d.ts +5 -1
  170. package/dist/runtime/canvas/table/table-design.vue.d.ts +1 -0
  171. package/dist/runtime/canvas/table/utils/useTableSelection.d.ts +6 -0
  172. package/dist/runtime/designer/panel/panel-breadcrumb-separator.vue.d.ts +2 -0
  173. package/dist/runtime/designer/panel/panel.vue.d.ts +1 -1
  174. package/dist/runtime/designer/ribbon/components/text-color-select.vue.d.ts +1 -1
  175. package/dist/runtime/renderer/dialogs/device-scan/device-scan-dialog.vue.d.ts +13 -12
  176. package/dist/runtime/renderer/dialogs/device-scan/submit-device-scan.d.ts +1 -0
  177. package/dist/runtime/renderer/dialogs/field-hyperlink/open-field-hyperlink.d.ts +0 -22
  178. package/dist/runtime/renderer/dialogs/signature/card-signer.vue.d.ts +14 -0
  179. package/dist/runtime/renderer/dialogs/signature/security-config.d.ts +6 -0
  180. package/dist/runtime/renderer/dialogs/signature/signature-dialog.vue.d.ts +4 -0
  181. package/dist/runtime/renderer/dropdowns/components/option-dropdown.vue.d.ts +12 -12
  182. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/biz.d.ts +11 -0
  183. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/part-inventory-ndo.d.ts +11 -0
  184. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/part-ndo.d.ts +11 -0
  185. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/product-ndo.d.ts +12 -0
  186. package/dist/runtime/renderer/dropdowns/components/tables/columns/columns.d.ts +6 -3
  187. package/dist/runtime/renderer/dropdowns/components/tables/component/device-type-select.vue.d.ts +2 -2
  188. package/dist/runtime/renderer/dropdowns/components/tables/composables/useTableDropdown.d.ts +1 -0
  189. package/dist/runtime/renderer/dropdowns/components/tables/rdo-table-dropdown.vue.d.ts +12 -12
  190. package/dist/runtime/renderer/dropdowns/components/tables/strategy/selectStrategy.d.ts +12 -1
  191. package/dist/runtime/renderer/dropdowns/components/tables/table-dropdown.vue.d.ts +12 -12
  192. package/dist/runtime/renderer/dropdowns/components/tables/utils/assoc-filter.d.ts +3 -3
  193. package/dist/runtime/renderer/dropdowns/components/tree/tree-dropdown.vue.d.ts +12 -12
  194. package/dist/sdk/doc-runtime/factories/useDocumentFactory.d.ts +3 -1
  195. package/dist/sdk/types/index.d.ts +6 -1
  196. package/dist/suites/edhr/component/resolve-field-render-colors.d.ts +6 -4
  197. package/dist/suites/edhr/component/resolve-marker-color.d.ts +7 -0
  198. package/dist/suites/edhr/manifest/field/_common_/basic.d.ts +6 -1
  199. package/dist/suites/edhr/manifest/field/business/operation-output-qty-manifest.d.ts +2 -0
  200. package/dist/suites/edhr/manifest/field/business/operation-receive-qty-manifest.d.ts +2 -0
  201. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/bom-validator.d.ts +52 -0
  202. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/index.d.ts +2 -0
  203. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/use-tmpl-bom.d.ts +13 -0
  204. package/dist/suites/edhr/panel-schema/data-init/object-init/object-init.vue.d.ts +7 -5
  205. package/dist/suites/edhr/panel-schema/device-part-consume-table/device-part-consume-table.basic.d.ts +1 -0
  206. package/dist/suites/edhr/panel-schema/field/field-attribute-value.vue.d.ts +26 -0
  207. package/dist/suites/edhr/panel-schema/field/field-panel-chevron.vue.d.ts +5 -0
  208. package/dist/suites/edhr/panel-schema/field/field-panel-text-icon.vue.d.ts +2 -0
  209. package/dist/suites/edhr/panel-schema/index.d.ts +7 -0
  210. package/dist/suites/edhr/panel-schema/material-requisition-table/material-requisition-table.basic.d.ts +1 -0
  211. package/dist/suites/edhr/panel-schema/part-stocktake-table/part-stocktake-table.basic.d.ts +1 -0
  212. package/dist/suites/edhr/panel-schema/warehouse-in-table/warehouse-in-table.basic.d.ts +1 -0
  213. package/dist/suites/edhr/panel-schema/warehouse-inbound-table/warehouse-inbound-table.basic.d.ts +1 -0
  214. package/dist/suites/edhr/panel-schema/warehouse-out-table/warehouse-out-table.basic.d.ts +1 -0
  215. package/dist/suites/edhr/panel-schema/warehouse-outbound-table/warehouse-outbound-table.basic.d.ts +1 -0
  216. package/dist/suites/shared/components/option-control-colors.d.ts +14 -0
  217. package/dist/suites/shared/hooks/useFieldPanel.d.ts +1 -0
  218. package/dist/suites/shared/panel/config/editor/display-fields-editor/display-fields.util.d.ts +2 -0
  219. package/dist/suites/shared/panel/config/editor/ref-autofill-editor/field-tree-select.vue.d.ts +2 -2
  220. package/dist/suites/shared/panel/modules/field-dependency-module/field-dependency-modal.vue.d.ts +2 -0
  221. package/dist/suites/shared/panel/utils/open-design-modal.d.ts +7 -0
  222. package/dist/suites/shared/suite-features.d.ts +17 -0
  223. package/dist/utils/adapters/TriggerUtil.d.ts +1 -1
  224. package/dist/utils/func/file.d.ts +1 -1
  225. package/dist/utils/pdf/resolve-pdf-text-baseline.d.ts +1 -2
  226. package/dist/word.css +1434 -1175
  227. package/package.json +5 -3
  228. package/vite/index.mjs +4 -0
  229. package/dist/domain/table/business/preprocess/pretreatment-list/actions/change-parse-rule.d.ts +0 -7
  230. package/dist/domain/table/business/preprocess/pretreatment-list/runtime/remote-sync-apply.d.ts +0 -2
  231. package/dist/domain/table/business/shared/change-parse-rule.d.ts +0 -10
  232. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/actions/change-parse-rule.d.ts +0 -7
  233. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/runtime/remote-sync-apply.d.ts +0 -2
  234. package/dist/domain/table/business/warehouse/warehouse-allocate/actions/change-parse-rule.d.ts +0 -7
  235. package/dist/domain/table/business/warehouse/warehouse-allocate/types.d.ts +0 -38
  236. package/dist/domain/table/business/warehouse/warehouse-inventory/actions/change-parse-rule.d.ts +0 -7
  237. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/remote-sync-apply.d.ts +0 -9
  238. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/scan-config.d.ts +0 -38
  239. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/warehouse-context.d.ts +0 -3
  240. package/dist/utils/fonts/cjk-optical-offset.d.ts +0 -12
@@ -15,13 +15,13 @@ type __VLS_Props = {
15
15
  showMoveIcon?: boolean;
16
16
  };
17
17
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
18
- resize: (payload: any) => any;
19
18
  move: (payload: any) => any;
19
+ resize: (payload: any) => any;
20
20
  resizeEnd: () => any;
21
21
  moveEnd: () => any;
22
22
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
23
- onResize?: ((payload: any) => any) | undefined;
24
23
  onMove?: ((payload: any) => any) | undefined;
24
+ onResize?: ((payload: any) => any) | undefined;
25
25
  onResizeEnd?: (() => any) | undefined;
26
26
  onMoveEnd?: (() => any) | undefined;
27
27
  }>, {
@@ -18,12 +18,18 @@ export interface IRuleParseData {
18
18
  materialCode?: string;
19
19
  /** 设备编码 */
20
20
  deviceCode?: string;
21
- /** 批号 */
21
+ /** 批次号 */
22
22
  lot: string;
23
23
  /** 数量 */
24
24
  qty?: number;
25
25
  /** 有效期 */
26
26
  expiration?: string;
27
+ /** 唯一码 */
28
+ uniqueCode?: string;
29
+ /** 工单编号 */
30
+ mfgOrderCode?: string;
31
+ /** 灭菌批次号 */
32
+ sterilizationLot?: string;
27
33
  /** 其他字段 */
28
34
  [k: string]: any;
29
35
  }
@@ -1,37 +1,53 @@
1
- import { IBomEntry, IMaterialConsumeData, MaterialConsumptionPatternEnum } from '../../../../../domain/table/business/material/types';
1
+ import { IBomEntry, IMaterialConsumeData } from '../../../../../domain/table/business/material/types';
2
+ /** 扫码校验通过后抛给填充层的完整计划(下标相对入参 arr) */
3
+ export interface ScanFillPlan {
4
+ target: BomEntryValidator;
5
+ current: BomEntryValidator;
6
+ needSwitch: boolean;
7
+ needInsert: boolean;
8
+ /** 建组时空占位插入下标;无需建组时为 -1 */
9
+ groupInsertIndex: number;
10
+ memberIndexes: number[];
11
+ emptyProductIndexes: number[];
12
+ emptyLotIndexes: number[];
13
+ /** 组内再新增一行的下标 */
14
+ appendIndex: number;
15
+ }
2
16
  export declare class BomEntryValidator {
3
17
  bomEntry: IBomEntry;
4
18
  /** 是否启用顺序投料 */
5
19
  enableSequenceLoading: boolean;
6
- /** 批次数量 */
7
- materialNoNum: number;
20
+ /** 批次/生产数量读取函数 */
21
+ private getMaterialNoNum;
8
22
  /** 历史填报数据 */
9
23
  historyData: IMaterialConsumeData[];
10
24
  /** 表单实例的批次号 */
11
25
  mainMaterialNo: string;
12
26
  /** 物料消耗模式 */
13
- mcPattern: MaterialConsumptionPatternEnum;
27
+ noBomMode: boolean;
14
28
  /** 该明细使用到的产品的id集合 */
15
29
  productIds: string[];
16
30
  /** 物料和code的映射 */
17
31
  productCodes: Record<string, string>;
18
32
  /** 历史数据中已经消耗的 */
19
33
  hasConsumed: number;
20
- /** 需求总量 */
21
- total: number;
22
34
  /** 剩于可消耗数量 */
23
35
  get remainingNum(): number;
36
+ /** 批次/生产数量(用时读取,避免构造快照过期) */
37
+ get materialNoNum(): number;
38
+ /** 需求总量 = 数量倍数 × BOM 单位用量 */
39
+ get total(): number;
24
40
  constructor(bomEntry: IBomEntry,
25
41
  /** 是否启用顺序投料 */
26
42
  enableSequenceLoading: boolean,
27
- /** 批次数量 */
28
- materialNoNum: number,
43
+ /** 批次/生产数量读取函数 */
44
+ getMaterialNoNum: () => number,
29
45
  /** 历史填报数据 */
30
46
  historyData: IMaterialConsumeData[],
31
47
  /** 表单实例的批次号 */
32
48
  mainMaterialNo: string,
33
49
  /** 物料消耗模式 */
34
- mcPattern: MaterialConsumptionPatternEnum);
50
+ noBomMode: boolean);
35
51
  /**
36
52
  * 翻译物料的code
37
53
  * @param productId
@@ -44,8 +60,29 @@ export declare class BomEntryValidator {
44
60
  * @return {*}
45
61
  */
46
62
  filterGroupData(arr: IMaterialConsumeData[]): IMaterialConsumeData[];
63
+ /** 行是否属于本 BOM 组(优先 bom_entry_id_,避免跨组 product_id_ 误判) */
64
+ isRowInGroup(row: IMaterialConsumeData): boolean;
65
+ /** 组内已选中的物料(整批替代;不排除当前行) */
66
+ getGroupExistingProductId(tableData: IMaterialConsumeData[]): string | undefined;
67
+ /**
68
+ * 本组 product_id_ 下拉可选范围
69
+ * - 未开替代料:仅主料
70
+ * - 整批替代:组内已有 → 锁定该物料;否则主料+替代料
71
+ * - 混用等:主料+替代料
72
+ */
73
+ getSelectableProductIds(tableData: IMaterialConsumeData[]): string[];
47
74
  validateSubstitute(arr: IMaterialConsumeData[]): void;
48
75
  validateLotMixing(arr: IMaterialConsumeData[]): void;
76
+ /**
77
+ * 通用校验 3(带即将写入的行):组内已有行 + row 的批次去重后,是否超过混批次数。
78
+ * - 非按批次 / 未开混批校验 / row 不属于本组 → 直接通过
79
+ * - 排除空物料;空批次不计入
80
+ */
81
+ validateLotMixingWithRow(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): void;
82
+ /** 指定物料批次:material_no_ 须在 specified_material_entries_ 的 name_ 范围内 */
83
+ validateSpecifiedMaterialNo(row: IMaterialConsumeData): void;
84
+ /** 整组指定批次校验:组内每一行有批次值的都检查 */
85
+ validateSpecifiedMaterialNoForGroup(arr: IMaterialConsumeData[]): void;
49
86
  /**
50
87
  * 校验数量
51
88
  * @param arr
@@ -72,6 +109,12 @@ export declare class BomEntryValidator {
72
109
  max: any;
73
110
  min: any;
74
111
  }>;
112
+ /**
113
+ * 通用校验 5:本组上料数量是否满足 qty_validation_rule_。
114
+ * 前置假设:必填、替代料、混批等已由调用方完成。
115
+ * @param sequential 是否按顺序上料;eq 规则在非顺序模式下允许少上
116
+ */
117
+ validateGroupQty(arr: IMaterialConsumeData[], sequential?: boolean, groupNo?: number): Promise<void>;
75
118
  /**
76
119
  * 按顺序投料用
77
120
  * 检查数据中的当前明细的填报是否已经完成
@@ -83,26 +126,28 @@ export declare class BomEntriesValidator {
83
126
  entries: IBomEntry[];
84
127
  /** 是否启用顺序投料 */
85
128
  enableSequenceLoading: boolean;
86
- /** 批次数量 */
87
- materialNoNum: number;
129
+ /** 批次/生产数量读取函数 */
130
+ getMaterialNoNum: () => number;
88
131
  /** 历史填报数据 */
89
132
  historyData: IMaterialConsumeData[];
90
133
  /** 表单实例的批次号 */
91
134
  mainMaterialNo: string;
92
135
  /** 物料消耗模式 */
93
- mcPattern: MaterialConsumptionPatternEnum;
136
+ noBomMode: boolean;
94
137
  bomEntryValidators: BomEntryValidator[];
95
138
  constructor(entries: IBomEntry[],
96
139
  /** 是否启用顺序投料 */
97
140
  enableSequenceLoading: boolean,
98
- /** 批次数量 */
99
- materialNoNum: number,
141
+ /** 批次/生产数量读取函数 */
142
+ getMaterialNoNum: () => number,
100
143
  /** 历史填报数据 */
101
144
  historyData: IMaterialConsumeData[],
102
145
  /** 表单实例的批次号 */
103
146
  mainMaterialNo: string,
104
147
  /** 物料消耗模式 */
105
- mcPattern: MaterialConsumptionPatternEnum);
148
+ noBomMode: boolean);
149
+ /** 当前批次/生产数量 */
150
+ get materialNoNum(): number;
106
151
  /**
107
152
  * 翻译物料的code
108
153
  * @param productId
@@ -115,13 +160,70 @@ export declare class BomEntriesValidator {
115
160
  * @return {*}
116
161
  */
117
162
  findUtilByProductId(productId: string): BomEntryValidator | undefined;
163
+ /** 编辑行所属组 id;空物料且无 bom_entry_id_ 时返回 null */
164
+ private getRowGroupId;
165
+ /**
166
+ * 是否有正在编辑的组。
167
+ * 一组可多行同时 !is_confirmed_;正常应只有一组。
168
+ * @returns 有编辑行且只落在一组 → true;无编辑行 → false;跨多组编辑 → 抛错
169
+ */
170
+ hasEditingGroup(arr: IMaterialConsumeData[]): boolean;
171
+ /** 取当前唯一编辑组的 BOM 明细 id;没有则 undefined */
172
+ getEditingGroupId(arr: IMaterialConsumeData[]): string | undefined;
173
+ /**
174
+ * 行 → BOM 明细在 bomEntryValidators 中的下标,找不到返回 -1
175
+ */
176
+ resolveEntryIndex(row: IMaterialConsumeData): number;
177
+ /**
178
+ * 行所属组在序号列中的 groupOrderIndex(0-based;-1 未绑 BOM 组)
179
+ * 与 material-consume-table 序号列逻辑一致
180
+ */
181
+ resolveGroupOrderIndex(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): number;
182
+ /** 已知 BomEntryValidator 时算 groupOrderIndex */
183
+ resolveGroupOrderIndexByUtil(util: BomEntryValidator, arr: IMaterialConsumeData[]): number;
184
+ /** 非顺序上料:BOM 组在表中首次出现的顺序(0-based) */
185
+ private resolveEntryOrderInTable;
186
+ /**
187
+ * 定位顺序上料时的当前编辑组对应 BOM 明细。
188
+ * 编辑行无物料时,用前后组夹出范围,取 (prev, next) 开区间起点。
189
+ */
190
+ findSequenceBomEntry(arr: IMaterialConsumeData[]): BomEntryValidator | undefined;
118
191
  /**
119
192
  * 检验是否符合顺序投料的顺序要求
120
193
  * @param row 当前编辑的行
121
194
  * @param arr 所有的数据
122
195
  * @return {*}
123
196
  */
124
- validateSequenceLoading(row: IMaterialConsumeData | undefined, arr: IMaterialConsumeData[]): Promise<void>;
197
+ validateSequenceLoading(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): Promise<void>;
198
+ /** 表中是否已有该 BOM 组(有物料行或带 bom_entry_id_ 的空行) */
199
+ private groupExistsInTable;
200
+ /**
201
+ * 按 BOM 顺序计算 target 组应插入的下标:
202
+ * 插到表中「第一个 BOM 下标更大的组」之前;没有则表末。
203
+ */
204
+ private resolveBomOrderInsertIndex;
205
+ /**
206
+ * 组装扫码填充计划:切组/建组标记 + 相对 arr 的下标。
207
+ * needInsert 时优先填 groupInsertIndex 占位行,勿再直接用 member/append 下标(会错位)。
208
+ */
209
+ private buildScanFillPlan;
210
+ /**
211
+ * 通用校验 2:物料是否允许写入目标组(不改动原 validateSubstitute)
212
+ */
213
+ private assertGroupSubstitute;
214
+ /**
215
+ * 扫码定位目标组 + 通用校验 2,返回填充计划(切组/建组/下标)。
216
+ * 不改表数据。
217
+ */
218
+ validateSequenceScan(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): ScanFillPlan;
219
+ /**
220
+ * 单组整组校验(提交编辑态组 / 切组前复用)
221
+ */
222
+ validateGroup(arr: IMaterialConsumeData[], util: BomEntryValidator): Promise<void>;
223
+ /**
224
+ * 切组前校验当前编辑组:BOM 内 + 必填、有效期、替代料、混批、数量校验
225
+ */
226
+ validateCurrentGroupForSwitch(arr: IMaterialConsumeData[], current: BomEntryValidator): Promise<void>;
125
227
  /**
126
228
  * 校验物料是否在bom里被使用
127
229
  * @param row 单行的数据
@@ -142,6 +244,10 @@ export declare class BomEntriesValidator {
142
244
  * @param arr
143
245
  */
144
246
  validateLotMixing(arr: IMaterialConsumeData[]): void;
247
+ /**
248
+ * 通用校验 3(扫码/写入前):用 row + 表内同行组数据对比混批次数,不改动原 validateLotMixing
249
+ */
250
+ validateLotMixingWithRow(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): void;
145
251
  /**
146
252
  * 校验数量
147
253
  * @param arr
@@ -158,10 +264,23 @@ export declare class BomEntriesValidator {
158
264
  */
159
265
  validate(arr: IMaterialConsumeData[]): Promise<void>;
160
266
  /**
161
- * 检查扫描数据是否可以插入
267
+ * 检查扫描数据是否可以插入,通过后返回填充计划(记录模式无 plan)
268
+ */
269
+ validateScanCanInsert(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): Promise<ScanFillPlan | undefined>;
270
+ /**
271
+ * 校验当前编辑行的数据
162
272
  * @param arr
273
+ * @returns
274
+ */
275
+ validateEditRow(arr: IMaterialConsumeData[]): Promise<void>;
276
+ /**
277
+ * 顺序上料提交:表中最后一组之前,必须上料组不能缺失(仅结构/顺序,不校验数量)
278
+ */
279
+ private assertSubmitSequenceOrder;
280
+ /**
281
+ * 提交整表校验:必须上料组须存在;顺序上料校验组序;表中存在的组走整组校验(不含库存)
163
282
  */
164
- validateScanCanInsert(arr: IMaterialConsumeData[]): Promise<void>;
283
+ validateAllRows(arr: IMaterialConsumeData[]): Promise<void>;
165
284
  /**
166
285
  * 把扫描数据按情况插入到数组的位置,返回新数组
167
286
  * @param row
@@ -174,3 +293,7 @@ export declare class BomEntriesValidator {
174
293
  */
175
294
  getAllMaterialIds(): (string | undefined)[];
176
295
  }
296
+ /** 行是否属于指定 BOM 组(未 deleted_,且 product_id_ 或 bom_entry_id_ 匹配) */
297
+ export declare function isRowInBomGroup(row: IMaterialConsumeData, util: BomEntryValidator): boolean;
298
+ /** 设置整组编辑态:editing=true → is_confirmed_=false */
299
+ export declare function setGroupEditState(table: IMaterialConsumeData[], util: BomEntryValidator, editing: boolean): void;
@@ -1,2 +1,6 @@
1
1
  /** 表单模板 BOM 控制器(物料消耗表) */
2
2
  export declare const TMPL_BOM_CONTROLLER: unique symbol;
3
+ /** 数据关联关系 */
4
+ export declare const DATA_RELATION_SHIP: unique symbol;
5
+ /** 表单模板bom控制器映射 */
6
+ export declare const TMPL_BOM_CONTROLLER_MAP: unique symbol;
@@ -2,3 +2,4 @@ export * from './context-key';
2
2
  export * from './tmpl-bom-controller';
3
3
  export * from './material-consume-table-controller';
4
4
  export * from './material-consume.util';
5
+ export * from './service';
@@ -0,0 +1,19 @@
1
+ import { IMaterialConsumeData } from '../../../../../domain/table/business/material/types';
2
+ import { BomEntriesValidator } from './bom-validator';
3
+ /** 按组合并的组级只读字段(不含 qty_) */
4
+ export declare const GROUP_MERGE_FIELDS: Set<keyof IMaterialConsumeData>;
5
+ /** 是否为按组合并列:序号组件 + 组级字段 */
6
+ export declare function isGroupMergeCell(tdInfo: any): boolean;
7
+ /** 连续相同 key 的行属于同一合并组 */
8
+ export declare function getGroupMergeKey(row: IMaterialConsumeData, validator: BomEntriesValidator): string;
9
+ /**
10
+ * 当前页可见行的组 rowspan 计划
11
+ * - spans[i] > 1:组首行,值为 rowspan
12
+ * - spans[i] === 1:单行组,正常渲染
13
+ * - spans[i] === 0:组内后续行,跳过该列 td
14
+ */
15
+ export declare function calcGroupRowSpans(rows: IMaterialConsumeData[], validator: BomEntriesValidator): number[];
16
+ /** 计算某一 BOM 组的总上料数量 */
17
+ export declare function calcGroupQtyConsumedTotal(entryIdx: number, tableData: IMaterialConsumeData[], validator: BomEntriesValidator): number;
18
+ /** 回写全表 qty_consumed_total_(组内每行写相同值,便于提交) */
19
+ export declare function syncGroupQtyConsumedTotals(tableData: IMaterialConsumeData[], validator: BomEntriesValidator): void;
@@ -1,4 +1,4 @@
1
- import { MaterialConsumptionPatternEnum, IFormTmplBom, IMaterialConsumeData, ParseRuleProps } from '../../../../../domain/table/business/material/types';
1
+ import { MaterialConsumptionPatternEnum, IFormTmplBom, IMaterialConsumeData, ParseRuleProps, ScanParamType } from '../../../../../domain/table/business/material/types';
2
2
  import { FormTmplBomController } from './tmpl-bom-controller';
3
3
  import { Ref } from 'vue';
4
4
  import { BomEntriesValidator } from './bom-validator';
@@ -85,8 +85,16 @@ export declare class MaterialConsumeTableController {
85
85
  */
86
86
  subTableInfo: ISubTableInfo;
87
87
  /** 表单模型控制器 */
88
- /** 批次数量 */
89
- get materialNoNum(): number;
88
+ /** 当前 paper 上配置的单位转化规则(由组件 setup 注入) */
89
+ unitConversionRules: any[];
90
+ /** 主表 formState(由组件 setup 注入),用于读取主表字段值 */
91
+ mainFormState: Ref<any>;
92
+ /** 表单数据状态(由组件 setup 注入):未填报 / STASH / SUBMIT */
93
+ dataStatus?: string;
94
+ /** 表单是否已暂存或提交(已处理过则不再跑初始化) */
95
+ get isDataProcessed(): boolean;
96
+ /** 批次数量或生产数量 */
97
+ get materialNoNum(): any;
90
98
  /** 物料消耗模式(自身没有配置的话取环境的默认值) */
91
99
  get mcPattern(): MaterialConsumptionPatternEnum;
92
100
  /**
@@ -99,6 +107,8 @@ export declare class MaterialConsumeTableController {
99
107
  };
100
108
  /** 解析规则映射配置 */
101
109
  scanRuleProps?: ParseRuleProps;
110
+ /**条码参数配置 */
111
+ scanParamType: ScanParamType;
102
112
  /**
103
113
  * 解析规则配置
104
114
  */
@@ -125,10 +135,6 @@ export declare class MaterialConsumeTableController {
125
135
  * @param id (老数据是id,新数据是json对象字符串)
126
136
  */
127
137
  protected initScanRule(id: string): Promise<void>;
128
- /**
129
- * 变更条码规则
130
- */
131
- changeScanRule(__mainModelKey: string, subModelKey: string): Promise<void>;
132
138
  /**
133
139
  * 是否人为指定物料
134
140
  * @readonly
@@ -143,6 +149,17 @@ export declare class MaterialConsumeTableController {
143
149
  * 根据bom明细构造子表数据(初始化时)
144
150
  */
145
151
  calcFormState(): IMaterialConsumeData[] | undefined;
152
+ /**
153
+ * 未填报时初始化消耗表行数据
154
+ * @param defaultData 子表行默认值(含工序等)
155
+ */
156
+ initTableData(dataManager: DataManager, subFieldKey: string, defaultData?: Record<string, any>): void;
157
+ /**
158
+ * 根据数据计算需要禁用的字段
159
+ * @param row
160
+ * @return {*}
161
+ */
162
+ calcDisabledFields(row: IMaterialConsumeData): (keyof IMaterialConsumeData)[];
146
163
  /**
147
164
  * 获取是否是 物料查看
148
165
  * @param product_id_
@@ -155,22 +172,35 @@ export declare class MaterialConsumeTableController {
155
172
  */
156
173
  getProductQuery(): {
157
174
  'id_.in': (string | undefined)[];
158
- };
175
+ } | undefined;
176
+ /**
177
+ * 行级 product_id_ / material_no_ 查询共用入参
178
+ */
179
+ private buildProductQueryOptions;
180
+ /**
181
+ * 行级 product_id_ 下拉过滤(覆盖全局 id_.in)
182
+ */
183
+ getProductQueryForRow(row: IMaterialConsumeData, rowIndex?: number): import('./product-id-query').ProductIdQuery | undefined;
184
+ /**
185
+ * 行级 material_no_ 批次过滤:有物料按物料;无物料与 product_id_ 可选范围一致
186
+ */
187
+ getMaterialNoQueryForRow(row: IMaterialConsumeData, rowIndex?: number): import('./product-id-query').MaterialNoQuery;
159
188
  /**
160
189
  * 是否是第一行且物料是空行
161
190
  * @return {*}
162
191
  */
163
192
  isFirstBlankRow(): boolean;
193
+ /**
194
+ * 是否有正在编辑的组。
195
+ * 一组可多行同时为编辑态;同时只能有一组处于编辑态。
196
+ */
197
+ hasEditingGroup(showMessage?: boolean): boolean;
164
198
  /**
165
199
  * 解析扫码的数据
166
200
  * 并判断是否能存入表中,返回对象则表示可以存入
167
201
  * @param str
168
202
  */
169
- protected parseScanStr(str: string, option: {
170
- doc: Doc;
171
- subModelKey: string;
172
- subFieldKey: string;
173
- }): Promise<void>;
203
+ protected parseScanStr(data: any, transformedData: any, doc: Doc): Promise<void>;
174
204
  /** 扫描是否已经打开 */
175
205
  isScanOpen: boolean;
176
206
  /**
@@ -181,20 +211,30 @@ export declare class MaterialConsumeTableController {
181
211
  doc: Doc;
182
212
  subModelKey: string;
183
213
  subFieldKey: string;
214
+ subFieldOptions: {
215
+ label: string;
216
+ value: string;
217
+ }[];
184
218
  }): Promise<void>;
185
- /**
186
- * 打开 BOM 弹窗
187
- */
188
- bomModalProps: any;
189
- openBomModal(): Promise<void>;
190
219
  /**
191
220
  * 消耗表组件setup时调用
192
221
  * @param opts
193
222
  */
194
223
  setup(opts: {
224
+ doc: Doc;
195
225
  tableDataRef: Ref<any>;
226
+ /** 主表响应式数据,用于按生产数量计算需求数量 */
227
+ mainFormState?: Ref<any>;
196
228
  subTableInfo: ISubTableInfo;
229
+ /** 表单 dataStatus,未填报才允许初始化行数据 */
230
+ dataStatus?: string;
231
+ /** 子表行默认值 */
232
+ defaultRowData?: Record<string, any>;
197
233
  }): Promise<void>;
234
+ /**
235
+ * 按当前 materialNoNum 回写各行 qty_required_(校验侧 total 已通过 getter 实时读取)
236
+ */
237
+ syncQtyRequiredFromBom(doc: Doc): void;
198
238
  /** 校验有效期 */
199
239
  validateExpiration(row: IMaterialConsumeData): void;
200
240
  /**
@@ -212,6 +252,10 @@ export declare class MaterialConsumeTableController {
212
252
  field: string;
213
253
  message: string;
214
254
  };
255
+ /**
256
+ * 是否是单独一行空数据
257
+ */
258
+ isOnlyEmptyRow(): boolean;
215
259
  /**
216
260
  * 提交的时候的校验
217
261
  */
@@ -225,7 +269,14 @@ export declare class MaterialConsumeTableController {
225
269
  * 选中行开启编辑
226
270
  * @param row
227
271
  */
228
- editRow(option: UpdateRowOption, isBomPattern: boolean): void;
272
+ editRow(option: UpdateRowOption): Promise<void>;
273
+ /**
274
+ * 在当前 BOM 组下方新增一个空组。
275
+ *
276
+ * 顺序上料时,新增前需要完整校验当前编辑组;校验通过后将当前组切回确认态。
277
+ * 返回新行在活跃数据中的下标,调用方据此执行 Word 子表行初始化。
278
+ */
279
+ addGroup(option: UpdateRowOption, doc: Doc): Promise<number | undefined>;
229
280
  /**
230
281
  * 更新整个数组的所有行的已消耗数量
231
282
  *
@@ -235,6 +286,14 @@ export declare class MaterialConsumeTableController {
235
286
  * - 删除行
236
287
  */
237
288
  updateRowConsumed(doc: Doc): void;
289
+ /**
290
+ * 组级:更新 qty_consumed_total_(同组 qty_ 之和)
291
+ */
292
+ updateGroupQtyConsumedTotal(): void;
293
+ /**
294
+ * qty 相关派生字段统一入口(改 qty_ / 扫码 / 删行 等都走这里)
295
+ */
296
+ updateDerivedQtyFields(doc: Doc): void;
238
297
  /**
239
298
  * 设置默认值,如工序,需求数量/已消耗数量
240
299
  * @param row
@@ -250,5 +309,5 @@ export declare class MaterialConsumeTableController {
250
309
  doc: Doc;
251
310
  parsed: ParsedValuePath;
252
311
  dataIndex: number;
253
- }): void;
312
+ }): Promise<void>;
254
313
  }
@@ -2,10 +2,9 @@ import { Doc } from '../../../../../core';
2
2
  import { DocModel } from '../../../../../core/model';
3
3
  import { FormTmplBomController } from './tmpl-bom-controller';
4
4
  /**
5
- * 同步[物料消耗表] formTmplBomList 信息到 widgetProps 上
6
- * 因为 formTmplBomList 有独立存取接口
5
+ * id:模板 id 或实例 id
7
6
  */
8
- export declare const syncMaterialConsumeTableBomInfo: (templateId: string, docModel: DocModel) => Promise<void>;
7
+ export declare const syncMaterialConsumeBomInfo: (id: string, docModel: DocModel) => Promise<void>;
9
8
  /**
10
9
  * 处理表单实例上的[物料消耗表]相关配置
11
10
  */
@@ -0,0 +1,31 @@
1
+ import { IMaterialConsumeData } from '../../../../../domain/table/business/material/types';
2
+ import { BomEntriesValidator } from './bom-validator';
3
+ /** RDO 将空 id_.in / versionIn 视为不筛选,无候选时用占位 version id 使下拉返回空列表 */
4
+ export declare const EMPTY_PRODUCT_VERSION_ID = "__mc_no_selectable_product__";
5
+ /** 指定批次开启但列表为空时,使批次下拉返回空列表 */
6
+ export declare const EMPTY_LOT_NAME = "__mc_no_selectable_lot__";
7
+ export type ProductIdQuery = {
8
+ 'id_.in': (string | undefined)[];
9
+ };
10
+ export declare function isEmptyProductQuery(query?: ProductIdQuery): boolean;
11
+ export type MaterialNoQuery = {
12
+ 'product_id_.versionIn': (string | undefined)[] | null;
13
+ 'name_.in'?: string[];
14
+ };
15
+ export interface BuildProductIdQueryOptions {
16
+ validator: BomEntriesValidator;
17
+ tableData: IMaterialConsumeData[];
18
+ row: IMaterialConsumeData;
19
+ rowIndex?: number;
20
+ enableSequenceLoading: boolean;
21
+ /** 记录模式且未启 personal BOM 时为 true */
22
+ skipFilter: boolean;
23
+ }
24
+ /** 构建 product_id_ 行级下拉查询条件 */
25
+ export declare function buildProductIdQuery(options: BuildProductIdQueryOptions): ProductIdQuery | undefined;
26
+ /**
27
+ * 构建 material_no_ 行级批次过滤
28
+ * - 有 product_id_:仅该物料版本
29
+ * - 无 product_id_:与 product_id_ 下拉可选范围一致
30
+ */
31
+ export declare function buildMaterialNoQuery(options: BuildProductIdQueryOptions): MaterialNoQuery;
@@ -0,0 +1,13 @@
1
+ import { BomEntryValidator, ScanFillPlan } from './bom-validator';
2
+ import { IMaterialConsumeData } from '../../../../../domain/table/business/material/types';
3
+ /** 前端行稳定身份 */
4
+ export declare const FRONT_ROW_KEY = "front_row_key_";
5
+ export declare function ensureFrontRowKey(row: Record<string, any> | null | undefined): string;
6
+ export type ValidateCurrentGroupForSwitch = (table: IMaterialConsumeData[], current: BomEntryValidator) => void | Promise<void>;
7
+ /**
8
+ * 按 ScanFillPlan 切组 / 建组 / 填充,返回新表(不改入参 arr)。
9
+ * needSwitch 时通过 options.validateCurrentGroupForSwitch 先校验当前组。
10
+ */
11
+ export declare function applyScanFillPlan(arr: IMaterialConsumeData[], scanRow: IMaterialConsumeData, plan?: ScanFillPlan, options?: {
12
+ validateCurrentGroupForSwitch?: ValidateCurrentGroupForSwitch;
13
+ }): Promise<IMaterialConsumeData[]>;