@gct-paas/excel 0.1.28-beta.8 → 0.1.28

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 (347) hide show
  1. package/dist/{BaseComponent-yoXj5Q9c.js → BaseComponent-9YPaGJfR.js} +3 -1
  2. package/dist/{VueVideoPlayer-DnxMrbso.js → VueVideoPlayer-DDUZu4FR.js} +2 -2
  3. package/dist/{align-editor-B4gydK1M.js → align-editor-aEWznFoT.js} +1 -1
  4. package/dist/{barcode-design-Cid0MzDI.js → barcode-design-UQyluywP.js} +2 -2
  5. package/dist/base/index.es.js +718 -466
  6. package/dist/{diagonal-design-C1ZotzUS.js → diagonal-design-bGGzn_Wt.js} +2 -2
  7. package/dist/{dynamic-table-action-C1o2TjqX.js → dynamic-table-action-DmQ4nVdA.js} +825 -216
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D8HQKSsX.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BviS9x-o.js} +2457 -757
  9. package/dist/{edit.utils-CXmmCnxE-DEOcuCns.js → edit.utils-CXmmCnxE-pmY90xaE.js} +1 -1
  10. package/dist/excel.css +20939 -21654
  11. package/dist/{exceljs.min-DHw6Xo0Z.js → exceljs.min-BxkFiHRf.js} +2 -2
  12. package/dist/{font-editor-BMzWHu2P.js → font-editor-BBNgoyoK.js} +3 -3
  13. package/dist/{image-design-Cv7Md3br.js → image-design-CV8ivT4U.js} +3 -2
  14. package/dist/{index-ClwYjOaz.js → index-B94zjbXB.js} +2 -2
  15. package/dist/{index-DCyS2gPu.js → index-B9hn-Xpy.js} +62 -261
  16. package/dist/{index-CTfI5z2v.js → index-BI1w0HuA.js} +2 -2
  17. package/dist/{index-DYJ2NY6r.js → index-BIyoFjsu.js} +1 -1
  18. package/dist/{index-Cf0HUPLj.js → index-BNdFxtuu.js} +2 -2
  19. package/dist/{index-B_rAitke.js → index-BVy2F-LZ.js} +2 -2
  20. package/dist/{index-t_DIs_9d.js → index-BbRU7v-W.js} +2 -2
  21. package/dist/{index-BQLH_u5E.js → index-BgUSwNSn.js} +1 -1
  22. package/dist/{index-DPHsObDL.js → index-Bu5KxbKA.js} +2 -2
  23. package/dist/{index-DVknMcoI.js → index-BzNleuvF.js} +8 -5
  24. package/dist/{index-BC7ZPYu4.js → index-CJgeCzTz.js} +4 -7
  25. package/dist/{index-KJIuf63z.js → index-CY_9UWH1.js} +3 -3
  26. package/dist/{index-DYPfKE_B.js → index-Co8dy8tY.js} +2 -2
  27. package/dist/index-CuwWhVy-.js +26 -0
  28. package/dist/{index-B2oEU1dw.js → index-D3RlguP-.js} +2 -2
  29. package/dist/{index-De0lJXBW.js → index-DAokF2RK.js} +2 -2
  30. package/dist/{index-B_qNr-yz.js → index-DUomn6r4.js} +2 -2
  31. package/dist/{index-DLhVj92F.js → index-DVCumM_5.js} +2 -2
  32. package/dist/{index-DHCfwj7L.js → index-DX2S50Jz.js} +1 -1
  33. package/dist/{index-b03O87gX.js → index-DXutPZQB.js} +1 -1
  34. package/dist/{index-BMaOAtO5.js → index-DXvugQoP.js} +2 -2
  35. package/dist/{index-CDLpl1vT.js → index-DapZh4vf.js} +57467 -75573
  36. package/dist/{index-EGCBxJ5U.js → index-Dxiaj_9W.js} +2 -2
  37. package/dist/{index-CB2KdECV.js → index-DzZ4dTHg.js} +2 -2
  38. package/dist/index-FJwxWmrK.js +26 -0
  39. package/dist/{index-DGF9F0hk.js → index-JYTz2lAb.js} +2 -2
  40. package/dist/index-R0Xrpn-f.js +56 -0
  41. package/dist/{index-BNW93hpM.js → index-RHv1ncwn.js} +1 -1
  42. package/dist/{index-Bi8eFVNQ.js → index-eaPQQt2I.js} +1 -1
  43. package/dist/{index-Ca8Vr4hp.js → index-f4FwucgP.js} +3 -3
  44. package/dist/{index-D4SRGG7R.js → index-kZ3vhOMA.js} +2 -2
  45. package/dist/{index-yee5hcWj.js → index-q0gBBMoc.js} +2 -2
  46. package/dist/{index--m7aMhTe.js → index-s7YNVpgF.js} +1 -1
  47. package/dist/{index-DWd__rfX.js → index-zuExIXWU.js} +1 -1
  48. package/dist/index.es.js +49 -47
  49. package/dist/{mb-render-DNA0sAdk.js → mb-render-BBRR_byl.js} +3 -3
  50. package/dist/{version-select-Dt0iT2ZE.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-BGrVMSEF.js} +418 -421
  51. package/dist/{pagination-design-a-8WGmGL.js → pagination-design-D2f9xg95.js} +2 -2
  52. package/dist/paper-widget-design-COSbrtAL.js +4 -0
  53. package/dist/{qrcode-design-CWa7ucIf.js → qrcode-design-DuLbid5Q.js} +1 -1
  54. package/dist/{revo-grid.entry-D7L9YPVS.js → revo-grid.entry-DW8yYngF.js} +1 -1
  55. package/dist/{revogr-attribution_7.entry-Cp0OE2PX.js → revogr-attribution_7.entry-WnSOjAfL.js} +3 -3
  56. package/dist/{revogr-clipboard_3.entry-CcGTw0f4.js → revogr-clipboard_3.entry-5f1ZtJWy.js} +2 -2
  57. package/dist/{revogr-data_4.entry-Bh7oCpj9.js → revogr-data_4.entry-BwcXhOPY.js} +2 -2
  58. package/dist/{revogr-filter-panel.entry-OJyr7l1E.js → revogr-filter-panel.entry-CXpo_Btw.js} +1 -1
  59. package/dist/{serialnumber-design-BDTeHe2C.js → serialnumber-design-CYdELIDU.js} +1 -1
  60. package/dist/shared/index.es.js +25 -30
  61. package/dist/{single-field-drop-C-IeYaFA.js → single-field-drop-BpdZOAYb.js} +2 -2
  62. package/dist/{size-editor-Ibjf73lo.js → size-editor-Dr3sVcUl.js} +1 -1
  63. package/dist/src/adapter/adapter.d.ts +36 -0
  64. package/dist/src/adapter/setup.d.ts +18 -12
  65. package/dist/src/domain/field/auto-complete/material-container-manifest.d.ts +2 -0
  66. package/dist/src/domain/field/auto-complete/material-no-manifest.d.ts +2 -0
  67. package/dist/src/domain/field/auto-complete/related-lot-no-manifest.d.ts +2 -0
  68. package/dist/src/domain/field/auto-complete/scrap-material-no-manifest.d.ts +2 -0
  69. package/dist/src/domain/field/auto-complete/sterilization-container-manifest.d.ts +2 -0
  70. package/dist/src/domain/field/date/date-manifest.d.ts +2 -0
  71. package/dist/src/domain/field/date/date-time-manifest.d.ts +2 -0
  72. package/dist/src/domain/field/date/production-date-manifest.d.ts +2 -0
  73. package/dist/src/domain/field/date/re-inspection-date-manifest.d.ts +2 -0
  74. package/dist/src/domain/field/date/report-end-time-manifest.d.ts +2 -0
  75. package/dist/src/domain/field/date/report-start-time-manifest.d.ts +2 -0
  76. package/dist/src/domain/field/date/time-manifest.d.ts +2 -0
  77. package/dist/src/domain/field/date/trace-date-manifest.d.ts +2 -0
  78. package/dist/src/domain/field/date/validity-manifest.d.ts +2 -0
  79. package/dist/src/domain/field/date/warehouse-receipt-date-manifest.d.ts +2 -0
  80. package/dist/src/domain/field/index.d.ts +9 -0
  81. package/dist/src/domain/field/number/decimal-manifest.d.ts +2 -0
  82. package/dist/src/domain/field/number/destructive-test-qty-manifest.d.ts +2 -0
  83. package/dist/src/domain/field/number/double-manifest.d.ts +2 -0
  84. package/dist/src/domain/field/number/good-qty-manifest.d.ts +2 -0
  85. package/dist/src/domain/field/number/inspection-qty-manifest.d.ts +2 -0
  86. package/dist/src/domain/field/number/integer-manifest.d.ts +2 -0
  87. package/dist/src/domain/field/number/long-manifest.d.ts +2 -0
  88. package/dist/src/domain/field/number/material-check-qty-manifest.d.ts +2 -0
  89. package/dist/src/domain/field/number/not-good-qty-manifest.d.ts +2 -0
  90. package/dist/src/domain/field/number/of-inst-num-manifest.d.ts +2 -0
  91. package/dist/src/domain/field/number/operation-output-qty-manifest.d.ts +2 -0
  92. package/dist/src/domain/field/number/operation-receive-qty-manifest.d.ts +2 -0
  93. package/dist/src/domain/field/number/product-check-qty-manifest.d.ts +2 -0
  94. package/dist/src/domain/field/number/production-qty-manifest.d.ts +2 -0
  95. package/dist/src/domain/field/number/qty-consumed-manifest.d.ts +2 -0
  96. package/dist/src/domain/field/number/qty-manifest.d.ts +2 -0
  97. package/dist/src/domain/field/number/qty-required-manifest.d.ts +2 -0
  98. package/dist/src/domain/field/number/scrap-qty-manifest.d.ts +2 -0
  99. package/dist/src/domain/field/number/work-hours-manifest.d.ts +2 -0
  100. package/dist/src/domain/field/option/boolean-manifest.d.ts +2 -0
  101. package/dist/src/domain/field/option/enum-manifest.d.ts +2 -0
  102. package/dist/src/domain/field/option/enum-multi-manifest.d.ts +2 -0
  103. package/dist/src/domain/field/option/option-manifest.d.ts +2 -0
  104. package/dist/src/domain/field/option/option-multi-manifest.d.ts +2 -0
  105. package/dist/src/domain/field/rdo-select/e-sop-manifest.d.ts +2 -0
  106. package/dist/src/domain/field/rdo-select/product-manifest.d.ts +2 -0
  107. package/dist/src/domain/field/rdo-select/scrap-material-manifest.d.ts +2 -0
  108. package/dist/src/domain/field/select/device-manifest.d.ts +2 -0
  109. package/dist/src/domain/field/select/device-ref-manifest.d.ts +2 -0
  110. package/dist/src/domain/field/select/device-ref-multi-manifest.d.ts +2 -0
  111. package/dist/src/domain/field/select/location-manifest.d.ts +2 -0
  112. package/dist/src/domain/field/select/mfg-order-manifest.d.ts +2 -0
  113. package/dist/src/domain/field/select/model-relation-manifest.d.ts +2 -0
  114. package/dist/src/domain/field/select/not-good-group-manifest.d.ts +2 -0
  115. package/dist/src/domain/field/select/not-good-reason-manifest.d.ts +2 -0
  116. package/dist/src/domain/field/select/operation-manifest.d.ts +2 -0
  117. package/dist/src/domain/field/select/org-manifest.d.ts +2 -0
  118. package/dist/src/domain/field/select/org-multi-manifest.d.ts +2 -0
  119. package/dist/src/domain/field/select/production-container-manifest.d.ts +2 -0
  120. package/dist/src/domain/field/select/ref-manifest.d.ts +2 -0
  121. package/dist/src/domain/field/select/ref-multi-manifest.d.ts +2 -0
  122. package/dist/src/domain/field/select/routing-operation-manifest.d.ts +2 -0
  123. package/dist/src/domain/field/select/scrap-group-manifest.d.ts +2 -0
  124. package/dist/src/domain/field/select/scrap-reason-manifest.d.ts +2 -0
  125. package/dist/src/domain/field/select/shopfloor-manifest.d.ts +2 -0
  126. package/dist/src/domain/field/select/target-warehouse-manifest.d.ts +2 -0
  127. package/dist/src/domain/field/select/user-manifest.d.ts +2 -0
  128. package/dist/src/domain/field/select/user-multi-manifest.d.ts +2 -0
  129. package/dist/src/domain/field/select/warehouse-manifest.d.ts +2 -0
  130. package/dist/src/domain/field/text/e-sop-version-manifest.d.ts +2 -0
  131. package/dist/src/domain/field/text/external-reference-no-manifest.d.ts +2 -0
  132. package/dist/src/domain/field/text/long-text-manifest.d.ts +2 -0
  133. package/dist/src/domain/field/text/order-no-manifest.d.ts +2 -0
  134. package/dist/src/domain/field/text/record-no-manifest.d.ts +2 -0
  135. package/dist/src/domain/field/text/text-manifest.d.ts +2 -0
  136. package/dist/src/domain/field/text/warehouse-receipt-no-manifest.d.ts +2 -0
  137. package/dist/src/domain/field/types.d.ts +18 -0
  138. package/dist/src/domain/field/upload/attachment-manifest.d.ts +2 -0
  139. package/dist/src/domain/field/upload/image-manifest.d.ts +2 -0
  140. package/dist/src/domain/field/upload/reporter-manifest.d.ts +2 -0
  141. package/dist/src/domain/field/upload/signature-manifest.d.ts +2 -0
  142. package/dist/src/domain/field/upload/warehouse-manager-manifest.d.ts +2 -0
  143. package/dist/src/domain/index.d.ts +1 -0
  144. package/dist/src/domain/object/date-object/index.d.ts +5 -0
  145. package/dist/src/domain/object/date-object/profile/field-keys.d.ts +19 -0
  146. package/dist/src/domain/object/date-object/profile/fields.d.ts +2 -0
  147. package/dist/src/domain/object/date-object/profile/index.d.ts +3 -0
  148. package/dist/src/domain/object/date-object/runtime/date-object-context.d.ts +30 -0
  149. package/dist/src/domain/object/date-object/runtime/date-object-runtime.d.ts +43 -0
  150. package/dist/src/domain/object/date-object/runtime/fetch-records.d.ts +13 -0
  151. package/dist/src/domain/object/date-object/runtime/object-handlers.d.ts +4 -0
  152. package/dist/src/domain/object/date-object/runtime/re-inspection-date.d.ts +25 -0
  153. package/dist/src/domain/object/date-object/runtime/register-handlers.d.ts +1 -0
  154. package/dist/src/domain/object/date-object/runtime/row-change-handlers.d.ts +6 -0
  155. package/dist/src/domain/object/date-object/runtime/utils.d.ts +13 -0
  156. package/dist/src/domain/object/date-object/types.d.ts +53 -0
  157. package/dist/src/domain/object/index.d.ts +1 -0
  158. package/dist/src/domain/table/business/warehouse/device-part-consume/profile/field-keys.d.ts +14 -0
  159. package/dist/src/domain/table/business/warehouse/part-stocktake/profile/field-keys.d.ts +14 -0
  160. package/dist/src/domain/table/business/warehouse/shared/eqm-part-api.d.ts +13 -0
  161. package/dist/src/domain/table/business/warehouse/warehouse-in/profile/field-keys.d.ts +40 -3
  162. package/dist/src/domain/table/business/warehouse/warehouse-in/runtime/row-change-handlers.d.ts +9 -1
  163. package/dist/src/domain/table/business/warehouse/warehouse-inbound/profile/field-keys.d.ts +17 -0
  164. package/dist/src/domain/table/business/warehouse/warehouse-inventory/index.d.ts +3 -0
  165. package/dist/src/domain/table/business/warehouse/warehouse-inventory/profile/api.d.ts +14 -0
  166. package/dist/src/domain/table/business/warehouse/warehouse-inventory/profile/field-keys.d.ts +17 -34
  167. package/dist/src/domain/table/business/warehouse/warehouse-inventory/runtime/stocktake-dimension.d.ts +13 -0
  168. package/dist/src/domain/table/business/warehouse/warehouse-inventory/types.d.ts +20 -0
  169. package/dist/src/domain/table/business/warehouse/warehouse-outbound/profile/field-keys.d.ts +14 -0
  170. package/dist/src/domain/table/design/panel-features.d.ts +1 -0
  171. package/dist/src/index.d.ts +3 -0
  172. package/dist/src/nocode-base/src/components/document-quick-fill/fixed-quick-fill-modal.vue.d.ts +3 -1
  173. package/dist/src/nocode-base/src/components/document-sub-table-action/type.d.ts +2 -0
  174. package/dist/src/nocode-base/src/constant/index.d.ts +5 -1
  175. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +42 -2
  176. package/dist/src/nocode-base/src/core/sub-table/stocktake-table-core.d.ts +1 -1
  177. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +11 -0
  178. package/dist/src/nocode-base/src/core/sub-table/utils/scan/scan-helpers.d.ts +13 -0
  179. package/dist/src/nocode-base/src/core/sub-table/utils/stocktake/stocktake-calc.d.ts +3 -1
  180. package/dist/src/nocode-base/src/core/sub-table/warehouse-in-table-core.d.ts +15 -0
  181. package/dist/src/nocode-base/src/core/sub-table/warehouse-out-table-core.d.ts +1 -0
  182. package/dist/src/nocode-base/src/hooks/date-object/use-date-object.d.ts +2 -0
  183. package/dist/src/nocode-base/src/hooks/device-link/controller.d.ts +3 -4
  184. package/dist/src/nocode-base/src/hooks/device-link/types.d.ts +1 -1
  185. package/dist/src/nocode-base/src/hooks/index.d.ts +1 -0
  186. package/dist/src/nocode-base/src/hooks/material-consume/bom-validator.d.ts +20 -6
  187. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +34 -19
  188. package/dist/src/nocode-base/src/hooks/material-consume/service.d.ts +12 -0
  189. package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +1 -4
  190. package/dist/src/nocode-base/src/hooks/material-consume-object/bom-validator.d.ts +49 -8
  191. package/dist/src/nocode-base/src/hooks/material-consume-object/index.d.ts +1 -0
  192. package/dist/src/nocode-base/src/hooks/material-consume-object/product-lot-link.d.ts +35 -0
  193. package/dist/src/nocode-base/src/hooks/operation-receive-qty.d.ts +2 -0
  194. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +12 -0
  195. package/dist/src/nocode-base/src/hooks/useStyles.d.ts +2 -2
  196. package/dist/src/nocode-base/src/interface/device-query.d.ts +40 -0
  197. package/dist/src/nocode-base/src/interface/index.d.ts +2 -1
  198. package/dist/src/nocode-base/src/interface/render.d.ts +11 -0
  199. package/dist/src/nocode-base/src/interface/transform.d.ts +1 -1
  200. package/dist/src/nocode-base/src/types/business/index.d.ts +3 -1
  201. package/dist/src/nocode-base/src/types/business/pretreatment-list.d.ts +3 -1
  202. package/dist/src/nocode-base/src/types/business/sterilize-batch.d.ts +3 -1
  203. package/dist/src/nocode-base/src/types/business/stocktake.d.ts +5 -1
  204. package/dist/src/nocode-base/src/types/common/base.d.ts +8 -0
  205. package/dist/src/nocode-base/src/types/fields/i-select.d.ts +13 -1
  206. package/dist/src/nocode-base/src/types/fields/i-trace.d.ts +6 -6
  207. package/dist/src/nocode-base/src/types/widgets/i-paper.d.ts +4 -8
  208. package/dist/src/nocode-web-render/src/render/sub-table/stocktake/stocktake-web-render.d.ts +1 -1
  209. package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields-editor.vue.d.ts +3 -3
  210. package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields.util.d.ts +15 -0
  211. package/dist/src/online-form/src/views/__cell_widgets__/common/field-config-visibility.d.ts +2 -0
  212. package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search-editor.vue.d.ts +1 -4
  213. package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search.util.d.ts +12 -10
  214. package/dist/src/online-form/src/views/__cell_widgets__/common/ref-autofill-editor/autofill-field-utils.d.ts +10 -0
  215. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-input.vue.d.ts +13 -0
  216. package/dist/src/{nocode-web-render/src/render/sub-table/stocktake/scan-modal.vue.d.ts → online-form/src/views/__cell_widgets__/fake-field/fake-number-input.vue.d.ts} +7 -1
  217. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-option-select.vue.d.ts +11 -0
  218. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-select.vue.d.ts +11 -0
  219. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/index.d.ts +4 -0
  220. package/dist/src/online-form/src/views/__cell_widgets__/field-design-components.d.ts +4 -0
  221. package/dist/src/online-form/src/views/__cell_widgets__/index.d.ts +0 -3
  222. package/dist/src/online-form/src/views/__cell_widgets__/widget-panel-map.d.ts +3 -0
  223. package/dist/src/online-form/src/views/designer/constants/index.d.ts +5 -6
  224. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +80 -0
  225. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +110 -3
  226. package/dist/src/online-form/src/views/designer/modules/base/drag-box.vue.d.ts +1 -1
  227. package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/object-init/hooks/useObjectInit.d.ts +1 -1
  228. package/dist/src/online-form/src/views/designer/modules/panel/panel-tmpl-config/ai-tmpl/ai-tmpl-editor-modal.vue.d.ts +30 -0
  229. package/dist/src/online-form/src/views/designer/modules/panel/panel-tmpl-config/ai-tmpl/ai-tmpl-editor.vue.d.ts +6 -17
  230. package/dist/src/online-form/src/views/designer/modules/panel/panel-tmpl-config/ai-tmpl/types.d.ts +20 -0
  231. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +58 -0
  232. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/material-consumption/bom-entry-editor.vue.d.ts +2 -1
  233. package/dist/src/online-form/src/views/designer/modules/toolkit/model-field/add-field-btn.vue.d.ts +1 -3
  234. package/dist/src/online-form/src/views/designer/utils/cell-content-style.d.ts +30 -0
  235. package/dist/src/online-form/src/views/designer/utils/field-type-label.d.ts +1 -0
  236. package/dist/src/online-form/src/views/render/__components__/_common_/widget-component-visible.vue.d.ts +1 -0
  237. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-auto-complete.vue.d.ts +34 -0
  238. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-date-picker.vue.d.ts +23 -0
  239. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.d.ts +5 -0
  240. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +40 -0
  241. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-text-input.vue.d.ts +21 -0
  242. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-textarea.vue.d.ts +24 -0
  243. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/index.d.ts +9 -0
  244. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/use-select-list-height.d.ts +9 -0
  245. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/trace-like-wrapper.d.ts +26 -0
  246. package/dist/src/online-form/src/views/render/__components__/_field_/auto-complete/index.d.ts +14 -0
  247. package/dist/src/online-form/src/views/render/__components__/_field_/{trace → rdo-select}/index.d.ts +2 -2
  248. package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/usePopoverWrapperHeight.d.ts +11 -2
  249. package/dist/src/online-form/src/views/render/__components__/_field_/trace/utils/columns.d.ts +13 -0
  250. package/dist/src/online-form/src/views/render/__components__/_field_/trace/utils/use-rule-props.d.ts +3 -3
  251. package/dist/src/shared/components/FieldStateIcon/field-state-icon.vue.d.ts +17 -0
  252. package/dist/src/shared/components/FieldStateIcon/index.d.ts +3 -0
  253. package/dist/src/shared/components/Preview/src/Functional.vue.d.ts +1 -1
  254. package/dist/src/shared/components/Signature/index.d.ts +2 -1
  255. package/dist/src/shared/components/Signature/types/index.d.ts +4 -0
  256. package/dist/src/shared/components/Signature/ui/handwriting-signer.vue.d.ts +1 -0
  257. package/dist/src/shared/components/Signature/ui/password-signer.vue.d.ts +1 -0
  258. package/dist/src/shared/components/Signature/ui/sign-popover-content.vue.d.ts +122 -0
  259. package/dist/src/shared/components/Signature/ui/sign-switcher-modal.vue.d.ts +4 -0
  260. package/dist/src/shared/components/Signature/ui/sign-switcher.vue.d.ts +3 -0
  261. package/dist/src/shared/components/registerGlobComp.d.ts +5 -0
  262. package/dist/src/shared/enum/field-type.d.ts +39 -284
  263. package/dist/src/shared/enum/index.d.ts +1 -1
  264. package/dist/src/shared/utils/field-size.d.ts +3 -0
  265. package/dist/src/shared/utils/lot2sn.d.ts +22 -0
  266. package/dist/{text-design-B1eX7Rp1.js → text-design-CwR0nlo0.js} +2 -2
  267. package/dist/{throttle-Cpk1LoGk-kodOPzL5.js → throttle-Cpk1LoGk-Dkz6zJ8F.js} +1 -1
  268. package/dist/{timediff-design-CoDU15y8.js → timediff-design-INgy9LDa.js} +1 -1
  269. package/dist/trace-like-wrapper-CDVQC9nc.js +34 -0
  270. package/dist/{value-editor.vue_vue_type_style_index_0_lang-ey1VNCHV.js → value-editor.vue_vue_type_style_index_0_lang-B6OHtKgu.js} +2 -2
  271. package/dist/web-render/index.es.js +118 -17
  272. package/dist/{widget-barcode-DAxib6qS.js → widget-barcode-BwVnh-YN.js} +4 -4
  273. package/dist/{widget-diagonal-BLo6XT0t.js → widget-diagonal-CrwmwCig.js} +5 -7
  274. package/dist/{widget-image-D_1erLrE.js → widget-image-BBUd3Sds.js} +6 -5
  275. package/dist/{widget-line-BwnSq4--.js → widget-line-BrtK1Cyg.js} +4 -4
  276. package/dist/{widget-pagination-DZMwe14i.js → widget-pagination-CL4-9x6C.js} +5 -5
  277. package/dist/{widget-power-DfV-8moi.js → widget-power-CM63pEBI.js} +3 -3
  278. package/dist/{widget-qrcode-C3yTAHOn.js → widget-qrcode-CKaQeTLP.js} +3 -3
  279. package/dist/{widget-rangelimit-DK8hANd1.js → widget-rangelimit-CXU8rtul.js} +3 -3
  280. package/dist/{widget-serialnumber-B2pkh6KT.js → widget-serialnumber-DyIKmcmC.js} +1 -1
  281. package/dist/{widget-text-98SaLOpt.js → widget-text-s757UF00.js} +5 -5
  282. package/dist/{widget-timediff-OD7HVoVr.js → widget-timediff-C6mIOI8p.js} +2 -2
  283. package/package.json +16 -6
  284. package/dist/agg-design-BO3eBkol.js +0 -24
  285. package/dist/agg-props-DEXapyb8.js +0 -10
  286. package/dist/agg-style-CDLpFoBn.js +0 -33
  287. package/dist/attach-fields-editor-DXh9f5iy.js +0 -116
  288. package/dist/base-font-editor-Ccv90UWY.js +0 -179
  289. package/dist/boolean-design-D1BIjOGz.js +0 -124
  290. package/dist/boolean-props-Cqb1zZfy.js +0 -155
  291. package/dist/boolean-style-C2uaO_Ei.js +0 -108
  292. package/dist/cell-upload-xzz2ufK7.js +0 -35
  293. package/dist/date-range-editor-D0SCmmS0.js +0 -472
  294. package/dist/date-time-design-pv0mRSgV.js +0 -64
  295. package/dist/date-time-props-B0YQO-ig.js +0 -105
  296. package/dist/date-time-style-Dn4TErcH.js +0 -33
  297. package/dist/decimal-design-BMKikWwr.js +0 -29
  298. package/dist/decimal-display-mode-BLrn-r-H.js +0 -60
  299. package/dist/decimal-props-BXVnDByV.js +0 -313
  300. package/dist/decimal-style-C5hB5sv6.js +0 -33
  301. package/dist/default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-LcZ8lvPF.js +0 -370
  302. package/dist/double-design-5yOxs5xB.js +0 -28
  303. package/dist/double-props-CQ9yBXNl.js +0 -91
  304. package/dist/double-style-C01aPXrT.js +0 -33
  305. package/dist/enum-design-DewhmfeF.js +0 -97
  306. package/dist/enum-props-0ECHvFUr.js +0 -734
  307. package/dist/enum-style-fm5Ap8eG.js +0 -76
  308. package/dist/expression-design-BY6oI5EW.js +0 -24
  309. package/dist/expression-props-3OvDgw-p.js +0 -10
  310. package/dist/expression-style-Hhv8wnAe.js +0 -33
  311. package/dist/file-design-QE5qUMix.js +0 -17
  312. package/dist/file-props-CEGee5yo.js +0 -201
  313. package/dist/file-style-65tfxL94.js +0 -9
  314. package/dist/image-design-BoQOLCEL.js +0 -23
  315. package/dist/image-props-GuHBNt9S.js +0 -16
  316. package/dist/image-style-BLQukPqV.js +0 -9
  317. package/dist/index-CBYXYocJ.js +0 -40
  318. package/dist/index-DI8vltuS.js +0 -68
  319. package/dist/integer-design-C8kRP1tV.js +0 -28
  320. package/dist/integer-props-XICS-8Qt.js +0 -162
  321. package/dist/integer-style-BstrlNJp.js +0 -33
  322. package/dist/number-input-ex-BjIp4mym.js +0 -69
  323. package/dist/org-design-DWZI8xev.js +0 -24
  324. package/dist/org-props-0CY6-hLS.js +0 -96
  325. package/dist/org-style-HDV7obSe.js +0 -33
  326. package/dist/paper-widget-design-CT80i7VR.js +0 -4
  327. package/dist/ref-autofill-editor-CObqr_xh.js +0 -2376
  328. package/dist/ref-design-BQ8o1gKm.js +0 -24
  329. package/dist/ref-props-xjVvnvGW.js +0 -348
  330. package/dist/ref-style-MZ52QRhu.js +0 -33
  331. package/dist/regex-editor-BctX8jdd.js +0 -823
  332. package/dist/select-render-type-editor.vue_vue_type_script_setup_true_lang-CONYLCmt.js +0 -159
  333. package/dist/signature-design-CFOFAaEu.js +0 -20
  334. package/dist/signature-props-N6ng9rqg.js +0 -346
  335. package/dist/signature-style-D2QQrgMT.js +0 -9
  336. package/dist/src/nocode-base/src/hooks/material-date/material-date.d.ts +0 -44
  337. package/dist/src/nocode-base/src/hooks/material-date/service.d.ts +0 -4
  338. package/dist/src/nocode-base/src/hooks/material-date/use-material-date.d.ts +0 -2
  339. package/dist/text-design-CCs-p8Y3.js +0 -39
  340. package/dist/text-props-C6-s7LBP.js +0 -447
  341. package/dist/text-style-OUxV8LDu.js +0 -33
  342. package/dist/trace-design-Bhg0EIyC.js +0 -77
  343. package/dist/trace-props-DVekq4wE.js +0 -624
  344. package/dist/trace-style-CfSu__TO.js +0 -33
  345. package/dist/user-design-fMF_h4IG.js +0 -24
  346. package/dist/user-props-BGjEpC4j.js +0 -103
  347. package/dist/user-style-RUHIGWFF.js +0 -33
@@ -10,5 +10,7 @@ type __VLS_Props = {
10
10
  newOptions: any[];
11
11
  }[];
12
12
  };
13
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
14
+ gridContainer: HTMLDivElement;
15
+ }, HTMLDivElement>;
14
16
  export default _default;
@@ -18,6 +18,8 @@ export declare enum SubTableActionEnum {
18
18
  CopyRow2Last = "copyRow2Last",
19
19
  /** 删除当前行 */
20
20
  DeleteRowCurrent = "deleteRowCurrent",
21
+ /** 清除当前行内容 */
22
+ ClearRowCurrent = "clearRowCurrent",
21
23
  /** 确认 */
22
24
  CONFIRM = "CONFIRM",
23
25
  /** 条码扫描 */
@@ -141,8 +141,12 @@ export declare enum ComponentTypeEnum {
141
141
  Serialnumber = "serialnumber",
142
142
  /** 动态表单-值 */
143
143
  DynValue = "dyn-value",
144
- /** 追溯 */
144
+ /** 追溯(旧数据兼容,填报已拆到 auto-complete / rdo-select / select / input / datepicker) */
145
145
  Trace = "trace",
146
+ /** 批次 / 容器等可输入可选择 */
147
+ AutoComplete = "auto-complete",
148
+ /** 物料 / 报废物料 */
149
+ RdoSelect = "rdo-select",
146
150
  /** 次幂 */
147
151
  Power = "power",
148
152
  /** 时间差 */
@@ -21,18 +21,58 @@ export declare class ProfileDrivenSubTableCore extends SubTableCore {
21
21
  }): void;
22
22
  }
23
23
  /**
24
- * EQM 入库明细表 Core
24
+ * EQM 入库明细表:备件主数据 listByPage
25
25
  */
26
26
  export declare class WarehouseInboundTableCore extends ProfileDrivenSubTableCore {
27
+ handleFieldTd: SubTableCore['handleFieldTd'];
28
+ handleChange(params: {
29
+ rowData: any;
30
+ field: string;
31
+ value: any;
32
+ option?: any;
33
+ }): void;
27
34
  }
28
35
  /**
29
- * EQM 出库 / 盘点 / 消耗:Profile 驱动(库存选择后续按备件能力补齐)
36
+ * EQM 出库:备件库存 biz_get_inventory_info_list_by_page
30
37
  */
31
38
  export declare class WarehouseOutboundTableCore extends ProfileDrivenSubTableCore {
39
+ get warehouseId(): any;
40
+ handleFieldTd: SubTableCore['handleFieldTd'];
41
+ calcFieldQuery: SubTableCore['calcFieldQuery'];
42
+ handleChange(params: {
43
+ rowData: any;
44
+ field: string;
45
+ value: any;
46
+ option?: any;
47
+ }): void;
32
48
  }
49
+ /**
50
+ * EQM 备件盘点:备件库存 biz_get_inventory_info_list_by_page
51
+ */
33
52
  export declare class PartStocktakeTableCore extends ProfileDrivenSubTableCore {
53
+ get warehouseId(): any;
54
+ handleFieldTd: SubTableCore['handleFieldTd'];
55
+ calcFieldQuery: SubTableCore['calcFieldQuery'];
56
+ handleChange(params: {
57
+ rowData: any;
58
+ field: string;
59
+ value: any;
60
+ option?: any;
61
+ }): void;
34
62
  }
63
+ /**
64
+ * EQM 备件消耗:备件库存 biz_get_inventory_info_list_by_page
65
+ */
35
66
  export declare class DevicePartConsumeTableCore extends ProfileDrivenSubTableCore {
67
+ get warehouseId(): any;
68
+ handleFieldTd: SubTableCore['handleFieldTd'];
69
+ calcFieldQuery: SubTableCore['calcFieldQuery'];
70
+ handleChange(params: {
71
+ rowData: any;
72
+ field: string;
73
+ value: any;
74
+ option?: any;
75
+ }): void;
36
76
  }
37
77
  /** 生产收料表 Core */
38
78
  export declare class MaterialRequisitionTableCore extends ProfileDrivenSubTableCore {
@@ -5,7 +5,7 @@ import { ScanModalInput } from './utils/scan';
5
5
  /**
6
6
  * 库存盘点表 Core
7
7
  * - Profile:只读信息字段 / 行默认仓库 / 物料清空 / 盘点衍生
8
- * - 物料:allocateProduct + FILL_FROM_INVENTORY_OPTION
8
+ * - 物料:allocateProduct + buildFillFromInventoryOption
9
9
  * - 扫码:库存生产标识匹配;同身份累加实盘,否则新增行
10
10
  */
11
11
  export declare class StocktakeTableCore extends ProfileDrivenSubTableCore {
@@ -176,6 +176,17 @@ export declare class SubTableCore {
176
176
  * @param opts
177
177
  */
178
178
  openScanModal(): Promise<void>;
179
+ /** 解析子表默认值(函数默认值先求值),扫码填空行时忽略这些字段 */
180
+ private resolveScanIgnoreValues;
181
+ /**
182
+ * 扫码空行判定。默认走整行业务字段;出入库可覆盖为只看物料/批次。
183
+ */
184
+ protected isEmptyScanRow(row: Record<string, unknown>, ignoreValues: Record<string, unknown>): boolean;
185
+ /**
186
+ * 扫码入行:优先回填首个空壳占位行,否则追加到表尾。
187
+ * 对齐 Word appendOrFillScanRow,避免仅一行空壳时扫码落到第二行。
188
+ */
189
+ protected appendOrFillScanRow(row: Record<string, unknown>): void;
179
190
  /**
180
191
  * 扫码多条候选时选择一行(1 条自动选中)
181
192
  */
@@ -1,4 +1,17 @@
1
1
  import { IRuleParseData } from '../../../../hooks/label-parse-rule';
2
+ /** 出入库空行:物料、批次都没值 */
3
+ export declare function isProductBatchEmptyRow(row: Record<string, unknown>): boolean;
4
+ /**
5
+ * 当前行是不是「空壳占位行」,有没有真正的业务内容。
6
+ * 对齐 Word hasSubtableBusinessData:忽略 front_row_key_ / group_ / deleted_ / _* 元数据。
7
+ * ignoreValues:行默认值(如仓库上下文)不算用户填报。
8
+ */
9
+ export declare function hasSubtableBusinessData(row: Record<string, unknown> | null | undefined, ignoreValues?: Record<string, unknown>): boolean;
10
+ /**
11
+ * 扫码入行:优先回填首个空壳占位行,否则在可见区末尾新增。
12
+ * 避免版面默认空行时直接 append 导致「第一行空、第二行有数据」。
13
+ */
14
+ export declare function appendOrFillScanRow(visibleRows: Record<string, unknown>[], row: Record<string, unknown>, ignoreValues?: Record<string, unknown>, isEmptyRow?: (item: Record<string, unknown>) => boolean): Record<string, unknown>[];
2
15
  /** 扫码数量调整方向(盘点加减实盘) */
3
16
  export type ScanAdjustType = 'add' | 'minus';
4
17
  /** 扫码弹窗回传 */
@@ -17,5 +17,7 @@ export declare function getScanQtyDeductionBlockReason(current: unknown, scanQty
17
17
  * 将明细转为盘点行
18
18
  * - 页面有库位字段:不 groupBy,一条明细一行
19
19
  * - 页面无库位字段:按 批次 + 物料 + 仓库 groupBy,stock_num_ 累加
20
+ * @param warehouseSummary 是否为按仓库汇总模式(影响 inventory_id_/front_id_ 写入逻辑)
21
+ * 默认与 groupByWarehouse 一致
20
22
  */
21
- export declare function groupInventoryToStocktakeRows(records: Record<string, unknown>[], groupByWarehouse: boolean): IWarehouseInventoryRow[];
23
+ export declare function groupInventoryToStocktakeRows(records: Record<string, unknown>[], warehouseSummary: boolean): IWarehouseInventoryRow[];
@@ -1,11 +1,26 @@
1
1
  import { ProfileDrivenSubTableCore } from './profile-driven-sub-table-core';
2
2
  import { SubTableCore } from './sub-table-core';
3
+ import { IFieldStatus } from '../types';
3
4
  import { ScanModalInput } from './utils/scan';
4
5
  /**
5
6
  * 入库明细表 Core
7
+ * - 物料走主数据选择,并默认开启编码/名称等快速搜索
8
+ * - 物料批号下拉选中回填物料;手输批号时可选手动物料
6
9
  * - 扫码:生产标识匹配,连续扫码每次新增一行
7
10
  */
8
11
  export declare class WarehouseInTableCore extends ProfileDrivenSubTableCore {
12
+ protected isEmptyScanRow(row: Record<string, unknown>): boolean;
13
+ handleFieldTd: SubTableCore['handleFieldTd'];
14
+ calcFieldStatus(params: {
15
+ rowData: any;
16
+ field: string;
17
+ }): IFieldStatus;
18
+ handleChange(params: {
19
+ rowData: any;
20
+ field: string;
21
+ value: any;
22
+ option?: any;
23
+ }): void;
9
24
  calcSubTableActionMenu: SubTableCore['calcSubTableActionMenu'];
10
25
  protected onScan(input: ScanModalInput): Promise<void>;
11
26
  }
@@ -8,6 +8,7 @@ import { ScanModalInput } from './utils/scan';
8
8
  */
9
9
  export declare class WarehouseOutTableCore extends ProfileDrivenSubTableCore {
10
10
  get warehouseId(): any;
11
+ protected isEmptyScanRow(row: Record<string, unknown>): boolean;
11
12
  handleFieldTd: SubTableCore['handleFieldTd'];
12
13
  calcFieldQuery: SubTableCore['calcFieldQuery'];
13
14
  calcSubTableActionMenu: SubTableCore['calcSubTableActionMenu'];
@@ -0,0 +1,2 @@
1
+ export { isDateObjectField } from '../../../../domain/object/date-object';
2
+ export declare function useDateObject(props: any, widget: any): import('vue').ComputedRef<any>;
@@ -20,11 +20,10 @@ export declare class DeviceLinkTmplUtil {
20
20
  */
21
21
  static normalizeAIOcrTmpl(tmpl: DeviceLink.AIOcrTmpl): DeviceLink.AIOcrTmpl;
22
22
  /**
23
- * 计算完整的提示词
24
- * @static
25
- * @param tmpl
26
- * @return {*}
23
+ * 推荐模式保存时转成运行提示词:文案保持 ${字段名},
24
+ * 按插入时记下的字段补上与普通模式相同的 JSON 回写格式。
27
25
  */
26
+ static buildRecommendedRuntimePrompt(tmpl: DeviceLink.AIOcrTmpl): string;
28
27
  static calcEntirePrompt(tmpl: DeviceLink.AIOcrTmpl): string;
29
28
  /** 平台设备互联接口对象转换格式 */
30
29
  static transfer2DeviceLink(data: DeviceInterconnectionResponse): DeviceLink.IDeviceLink;
@@ -130,7 +130,7 @@ export declare namespace DeviceLink {
130
130
  enableAdvancedConfig?: boolean;
131
131
  /** 提示词配置模式 */
132
132
  promptMode?: 'RECOMMENDED' | 'NORMAL';
133
- /** 推荐模式提示词 */
133
+ /** 推荐模式提示词,占位符为 ${字段名} */
134
134
  recommendedPrompt?: string;
135
135
  /** 是否启用降噪 */
136
136
  enableDenoise: boolean;
@@ -17,3 +17,4 @@ export * from './material-consume-object';
17
17
  export * from './label-parse-rule';
18
18
  export * from './material-balance';
19
19
  export * from './app-info';
20
+ export * from './operation-receive-qty';
@@ -1,4 +1,10 @@
1
1
  import { IBomEntry, IMaterialConsumeData } from './types';
2
+ /** 行级校验错误:提交时挂到对应单元格,扫码/切组仍可读 message */
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
+ }
2
8
  /** 扫码校验通过后抛给填充层的完整计划(下标相对入参 arr) */
3
9
  export interface ScanFillPlan {
4
10
  target: BomEntryValidator;
@@ -89,6 +95,8 @@ export declare class BomEntryValidator {
89
95
  * @return {*}
90
96
  */
91
97
  calcQtyConsumed(arr?: IMaterialConsumeData[]): number;
98
+ /** 上下限校验统一按需求单位口径取转换数量,历史数据未转换时兼容原数量。 */
99
+ calcQtyForBounds(arr: IMaterialConsumeData[]): number;
92
100
  /**
93
101
  * 计算自定义的数量校验的最大值和最小值
94
102
  * @param data
@@ -145,8 +153,9 @@ export declare class BomEntriesValidator {
145
153
  private getRowGroupId;
146
154
  /**
147
155
  * 是否有正在编辑的组。
148
- * 一组可多行同时 !is_confirmed_;正常应只有一组。
149
- * @returns 有编辑行且只落在一组 → true;无编辑行 → false;跨多组编辑 → 抛错
156
+ * 未开顺序上料:只回答有无未确认行,不限制组数。
157
+ * 顺序上料:一组可多行同时 !is_confirmed_;正常应只有一组。
158
+ * @returns 有编辑行且只落在一组 → true;无编辑行 → false;顺序上料且跨多组编辑 → 抛错
150
159
  */
151
160
  hasEditingGroup(arr: IMaterialConsumeData[]): boolean;
152
161
  /**
@@ -196,16 +205,21 @@ export declare class BomEntriesValidator {
196
205
  * 切组前校验当前编辑组:BOM 内 + 必填、有效期、替代料、混批、数量校验
197
206
  */
198
207
  validateCurrentGroupForSwitch(arr: IMaterialConsumeData[], current: BomEntryValidator): Promise<void>;
208
+ /**
209
+ * 行级错误(提交收集全部打标;切组/扫码抛第一条)
210
+ */
211
+ getRowFieldErrors(row: IMaterialConsumeData): McRowValidateError[];
199
212
  /**
200
213
  * 校验物料是否在bom里被使用
201
214
  * @param row 单行的数据
202
215
  */
203
216
  validateInBom(row: IMaterialConsumeData): void;
204
217
  /**
205
- * 检查数据是否完整
206
- * @param arr
218
+ * 检查数据是否完整(切组/扫码:遇错即抛)
207
219
  */
208
220
  validateDataCompleted(row: IMaterialConsumeData): void;
221
+ /** 提交:收集全表行级错误,不中断。无物料且无组归属的占位行跳过 */
222
+ collectRowErrors(arr: IMaterialConsumeData[]): McRowValidateError[];
209
223
  /**
210
224
  * 检查扫描数据是否可以插入,通过后返回填充计划(记录模式无 plan)
211
225
  */
@@ -215,9 +229,9 @@ export declare class BomEntriesValidator {
215
229
  */
216
230
  private assertSubmitSequenceOrder;
217
231
  /**
218
- * 提交整表校验:必须上料组须存在;顺序上料校验组序;表中存在的组走整组校验(不含库存)
232
+ * 提交组级校验:必须上料 / 顺序 / 替代料 / 混批 / 组数量。遇错即抛,不含行级必填。
219
233
  */
220
- validateAllRows(arr: IMaterialConsumeData[]): Promise<void>;
234
+ assertGroupRules(arr: IMaterialConsumeData[]): Promise<void>;
221
235
  /**
222
236
  * 获取BOM里面所有的主料,替换料的id集合
223
237
  */
@@ -1,7 +1,7 @@
1
1
  import { IBomEntry, IFormTmplBom, IMaterialConsumeData } from './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 { ISubTable, ParseRuleProps } from '../../types';
6
6
  import { ScanParamType, IUnitConversionRule } from '../../types/common/base';
7
7
  import { FormModelController } from '../form-model/form-model-controller';
@@ -60,10 +60,12 @@ export declare class MaterialConsumeTableController {
60
60
  formModelController: FormModelController;
61
61
  /** 当前 paper 上配置的单位转化规则(由组件 setup 注入) */
62
62
  unitConversionRules: IUnitConversionRule[];
63
- /** 主表 formState(由组件 setup 注入),用于读取主表字段值 */
63
+ /** 主表 formState(由 factory bindRuntime 注入),用于读取主表字段值 */
64
64
  mainFormState: Ref<any>;
65
- /** 表单数据状态(由组件 setup 注入):未填报 / STASH / SUBMIT */
65
+ /** 表单数据状态(由 factory bindRuntime 注入):未填报 / STASH / SUBMIT */
66
66
  dataStatus?: string;
67
+ /** factory 是否已绑定过运行时(避免重复 initTableData) */
68
+ private runtimeBound;
67
69
  /** 表单是否已暂存或提交(已处理过则不再跑初始化) */
68
70
  get isDataProcessed(): boolean;
69
71
  /** 批次数量或生产数量 */
@@ -163,7 +165,8 @@ export declare class MaterialConsumeTableController {
163
165
  isFirstBlankRow(): boolean;
164
166
  /**
165
167
  * 是否有正在编辑的组。
166
- * 一组可多行同时为编辑态;同时只能有一组处于编辑态。
168
+ * 顺序上料:一组可多行同时为编辑态,同时只能有一组处于编辑态。
169
+ * 未开顺序上料:不限制组数。
167
170
  */
168
171
  hasEditingGroup(showMessage?: boolean): boolean;
169
172
  /**
@@ -187,20 +190,23 @@ export declare class MaterialConsumeTableController {
187
190
  */
188
191
  openBomModal(): Promise<void>;
189
192
  /**
190
- * 消耗表组件setup时调用
191
- * @param opts
193
+ * 表单加载时由 factory 调用:绑定稳定数据源并初始化行数据。
194
+ * 不在分页组件 setup 中调用,避免跨页挂载重复 init。
192
195
  */
193
- setup(opts: {
196
+ bindRuntime(opts: {
194
197
  tableDataRef: Ref<any>;
195
- widget: ISubTable;
196
- formModelController: FormModelController;
197
- unitConversionRules?: IUnitConversionRule[];
198
198
  mainFormState?: Ref<any>;
199
- /** 表单 dataStatus,未填报才允许初始化行数据 */
200
199
  dataStatus?: string;
201
- /** 子表行默认值 */
202
200
  defaultRowData?: Record<string, any>;
203
- }): Promise<void>;
201
+ }): void;
202
+ /**
203
+ * 消耗表组件挂载时调用:只同步视图依赖,不初始化数据、不注册 watch。
204
+ */
205
+ bindView(opts: {
206
+ widget: ISubTable;
207
+ formModelController: FormModelController;
208
+ unitConversionRules?: IUnitConversionRule[];
209
+ }): void;
204
210
  /**
205
211
  * 按当前 materialNoNum 回写各行 qty_required_(校验侧 total 已通过 getter 实时读取)
206
212
  */
@@ -223,22 +229,31 @@ export declare class MaterialConsumeTableController {
223
229
  * @param row
224
230
  */
225
231
  /**
226
- * 生成校验清单格式的报错
227
- * @param message
228
- * @return {*}
232
+ * 生成校验清单格式的报错(仅行级,挂对应单元格)
229
233
  */
230
- calcErrorObj(message: string): {
234
+ calcErrorObj(err: McRowValidateError): {
231
235
  field: string;
232
236
  message: string;
233
237
  };
238
+ /**
239
+ * 当前行 BOM 行级批注:待删除的 key + 重算后的错误
240
+ * 改物料/批次会清批次数量有效期,四个字段一起替换;改数量/有效期只动自身
241
+ */
242
+ getRowCommentPatch(row: IMaterialConsumeData, field: string): {
243
+ keys: string[];
244
+ add: Record<string, any[]>;
245
+ };
234
246
  /**
235
247
  * 是否是单独一行空数据
236
248
  */
237
249
  isOnlyEmptyRow(): boolean;
238
250
  /**
239
- * 提交的时候的校验
251
+ * 提交校验:先行级打标,全部通过后再组级 fail-fast toast
240
252
  */
241
- submitValidate(): Promise<any>;
253
+ submitValidate(): Promise<{
254
+ isValid: boolean;
255
+ fields?: Record<string, any[]>;
256
+ }>;
242
257
  /**
243
258
  * 是否有正在编辑的行
244
259
  * @return {*}
@@ -64,5 +64,17 @@ export declare function judgeUnique(opts: {
64
64
  }>;
65
65
  /** 是否有BOM授权 */
66
66
  export declare function isBomGranted(): Promise<any>;
67
+ /** 按物料+批次查询复检日期(仅日期,不含时分秒) */
68
+ export declare function getReinspectionDate(params: {
69
+ product_id_: string;
70
+ material_no_?: string;
71
+ material_no_id_?: string;
72
+ }): Promise<string | undefined>;
73
+ /** 物料+批次查复检日期;缺任一参数不查;无日期放过;小于当天则 throw */
74
+ export declare function validateReinspectionDate(opts: {
75
+ product_id_?: string;
76
+ material_no_?: string;
77
+ material_no_id_?: string;
78
+ }): Promise<void>;
67
79
  /** 查批次锁定记录(最新一条) */
68
80
  export declare function getLotLockedReason(production_identification_id_: string): Promise<string>;
@@ -82,9 +82,6 @@ export declare class FormTmplBomController {
82
82
  handleDefaultMap(defaultMap: Record<string, any>): void;
83
83
  submitValidate(): Promise<{
84
84
  isValid: boolean;
85
- fields: any;
86
- } | {
87
- isValid: boolean;
88
- fields?: undefined;
85
+ fields: Record<string, any[]> | undefined;
89
86
  }>;
90
87
  }
@@ -1,9 +1,47 @@
1
1
  import { FormInstBomResponse } from '@gct-paas/api/apaas';
2
+ import { IBomEntry } from '../material-consume/types';
3
+ import { EMPTY_PRODUCT_VERSION_ID } from '../material-consume/product-id-query';
2
4
  import { IMaterialConsumeObjectInfo } from '../../types';
5
+ export { EMPTY_PRODUCT_VERSION_ID };
6
+ export type ObjectSubField = {
7
+ used?: boolean;
8
+ key?: string;
9
+ name?: string;
10
+ type?: string;
11
+ bizType?: string;
12
+ belongingObject?: string;
13
+ [key: string]: any;
14
+ };
15
+ export type ObjectFieldKeys = {
16
+ productKey?: string;
17
+ productFieldName?: string;
18
+ materialNoKey?: string;
19
+ materialNoFieldName?: string;
20
+ qtyKey?: string;
21
+ qtyRequiredKey?: string;
22
+ qtyFieldName?: string;
23
+ /** bom_entry_id_ 字段 key(bizType = 'bom_entry_id') */
24
+ bomEntryIdKey?: string;
25
+ };
26
+ /** 物料下拉:BOM 模式且未开人为指定时,按主料 + 已开替代料过滤 */
27
+ export declare function getObjectBomProductQuery(opts: {
28
+ formInstBom?: FormInstBomResponse | null;
29
+ belongingObject?: string;
30
+ }): {
31
+ 'id_.in': string[];
32
+ } | null;
33
+ /** 在指定消耗对象子字段中,按 belongingObject + bizType/type 定位 product / qty / qty_required */
34
+ export declare function pickObjectFieldKeys(subFields?: IMaterialConsumeObjectInfo['subFields'] | ObjectSubField[], belongingObject?: string, options?: {
35
+ requireUsed?: boolean;
36
+ }): ObjectFieldKeys;
37
+ export declare function resolveObjectBomEntry(opts: {
38
+ formInstBom: FormInstBomResponse;
39
+ belongingObject: string;
40
+ productId?: string;
41
+ }): IBomEntry | undefined;
3
42
  /**
4
43
  * 物料消耗对象扫码:按对象 BOM 配置校验扫码物料是否允许
5
- * - 无 belongingObject / 无配置:跳过
6
- * - personal_bom_enabled_:人为指定物料,直接通过
44
+ * - 无 belongingObject / 无配置 / 人为指定 / 记录模式:跳过
7
45
  * - 否则用实例 bomEntries 校验(仅主料;开启替代料时才含替代料)
8
46
  */
9
47
  export declare function validateObjectBomForScan(opts: {
@@ -12,8 +50,8 @@ export declare function validateObjectBomForScan(opts: {
12
50
  productId?: string;
13
51
  }): void;
14
52
  /**
15
- * 物料消耗对象物料批下拉:未开人为指定时,限制为 BOM 主料 + 已开替代料的替代料
16
- * - 无需过滤时返回 null(无 belongingObject / 无配置 / 人为指定)
53
+ * 物料消耗对象物料批下拉:BOM 模式且未开人为指定时,限制为 BOM 主料 + 已开替代料
54
+ * - 无需过滤时返回 null(无配置 / 人为指定 / 记录模式)
17
55
  * - 无候选时用占位 id,避免空数组被后端当成不筛选
18
56
  */
19
57
  export declare function getObjectBomMaterialLotQuery(opts: {
@@ -23,16 +61,19 @@ export declare function getObjectBomMaterialLotQuery(opts: {
23
61
  'product_id_.versionIn': string[];
24
62
  } | null;
25
63
  /**
26
- * 表单提交:校验所有物料消耗对象的数量 vs 需求数量
27
- * - 开了数量校验且需求数量有值才校验
64
+ * 表单提交:校验所有物料消耗对象(失败打在对应单元格,收集全部错误)
65
+ * - 记录模式 / 人为指定 / 无配置:不校 BOM
66
+ * - 未开人为指定:有物料则必须在实例 BOM 中
67
+ * - 数量为空留给字段必填;有值且开了数量校验才校数量 vs 需求数量
28
68
  * - 人为指定:用 objectBom.entries_[0];否则用 bomEntries 中与对象物料匹配的明细
29
- * - 失败返回与物料消耗表 submitValidate 同类的 field/message 结构
30
69
  */
31
70
  export declare function validateObjectBomQtyOnSubmit(opts: {
32
71
  formState: Record<string, any>;
33
72
  objectFieldList?: IMaterialConsumeObjectInfo[];
34
73
  formInstBom?: FormInstBomResponse | null;
74
+ showModelName?: string;
75
+ showModelKey?: string;
35
76
  }): Promise<{
36
77
  field: string;
37
78
  message: string;
38
- } | null>;
79
+ }[]>;
@@ -1,2 +1,3 @@
1
1
  export * from './use-tmpl-bom';
2
2
  export * from './bom-validator';
3
+ export * from './product-lot-link';
@@ -0,0 +1,35 @@
1
+ import { FormInstBomResponse } from '@gct-paas/api/apaas';
2
+ import { IMaterialConsumeObjectInfo } from '../../types';
3
+ import { ObjectFieldKeys, ObjectSubField } from './bom-validator';
4
+ export declare function isBlank(value: unknown): boolean;
5
+ /** 优先 objectFieldList(used),缺哪个 key 用 masterFields 补哪个 */
6
+ export declare function resolveObjectFieldKeys(opts: {
7
+ belongingObject?: string;
8
+ objectFieldList?: IMaterialConsumeObjectInfo[];
9
+ fallbackFields?: ObjectSubField[];
10
+ }): ObjectFieldKeys;
11
+ /** 已选物料时按版本过滤批次;未选不加条件 */
12
+ export declare function buildObjectLotExtraQuery(productId?: unknown): Record<string, string>;
13
+ export declare function runWithFillProduct(fn: () => void): void;
14
+ export type ApplyConsumeObjectTraceChangeOpts = {
15
+ belongingObject?: string;
16
+ role?: string;
17
+ nextValue: unknown;
18
+ /** 仅 PRODUCT:赋值前的旧值。未传则不做物料侧逻辑 */
19
+ prevProduct?: unknown;
20
+ option?: any | null;
21
+ formData: Record<string, any>;
22
+ objectFieldList?: IMaterialConsumeObjectInfo[];
23
+ fallbackFields?: ObjectSubField[];
24
+ /** 表单实例 BOM(用于写入 bom_entry_id_) */
25
+ formInstBom?: FormInstBomResponse | null;
26
+ };
27
+ /**
28
+ * 消耗对象物料 / 批次变更。
29
+ * - PRODUCT 必须带 prevProduct(含空值);未传该字段则空操作
30
+ * - MATERIAL_NO:锁定清批次;复检失败清批次;通过后反填物料
31
+ */
32
+ export declare function applyConsumeObjectTraceChange(opts: ApplyConsumeObjectTraceChangeOpts): Promise<{
33
+ abortLocked?: string;
34
+ abortReinspection?: string;
35
+ }>;
@@ -0,0 +1,2 @@
1
+ /** 工序接收数量:getOne query 取 container_id_ / routing_operation_id_,拉取 qty_current_ */
2
+ export declare function fetchOperationReceiveQty(paramsConfig?: Record<string, unknown>): Promise<number | undefined>;
@@ -89,12 +89,16 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
89
89
  }[] | undefined;
90
90
  validatorLocationList: Array<string>;
91
91
  validatorMessageMap: Record<string, any>;
92
+ mcValidatorLocationList?: Array<string> | undefined;
93
+ mcValidatorMessageMap?: Record<string, any[]> | undefined;
92
94
  mobileTdIdGroups: Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>;
93
95
  mobileSelectTdId?: string | undefined;
94
96
  contentHighlight: Record<string, any>;
95
97
  productSearchFields: string;
96
98
  __isPrintRender?: boolean | undefined;
97
99
  showPrintFieldBg?: boolean | undefined;
100
+ paramsConfig?: Record<string, any> | undefined;
101
+ instanceStatus?: string | undefined;
98
102
  }[], IBasicInfoItem[] | {
99
103
  key: string;
100
104
  tid: string;
@@ -127,12 +131,16 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
127
131
  }[] | undefined;
128
132
  validatorLocationList: Array<string>;
129
133
  validatorMessageMap: Record<string, any>;
134
+ mcValidatorLocationList?: Array<string> | undefined;
135
+ mcValidatorMessageMap?: Record<string, any[]> | undefined;
130
136
  mobileTdIdGroups: Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>;
131
137
  mobileSelectTdId?: string | undefined;
132
138
  contentHighlight: Record<string, any>;
133
139
  productSearchFields: string;
134
140
  __isPrintRender?: boolean | undefined;
135
141
  showPrintFieldBg?: boolean | undefined;
142
+ paramsConfig?: Record<string, any> | undefined;
143
+ instanceStatus?: string | undefined;
136
144
  }[]>;
137
145
  selfInfoList: import('vue').Ref<any, any>;
138
146
  tmplBomCMap: import('vue').Ref<Record<string, FormTmplBomController>, Record<string, FormTmplBomController>>;
@@ -171,12 +179,16 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
171
179
  }[] | undefined;
172
180
  validatorLocationList: Array<string>;
173
181
  validatorMessageMap: Record<string, any>;
182
+ mcValidatorLocationList?: Array<string> | undefined;
183
+ mcValidatorMessageMap?: Record<string, any[]> | undefined;
174
184
  mobileTdIdGroups: Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>;
175
185
  mobileSelectTdId?: string | undefined;
176
186
  contentHighlight: Record<string, any>;
177
187
  productSearchFields: string;
178
188
  __isPrintRender?: boolean | undefined;
179
189
  showPrintFieldBg?: boolean | undefined;
190
+ paramsConfig?: Record<string, any> | undefined;
191
+ instanceStatus?: string | undefined;
180
192
  } | undefined;
181
193
  updatePageData: (uniqueId: string) => void;
182
194
  updateRenderModeType: (uniqueId: string, newRenderModeType: RenderModeEnum, updateButton?: boolean) => void;
@@ -1,3 +1,3 @@
1
- export declare function useStyles(widget: any, isArea?: boolean): {
2
- otherClass: import('vue').ComputedRef<string[] | undefined>;
1
+ export declare function useStyles(widget: any, isArea?: boolean, isDroppedField?: boolean): {
2
+ otherClass: import('vue').ComputedRef<string[]>;
3
3
  };