@gct-paas/excel 0.1.40-beta.0 → 0.1.40-beta.10

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 (164) hide show
  1. package/dist/{BaseComponent-BTolXjlE.js → BaseComponent-DKaXUiq4.js} +2 -2
  2. package/dist/{VueVideoPlayer-Dvf7Ya7H.js → VueVideoPlayer-BeylL5J6.js} +2 -2
  3. package/dist/{align-editor-jp0NsOnT.js → align-editor-r0dHXFka.js} +1 -1
  4. package/dist/{barcode-design-ClfdoOKn.js → barcode-design-BCJkI4mq.js} +2 -2
  5. package/dist/base/index.es.js +668 -262
  6. package/dist/{diagonal-design-Br0xpyqC.js → diagonal-design-CAILyrwR.js} +2 -2
  7. package/dist/{dynamic-table-action-C-HIKtZG.js → dynamic-table-action-CHY5xNLE.js} +482 -286
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BHExrYFJ.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-8yB6zly8.js} +1181 -696
  9. package/dist/{edit.utils-CXmmCnxE-D4-n_eOM.js → edit.utils-CXmmCnxE-Cu6obgSA.js} +1 -1
  10. package/dist/excel.css +3304 -4069
  11. package/dist/{exceljs.min-BH63KI8s.js → exceljs.min-CuCLHH9n.js} +2 -2
  12. package/dist/{font-editor-QSpu9bjJ.js → font-editor-DsrS0BQJ.js} +3 -3
  13. package/dist/{image-design-ySQAmnTF.js → image-design-FDLY6DFg.js} +2 -2
  14. package/dist/{index-CN-rY-3F.js → index-7u6Pmaax.js} +1 -1
  15. package/dist/{index-D3IdoYWe.js → index-AGp5c3cl.js} +2 -2
  16. package/dist/{index-Ca8q7yXC.js → index-B-hfUWEs.js} +2 -2
  17. package/dist/{index-CMOvPSr6.js → index-B8pwnxas.js} +2 -2
  18. package/dist/{index-ibQys99q.js → index-BCsDTwbK.js} +1 -1
  19. package/dist/{index-D9zBCWpE.js → index-BIeu5JwZ.js} +2 -2
  20. package/dist/{index-oOLbaFI8.js → index-BPc_QQH5.js} +19468 -21212
  21. package/dist/{index-C2RMbM6E.js → index-BTfYHAPC.js} +2 -2
  22. package/dist/{index-BXXvFDgt.js → index-BdFPuj12.js} +1 -1
  23. package/dist/{index-QTmeSdj9.js → index-BsVPhbAx.js} +6 -3
  24. package/dist/{index-FSCxAVGq.js → index-C3SyXJii.js} +2 -2
  25. package/dist/{index-BxEjRF0o.js → index-C6jVSwAq.js} +2 -2
  26. package/dist/{index-uVpJOLb3.js → index-CFVecFFb.js} +53 -5
  27. package/dist/{index-C7DwXZ-K.js → index-CRIhEnfm.js} +1 -1
  28. package/dist/{index-Cf7KwZfa.js → index-CRW2rDyo.js} +6 -5
  29. package/dist/{index-DZGqXE3S.js → index-CTJlsdnr.js} +3 -3
  30. package/dist/{index-4_qe7Eco.js → index-CbmHekMw.js} +2 -2
  31. package/dist/{index-Qf8D5LdT.js → index-CwK_A9FR.js} +3 -3
  32. package/dist/{index-DbPA5PUX.js → index-DEHsGK91.js} +1 -1
  33. package/dist/{index-CvDQjwre.js → index-DGODLCja.js} +1 -1
  34. package/dist/{index-8yhxxqYM.js → index-DJiuJgNx.js} +1 -1
  35. package/dist/{index-BJ6ZaX-f.js → index-DOd1pUIe.js} +2 -2
  36. package/dist/{index-DYxskDRv.js → index-DPGs3mX0.js} +3 -3
  37. package/dist/{index-BOaDYNtp.js → index-DXNSTk5n.js} +2 -2
  38. package/dist/{index-BHiNdrGr.js → index-De6oWEZJ.js} +2 -2
  39. package/dist/{index-nBc_3R3r.js → index-DgLLlaiF.js} +1 -1
  40. package/dist/{index-B3mCVcXB.js → index-DkYlfWLa.js} +2 -2
  41. package/dist/{index-dhaw5vxN.js → index-Dl_ZgCRB.js} +3 -3
  42. package/dist/{index-BJQd1G0r.js → index-DoVHKpph.js} +6 -5
  43. package/dist/{index-CTO4kNz9.js → index-Go0PUrqy.js} +1 -1
  44. package/dist/{index-Cb-I6DkL.js → index-KxrgWfEL.js} +1 -1
  45. package/dist/{index-B6Bs-q34.js → index-dXOMuxrp.js} +2 -2
  46. package/dist/{index-CUrMIr2v.js → index-etlM6HzI.js} +2 -2
  47. package/dist/{index-2FWN7Q91.js → index-gGYvWSjX.js} +2 -2
  48. package/dist/{index-COx1-SPe.js → index-rZVFumSM.js} +2 -2
  49. package/dist/index.es.js +12 -10
  50. package/dist/{mb-render-BRejJNP-.js → mb-render-_IUbyYCY.js} +9 -3
  51. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-QX4lxsni.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-CnQiVFDN.js} +8 -1
  52. package/dist/{pagination-design-pTh3Fqbz.js → pagination-design-DsOKY9kM.js} +2 -2
  53. package/dist/paper-widget-design-BTxXtF4f.js +4 -0
  54. package/dist/{print-runtime-instance-CBUjws4D.js → print-runtime-instance-lfLuU2No.js} +1 -1
  55. package/dist/{print-snapshot-renderer-s0IhY_T_.js → print-snapshot-renderer-Di-YZz7g.js} +3 -3
  56. package/dist/{qrcode-design-CnKOb-s9.js → qrcode-design-BGptsxHU.js} +1 -1
  57. package/dist/{revo-grid.entry-BqbaKcyR.js → revo-grid.entry-BZADj2ve.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-jmN78nkb.js → revogr-attribution_7.entry-DbQASE7d.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-eK74i7_f.js → revogr-clipboard_3.entry-BUDhUelS.js} +2 -2
  60. package/dist/{revogr-data_4.entry-D2lAUBEM.js → revogr-data_4.entry-0V57Lz9p.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-C-1WXBDy.js → revogr-filter-panel.entry-BJEYteeW.js} +1 -1
  62. package/dist/seal-design-BS24iQos.js +4 -0
  63. package/dist/{serialnumber-design-DEYD9ku_.js → serialnumber-design-BbjW4gnZ.js} +1 -1
  64. package/dist/shared/index.es.js +26 -24
  65. package/dist/{single-field-drop-Bd3PcWQF.js → single-field-drop-DP6_SO_H.js} +2 -2
  66. package/dist/{size-editor-DiZ8E2R6.js → size-editor-CcYZKUn5.js} +1 -1
  67. package/dist/src/domain/document-business/business/product-release/profile.d.ts +2 -0
  68. package/dist/src/domain/document-business/business/product-release/service.d.ts +2 -0
  69. package/dist/src/domain/document-business/index.d.ts +2 -0
  70. package/dist/src/domain/document-business/registry.d.ts +2 -0
  71. package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +4 -0
  72. package/dist/src/domain/document-business/types.d.ts +24 -0
  73. package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +2 -0
  74. package/dist/src/domain/field/query-filter.d.ts +15 -0
  75. package/dist/src/domain/table/business/material/material-balance/profile/fields.d.ts +2 -0
  76. package/dist/src/domain/table/business/material/material-consume/profile/fields.d.ts +2 -0
  77. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +37 -1
  78. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +3 -0
  79. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +8 -0
  80. package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +1 -7
  81. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
  82. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/fields.d.ts +2 -0
  83. package/dist/src/domain/table/business/warehouse/shared/autofill-source-labels.d.ts +19 -0
  84. package/dist/src/domain/table/design/autofill-expander.d.ts +2 -0
  85. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +6 -0
  86. package/dist/src/domain/table/index.d.ts +1 -1
  87. package/dist/src/domain/table/types.d.ts +2 -0
  88. package/dist/src/index.d.ts +2 -0
  89. package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +2 -1
  90. package/dist/src/nocode-base/src/core/sub-table/pretreatment-list-table-core.d.ts +1 -0
  91. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +3 -3
  92. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +2 -1
  93. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
  94. package/dist/src/nocode-base/src/hooks/form-model/form-model-controller.d.ts +2 -0
  95. package/dist/src/nocode-base/src/hooks/formula-params-cache.d.ts +15 -0
  96. package/dist/src/nocode-base/src/hooks/inspection-module-qty.d.ts +4 -0
  97. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +1 -0
  98. package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +12 -7
  99. package/dist/src/nocode-base/src/hooks/material-consume-object/bom-validator.d.ts +4 -3
  100. package/dist/src/nocode-base/src/hooks/material-consume-object/initialize-autofill.d.ts +17 -0
  101. package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts +24 -0
  102. package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +3 -7
  103. package/dist/src/nocode-base/src/hooks/render-page/sterilization-date.d.ts +3 -0
  104. package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +4 -1
  105. package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +8 -2
  106. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +7 -6
  107. package/dist/src/nocode-base/src/hooks/validation/createValidateFactory.d.ts +1 -0
  108. package/dist/src/nocode-base/src/interface/ref-loader.d.ts +12 -1
  109. package/dist/src/nocode-base/src/interface/render.d.ts +3 -1
  110. package/dist/src/nocode-base/src/interface/transform.d.ts +9 -1
  111. package/dist/src/nocode-base/src/runtime/async-task-coordinator.d.ts +6 -2
  112. package/dist/src/nocode-base/src/runtime/multi-sheet-runtime.d.ts +2 -0
  113. package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +2 -1
  114. package/dist/src/nocode-base/src/runtime/runtime-form-state-store.d.ts +6 -0
  115. package/dist/src/nocode-base/src/runtime/runtime-validation-service.d.ts +1 -0
  116. package/dist/src/nocode-base/src/runtime/table-row-identity.d.ts +11 -2
  117. package/dist/src/nocode-base/src/types/common/base.d.ts +2 -0
  118. package/dist/src/nocode-base/src/types/fields/i-sign.d.ts +1 -1
  119. package/dist/src/nocode-base/src/types/render/mc-render.d.ts +1 -1
  120. package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +5 -1
  121. package/dist/src/nocode-web-render/src/render/sub-table/common/inventory-scan-columns.d.ts +6 -0
  122. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +1 -1
  123. package/dist/src/online-form/src/views/__cell_widgets__/cell-widget-design.vue.d.ts +1 -0
  124. package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields.util.d.ts +2 -2
  125. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-option-select.vue.d.ts +1 -0
  126. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  127. package/dist/src/online-form/src/views/designer/conversions/normalize-paper-grid.d.ts +3 -0
  128. package/dist/src/online-form/src/views/designer/utils/placed-fields.d.ts +9 -0
  129. package/dist/src/online-form/src/views/designer/utils/template-placed-fields.d.ts +7 -0
  130. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-floating-field.vue.d.ts +0 -1
  131. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-runtime-layer.vue.d.ts +0 -1
  132. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/use-seal-stamp.d.ts +1 -4
  133. package/dist/src/online-form/src/views/render/__components__/_field_/trace/utils/use-rule-props.d.ts +0 -3
  134. package/dist/src/online-form/src/views/render/sheet-tab-bar.vue.d.ts +5 -3
  135. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +162 -2
  136. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +41 -0
  137. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +16 -0
  138. package/dist/src/shared/components/Signature/logic/index.d.ts +15 -1
  139. package/dist/src/shared/enum/field-type.d.ts +9 -2
  140. package/dist/src/shared/enum/index.d.ts +2 -0
  141. package/dist/src/shared/enum/product-type.d.ts +9 -0
  142. package/dist/src/shared/enum/production-identification.d.ts +19 -0
  143. package/dist/src/shared/utils/withRequestCache.d.ts +27 -0
  144. package/dist/{sub-table-factory-B6HdlZ7-.js → sub-table-factory-B0YWwWSA.js} +233 -152
  145. package/dist/{text-design-D2IwsbOW.js → text-design-CquXT5UG.js} +2 -2
  146. package/dist/{throttle-Cpk1LoGk-DRpYOKiV.js → throttle-Cpk1LoGk-BVommE6v.js} +1 -1
  147. package/dist/{timediff-design-Cq3SADlb.js → timediff-design-DLlIUaqv.js} +1 -1
  148. package/dist/{trace-like-wrapper-Qmczl-Hz.js → trace-like-wrapper-BXA26KJX.js} +2 -2
  149. package/dist/{value-editor.vue_vue_type_style_index_0_lang-UXPOa0Wv.js → value-editor.vue_vue_type_style_index_0_lang-BE_003Cm.js} +2 -2
  150. package/dist/web-render/index.es.js +3 -3
  151. package/dist/{widget-barcode-C7wO0SFO.js → widget-barcode-DSLB1Wm3.js} +4 -4
  152. package/dist/{widget-diagonal-Cbuv8o5A.js → widget-diagonal-8alLoPL6.js} +3 -3
  153. package/dist/{widget-image-4AeqjwGp.js → widget-image-BmP7Adg_.js} +5 -5
  154. package/dist/{widget-line--RgXiyvO.js → widget-line-D9S0mzzT.js} +2 -2
  155. package/dist/{widget-pagination-jr6bVWPW.js → widget-pagination-BR3w_OHu.js} +5 -5
  156. package/dist/{widget-power-ptilZfAF.js → widget-power-DCV70vg5.js} +3 -3
  157. package/dist/{widget-qrcode-DH-1741M.js → widget-qrcode-CTzBIYUi.js} +3 -3
  158. package/dist/{widget-rangelimit-B4yv3Qw3.js → widget-rangelimit-1aqxil7q.js} +3 -3
  159. package/dist/{widget-serialnumber-AZ2IUJTg.js → widget-serialnumber-B-2Ey17u.js} +1 -1
  160. package/dist/{widget-text-CW0A1n16.js → widget-text-B1REfHTG.js} +5 -5
  161. package/dist/{widget-timediff-C3xTGqfj.js → widget-timediff-DRoMv5aa.js} +2 -2
  162. package/package.json +2 -2
  163. package/dist/paper-widget-design-CBI-8vTV.js +0 -4
  164. package/dist/seal-design-CMJBAfIN.js +0 -4
@@ -1,14 +1,14 @@
1
- import { E as api, $ as PlatformEnum, F as FIELD_TYPE, bi as getRowId, bj as findRuntimeTableRow, b8 as RenderModeEnum, C as ComponentTypeEnum, bv as assembleRules, bw as isAttachFieldActive, aI as Dependency_ENUM, bk as calculateFormula, aH as ASSIGNMENTSTRATEGY_ENUM, R as getParseFormulaVarInfos, bx as fetchHistoryConsume, by as isBomGranted, aW as renderUtils, bu as uuid2, bz as parseFrontConfig, aL as CheckDsTypeEnum, aF as transformUtils, bA as baseDataUtils, bB as initializeSealFields, Y as FormTypeEnum, bC as normalizeToArray, bD as safeParseArray, bE as BpmnNodeTypeEnum, bF as mergeByMultiKey, a8 as _export_sfc, bG as evaluateInspectionDecisionRule, bH as areValidationCommentsEqual, bI as useNocodeEmitter, bJ as commonUtils, aJ as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BHExrYFJ.js";
2
- import { aO, aQ, a$, a1, bK, bL, B, bM, y, ai, bN, bO, bP, bh, bQ, aT, ay, aP, aM, aN, bR, aj, an, bS, bT, aG, a3, ah, az, aR, a0, al, L, bU, bV, O, p, P, aa, o, Q, A, bW, bX, ax, aw, a6, a2, a4, a5, a7, f, bY, am, aq, ak, bZ, b_, b$, c0, bg, c1, c2, c3, c4, c5, c6, c7, c8, bl, c9, ca, aZ, cb, b0, b1, cc, cd, ce, cf, cg, ch, ci, cj, ck, aY, cl, b2, be, cm, cn, co, ao, t, aS, cp, cq, bm, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BHExrYFJ.js";
3
- import { L as getRuntimeDataFieldId, x as parseRuntimeFieldPath, O as buildRuntimeFieldPath, P as resolveRuntimeFieldProps, Q as resolveRuntimeFieldState, T as getRuntimeDependencyOutputKey, U as isRowAddedInCurrentFormChange, l as MaterialConsumptionPatternEnum, V as MaterialConsumeTableController, W as setFormulaParamsConfig, X as normalizeRuntime, F as createRuntimeInstanceContext, R as RuntimeFormStateStore, Y as RuntimeSheetService, g as getBusinessFieldKey, Z as validateObjectBomQtyOnSubmit, $ as closeValidatorPopovers, a0 as enrichFormChangeRowDetails, N as NCB_PROVIDE, G as RuntimeInstanceRegistry, a1 as useMaterialBalance, a2 as collectFormChangeFieldLocations, a3 as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-C-HIKtZG.js";
4
- import { B as B2, a4 as a42, b, _, a5 as a52, J, a6 as a62, K, E, a7 as a72, a8, a9, aa as aa2, ab, ac, M, ad, ae, af, ag, ah as ah2, ai as ai2, aj as aj2, ak as ak2, q, al as al2, k, am as am2, c, an as an2, ao as ao2, ap, aq as aq2, j, t as t2, ar, as, at, au, d, w, a, av, aw as aw2, ax as ax2, ay as ay2, az as az2, aA, m, r, aB, o as o2, h, aC, s, aD, z, A as A2, u, p as p2, C, f as f2, i, y as y2, e, v } from "../dynamic-table-action-C-HIKtZG.js";
1
+ import { p as api, a0 as PlatformEnum, F as FIELD_TYPE, bj as getRowId, bk as findRuntimeTableRow, bm as RenderModeEnum, C as ComponentTypeEnum, aB as findFieldMain, c as getProfileByTableType, d as getBusinessProfileByRefModelType, b as isBusinessSubTableProfile, ax as RangeValidateMode, bx as assembleRules, by as isAttachFieldActive, aK as Dependency_ENUM, bl as calculateFormula, aJ as ASSIGNMENTSTRATEGY_ENUM, U as getParseFormulaVarInfos, bz as fetchHistoryConsume, bA as isBomGranted, aX as renderUtils, bw as uuid2, bB as parseFrontConfig, aN as CheckDsTypeEnum, aH as transformUtils, bC as baseDataUtils, bD as initializeSealFields, Z as FormTypeEnum, bE as normalizeToArray, bF as safeParseArray, bG as BpmnNodeTypeEnum, bH as mergeByMultiKey, a9 as _export_sfc, bI as evaluateInspectionDecisionRule, bJ as areValidationCommentsEqual, bK as useNocodeEmitter, bL as commonUtils, aL as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-8yB6zly8.js";
2
+ import { aQ, aS, b1, a2, bM, bN, B, bO, A, aj, bP, bQ, bR, bi, bS, aT, aC, aR, aO, aP, bT, ak, ao, bU, bV, aI, a4, ai, aD, bW, a1, am, L, bX, bY, bZ, O, s, P, ab, q, R, G, b_, b$, ay, a7, a3, a5, a6, a8, h, c0, an, ar, al, c1, c2, c3, c4, bh, c5, c6, c7, c8, c9, ca, cb, cc, cd, ce, bn, cf, cg, a_, ch, b2, b3, ci, cj, ck, cl, cm, cn, co, cp, cq, cr, aZ, cs, b4, bf, ct, cu, cv, ap, v, cw, cx, cy, bo, a$ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-8yB6zly8.js";
3
+ import { T as getRuntimeDataFieldId, F as parseRuntimeFieldPath, U as buildRuntimeFieldPath, f as findFieldProfile, V as resolveRuntimeFieldProps, W as resolveRuntimeFieldState, X as getRuntimeDependencyOutputKey, Y as isRowAddedInCurrentFormChange, t as MaterialConsumptionPatternEnum, Z as MaterialConsumeTableController, $ as setFormulaParamsConfig, a0 as normalizeRuntime, K as createRuntimeInstanceContext, R as RuntimeFormStateStore, a1 as RuntimeSheetService, g as getBusinessFieldKey, a2 as validateObjectBomQtyOnSubmit, a3 as closeValidatorPopovers, a4 as enrichFormChangeRowDetails, N as NCB_PROVIDE, L as RuntimeInstanceRegistry, a5 as useMaterialBalance, a6 as collectFormChangeFieldLocations, a7 as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-CHY5xNLE.js";
4
+ import { B as B2, a8 as a82, i, _, a9, P as P2, aa, Q, E, ab as ab2, ac, ad, ae, af, M, a, ag, d, ah, ai as ai2, aj as aj2, ak as ak2, al as al2, am as am2, an as an2, ao as ao2, z, ap as ap2, q as q2, aq, e, ar as ar2, as, at, au, p, A as A2, av, aw, ax, ay as ay2, j, C, h as h2, az, aA, aB, aC as aC2, aD as aD2, aE, w, r, aF, x, m, aG, s as s2, aH, H, I, u, y, J, l, o, G as G2, k, v as v2 } from "../dynamic-table-action-CHY5xNLE.js";
5
5
  import { toRaw, watch, toRef, computed, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, shallowRef, markRaw, ref, provide, onUnmounted, reactive, onBeforeUnmount } from "vue";
6
6
  import { cloneDeep, defaults, isEmpty, merge, get } from "lodash-es";
7
7
  import "dayjs";
8
- import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-B6HdlZ7-.js";
9
- import { A as A3, D, M as M2, a as a10, P as P2, b as b3, c as c10, d as d2, e as e2, W, f as f3, g, h as h2 } from "../sub-table-factory-B6HdlZ7-.js";
10
- import { createDataSourceManager, getLegacyFieldFillTargets, createFieldFillRuntime, isFieldFillTargetProtected, buildDataSourceContext } from "@gct-paas/form-base";
11
- import { B as B3, F, M as M3, a as a11, u as u2 } from "../mb-render-BRejJNP-.js";
8
+ import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-B0YWwWSA.js";
9
+ import { A as A3, D, M as M2, a as a10, P as P3, b, c, d as d2, e as e2, W, f, g, h as h3 } from "../sub-table-factory-B0YWwWSA.js";
10
+ import { createDataSourceManager, getLegacyFieldFillTargets, createFieldFillRuntime, buildFieldFillRows, isFieldFillTargetProtected, getFieldFillColumn, buildDataSourceContext } from "@gct-paas/form-base";
11
+ import { B as B3, F, M as M3, a as a11, u as u2 } from "../mb-render-_IUbyYCY.js";
12
12
  const InstanceStatusValues = {
13
13
  /** 作废状态 */
14
14
  ABANDON: "ABANDON",
@@ -155,6 +155,32 @@ async function fetchOperationReceiveQty(paramsConfig) {
155
155
  const num = Number(raw);
156
156
  return Number.isNaN(num) ? void 0 : num;
157
157
  }
158
+ const INSPECTION_MODULE_QTY_API = {
159
+ modelCategory: "entity",
160
+ modelKey: "em_inspection_list",
161
+ bsKey: "getById"
162
+ };
163
+ function isRecord(value) {
164
+ return value !== null && typeof value === "object" && !Array.isArray(value);
165
+ }
166
+ function parseInspectionModuleQty(res) {
167
+ if (!isRecord(res) || res.ok === false) return void 0;
168
+ const payload = isRecord(res.data) ? res.data : res;
169
+ const row = isRecord(payload.data) ? payload.data : payload;
170
+ const raw = row.inspection_number_;
171
+ if (typeof raw !== "number" && typeof raw !== "string") return void 0;
172
+ if (typeof raw === "string" && raw.trim() === "") return void 0;
173
+ const qty = Number(raw);
174
+ return Number.isFinite(qty) ? qty : void 0;
175
+ }
176
+ async function fetchInspectionModuleQty(txnInstId) {
177
+ if (txnInstId == null || txnInstId === "") return void 0;
178
+ const res = await api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey(
179
+ INSPECTION_MODULE_QTY_API,
180
+ { id: txnInstId }
181
+ );
182
+ return parseInspectionModuleQty(res);
183
+ }
158
184
  function listRuntimeFieldRows(record, subFieldKey, targetFieldId) {
159
185
  if (!subFieldKey) {
160
186
  return [{ row: record.formState.state }];
@@ -191,7 +217,7 @@ class RuntimeFieldInitializer {
191
217
  await Promise.resolve();
192
218
  this.scheduled = false;
193
219
  if (!signal.aborted && !this.disposed) await this.initialize();
194
- }).catch((error) => console.error("业务字段初始化失败", error)).finally(() => this.tasks.delete("initialize:structure"));
220
+ }).catch(() => void 0).finally(() => this.tasks.delete("initialize:structure"));
195
221
  });
196
222
  }
197
223
  record;
@@ -204,7 +230,7 @@ class RuntimeFieldInitializer {
204
230
  disposed = false;
205
231
  scheduled = false;
206
232
  unsubscribe;
207
- /** 初次加载等待全部目标;失败保留在任务中心,不能把未完成的默认值当成可提交数据。 */
233
+ /** 初次加载等待全部目标;默认值请求失败保留在任务中心供诊断,但不阻止提交。 */
208
234
  async initialize() {
209
235
  if (this.disposed || this.info.renderPurpose || this.info.platformType === PlatformEnum.INTEGRATION_PAAS_DP)
210
236
  return;
@@ -213,7 +239,7 @@ class RuntimeFieldInitializer {
213
239
  for (const { widget, sheetId, referenceInfo } of this.record.fields.allWidgets()) {
214
240
  const props = widget.props;
215
241
  const fieldId = getRuntimeDataFieldId(props);
216
- const kind = props.fieldType === FIELD_TYPE.UDI || props.bizType === FIELD_TYPE.UDI ? "udi" : props.bizType === FIELD_TYPE.OPERATION_RECEIVE_QTY ? "receive" : props.tmplId && [FIELD_TYPE.INTEGER, FIELD_TYPE.LONG].includes(props.fieldType) ? "count" : this.info.isMockReport && props.fieldType === FIELD_TYPE.RECORD_NO && props.newSpecificConfig?.newSnNo ? "recordNo" : void 0;
242
+ const kind = props.fieldType === FIELD_TYPE.UDI || props.bizType === FIELD_TYPE.UDI ? "udi" : props.bizType === FIELD_TYPE.OPERATION_RECEIVE_QTY ? "receive" : props.fieldType === FIELD_TYPE.INSPECTION_MODULE_QTY || props.bizType === FIELD_TYPE.INSPECTION_MODULE_QTY ? "inspection" : props.tmplId && [FIELD_TYPE.INTEGER, FIELD_TYPE.LONG].includes(props.fieldType) ? "count" : this.info.isMockReport && props.fieldType === FIELD_TYPE.RECORD_NO && props.newSpecificConfig?.newSnNo ? "recordNo" : void 0;
217
243
  if (!kind || !fieldId || props.isFieldModel) continue;
218
244
  for (const { row } of listRuntimeFieldRows(
219
245
  this.record,
@@ -225,11 +251,13 @@ class RuntimeFieldInitializer {
225
251
  if (this.initialized.get(key) === toRaw(row)) continue;
226
252
  this.initialized.set(key, toRaw(row));
227
253
  if (props.subFieldKey ? row.id_ : (this.info.instanceStatus ?? this.metadata.instanceStatus) !== InstanceStatusValues.UNFILLED) {
228
- if (kind !== "recordNo") continue;
254
+ if (kind !== "recordNo" && kind !== "inspection") continue;
229
255
  }
230
256
  const previous = row[fieldId];
231
257
  if (kind === "udi" && isPresent(previous)) continue;
232
258
  const path = this.record.formState.getFieldPath(row, fieldId);
259
+ if (kind === "inspection" && (isPresent(previous) || this.record.formState.isUserModified(path)))
260
+ continue;
233
261
  this.tasks.add(key);
234
262
  const task = this.record.asyncTasks.run(
235
263
  key,
@@ -248,9 +276,14 @@ class RuntimeFieldInitializer {
248
276
  modelKey: props.modelKey,
249
277
  subModelKey: props.subModelKey
250
278
  },
251
- sheetId
279
+ sheetId,
280
+ blockOnFailure: false
252
281
  }
253
- ).finally(() => this.tasks.delete(key));
282
+ ).finally(() => {
283
+ this.tasks.delete(key);
284
+ if (kind === "inspection" && this.initialized.get(key) === toRaw(row) && !isPresent(row[fieldId]))
285
+ this.initialized.delete(key);
286
+ });
254
287
  pending.push(task);
255
288
  }
256
289
  }
@@ -260,20 +293,33 @@ class RuntimeFieldInitializer {
260
293
  this.record.asyncTasks.cancel(key);
261
294
  this.tasks.delete(key);
262
295
  }
263
- await Promise.all(pending);
296
+ await Promise.allSettled(pending);
264
297
  }
265
- request(key, fetch) {
298
+ request(key, fetch, cacheResult = true) {
266
299
  const existing = this.requests.get(key);
267
300
  if (existing) return existing;
268
- const task = fetch().catch((error) => {
269
- this.requests.delete(key);
270
- throw error;
271
- });
301
+ const task = fetch().then(
302
+ (value) => {
303
+ if (!cacheResult) this.requests.delete(key);
304
+ return value;
305
+ },
306
+ (error) => {
307
+ this.requests.delete(key);
308
+ throw error;
309
+ }
310
+ );
272
311
  this.requests.set(key, task);
273
312
  return task;
274
313
  }
275
314
  async readDefault(kind, props) {
276
315
  if (kind === "recordNo") return props.newSpecificConfig.newSnNo;
316
+ if (kind === "inspection") {
317
+ return this.request(
318
+ `inspection:${this.metadata.txnInstId ?? ""}`,
319
+ () => fetchInspectionModuleQty(this.metadata.txnInstId),
320
+ false
321
+ );
322
+ }
277
323
  if (kind === "count") {
278
324
  const params = { ...JSON.parse(this.metadata.params || "{}"), ...this.info.paramsConfig };
279
325
  const name = params.materialNo || this.metadata.materialNo;
@@ -490,6 +536,13 @@ class RuntimeRuleCompiler {
490
536
  const props = widget.props ?? {};
491
537
  const targetFieldId = getRuntimeDataFieldId(props);
492
538
  if (!targetFieldId) return;
539
+ const fieldMain = findFieldMain(props.bizType, props.fieldType);
540
+ const tableProfile = getProfileByTableType(props.subModelType) ?? getBusinessProfileByRefModelType(props.subModelType);
541
+ const tableProps = tableProfile && isBusinessSubTableProfile(tableProfile) ? findFieldProfile(tableProfile, props.field)?.defaultProps : void 0;
542
+ const numeric = fieldMain?.render === "rd:number" || fieldMain?.render === "rd:double";
543
+ const defaultMinValue = numeric && [tableProps, fieldMain?.defaultProps].some(
544
+ (defaults2) => defaults2?.enableRangeValidate === true && defaults2.minValidateMode === RangeValidateMode.Fixed_Number && defaults2.minValue === 0
545
+ ) ? 0 : void 0;
493
546
  getRulePaths(
494
547
  this.record,
495
548
  props,
@@ -509,6 +562,7 @@ class RuntimeRuleCompiler {
509
562
  const rules = assembleRules({
510
563
  showRequired: state.required,
511
564
  fieldType: props.fieldType,
565
+ defaultMinValue,
512
566
  validatorInfo: {
513
567
  showModelName: props.newSpecificConfig?.newModelName,
514
568
  showModelKey: props.modelKey ?? this.basicInfo.modelKey,
@@ -808,6 +862,10 @@ class FormTmplBomController {
808
862
  field2TableMap = {};
809
863
  /** 默认物料消耗模式 */
810
864
  defaultMCPattern = MaterialConsumptionPatternEnum.RECORD;
865
+ /** 表单实例身份与 BOM 数据是否存在无关,模板展示也会创建完整控制器。 */
866
+ hasFormInstance = false;
867
+ /** 按页面中的表解析后的配置,页面与打印共用。 */
868
+ resolvedTmplBomList = [];
811
869
  constructor() {
812
870
  }
813
871
  /**
@@ -825,7 +883,9 @@ class FormTmplBomController {
825
883
  productQty: this.productQty,
826
884
  historyData: this.historyData,
827
885
  field2TableMap: this.field2TableMap,
828
- defaultMCPattern: this.defaultMCPattern
886
+ defaultMCPattern: this.defaultMCPattern,
887
+ hasFormInstance: this.hasFormInstance,
888
+ resolvedTmplBomList: this.resolvedTmplBomList
829
889
  })
830
890
  );
831
891
  (view.tmplBomList ?? []).forEach((config) => {
@@ -877,11 +937,11 @@ class FormTmplBomController {
877
937
  * @readonly
878
938
  */
879
939
  get bomEntries() {
880
- return this.formInstBom?.bomEntries;
940
+ return this.formInstBom?.bomEntries ?? [];
881
941
  }
882
942
  /** 表单模板bom信息配置列表 */
883
943
  get tmplBomList() {
884
- return this.formInstBom?.formTmplBomList;
944
+ return this.resolvedTmplBomList;
885
945
  }
886
946
  /**
887
947
  * bom那边指定的当前工序的开关
@@ -890,30 +950,55 @@ class FormTmplBomController {
890
950
  get enableSequenceLoading() {
891
951
  return !!this.formInstBom?.sequenceEntries?.[0]?.enabled_;
892
952
  }
893
- /**
894
- * 初始化模板的物料消耗的配置
895
- */
953
+ createDefaultConfig(table) {
954
+ return {
955
+ table_key_: `${table.tableKey}:${table.masterSubField}`,
956
+ material_loading_model_enabled_: false,
957
+ material_consumption_pattern_: MaterialConsumptionPatternEnum.RECORD,
958
+ bom_init_enabled_: false,
959
+ personal_bom_enabled_: false,
960
+ sequence_loading_enabled_: false,
961
+ entries_: []
962
+ };
963
+ }
964
+ /** 有实例时读取实例配置,无实例时仅创建默认展示控制器。 */
896
965
  async init(data) {
897
- if (!data.formInstBom) {
898
- return;
899
- }
900
- this.operationId = data.operationId;
901
- this.materialNo = data.materialNo;
902
- this.formInstBom = data.formInstBom;
903
- this.productQty = data.productQty ?? 0;
904
- this.historyData = await fetchHistoryConsume({
905
- production_identification_id_: this.formInstBom.productionIdentificationId,
906
- routing_operation_id_: this.operationId
907
- });
908
- const isGranted = await isBomGranted();
909
- this.defaultMCPattern = isGranted ? MaterialConsumptionPatternEnum.BOM : MaterialConsumptionPatternEnum.RECORD;
966
+ this.hasFormInstance = data.hasFormInstance;
967
+ this.operationId = data.operationId ?? "";
968
+ this.materialNo = data.materialNo ?? "";
969
+ this.formInstBom = this.hasFormInstance ? data.formInstBom ?? null : null;
970
+ this.productQty = this.formInstBom ? data.productQty ?? 0 : data.productQty;
971
+ this.historyData = [];
972
+ this.defaultMCPattern = MaterialConsumptionPatternEnum.RECORD;
910
973
  this.tableControllers = {};
911
- this.tmplBomList.forEach((cur) => {
912
- const controller = new MaterialConsumeTableController(this, cur);
913
- const [tableKey, fieldKey] = cur.table_key_.split(":");
914
- this.tableControllers[tableKey] = controller;
915
- this.field2TableMap[fieldKey] = tableKey;
916
- }, {});
974
+ this.field2TableMap = {};
975
+ const instanceConfigs = new Map(
976
+ (this.formInstBom?.formTmplBomList ?? []).filter((config) => !config.deleted_ && config.table_key_).map((config) => [config.table_key_, config])
977
+ );
978
+ this.resolvedTmplBomList = data.materialConsumeTableList.map((table) => {
979
+ const key = `${table.tableKey}:${table.masterSubField}`;
980
+ const source = instanceConfigs.get(key);
981
+ if (!source) return this.createDefaultConfig(table);
982
+ const config = cloneDeep(source);
983
+ config.entries_ ??= [];
984
+ return config;
985
+ });
986
+ if (this.formInstBom) {
987
+ if (this.formInstBom.productionIdentificationId && this.operationId) {
988
+ this.historyData = await fetchHistoryConsume({
989
+ production_identification_id_: this.formInstBom.productionIdentificationId,
990
+ routing_operation_id_: this.operationId
991
+ });
992
+ }
993
+ const isGranted = await isBomGranted();
994
+ this.defaultMCPattern = isGranted ? MaterialConsumptionPatternEnum.BOM : MaterialConsumptionPatternEnum.RECORD;
995
+ }
996
+ data.materialConsumeTableList.forEach((table, index) => {
997
+ const config = this.resolvedTmplBomList[index];
998
+ const controller = new MaterialConsumeTableController(this, config);
999
+ this.tableControllers[table.tableKey] = controller;
1000
+ this.field2TableMap[table.masterSubField] = table.tableKey;
1001
+ });
917
1002
  }
918
1003
  /**
919
1004
  * 根据字段key获取子表控制器
@@ -960,7 +1045,7 @@ class FormTmplBomController {
960
1045
  }
961
1046
  async submitValidate() {
962
1047
  const results = await Promise.all(
963
- Object.values(this.tableControllers).map((c11) => c11.submitValidate())
1048
+ Object.values(this.tableControllers).map((c10) => c10.submitValidate())
964
1049
  );
965
1050
  const fields = {};
966
1051
  let isValid = true;
@@ -974,6 +1059,71 @@ class FormTmplBomController {
974
1059
  };
975
1060
  }
976
1061
  }
1062
+ async function prepareObjectProductDefaults({
1063
+ enabled,
1064
+ fields,
1065
+ objectInitialValues = []
1066
+ }) {
1067
+ const defaults2 = /* @__PURE__ */ new WeakMap();
1068
+ if (!enabled) return defaults2;
1069
+ const requests = /* @__PURE__ */ new Map();
1070
+ const tasks = [];
1071
+ function fetchProduct(productId) {
1072
+ const existing = requests.get(productId);
1073
+ if (existing) return existing;
1074
+ const request = (async () => {
1075
+ const result = await api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey(
1076
+ {
1077
+ modelCategory: "entity",
1078
+ modelKey: "em_product",
1079
+ bsKey: "rdoGetVersionById"
1080
+ },
1081
+ // 沿用现有接口约定,传完整默认值,不拆分版本 ID。
1082
+ { id: productId }
1083
+ );
1084
+ const product = result?.data;
1085
+ if (!product || typeof product !== "object" || Array.isArray(product) || Object.keys(product).length === 0) {
1086
+ throw new Error(`未找到默认物料详情:${productId}`);
1087
+ }
1088
+ return { ...product, _DICT: result?.dict ?? product._DICT };
1089
+ })();
1090
+ requests.set(productId, request);
1091
+ return request;
1092
+ }
1093
+ for (const entry of fields) {
1094
+ if (!entry || typeof entry !== "object") continue;
1095
+ const field = entry;
1096
+ if (typeof field.fieldId !== "string" || !field.belongingObject || field.fieldType !== FIELD_TYPE.PRODUCT || field.isFieldModel || field.subFieldKey || field.subModelKey) {
1097
+ continue;
1098
+ }
1099
+ const configured = objectInitialValues.find(
1100
+ (item) => item.objectField === field.belongingObject
1101
+ );
1102
+ if (!configured?.values || !Object.prototype.hasOwnProperty.call(configured.values, field.fieldId)) {
1103
+ continue;
1104
+ }
1105
+ const productDefault = {
1106
+ value: configured.values[field.fieldId]
1107
+ };
1108
+ defaults2.set(entry, productDefault);
1109
+ const productId = productDefault.value;
1110
+ const needsAutofill = field.enableAutofill !== false && field.autofillRules?.some((rule) => !!rule.toField);
1111
+ if (!needsAutofill || typeof productId !== "string" || productId === "") continue;
1112
+ tasks.push(
1113
+ fetchProduct(productId).then(
1114
+ (sourceData) => {
1115
+ productDefault.sourceData = sourceData;
1116
+ },
1117
+ (error) => {
1118
+ const reason = error instanceof Error ? error.message : String(error);
1119
+ throw new Error(`对象初始化数据填充失败,字段 ${field.fieldId}:${reason}`);
1120
+ }
1121
+ )
1122
+ );
1123
+ }
1124
+ await Promise.all(tasks);
1125
+ return defaults2;
1126
+ }
977
1127
  async function getModelQueries(opts) {
978
1128
  const isEdhr = await isEdhrSuite();
979
1129
  if (!isEdhr || !opts.mainMaterialNo) {
@@ -993,6 +1143,37 @@ async function getModelQueries(opts) {
993
1143
  console.log("getModelQueries", res);
994
1144
  return res;
995
1145
  }
1146
+ async function fillSterilizationDate(txnInstId, metadata, formState) {
1147
+ if (txnInstId == null || txnInstId === "") return;
1148
+ const fields = metadata.fields.filter(({ widget }) => {
1149
+ const props = widget?.props;
1150
+ return props?.fieldType === FIELD_TYPE.STERILIZATION_DATE || props?.bizType === FIELD_TYPE.STERILIZATION_DATE;
1151
+ });
1152
+ if (!fields.length) return;
1153
+ const response = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
1154
+ { modelCategory: "entity", modelKey: "em_sterilization_list", bsKey: "getOne" },
1155
+ {},
1156
+ { query: { txn_inst_id_: txnInstId } }
1157
+ );
1158
+ const data = response && "data" in response ? response.data : void 0;
1159
+ const record = Array.isArray(data) ? data[0] : data;
1160
+ const date = record && typeof record === "object" && "sterilization_date_" in record ? record.sterilization_date_ : void 0;
1161
+ if (date == null || date === "") return;
1162
+ fields.forEach(({ widget, subFieldKey }) => {
1163
+ const field = getRuntimeDataFieldId(widget?.props);
1164
+ if (!field) return;
1165
+ if (subFieldKey) {
1166
+ const rows = formState[subFieldKey];
1167
+ if (Array.isArray(rows)) {
1168
+ rows.forEach((row) => {
1169
+ if (row && typeof row === "object") row[field] = date;
1170
+ });
1171
+ }
1172
+ } else {
1173
+ formState[field] = date;
1174
+ }
1175
+ });
1176
+ }
996
1177
  function uniqueItems(items, getKey) {
997
1178
  return Array.from(new Map(items.map((item) => [getKey(item), item])).values());
998
1179
  }
@@ -1113,7 +1294,8 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1113
1294
  const { selfInfo, paramsConfig, fillModeType } = result || {};
1114
1295
  setFormulaParamsConfig({
1115
1296
  routingParamList: selfInfo?.routingParamList || [],
1116
- inspectionParamList: selfInfo?.inspectionParamList || []
1297
+ inspectionParamList: selfInfo?.inspectionParamList || [],
1298
+ deviceParamList: selfInfo?.deviceParamList || []
1117
1299
  });
1118
1300
  let runtimeFormStateStore;
1119
1301
  let scriptRunner;
@@ -1266,6 +1448,8 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1266
1448
  }
1267
1449
  await tmplBomC.init({
1268
1450
  formInstBom: selfInfo.formInstBom,
1451
+ materialConsumeTableList: businessIndex.materialConsumeTableList,
1452
+ hasFormInstance: isFormInstance,
1269
1453
  operationId: paramsConfig?.routingOperationId,
1270
1454
  materialNo,
1271
1455
  productQty: paramsConfig?.productQty
@@ -1337,7 +1521,13 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1337
1521
  params: { id: paramsConfig?.warehouseId }
1338
1522
  }
1339
1523
  ]);
1524
+ const objectProductDefaults = await prepareObjectProductDefaults({
1525
+ enabled: fillModeType === RenderModeEnum.FormMode && selfInfo.dataStatus !== "STASH" && selfInfo.dataStatus !== "SUBMIT",
1526
+ fields: fieldInfoMap.useDefaultValueFields,
1527
+ objectInitialValues: runtimeContext.formConfig.objectInitialValues
1528
+ });
1340
1529
  const defaultDataMap = renderUtils.getDefaultValueMapByField({
1530
+ objectProductDefaults,
1341
1531
  defaultValueFields: fieldInfoMap.useDefaultValueFields,
1342
1532
  mainMaterialNo: paramsConfig?.materialNo || selfInfo.materialNo,
1343
1533
  mainRelatedLotNo: paramsConfig?.relatedLotNo,
@@ -1421,12 +1611,24 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1421
1611
  ]
1422
1612
  });
1423
1613
  if (fillModeType === RenderModeEnum.FormMode) {
1614
+ if (!payload.isMockReport) {
1615
+ await fillSterilizationDate(selfInfo.txnInstId, fieldInfoMap.fieldMetadata, formState);
1616
+ }
1424
1617
  const floatingFields = sheetEntries.flatMap((entry) => {
1425
1618
  const ids = entry.dataCenter[ComponentTypeEnum.PAPER]?.props?.floatingFieldIds ?? [];
1426
1619
  return ids.map((fieldId) => entry.dataCenter[fieldId]).filter(Boolean);
1427
1620
  });
1428
1621
  initializeSealFields(floatingFields, formState);
1429
1622
  }
1623
+ await transformUtils.getEventInitDataLoaded({
1624
+ formConfig: runtimeContext.formConfig,
1625
+ formState,
1626
+ viewMode: fillModeType,
1627
+ dataStatus: selfInfo.dataStatus,
1628
+ ofCtx: { formPrint: payload.formPrint, id: result.id }
1629
+ }).catch((error) => {
1630
+ console.error("Error in getEventInitDataLoaded:", error);
1631
+ });
1430
1632
  runtimeFormStateStore = new RuntimeFormStateStore(
1431
1633
  formState,
1432
1634
  // 子表信息覆盖普通/固定/检验表、二维关联列以及各类业务表;不能只依赖已放置字段。
@@ -1521,6 +1723,7 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1521
1723
  productSearchFields: payload?.deviceConfig?.defaultProductSearchFields ?? "",
1522
1724
  showPrintFieldBg: paramsConfig?.showPrintFieldBg,
1523
1725
  paramsConfig,
1726
+ businessType: selfInfo.businessType,
1524
1727
  instanceStatus: selfInfo.instanceStatus
1525
1728
  },
1526
1729
  selfInfo: runtimeSelfInfo
@@ -1545,6 +1748,18 @@ function bindRuntimeBusinessServices(runtimeRegistry, record, dataStatus) {
1545
1748
  uniqueId,
1546
1749
  () => MaterialConsumeTableController.render?.destroyAllModals(uniqueId)
1547
1750
  );
1751
+ runtimeRegistry.registerDisposable(
1752
+ uniqueId,
1753
+ watch(
1754
+ () => record.context.activeSheetId,
1755
+ (next, previous) => {
1756
+ if (next !== previous) {
1757
+ MaterialConsumeTableController.render?.destroyAllModals(uniqueId);
1758
+ }
1759
+ },
1760
+ { flush: "sync" }
1761
+ )
1762
+ );
1548
1763
  if (!mcList.length) return;
1549
1764
  const tmplBomC = record.context.services.tmplBomController;
1550
1765
  if (!tmplBomC) return;
@@ -1841,11 +2056,17 @@ function createRuntimePersistenceAccess(runtimeRegistry, props, payload) {
1841
2056
  const signatureKeys = (runtimeRecord.context.businessIndex.useSignatureFields || []).map(
1842
2057
  (item) => item.fieldId
1843
2058
  );
1844
- const idsFormState = transformUtils.getFormDataIdsMap(newFormState, signatureKeys);
2059
+ const idsFormState = transformUtils.getFormDataIdsMap(
2060
+ newFormState,
2061
+ signatureKeys,
2062
+ (path) => runtimeRecord.fields.findByPath(path).some(
2063
+ ({ widget, subFieldKey }) => subFieldKey !== path && [FIELD_TYPE.DATE, FIELD_TYPE.DATE_TIME].includes(widget?.props.fieldType)
2064
+ )
2065
+ );
1845
2066
  if (saveToken ? !runtimeRecord.persistence.completeSave(saveToken) : requestedRevision !== runtimeRecord.formState.revision) {
1846
2067
  return false;
1847
2068
  }
1848
- runtimeRecord.formState.patch(idsFormState, "restore");
2069
+ runtimeRecord.formState.patchSavedMetadata(idsFormState);
1849
2070
  if (!runtimeRecord.formState.dirty) payload.onFormStateReady?.(runtimeRecord.formState);
1850
2071
  return true;
1851
2072
  };
@@ -1918,6 +2139,139 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1918
2139
  }
1919
2140
  });
1920
2141
  const InspectionDecisionPromptModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9c14035f"]]);
2142
+ function createMaterialConsumeObjectValidation(options) {
2143
+ const { record, getInfo, isCurrent, shouldSkip, applyComments } = options;
2144
+ let enabled = false;
2145
+ let disposed = false;
2146
+ let submitting = 0;
2147
+ let generation = 0;
2148
+ let lastRevision = -1;
2149
+ let timer;
2150
+ let paths = /* @__PURE__ */ new Set();
2151
+ const unlocated = /* @__PURE__ */ new Set();
2152
+ const alive = () => !disposed && isCurrent();
2153
+ function cancelLive() {
2154
+ generation++;
2155
+ if (timer !== void 0) clearTimeout(timer);
2156
+ timer = void 0;
2157
+ }
2158
+ function calcObjectError(error) {
2159
+ const info = getInfo();
2160
+ const modelKey = info?.modelKey || record.context.businessIndex.modelDisplay.key;
2161
+ const descriptor = record.fields.findField({ modelKey, fieldId: error.field });
2162
+ const props = descriptor?.widget?.props;
2163
+ if (!props?.field || descriptor?.subFieldKey || props.subFieldKey) {
2164
+ const key = modelKey + "." + error.field;
2165
+ if (!unlocated.has(key)) {
2166
+ unlocated.add(key);
2167
+ console.warn("物料消耗对象错误未定位到主表控件,保留在校验清单:", key);
2168
+ }
2169
+ return { error, path: void 0 };
2170
+ }
2171
+ const path = buildRuntimeFieldPath({
2172
+ ...props,
2173
+ modelKey: props.modelKey ?? info?.modelKey,
2174
+ fieldId: props.field
2175
+ });
2176
+ return { error: { ...error, field: path }, path };
2177
+ }
2178
+ function replaceObjectFields(fields) {
2179
+ if (!alive()) return;
2180
+ const next = { ...getInfo()?.mcValidatorMessageMap ?? {} };
2181
+ paths.forEach((path) => delete next[path]);
2182
+ Object.assign(next, fields);
2183
+ paths = new Set(Object.keys(fields));
2184
+ applyComments(next);
2185
+ }
2186
+ function replaceTableFields(fields) {
2187
+ if (!alive()) return;
2188
+ const current = getInfo()?.mcValidatorMessageMap ?? {};
2189
+ const next = { ...fields ?? {} };
2190
+ paths.forEach((path) => {
2191
+ if (current[path]) {
2192
+ next[path] = [...next[path] ?? [], ...current[path]];
2193
+ }
2194
+ });
2195
+ applyComments(next);
2196
+ }
2197
+ function clear() {
2198
+ cancelLive();
2199
+ enabled = false;
2200
+ lastRevision = -1;
2201
+ replaceObjectFields({});
2202
+ }
2203
+ async function validate(live = false) {
2204
+ cancelLive();
2205
+ if (!alive()) return;
2206
+ if (shouldSkip()) {
2207
+ clear();
2208
+ return { isValid: true };
2209
+ }
2210
+ const ticket = generation;
2211
+ const revision = record.formState.revision;
2212
+ const info = getInfo();
2213
+ const display = record.context.businessIndex.modelDisplay;
2214
+ const errors = await validateObjectBomQtyOnSubmit({
2215
+ formState: record.formState.state,
2216
+ objectFieldList: record.context.formConfig.objectFieldList,
2217
+ formInstBom: record.context.services.tmplBomController?.formInstBom,
2218
+ showModelName: display.name,
2219
+ showModelKey: display.key || info?.modelKey || ""
2220
+ });
2221
+ if (!alive() || generation !== ticket || record.formState.revision !== revision || live && getInfo()?.renderModeType !== RenderModeEnum.FormMode)
2222
+ return;
2223
+ const fields = {};
2224
+ const comments = {};
2225
+ for (const source of errors) {
2226
+ const adapted = calcObjectError(source);
2227
+ (fields[adapted.error.field] ??= []).push(adapted.error);
2228
+ if (adapted.path) (comments[adapted.path] ??= []).push(adapted.error);
2229
+ }
2230
+ enabled = !!record.context.formConfig.objectFieldList?.length;
2231
+ lastRevision = revision;
2232
+ replaceObjectFields(comments);
2233
+ return { isValid: !errors.length, fields: Object.keys(fields).length ? fields : void 0 };
2234
+ }
2235
+ function requestLive() {
2236
+ cancelLive();
2237
+ if (!alive() || !enabled || submitting > 0 || getInfo()?.renderModeType !== RenderModeEnum.FormMode)
2238
+ return;
2239
+ const ticket = generation;
2240
+ timer = setTimeout(() => {
2241
+ timer = void 0;
2242
+ void (async () => {
2243
+ await record.controller?.waitUntilPrepared();
2244
+ await record.asyncTasks.waitForRequired();
2245
+ if (!alive() || generation !== ticket || submitting > 0 || getInfo()?.renderModeType !== RenderModeEnum.FormMode)
2246
+ return;
2247
+ await validate(true);
2248
+ })().catch((error) => {
2249
+ if (alive()) console.error("物料消耗对象实时校验失败", error);
2250
+ });
2251
+ }, 300);
2252
+ }
2253
+ return {
2254
+ validate,
2255
+ requestLive,
2256
+ replaceTableFields,
2257
+ clear,
2258
+ beginSubmit() {
2259
+ submitting++;
2260
+ cancelLive();
2261
+ },
2262
+ endSubmit() {
2263
+ submitting--;
2264
+ if (alive() && submitting === 0 && enabled && lastRevision !== record.formState.revision)
2265
+ requestLive();
2266
+ },
2267
+ dispose() {
2268
+ disposed = true;
2269
+ cancelLive();
2270
+ paths.clear();
2271
+ unlocated.clear();
2272
+ }
2273
+ };
2274
+ }
1921
2275
  function applyValidationComments(info, comments, kind) {
1922
2276
  if (!info) return;
1923
2277
  const locationKey = kind === "field" ? "validatorLocationList" : "mcValidatorLocationList";
@@ -1935,6 +2289,29 @@ function applyValidationComments(info, comments, kind) {
1935
2289
  info[messageKey] = map;
1936
2290
  }
1937
2291
  function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType) {
2292
+ const objectValidations = /* @__PURE__ */ new WeakMap();
2293
+ function getObjectValidation(record) {
2294
+ const existing = objectValidations.get(record);
2295
+ if (existing) return existing;
2296
+ const uniqueId = record.context.uniqueId;
2297
+ const validation = createMaterialConsumeObjectValidation({
2298
+ record,
2299
+ getInfo: () => getInfo(uniqueId),
2300
+ isCurrent: () => runtimeRegistry.get(uniqueId) === record,
2301
+ shouldSkip: () => {
2302
+ const skip = syncInspectionDecisionRule(uniqueId);
2303
+ if (skip) clearInspectionValidationState(uniqueId);
2304
+ return skip;
2305
+ },
2306
+ applyComments: (fields) => applyValidationComments(getInfo(uniqueId), fields, "material")
2307
+ });
2308
+ objectValidations.set(record, validation);
2309
+ runtimeRegistry.registerDisposable(uniqueId, () => {
2310
+ validation.dispose();
2311
+ objectValidations.delete(record);
2312
+ });
2313
+ return validation;
2314
+ }
1938
2315
  const inspectionDecisionMatched = /* @__PURE__ */ new WeakMap();
1939
2316
  const inspectionDecisionPrompting = /* @__PURE__ */ new WeakSet();
1940
2317
  function openInspectionDecisionPrompt(uniqueId, content) {
@@ -1975,11 +2352,14 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
1975
2352
  return matched;
1976
2353
  }
1977
2354
  function clearInspectionValidationState(uniqueId) {
2355
+ const record = runtimeRegistry.get(uniqueId);
2356
+ if (record) objectValidations.get(record)?.clear();
1978
2357
  applyValidationComments(getInfo(uniqueId), null, "field");
1979
2358
  applyValidationComments(getInfo(uniqueId), null, "material");
1980
2359
  }
1981
2360
  function bindFormValidationSync(uniqueId) {
1982
2361
  const record = runtimeRegistry.require(uniqueId);
2362
+ const objects = getObjectValidation(record);
1983
2363
  syncInspectionDecisionRule(uniqueId);
1984
2364
  const stop = record.formState.subscribe(() => {
1985
2365
  if (runtimeRegistry.get(uniqueId) !== record) return;
@@ -1990,6 +2370,7 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
1990
2370
  uniqueId,
1991
2371
  !suppressed && info.renderModeType === RenderModeEnum.FormMode
1992
2372
  );
2373
+ objects.requestLive();
1993
2374
  if (suppressed) return;
1994
2375
  if (info.renderModeType === RenderModeEnum.FormMode) {
1995
2376
  record.validation.requestLive("change");
@@ -2022,48 +2403,43 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
2022
2403
  }
2023
2404
  async function runSubmissionValidation(uniqueId) {
2024
2405
  const record = runtimeRegistry.require(uniqueId);
2025
- const formState = record.formState.state;
2026
- const bomC = record.context.services.tmplBomController;
2027
- if (syncInspectionDecisionRule(uniqueId)) {
2028
- clearInspectionValidationState(uniqueId);
2029
- return { isValid: true };
2030
- }
2031
- const res = await record.validation.validate();
2032
- if (!res || runtimeRegistry.get(uniqueId) !== record) return;
2033
- const revision = record.formState.revision;
2034
- if (bomC) {
2035
- const bomRes = await bomC.submitValidate();
2036
- if (runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
2037
- return;
2038
- applyValidationComments(getInfo(uniqueId), bomRes.fields ?? null, "material");
2039
- if (!bomRes.isValid) {
2040
- merge(res, bomRes);
2041
- return res;
2406
+ const objects = getObjectValidation(record);
2407
+ objects.beginSubmit();
2408
+ try {
2409
+ if (syncInspectionDecisionRule(uniqueId)) {
2410
+ clearInspectionValidationState(uniqueId);
2411
+ return { isValid: true };
2042
2412
  }
2043
- const info = getInfo(uniqueId);
2044
- const display = record.context.businessIndex.modelDisplay;
2045
- display.name;
2046
- const showModelKey = display.key || info?.modelKey || "";
2047
- const objErrs = await validateObjectBomQtyOnSubmit({
2048
- formState: formState ?? {},
2049
- objectFieldList: record.context.formConfig.objectFieldList,
2050
- formInstBom: bomC.formInstBom,
2051
- showModelKey
2052
- });
2053
- if (runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
2054
- return;
2055
- if (objErrs.length) {
2056
- const fields = {};
2057
- objErrs.forEach((e3) => {
2058
- (fields[e3.field] ??= []).push(e3);
2059
- });
2060
- const objectBomRes = { isValid: false, fields };
2061
- merge(res, objectBomRes);
2062
- applyValidationComments(info, { ...info?.validatorMessageMap ?? {}, ...fields }, "field");
2063
- return res;
2413
+ const res = await record.validation.validate();
2414
+ if (!res || runtimeRegistry.get(uniqueId) !== record) return;
2415
+ const revision = record.formState.revision;
2416
+ const bomC = record.context.services.tmplBomController;
2417
+ if (bomC) {
2418
+ const bomRes = await bomC.submitValidate();
2419
+ if (runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
2420
+ return;
2421
+ objects.replaceTableFields(bomRes.fields);
2422
+ if (!bomRes.isValid) {
2423
+ merge(res, bomRes);
2424
+ return res;
2425
+ }
2426
+ const objectRes = await objects.validate();
2427
+ if (!objectRes || runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
2428
+ return;
2429
+ if (!objectRes.isValid) {
2430
+ const fields = { ...res.fields ?? {} };
2431
+ for (const [path, errors] of Object.entries(objectRes.fields ?? {})) {
2432
+ fields[path] = [...fields[path] ?? [], ...errors];
2433
+ }
2434
+ return { ...res, isValid: false, fields };
2435
+ }
2436
+ } else {
2437
+ objects.clear();
2064
2438
  }
2439
+ return res;
2440
+ } finally {
2441
+ objects.endSubmit();
2065
2442
  }
2066
- return res;
2067
2443
  }
2068
2444
  function updateRenderModeType(uniqueId, mode, updateButton = false) {
2069
2445
  const record = runtimeRegistry.require(uniqueId);
@@ -2081,7 +2457,9 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
2081
2457
  if (!isCurrent() || runtimeRegistry.get(uniqueId) !== record) return;
2082
2458
  await record.validation.settleAfterModeSwitch(mode === RenderModeEnum.FormMode);
2083
2459
  }).catch((error) => {
2084
- if (runtimeRegistry.get(uniqueId) === record) console.error("表单模式准备失败", error);
2460
+ if (runtimeRegistry.get(uniqueId) !== record) return;
2461
+ if (error instanceof Error && error.message.startsWith("以下异步任务执行失败:")) return;
2462
+ console.error("表单模式准备失败", error);
2085
2463
  });
2086
2464
  }
2087
2465
  async function prepareInitialView(record) {
@@ -2111,14 +2489,14 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
2111
2489
  function createRuntimeDataSourceBinding(registry, payload) {
2112
2490
  const dataSourceManagerMap = shallowRef({});
2113
2491
  async function bindDataSources(record, info, selfInfo) {
2114
- if (payload.isMockReport || !["instance", "batchInstance"].includes(payload.factoryType)) return;
2492
+ if (payload.isMockReport || !["instance", "batchInstance"].includes(payload.factoryType))
2493
+ return;
2115
2494
  const isDetail = () => typeof payload.isDetailPage === "function" ? payload.isDetailPage() : payload.isDetailPage;
2116
2495
  if (isDetail()) return;
2117
2496
  const { context, formState } = record;
2118
2497
  const { uniqueId, formConfig } = context;
2119
2498
  const canExecute = () => registry.get(uniqueId) === record && info.renderModeType === RenderModeEnum.FormMode && !isDetail();
2120
2499
  const getContext = () => buildDataSourceContext({ parameters: info.paramsConfig ?? {}, instance: selfInfo });
2121
- let fieldFillRuntime;
2122
2500
  const manager = markRaw(
2123
2501
  createDataSourceManager({
2124
2502
  canExecute,
@@ -2160,22 +2538,27 @@ function createRuntimeDataSourceBinding(registry, payload) {
2160
2538
  for (const { widget } of record.fields.allWidgets()) {
2161
2539
  const config = widget.props;
2162
2540
  const fieldKey = config.field;
2163
- if (!config.subFieldKey && !config.subModelKey && fieldKey) {
2164
- targets.set(fieldKey, {
2541
+ if (fieldKey && (config.subFieldKey || !config.subModelKey)) {
2542
+ const key = config.subFieldKey ? `${config.subFieldKey}.${fieldKey}` : fieldKey;
2543
+ targets.set(key, {
2544
+ table: config.subFieldKey,
2165
2545
  field: config.isFieldModel ? config.fieldLink || fieldKey : fieldKey,
2166
2546
  isFieldModel: !!config.isFieldModel
2167
2547
  });
2168
2548
  if (config.componentDependency?.configDependency?.assignment?.expression) {
2169
- protectedTargets.add(fieldKey);
2549
+ protectedTargets.add(key);
2170
2550
  }
2171
2551
  }
2172
2552
  if (config.enableAutofill !== false) {
2173
2553
  for (const rule of config.autofillRules ?? []) {
2174
- if (!rule.toSubModel && rule.toField) protectedTargets.add(rule.toField);
2554
+ if (rule.toField)
2555
+ protectedTargets.add(
2556
+ rule.toSubModel && rule.toSubFieldKey ? `${rule.toSubFieldKey}.${rule.toField}` : rule.toField
2557
+ );
2175
2558
  }
2176
2559
  }
2177
2560
  }
2178
- fieldFillRuntime = markRaw(
2561
+ const fieldFillRuntime = markRaw(
2179
2562
  createFieldFillRuntime({
2180
2563
  preserveExistingValues: true,
2181
2564
  fills: formConfig.fieldFills ?? [],
@@ -2184,17 +2567,30 @@ function createRuntimeDataSourceBinding(registry, payload) {
2184
2567
  getForm: () => formState.state,
2185
2568
  getFormField: (key) => {
2186
2569
  const target = targets.get(key);
2570
+ if (target?.table)
2571
+ return getFieldFillColumn(
2572
+ formState.state[target.table],
2573
+ target.isFieldModel ? `_OPCT.${target.field}` : target.field
2574
+ );
2187
2575
  return target?.isFieldModel ? formState.state._OPCT?.[target.field] : get(formState.state, key);
2188
2576
  },
2189
2577
  hasTargetField: (key) => targets.has(key),
2190
2578
  canWrite: (key) => canExecute() && targets.has(key) && !isFieldFillTargetProtected(key, protectedTargets, (field) => {
2191
2579
  const target = targets.get(field);
2192
- return target?.isFieldModel ? `_OPCT.${target.field}` : target?.field ?? field;
2580
+ const path = target?.isFieldModel ? `_OPCT.${target.field}` : target?.field ?? field;
2581
+ return target?.table ? `${target.table}.${path}` : path;
2193
2582
  }),
2194
- setField: (key, value) => {
2583
+ setField: (key, value, collection) => {
2195
2584
  if (registry.get(uniqueId) !== record) throw new Error(`字段填充实例已释放:${uniqueId}`);
2196
2585
  const target = targets.get(key);
2197
- if (target.isFieldModel) {
2586
+ if (target.table) {
2587
+ const field = target.isFieldModel ? `_OPCT.${target.field}` : target.field;
2588
+ formState.setField(
2589
+ target.table,
2590
+ buildFieldFillRows(formState.state[target.table], field, value, collection),
2591
+ "async"
2592
+ );
2593
+ } else if (target.isFieldModel) {
2198
2594
  if (!formState.state._OPCT) formState.setField("_OPCT", { _DICT: {} }, "async");
2199
2595
  formState.setObjectField(
2200
2596
  formState.state._OPCT,
@@ -2220,9 +2616,13 @@ function createRuntimeDataSourceBinding(registry, payload) {
2220
2616
  throw error;
2221
2617
  }
2222
2618
  }
2223
- const stopModeWatch = watch(canExecute, (enabled) => {
2224
- if (enabled) void initializeOnce().catch(() => void 0);
2225
- }, { flush: "sync" });
2619
+ const stopModeWatch = watch(
2620
+ canExecute,
2621
+ (enabled) => {
2622
+ if (enabled) void initializeOnce().catch(() => void 0);
2623
+ },
2624
+ { flush: "sync" }
2625
+ );
2226
2626
  record.dataSourceManager = exposedManager;
2227
2627
  dataSourceManagerMap.value = { ...dataSourceManagerMap.value, [uniqueId]: exposedManager };
2228
2628
  registry.registerDisposable(uniqueId, () => {
@@ -3198,244 +3598,250 @@ function filterAnnotationItemsUpToCurrent(items) {
3198
3598
  });
3199
3599
  }
3200
3600
  export {
3201
- aO as AITooltips,
3601
+ aQ as AITooltips,
3202
3602
  A3 as AllocateTableCore,
3203
3603
  B3 as BaseFormModelFetcher,
3204
- aQ as BinarizeMethodOptions,
3205
- a$ as BindCmpStyleEnum,
3206
- a1 as BooleanShowMode,
3604
+ aS as BinarizeMethodOptions,
3605
+ b1 as BindCmpStyleEnum,
3606
+ a2 as BooleanShowMode,
3207
3607
  B2 as BorderTD,
3208
3608
  BpmnNodeTypeEnum,
3209
- bK as BpmnSignatureTypeEnum,
3210
- bL as ButtonTypeEnum,
3609
+ bM as BpmnSignatureTypeEnum,
3610
+ bN as ButtonTypeEnum,
3211
3611
  B as BwipCodeType,
3212
- bM as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3213
- y as CellType,
3214
- ai as CellWidgetViewState,
3612
+ bO as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3613
+ A as CellType,
3614
+ aj as CellWidgetViewState,
3215
3615
  CheckDsTypeEnum,
3216
- bN as CodeRunner,
3616
+ bP as CodeRunner,
3217
3617
  ComponentTypeEnum,
3218
- bO as Config_Fields,
3219
- bP as ControlStatusEnum,
3220
- bh as DEVICE_GROUP_QUERY_KEY,
3221
- bQ as DEVICE_SEARCH_API,
3618
+ bQ as Config_Fields,
3619
+ bR as ControlStatusEnum,
3620
+ bi as DEVICE_GROUP_QUERY_KEY,
3621
+ bS as DEVICE_SEARCH_API,
3222
3622
  aT as DateFormat,
3223
- ay as DecimalDisplayMode,
3224
- aP as DenoiseMethodOptions,
3225
- a42 as DeviceConnector,
3226
- aM as DeviceLink,
3227
- b as DeviceLinkTmplUtil,
3228
- aN as DeviceParamsTypeTitle,
3623
+ aC as DecimalDisplayMode,
3624
+ aR as DenoiseMethodOptions,
3625
+ a82 as DeviceConnector,
3626
+ aO as DeviceLink,
3627
+ i as DeviceLinkTmplUtil,
3628
+ aP as DeviceParamsTypeTitle,
3229
3629
  D as DevicePartConsumeTableCore,
3230
- bR as DeviceStatus,
3231
- aj as DiagonalDirection,
3232
- an as DiagonalVertex,
3630
+ bT as DeviceStatus,
3631
+ ak as DiagonalDirection,
3632
+ ao as DiagonalVertex,
3233
3633
  _ as DocumentLayout,
3234
- a52 as DocumentLoading,
3235
- J as DocumentPaper,
3236
- a62 as DynamicQuickFillModal,
3237
- K as DynamicTableAction,
3238
- bS as EBR_PROVIDE_ENUM,
3239
- bT as EFieldBizTypeEnum,
3634
+ a9 as DocumentLoading,
3635
+ P2 as DocumentPaper,
3636
+ aa as DynamicQuickFillModal,
3637
+ Q as DynamicTableAction,
3638
+ bU as EBR_PROVIDE_ENUM,
3639
+ bV as EFieldBizTypeEnum,
3240
3640
  E as EMPTY_PRODUCT_VERSION_ID,
3241
- aG as EmptySymbol,
3242
- a3 as FallbackSignTypeEnum,
3243
- ah as FieldSysVarDefaultValueEnum,
3641
+ aI as EmptySymbol,
3642
+ a4 as FallbackSignTypeEnum,
3643
+ ai as FieldSysVarDefaultValueEnum,
3244
3644
  FillingTypeEnum,
3245
- a72 as FixedQuickFillModal,
3645
+ ab2 as FixedQuickFillModal,
3246
3646
  FormAnnotationController,
3247
3647
  F as FormModelController,
3248
3648
  FormTmplBomController,
3249
- a8 as FormTmplConfigController,
3649
+ ac as FormTmplConfigController,
3250
3650
  FormTypeEnum,
3251
- az as ImageDisplayModeEnum,
3651
+ aD as ImageDisplayModeEnum,
3252
3652
  InstanceStatusValues,
3253
- aR as JoinModelTypeEum,
3254
- a9 as LEGACY_RUNTIME_FORM_CONFIG_KEYS,
3255
- aa2 as LEGACY_RUNTIME_SHEET_ID,
3256
- ab as LEGACY_RUNTIME_SHEET_TITLE,
3257
- a0 as LabelPosition,
3258
- al as LineDirection,
3653
+ bW as JoinModelTypeEum,
3654
+ ad as LEGACY_RUNTIME_FORM_CONFIG_KEYS,
3655
+ ae as LEGACY_RUNTIME_SHEET_ID,
3656
+ af as LEGACY_RUNTIME_SHEET_TITLE,
3657
+ a1 as LabelPosition,
3658
+ am as LineDirection,
3259
3659
  L as LineType,
3660
+ bX as MAX_FRONT_ROW_KEY_LENGTH,
3661
+ M as MAX_RUNTIME_SHEETS,
3662
+ a as MAX_RUNTIME_SHEET_TITLE_LENGTH,
3260
3663
  M3 as MBRender,
3261
- ac as MCDataUtil,
3664
+ ag as MCDataUtil,
3262
3665
  a11 as MCRender,
3263
- M as MULTI_SHEET_SCHEMA_VERSION,
3666
+ d as MULTI_SHEET_SCHEMA_VERSION,
3264
3667
  MaterialConsumeTableController,
3265
3668
  MaterialConsumptionPatternEnum,
3266
3669
  M2 as MaterialRequisitionTableCore,
3267
3670
  MaterialStatusEnum,
3268
3671
  a10 as MaterialSubstitutionTableCore,
3269
- bU as MobileFillTypeEnum,
3672
+ bY as MobileFillTypeEnum,
3270
3673
  NCB_PROVIDE,
3271
- ad as OCR_MODEL_PRECISION_ENUM_KEY,
3272
- bV as OfficeTypeEnum,
3674
+ ah as OCR_MODEL_PRECISION_ENUM_KEY,
3675
+ bZ as OfficeTypeEnum,
3273
3676
  O as Orientation,
3274
- p as PageSizeEnum,
3677
+ s as PageSizeEnum,
3275
3678
  P as PaginationFormat,
3276
- aa as PaperSizeMap,
3277
- o as PaperWidgeType,
3278
- Q as PaperWidgeValueType,
3279
- A as ParamModelTypeEnum,
3280
- P2 as PartStocktakeTableCore,
3679
+ ab as PaperSizeMap,
3680
+ q as PaperWidgeType,
3681
+ R as PaperWidgeValueType,
3682
+ G as ParamModelTypeEnum,
3683
+ P3 as PartStocktakeTableCore,
3281
3684
  PlatformEnum,
3282
- bW as PosEnum,
3283
- b3 as PretreatmentListTableCore,
3284
- c10 as ProfileDrivenSubTableCore,
3285
- bX as RUNTIME_COLUMN_ROW_KEY,
3286
- ax as RangeCompareOp,
3287
- aw as RangeValidateMode,
3685
+ b_ as PosEnum,
3686
+ b as PretreatmentListTableCore,
3687
+ c as ProfileDrivenSubTableCore,
3688
+ b$ as RUNTIME_COLUMN_ROW_KEY,
3689
+ ay as RangeCompareOp,
3690
+ RangeValidateMode,
3288
3691
  RenderModeEnum,
3289
- ae as RuntimeAsyncTaskCoordinator,
3290
- af as RuntimeDependencyService,
3291
- ag as RuntimeFieldRegistry,
3692
+ ai2 as RuntimeAsyncTaskCoordinator,
3693
+ aj2 as RuntimeDependencyService,
3694
+ ak2 as RuntimeFieldRegistry,
3292
3695
  RuntimeFormStateStore,
3293
3696
  RuntimeInstanceController,
3294
- ah2 as RuntimeInstanceEventBus,
3697
+ al2 as RuntimeInstanceEventBus,
3295
3698
  RuntimeInstanceRegistry,
3296
- ai2 as RuntimePersistenceCoordinator,
3699
+ am2 as RuntimePersistenceCoordinator,
3297
3700
  RuntimeRuleCompiler,
3298
3701
  RuntimeSheetService,
3299
- aj2 as RuntimeValidationService,
3300
- a6 as SignShowTypeEnum,
3301
- a2 as SignatureImageDirectionEnum,
3302
- a4 as SignatureNumberTypeEnum,
3303
- a5 as SignatureTimeTypeEnum,
3304
- a7 as SignatureTypeEnum,
3702
+ an2 as RuntimeValidationService,
3703
+ a7 as SignShowTypeEnum,
3704
+ a3 as SignatureImageDirectionEnum,
3705
+ a5 as SignatureNumberTypeEnum,
3706
+ a6 as SignatureTimeTypeEnum,
3707
+ a8 as SignatureTypeEnum,
3305
3708
  d2 as SterilizeBatchTableCore,
3306
3709
  e2 as StocktakeTableCore,
3307
- ak2 as SubTableCore,
3710
+ ao2 as SubTableCore,
3308
3711
  SubTableCoreFactory,
3309
- f as SubTableType,
3310
- bY as SummaryApproveHisTypeEnum,
3311
- am as TimeDiffFormat,
3312
- aq as ViewTypeEnum,
3712
+ h as SubTableType,
3713
+ c0 as SummaryApproveHisTypeEnum,
3714
+ an as TimeDiffFormat,
3715
+ ar as ViewTypeEnum,
3313
3716
  W as WarehouseInTableCore,
3314
- f3 as WarehouseInboundTableCore,
3717
+ f as WarehouseInboundTableCore,
3315
3718
  g as WarehouseOutTableCore,
3316
- h2 as WarehouseOutboundTableCore,
3317
- ak as WidgetImageSizeMode,
3318
- bZ as applyCheckDsDataToRuntime,
3319
- q as applyConsumeObjectTraceChange,
3320
- b_ as applyMedProCheckDsDataToRuntime,
3719
+ h3 as WarehouseOutboundTableCore,
3720
+ al as WidgetImageSizeMode,
3721
+ c1 as applyCheckDsDataToRuntime,
3722
+ z as applyConsumeObjectTraceChange,
3723
+ c2 as applyMedProCheckDsDataToRuntime,
3321
3724
  baseDataUtils,
3322
- b$ as bindRuntimeTableColumns,
3323
- c0 as buildDeviceBaseQuery,
3324
- bg as buildDeviceFilterQuery,
3325
- al2 as buildFormChangeDisplayRows,
3326
- k as buildObjectLotExtraQuery,
3725
+ c3 as bindRuntimeTableColumns,
3726
+ c4 as buildDeviceBaseQuery,
3727
+ bh as buildDeviceFilterQuery,
3728
+ ap2 as buildFormChangeDisplayRows,
3729
+ q2 as buildObjectLotExtraQuery,
3327
3730
  buildRuntimeFieldPath,
3328
- c1 as calcFillData,
3329
- c2 as calcUtils,
3731
+ c5 as calcFillData,
3732
+ c6 as calcUtils,
3330
3733
  calculateFormula,
3331
3734
  collectAnnotationItemsByLocation,
3332
3735
  collectFormChangeFieldLocations,
3333
3736
  commonUtils,
3334
3737
  convertHistoricalAnnotationLocation,
3335
- am2 as convertV1Runtime,
3336
- c as createRuntimeDocumentV2,
3738
+ aq as convertV1Runtime,
3739
+ e as createRuntimeDocumentV2,
3337
3740
  createRuntimeInstanceContext,
3338
- an2 as detailsHaveFormChangeRowOps,
3741
+ c7 as decodeTableCellRowKey,
3742
+ ar2 as detailsHaveFormChangeRowOps,
3743
+ c8 as encodeTableCellRowKey,
3339
3744
  enrichFormChangeRowDetails,
3340
- c3 as ensureFrontRowKey,
3341
- c4 as ensureTableRowKeys,
3342
- ao2 as extractFormChangeRowDetails,
3343
- c5 as extractKeywordFromQueryData,
3344
- c6 as fetchCheckDsDataForTable,
3345
- c7 as fetchCustomCheckDsData,
3745
+ c9 as ensureFrontRowKey,
3746
+ ca as ensureTableRowKeys,
3747
+ as as extractFormChangeRowDetails,
3748
+ cb as extractKeywordFromQueryData,
3749
+ cc as fetchCheckDsDataForTable,
3750
+ cd as fetchCustomCheckDsData,
3346
3751
  fetchHistoryConsume,
3347
- c8 as fetchMedProCheckDsData,
3752
+ ce as fetchMedProCheckDsData,
3348
3753
  fetchOperationReceiveQty,
3349
3754
  fetchUdi,
3350
3755
  filterAnnotationItemsUpToCurrent,
3351
- bl as findRuntimeParentRow,
3352
- c9 as findRuntimeTableCell,
3756
+ bn as findRuntimeParentRow,
3757
+ cf as findRuntimeTableCell,
3353
3758
  findRuntimeTableRow,
3354
3759
  getAppInfo,
3355
3760
  getBusinessFieldKey,
3356
- ca as getCheckTableSnapshotKey,
3357
- ap as getFormChangeRowKey,
3358
- aq2 as getFormChangeRowOp,
3359
- aZ as getLotLockedReason,
3360
- j as getObjectBomMaterialLotQuery,
3361
- t2 as getObjectBomProductQuery,
3761
+ cg as getCheckTableSnapshotKey,
3762
+ at as getFormChangeRowKey,
3763
+ au as getFormChangeRowOp,
3764
+ a_ as getLotLockedReason,
3765
+ p as getObjectBomMaterialLotQuery,
3766
+ A2 as getObjectBomProductQuery,
3362
3767
  getParseFormulaVarInfos,
3363
- cb as getParseRuleConfig,
3364
- b0 as getParseRuleInfo,
3365
- b1 as getParseRuleValue,
3366
- cc as getReinspectionDate,
3367
- cd as getRenderedRuntimeTableCell,
3768
+ ch as getParseRuleConfig,
3769
+ b2 as getParseRuleInfo,
3770
+ b3 as getParseRuleValue,
3771
+ ci as getReinspectionDate,
3772
+ cj as getRenderedRuntimeTableCell,
3368
3773
  getRuntimeDataFieldId,
3369
3774
  getRuntimeDependencyOutputKey,
3370
- ar as getSubTableQuickFillInfo,
3775
+ av as getSubTableQuickFillInfo,
3371
3776
  getSuiteKey,
3372
- ce as handleOldConfig,
3373
- cf as hasAnyCheckTableSnapshot,
3374
- cg as hasByTableCheckTableSnapshot,
3375
- ch as hasSharedCheckTableSnapshot,
3376
- as as isAnnLocationSelected,
3377
- at as isBlank,
3777
+ ck as handleOldConfig,
3778
+ cl as hasAnyCheckTableSnapshot,
3779
+ cm as hasByTableCheckTableSnapshot,
3780
+ cn as hasSharedCheckTableSnapshot,
3781
+ aw as isAnnLocationSelected,
3782
+ ax as isBlank,
3378
3783
  isBomGranted,
3379
3784
  isEdhrSuite,
3380
3785
  isEqmSuite,
3381
- au as isFormChangeGhostRow,
3382
- ci as isMedProSuite,
3786
+ ay2 as isFormChangeGhostRow,
3787
+ co as isMedProSuite,
3383
3788
  isRowAddedInCurrentFormChange,
3384
- cj as jsonSchemaUtils,
3385
- ck as judgeUnique,
3386
- aY as materialCheck,
3387
- cl as migrateDiagonalDirectionToVertex,
3789
+ cp as isTableRowKeyMatch,
3790
+ cq as jsonSchemaUtils,
3791
+ cr as judgeUnique,
3792
+ aZ as materialCheck,
3793
+ cs as migrateDiagonalDirectionToVertex,
3388
3794
  nextFormChangeRowViewHistoryId,
3389
- d as normalizeAIOcrTmpl,
3390
- w as normalizeHistoricalAutofillRow,
3391
- a as normalizeHistoricalBusinessRow,
3392
- av as normalizeHistoricalFieldConfig,
3393
- b2 as normalizeRefLoaderResult,
3795
+ j as normalizeAIOcrTmpl,
3796
+ C as normalizeHistoricalAutofillRow,
3797
+ h2 as normalizeHistoricalBusinessRow,
3798
+ az as normalizeHistoricalFieldConfig,
3799
+ b4 as normalizeRefLoaderResult,
3394
3800
  normalizeRuntime,
3395
3801
  parseFrontConfig,
3396
3802
  parseRuntimeFieldPath,
3397
3803
  parseUdi,
3398
- aw2 as pickObjectFieldKeys,
3399
- ax2 as recordSubtableRowAdd,
3400
- ay2 as recordSubtableRowDelete,
3401
- be as refUtils,
3402
- cm as relocateDeletedRowsToEnd,
3804
+ aA as pickObjectFieldKeys,
3805
+ aB as recordSubtableRowAdd,
3806
+ aC2 as recordSubtableRowDelete,
3807
+ bf as refUtils,
3808
+ ct as relocateDeletedRowsToEnd,
3403
3809
  renderUtils,
3404
- cn as requestMedProCheckDsData,
3405
- co as requestNonMedProCheckDsData,
3406
- az2 as resolveAnnotationFieldLocation,
3407
- ao as resolveDiagonalVertex,
3408
- t as resolveFieldRenderComponent,
3409
- aA as resolveFormChangeRowUi,
3410
- m as resolveObjectBomEntry,
3810
+ cu as requestMedProCheckDsData,
3811
+ cv as requestNonMedProCheckDsData,
3812
+ aD2 as resolveAnnotationFieldLocation,
3813
+ ap as resolveDiagonalVertex,
3814
+ v as resolveFieldRenderComponent,
3815
+ aE as resolveFormChangeRowUi,
3816
+ w as resolveObjectBomEntry,
3411
3817
  r as resolveObjectFieldKeys,
3412
- aB as resolveRowFormChangeMark,
3818
+ aF as resolveRowFormChangeMark,
3413
3819
  resolveUdiQuery,
3414
- o2 as runWithFillProduct,
3415
- h as setSelectAnnotationId,
3416
- aC as setSelectMobileTdId,
3417
- s as setSelectValidatorId,
3418
- aS as sqlUtils,
3419
- cp as stockCheck,
3420
- aD as stripLegacyFormConfigFromPaper,
3820
+ x as runWithFillProduct,
3821
+ m as setSelectAnnotationId,
3822
+ aG as setSelectMobileTdId,
3823
+ s2 as setSelectValidatorId,
3824
+ cw as sqlUtils,
3825
+ cx as stockCheck,
3826
+ aH as stripLegacyFormConfigFromPaper,
3421
3827
  transformUtils,
3422
- z as useDependency,
3828
+ H as useDependency,
3423
3829
  useEbrWikiFactoryV2,
3424
- A2 as useFieldPresentation,
3830
+ I as useFieldPresentation,
3425
3831
  u2 as useFormModel,
3426
3832
  u as useFormTmplConfig,
3427
3833
  useMaterialBalance,
3428
3834
  useNocodeEmitter,
3429
- p2 as useNocodeFormWidget,
3430
- cq as useOnlineFormActionButton,
3431
- bm as useOnlineFormTransformField2Component,
3835
+ y as useNocodeFormWidget,
3836
+ cy as useOnlineFormActionButton,
3837
+ bo as useOnlineFormTransformField2Component,
3432
3838
  useRenderPageFactory,
3433
- C as useRuntimeEditorFlusher,
3434
- f2 as useRuntimeInstanceServices,
3435
- i as useRuntimeRowState,
3436
- y2 as useStyles,
3437
- e as useWidgetStaticAttrs,
3438
- v as validateObjectBomForScan,
3839
+ J as useRuntimeEditorFlusher,
3840
+ l as useRuntimeInstanceServices,
3841
+ o as useRuntimeRowState,
3842
+ G2 as useStyles,
3843
+ k as useWidgetStaticAttrs,
3844
+ v2 as validateObjectBomForScan,
3439
3845
  validateObjectBomQtyOnSubmit,
3440
- a_ as validateReinspectionDate
3846
+ a$ as validateReinspectionDate
3441
3847
  };