@gct-paas/excel 0.1.39-beta.10 → 0.1.39-beta.12

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 (94) hide show
  1. package/dist/{BaseComponent-Dri2NRAY.js → BaseComponent-CQeGIU8p.js} +2 -2
  2. package/dist/{VueVideoPlayer-DPJyefX-.js → VueVideoPlayer-rLEjwJD1.js} +2 -2
  3. package/dist/{align-editor-BvGUsoz3.js → align-editor-CThA5sqY.js} +1 -1
  4. package/dist/{barcode-design-BIAenf34.js → barcode-design-BbE02y5_.js} +2 -2
  5. package/dist/base/index.es.js +132 -90
  6. package/dist/{diagonal-design-Bg0Wzojk.js → diagonal-design-DZQrt-v_.js} +2 -2
  7. package/dist/{dynamic-table-action-BQfJFJ4j.js → dynamic-table-action-Cdg8Hy-t.js} +24 -4
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js} +286 -249
  9. package/dist/{edit.utils-CXmmCnxE-CvJGxh2v.js → edit.utils-CXmmCnxE-wVxZBX2T.js} +1 -1
  10. package/dist/excel.css +14 -14
  11. package/dist/{exceljs.min-oMo9w3-p.js → exceljs.min-DwhIyaO7.js} +2 -2
  12. package/dist/{font-editor-JT-C4KUo.js → font-editor-B3GIbv4S.js} +3 -3
  13. package/dist/{image-design-A8_t4F3t.js → image-design-CEQehKo3.js} +2 -2
  14. package/dist/{index-DERot0lx.js → index-BI6u0ZVW.js} +2 -2
  15. package/dist/{index-CJdwj04Z.js → index-BI8BFTVe.js} +1 -1
  16. package/dist/{index-D1jXU0ka.js → index-BJqodofC.js} +2 -2
  17. package/dist/{index-DIythXNr.js → index-BW3YmzMX.js} +3 -3
  18. package/dist/{index-DsLZqLga.js → index-BbKHEgre.js} +2 -2
  19. package/dist/{index-CRloZ0HP.js → index-BitAf62N.js} +2 -2
  20. package/dist/{index-B_GyS-E2.js → index-BloYiyGP.js} +1 -1
  21. package/dist/{index-DFNVqlgA.js → index-BxBjo_MG.js} +1 -1
  22. package/dist/{index-C3k8QiLF.js → index-C-uN_k-i.js} +2 -2
  23. package/dist/{index-1Aq6q-wr.js → index-C6zjyYKG.js} +3 -3
  24. package/dist/{index-B-Kwr44d.js → index-C8xKDyeD.js} +1 -1
  25. package/dist/{index-Cls_jFJq.js → index-CThPUpH7.js} +100 -55
  26. package/dist/{index-D9OUmbBs.js → index-CXQRI3Yu.js} +1 -1
  27. package/dist/{index-BLmR9aiG.js → index-C_9ArFTt.js} +1 -1
  28. package/dist/{index-3clyu1Q_.js → index-CbkAoYTg.js} +4 -4
  29. package/dist/{index-B8Vkmyc8.js → index-CcUoywNG.js} +3 -3
  30. package/dist/{index-bH6ERrWd.js → index-CcdVvUsf.js} +2 -2
  31. package/dist/{index-DT8qwYke.js → index-Cji81RTX.js} +2 -2
  32. package/dist/{index-Caygbi4F.js → index-CoxSeGEM.js} +2 -2
  33. package/dist/{index-CJiOtrhx.js → index-CxkU7yrf.js} +2 -2
  34. package/dist/{index-H2nF4SP8.js → index-Cys--gir.js} +2 -2
  35. package/dist/{index-DmBx27M9.js → index-D37kILWO.js} +2 -2
  36. package/dist/{index-D9444n1O.js → index-D8b8H_w9.js} +2 -2
  37. package/dist/{index-DPHGDezJ.js → index-D988RFRH.js} +1 -1
  38. package/dist/{index-Bs8Xs0bo.js → index-DDm5el4N.js} +1 -1
  39. package/dist/{index-Cqcbgcw7.js → index-DJBu0ym7.js} +2 -2
  40. package/dist/{index-DWVhXPb-.js → index-DP8xXYmU.js} +2 -2
  41. package/dist/{index-CISAQtLd.js → index-DWbhpvby.js} +3 -3
  42. package/dist/{index-DY7Xkd8n.js → index-DeLrWwgL.js} +2 -2
  43. package/dist/{index-DkwkBWEP.js → index-DoCSmHj_.js} +2 -2
  44. package/dist/{index-CTASuQPn.js → index-GnYi1hwL.js} +1 -1
  45. package/dist/{index-BUK-p31i.js → index-Q8c3SkKZ.js} +2 -2
  46. package/dist/{index-BE-3UQG0.js → index-RBXxr4Qh.js} +2 -2
  47. package/dist/{index-afC-rHNa.js → index-S65bdbnh.js} +2 -2
  48. package/dist/{index-CfGLFrkj.js → index-otXN6GGD.js} +1 -1
  49. package/dist/index.es.js +2 -2
  50. package/dist/{mb-render-DybPk-KF.js → mb-render-BqkWBMtI.js} +8 -2
  51. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-BEX02BrW.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-B9dH3NoS.js} +8 -1
  52. package/dist/{pagination-design-Ct6xpKO9.js → pagination-design-0FTBRKzW.js} +2 -2
  53. package/dist/paper-widget-design-BH9Si0TW.js +4 -0
  54. package/dist/{print-runtime-instance-7aZCZWS4.js → print-runtime-instance-D5TjwpeV.js} +1 -1
  55. package/dist/{print-snapshot-renderer-DPFZBXE2.js → print-snapshot-renderer-DNEOjRW-.js} +3 -3
  56. package/dist/{qrcode-design-SOVTkKjY.js → qrcode-design-OT6Z4V9Z.js} +1 -1
  57. package/dist/{revo-grid.entry-EvEm_y2W.js → revo-grid.entry-D1QKkvpp.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-DgE6PR1L.js → revogr-attribution_7.entry-CRCtX47l.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-CNDxeVhF.js → revogr-clipboard_3.entry-elrA4DUz.js} +2 -2
  60. package/dist/{revogr-data_4.entry-DKwV9DMF.js → revogr-data_4.entry-bZYGKHyL.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-1SAhHHfl.js → revogr-filter-panel.entry-B_d9G-hl.js} +1 -1
  62. package/dist/seal-design-NVuZN4dp.js +4 -0
  63. package/dist/{serialnumber-design-Cs3B0ZNE.js → serialnumber-design-MJSy7jsx.js} +1 -1
  64. package/dist/shared/index.es.js +10 -8
  65. package/dist/{single-field-drop-C-i51iU4.js → single-field-drop-rr28sCou.js} +2 -2
  66. package/dist/{size-editor-B2TfX4_r.js → size-editor-6IH71VxK.js} +1 -1
  67. package/dist/src/nocode-base/src/hooks/form-model/form-model-controller.d.ts +2 -0
  68. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +1 -0
  69. package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +12 -7
  70. package/dist/src/nocode-base/src/interface/transform.d.ts +8 -0
  71. package/dist/src/shared/enum/index.d.ts +2 -0
  72. package/dist/src/shared/enum/product-type.d.ts +9 -0
  73. package/dist/src/shared/enum/production-identification.d.ts +19 -0
  74. package/dist/{sub-table-factory-CNkIUJTC.js → sub-table-factory-BAl-gp3D.js} +4 -4
  75. package/dist/{text-design-B-VmJzZy.js → text-design-B4rcjQk5.js} +2 -2
  76. package/dist/{throttle-Cpk1LoGk-Ch-cqj2G.js → throttle-Cpk1LoGk-mAa23iVE.js} +1 -1
  77. package/dist/{timediff-design-DASqeRcJ.js → timediff-design-svW4L_Q7.js} +1 -1
  78. package/dist/{trace-like-wrapper-Cj-nluW3.js → trace-like-wrapper-B9kC7UJM.js} +2 -2
  79. package/dist/{value-editor.vue_vue_type_style_index_0_lang-D5fckkvA.js → value-editor.vue_vue_type_style_index_0_lang-CzZLSUF2.js} +2 -2
  80. package/dist/web-render/index.es.js +3 -3
  81. package/dist/{widget-barcode-BOseDEJ_.js → widget-barcode-BUkD4Ywf.js} +4 -4
  82. package/dist/{widget-diagonal-CzWRf_zr.js → widget-diagonal-BXddll6h.js} +3 -3
  83. package/dist/{widget-image-CNtyaz7J.js → widget-image-jLS-uein.js} +5 -5
  84. package/dist/{widget-line-CrOS0l_-.js → widget-line-B8lk3foD.js} +2 -2
  85. package/dist/{widget-pagination-wCWG30o6.js → widget-pagination-DNnUd76Y.js} +5 -5
  86. package/dist/{widget-power-ayN9em_Q.js → widget-power-jJzKF8hU.js} +3 -3
  87. package/dist/{widget-qrcode-CZatrCp4.js → widget-qrcode-D_tARZf7.js} +3 -3
  88. package/dist/{widget-rangelimit-CzboyNIZ.js → widget-rangelimit-B4PR2NzB.js} +3 -3
  89. package/dist/{widget-serialnumber-CHCW116y.js → widget-serialnumber--_6hyHAp.js} +1 -1
  90. package/dist/{widget-text-rVl_vy60.js → widget-text-De9BjxIO.js} +5 -5
  91. package/dist/{widget-timediff-BhTa83S9.js → widget-timediff-DIvbU9EP.js} +2 -2
  92. package/package.json +1 -1
  93. package/dist/paper-widget-design-CEEWgUk_.js +0 -4
  94. package/dist/seal-design-DukOrO2g.js +0 -4
@@ -1,6 +1,6 @@
1
- import { n as normalizeFieldWidth } from "./dynamic-table-action-BQfJFJ4j.js";
1
+ import { n as normalizeFieldWidth } from "./dynamic-table-action-Cdg8Hy-t.js";
2
2
  import { get, pick } from "lodash-es";
3
- import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
3
+ import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
4
4
  import { f as fontStyleAttrs } from "./config.enum-B8UZQTON.js";
5
5
  const DESIGNER_DEFAULT_TYPES = /* @__PURE__ */ new Set([
6
6
  FIELD_TYPE.DEVICE,
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, toRaw, shallowRef, computed, ref, readonly, onMounted, watch, normalizeClass, onBeforeUnmount, h as h$1, watchEffect, unref, createVNode, reactive } from "vue";
2
- import { M as commonjsGlobal, N as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
3
- import { r as require$$0 } from "./index-BE-3UQG0.js";
2
+ import { M as commonjsGlobal, N as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
3
+ import { r as require$$0 } from "./index-RBXxr4Qh.js";
4
4
  var window_1;
5
5
  var hasRequiredWindow;
6
6
  function requireWindow() {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, renderList, normalizeClass, createVNode, withCtx, createElementVNode, createTextVNode, toDisplayString } from "vue";
2
- import { a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
2
+ import { a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
3
3
  const _hoisted_1 = { class: "align-group-box" };
4
4
  const _hoisted_2 = ["onClick"];
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { pick } from "lodash-es";
3
- import { u as useSpreadSheet, h as useModelFields, l as loadBwip } from "./index-Cls_jFJq.js";
4
- import { Q as PaperWidgeValueType, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
3
+ import { u as useSpreadSheet, h as useModelFields, l as loadBwip } from "./index-CThPUpH7.js";
4
+ import { Q as PaperWidgeValueType, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
5
5
  import "dayjs";
6
6
  import "ant-design-vue";
7
7
  const _hoisted_1 = { class: "wrapper" };
@@ -1,13 +1,13 @@
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-DZRtpBe8.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, bW, O, p, P, aa, o, Q, A, bX, bY, ax, aw, a6, a2, a4, a5, a7, f, bZ, am, aq, ak, b_, b$, c0, c1, bg, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, bl, cc, cd, aZ, ce, b0, b1, cf, cg, ch, ci, cj, ck, cl, cm, cn, co, aY, cp, b2, be, cq, cr, cs, ao, t, aS, ct, cu, bm, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
3
- import { P as getRuntimeDataFieldId, z as parseRuntimeFieldPath, Q as buildRuntimeFieldPath, T as resolveRuntimeFieldProps, U as resolveRuntimeFieldState, V as getRuntimeDependencyOutputKey, W as isRowAddedInCurrentFormChange, o as MaterialConsumptionPatternEnum, X as MaterialConsumeTableController, Y as setFormulaParamsConfig, Z as normalizeRuntime, H as createRuntimeInstanceContext, R as RuntimeFormStateStore, $ as RuntimeSheetService, g as getBusinessFieldKey, a0 as validateObjectBomQtyOnSubmit, a1 as closeValidatorPopovers, a2 as enrichFormChangeRowDetails, N as NCB_PROVIDE, I as RuntimeInstanceRegistry, a3 as useMaterialBalance, a4 as collectFormChangeFieldLocations, a5 as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-BQfJFJ4j.js";
4
- import { B as B2, a6 as a62, e, _, a7 as a72, L as L2, a8, O as O2, E, a9, aa as aa2, ab, ac, ad, M, a, ae, b, af, ag, ah as ah2, ai as ai2, aj as aj2, ak as ak2, al as al2, am as am2, w, an as an2, m, ao as ao2, c, ap, aq as aq2, ar, as, l, x, at, au, av, aw as aw2, f as f2, y as y2, d, ax as ax2, ay as ay2, az as az2, aA, aB, aC, p as p2, r, aD, q, j, aE, s, aF, C, F, u, t as t2, G, i, k, A as A2, h, v } from "../dynamic-table-action-BQfJFJ4j.js";
1
+ import { E as api, $ as PlatformEnum, F as FIELD_TYPE, bj as getRowId, bk as findRuntimeTableRow, b9 as RenderModeEnum, C as ComponentTypeEnum, bw as assembleRules, bx as isAttachFieldActive, aI as Dependency_ENUM, bl as calculateFormula, aH as ASSIGNMENTSTRATEGY_ENUM, R as getParseFormulaVarInfos, by as fetchHistoryConsume, bz as isBomGranted, aW as renderUtils, bv as uuid2, bA as parseFrontConfig, aL as CheckDsTypeEnum, aF as transformUtils, bB as baseDataUtils, bC as initializeSealFields, Y as FormTypeEnum, bD as normalizeToArray, bE as safeParseArray, bF as BpmnNodeTypeEnum, bG as mergeByMultiKey, a8 as _export_sfc, bH as evaluateInspectionDecisionRule, bI as areValidationCommentsEqual, bJ as useNocodeEmitter, bK as commonUtils, aJ as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
2
+ import { aO, aQ, b0, a1, bL, bM, B, bN, y, ai, bO, bP, bQ, bi, bR, aT, ay, aP, aM, aN, bS, aj, an, bT, bU, aG, a3, ah, az, aR, a0, al, L, bV, bW, bX, O, p, P, aa, o, Q, A, bY, bZ, ax, aw, a6, a2, a4, a5, a7, f, b_, am, aq, ak, b$, c0, c1, c2, bh, c3, c4, c5, c6, c7, c8, c9, ca, cb, cc, bm, cd, ce, aZ, cf, b1, b2, cg, ch, ci, cj, ck, cl, cm, cn, co, cp, aY, cq, b3, bf, cr, cs, ct, ao, t, aS, cu, cv, bn, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
3
+ import { P as getRuntimeDataFieldId, z as parseRuntimeFieldPath, Q as buildRuntimeFieldPath, T as resolveRuntimeFieldProps, U as resolveRuntimeFieldState, V as getRuntimeDependencyOutputKey, W as isRowAddedInCurrentFormChange, o as MaterialConsumptionPatternEnum, X as MaterialConsumeTableController, Y as setFormulaParamsConfig, Z as normalizeRuntime, H as createRuntimeInstanceContext, R as RuntimeFormStateStore, $ as RuntimeSheetService, g as getBusinessFieldKey, a0 as validateObjectBomQtyOnSubmit, a1 as closeValidatorPopovers, a2 as enrichFormChangeRowDetails, N as NCB_PROVIDE, I as RuntimeInstanceRegistry, a3 as useMaterialBalance, a4 as collectFormChangeFieldLocations, a5 as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-Cdg8Hy-t.js";
4
+ import { B as B2, a6 as a62, e, _, a7 as a72, L as L2, a8, O as O2, E, a9, aa as aa2, ab, ac, ad, M, a, ae, b, af, ag, ah as ah2, ai as ai2, aj as aj2, ak as ak2, al as al2, am as am2, w, an as an2, m, ao as ao2, c, ap, aq as aq2, ar, as, l, x, at, au, av, aw as aw2, f as f2, y as y2, d, ax as ax2, ay as ay2, az as az2, aA, aB, aC, p as p2, r, aD, q, j, aE, s, aF, C, F, u, t as t2, G, i, k, A as A2, h, v } from "../dynamic-table-action-Cdg8Hy-t.js";
5
5
  import { toRaw, watch, toRef, computed, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, ref, provide, onUnmounted, markRaw, reactive, onBeforeUnmount } from "vue";
6
6
  import { cloneDeep, defaults, isEmpty, merge } from "lodash-es";
7
7
  import "dayjs";
8
- import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-CNkIUJTC.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-CNkIUJTC.js";
10
- import { B as B3, F as F2, M as M3, a as a11, u as u2 } from "../mb-render-DybPk-KF.js";
8
+ import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-BAl-gp3D.js";
9
+ import { A as A3, D, M as M2, a as a10, P as P2, b as b4, c as c10, d as d2, e as e2, W, f as f3, g, h as h2 } from "../sub-table-factory-BAl-gp3D.js";
10
+ import { B as B3, F as F2, M as M3, a as a11, u as u2 } from "../mb-render-BqkWBMtI.js";
11
11
  const InstanceStatusValues = {
12
12
  /** 作废状态 */
13
13
  ABANDON: "ABANDON",
@@ -806,6 +806,10 @@ class FormTmplBomController {
806
806
  field2TableMap = {};
807
807
  /** 默认物料消耗模式 */
808
808
  defaultMCPattern = MaterialConsumptionPatternEnum.RECORD;
809
+ /** 表单实例身份与 BOM 数据是否存在无关,模板展示也会创建完整控制器。 */
810
+ hasFormInstance = false;
811
+ /** 按页面中的表解析后的配置,页面与打印共用。 */
812
+ resolvedTmplBomList = [];
809
813
  constructor() {
810
814
  }
811
815
  /**
@@ -823,7 +827,9 @@ class FormTmplBomController {
823
827
  productQty: this.productQty,
824
828
  historyData: this.historyData,
825
829
  field2TableMap: this.field2TableMap,
826
- defaultMCPattern: this.defaultMCPattern
830
+ defaultMCPattern: this.defaultMCPattern,
831
+ hasFormInstance: this.hasFormInstance,
832
+ resolvedTmplBomList: this.resolvedTmplBomList
827
833
  })
828
834
  );
829
835
  (view.tmplBomList ?? []).forEach((config) => {
@@ -875,11 +881,11 @@ class FormTmplBomController {
875
881
  * @readonly
876
882
  */
877
883
  get bomEntries() {
878
- return this.formInstBom?.bomEntries;
884
+ return this.formInstBom?.bomEntries ?? [];
879
885
  }
880
886
  /** 表单模板bom信息配置列表 */
881
887
  get tmplBomList() {
882
- return this.formInstBom?.formTmplBomList;
888
+ return this.resolvedTmplBomList;
883
889
  }
884
890
  /**
885
891
  * bom那边指定的当前工序的开关
@@ -888,30 +894,55 @@ class FormTmplBomController {
888
894
  get enableSequenceLoading() {
889
895
  return !!this.formInstBom?.sequenceEntries?.[0]?.enabled_;
890
896
  }
891
- /**
892
- * 初始化模板的物料消耗的配置
893
- */
897
+ createDefaultConfig(table) {
898
+ return {
899
+ table_key_: `${table.tableKey}:${table.masterSubField}`,
900
+ material_loading_model_enabled_: false,
901
+ material_consumption_pattern_: MaterialConsumptionPatternEnum.RECORD,
902
+ bom_init_enabled_: false,
903
+ personal_bom_enabled_: false,
904
+ sequence_loading_enabled_: false,
905
+ entries_: []
906
+ };
907
+ }
908
+ /** 有实例时读取实例配置,无实例时仅创建默认展示控制器。 */
894
909
  async init(data) {
895
- if (!data.formInstBom) {
896
- return;
910
+ this.hasFormInstance = data.hasFormInstance;
911
+ this.operationId = data.operationId ?? "";
912
+ this.materialNo = data.materialNo ?? "";
913
+ this.formInstBom = this.hasFormInstance ? data.formInstBom ?? null : null;
914
+ this.productQty = this.formInstBom ? data.productQty ?? 0 : data.productQty;
915
+ this.historyData = [];
916
+ this.defaultMCPattern = MaterialConsumptionPatternEnum.RECORD;
917
+ this.tableControllers = {};
918
+ this.field2TableMap = {};
919
+ const instanceConfigs = new Map(
920
+ (this.formInstBom?.formTmplBomList ?? []).filter((config) => !config.deleted_ && config.table_key_).map((config) => [config.table_key_, config])
921
+ );
922
+ this.resolvedTmplBomList = data.materialConsumeTableList.map((table) => {
923
+ const key = `${table.tableKey}:${table.masterSubField}`;
924
+ const source = instanceConfigs.get(key);
925
+ if (!source) return this.createDefaultConfig(table);
926
+ const config = cloneDeep(source);
927
+ config.entries_ ??= [];
928
+ return config;
929
+ });
930
+ if (this.formInstBom) {
931
+ if (this.formInstBom.productionIdentificationId && this.operationId) {
932
+ this.historyData = await fetchHistoryConsume({
933
+ production_identification_id_: this.formInstBom.productionIdentificationId,
934
+ routing_operation_id_: this.operationId
935
+ });
936
+ }
937
+ const isGranted = await isBomGranted();
938
+ this.defaultMCPattern = isGranted ? MaterialConsumptionPatternEnum.BOM : MaterialConsumptionPatternEnum.RECORD;
897
939
  }
898
- this.operationId = data.operationId;
899
- this.materialNo = data.materialNo;
900
- this.formInstBom = data.formInstBom;
901
- this.productQty = data.productQty ?? 0;
902
- this.historyData = await fetchHistoryConsume({
903
- production_identification_id_: this.formInstBom.productionIdentificationId,
904
- routing_operation_id_: this.operationId
940
+ data.materialConsumeTableList.forEach((table, index) => {
941
+ const config = this.resolvedTmplBomList[index];
942
+ const controller = new MaterialConsumeTableController(this, config);
943
+ this.tableControllers[table.tableKey] = controller;
944
+ this.field2TableMap[table.masterSubField] = table.tableKey;
905
945
  });
906
- const isGranted = await isBomGranted();
907
- this.defaultMCPattern = isGranted ? MaterialConsumptionPatternEnum.BOM : MaterialConsumptionPatternEnum.RECORD;
908
- this.tableControllers = {};
909
- this.tmplBomList.forEach((cur) => {
910
- const controller = new MaterialConsumeTableController(this, cur);
911
- const [tableKey, fieldKey] = cur.table_key_.split(":");
912
- this.tableControllers[tableKey] = controller;
913
- this.field2TableMap[fieldKey] = tableKey;
914
- }, {});
915
946
  }
916
947
  /**
917
948
  * 根据字段key获取子表控制器
@@ -1264,6 +1295,8 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1264
1295
  }
1265
1296
  await tmplBomC.init({
1266
1297
  formInstBom: selfInfo.formInstBom,
1298
+ materialConsumeTableList: businessIndex.materialConsumeTableList,
1299
+ hasFormInstance: isFormInstance,
1267
1300
  operationId: paramsConfig?.routingOperationId,
1268
1301
  materialNo,
1269
1302
  productQty: paramsConfig?.productQty
@@ -1425,6 +1458,15 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
1425
1458
  });
1426
1459
  initializeSealFields(floatingFields, formState);
1427
1460
  }
1461
+ await transformUtils.getEventInitDataLoaded({
1462
+ formConfig: runtimeContext.formConfig,
1463
+ formState,
1464
+ viewMode: fillModeType,
1465
+ dataStatus: selfInfo.dataStatus,
1466
+ ofCtx: { formPrint: payload.formPrint, id: result.id }
1467
+ }).catch((error) => {
1468
+ console.error("Error in getEventInitDataLoaded:", error);
1469
+ });
1428
1470
  runtimeFormStateStore = new RuntimeFormStateStore(
1429
1471
  formState,
1430
1472
  // 子表信息覆盖普通/固定/检验表、二维关联列以及各类业务表;不能只依赖已放置字段。
@@ -3075,23 +3117,23 @@ export {
3075
3117
  A3 as AllocateTableCore,
3076
3118
  B3 as BaseFormModelFetcher,
3077
3119
  aQ as BinarizeMethodOptions,
3078
- a$ as BindCmpStyleEnum,
3120
+ b0 as BindCmpStyleEnum,
3079
3121
  a1 as BooleanShowMode,
3080
3122
  B2 as BorderTD,
3081
3123
  BpmnNodeTypeEnum,
3082
- bK as BpmnSignatureTypeEnum,
3083
- bL as ButtonTypeEnum,
3124
+ bL as BpmnSignatureTypeEnum,
3125
+ bM as ButtonTypeEnum,
3084
3126
  B as BwipCodeType,
3085
- bM as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3127
+ bN as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3086
3128
  y as CellType,
3087
3129
  ai as CellWidgetViewState,
3088
3130
  CheckDsTypeEnum,
3089
- bN as CodeRunner,
3131
+ bO as CodeRunner,
3090
3132
  ComponentTypeEnum,
3091
- bO as Config_Fields,
3092
- bP as ControlStatusEnum,
3093
- bh as DEVICE_GROUP_QUERY_KEY,
3094
- bQ as DEVICE_SEARCH_API,
3133
+ bP as Config_Fields,
3134
+ bQ as ControlStatusEnum,
3135
+ bi as DEVICE_GROUP_QUERY_KEY,
3136
+ bR as DEVICE_SEARCH_API,
3095
3137
  aT as DateFormat,
3096
3138
  ay as DecimalDisplayMode,
3097
3139
  aP as DenoiseMethodOptions,
@@ -3100,7 +3142,7 @@ export {
3100
3142
  e as DeviceLinkTmplUtil,
3101
3143
  aN as DeviceParamsTypeTitle,
3102
3144
  D as DevicePartConsumeTableCore,
3103
- bR as DeviceStatus,
3145
+ bS as DeviceStatus,
3104
3146
  aj as DiagonalDirection,
3105
3147
  an as DiagonalVertex,
3106
3148
  _ as DocumentLayout,
@@ -3108,8 +3150,8 @@ export {
3108
3150
  L2 as DocumentPaper,
3109
3151
  a8 as DynamicQuickFillModal,
3110
3152
  O2 as DynamicTableAction,
3111
- bS as EBR_PROVIDE_ENUM,
3112
- bT as EFieldBizTypeEnum,
3153
+ bT as EBR_PROVIDE_ENUM,
3154
+ bU as EFieldBizTypeEnum,
3113
3155
  E as EMPTY_PRODUCT_VERSION_ID,
3114
3156
  aG as EmptySymbol,
3115
3157
  a3 as FallbackSignTypeEnum,
@@ -3130,7 +3172,7 @@ export {
3130
3172
  a0 as LabelPosition,
3131
3173
  al as LineDirection,
3132
3174
  L as LineType,
3133
- bU as MAX_FRONT_ROW_KEY_LENGTH,
3175
+ bV as MAX_FRONT_ROW_KEY_LENGTH,
3134
3176
  M as MAX_RUNTIME_SHEETS,
3135
3177
  a as MAX_RUNTIME_SHEET_TITLE_LENGTH,
3136
3178
  M3 as MBRender,
@@ -3142,10 +3184,10 @@ export {
3142
3184
  M2 as MaterialRequisitionTableCore,
3143
3185
  MaterialStatusEnum,
3144
3186
  a10 as MaterialSubstitutionTableCore,
3145
- bV as MobileFillTypeEnum,
3187
+ bW as MobileFillTypeEnum,
3146
3188
  NCB_PROVIDE,
3147
3189
  af as OCR_MODEL_PRECISION_ENUM_KEY,
3148
- bW as OfficeTypeEnum,
3190
+ bX as OfficeTypeEnum,
3149
3191
  O as Orientation,
3150
3192
  p as PageSizeEnum,
3151
3193
  P as PaginationFormat,
@@ -3155,10 +3197,10 @@ export {
3155
3197
  A as ParamModelTypeEnum,
3156
3198
  P2 as PartStocktakeTableCore,
3157
3199
  PlatformEnum,
3158
- bX as PosEnum,
3159
- b3 as PretreatmentListTableCore,
3200
+ bY as PosEnum,
3201
+ b4 as PretreatmentListTableCore,
3160
3202
  c10 as ProfileDrivenSubTableCore,
3161
- bY as RUNTIME_COLUMN_ROW_KEY,
3203
+ bZ as RUNTIME_COLUMN_ROW_KEY,
3162
3204
  ax as RangeCompareOp,
3163
3205
  aw as RangeValidateMode,
3164
3206
  RenderModeEnum,
@@ -3183,7 +3225,7 @@ export {
3183
3225
  am2 as SubTableCore,
3184
3226
  SubTableCoreFactory,
3185
3227
  f as SubTableType,
3186
- bZ as SummaryApproveHisTypeEnum,
3228
+ b_ as SummaryApproveHisTypeEnum,
3187
3229
  am as TimeDiffFormat,
3188
3230
  aq as ViewTypeEnum,
3189
3231
  W as WarehouseInTableCore,
@@ -3191,18 +3233,18 @@ export {
3191
3233
  g as WarehouseOutTableCore,
3192
3234
  h2 as WarehouseOutboundTableCore,
3193
3235
  ak as WidgetImageSizeMode,
3194
- b_ as applyCheckDsDataToRuntime,
3236
+ b$ as applyCheckDsDataToRuntime,
3195
3237
  w as applyConsumeObjectTraceChange,
3196
- b$ as applyMedProCheckDsDataToRuntime,
3238
+ c0 as applyMedProCheckDsDataToRuntime,
3197
3239
  baseDataUtils,
3198
- c0 as bindRuntimeTableColumns,
3199
- c1 as buildDeviceBaseQuery,
3200
- bg as buildDeviceFilterQuery,
3240
+ c1 as bindRuntimeTableColumns,
3241
+ c2 as buildDeviceBaseQuery,
3242
+ bh as buildDeviceFilterQuery,
3201
3243
  an2 as buildFormChangeDisplayRows,
3202
3244
  m as buildObjectLotExtraQuery,
3203
3245
  buildRuntimeFieldPath,
3204
- c2 as calcFillData,
3205
- c3 as calcUtils,
3246
+ c3 as calcFillData,
3247
+ c4 as calcUtils,
3206
3248
  calculateFormula,
3207
3249
  collectAnnotationItemsByLocation,
3208
3250
  collectFormChangeFieldLocations,
@@ -3211,65 +3253,65 @@ export {
3211
3253
  ao2 as convertV1Runtime,
3212
3254
  c as createRuntimeDocumentV2,
3213
3255
  createRuntimeInstanceContext,
3214
- c4 as decodeTableCellRowKey,
3256
+ c5 as decodeTableCellRowKey,
3215
3257
  ap as detailsHaveFormChangeRowOps,
3216
- c5 as encodeTableCellRowKey,
3258
+ c6 as encodeTableCellRowKey,
3217
3259
  enrichFormChangeRowDetails,
3218
- c6 as ensureFrontRowKey,
3219
- c7 as ensureTableRowKeys,
3260
+ c7 as ensureFrontRowKey,
3261
+ c8 as ensureTableRowKeys,
3220
3262
  aq2 as extractFormChangeRowDetails,
3221
- c8 as extractKeywordFromQueryData,
3222
- c9 as fetchCheckDsDataForTable,
3223
- ca as fetchCustomCheckDsData,
3263
+ c9 as extractKeywordFromQueryData,
3264
+ ca as fetchCheckDsDataForTable,
3265
+ cb as fetchCustomCheckDsData,
3224
3266
  fetchHistoryConsume,
3225
- cb as fetchMedProCheckDsData,
3267
+ cc as fetchMedProCheckDsData,
3226
3268
  fetchOperationReceiveQty,
3227
3269
  fetchUdi,
3228
3270
  filterAnnotationItemsUpToCurrent,
3229
- bl as findRuntimeParentRow,
3230
- cc as findRuntimeTableCell,
3271
+ bm as findRuntimeParentRow,
3272
+ cd as findRuntimeTableCell,
3231
3273
  findRuntimeTableRow,
3232
3274
  getAppInfo,
3233
3275
  getBusinessFieldKey,
3234
- cd as getCheckTableSnapshotKey,
3276
+ ce as getCheckTableSnapshotKey,
3235
3277
  ar as getFormChangeRowKey,
3236
3278
  as as getFormChangeRowOp,
3237
3279
  aZ as getLotLockedReason,
3238
3280
  l as getObjectBomMaterialLotQuery,
3239
3281
  x as getObjectBomProductQuery,
3240
3282
  getParseFormulaVarInfos,
3241
- ce as getParseRuleConfig,
3242
- b0 as getParseRuleInfo,
3243
- b1 as getParseRuleValue,
3244
- cf as getReinspectionDate,
3245
- cg as getRenderedRuntimeTableCell,
3283
+ cf as getParseRuleConfig,
3284
+ b1 as getParseRuleInfo,
3285
+ b2 as getParseRuleValue,
3286
+ cg as getReinspectionDate,
3287
+ ch as getRenderedRuntimeTableCell,
3246
3288
  getRuntimeDataFieldId,
3247
3289
  getRuntimeDependencyOutputKey,
3248
3290
  at as getSubTableQuickFillInfo,
3249
3291
  getSuiteKey,
3250
- ch as handleOldConfig,
3251
- ci as hasAnyCheckTableSnapshot,
3252
- cj as hasByTableCheckTableSnapshot,
3253
- ck as hasSharedCheckTableSnapshot,
3292
+ ci as handleOldConfig,
3293
+ cj as hasAnyCheckTableSnapshot,
3294
+ ck as hasByTableCheckTableSnapshot,
3295
+ cl as hasSharedCheckTableSnapshot,
3254
3296
  au as isAnnLocationSelected,
3255
3297
  av as isBlank,
3256
3298
  isBomGranted,
3257
3299
  isEdhrSuite,
3258
3300
  isEqmSuite,
3259
3301
  aw2 as isFormChangeGhostRow,
3260
- cl as isMedProSuite,
3302
+ cm as isMedProSuite,
3261
3303
  isRowAddedInCurrentFormChange,
3262
- cm as isTableRowKeyMatch,
3263
- cn as jsonSchemaUtils,
3264
- co as judgeUnique,
3304
+ cn as isTableRowKeyMatch,
3305
+ co as jsonSchemaUtils,
3306
+ cp as judgeUnique,
3265
3307
  aY as materialCheck,
3266
- cp as migrateDiagonalDirectionToVertex,
3308
+ cq as migrateDiagonalDirectionToVertex,
3267
3309
  nextFormChangeRowViewHistoryId,
3268
3310
  f2 as normalizeAIOcrTmpl,
3269
3311
  y2 as normalizeHistoricalAutofillRow,
3270
3312
  d as normalizeHistoricalBusinessRow,
3271
3313
  ax2 as normalizeHistoricalFieldConfig,
3272
- b2 as normalizeRefLoaderResult,
3314
+ b3 as normalizeRefLoaderResult,
3273
3315
  normalizeRuntime,
3274
3316
  parseFrontConfig,
3275
3317
  parseRuntimeFieldPath,
@@ -3277,11 +3319,11 @@ export {
3277
3319
  ay2 as pickObjectFieldKeys,
3278
3320
  az2 as recordSubtableRowAdd,
3279
3321
  aA as recordSubtableRowDelete,
3280
- be as refUtils,
3281
- cq as relocateDeletedRowsToEnd,
3322
+ bf as refUtils,
3323
+ cr as relocateDeletedRowsToEnd,
3282
3324
  renderUtils,
3283
- cr as requestMedProCheckDsData,
3284
- cs as requestNonMedProCheckDsData,
3325
+ cs as requestMedProCheckDsData,
3326
+ ct as requestNonMedProCheckDsData,
3285
3327
  aB as resolveAnnotationFieldLocation,
3286
3328
  ao as resolveDiagonalVertex,
3287
3329
  t as resolveFieldRenderComponent,
@@ -3295,7 +3337,7 @@ export {
3295
3337
  aE as setSelectMobileTdId,
3296
3338
  s as setSelectValidatorId,
3297
3339
  aS as sqlUtils,
3298
- ct as stockCheck,
3340
+ cu as stockCheck,
3299
3341
  aF as stripLegacyFormConfigFromPaper,
3300
3342
  transformUtils,
3301
3343
  C as useDependency,
@@ -3306,8 +3348,8 @@ export {
3306
3348
  useMaterialBalance,
3307
3349
  useNocodeEmitter,
3308
3350
  t2 as useNocodeFormWidget,
3309
- cu as useOnlineFormActionButton,
3310
- bm as useOnlineFormTransformField2Component,
3351
+ cv as useOnlineFormActionButton,
3352
+ bn as useOnlineFormTransformField2Component,
3311
3353
  useRenderPageFactory,
3312
3354
  G as useRuntimeEditorFlusher,
3313
3355
  i as useRuntimeInstanceServices,
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock } from "vue";
2
- import { h as useModelFields, D as Diagonal } from "./index-Cls_jFJq.js";
3
- import { ao as resolveDiagonalVertex, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
2
+ import { h as useModelFields, D as Diagonal } from "./index-CThPUpH7.js";
3
+ import { ao as resolveDiagonalVertex, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
4
4
  import "lodash-es";
5
5
  import "dayjs";
6
6
  import "ant-design-vue";
@@ -1,10 +1,10 @@
1
1
  import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, nextTick, toRef, 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 { ai as CellWidgetViewState, F as FIELD_TYPE, b8 as RenderModeEnum, Y as FormTypeEnum, bE as BpmnNodeTypeEnum, cv as getFieldPlaceholder, bV as MobileFillTypeEnum, C as ComponentTypeEnum, $ as PlatformEnum, cw as isReferenceOptionActive, E as api, bu as uuid2, c3 as calcUtils, bj as findRuntimeTableRow, c7 as ensureTableRowKeys, c0 as bindRuntimeTableColumns, bi as getRowId, cx as FRONT_ROW_KEY, cm as isTableRowKeyMatch, bw as isAttachFieldActive, cy as filterRulesByTrigger, cz as isEmptyValue$1, c4 as decodeTableCellRowKey, c6 as ensureFrontRowKey, b0 as getParseRuleInfo, aF as transformUtils, aY as materialCheck, aZ as getLotLockedReason, a_ as validateReinspectionDate, bn as FormulaRuleFieldKeyEnum, f as SubTableType, b1 as getParseRuleValue, cA as buildError, H as CreateType, bl as findRuntimeParentRow, aI as Dependency_ENUM, aH as ASSIGNMENTSTRATEGY_ENUM, bJ as commonUtils, aM as DeviceLink, a8 as _export_sfc, cg as getRenderedRuntimeTableCell, y as CellType, cq as relocateDeletedRowsToEnd, cB as resetTableRowIdentity, J as useModal, cC as q, cD as QUICK_FILL_ALLOWED_FIELDS, cE as groupFixedTableRows, cF as processQuickFillRows, cG as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js";
2
+ import { ai as CellWidgetViewState, F as FIELD_TYPE, b9 as RenderModeEnum, Y as FormTypeEnum, bF as BpmnNodeTypeEnum, cw as getFieldPlaceholder, bW as MobileFillTypeEnum, C as ComponentTypeEnum, $ as PlatformEnum, cx as isReferenceOptionActive, E as api, bv as uuid2, c4 as calcUtils, bk as findRuntimeTableRow, c8 as ensureTableRowKeys, c1 as bindRuntimeTableColumns, bj as getRowId, cy as FRONT_ROW_KEY, cn as isTableRowKeyMatch, bx as isAttachFieldActive, cz as filterRulesByTrigger, cA as isEmptyValue$1, c5 as decodeTableCellRowKey, c7 as ensureFrontRowKey, b1 as getParseRuleInfo, aF as transformUtils, aY as materialCheck, aZ as getLotLockedReason, a_ as validateReinspectionDate, bo as FormulaRuleFieldKeyEnum, f as SubTableType, b2 as getParseRuleValue, cB as buildError, H as CreateType, bm as findRuntimeParentRow, aI as Dependency_ENUM, aH as ASSIGNMENTSTRATEGY_ENUM, bK as commonUtils, aM as DeviceLink, a8 as _export_sfc, ch as getRenderedRuntimeTableCell, y as CellType, cr as relocateDeletedRowsToEnd, cC as resetTableRowIdentity, J as useModal, cD as q, cE as QUICK_FILL_ALLOWED_FIELDS, cF as groupFixedTableRows, cG as processQuickFillRows, cH as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZTbBLX8.js";
3
3
  import { cloneDeep, isEmpty, has, pickBy, isNil, mergeWith, omit, last, pick, merge } from "lodash-es";
4
4
  import dayjs from "dayjs";
5
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-DybPk-KF.js";
7
+ import { u as useFormModel } from "./mb-render-BqkWBMtI.js";
8
8
  var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
9
9
  MaterialConsumptionPatternEnum2["RECORD"] = "record";
10
10
  MaterialConsumptionPatternEnum2["BOM"] = "bom";
@@ -5246,7 +5246,8 @@ class MaterialConsumeTableController {
5246
5246
  constructor(tmplBomController, tmplBom, options = {}) {
5247
5247
  this.tmplBomController = tmplBomController;
5248
5248
  this.tmplBom = tmplBom;
5249
- if (!options.printOnly) this.initScanRule(this.tmplBom.barcode_parsing_rules_id_);
5249
+ if (!options.printOnly && this.hasFormInstance)
5250
+ this.initScanRule(this.tmplBom.barcode_parsing_rules_id_);
5250
5251
  this.scanParamType = this.tmplBom.scan_param_type_;
5251
5252
  markRaw(this);
5252
5253
  this.bomEntriesValidator = new BomEntriesValidator(
@@ -5309,6 +5310,9 @@ class MaterialConsumeTableController {
5309
5310
  get mcPattern() {
5310
5311
  return this.tmplBom.material_consumption_pattern_ ?? this.tmplBomController.defaultMCPattern;
5311
5312
  }
5313
+ get hasFormInstance() {
5314
+ return this.tmplBomController.hasFormInstance;
5315
+ }
5312
5316
  /**
5313
5317
  * 解析规则数据对象
5314
5318
  */
@@ -5561,6 +5565,10 @@ class MaterialConsumeTableController {
5561
5565
  }
5562
5566
  const isRecordPattern = this.mcPattern === MaterialConsumptionPatternEnum.RECORD && !this.tmplBom.personal_bom_enabled_;
5563
5567
  console.log("parseScanStr", data);
5568
+ if (!data.lot && !data.uniqueCode) {
5569
+ this.error($t("sys.edhr.mcTable.lotOrUniqueCodeRequired"));
5570
+ return;
5571
+ }
5564
5572
  const arr = await materialCheck({
5565
5573
  material_no_: data.materialCode,
5566
5574
  production_identification_name_: data.lot,
@@ -6055,7 +6063,16 @@ class MaterialConsumeTableController {
6055
6063
  this.error(msg);
6056
6064
  return;
6057
6065
  }
6058
- if (!value) return;
6066
+ if (!value) {
6067
+ if (row.product_id_ && !this.isCustomRequiredQty) {
6068
+ const util = this.bomEntriesValidator.findUtilByProductId(row.product_id_);
6069
+ if (util) {
6070
+ row.qty_required_ = util.total;
6071
+ }
6072
+ }
6073
+ this.updateDerivedQtyFields();
6074
+ return;
6075
+ }
6059
6076
  try {
6060
6077
  await validateReinspectionDate({
6061
6078
  product_id_: option.product_id_ ?? row.product_id_,
@@ -6079,6 +6096,7 @@ class MaterialConsumeTableController {
6079
6096
  const qty = oldGroupId && row.bom_entry_id_ === oldGroupId ? oldRequiredQty : this.getCustomGroupRequiredQty(row);
6080
6097
  this.setCustomGroupRequiredQty(row, qty);
6081
6098
  }
6099
+ this.updateDerivedQtyFields();
6082
6100
  } else if (field === "qty_") {
6083
6101
  this.updateDerivedQtyFields();
6084
6102
  }
@@ -8952,6 +8970,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
8952
8970
  }));
8953
8971
  };
8954
8972
  const handleAction = (action, rowData) => {
8973
+ if (!tableController.hasFormInstance) return;
8955
8974
  switch (action) {
8956
8975
  case MaterialConsumeActionType.CONFIRM:
8957
8976
  tableController.confirm(rowData);
@@ -9024,6 +9043,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
9024
9043
  key,
9025
9044
  actionValue
9026
9045
  }) => {
9046
+ if (!tableController.hasFormInstance) return;
9027
9047
  switch (key) {
9028
9048
  case "rowEdit":
9029
9049
  await tableController.editRow(rowData);