@gct-paas/word 0.1.74 → 0.2.1

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 (291) hide show
  1. package/README.md +4 -1
  2. package/dist/assets/svgs/table/index.d.ts +7 -0
  3. package/dist/base/calendar/src/calendar.vue.d.ts +2 -2
  4. package/dist/base/calendar/src/time.vue.d.ts +2 -2
  5. package/dist/base/checkbox/src/checkbox-group.vue.d.ts +2 -2
  6. package/dist/base/checkbox/src/checkbox.vue.d.ts +2 -2
  7. package/dist/base/color-picker/src/ColorPicker.vue.d.ts +1 -1
  8. package/dist/base/dropdown/src/dropdown-basic-select.vue.d.ts +2 -2
  9. package/dist/base/input/src/input-number.vue.d.ts +2 -2
  10. package/dist/base/input/src/input.vue.d.ts +5 -5
  11. package/dist/base/input/src/text-area.vue.d.ts +4 -4
  12. package/dist/base/modal/src/ModalRoot.vue.d.ts +1 -0
  13. package/dist/base/modal/src/modal.type.d.ts +5 -0
  14. package/dist/base/radio/src/radio-group.vue.d.ts +2 -2
  15. package/dist/base/radio/src/radio.vue.d.ts +2 -2
  16. package/dist/base/rdo-tree-select/src/rdo-tree-select-more.vue.d.ts +10 -3
  17. package/dist/base/rdo-tree-select/src/rdo-tree-select-panel.vue.d.ts +6 -1
  18. package/dist/base/rdo-tree-select/src/rdo-tree-select.vue.d.ts +3 -3
  19. package/dist/base/scrollbar/src/scrollbar.vue.d.ts +2 -2
  20. package/dist/base/segment-slider/src/segment-slider.vue.d.ts +2 -2
  21. package/dist/base/select/src/basic-select.vue.d.ts +16 -2
  22. package/dist/base/select/src/searchable-select.vue.d.ts +2 -2
  23. package/dist/base/slider/src/slider.vue.d.ts +4 -4
  24. package/dist/base/switch/src/switch.vue.d.ts +2 -2
  25. package/dist/base/tree-select/src/tree-select.vue.d.ts +2 -2
  26. package/dist/base/utils/image-size-util.d.ts +2 -0
  27. package/dist/core/command/commands/InsertTable.d.ts +4 -0
  28. package/dist/core/command/commands/UnmergeCells.d.ts +5 -1
  29. package/dist/core/command/types.d.ts +1 -0
  30. package/dist/core/constants/index.d.ts +1 -0
  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 +12 -0
  37. package/dist/core/data/enrichers/operation-receive-qty-enricher.d.ts +19 -0
  38. package/dist/core/data/paths/field-paths.d.ts +2 -0
  39. package/dist/core/data/submit/form-state.d.ts +1 -1
  40. package/dist/core/data/updates/field-updates.d.ts +7 -2
  41. package/dist/core/event/types.d.ts +1 -1
  42. package/dist/core/index.d.ts +1 -1
  43. package/dist/core/interaction/InteractionController.d.ts +11 -0
  44. package/dist/core/interaction/types.d.ts +8 -0
  45. package/dist/core/interaction/useInteraction.d.ts +6 -0
  46. package/dist/core/layout/LayoutManager.d.ts +5 -1
  47. package/dist/core/layout/handlers/fields/FieldBaseHandler.d.ts +2 -0
  48. package/dist/core/layout/providers/TableInfoProvider.d.ts +2 -2
  49. package/dist/core/layout/table/split-table.d.ts +10 -0
  50. package/dist/core/layout/types/index.d.ts +2 -0
  51. package/dist/core/model/document/Wbody.d.ts +4 -0
  52. package/dist/core/model/document/WrText.d.ts +2 -0
  53. package/dist/core/model/document/Wtbl/Calculation.d.ts +8 -2
  54. package/dist/core/model/document/Wtbl/RowColumnOps.d.ts +24 -3
  55. package/dist/core/model/document/Wtbl/Serialization.d.ts +26 -1
  56. package/dist/core/model/document/Wtbl.d.ts +31 -3
  57. package/dist/core/model/document/Wtc.d.ts +13 -2
  58. package/dist/core/model/document/Wtr.d.ts +2 -1
  59. package/dist/core/model/document/index.d.ts +1 -0
  60. package/dist/core/model/document/utils/ensure-paragraphs-around-tables.d.ts +18 -0
  61. package/dist/core/model/document/wtcRegionRef.d.ts +1 -1
  62. package/dist/core/model/logic/subtable/bounded/BoundedRegion.d.ts +2 -0
  63. package/dist/core/model/logic/subtable/repeating/RepeatingRegion.d.ts +28 -1
  64. package/dist/core/model/templates/tableCell.template.d.ts +2 -0
  65. package/dist/core/model/types/style.d.ts +2 -0
  66. package/dist/core/view/Doc.d.ts +13 -1
  67. package/dist/core/view/Table.d.ts +13 -0
  68. package/dist/core/view/TableCell.d.ts +2 -1
  69. package/dist/core/view/context/DocPubApiContext.d.ts +1 -0
  70. package/dist/core/view/runs/TextRun.d.ts +4 -0
  71. package/dist/domain/active/active-types.d.ts +15 -1
  72. package/dist/domain/constants/enum/device.d.ts +26 -0
  73. package/dist/domain/constants/enum/index.d.ts +2 -0
  74. package/dist/domain/constants/enum/lot.d.ts +16 -0
  75. package/dist/domain/constants/enum/view.d.ts +1 -1
  76. package/dist/domain/device/device-query.d.ts +10 -0
  77. package/dist/domain/field/field-props-schema-type.d.ts +10 -1
  78. package/dist/domain/field/field-type.d.ts +515 -144
  79. package/dist/domain/field/form-value.d.ts +5 -0
  80. package/dist/domain/field/lot-display-label.d.ts +2 -0
  81. package/dist/domain/object/date-object/index.d.ts +4 -0
  82. package/dist/domain/object/date-object/profile/field-keys.d.ts +19 -0
  83. package/dist/domain/object/date-object/profile/fields.d.ts +2 -0
  84. package/dist/domain/object/date-object/profile/index.d.ts +3 -0
  85. package/dist/domain/object/date-object/runtime/date-object-context.d.ts +41 -0
  86. package/dist/domain/object/date-object/runtime/date-object-runtime.d.ts +41 -0
  87. package/dist/domain/object/date-object/runtime/fetch-records.d.ts +16 -0
  88. package/dist/domain/object/date-object/runtime/object-handlers.d.ts +6 -0
  89. package/dist/domain/object/date-object/runtime/re-inspection-date.d.ts +49 -0
  90. package/dist/domain/object/date-object/runtime/register-handlers.d.ts +1 -0
  91. package/dist/domain/object/date-object/runtime/row-change-handlers.d.ts +6 -0
  92. package/dist/domain/object/date-object/types.d.ts +48 -0
  93. package/dist/domain/table/business/check/check-table/actions/fetch-check-items.d.ts +1 -0
  94. package/dist/domain/table/business/material/material-requisition/index.d.ts +2 -0
  95. package/dist/domain/table/business/material/material-requisition/profile/field-keys.d.ts +34 -0
  96. package/dist/domain/table/business/material/material-requisition/profile/fields.d.ts +2 -0
  97. package/dist/domain/table/business/material/material-requisition/profile/index.d.ts +4 -0
  98. package/dist/domain/table/business/material/material-requisition/runtime/register-handlers.d.ts +1 -0
  99. package/dist/domain/table/business/material/material-requisition/runtime/row-change-handlers.d.ts +5 -0
  100. package/dist/domain/table/business/material/types.d.ts +41 -0
  101. package/dist/domain/table/business/preprocess/pretreatment-list/actions/index.d.ts +0 -1
  102. package/dist/domain/table/business/preprocess/pretreatment-list/actions/scan.d.ts +6 -7
  103. package/dist/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +6 -6
  104. package/dist/domain/table/business/preprocess/pretreatment-list/runtime/row-change-handlers.d.ts +6 -6
  105. package/dist/domain/table/business/shared/production-container-hyperlink-enricher.d.ts +1 -1
  106. package/dist/domain/table/business/shared/production-identification-scan-api.d.ts +17 -0
  107. package/dist/domain/table/business/shared/scan-action.d.ts +38 -20
  108. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/actions/index.d.ts +0 -1
  109. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/actions/scan.d.ts +6 -7
  110. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -4
  111. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/runtime/row-change-handlers.d.ts +1 -1
  112. package/dist/domain/table/business/warehouse/device-part-consume/index.d.ts +2 -0
  113. package/dist/domain/table/business/warehouse/device-part-consume/profile/field-keys.d.ts +35 -0
  114. package/dist/domain/table/business/warehouse/device-part-consume/profile/fields.d.ts +2 -0
  115. package/dist/domain/table/business/warehouse/device-part-consume/profile/index.d.ts +3 -0
  116. package/dist/domain/table/business/warehouse/device-part-consume/runtime/register-handlers.d.ts +1 -0
  117. package/dist/domain/table/business/warehouse/device-part-consume/runtime/row-change-handlers.d.ts +3 -0
  118. package/dist/domain/table/business/warehouse/part-stocktake/index.d.ts +2 -0
  119. package/dist/domain/table/business/warehouse/part-stocktake/profile/field-keys.d.ts +38 -0
  120. package/dist/domain/table/business/warehouse/part-stocktake/profile/fields.d.ts +2 -0
  121. package/dist/domain/table/business/warehouse/part-stocktake/profile/index.d.ts +3 -0
  122. package/dist/domain/table/business/warehouse/part-stocktake/runtime/register-handlers.d.ts +1 -0
  123. package/dist/domain/table/business/warehouse/part-stocktake/runtime/row-change-handlers.d.ts +6 -0
  124. package/dist/domain/table/business/warehouse/shared/inventory-scan-api.d.ts +19 -0
  125. package/dist/domain/table/business/warehouse/warehouse-allocate/actions/index.d.ts +0 -1
  126. package/dist/domain/table/business/warehouse/warehouse-allocate/actions/scan.d.ts +7 -7
  127. package/dist/domain/table/business/warehouse/warehouse-allocate/profile/field-keys.d.ts +31 -10
  128. package/dist/domain/table/business/warehouse/warehouse-allocate/profile/index.d.ts +0 -1
  129. package/dist/domain/table/business/warehouse/warehouse-allocate/runtime/row-change-handlers.d.ts +2 -5
  130. package/dist/domain/table/business/warehouse/warehouse-in/actions/index.d.ts +1 -0
  131. package/dist/domain/table/business/warehouse/warehouse-in/actions/scan.d.ts +3 -0
  132. package/dist/domain/table/business/warehouse/warehouse-in/index.d.ts +3 -0
  133. package/dist/domain/table/business/warehouse/warehouse-in/profile/field-keys.d.ts +45 -0
  134. package/dist/domain/table/business/warehouse/warehouse-in/profile/fields.d.ts +2 -0
  135. package/dist/domain/table/business/warehouse/warehouse-in/profile/index.d.ts +3 -0
  136. package/dist/domain/table/business/warehouse/warehouse-in/runtime/register-handlers.d.ts +1 -0
  137. package/dist/domain/table/business/warehouse/warehouse-in/runtime/row-change-handlers.d.ts +12 -0
  138. package/dist/domain/table/business/warehouse/warehouse-inbound/index.d.ts +2 -0
  139. package/dist/domain/table/business/warehouse/warehouse-inbound/profile/field-keys.d.ts +32 -0
  140. package/dist/domain/table/business/warehouse/warehouse-inbound/profile/fields.d.ts +2 -0
  141. package/dist/domain/table/business/warehouse/warehouse-inbound/profile/index.d.ts +3 -0
  142. package/dist/domain/table/business/warehouse/warehouse-inbound/runtime/register-handlers.d.ts +1 -0
  143. package/dist/domain/table/business/warehouse/warehouse-inbound/runtime/row-change-handlers.d.ts +2 -0
  144. package/dist/domain/table/business/warehouse/warehouse-inventory/actions/index.d.ts +0 -1
  145. package/dist/domain/table/business/warehouse/warehouse-inventory/actions/scan.d.ts +9 -7
  146. package/dist/domain/table/business/warehouse/warehouse-inventory/index.d.ts +1 -0
  147. package/dist/domain/table/business/warehouse/warehouse-inventory/profile/api.d.ts +3 -0
  148. package/dist/domain/table/business/warehouse/warehouse-inventory/profile/field-keys.d.ts +30 -43
  149. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/index.d.ts +1 -2
  150. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/row-change-handlers.d.ts +2 -18
  151. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/stocktake-calc.d.ts +8 -59
  152. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/stocktake-dimension.d.ts +10 -0
  153. package/dist/domain/table/business/warehouse/warehouse-inventory/types.d.ts +24 -22
  154. package/dist/domain/table/business/warehouse/warehouse-out/actions/index.d.ts +1 -0
  155. package/dist/domain/table/business/warehouse/warehouse-out/actions/scan.d.ts +7 -0
  156. package/dist/domain/table/business/warehouse/warehouse-out/index.d.ts +3 -0
  157. package/dist/domain/table/business/warehouse/warehouse-out/profile/field-keys.d.ts +44 -0
  158. package/dist/domain/table/business/warehouse/warehouse-out/profile/fields.d.ts +2 -0
  159. package/dist/domain/table/business/warehouse/warehouse-out/profile/index.d.ts +3 -0
  160. package/dist/domain/table/business/warehouse/warehouse-out/runtime/register-handlers.d.ts +1 -0
  161. package/dist/domain/table/business/warehouse/warehouse-out/runtime/row-change-handlers.d.ts +5 -0
  162. package/dist/domain/table/business/warehouse/warehouse-outbound/index.d.ts +2 -0
  163. package/dist/domain/table/business/warehouse/warehouse-outbound/profile/field-keys.d.ts +34 -0
  164. package/dist/domain/table/business/warehouse/warehouse-outbound/profile/fields.d.ts +2 -0
  165. package/dist/domain/table/business/warehouse/warehouse-outbound/profile/index.d.ts +3 -0
  166. package/dist/domain/table/business/warehouse/warehouse-outbound/runtime/register-handlers.d.ts +1 -0
  167. package/dist/domain/table/business/warehouse/warehouse-outbound/runtime/row-change-handlers.d.ts +2 -0
  168. package/dist/domain/table/design/ribbon-options.d.ts +8 -1
  169. package/dist/domain/table/design/validate-nested-table-region.d.ts +31 -0
  170. package/dist/domain/table/design/validate-table-selection.d.ts +8 -0
  171. package/dist/domain/table/index.d.ts +1 -0
  172. package/dist/domain/table/runtime/api/biz-service-api.d.ts +3 -1
  173. package/dist/domain/table/runtime/engines/linkage-engine.d.ts +9 -2
  174. package/dist/domain/table/runtime/engines/main-field-bind-engine.d.ts +2 -0
  175. package/dist/domain/table/runtime/table-runtime-utils.d.ts +6 -1
  176. package/dist/domain/table/runtime/table-runtime.d.ts +2 -0
  177. package/dist/domain/table/types.d.ts +71 -7
  178. package/dist/index.es.js +30579 -17522
  179. package/dist/runtime/canvas/__common__/widget-container/overlay-render.vue.d.ts +1 -0
  180. package/dist/runtime/canvas/inline-image/resize-box.vue.d.ts +2 -2
  181. package/dist/runtime/canvas/table/render/label-parse-rule/type.d.ts +7 -1
  182. package/dist/runtime/canvas/table/render/material-consume/bom-validator.d.ts +151 -18
  183. package/dist/runtime/canvas/table/render/material-consume/context-key.d.ts +4 -0
  184. package/dist/runtime/canvas/table/render/material-consume/derived-qty.d.ts +5 -0
  185. package/dist/runtime/canvas/table/render/material-consume/index.d.ts +1 -0
  186. package/dist/runtime/canvas/table/render/material-consume/material-consume-group-merge.d.ts +46 -0
  187. package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +126 -29
  188. package/dist/runtime/canvas/table/render/material-consume/material-consume.util.d.ts +2 -3
  189. package/dist/runtime/canvas/table/render/material-consume/product-id-query.d.ts +31 -0
  190. package/dist/runtime/canvas/table/render/material-consume/scan-fill.d.ts +10 -0
  191. package/dist/runtime/canvas/table/render/material-consume/scan-validator.d.ts +192 -0
  192. package/dist/runtime/canvas/table/render/material-consume/service.d.ts +20 -0
  193. package/dist/runtime/canvas/table/render/material-consume/tmpl-bom-controller.d.ts +4 -1
  194. package/dist/runtime/canvas/table/render/material-consume/transform.d.ts +12 -0
  195. package/dist/runtime/canvas/table/render/material-consume/uom-convert-runtime.d.ts +13 -0
  196. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/business-scan-menu.d.ts +12 -0
  197. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/index.d.ts +1 -1
  198. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/quick-fill.util.d.ts +5 -1
  199. package/dist/runtime/canvas/table/shared/resolve-cell-row-change-style.d.ts +8 -4
  200. package/dist/runtime/canvas/table/table-design.vue.d.ts +1 -0
  201. package/dist/runtime/canvas/table/utils/useTableSelection.d.ts +6 -0
  202. package/dist/runtime/designer/panel/panel.vue.d.ts +1 -1
  203. package/dist/runtime/designer/ribbon/components/text-color-select.vue.d.ts +1 -1
  204. package/dist/runtime/designer/ribbon/constant/font.d.ts +13 -5
  205. package/dist/runtime/interface/computed.d.ts +1 -1
  206. package/dist/runtime/interface/fetchers.d.ts +4 -0
  207. package/dist/runtime/interface/form-change-row.d.ts +0 -1
  208. package/dist/runtime/renderer/dialogs/device-scan/device-scan-dialog.vue.d.ts +13 -12
  209. package/dist/runtime/renderer/dialogs/device-scan/submit-device-scan.d.ts +1 -0
  210. package/dist/runtime/renderer/dialogs/field-hyperlink/open-field-hyperlink.d.ts +0 -22
  211. package/dist/runtime/renderer/dialogs/signature/card-signer.vue.d.ts +14 -0
  212. package/dist/runtime/renderer/dialogs/signature/security-config.d.ts +6 -0
  213. package/dist/runtime/renderer/dialogs/signature/signature-dialog.vue.d.ts +4 -0
  214. package/dist/runtime/renderer/dropdowns/components/option-dropdown.vue.d.ts +12 -12
  215. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/biz.d.ts +11 -0
  216. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/part-inventory-ndo.d.ts +11 -0
  217. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/part-ndo.d.ts +11 -0
  218. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/product-ndo.d.ts +12 -0
  219. package/dist/runtime/renderer/dropdowns/components/tables/columns/columns.d.ts +6 -3
  220. package/dist/runtime/renderer/dropdowns/components/tables/component/device-type-select.vue.d.ts +2 -2
  221. package/dist/runtime/renderer/dropdowns/components/tables/composables/useSelectTable.d.ts +1 -0
  222. package/dist/runtime/renderer/dropdowns/components/tables/composables/useTableDropdown.d.ts +4 -0
  223. package/dist/runtime/renderer/dropdowns/components/tables/rdo-table-dropdown.vue.d.ts +13 -13
  224. package/dist/runtime/renderer/dropdowns/components/tables/strategy/selectStrategy.d.ts +16 -1
  225. package/dist/runtime/renderer/dropdowns/components/tables/table-dropdown.vue.d.ts +13 -13
  226. package/dist/runtime/renderer/dropdowns/components/tables/table-option-dropdown.vue.d.ts +338 -0
  227. package/dist/runtime/renderer/dropdowns/components/tables/utils/assoc-filter.d.ts +8 -3
  228. package/dist/runtime/renderer/dropdowns/components/tables/utils/quick-search.d.ts +6 -4
  229. package/dist/runtime/renderer/dropdowns/components/tree/tree-dropdown.vue.d.ts +12 -12
  230. package/dist/runtime/renderer/dropdowns/composables/useDropdownViewportSize.d.ts +7 -0
  231. package/dist/runtime/validation/useFormValidator.d.ts +5 -2
  232. package/dist/sdk/doc-runtime/factories/useDocumentFactory.d.ts +5 -1
  233. package/dist/sdk/types/field-model-query.d.ts +2 -0
  234. package/dist/sdk/types/index.d.ts +8 -1
  235. package/dist/suites/edhr/component/resolve-field-render-colors.d.ts +15 -0
  236. package/dist/suites/edhr/manifest/field/_common_/basic.d.ts +8 -2
  237. package/dist/suites/edhr/manifest/field/business/operation-manifest.d.ts +2 -0
  238. package/dist/suites/edhr/manifest/field/business/operation-output-qty-manifest.d.ts +2 -0
  239. package/dist/suites/edhr/manifest/field/business/operation-receive-qty-manifest.d.ts +2 -0
  240. package/dist/suites/edhr/manifest/field/business/production-qty-manifest.d.ts +2 -0
  241. package/dist/suites/edhr/manifest/field/logic/model-relation-manifest.d.ts +2 -0
  242. package/dist/suites/edhr/manifest/field/material/target-warehouse-manifest.d.ts +2 -0
  243. package/dist/suites/edhr/manifest/field/object-type/date-object-manifest.d.ts +3 -0
  244. package/dist/suites/edhr/manifest/field/object-type/re-inspection-date-manifest.d.ts +2 -0
  245. package/dist/suites/edhr/manifest/field/object-type/validity-manifest.d.ts +2 -0
  246. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/bom-validator.d.ts +74 -0
  247. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/index.d.ts +3 -0
  248. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/linkage.d.ts +69 -0
  249. package/dist/suites/edhr/panel-schema/data-init/material-consume-object/use-tmpl-bom.d.ts +13 -0
  250. package/dist/suites/edhr/panel-schema/data-init/object-init/object-init.vue.d.ts +7 -5
  251. package/dist/suites/edhr/panel-schema/index.d.ts +3 -0
  252. package/dist/suites/edhr/panel-schema/material-consume-table/bom-entry-editor.vue.d.ts +2 -1
  253. package/dist/suites/edhr/panel-schema/material-requisition-table/material-requisition-table.basic.d.ts +1 -0
  254. package/dist/suites/edhr/panel-schema/warehouse-in-table/warehouse-in-table.basic.d.ts +1 -0
  255. package/dist/suites/edhr/panel-schema/warehouse-out-table/warehouse-out-table.basic.d.ts +1 -0
  256. package/dist/suites/eqm/index.d.ts +1 -1
  257. package/dist/suites/eqm/panel-router/index.d.ts +2 -0
  258. package/dist/suites/eqm/panel-schema/device-part-consume-table/device-part-consume-table.basic.d.ts +1 -0
  259. package/dist/suites/eqm/panel-schema/index.d.ts +7 -0
  260. package/dist/suites/eqm/panel-schema/part-stocktake-table/part-stocktake-table.basic.d.ts +1 -0
  261. package/dist/suites/eqm/panel-schema/warehouse-inbound-table/warehouse-inbound-table.basic.d.ts +1 -0
  262. package/dist/suites/eqm/panel-schema/warehouse-outbound-table/warehouse-outbound-table.basic.d.ts +1 -0
  263. package/dist/suites/shared/hooks/useFieldPanel.d.ts +1 -0
  264. package/dist/suites/shared/panel/config/editor/display-fields-editor/display-fields-editor.vue.d.ts +4 -3
  265. package/dist/suites/shared/panel/config/editor/display-fields-editor/display-fields.util.d.ts +8 -0
  266. package/dist/suites/shared/panel/config/editor/field-config-visibility.d.ts +2 -0
  267. package/dist/suites/shared/panel/config/editor/qrcode-parse-editor/barcode-parsing-rules-group-editor.vue.d.ts +28 -0
  268. package/dist/suites/shared/panel/config/editor/quick-search-editor/quick-search.util.d.ts +5 -7
  269. package/dist/suites/shared/panel/config/editor/ref-autofill-editor/field-tree-select.vue.d.ts +2 -2
  270. package/dist/suites/shared/panel/config/editor/ref-autofill-editor/utils.d.ts +3 -2
  271. package/dist/suites/shared/panel/modules/field-dependency-module/field-dependency-modal.vue.d.ts +2 -0
  272. package/dist/suites/shared/panel/utils/open-design-modal.d.ts +7 -0
  273. package/dist/suites/shared/suite-features.d.ts +19 -0
  274. package/dist/utils/adapters/ServiceUtil.d.ts +5 -2
  275. package/dist/utils/adapters/TriggerUtil.d.ts +1 -1
  276. package/dist/utils/fonts/cjk-font-catalog.d.ts +24 -1
  277. package/dist/utils/func/file.d.ts +1 -1
  278. package/dist/word.css +1466 -1054
  279. package/package.json +3 -2
  280. package/dist/domain/table/business/preprocess/pretreatment-list/actions/change-parse-rule.d.ts +0 -7
  281. package/dist/domain/table/business/preprocess/pretreatment-list/runtime/remote-sync-apply.d.ts +0 -2
  282. package/dist/domain/table/business/shared/change-parse-rule.d.ts +0 -10
  283. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/actions/change-parse-rule.d.ts +0 -7
  284. package/dist/domain/table/business/sterilize/entrust-steril-batch-list/runtime/remote-sync-apply.d.ts +0 -2
  285. package/dist/domain/table/business/warehouse/warehouse-allocate/actions/change-parse-rule.d.ts +0 -7
  286. package/dist/domain/table/business/warehouse/warehouse-allocate/types.d.ts +0 -38
  287. package/dist/domain/table/business/warehouse/warehouse-inventory/actions/change-parse-rule.d.ts +0 -7
  288. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/remote-sync-apply.d.ts +0 -9
  289. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/scan-config.d.ts +0 -38
  290. package/dist/domain/table/business/warehouse/warehouse-inventory/runtime/warehouse-context.d.ts +0 -3
  291. /package/dist/suites/edhr/manifest/field/{trace/production-identifier-manifest.d.ts → business/inspection-qty-manifest.d.ts} +0 -0
@@ -31,6 +31,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
31
31
  onEnter?: ((...args: any[]) => any) | undefined;
32
32
  onLeave?: ((...args: any[]) => any) | undefined;
33
33
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
34
+ pickerTriggerRef: HTMLDivElement;
34
35
  fieldPreviewRef: ({
35
36
  $: import('vue').ComponentInternalInstance;
36
37
  $data: {};
@@ -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,59 @@
1
- import { IBomEntry, IMaterialConsumeData, MaterialConsumptionPatternEnum } from '../../../../../domain/table/business/material/types';
1
+ import { IBomEntry, IMaterialConsumeData } from '../../../../../domain/table/business/material/types';
2
+ /** 提交时定位到单元格的物料消耗表行级错误。 */
3
+ export declare class McRowValidateError extends Error {
4
+ readonly targetFieldId: 'product_id_' | 'material_no_' | 'qty_' | 'expiration_date_';
5
+ readonly row: IMaterialConsumeData;
6
+ constructor(message: string, targetFieldId: 'product_id_' | 'material_no_' | 'qty_' | 'expiration_date_', row: IMaterialConsumeData);
7
+ }
8
+ /** 扫码校验通过后抛给填充层的完整计划(下标相对入参 arr) */
9
+ export interface ScanFillPlan {
10
+ target: BomEntryValidator;
11
+ current: BomEntryValidator;
12
+ needSwitch: boolean;
13
+ needInsert: boolean;
14
+ /** 建组时空占位插入下标;无需建组时为 -1 */
15
+ groupInsertIndex: number;
16
+ memberIndexes: number[];
17
+ emptyProductIndexes: number[];
18
+ emptyLotIndexes: number[];
19
+ /** 组内再新增一行的下标 */
20
+ appendIndex: number;
21
+ }
2
22
  export declare class BomEntryValidator {
3
23
  bomEntry: IBomEntry;
4
24
  /** 是否启用顺序投料 */
5
25
  enableSequenceLoading: boolean;
6
- /** 批次数量 */
7
- materialNoNum: number;
26
+ /** 批次/生产数量读取函数 */
27
+ private getMaterialNoNum;
8
28
  /** 历史填报数据 */
9
29
  historyData: IMaterialConsumeData[];
10
30
  /** 表单实例的批次号 */
11
31
  mainMaterialNo: string;
12
32
  /** 物料消耗模式 */
13
- mcPattern: MaterialConsumptionPatternEnum;
33
+ noBomMode: boolean;
14
34
  /** 该明细使用到的产品的id集合 */
15
35
  productIds: string[];
16
36
  /** 物料和code的映射 */
17
37
  productCodes: Record<string, string>;
18
38
  /** 历史数据中已经消耗的 */
19
39
  hasConsumed: number;
20
- /** 需求总量 */
21
- total: number;
22
40
  /** 剩于可消耗数量 */
23
41
  get remainingNum(): number;
42
+ /** 批次/生产数量(用时读取,避免构造快照过期) */
43
+ get materialNoNum(): number;
44
+ /** 需求总量 = 数量倍数 × BOM 单位用量 */
45
+ get total(): number;
24
46
  constructor(bomEntry: IBomEntry,
25
47
  /** 是否启用顺序投料 */
26
48
  enableSequenceLoading: boolean,
27
- /** 批次数量 */
28
- materialNoNum: number,
49
+ /** 批次/生产数量读取函数 */
50
+ getMaterialNoNum: () => number,
29
51
  /** 历史填报数据 */
30
52
  historyData: IMaterialConsumeData[],
31
53
  /** 表单实例的批次号 */
32
54
  mainMaterialNo: string,
33
55
  /** 物料消耗模式 */
34
- mcPattern: MaterialConsumptionPatternEnum);
56
+ noBomMode: boolean);
35
57
  /**
36
58
  * 翻译物料的code
37
59
  * @param productId
@@ -44,8 +66,29 @@ export declare class BomEntryValidator {
44
66
  * @return {*}
45
67
  */
46
68
  filterGroupData(arr: IMaterialConsumeData[]): IMaterialConsumeData[];
69
+ /** 行是否属于本 BOM 组(优先 bom_entry_id_,避免跨组 product_id_ 误判) */
70
+ isRowInGroup(row: IMaterialConsumeData): boolean;
71
+ /** 组内已选中的物料(整批替代;不排除当前行) */
72
+ getGroupExistingProductId(tableData: IMaterialConsumeData[]): string | undefined;
73
+ /**
74
+ * 本组 product_id_ 下拉可选范围
75
+ * - 未开替代料:仅主料
76
+ * - 整批替代:组内已有 → 锁定该物料;否则主料+替代料
77
+ * - 混用等:主料+替代料
78
+ */
79
+ getSelectableProductIds(tableData: IMaterialConsumeData[]): string[];
47
80
  validateSubstitute(arr: IMaterialConsumeData[]): void;
48
81
  validateLotMixing(arr: IMaterialConsumeData[]): void;
82
+ /**
83
+ * 通用校验 3(带即将写入的行):组内已有行 + row 的批次去重后,是否超过混批次数。
84
+ * - 非按批次 / 未开混批校验 / row 不属于本组 → 直接通过
85
+ * - 排除空物料;空批次不计入
86
+ */
87
+ validateLotMixingWithRow(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): void;
88
+ /** 指定物料批次:material_no_ 须在 specified_material_entries_ 的 name_ 范围内 */
89
+ validateSpecifiedMaterialNo(row: IMaterialConsumeData): void;
90
+ /** 整组指定批次校验:组内每一行有批次值的都检查 */
91
+ validateSpecifiedMaterialNoForGroup(arr: IMaterialConsumeData[]): void;
49
92
  /**
50
93
  * 校验数量
51
94
  * @param arr
@@ -63,6 +106,8 @@ export declare class BomEntryValidator {
63
106
  * @return {*}
64
107
  */
65
108
  calcQtyConsumed(arr?: IMaterialConsumeData[]): number;
109
+ /** 上下限校验优先使用单位转换后的数量,历史数据未转换时兼容原数量。 */
110
+ calcQtyForBounds(arr: IMaterialConsumeData[]): number;
66
111
  /**
67
112
  * 计算自定义的数量校验的最大值和最小值
68
113
  * @param data
@@ -72,6 +117,12 @@ export declare class BomEntryValidator {
72
117
  max: any;
73
118
  min: any;
74
119
  }>;
120
+ /**
121
+ * 通用校验 5:本组上料数量是否满足 qty_validation_rule_。
122
+ * 前置假设:必填、替代料、混批等已由调用方完成。
123
+ * @param sequential 是否按顺序上料;eq 规则在非顺序模式下允许少上
124
+ */
125
+ validateGroupQty(arr: IMaterialConsumeData[], sequential?: boolean, groupNo?: number): Promise<void>;
75
126
  /**
76
127
  * 按顺序投料用
77
128
  * 检查数据中的当前明细的填报是否已经完成
@@ -83,26 +134,28 @@ export declare class BomEntriesValidator {
83
134
  entries: IBomEntry[];
84
135
  /** 是否启用顺序投料 */
85
136
  enableSequenceLoading: boolean;
86
- /** 批次数量 */
87
- materialNoNum: number;
137
+ /** 批次/生产数量读取函数 */
138
+ getMaterialNoNum: () => number;
88
139
  /** 历史填报数据 */
89
140
  historyData: IMaterialConsumeData[];
90
141
  /** 表单实例的批次号 */
91
142
  mainMaterialNo: string;
92
143
  /** 物料消耗模式 */
93
- mcPattern: MaterialConsumptionPatternEnum;
144
+ noBomMode: boolean;
94
145
  bomEntryValidators: BomEntryValidator[];
95
146
  constructor(entries: IBomEntry[],
96
147
  /** 是否启用顺序投料 */
97
148
  enableSequenceLoading: boolean,
98
- /** 批次数量 */
99
- materialNoNum: number,
149
+ /** 批次/生产数量读取函数 */
150
+ getMaterialNoNum: () => number,
100
151
  /** 历史填报数据 */
101
152
  historyData: IMaterialConsumeData[],
102
153
  /** 表单实例的批次号 */
103
154
  mainMaterialNo: string,
104
155
  /** 物料消耗模式 */
105
- mcPattern: MaterialConsumptionPatternEnum);
156
+ noBomMode: boolean);
157
+ /** 当前批次/生产数量 */
158
+ get materialNoNum(): number;
106
159
  /**
107
160
  * 翻译物料的code
108
161
  * @param productId
@@ -115,13 +168,72 @@ export declare class BomEntriesValidator {
115
168
  * @return {*}
116
169
  */
117
170
  findUtilByProductId(productId: string): BomEntryValidator | undefined;
171
+ /** 与 Excel 角标一致:只收集可定位到单元格的行级错误。 */
172
+ collectRowErrors(arr: IMaterialConsumeData[]): McRowValidateError[];
173
+ /** 编辑行所属组 id;空物料且无 bom_entry_id_ 时返回 null */
174
+ private getRowGroupId;
175
+ /**
176
+ * 是否有正在编辑的组。
177
+ * 一组可多行同时 !is_confirmed_;正常应只有一组。
178
+ * @returns 有编辑行且只落在一组 → true;无编辑行 → false;跨多组编辑 → 抛错
179
+ */
180
+ hasEditingGroup(arr: IMaterialConsumeData[]): boolean;
181
+ /** 取当前唯一编辑组的 BOM 明细 id;没有则 undefined */
182
+ getEditingGroupId(arr: IMaterialConsumeData[]): string | undefined;
183
+ /**
184
+ * 行 → BOM 明细在 bomEntryValidators 中的下标,找不到返回 -1
185
+ */
186
+ resolveEntryIndex(row: IMaterialConsumeData): number;
187
+ /**
188
+ * 行所属组在序号列中的 groupOrderIndex(0-based;-1 未绑 BOM 组)
189
+ * 与 material-consume-table 序号列逻辑一致
190
+ */
191
+ resolveGroupOrderIndex(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): number;
192
+ /** 已知 BomEntryValidator 时算 groupOrderIndex */
193
+ resolveGroupOrderIndexByUtil(util: BomEntryValidator, arr: IMaterialConsumeData[]): number;
194
+ /** 非顺序上料:BOM 组在表中首次出现的顺序(0-based) */
195
+ private resolveEntryOrderInTable;
196
+ /**
197
+ * 定位顺序上料时的当前编辑组对应 BOM 明细。
198
+ * 编辑行无物料时,用前后组夹出范围,取 (prev, next) 开区间起点。
199
+ */
200
+ findSequenceBomEntry(arr: IMaterialConsumeData[]): BomEntryValidator | undefined;
118
201
  /**
119
202
  * 检验是否符合顺序投料的顺序要求
120
203
  * @param row 当前编辑的行
121
204
  * @param arr 所有的数据
122
205
  * @return {*}
123
206
  */
124
- validateSequenceLoading(row: IMaterialConsumeData | undefined, arr: IMaterialConsumeData[]): Promise<void>;
207
+ validateSequenceLoading(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): Promise<void>;
208
+ /** 表中是否已有该 BOM 组(有物料行或带 bom_entry_id_ 的空行) */
209
+ private groupExistsInTable;
210
+ /**
211
+ * 按 BOM 顺序计算 target 组应插入的下标:
212
+ * 插到表中「第一个 BOM 下标更大的组」之前;没有则表末。
213
+ */
214
+ private resolveBomOrderInsertIndex;
215
+ /**
216
+ * 组装扫码填充计划:切组/建组标记 + 相对 arr 的下标。
217
+ * needInsert 时优先填 groupInsertIndex 占位行,勿再直接用 member/append 下标(会错位)。
218
+ */
219
+ private buildScanFillPlan;
220
+ /**
221
+ * 通用校验 2:物料是否允许写入目标组(不改动原 validateSubstitute)
222
+ */
223
+ private assertGroupSubstitute;
224
+ /**
225
+ * 扫码定位目标组 + 通用校验 2,返回填充计划(切组/建组/下标)。
226
+ * 不改表数据。
227
+ */
228
+ validateSequenceScan(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): ScanFillPlan;
229
+ /**
230
+ * 单组整组校验(提交编辑态组 / 切组前复用)
231
+ */
232
+ validateGroup(arr: IMaterialConsumeData[], util: BomEntryValidator): Promise<void>;
233
+ /**
234
+ * 切组前校验当前编辑组:BOM 内 + 必填、有效期、替代料、混批、数量校验
235
+ */
236
+ validateCurrentGroupForSwitch(arr: IMaterialConsumeData[], current: BomEntryValidator): Promise<void>;
125
237
  /**
126
238
  * 校验物料是否在bom里被使用
127
239
  * @param row 单行的数据
@@ -142,6 +254,10 @@ export declare class BomEntriesValidator {
142
254
  * @param arr
143
255
  */
144
256
  validateLotMixing(arr: IMaterialConsumeData[]): void;
257
+ /**
258
+ * 通用校验 3(扫码/写入前):用 row + 表内同行组数据对比混批次数,不改动原 validateLotMixing
259
+ */
260
+ validateLotMixingWithRow(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): void;
145
261
  /**
146
262
  * 校验数量
147
263
  * @param arr
@@ -158,10 +274,23 @@ export declare class BomEntriesValidator {
158
274
  */
159
275
  validate(arr: IMaterialConsumeData[]): Promise<void>;
160
276
  /**
161
- * 检查扫描数据是否可以插入
277
+ * 检查扫描数据是否可以插入,通过后返回填充计划(记录模式无 plan)
278
+ */
279
+ validateScanCanInsert(row: IMaterialConsumeData, arr: IMaterialConsumeData[]): Promise<ScanFillPlan | undefined>;
280
+ /**
281
+ * 校验当前编辑行的数据
162
282
  * @param arr
283
+ * @returns
284
+ */
285
+ validateEditRow(arr: IMaterialConsumeData[]): Promise<void>;
286
+ /**
287
+ * 顺序上料提交:表中最后一组之前,必须上料组不能缺失(仅结构/顺序,不校验数量)
288
+ */
289
+ private assertSubmitSequenceOrder;
290
+ /**
291
+ * 提交整表校验:必须上料组须存在;顺序上料校验组序;表中存在的组走整组校验(不含库存)
163
292
  */
164
- validateScanCanInsert(arr: IMaterialConsumeData[]): Promise<void>;
293
+ validateAllRows(arr: IMaterialConsumeData[]): Promise<void>;
165
294
  /**
166
295
  * 把扫描数据按情况插入到数组的位置,返回新数组
167
296
  * @param row
@@ -174,3 +303,7 @@ export declare class BomEntriesValidator {
174
303
  */
175
304
  getAllMaterialIds(): (string | undefined)[];
176
305
  }
306
+ /** 行是否属于指定 BOM 组(未 deleted_,且 product_id_ 或 bom_entry_id_ 匹配) */
307
+ export declare function isRowInBomGroup(row: IMaterialConsumeData, util: BomEntryValidator): boolean;
308
+ /** 设置整组编辑态:editing=true → is_confirmed_=false */
309
+ 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;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 未选择物料时,已消耗数量与当前行消耗数量保持一致。
3
+ * 空值统一写为 null,避免数值字段向提交接口传递空字符串。
4
+ */
5
+ export declare function resolveConsumedQtyWithoutProduct(value: unknown): number | null;
@@ -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,46 @@
1
+ import { IMaterialConsumeData } from '../../../../../domain/table/business/material/types';
2
+ import { BomEntriesValidator } from './bom-validator';
3
+ import { Row } from '../../types/table';
4
+ /** Word 序号组件使用 pageWidgetMeta;业务字段使用 widgetMeta。 */
5
+ export declare function getGroupMergeColumn(cell: Row['cells'][number]): string | undefined;
6
+ /** 按组合并的组级只读字段(不含 qty_) */
7
+ export declare const GROUP_MERGE_FIELDS: Set<keyof IMaterialConsumeData>;
8
+ /** 是否为按组合并列:序号组件 + 组级字段 */
9
+ export declare function isGroupMergeCell(tdInfo: any): boolean;
10
+ /** 连续相同 key 的行属于同一合并组 */
11
+ export declare function getGroupMergeKey(row: IMaterialConsumeData, validator: BomEntriesValidator): string;
12
+ /** 与 Excel 序号组件保持相同的起始值、步长和未绑 BOM 处理。 */
13
+ export declare function formatGroupSerialNumber(groupOrderIndex: number, props: {
14
+ initialValue?: number;
15
+ autoAddValue?: number;
16
+ }): string;
17
+ /** 只替换画布序号文本,保留布局节点原型与其他单元格内容。 */
18
+ export declare function withGroupSerialNumber(cell: Row['cells'][number], groupOrderIndex: number): {
19
+ children: any[];
20
+ id: string;
21
+ x: number;
22
+ layoutX: number;
23
+ width: number;
24
+ height: number;
25
+ mergeFromId?: string;
26
+ backgroundColor?: string;
27
+ isNested: boolean;
28
+ pl: number;
29
+ pr: number;
30
+ pt: number;
31
+ pb: number;
32
+ rowspan: number;
33
+ colspan: number;
34
+ subRenderer?: import('../../../../../core').SubRenderer;
35
+ };
36
+ /**
37
+ * 当前页可见行的组 rowspan 计划
38
+ * - spans[i] > 1:组首行,值为 rowspan
39
+ * - spans[i] === 1:单行组,正常渲染
40
+ * - spans[i] === 0:组内后续行,跳过该列 td
41
+ */
42
+ export declare function calcGroupRowSpans(rows: IMaterialConsumeData[], validator: BomEntriesValidator): number[];
43
+ /** 计算某一 BOM 组的总上料数量 */
44
+ export declare function calcGroupQtyConsumedTotal(entryIdx: number, tableData: IMaterialConsumeData[], validator: BomEntriesValidator): number;
45
+ /** 回写全表 qty_consumed_total_(组内每行写相同值,便于提交) */
46
+ export declare function syncGroupQtyConsumedTotals(tableData: IMaterialConsumeData[], validator: BomEntriesValidator): void;
@@ -1,7 +1,7 @@
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
- import { BomEntriesValidator } from './bom-validator';
4
+ import { BomEntriesValidator, McRowValidateError } from './bom-validator';
5
5
  import { Doc } from '../../../../../core';
6
6
  import { ParsedValuePath } from '../../../../../utils/func/core';
7
7
  import { DataManager } from '../../../../../core/data';
@@ -19,8 +19,8 @@ export interface UpdateRowOption {
19
19
  /**
20
20
  * 物料消耗表字段控制 v2026.6.15
21
21
  * - [需求数量、已消耗数量] 始终只读
22
- * - [有效期、唯一标识、自定义字段] 始终可填(不做控制)
23
- * - 选择的物料类型是[查看物料]时 [批次、上料数量、工序] 只读
22
+ * - 编辑态可填写[有效期、唯一标识、自定义字段];顺序上料的确认态整行只读
23
+ * - 选择的物料类型是[查看物料]时 [批次、上料数量] 只读(与 Excel calcDisabledFields 一致)
24
24
  * - 单行校验通过后(包括暂存后再次编辑)[物料、批次、上料数量、工序、需求数量单位、数量单位、转换后数量、转换数量单位ID、单位转化公式] 只读
25
25
  * v2026.7.30
26
26
  * - [物料消耗模式]是[记录模式]时,可以填写[需求数量](BOM 模式禁用 需求数量)
@@ -54,6 +54,14 @@ export declare class MCDataUtil {
54
54
  rowPath: string;
55
55
  disabled: boolean;
56
56
  }): void;
57
+ /**
58
+ * 编辑态行:按 Excel calcDisabledFields 禁用字段,其余受控字段可填
59
+ */
60
+ static applyEditingRowDisablement(option: {
61
+ dataManager: DataManager;
62
+ rowPath: string;
63
+ disabledFields: string[];
64
+ }): void;
57
65
  /**
58
66
  * 校验通过后,更新指定字段是否禁用
59
67
  * 参顶部[物料消耗表字段控制]
@@ -63,6 +71,7 @@ export declare class MCDataUtil {
63
71
  dataManager: DataManager;
64
72
  rowPath: string;
65
73
  disabled: boolean;
74
+ row?: IMaterialConsumeData;
66
75
  }): void;
67
76
  /**
68
77
  * 设置行数据的编辑状态
@@ -85,8 +94,23 @@ export declare class MaterialConsumeTableController {
85
94
  */
86
95
  subTableInfo: ISubTableInfo;
87
96
  /** 表单模型控制器 */
88
- /** 批次数量 */
89
- get materialNoNum(): number;
97
+ /** 当前 paper 上配置的单位转化规则(由组件 setup 注入) */
98
+ unitConversionRules: any[];
99
+ /** 主表 formState(由组件 setup 注入),用于读取主表字段值 */
100
+ mainFormState: Ref<any>;
101
+ /** 表单数据状态(由组件 setup 注入):未填报 / STASH / SUBMIT */
102
+ dataStatus?: string;
103
+ /** 表单是否已暂存或提交(已处理过则不再跑初始化) */
104
+ get isDataProcessed(): boolean;
105
+ /** 当前控制器已绑定的文档。一个文档可能拆成多个画布表格组件。 */
106
+ private setupDoc?;
107
+ /** 脱离分页表格组件生命周期,同一文档只保留一组监听。 */
108
+ private setupMainUnsubscribe?;
109
+ /** 监听表格字段变更,确保普通输入组件修改 qty_ 后也会刷新派生数量。 */
110
+ private setupDataUnsubscribe?;
111
+ private setupUomUnsubscribe?;
112
+ /** 批次数量或生产数量 */
113
+ get materialNoNum(): any;
90
114
  /** 物料消耗模式(自身没有配置的话取环境的默认值) */
91
115
  get mcPattern(): MaterialConsumptionPatternEnum;
92
116
  /**
@@ -99,6 +123,8 @@ export declare class MaterialConsumeTableController {
99
123
  };
100
124
  /** 解析规则映射配置 */
101
125
  scanRuleProps?: ParseRuleProps;
126
+ /**条码参数配置 */
127
+ scanParamType: ScanParamType;
102
128
  /**
103
129
  * 解析规则配置
104
130
  */
@@ -125,10 +151,6 @@ export declare class MaterialConsumeTableController {
125
151
  * @param id (老数据是id,新数据是json对象字符串)
126
152
  */
127
153
  protected initScanRule(id: string): Promise<void>;
128
- /**
129
- * 变更条码规则
130
- */
131
- changeScanRule(__mainModelKey: string, subModelKey: string): Promise<void>;
132
154
  /**
133
155
  * 是否人为指定物料
134
156
  * @readonly
@@ -143,6 +165,19 @@ export declare class MaterialConsumeTableController {
143
165
  * 根据bom明细构造子表数据(初始化时)
144
166
  */
145
167
  calcFormState(): IMaterialConsumeData[] | undefined;
168
+ /**
169
+ * 未填报时初始化消耗表行数据
170
+ * @param defaultData 子表行默认值(含工序等)
171
+ */
172
+ initTableData(dataManager: DataManager, subFieldKey: string, defaultData?: Record<string, any>): number[];
173
+ /**
174
+ * 根据数据计算需要禁用的字段
175
+ * @param row
176
+ * @return {*}
177
+ */
178
+ calcDisabledFields(row: IMaterialConsumeData): (keyof IMaterialConsumeData)[];
179
+ /** 可编辑行:对齐 Excel getNewTdInfo + calcDisabledFields */
180
+ syncEditingRowDisablement(dataManager: DataManager, rowPath: string, row: IMaterialConsumeData): void;
146
181
  /**
147
182
  * 获取是否是 物料查看
148
183
  * @param product_id_
@@ -155,22 +190,35 @@ export declare class MaterialConsumeTableController {
155
190
  */
156
191
  getProductQuery(): {
157
192
  'id_.in': (string | undefined)[];
158
- };
193
+ } | undefined;
194
+ /**
195
+ * 行级 product_id_ / material_no_ 查询共用入参
196
+ */
197
+ private buildProductQueryOptions;
198
+ /**
199
+ * 行级 product_id_ 下拉过滤(覆盖全局 id_.in)
200
+ */
201
+ getProductQueryForRow(row: IMaterialConsumeData, rowIndex?: number): import('./product-id-query').ProductIdQuery | undefined;
202
+ /**
203
+ * 行级 material_no_ 批次过滤:有物料按物料;无物料与 product_id_ 可选范围一致
204
+ */
205
+ getMaterialNoQueryForRow(row: IMaterialConsumeData, rowIndex?: number): import('./product-id-query').MaterialNoQuery;
159
206
  /**
160
207
  * 是否是第一行且物料是空行
161
208
  * @return {*}
162
209
  */
163
210
  isFirstBlankRow(): boolean;
211
+ /**
212
+ * 是否有正在编辑的组。
213
+ * 顺序上料时同时只能有一组处于编辑态;非顺序上料允许多组编辑。
214
+ */
215
+ hasEditingGroup(showMessage?: boolean): boolean;
164
216
  /**
165
217
  * 解析扫码的数据
166
218
  * 并判断是否能存入表中,返回对象则表示可以存入
167
219
  * @param str
168
220
  */
169
- protected parseScanStr(str: string, option: {
170
- doc: Doc;
171
- subModelKey: string;
172
- subFieldKey: string;
173
- }): Promise<void>;
221
+ protected parseScanStr(data: any, transformedData: any, doc: Doc): Promise<void>;
174
222
  /** 扫描是否已经打开 */
175
223
  isScanOpen: boolean;
176
224
  /**
@@ -181,41 +229,67 @@ export declare class MaterialConsumeTableController {
181
229
  doc: Doc;
182
230
  subModelKey: string;
183
231
  subFieldKey: string;
232
+ subFieldOptions: {
233
+ label: string;
234
+ value: string;
235
+ }[];
184
236
  }): Promise<void>;
185
- /**
186
- * 打开 BOM 弹窗
187
- */
188
- bomModalProps: any;
189
- openBomModal(): Promise<void>;
190
237
  /**
191
238
  * 消耗表组件setup时调用
192
239
  * @param opts
193
240
  */
194
241
  setup(opts: {
242
+ doc: Doc;
195
243
  tableDataRef: Ref<any>;
244
+ /** 主表响应式数据,用于按生产数量计算需求数量 */
245
+ mainFormState?: Ref<any>;
196
246
  subTableInfo: ISubTableInfo;
247
+ /** 表单 dataStatus,未填报才允许初始化行数据 */
248
+ dataStatus?: string;
249
+ /** 子表行默认值 */
250
+ defaultRowData?: Record<string, any>;
197
251
  }): Promise<void>;
252
+ /**
253
+ * 按当前 materialNoNum 回写各行 qty_required_(校验侧 total 已通过 getter 实时读取)
254
+ */
255
+ syncQtyRequiredFromBom(doc: Doc): void;
198
256
  /** 校验有效期 */
199
257
  validateExpiration(row: IMaterialConsumeData): void;
258
+ /**
259
+ * 物料+批次查复检日期;缺任一参数不查;无日期放过;小于当天则 throw
260
+ */
261
+ private validateReinspectionDate;
200
262
  /**
201
263
  * 校验数据,并退出编辑
202
264
  */
203
- confirm(option: UpdateRowOption, subModelKey: string, doc?: Doc): Promise<void>;
204
265
  /** 校验确认前:命中单位转换规则则写回转换结果字段 */
205
266
  private applyUnitConversionBeforeConfirm;
206
267
  /**
207
- * 生成校验清单格式的报错
208
- * @param message
209
- * @return {*}
268
+ * 对指定行集合应用单位转换规则(低层方法)。
269
+ * 命中规则则直接写入行对象上的 qty_transfer_ / qty_transfer_uom_id_ / transfer_formula_。
270
+ */
271
+ private applyUnitConversionForRows;
272
+ /**
273
+ * 提交前对所有有效行应用单位转换规则(兜底:Record 模式 / 非顺序投料无组切换)。
274
+ * 已命中规则的行写入 qty_transfer_ / qty_transfer_uom_id_ / transfer_formula_。
210
275
  */
211
- calcErrorObj(message: string): {
276
+ private applyUnitConversionForAllRows;
277
+ /** 行级错误映射到 Word 的字段路径,供校验连线定位。 */
278
+ calcErrorObj(error: McRowValidateError): {
212
279
  field: string;
213
280
  message: string;
214
281
  };
282
+ /**
283
+ * 是否是单独一行空数据
284
+ */
285
+ isOnlyEmptyRow(): boolean;
215
286
  /**
216
287
  * 提交的时候的校验
217
288
  */
218
- submitValidate(): Promise<any>;
289
+ submitValidate(): Promise<{
290
+ isValid: boolean;
291
+ fields?: Record<string, any[]>;
292
+ }>;
219
293
  /**
220
294
  * 是否有正在编辑的行
221
295
  * @return {*}
@@ -225,7 +299,22 @@ export declare class MaterialConsumeTableController {
225
299
  * 选中行开启编辑
226
300
  * @param row
227
301
  */
228
- editRow(option: UpdateRowOption, isBomPattern: boolean): void;
302
+ editRow(option: UpdateRowOption): Promise<void>;
303
+ /**
304
+ * 在当前 BOM 组下方新增一个空组。
305
+ *
306
+ * 顺序上料时,新增前需要完整校验当前编辑组;校验通过后将当前组切回确认态。
307
+ * 返回新行在活跃数据中的下标,调用方据此执行 Word 子表行初始化。
308
+ */
309
+ addGroup(option: UpdateRowOption, doc: Doc): Promise<number | undefined>;
310
+ /**
311
+ * 组内加一行:当前行下方插入,继承 bom_entry_id_。
312
+ */
313
+ addRowForGroup(option: UpdateRowOption, doc: Doc): number | undefined;
314
+ /**
315
+ * 仅剩一行时清空内容:保留行身份和默认值,并断开 BOM 组。
316
+ */
317
+ clearRow(option: UpdateRowOption, doc: Doc): void;
229
318
  /**
230
319
  * 更新整个数组的所有行的已消耗数量
231
320
  *
@@ -235,6 +324,14 @@ export declare class MaterialConsumeTableController {
235
324
  * - 删除行
236
325
  */
237
326
  updateRowConsumed(doc: Doc): void;
327
+ /**
328
+ * 组级:更新 qty_consumed_total_(同组 qty_ 之和)
329
+ */
330
+ updateGroupQtyConsumedTotal(doc: Doc): void;
331
+ /**
332
+ * qty 相关派生字段统一入口(改 qty_ / 扫码 / 删行 等都走这里)
333
+ */
334
+ updateDerivedQtyFields(doc: Doc): void;
238
335
  /**
239
336
  * 设置默认值,如工序,需求数量/已消耗数量
240
337
  * @param row
@@ -250,5 +347,5 @@ export declare class MaterialConsumeTableController {
250
347
  doc: Doc;
251
348
  parsed: ParsedValuePath;
252
349
  dataIndex: number;
253
- }): void;
350
+ }): Promise<void>;
254
351
  }
@@ -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
  */