@gct-paas/excel 0.1.42-beta.0 → 0.1.47

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 (207) hide show
  1. package/README.md +4 -3
  2. package/dist/AntdIcon-DCIaV352.js +1108 -0
  3. package/dist/{BaseComponent-CuX5xLFK.js → BaseComponent-CD_dAL9D.js} +3 -4
  4. package/dist/{VueVideoPlayer-CBBB12Hj.js → VueVideoPlayer-DQQlv_cp.js} +2 -2
  5. package/dist/{align-editor-Df9gS31T.js → align-editor-DchzBHaC.js} +1 -1
  6. package/dist/{barcode-design-B34-4xJ9.js → barcode-design-BBW5cG3v.js} +2 -3
  7. package/dist/base/index.es.js +222 -517
  8. package/dist/{diagonal-design-D0HXMI8w.js → diagonal-design-CawGqmc7.js} +2 -3
  9. package/dist/{dynamic-table-action-9sxv3gW5.js → dynamic-table-action-Dw7AIthU.js} +322 -452
  10. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-YSIO0k9J.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DEjLEs33.js} +593 -2296
  11. package/dist/{edit.utils-CXmmCnxE-0uJiCs33.js → edit.utils-CXmmCnxE-B7lpVZjb.js} +1 -1
  12. package/dist/excel.css +723 -611
  13. package/dist/{exceljs.min-Doeyz39_.js → exceljs.min-DDPQIUli.js} +2 -2
  14. package/dist/{font-editor-B8A9tDhO.js → font-editor-n8zk8Vt2.js} +3 -3
  15. package/dist/{image-design-CVyCbbef.js → image-design-D4mIDz9K.js} +8 -3
  16. package/dist/{index-Uy8bXkuC.js → index--MetH_r4.js} +3 -4
  17. package/dist/{index-B3hu8heh.js → index-1klMDz7G.js} +2 -3
  18. package/dist/{index-Cn_bmfoD.js → index-4p1VXlOx.js} +1 -2
  19. package/dist/{index-BLJdXkdZ.js → index-B0u6FHDq.js} +4 -5
  20. package/dist/{index-CS1tP-l0.js → index-BMsHMGap.js} +2 -3
  21. package/dist/{index-CMmaJ4Ss.js → index-BW95iBc7.js} +2 -3
  22. package/dist/{index-vEZ4Yr2u.js → index-BWoOPv6-.js} +2 -3
  23. package/dist/{index-BwyHByzZ.js → index-BZ7bC20P.js} +1 -2
  24. package/dist/{index-D_hAd0MQ.js → index-BcHwRIXW.js} +3 -4
  25. package/dist/{index-CGU3uK4z.js → index-Bm8wYtHB.js} +1 -2
  26. package/dist/{index-DKKIL32g.js → index-Boy8--Ns.js} +2 -3
  27. package/dist/{index-CzztJ4fH.js → index-C-NpFAft.js} +3 -4
  28. package/dist/{index-B7Yt5TSq.js → index-C4t8sSlN.js} +1 -2
  29. package/dist/{index-R95URjcc.js → index-CAc9drK5.js} +1 -2
  30. package/dist/{index-FCg2Jzvu.js → index-CI6Hl1Ns.js} +1 -2
  31. package/dist/{index-D0VBKmKt.js → index-CXnuud67.js} +2 -3
  32. package/dist/{index-CNmwpU3G.js → index-CYSJt1Zc.js} +3 -7
  33. package/dist/{index-DuuvFB0e.js → index-Ch88zDje.js} +2 -3
  34. package/dist/{index-dUCz8OdV.js → index-CmjTSiUa.js} +2 -3
  35. package/dist/{index-DMVIENZW.js → index-DPf5_q0T.js} +3 -4
  36. package/dist/{index-Bb3Ugl3c.js → index-DUztXGMj.js} +2 -3
  37. package/dist/{index-7VROqGqR.js → index-DfFakGrF.js} +2 -3
  38. package/dist/{index-hDsTasdu.js → index-DgybKcgI.js} +2 -3
  39. package/dist/{index-Bj2qRb0q.js → index-Dh0_kanw.js} +1 -2
  40. package/dist/{index-VrLq9hAc.js → index-DiPWQwMU.js} +3728 -8987
  41. package/dist/{index-DA7GAWZ1.js → index-DiWzNeZJ.js} +3 -4
  42. package/dist/{index-CDObWZ7G.js → index-Do-QyvWW.js} +2 -3
  43. package/dist/{index-XE84LVO7.js → index-DvMu7-8y.js} +1 -2
  44. package/dist/{index-ucaRXWE8.js → index-H4f-e99t.js} +2 -3
  45. package/dist/{index-TeozNhWH.js → index-S8Dj5ycu.js} +2 -3
  46. package/dist/{index-BOO2K9Vu.js → index-TZy8JxSW.js} +3 -4
  47. package/dist/index-_Ec5LAW9.js +4353 -0
  48. package/dist/{index-RG23XjoT.js → index-gHOlYnAA.js} +1 -2
  49. package/dist/{index-PSQkEXxq.js → index-r0yHBje3.js} +2 -3
  50. package/dist/{index-DU4dWvY6.js → index-r9t3crs-.js} +1 -2
  51. package/dist/index.es.js +46 -52
  52. package/dist/mb-render-sgVmAe6_.js +276 -0
  53. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-ApLSXGFP.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DDJetWQU.js} +3 -27
  54. package/dist/{pagination-design-B5DxwV5F.js → pagination-design-lckCQWcK.js} +2 -3
  55. package/dist/paper-widget-design-Nd5VjI7n.js +4 -0
  56. package/dist/{print-runtime-instance-BDM-anCd.js → print-runtime-instance-Dckul2Bk.js} +1 -1
  57. package/dist/{print-snapshot-renderer-kB1Bw7A_.js → print-snapshot-renderer-lub7u9sp.js} +3 -3
  58. package/dist/{qrcode-design-bN48s3rk.js → qrcode-design-M0HzGVjM.js} +1 -1
  59. package/dist/{revo-grid.entry-BXEGtAbW.js → revo-grid.entry-Dr4S1tgO.js} +1 -1
  60. package/dist/{revogr-attribution_7.entry-CImeTxBl.js → revogr-attribution_7.entry-27u9hxgM.js} +3 -3
  61. package/dist/{revogr-clipboard_3.entry-DqcrJ6zB.js → revogr-clipboard_3.entry-DxjljgJl.js} +2 -2
  62. package/dist/{revogr-data_4.entry-Ccdsy3nO.js → revogr-data_4.entry-CnSalg4D.js} +2 -2
  63. package/dist/{revogr-filter-panel.entry-B2xM2jvB.js → revogr-filter-panel.entry-CSsekbYc.js} +1 -1
  64. package/dist/seal-design-kuAsmNq1.js +4 -0
  65. package/dist/{serialnumber-design-BGTOIn2S.js → serialnumber-design-DUiLiTSj.js} +1 -1
  66. package/dist/shared/index.es.js +28 -29
  67. package/dist/{single-field-drop-b2b71HAk.js → single-field-drop-CF_r0dCX.js} +3 -2
  68. package/dist/{size-editor-DtX2f2CF.js → size-editor-DNMqRicI.js} +1 -1
  69. package/dist/src/adapter/adapter.d.ts +1 -1
  70. package/dist/src/adapter/index.d.ts +0 -2
  71. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +1 -37
  72. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +0 -7
  73. package/dist/src/domain/table/design/autofill-expander.d.ts +0 -2
  74. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +0 -6
  75. package/dist/src/domain/table/index.d.ts +1 -1
  76. package/dist/src/domain/table/types.d.ts +0 -2
  77. package/dist/src/index.d.ts +0 -8
  78. package/dist/src/nocode-base/src/components/document-sub-table-action/dynamic-table-action.vue.d.ts +2 -0
  79. package/dist/src/nocode-base/src/components/document-sub-table-action/sub-table-action.vue.d.ts +3 -0
  80. package/dist/src/nocode-base/src/components/document-sub-table-action/type.d.ts +4 -0
  81. package/dist/src/nocode-base/src/components/material-consume/types.d.ts +5 -1
  82. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +4 -4
  83. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +4 -1
  84. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +2 -1
  85. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +6 -0
  86. package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +28 -1
  87. package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +8 -9
  88. package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +1 -7
  89. package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +2 -8
  90. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +6 -55
  91. package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +0 -24
  92. package/dist/src/nocode-base/src/interface/ref-loader.d.ts +1 -12
  93. package/dist/src/nocode-base/src/interface/render.d.ts +1 -2
  94. package/dist/src/nocode-base/src/interface/transform.d.ts +0 -3
  95. package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
  96. package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +0 -1
  97. package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +2 -5
  98. package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +5 -8
  99. package/dist/src/nocode-base/src/types/common/base.d.ts +2 -8
  100. package/dist/src/nocode-base/src/types/render/mc-render.d.ts +15 -2
  101. package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +10 -0
  102. package/dist/src/nocode-web-render/src/components/print-fill-background-selector.vue.d.ts +2 -0
  103. package/dist/src/nocode-web-render/src/hooks/index.d.ts +2 -0
  104. package/dist/src/{shared → nocode-web-render/src}/hooks/useWebUpload.d.ts +1 -1
  105. package/dist/src/nocode-web-render/src/hooks/userFormPrint.d.ts +15 -0
  106. package/dist/src/nocode-web-render/src/index.d.ts +6 -0
  107. package/dist/src/nocode-web-render/src/logic/index.d.ts +1 -0
  108. package/dist/src/nocode-web-render/src/render/common/index.d.ts +2 -0
  109. package/dist/src/nocode-web-render/src/render/common/modal-manager.d.ts +20 -0
  110. package/dist/src/{adapter/web → nocode-web-render/src/render/common}/open-util.d.ts +1 -1
  111. package/dist/src/nocode-web-render/src/render/index.d.ts +10 -0
  112. package/dist/src/{online-form/src/views/designer/modules/panel/sub-table/comps → nocode-web-render/src/render/parse-rule}/add-rule-btn.vue.d.ts +1 -1
  113. package/dist/src/nocode-web-render/src/render/parse-rule/index.d.ts +3 -0
  114. package/dist/src/nocode-web-render/src/render/parse-rule/parse-rule-modal.vue.d.ts +15 -0
  115. package/dist/src/nocode-web-render/src/render/sub-table/allocate/allocate-web-render.d.ts +4 -0
  116. package/dist/src/nocode-web-render/src/render/sub-table/allocate/index.d.ts +1 -0
  117. package/dist/src/{adapter/web → nocode-web-render/src/render/sub-table/common}/inventory-scan-columns.d.ts +1 -1
  118. package/dist/src/nocode-web-render/src/render/sub-table/common/multi-rows-modal.vue.d.ts +15 -0
  119. package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +19 -0
  120. package/dist/src/{adapter/web → nocode-web-render/src/render/sub-table/common}/sub-table-render.d.ts +5 -2
  121. package/dist/src/nocode-web-render/src/render/sub-table/index.d.ts +3 -0
  122. package/dist/src/nocode-web-render/src/render/sub-table/material-balance/index.d.ts +1 -0
  123. package/dist/src/{adapter/web → nocode-web-render/src/render/sub-table/material-balance}/material-consume-modal.vue.d.ts +1 -1
  124. package/dist/src/{adapter/web/material-balance-render.d.ts → nocode-web-render/src/render/sub-table/material-balance/mb-web-render.d.ts} +1 -1
  125. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/bom-modal.vue.d.ts +11 -0
  126. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/index.d.ts +4 -0
  127. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +42 -0
  128. package/dist/src/nocode-web-render/src/render/sub-table/stocktake/index.d.ts +2 -0
  129. package/dist/src/{adapter/web/stocktake-render.d.ts → nocode-web-render/src/render/sub-table/stocktake/stocktake-web-render.d.ts} +2 -2
  130. package/dist/src/nocode-web-render/src/types/hooks/index.d.ts +1 -0
  131. package/dist/src/nocode-web-render/src/types/index.d.ts +1 -0
  132. package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
  133. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/base-vxe-table.vue.d.ts +1 -1
  134. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/default-value-rdo-editor.vue.d.ts +4 -4
  135. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/rdo-table-dropdown.vue.d.ts +3 -3
  136. package/dist/src/online-form/src/views/designer/constants/index.d.ts +0 -1
  137. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +0 -144
  138. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +4 -87
  139. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +0 -6
  140. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/panel-check-table/select-check-ds-modal.vue.d.ts +3 -3
  141. package/dist/src/online-form/src/views/designer/types/index.d.ts +1 -12
  142. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-auto-complete.vue.d.ts +2 -2
  143. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-date-picker.vue.d.ts +2 -2
  144. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +1 -1
  145. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-text-input.vue.d.ts +2 -2
  146. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-textarea.vue.d.ts +2 -2
  147. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-floating-field.vue.d.ts +1 -0
  148. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-runtime-layer.vue.d.ts +1 -0
  149. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/use-seal-stamp.d.ts +4 -1
  150. package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +0 -1
  151. package/dist/src/online-form/src/views/render/__components__/_field_/trace/common/base-vxe-table.vue.d.ts +1 -1
  152. package/dist/src/shared/components/ColorPicker/src/ColorPicker.vue.d.ts +1 -1
  153. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +2 -162
  154. package/dist/src/shared/components/Signature/logic/index.d.ts +0 -14
  155. package/dist/src/shared/enum/field-type.d.ts +3 -8
  156. package/dist/src/shared/index.d.ts +0 -1
  157. package/dist/src/shared/types/index.d.ts +0 -1
  158. package/dist/{sub-table-factory-DoEvzrVN.js → sub-table-factory-D-GcNTOB.js} +89 -276
  159. package/dist/{text-design-BQVBFcI0.js → text-design-BfZf4B27.js} +2 -3
  160. package/dist/{throttle-Cpk1LoGk-DR_8z9qq.js → throttle-Cpk1LoGk-B4SDzSMU.js} +1 -1
  161. package/dist/{timediff-design-DioTJEvx.js → timediff-design-BeO94tLR.js} +1 -2
  162. package/dist/{trace-like-wrapper-CjxBkfYK.js → trace-like-wrapper-Xc4cr21n.js} +2 -3
  163. package/dist/{value-editor.vue_vue_type_style_index_0_lang-DpfdcyX_.js → value-editor.vue_vue_type_style_index_0_lang-CMpVHBLK.js} +2 -3
  164. package/dist/web-render/index.d.ts +1 -0
  165. package/dist/web-render/index.es.js +595 -0
  166. package/dist/{widget-barcode-CEn3AYG0.js → widget-barcode-CrfBj8iv.js} +4 -5
  167. package/dist/{widget-diagonal-DbOhaNpW.js → widget-diagonal-C3Nho_Um.js} +4 -4
  168. package/dist/{widget-image-BGP2w2mj.js → widget-image-CjsL9QW8.js} +7 -5
  169. package/dist/{widget-line-CkSPcw5A.js → widget-line-BtvpVv_s.js} +2 -3
  170. package/dist/{widget-pagination-BH0VtWHT.js → widget-pagination-DAUQo2nI.js} +5 -6
  171. package/dist/{widget-power-DuTIvdpR.js → widget-power-yUHZ4Hoc.js} +4 -4
  172. package/dist/{widget-qrcode-CJJjPnwn.js → widget-qrcode-DJtT9NaM.js} +3 -4
  173. package/dist/{widget-rangelimit-828JH1wm.js → widget-rangelimit-BhadVdCu.js} +4 -3
  174. package/dist/{widget-serialnumber-CIjY3I-t.js → widget-serialnumber-WMHB8nl6.js} +1 -1
  175. package/dist/{widget-text-C_Ja4yWN.js → widget-text-C4dD9JF3.js} +5 -5
  176. package/dist/{widget-timediff-CjmATkLS.js → widget-timediff-C9d8_3hY.js} +2 -3
  177. package/package.json +6 -2
  178. package/dist/paper-widget-design-A55mbwYv.js +0 -4
  179. package/dist/seal-design-B3FBumLr.js +0 -4
  180. package/dist/src/adapter/web/material-consume-render.d.ts +0 -25
  181. package/dist/src/domain/document-business/business/product-release/profile.d.ts +0 -2
  182. package/dist/src/domain/document-business/business/product-release/service.d.ts +0 -2
  183. package/dist/src/domain/document-business/index.d.ts +0 -2
  184. package/dist/src/domain/document-business/registry.d.ts +0 -2
  185. package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +0 -4
  186. package/dist/src/domain/document-business/types.d.ts +0 -24
  187. package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +0 -2
  188. package/dist/src/domain/field/query-filter.d.ts +0 -15
  189. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +0 -12
  190. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +0 -2
  191. package/dist/src/domain/table/business/warehouse/shared/autofill-source-labels.d.ts +0 -19
  192. package/dist/src/nocode-base/src/hooks/formula-params-cache.d.ts +0 -15
  193. package/dist/src/nocode-base/src/hooks/inspection-module-qty.d.ts +0 -4
  194. package/dist/src/nocode-base/src/hooks/render-page/initial-value-data-sources.d.ts +0 -3
  195. package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +0 -51
  196. package/dist/src/nocode-base/src/hooks/render-page/sterilization-date.d.ts +0 -3
  197. package/dist/src/nocode-base/src/runtime/designer-default-values.d.ts +0 -23
  198. package/dist/src/nocode-base/src/runtime/runtime-default-value-validation.d.ts +0 -23
  199. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/message-rule-config/rule-modal.vue.d.ts +0 -32
  200. package/dist/src/online-form/src/views/designer/utils/placed-fields.d.ts +0 -9
  201. package/dist/src/online-form/src/views/designer/utils/template-placed-fields.d.ts +0 -7
  202. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +0 -41
  203. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +0 -16
  204. package/dist/src/shared/types/upload.d.ts +0 -11
  205. package/dist/src/shared/utils/withRequestCache.d.ts +0 -27
  206. /package/dist/src/{adapter/web/setup.d.ts → nocode-web-render/src/adapter/index.d.ts} +0 -0
  207. /package/dist/src/{adapter/web/upload.d.ts → nocode-web-render/src/logic/utils.d.ts} +0 -0
@@ -1,9 +1,10 @@
1
- import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, toRef, provide, nextTick, defineComponent, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, Fragment, renderList, onUnmounted, isVNode, onMounted, onBeforeMount, resolveComponent, createBlock, withCtx, createTextVNode } from "vue";
2
- import { cx as splitRuntimeDataPath, am as CellWidgetViewState, F as FIELD_TYPE, bo as RenderModeEnum, a1 as FormTypeEnum, bJ as BpmnNodeTypeEnum, by as getRuntimeDataFieldId, cA as getFieldPlaceholder, b_ as MobileFillTypeEnum, C as ComponentTypeEnum, a4 as PlatformEnum, cB as isReferenceOptionActive, p as api, bx as uuid2, c8 as calcUtils, M as getBusinessFieldKey, bn as findRuntimeTableRow, cc as ensureTableRowKeys, c5 as bindRuntimeTableColumns, bm as getRowId, cC as FRONT_ROW_KEY, cr as isTableRowKeyMatch, aB as RangeCompareOp, aA as RangeValidateMode, cD as getCurrentFormData, bB as isAttachFieldActive, bl as parseRuntimeFieldPath, c9 as decodeTableCellRowKey, cb as ensureFrontRowKey, bb as getParseRuleInfo, aN as transformUtils, b5 as materialCheck, b6 as getLotLockedReason, b7 as validateReinspectionDate, br as FormulaRuleFieldKeyEnum, bA as buildRuntimeFieldPath, Q as CreateType, h as SubTableType, bc as getParseRuleValue, bp as findRuntimeParentRow, aQ as Dependency_ENUM, aP as ASSIGNMENTSTRATEGY_ENUM, bO as commonUtils, aU as DeviceLink, ad as useNamespace, ae as _export_sfc, I as Icon, cl as getRenderedRuntimeTableCell, H as CellType, cE as resetTableRowIdentity, U as useModal, cF as q, cG as QUICK_FILL_ALLOWED_FIELDS, cH as groupFixedTableRows, cI as processQuickFillRows, cJ as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-YSIO0k9J.js";
1
+ import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, toRef, nextTick, provide, defineComponent, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, Fragment, renderList, onUnmounted, isVNode, onMounted, onBeforeMount, resolveComponent, createBlock, withCtx, createTextVNode } from "vue";
2
+ import { ch as splitRuntimeDataPath, af as CellWidgetViewState, F as FIELD_TYPE, b6 as RenderModeEnum, X as FormTypeEnum, bu as BpmnNodeTypeEnum, ck as getFieldPlaceholder, bK as MobileFillTypeEnum, C as ComponentTypeEnum, be as findRuntimeTableRow, aU as renderUtils, _ as PlatformEnum, E as api, bn as uuid2, bU as calcUtils, bY as ensureTableRowKeys, bR as bindRuntimeTableColumns, bd as getRowId, cl as FRONT_ROW_KEY, cb as isTableRowKeyMatch, au as RangeCompareOp, at as RangeValidateMode, bV as decodeTableCellRowKey, bX as ensureFrontRowKey, b0 as getParseRuleInfo, aD as transformUtils, aW as materialCheck, aX as getLotLockedReason, aY as validateReinspectionDate, bh as FormulaRuleFieldKeyEnum, f as SubTableType, b1 as getParseRuleValue, H as CreateType, bf as findRuntimeParentRow, aG as Dependency_ENUM, aF as ASSIGNMENTSTRATEGY_ENUM, by as commonUtils, aK as DeviceLink, a7 as _export_sfc, c5 as getRenderedRuntimeTableCell, y as CellType, cm as resetTableRowIdentity, J as useModal, cn as q, co as QUICK_FILL_ALLOWED_FIELDS, cp as groupFixedTableRows, cq as processQuickFillRows, cr as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DEjLEs33.js";
3
3
  import dayjs from "dayjs";
4
4
  import { cloneDeep, isEmpty, isNil, pickBy, mergeWith, omit, last, pick, merge } from "lodash-es";
5
- import "@gct-paas/form-base";
5
+ import { a as useNamespace, I as Icon } from "./AntdIcon-DCIaV352.js";
6
6
  import { Modal, message } from "ant-design-vue";
7
+ import { u as useFormModel } from "./mb-render-sgVmAe6_.js";
7
8
  var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
8
9
  MaterialConsumptionPatternEnum2["RECORD"] = "record";
9
10
  MaterialConsumptionPatternEnum2["BOM"] = "bom";
@@ -278,7 +279,7 @@ class RuntimeDependencyService {
278
279
  await Promise.allSettled(jobs);
279
280
  }
280
281
  }
281
- function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow, formChangeStatus = false) {
282
+ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
282
283
  const result = { ...props };
283
284
  const { context } = record;
284
285
  const tableField = props.subFieldKey;
@@ -287,11 +288,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow, formC
287
288
  const core = Object.values(context.services.subTableCoreFactory?.coreMap ?? {}).find(
288
289
  (item) => item.subFieldKey === tableField
289
290
  );
290
- const status = core?.calcFieldStatus({
291
- rowData: businessRow,
292
- field: props.field,
293
- formChangeStatus
294
- });
291
+ const status = core?.calcFieldStatus({ rowData: businessRow, field: props.field });
295
292
  if (status?.disabled != null) result.fieldDisabled = status.disabled;
296
293
  if (status?.readonly != null) {
297
294
  result.field_readonly = status.readonly;
@@ -301,7 +298,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow, formC
301
298
  const config = context.businessIndex.fixedTables.find(
302
299
  (table) => table.field === tableField
303
300
  )?.bizTableConfig;
304
- if (!formChangeStatus && config?.dataLockControlField) {
301
+ if (config?.dataLockControlField) {
305
302
  if (props.field === config.dataLockControlField) {
306
303
  if (isPersistedSignatureLockActive(config, businessRow)) {
307
304
  result.field_readonly = true;
@@ -309,7 +306,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow, formC
309
306
  }
310
307
  } else if (isSignatureLockActive(config, businessRow)) result.fieldDisabled = true;
311
308
  }
312
- } else if (!formChangeStatus && !tableField && !props.subModelKey) {
309
+ } else if (!tableField && !props.subModelKey) {
313
310
  result.fieldDisabled ||= context.businessIndex.fixedTables.some(
314
311
  (table) => table.bizTableConfig?.mainFieldBindings?.includes(props.field) && (record.formState.state[table.field] ?? []).some(
315
312
  (item) => isSignatureLockActive(table.bizTableConfig, item)
@@ -372,6 +369,51 @@ function resolveRuntimeFieldState(props, info) {
372
369
  keepExceptionHighlight: typeof props.keepExceptionHighlight === "boolean" ? props.keepExceptionHighlight : void 0
373
370
  };
374
371
  }
372
+ function getRuntimeDataFieldId(props = {}) {
373
+ return props.field ? props.isFieldModel ? props.fieldLink ?? "" : props.field : "";
374
+ }
375
+ function getBusinessFieldKey(field) {
376
+ return [field.subModelKey ?? field.modelKey ?? "", field.fieldId ?? ""].join(":");
377
+ }
378
+ const FIELD_POSITION_PREFIX = "runtime_field_";
379
+ function buildRuntimeFieldPath(position) {
380
+ if (!position.fieldId) throw new Error("运行时字段位置缺少 fieldId");
381
+ if (position.subFieldKey && !position.rowKey) throw new Error("子表字段位置缺少 front_row_key_");
382
+ const serialized = JSON.stringify([
383
+ position.modelKey ?? "",
384
+ position.subModelKey ?? "",
385
+ position.subFieldKey ?? "",
386
+ position.rowKey ?? "",
387
+ position.fieldId
388
+ ]);
389
+ return FIELD_POSITION_PREFIX + btoa(
390
+ Array.from(new TextEncoder().encode(serialized), (byte) => String.fromCharCode(byte)).join(
391
+ ""
392
+ )
393
+ ).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
394
+ }
395
+ function parseRuntimeFieldPath(path) {
396
+ if (!path.startsWith(FIELD_POSITION_PREFIX)) return void 0;
397
+ try {
398
+ const encoded = path.slice(FIELD_POSITION_PREFIX.length).replace(/-/g, "+").replace(/_/g, "/");
399
+ const parts = JSON.parse(
400
+ new TextDecoder().decode(Uint8Array.from(atob(encoded), (char) => char.charCodeAt(0)))
401
+ );
402
+ if (!Array.isArray(parts) || parts.length !== 5 || parts.some((part) => typeof part !== "string"))
403
+ return void 0;
404
+ const [modelKey, subModelKey, subFieldKey, rowKey, fieldId] = parts;
405
+ if (!fieldId || subFieldKey && !rowKey) return void 0;
406
+ return {
407
+ modelKey: modelKey || void 0,
408
+ subModelKey: subModelKey || void 0,
409
+ subFieldKey: subFieldKey || void 0,
410
+ rowKey: rowKey || void 0,
411
+ fieldId
412
+ };
413
+ } catch {
414
+ return void 0;
415
+ }
416
+ }
375
417
  function isCellAutoLineBreak(style) {
376
418
  const whiteSpace = style?.whiteSpace ?? style?.["white-space"];
377
419
  const wordBreak = style?.wordBreak ?? style?.["word-break"];
@@ -405,8 +447,6 @@ function useRuntimeInstanceServices(uniqueIdSource) {
405
447
  instance,
406
448
  /** 控制器负责 Sheet 切换、编辑器收口和提交;尚未挂载时为空。 */
407
449
  controller: computed(() => instance.value?.controller),
408
- /** 全部 Sheet 共享的数源管理器,随实例注册与销毁。 */
409
- dataSourceManager: computed(() => instance.value?.dataSourceManager),
410
450
  /** 表单级配置独立于 Sheet 的 paper;实例未注册时提供空配置。 */
411
451
  formConfig: computed(() => instance.value?.context.formConfig ?? {}),
412
452
  /** 实例切换时重新取对应 Store;读取数据使用 .value.state,写入使用 Store 方法。 */
@@ -492,14 +532,7 @@ function useWidgetStaticAttrs(widget) {
492
532
  const targetFieldId = getRuntimeDataFieldId(widget.props);
493
533
  const fieldState = computed(
494
534
  () => resolveRuntimeFieldState(
495
- resolveRuntimeFieldProps(
496
- instance.value,
497
- widget.props,
498
- widget.id,
499
- void 0,
500
- void 0,
501
- dataRelationShip?.formChangeStatus
502
- ),
535
+ resolveRuntimeFieldProps(instance.value, widget.props, widget.id),
503
536
  dataRelationShip
504
537
  )
505
538
  );
@@ -747,6 +780,49 @@ function getSubTableQuickFillInfo(subTableFieldId, mobileTdIdGroups) {
747
780
  if (!subTableFieldId) return;
748
781
  return assignWidgetInfo(MobileFillTypeEnum.SUB_TABLE, { rowSubFieldKey: subTableFieldId });
749
782
  }
783
+ function getCurrentFormData(_rule, options) {
784
+ if (!_rule._subtableFieldId) return options?.formData;
785
+ return findRuntimeTableRow(options?.formData?.[_rule._subtableFieldId], _rule._rowKey);
786
+ }
787
+ function isSameOptionValue(current, expected) {
788
+ if (typeof expected === "boolean") {
789
+ return renderUtils.getBoolValue(current) === expected;
790
+ }
791
+ if (current === void 0 || current === null || current === "") {
792
+ return false;
793
+ }
794
+ return String(current) === String(expected);
795
+ }
796
+ function isAttachFieldActive(attach, formData) {
797
+ if (attach?.parent && !isAttachFieldActive(attach.parent, formData)) return false;
798
+ if (!attach?.belongFieldId || isNil(attach.optionValue)) {
799
+ return true;
800
+ }
801
+ const row = attach.subtableFieldId ? findRuntimeTableRow(formData?.[attach.subtableFieldId], attach.rowKey) : formData;
802
+ if (attach.subtableFieldId && (!attach.rowKey || !row || row === formData)) {
803
+ return false;
804
+ }
805
+ const raw = row?.[attach.belongFieldId];
806
+ if (attach.multiple) {
807
+ const current = renderUtils.getValue(raw, true);
808
+ if (!Array.isArray(current)) return false;
809
+ return current.some((v) => isSameOptionValue(v, attach.optionValue));
810
+ }
811
+ return isSameOptionValue(raw, attach.optionValue);
812
+ }
813
+ function isReferenceOptionActive(referenceInfo, rowFormData) {
814
+ if (!referenceInfo?.belongFieldId || isNil(referenceInfo.optionValue)) {
815
+ return true;
816
+ }
817
+ return isAttachFieldActive(
818
+ {
819
+ belongFieldId: referenceInfo.belongFieldId,
820
+ optionValue: referenceInfo.optionValue,
821
+ multiple: referenceInfo.multiple
822
+ },
823
+ rowFormData
824
+ );
825
+ }
750
826
  function fieldChromeStyles(state) {
751
827
  const required4 = state === "required";
752
828
  const disabled = state === "disabled";
@@ -950,8 +1026,6 @@ const LEGACY_RUNTIME_FORM_CONFIG_KEYS = [
950
1026
  "unitConversionRules",
951
1027
  "inspectionDecisionRule",
952
1028
  "customDataSource",
953
- "dataSources",
954
- "fieldFills",
955
1029
  "objectInitialValues",
956
1030
  "javascript",
957
1031
  "checkSignatureConfig",
@@ -4226,7 +4300,10 @@ class RuntimeInstanceEventBus {
4226
4300
  class RuntimeInstanceRegistry {
4227
4301
  /** 当前渲染入口的加载状态,由工厂更新;PreviewContainer 直接读取,无需宿主额外传参。 */
4228
4302
  loadState = shallowReactive({ loading: false, error: void 0 });
4229
- /** 顶层容器和记录都只做浅响应式;服务类仍保持原始引用。 */
4303
+ /**
4304
+ * 顶层对象使用浅响应式:实例新增、删除需要驱动 Vue 更新;record 内的服务类
4305
+ * 不需要被 Vue 深度代理,各自内部负责自己的响应式状态和生命周期
4306
+ */
4230
4307
  records = shallowReactive({});
4231
4308
  /**
4232
4309
  * 统一托管订阅、watch 和编译结果的取消函数
@@ -4268,9 +4345,8 @@ class RuntimeInstanceRegistry {
4268
4345
  events,
4269
4346
  validation
4270
4347
  };
4271
- const reactiveRecord = shallowReactive(record);
4272
- this.records[context.uniqueId] = reactiveRecord;
4273
- return reactiveRecord;
4348
+ this.records[context.uniqueId] = markRaw(record);
4349
+ return record;
4274
4350
  }
4275
4351
  /**
4276
4352
  * 在页面回调准备完成后挂载实例控制器
@@ -4448,7 +4524,6 @@ class RuntimeInstanceRegistry {
4448
4524
  this.disposables.get(uniqueId)?.forEach((dispose) => dispose());
4449
4525
  this.disposables.delete(uniqueId);
4450
4526
  record.fieldInitializer?.dispose();
4451
- record.defaultValueValidation?.dispose();
4452
4527
  record.ruleCompiler?.dispose();
4453
4528
  record.validation.dispose();
4454
4529
  record.scriptRunner?.dispose();
@@ -5912,6 +5987,8 @@ class MaterialConsumeTableController {
5912
5987
  initialDataPrepared = false;
5913
5988
  /** 最近一次同步需求数量时使用的数量依赖。 */
5914
5989
  syncedMaterialNoNum;
5990
+ /** 多 Sheet / 同屏多实例下,弹层和异步交互使用该键隔离。 */
5991
+ runtimeOwnerId = "";
5915
5992
  /** 表单是否已暂存或提交(已处理过则不再跑初始化) */
5916
5993
  get isDataProcessed() {
5917
5994
  return ["STASH", "SUBMIT"].includes(this.dataStatus ?? "");
@@ -6019,6 +6096,21 @@ class MaterialConsumeTableController {
6019
6096
  this.scanRuleProps = toParseRuleConfig(id);
6020
6097
  this.scanRuleInfo = await getParseRuleInfo({ id: this.scanRuleProps.parsingRuleId });
6021
6098
  }
6099
+ /**
6100
+ * 变更条码规则
6101
+ */
6102
+ async changeScanRule() {
6103
+ const { id_, base_id_ } = this.scanRuleInfo ?? {};
6104
+ const newConfig = await MaterialConsumeTableController.render.openChangeRuleModal({
6105
+ config: this.scanRuleProps,
6106
+ subModelKey: this.widget.props.modelKey,
6107
+ formModelController: this.formModelController
6108
+ });
6109
+ if (newConfig) {
6110
+ this.scanRuleProps = newConfig;
6111
+ this.scanRuleInfo = await getParseRuleInfo({ id: this.scanRuleProps.parsingRuleId });
6112
+ }
6113
+ }
6022
6114
  /**
6023
6115
  * 是否人为指定物料
6024
6116
  * @readonly
@@ -6723,31 +6815,6 @@ class MaterialConsumeTableController {
6723
6815
  await this.applyUnitConversionRules(row);
6724
6816
  }
6725
6817
  }
6726
- class MCRender {
6727
- /**
6728
- * 提示信息
6729
- * @param opts
6730
- */
6731
- message(opts) {
6732
- throw new Error("Function message not implemented.");
6733
- }
6734
- async openScanModal(opts) {
6735
- throw new Error("Function openScanModal not implemented.");
6736
- }
6737
- /**
6738
- * 扫码返回多条候选时,弹窗选择其中一条
6739
- * 取消返回 undefined
6740
- */
6741
- async openMultiRowsModal(opts) {
6742
- throw new Error("Function openMultiRowsModal not implemented.");
6743
- }
6744
- /**
6745
- * 关闭当前页面的 form-base 弹层
6746
- */
6747
- destroyAllModals(_ownerId) {
6748
- throw new Error("Function destroyAllModals not implemented.");
6749
- }
6750
- }
6751
6818
  var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
6752
6819
  SubTableActionEnum2["QuickFillRowCurrent"] = "quickFillRowCurrent";
6753
6820
  SubTableActionEnum2["InsertRowBefore"] = "insertRowBefore";
@@ -6759,6 +6826,8 @@ var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
6759
6826
  SubTableActionEnum2["ClearRowCurrent"] = "clearRowCurrent";
6760
6827
  SubTableActionEnum2["CONFIRM"] = "CONFIRM";
6761
6828
  SubTableActionEnum2["SCAN"] = "SCAN";
6829
+ SubTableActionEnum2["VIEW_BOM"] = "VIEW_BOM";
6830
+ SubTableActionEnum2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
6762
6831
  SubTableActionEnum2["RowEdit"] = "rowEdit";
6763
6832
  SubTableActionEnum2["Insert1GroupAfter"] = "insert1GroupAfter";
6764
6833
  return SubTableActionEnum2;
@@ -6778,6 +6847,18 @@ function getMenuByAction(type4) {
6778
6847
  label: "条码扫描",
6779
6848
  icon: "size24 icon-saoma1"
6780
6849
  },
6850
+ [SubTableActionEnum.VIEW_BOM]: {
6851
+ type: SubTableActionMenuTypeEnum.ACTION,
6852
+ key: SubTableActionEnum.VIEW_BOM,
6853
+ label: "BOM查看",
6854
+ icon: "size24 icon-a-bom11"
6855
+ },
6856
+ [SubTableActionEnum.CHANGE_PARSE_RULE]: {
6857
+ type: SubTableActionMenuTypeEnum.ACTION,
6858
+ key: SubTableActionEnum.CHANGE_PARSE_RULE,
6859
+ label: "条码解析规则变更",
6860
+ icon: "icon-tiaomajiexi"
6861
+ },
6781
6862
  [SubTableActionEnum.QuickFillRowCurrent]: {
6782
6863
  type: SubTableActionMenuTypeEnum.ACTION,
6783
6864
  key: SubTableActionEnum.QuickFillRowCurrent,
@@ -6961,204 +7042,6 @@ class TdHandler {
6961
7042
  this.mergeTd({ cellWidget: { props: { newSpecificConfig: { customLoader } } } });
6962
7043
  }
6963
7044
  }
6964
- class BaseFormModelFetcher {
6965
- /** 默认接口 */
6966
- apis = {
6967
- getFieldMetaList: api.apaas.fieldMeta.getList,
6968
- getModelMetaSubModelList: api.apaas.modelComprehensive.getSubModelList,
6969
- getModelDetail2FieldList: api.apaas.modelMeta.getDetail
6970
- };
6971
- /**
6972
- * 模型映射缓存
6973
- */
6974
- modelMetaMap = {};
6975
- async load(opts) {
6976
- const { model } = opts;
6977
- this.modelMetaMap = {};
6978
- await this.loadModelFields(model);
6979
- await this.loadSubModelsFields(model);
6980
- return Object.values(this.modelMetaMap);
6981
- }
6982
- /**
6983
- * 补全字段信息
6984
- * @param modelKey 字段所属的模型
6985
- * @param [fields=[]]
6986
- * @return {*}
6987
- */
6988
- completeFields(modelKey, fields = []) {
6989
- return fields.map((field) => {
6990
- if (!field.modelKey) {
6991
- field.modelKey = modelKey;
6992
- }
6993
- return field;
6994
- });
6995
- }
6996
- /**
6997
- * 根据模型key加载模型字段
6998
- *
6999
- * @param [modelKey=this.model]
7000
- * @return {*}
7001
- */
7002
- async loadModelFields(modelKey) {
7003
- if (typeof this.apis.getFieldMetaList !== "function") {
7004
- return;
7005
- }
7006
- const res = await this.apis.getFieldMetaList({
7007
- modelKey
7008
- });
7009
- this.modelMetaMap[modelKey] = {
7010
- key: modelKey,
7011
- name: "",
7012
- fields: this.completeFields(modelKey, res)
7013
- };
7014
- return res;
7015
- }
7016
- /**
7017
- * 加载表单所有子表字段对应模型的字段信息集合
7018
- */
7019
- async loadSubModelsFields(modelKey) {
7020
- const res = await this.apis.getModelMetaSubModelList({
7021
- modelKey
7022
- });
7023
- (res ?? []).forEach((m) => {
7024
- if (!this.modelMetaMap[m.key]) {
7025
- this.modelMetaMap[m.key] = {
7026
- key: m.key,
7027
- name: m.name,
7028
- subModel: m.subModel,
7029
- fields: this.completeFields(m.key, m.fieldMetaList)
7030
- };
7031
- }
7032
- });
7033
- }
7034
- }
7035
- class FormModelController {
7036
- /** 主模型的key */
7037
- masterModelKey;
7038
- /** 主模型的名称 */
7039
- masterModelName;
7040
- /** 模型请求器 */
7041
- fetcher = new BaseFormModelFetcher();
7042
- /** 模型映射缓存 */
7043
- modelMetaMap = reactive({});
7044
- /** 主模型信息 */
7045
- get masterModel() {
7046
- return this.modelMetaMap[this.masterModelKey];
7047
- }
7048
- /** 获取主模型字段集合 */
7049
- get masterFields() {
7050
- return this.masterModel?.fields;
7051
- }
7052
- /** 获取子模型 */
7053
- getSubModel(subModelKey) {
7054
- return this.modelMetaMap[subModelKey];
7055
- }
7056
- /** 获取子模型字段集合 */
7057
- getSubModelFields(subModelKey) {
7058
- return this.getSubModel(subModelKey)?.fields;
7059
- }
7060
- /**
7061
- * 表单字段下拉选项(排除系统字段和子表字段)
7062
- * value 格式为 modelKey.fieldKey,与字段映射存储格式一致
7063
- */
7064
- getFormFieldOptions(subModelKey) {
7065
- const fields = subModelKey ? this.getSubModelFields(subModelKey) : this.masterModel?.fields;
7066
- return (fields ?? []).filter(
7067
- (field) => !this.isSystemField(field) && !this.isSubField(field) && !this.isObjectField(field)
7068
- ).map((field) => ({
7069
- ...field,
7070
- label: `${field.name}`,
7071
- value: `${field.modelKey}.${field.key}`
7072
- }));
7073
- }
7074
- /**
7075
- * 初始化
7076
- *
7077
- * @param opts
7078
- * - model 主模型key
7079
- * - name 主模型名称
7080
- */
7081
- async init(opts) {
7082
- this.masterModelKey = opts.model;
7083
- this.masterModelName = opts.name;
7084
- await this.load();
7085
- }
7086
- /** 刷新数据 */
7087
- async refresh() {
7088
- await this.load();
7089
- }
7090
- /**
7091
- * 加载数据并填充到modelMetaMap中
7092
- * @protected
7093
- * @return {*}
7094
- */
7095
- async load() {
7096
- if (!this.masterModelKey) {
7097
- console.error("缺少主模型的key");
7098
- return;
7099
- }
7100
- const models = await this.fetcher.load({ model: this.masterModelKey });
7101
- this.modelMetaMap = models.reduce((acc, cur) => {
7102
- acc[cur.key] = cur;
7103
- if (cur.key === this.masterModelKey) {
7104
- cur.name = this.masterModelName;
7105
- }
7106
- return acc;
7107
- }, {});
7108
- }
7109
- /** 是否是子模型字段 */
7110
- isSubField(field) {
7111
- return field.type === FIELD_TYPE.MASTERSLAVE && field.bindInfo;
7112
- }
7113
- /** 是否是预置字段,包括系统字段和业务内置字段 */
7114
- isPresetField(field) {
7115
- return [CreateType.BUILTIN, CreateType.SYSTEM].includes(field.createType);
7116
- }
7117
- /** 是否是系统字段 */
7118
- isSystemField(field) {
7119
- return field.createType === CreateType.SYSTEM;
7120
- }
7121
- /** 是否是对象字段类型 */
7122
- isObjectField(field) {
7123
- return field.type === FIELD_TYPE.OBJECT_TYPE;
7124
- }
7125
- /**
7126
- * 获取主模型里子表字段对应的子模型key
7127
- *
7128
- * @param fieldKey 子表字段在主表里的字段key
7129
- * @return {*}
7130
- */
7131
- getSubFieldModelKey(fieldKey) {
7132
- return this.masterFields.find((field) => field.key === fieldKey)?.bindInfo;
7133
- }
7134
- /**
7135
- * 获取字段信息
7136
- * @param [modelKey=this.masterModelKey] 模型key
7137
- * @param fieldKey 字段key
7138
- * @return {*}
7139
- */
7140
- findField(modelKey = this.masterModelKey, fieldKey) {
7141
- const model = this.modelMetaMap[modelKey];
7142
- if (!model) {
7143
- return;
7144
- }
7145
- return model.fields.find((field) => field.key === fieldKey);
7146
- }
7147
- }
7148
- const FormModelControllerKey = "GctFormModelController";
7149
- function useFormModel() {
7150
- function provideController(c = new FormModelController()) {
7151
- provide(FormModelControllerKey, c);
7152
- return c;
7153
- }
7154
- function injectController() {
7155
- return inject(FormModelControllerKey);
7156
- }
7157
- return {
7158
- provideController,
7159
- injectController
7160
- };
7161
- }
7162
7045
  const SCAN_ROW_META_KEYS = /* @__PURE__ */ new Set([FRONT_ROW_KEY, "id_", "id", "group_", "deleted_", "delete_"]);
7163
7046
  function hasRowId(row) {
7164
7047
  const id = row.id_ ?? row.id;
@@ -7392,6 +7275,8 @@ class SubTableCore {
7392
7275
  const { actionKey } = params;
7393
7276
  if (actionKey === SubTableActionEnum.SCAN) {
7394
7277
  this.openScanModal();
7278
+ } else if (actionKey === SubTableActionEnum.CHANGE_PARSE_RULE) {
7279
+ this.changeScanRule();
7395
7280
  }
7396
7281
  }
7397
7282
  /**
@@ -7438,9 +7323,9 @@ class SubTableCore {
7438
7323
  const result = {};
7439
7324
  const config = this.bizTableConfig;
7440
7325
  if (config?.dataLockControlField && params.field === config.dataLockControlField) {
7441
- result.readonly = !params.formChangeStatus && isPersistedSignatureLockActive(config, params.rowData);
7326
+ result.readonly = isPersistedSignatureLockActive(config, params.rowData);
7442
7327
  } else if (config?.dataLockControlField) {
7443
- result.disabled = !params.formChangeStatus && isSignatureLockActive(config, params.rowData);
7328
+ result.disabled = isSignatureLockActive(config, params.rowData);
7444
7329
  }
7445
7330
  return result;
7446
7331
  }
@@ -7493,6 +7378,20 @@ class SubTableCore {
7493
7378
  scanRuleInfo;
7494
7379
  /** 解析规则配置对象 */
7495
7380
  scanRuleProps;
7381
+ /**
7382
+ * 变更条码规则
7383
+ */
7384
+ async changeScanRule() {
7385
+ const newConfig = await this.render.openChangeRuleModal({
7386
+ config: this.scanRuleProps,
7387
+ subModelKey: this.subModelKey,
7388
+ formModelController: this.formModelController
7389
+ });
7390
+ if (newConfig) {
7391
+ this.scanRuleProps = newConfig;
7392
+ this.scanRuleInfo = await getParseRuleInfo({ id: newConfig.parsingRuleId });
7393
+ }
7394
+ }
7496
7395
  /**
7497
7396
  * 打开扫描弹窗
7498
7397
  * @param opts
@@ -7571,71 +7470,37 @@ class SubTableCore {
7571
7470
  console.log(this.ctx.widget.props.tableTitle, "处理表单按钮点击事件", params);
7572
7471
  }
7573
7472
  }
7574
- const STORAGE_KEY = "gct:formula:params:v1";
7575
- const PARAMS_CHANGED_EVENT = "gct:formula-params-updated:v1";
7576
- function emptyConfig() {
7577
- return {
7578
- routingParamList: [],
7579
- inspectionParamList: [],
7580
- deviceParamList: []
7581
- };
7582
- }
7583
- function normalizeList(value) {
7584
- if (!Array.isArray(value)) return [];
7585
- return value.filter(
7586
- (item) => item !== null && typeof item === "object" && typeof item.customFieldKey === "string"
7587
- );
7588
- }
7589
- function normalizeConfig(value) {
7590
- const data = value !== null && typeof value === "object" ? value : {};
7591
- return {
7592
- routingParamList: normalizeList(data.routingParamList),
7593
- inspectionParamList: normalizeList(data.inspectionParamList),
7594
- deviceParamList: normalizeList(data.deviceParamList)
7595
- };
7596
- }
7597
- let lastRaw;
7598
- let cachedConfig = emptyConfig();
7599
- function readFormulaParamsConfig() {
7600
- const raw = window.localStorage.getItem(STORAGE_KEY);
7601
- if (raw !== lastRaw) {
7602
- try {
7603
- cachedConfig = normalizeConfig(raw ? JSON.parse(raw) : null);
7604
- } catch {
7605
- cachedConfig = emptyConfig();
7606
- }
7607
- lastRaw = raw;
7608
- }
7609
- return cachedConfig;
7473
+ let currentParamsConfig = {
7474
+ routingParamList: [],
7475
+ inspectionParamList: []
7476
+ };
7477
+ function setFormulaParamsConfig(paramsConfig = {}) {
7478
+ currentParamsConfig = paramsConfig ?? {};
7610
7479
  }
7611
- const currentParamsConfig = {
7612
- get routingParamList() {
7613
- return readFormulaParamsConfig().routingParamList;
7614
- },
7615
- get inspectionParamList() {
7616
- return readFormulaParamsConfig().inspectionParamList;
7480
+ async function CALC_IS_QUALIFIED(key, value, paramList) {
7481
+ if (!key || value == null) {
7482
+ return null;
7617
7483
  }
7484
+ const config = paramList?.find((e) => e.customFieldKey === key);
7485
+ if (!config) return null;
7486
+ const { upperLimit, lowerLimit } = config;
7487
+ if (lowerLimit == null || upperLimit == null) return null;
7488
+ const actual = Number(value);
7489
+ const min = Number(config.lowerLimit);
7490
+ const max = Number(config.upperLimit);
7491
+ if (![actual, min, max].every(Number.isFinite)) return null;
7492
+ return actual >= min && actual <= max;
7493
+ }
7494
+ const FORMULA_FUNCS = {
7495
+ RoutingParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.routingParamList || []),
7496
+ InspectionParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.inspectionParamList || [])
7618
7497
  };
7619
- function setFormulaParamsConfig(paramsConfig = {}) {
7620
- const raw = JSON.stringify(normalizeConfig(paramsConfig));
7621
- if (window.localStorage.getItem(STORAGE_KEY) === raw) return;
7622
- window.localStorage.setItem(STORAGE_KEY, raw);
7623
- window.dispatchEvent(new Event(PARAMS_CHANGED_EVENT));
7624
- }
7625
- const boundCalculators = /* @__PURE__ */ new WeakSet();
7626
- function bindFormulaCacheInvalidation(value) {
7627
- if (typeof value !== "function") return;
7628
- const calculator = value;
7629
- if (typeof calculator.clear !== "function" || boundCalculators.has(calculator)) return;
7630
- boundCalculators.add(calculator);
7631
- const clearCache = () => calculator.clear();
7632
- window.addEventListener(PARAMS_CHANGED_EVENT, clearCache);
7633
- window.addEventListener("storage", (event) => {
7634
- if (event.storageArea === window.localStorage && (event.key === STORAGE_KEY || event.key === null)) {
7635
- clearCache();
7636
- }
7498
+ function registerFormulaFuncs() {
7499
+ const register2 = window.NocodeAdapter.utils?.formulaRegister;
7500
+ if (!register2) return;
7501
+ Object.entries(FORMULA_FUNCS).forEach(([k, func]) => {
7502
+ register2(k, func);
7637
7503
  });
7638
- clearCache();
7639
7504
  }
7640
7505
  function getGroupProductIds(entry) {
7641
7506
  const ids = [entry.product_id_];
@@ -8078,15 +7943,6 @@ function useNocodeFormWidget(props, emit) {
8078
7943
  ...colIndex !== void 0 ? { colIndex } : {}
8079
7944
  });
8080
7945
  }
8081
- if (eventType === "onChange" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode) {
8082
- const keys = widget.props?.valueChangeDataSourceKeys;
8083
- if (keys?.length) {
8084
- const current = value.value;
8085
- await instance.value?.dataSourceManager?.queryOnValueChange(keys, {
8086
- cleared: current == null || current === "" || Array.isArray(current) && !current.length
8087
- });
8088
- }
8089
- }
8090
7946
  if (eventType === "onBlur" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode && !instance.value?.controller?.preparing) {
8091
7947
  instance.value?.validation.requestLive("blur", true);
8092
7948
  }
@@ -8169,7 +8025,6 @@ function useDependency(widget, props) {
8169
8025
  const { isFieldModel, subFieldKey } = widget.props;
8170
8026
  const fieldWidget = ref(cloneDeep(props.widget));
8171
8027
  const { instance, formStateStore } = useRuntimeInstanceServices();
8172
- const basicInfo = inject(NCB_PROVIDE.DATA_RELATION_SHIP);
8173
8028
  const targetFieldId = getRuntimeDataFieldId(widget.props);
8174
8029
  const configDependency = widget.props.componentDependency?.configDependency || {};
8175
8030
  const controlledFormData = computed(() => {
@@ -8188,8 +8043,7 @@ function useDependency(widget, props) {
8188
8043
  props.widget.props,
8189
8044
  props.widget.id,
8190
8045
  row,
8191
- parent,
8192
- basicInfo?.formChangeStatus
8046
+ parent
8193
8047
  );
8194
8048
  },
8195
8049
  (displayProps) => {
@@ -8776,15 +8630,6 @@ async function applyConsumeObjectTraceChange(opts) {
8776
8630
  }
8777
8631
  return {};
8778
8632
  }
8779
- class MBRender {
8780
- // 多 Sheet / 同屏场景用 ownerId 隔离实例;基类仅声明宿主需要实现的能力。
8781
- async openConsumeModal(_ownerId, _data) {
8782
- throw new Error("Function openConsumeModal not implemented.");
8783
- }
8784
- destoryConsumeModal(_ownerId) {
8785
- throw new Error("Function destoryConsumeModal not implemented.");
8786
- }
8787
- }
8788
8633
  const _hoisted_1$5 = ["data-merge", "data-fill-direction"];
8789
8634
  const _hoisted_2$1 = {
8790
8635
  key: 0,
@@ -9201,7 +9046,6 @@ const DocumentSubTable = /* @__PURE__ */ defineComponent({
9201
9046
  const newRowsData = actionType === "copyRow" ? [cloneDeep(rowData)] : Array.from({
9202
9047
  length: rowNum
9203
9048
  }, (_, index2) => transformUtils.addSubTableRowItem({
9204
- defaultValueOrigins: instance.value?.defaultValueValidation?.defaults,
9205
9049
  defaultData: currentFieldDefaultData.value,
9206
9050
  quickFillData: quickFillDatas?.[index2],
9207
9051
  subFieldId: field,
@@ -9607,6 +9451,8 @@ function waitDomStable(el, idle = 100, timeout = 2e3) {
9607
9451
  var MaterialConsumeActionType = /* @__PURE__ */ ((MaterialConsumeActionType2) => {
9608
9452
  MaterialConsumeActionType2["CONFIRM"] = "CONFIRM";
9609
9453
  MaterialConsumeActionType2["SCAN"] = "SCAN";
9454
+ MaterialConsumeActionType2["VIEW_BOM"] = "VIEW_BOM";
9455
+ MaterialConsumeActionType2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
9610
9456
  return MaterialConsumeActionType2;
9611
9457
  })(MaterialConsumeActionType || {});
9612
9458
  const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
@@ -9757,7 +9603,6 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
9757
9603
  length: rowNum
9758
9604
  }, (_, i) => {
9759
9605
  const row = transformUtils.addSubTableRowItem({
9760
- defaultValueOrigins: instance.value?.defaultValueValidation?.defaults,
9761
9606
  defaultData: currentFieldDefaultData.value,
9762
9607
  quickFillData: quickFillDatas?.[i],
9763
9608
  subFieldId: field,
@@ -9858,6 +9703,12 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
9858
9703
  title: props.widget.props.tableTitle
9859
9704
  });
9860
9705
  break;
9706
+ case MaterialConsumeActionType.VIEW_BOM:
9707
+ tableController.openBomModal();
9708
+ break;
9709
+ case MaterialConsumeActionType.CHANGE_PARSE_RULE:
9710
+ tableController.changeScanRule();
9711
+ break;
9861
9712
  }
9862
9713
  };
9863
9714
  const getNewTdInfo = (tdInfo, rowData, rowIndex) => {
@@ -10035,6 +9886,10 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
10035
9886
  label: "业务操作"
10036
9887
  },
10037
9888
  showScanBtn ? getMenuByAction(SubTableActionEnum.SCAN) : void 0,
9889
+ // tableController.actualBomEntries?.length
9890
+ // ? getMenuByAction(SubTableActionEnum.VIEW_BOM)
9891
+ // : undefined,
9892
+ // getMenuByAction(SubTableActionEnum.CHANGE_PARSE_RULE),
10038
9893
  {
10039
9894
  type: SubTableActionMenuTypeEnum.DIVIDER
10040
9895
  },
@@ -10320,6 +10175,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10320
10175
  showInsertMultiple: { type: Boolean, default: false },
10321
10176
  showEditBtn: { type: Boolean, default: false },
10322
10177
  isMaterialConsume: { type: Boolean, default: false },
10178
+ showBom: { type: Boolean, default: false },
10323
10179
  showScanBtn: { type: Boolean, default: false },
10324
10180
  showConfirmBtn: { type: Boolean, default: false },
10325
10181
  noPopover: { type: Boolean, default: false },
@@ -10343,6 +10199,19 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10343
10199
  label: "条码扫描",
10344
10200
  icon: "size24 icon-saoma1"
10345
10201
  },
10202
+ {
10203
+ show: props.showBom,
10204
+ type: "action",
10205
+ key: SubTableActionEnum.VIEW_BOM,
10206
+ label: "BOM查看",
10207
+ icon: "size24 icon-a-bom11"
10208
+ },
10209
+ {
10210
+ type: "action",
10211
+ key: SubTableActionEnum.CHANGE_PARSE_RULE,
10212
+ label: "条码解析规则变更",
10213
+ icon: "icon-tiaomajiexi"
10214
+ },
10346
10215
  {
10347
10216
  type: "divider"
10348
10217
  },
@@ -10569,7 +10438,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10569
10438
  };
10570
10439
  }
10571
10440
  });
10572
- const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7047f1a3"]]);
10441
+ const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-acff8196"]]);
10573
10442
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10574
10443
  __name: "fixed-table-action",
10575
10444
  props: {
@@ -11099,6 +10968,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11099
10968
  showInsertMultiple: { type: Boolean, default: true },
11100
10969
  showEditBtn: { type: Boolean },
11101
10970
  isMaterialConsume: { type: Boolean },
10971
+ showBom: { type: Boolean },
11102
10972
  showScanBtn: { type: Boolean },
11103
10973
  showConfirmBtn: { type: Boolean },
11104
10974
  noPopover: { type: Boolean },
@@ -11155,6 +11025,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11155
11025
  showDelBtn: __props.showDelBtn,
11156
11026
  showQuickFillBtn: __props.showQuickFillBtn,
11157
11027
  noPopover: __props.noPopover,
11028
+ showBom: __props.showBom,
11158
11029
  showConfirmBtn: __props.showConfirmBtn,
11159
11030
  showEditBtn: __props.showEditBtn,
11160
11031
  showInsertMultiple: __props.showInsertMultiple,
@@ -11162,79 +11033,79 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
11162
11033
  isMaterialConsume: __props.isMaterialConsume,
11163
11034
  menus: __props.menus,
11164
11035
  onMenuClick
11165
- }, null, 8, ["showDelBtn", "showQuickFillBtn", "noPopover", "showConfirmBtn", "showEditBtn", "showInsertMultiple", "showScanBtn", "isMaterialConsume", "menus"]);
11036
+ }, null, 8, ["showDelBtn", "showQuickFillBtn", "noPopover", "showBom", "showConfirmBtn", "showEditBtn", "showInsertMultiple", "showScanBtn", "isMaterialConsume", "menus"]);
11166
11037
  };
11167
11038
  }
11168
11039
  });
11169
- const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8710052f"]]);
11040
+ const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-53d7e66c"]]);
11170
11041
  export {
11171
- ScanParamType as $,
11172
- MaterialConsumptionPatternEnum as A,
11042
+ registerFormulaFuncs as $,
11043
+ resolveObjectBomEntry as A,
11173
11044
  BorderTD as B,
11174
- validateObjectBomForScan as C,
11045
+ runWithFillProduct as C,
11175
11046
  DEFAULT_BOOLEAN_FIELD_WIDTH as D,
11176
- resolveObjectBomEntry as E,
11177
- FormModelController as F,
11178
- runWithFillProduct as G,
11179
- useNocodeFormWidget as H,
11180
- applyConsumeObjectTraceChange as I,
11181
- getObjectBomProductQuery as J,
11182
- EMPTY_PRODUCT_VERSION_ID as K,
11183
- normalizeHistoricalAutofillRow as L,
11047
+ useNocodeFormWidget as E,
11048
+ applyConsumeObjectTraceChange as F,
11049
+ getObjectBomProductQuery as G,
11050
+ EMPTY_PRODUCT_VERSION_ID as H,
11051
+ normalizeHistoricalAutofillRow as I,
11052
+ readSealValue as J,
11053
+ isSealStamped as K,
11054
+ stampSealValue as L,
11184
11055
  MAX_RUNTIME_SHEETS as M,
11185
- readSealValue as N,
11186
- isSealStamped as O,
11187
- stampSealValue as P,
11188
- isValidSealValue as Q,
11189
- clearSealValue as R,
11190
- NCB_PROVIDE as S,
11191
- calculateFormula as T,
11192
- useStyles as U,
11193
- useDependency as V,
11194
- useFieldPresentation as W,
11195
- useRuntimeEditorFlusher as X,
11196
- RuntimeFormStateStore as Y,
11197
- createRuntimeInstanceContext as Z,
11198
- RuntimeInstanceRegistry as _,
11056
+ NCB_PROVIDE as N,
11057
+ isValidSealValue as O,
11058
+ clearSealValue as P,
11059
+ parseRuntimeFieldPath as Q,
11060
+ calculateFormula as R,
11061
+ useStyles as S,
11062
+ useDependency as T,
11063
+ useFieldPresentation as U,
11064
+ useRuntimeEditorFlusher as V,
11065
+ RuntimeFormStateStore as W,
11066
+ createRuntimeInstanceContext as X,
11067
+ RuntimeInstanceRegistry as Y,
11068
+ ScanParamType as Z,
11069
+ RequiredQtyCalcRule as _,
11199
11070
  MAX_RUNTIME_SHEET_TITLE_LENGTH as a,
11200
- SubTableActionMenuTypeEnum as a$,
11201
- RequiredQtyCalcRule as a0,
11202
- MBRender as a1,
11203
- MCRender as a2,
11204
- moveSealValue as a3,
11205
- DocumentPaper as a4,
11206
- DynamicTableAction as a5,
11207
- _sfc_main$5 as a6,
11208
- resolveRuntimeFieldProps as a7,
11209
- resolveRuntimeFieldState as a8,
11210
- assembleRules as a9,
11211
- RuntimeAsyncTaskCoordinator as aA,
11212
- RuntimeDependencyService as aB,
11213
- RuntimeFieldRegistry as aC,
11214
- RuntimeInstanceEventBus as aD,
11215
- RuntimePersistenceCoordinator as aE,
11216
- RuntimeValidationService as aF,
11217
- SubTableCore as aG,
11218
- buildFormChangeDisplayRows as aH,
11219
- convertV1Runtime as aI,
11220
- detailsHaveFormChangeRowOps as aJ,
11221
- extractFormChangeRowDetails as aK,
11222
- getFormChangeRowKey as aL,
11223
- getFormChangeRowOp as aM,
11224
- getSubTableQuickFillInfo as aN,
11225
- isAnnLocationSelected as aO,
11226
- isBlank as aP,
11227
- isFormChangeGhostRow as aQ,
11228
- normalizeHistoricalFieldConfig as aR,
11229
- pickObjectFieldKeys as aS,
11230
- recordSubtableRowAdd as aT,
11231
- recordSubtableRowDelete as aU,
11232
- relocateDeletedRowsToEnd as aV,
11233
- resolveAnnotationFieldLocation as aW,
11234
- resolveFormChangeRowUi as aX,
11235
- resolveRowFormChangeMark as aY,
11236
- setSelectMobileTdId as aZ,
11237
- stripLegacyFormConfigFromPaper as a_,
11071
+ getMenuByAction as a$,
11072
+ moveSealValue as a0,
11073
+ DocumentPaper as a1,
11074
+ DynamicTableAction as a2,
11075
+ _sfc_main$5 as a3,
11076
+ getRuntimeDataFieldId as a4,
11077
+ buildRuntimeFieldPath as a5,
11078
+ resolveRuntimeFieldProps as a6,
11079
+ resolveRuntimeFieldState as a7,
11080
+ assembleRules as a8,
11081
+ isAttachFieldActive as a9,
11082
+ RuntimeDependencyService as aA,
11083
+ RuntimeFieldRegistry as aB,
11084
+ RuntimeInstanceEventBus as aC,
11085
+ RuntimePersistenceCoordinator as aD,
11086
+ RuntimeValidationService as aE,
11087
+ SubTableCore as aF,
11088
+ buildFormChangeDisplayRows as aG,
11089
+ convertV1Runtime as aH,
11090
+ detailsHaveFormChangeRowOps as aI,
11091
+ extractFormChangeRowDetails as aJ,
11092
+ getFormChangeRowKey as aK,
11093
+ getFormChangeRowOp as aL,
11094
+ getSubTableQuickFillInfo as aM,
11095
+ isAnnLocationSelected as aN,
11096
+ isBlank as aO,
11097
+ isFormChangeGhostRow as aP,
11098
+ normalizeHistoricalFieldConfig as aQ,
11099
+ pickObjectFieldKeys as aR,
11100
+ recordSubtableRowAdd as aS,
11101
+ recordSubtableRowDelete as aT,
11102
+ relocateDeletedRowsToEnd as aU,
11103
+ resolveAnnotationFieldLocation as aV,
11104
+ resolveFormChangeRowUi as aW,
11105
+ resolveRowFormChangeMark as aX,
11106
+ setSelectMobileTdId as aY,
11107
+ stripLegacyFormConfigFromPaper as aZ,
11108
+ SubTableActionMenuTypeEnum as a_,
11238
11109
  getRuntimeDependencyOutputKey as aa,
11239
11110
  isRowAddedInCurrentFormChange as ab,
11240
11111
  resolveFormulaData as ac,
@@ -11250,54 +11121,53 @@ export {
11250
11121
  useMaterialBalance as am,
11251
11122
  collectFormChangeFieldLocations as an,
11252
11123
  nextFormChangeRowViewHistoryId as ao,
11253
- BaseFormModelFetcher as ap,
11254
- DeviceConnector as aq,
11255
- DocumentLoading as ar,
11256
- DynamicQuickFillModal as as,
11257
- FixedQuickFillModal as at,
11258
- FormTmplConfigController as au,
11259
- LEGACY_RUNTIME_FORM_CONFIG_KEYS as av,
11260
- LEGACY_RUNTIME_SHEET_ID as aw,
11261
- LEGACY_RUNTIME_SHEET_TITLE as ax,
11262
- MCDataUtil as ay,
11263
- OCR_MODEL_PRECISION_ENUM_KEY as az,
11264
- bindFormulaCacheInvalidation as b,
11265
- getMenuByAction as b0,
11266
- SubTableActionEnum as b1,
11267
- resolveScanFillData as b2,
11268
- resolveScanParsedValue as b3,
11269
- buildDefaultMapFromProfile as b4,
11270
- buildFieldStatusFromProfile as b5,
11271
- getRowHandlersForFieldChange as b6,
11272
- getInsertSubMenu as b7,
11273
- resolveScanAdjustType as b8,
11274
- resolveScanQty as b9,
11275
- toDateOnly as ba,
11276
- hasSubtableBusinessData as bb,
11277
- getCopySubMenu as bc,
11278
- isProductBatchEmptyRow as bd,
11279
- currentParamsConfig as c,
11280
- MULTI_SHEET_SCHEMA_VERSION as d,
11281
- normalizeGridColumnWidth as e,
11282
- createRuntimeDocumentV2 as f,
11283
- getParseFormulaVarInfos as g,
11284
- clampSealPosition as h,
11285
- normalizeSealDiameter as i,
11286
- normalizeFieldWidth as j,
11287
- isCellAutoLineBreak as k,
11288
- useFormTmplConfig as l,
11289
- findFieldProfile as m,
11124
+ DeviceConnector as ap,
11125
+ DocumentLoading as aq,
11126
+ DynamicQuickFillModal as ar,
11127
+ FixedQuickFillModal as as,
11128
+ FormTmplConfigController as at,
11129
+ LEGACY_RUNTIME_FORM_CONFIG_KEYS as au,
11130
+ LEGACY_RUNTIME_SHEET_ID as av,
11131
+ LEGACY_RUNTIME_SHEET_TITLE as aw,
11132
+ MCDataUtil as ax,
11133
+ OCR_MODEL_PRECISION_ENUM_KEY as ay,
11134
+ RuntimeAsyncTaskCoordinator as az,
11135
+ MULTI_SHEET_SCHEMA_VERSION as b,
11136
+ SubTableActionEnum as b0,
11137
+ resolveScanFillData as b1,
11138
+ buildDefaultMapFromProfile as b2,
11139
+ buildFieldStatusFromProfile as b3,
11140
+ getRowHandlersForFieldChange as b4,
11141
+ getInsertSubMenu as b5,
11142
+ resolveScanAdjustType as b6,
11143
+ resolveScanQty as b7,
11144
+ toDateOnly as b8,
11145
+ hasSubtableBusinessData as b9,
11146
+ getCopySubMenu as ba,
11147
+ resolveScanParsedValue as bb,
11148
+ isProductBatchEmptyRow as bc,
11149
+ normalizeGridColumnWidth as c,
11150
+ getParseFormulaVarInfos as d,
11151
+ createRuntimeDocumentV2 as e,
11152
+ clampSealPosition as f,
11153
+ getBusinessFieldKey as g,
11154
+ normalizeSealDiameter as h,
11155
+ normalizeFieldWidth as i,
11156
+ isCellAutoLineBreak as j,
11157
+ findFieldProfile as k,
11158
+ normalizeHistoricalBusinessRow as l,
11159
+ DeviceLinkTmplUtil as m,
11290
11160
  normalizeFieldFontSize as n,
11291
- normalizeHistoricalBusinessRow as o,
11292
- DeviceLinkTmplUtil as p,
11293
- normalizeAIOcrTmpl as q,
11294
- useWidgetStaticAttrs as r,
11295
- useRuntimeInstanceServices as s,
11296
- setSelectValidatorId as t,
11297
- useFormModel as u,
11298
- setSelectAnnotationId as v,
11299
- useRuntimeRowState as w,
11300
- getObjectBomMaterialLotQuery as x,
11301
- buildObjectLotExtraQuery as y,
11302
- resolveObjectFieldKeys as z
11161
+ normalizeAIOcrTmpl as o,
11162
+ useWidgetStaticAttrs as p,
11163
+ useRuntimeInstanceServices as q,
11164
+ setSelectAnnotationId as r,
11165
+ setSelectValidatorId as s,
11166
+ useRuntimeRowState as t,
11167
+ useFormTmplConfig as u,
11168
+ getObjectBomMaterialLotQuery as v,
11169
+ buildObjectLotExtraQuery as w,
11170
+ resolveObjectFieldKeys as x,
11171
+ MaterialConsumptionPatternEnum as y,
11172
+ validateObjectBomForScan as z
11303
11173
  };