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

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 (92) hide show
  1. package/dist/{BaseComponent-Dri2NRAY.js → BaseComponent-DD4LDp1n.js} +2 -2
  2. package/dist/{VueVideoPlayer-DPJyefX-.js → VueVideoPlayer-4DekRqdD.js} +2 -2
  3. package/dist/{align-editor-BvGUsoz3.js → align-editor-CIX4Rrsu.js} +1 -1
  4. package/dist/{barcode-design-BIAenf34.js → barcode-design-Dn-gX9GM.js} +2 -2
  5. package/dist/base/index.es.js +123 -90
  6. package/dist/{diagonal-design-Bg0Wzojk.js → diagonal-design-DV9k2Etq.js} +2 -2
  7. package/dist/{dynamic-table-action-BQfJFJ4j.js → dynamic-table-action-eba__tU0.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-BLw_6wwg.js} +271 -249
  9. package/dist/{edit.utils-CXmmCnxE-CvJGxh2v.js → edit.utils-CXmmCnxE-C3z8OkUI.js} +1 -1
  10. package/dist/excel.css +14 -14
  11. package/dist/{exceljs.min-oMo9w3-p.js → exceljs.min-owy1KJaV.js} +2 -2
  12. package/dist/{font-editor-JT-C4KUo.js → font-editor-MmsbsBDL.js} +3 -3
  13. package/dist/{image-design-A8_t4F3t.js → image-design-BiqnMucs.js} +2 -2
  14. package/dist/{index-DWVhXPb-.js → index-81qnvwlE.js} +2 -2
  15. package/dist/{index-bH6ERrWd.js → index-B-e6Kihk.js} +2 -2
  16. package/dist/{index-DIythXNr.js → index-B1OoCza6.js} +3 -3
  17. package/dist/{index-BE-3UQG0.js → index-BDORrzH1.js} +2 -2
  18. package/dist/{index-CJiOtrhx.js → index-BVWDRLWZ.js} +2 -2
  19. package/dist/{index-afC-rHNa.js → index-Bv7iaCJj.js} +2 -2
  20. package/dist/{index-BLmR9aiG.js → index-ByIi1RJW.js} +1 -1
  21. package/dist/{index-DERot0lx.js → index-C-VMvGfb.js} +2 -2
  22. package/dist/{index-D9OUmbBs.js → index-C5Latipd.js} +1 -1
  23. package/dist/{index-CJdwj04Z.js → index-CHgHFEqC.js} +1 -1
  24. package/dist/{index-B8Vkmyc8.js → index-CQNHhNL1.js} +3 -3
  25. package/dist/{index-DFNVqlgA.js → index-ClLFatlo.js} +1 -1
  26. package/dist/{index-BUK-p31i.js → index-CpLgYWth.js} +2 -2
  27. package/dist/{index-H2nF4SP8.js → index-Cpab65SE.js} +2 -2
  28. package/dist/{index-CRloZ0HP.js → index-CsO0OYyu.js} +2 -2
  29. package/dist/{index-CfGLFrkj.js → index-DImWs6MW.js} +1 -1
  30. package/dist/{index-3clyu1Q_.js → index-DPNyf4cT.js} +4 -4
  31. package/dist/{index-DsLZqLga.js → index-DSexWSnr.js} +2 -2
  32. package/dist/{index-DPHGDezJ.js → index-DZLAoFoR.js} +1 -1
  33. package/dist/{index-CTASuQPn.js → index-DcKgjW9I.js} +1 -1
  34. package/dist/{index-DkwkBWEP.js → index-DcgZMsRI.js} +2 -2
  35. package/dist/{index-DY7Xkd8n.js → index-DiRArs8U.js} +2 -2
  36. package/dist/{index-CISAQtLd.js → index-DjZv4nuy.js} +3 -3
  37. package/dist/{index-Bs8Xs0bo.js → index-DtIe3wc5.js} +1 -1
  38. package/dist/{index-D9444n1O.js → index-JS-FVx4n.js} +2 -2
  39. package/dist/{index-1Aq6q-wr.js → index-K9NcSlYx.js} +3 -3
  40. package/dist/{index-D1jXU0ka.js → index-V9N1ZqDQ.js} +2 -2
  41. package/dist/{index-C3k8QiLF.js → index-bw-kdRhV.js} +2 -2
  42. package/dist/{index-Cls_jFJq.js → index-e8M3CfRR.js} +90 -52
  43. package/dist/{index-Caygbi4F.js → index-ggSmw_Nu.js} +2 -2
  44. package/dist/{index-DmBx27M9.js → index-jRu9XYcy.js} +2 -2
  45. package/dist/{index-DT8qwYke.js → index-qCD6xLhX.js} +2 -2
  46. package/dist/{index-B_GyS-E2.js → index-tPtqInyF.js} +1 -1
  47. package/dist/{index-B-Kwr44d.js → index-w0e3f1tE.js} +1 -1
  48. package/dist/{index-Cqcbgcw7.js → index-wA6cn_up.js} +2 -2
  49. package/dist/index.es.js +2 -2
  50. package/dist/{mb-render-DybPk-KF.js → mb-render-Cg1jp9G0.js} +1 -1
  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-B4sjJ1pf.js} +8 -1
  52. package/dist/{pagination-design-Ct6xpKO9.js → pagination-design-DSf8uUvV.js} +2 -2
  53. package/dist/paper-widget-design-YsuYJgiL.js +4 -0
  54. package/dist/{print-runtime-instance-7aZCZWS4.js → print-runtime-instance-DurRHpiW.js} +1 -1
  55. package/dist/{print-snapshot-renderer-DPFZBXE2.js → print-snapshot-renderer-CGjb7n5x.js} +3 -3
  56. package/dist/{qrcode-design-SOVTkKjY.js → qrcode-design-CAhJUkWv.js} +1 -1
  57. package/dist/{revo-grid.entry-EvEm_y2W.js → revo-grid.entry-C-d6JxHO.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-DgE6PR1L.js → revogr-attribution_7.entry-CEmwC2qj.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-CNDxeVhF.js → revogr-clipboard_3.entry-SinmTCuk.js} +2 -2
  60. package/dist/{revogr-data_4.entry-DKwV9DMF.js → revogr-data_4.entry-BFMPGhkG.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-1SAhHHfl.js → revogr-filter-panel.entry-CRhsxkJ5.js} +1 -1
  62. package/dist/seal-design-DMoxaJpb.js +4 -0
  63. package/dist/{serialnumber-design-Cs3B0ZNE.js → serialnumber-design-DFrw9aMl.js} +1 -1
  64. package/dist/shared/index.es.js +10 -8
  65. package/dist/{single-field-drop-C-i51iU4.js → single-field-drop-D5pPJfWf.js} +2 -2
  66. package/dist/{size-editor-B2TfX4_r.js → size-editor-BEJHhTPS.js} +1 -1
  67. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +1 -0
  68. package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +12 -7
  69. package/dist/src/shared/enum/index.d.ts +2 -0
  70. package/dist/src/shared/enum/product-type.d.ts +9 -0
  71. package/dist/src/shared/enum/production-identification.d.ts +19 -0
  72. package/dist/{sub-table-factory-CNkIUJTC.js → sub-table-factory-B3KBbZsY.js} +4 -4
  73. package/dist/{text-design-B-VmJzZy.js → text-design-CJhcSRF9.js} +2 -2
  74. package/dist/{throttle-Cpk1LoGk-Ch-cqj2G.js → throttle-Cpk1LoGk-BrHInZAq.js} +1 -1
  75. package/dist/{timediff-design-DASqeRcJ.js → timediff-design-Di90S4w3.js} +1 -1
  76. package/dist/{trace-like-wrapper-Cj-nluW3.js → trace-like-wrapper-BVcK30RS.js} +2 -2
  77. package/dist/{value-editor.vue_vue_type_style_index_0_lang-D5fckkvA.js → value-editor.vue_vue_type_style_index_0_lang-CSdqlors.js} +2 -2
  78. package/dist/web-render/index.es.js +3 -3
  79. package/dist/{widget-barcode-BOseDEJ_.js → widget-barcode-CS7s22AA.js} +4 -4
  80. package/dist/{widget-diagonal-CzWRf_zr.js → widget-diagonal-B_ElDgMy.js} +3 -3
  81. package/dist/{widget-image-CNtyaz7J.js → widget-image-CqvGjdH2.js} +5 -5
  82. package/dist/{widget-line-CrOS0l_-.js → widget-line-CBXxpl7f.js} +2 -2
  83. package/dist/{widget-pagination-wCWG30o6.js → widget-pagination-DcPVAkyB.js} +5 -5
  84. package/dist/{widget-power-ayN9em_Q.js → widget-power-Cq2O_Nhv.js} +3 -3
  85. package/dist/{widget-qrcode-CZatrCp4.js → widget-qrcode-nH4o7lHq.js} +3 -3
  86. package/dist/{widget-rangelimit-CzboyNIZ.js → widget-rangelimit-BFk1XcbP.js} +3 -3
  87. package/dist/{widget-serialnumber-CHCW116y.js → widget-serialnumber-CkYwampF.js} +1 -1
  88. package/dist/{widget-text-rVl_vy60.js → widget-text-C0OIisGK.js} +5 -5
  89. package/dist/{widget-timediff-BhTa83S9.js → widget-timediff-CeImFor9.js} +2 -2
  90. package/package.json +1 -1
  91. package/dist/paper-widget-design-CEEWgUk_.js +0 -4
  92. 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-eba__tU0.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-BLw_6wwg.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-BLw_6wwg.js";
3
+ import { r as require$$0 } from "./index-BDORrzH1.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-BLw_6wwg.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-e8M3CfRR.js";
4
+ import { Q as PaperWidgeValueType, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BLw_6wwg.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-BLw_6wwg.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-BLw_6wwg.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-eba__tU0.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-eba__tU0.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-B3KBbZsY.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-B3KBbZsY.js";
10
+ import { B as B3, F as F2, M as M3, a as a11, u as u2 } from "../mb-render-Cg1jp9G0.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
@@ -3075,23 +3108,23 @@ export {
3075
3108
  A3 as AllocateTableCore,
3076
3109
  B3 as BaseFormModelFetcher,
3077
3110
  aQ as BinarizeMethodOptions,
3078
- a$ as BindCmpStyleEnum,
3111
+ b0 as BindCmpStyleEnum,
3079
3112
  a1 as BooleanShowMode,
3080
3113
  B2 as BorderTD,
3081
3114
  BpmnNodeTypeEnum,
3082
- bK as BpmnSignatureTypeEnum,
3083
- bL as ButtonTypeEnum,
3115
+ bL as BpmnSignatureTypeEnum,
3116
+ bM as ButtonTypeEnum,
3084
3117
  B as BwipCodeType,
3085
- bM as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3118
+ bN as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3086
3119
  y as CellType,
3087
3120
  ai as CellWidgetViewState,
3088
3121
  CheckDsTypeEnum,
3089
- bN as CodeRunner,
3122
+ bO as CodeRunner,
3090
3123
  ComponentTypeEnum,
3091
- bO as Config_Fields,
3092
- bP as ControlStatusEnum,
3093
- bh as DEVICE_GROUP_QUERY_KEY,
3094
- bQ as DEVICE_SEARCH_API,
3124
+ bP as Config_Fields,
3125
+ bQ as ControlStatusEnum,
3126
+ bi as DEVICE_GROUP_QUERY_KEY,
3127
+ bR as DEVICE_SEARCH_API,
3095
3128
  aT as DateFormat,
3096
3129
  ay as DecimalDisplayMode,
3097
3130
  aP as DenoiseMethodOptions,
@@ -3100,7 +3133,7 @@ export {
3100
3133
  e as DeviceLinkTmplUtil,
3101
3134
  aN as DeviceParamsTypeTitle,
3102
3135
  D as DevicePartConsumeTableCore,
3103
- bR as DeviceStatus,
3136
+ bS as DeviceStatus,
3104
3137
  aj as DiagonalDirection,
3105
3138
  an as DiagonalVertex,
3106
3139
  _ as DocumentLayout,
@@ -3108,8 +3141,8 @@ export {
3108
3141
  L2 as DocumentPaper,
3109
3142
  a8 as DynamicQuickFillModal,
3110
3143
  O2 as DynamicTableAction,
3111
- bS as EBR_PROVIDE_ENUM,
3112
- bT as EFieldBizTypeEnum,
3144
+ bT as EBR_PROVIDE_ENUM,
3145
+ bU as EFieldBizTypeEnum,
3113
3146
  E as EMPTY_PRODUCT_VERSION_ID,
3114
3147
  aG as EmptySymbol,
3115
3148
  a3 as FallbackSignTypeEnum,
@@ -3130,7 +3163,7 @@ export {
3130
3163
  a0 as LabelPosition,
3131
3164
  al as LineDirection,
3132
3165
  L as LineType,
3133
- bU as MAX_FRONT_ROW_KEY_LENGTH,
3166
+ bV as MAX_FRONT_ROW_KEY_LENGTH,
3134
3167
  M as MAX_RUNTIME_SHEETS,
3135
3168
  a as MAX_RUNTIME_SHEET_TITLE_LENGTH,
3136
3169
  M3 as MBRender,
@@ -3142,10 +3175,10 @@ export {
3142
3175
  M2 as MaterialRequisitionTableCore,
3143
3176
  MaterialStatusEnum,
3144
3177
  a10 as MaterialSubstitutionTableCore,
3145
- bV as MobileFillTypeEnum,
3178
+ bW as MobileFillTypeEnum,
3146
3179
  NCB_PROVIDE,
3147
3180
  af as OCR_MODEL_PRECISION_ENUM_KEY,
3148
- bW as OfficeTypeEnum,
3181
+ bX as OfficeTypeEnum,
3149
3182
  O as Orientation,
3150
3183
  p as PageSizeEnum,
3151
3184
  P as PaginationFormat,
@@ -3155,10 +3188,10 @@ export {
3155
3188
  A as ParamModelTypeEnum,
3156
3189
  P2 as PartStocktakeTableCore,
3157
3190
  PlatformEnum,
3158
- bX as PosEnum,
3159
- b3 as PretreatmentListTableCore,
3191
+ bY as PosEnum,
3192
+ b4 as PretreatmentListTableCore,
3160
3193
  c10 as ProfileDrivenSubTableCore,
3161
- bY as RUNTIME_COLUMN_ROW_KEY,
3194
+ bZ as RUNTIME_COLUMN_ROW_KEY,
3162
3195
  ax as RangeCompareOp,
3163
3196
  aw as RangeValidateMode,
3164
3197
  RenderModeEnum,
@@ -3183,7 +3216,7 @@ export {
3183
3216
  am2 as SubTableCore,
3184
3217
  SubTableCoreFactory,
3185
3218
  f as SubTableType,
3186
- bZ as SummaryApproveHisTypeEnum,
3219
+ b_ as SummaryApproveHisTypeEnum,
3187
3220
  am as TimeDiffFormat,
3188
3221
  aq as ViewTypeEnum,
3189
3222
  W as WarehouseInTableCore,
@@ -3191,18 +3224,18 @@ export {
3191
3224
  g as WarehouseOutTableCore,
3192
3225
  h2 as WarehouseOutboundTableCore,
3193
3226
  ak as WidgetImageSizeMode,
3194
- b_ as applyCheckDsDataToRuntime,
3227
+ b$ as applyCheckDsDataToRuntime,
3195
3228
  w as applyConsumeObjectTraceChange,
3196
- b$ as applyMedProCheckDsDataToRuntime,
3229
+ c0 as applyMedProCheckDsDataToRuntime,
3197
3230
  baseDataUtils,
3198
- c0 as bindRuntimeTableColumns,
3199
- c1 as buildDeviceBaseQuery,
3200
- bg as buildDeviceFilterQuery,
3231
+ c1 as bindRuntimeTableColumns,
3232
+ c2 as buildDeviceBaseQuery,
3233
+ bh as buildDeviceFilterQuery,
3201
3234
  an2 as buildFormChangeDisplayRows,
3202
3235
  m as buildObjectLotExtraQuery,
3203
3236
  buildRuntimeFieldPath,
3204
- c2 as calcFillData,
3205
- c3 as calcUtils,
3237
+ c3 as calcFillData,
3238
+ c4 as calcUtils,
3206
3239
  calculateFormula,
3207
3240
  collectAnnotationItemsByLocation,
3208
3241
  collectFormChangeFieldLocations,
@@ -3211,65 +3244,65 @@ export {
3211
3244
  ao2 as convertV1Runtime,
3212
3245
  c as createRuntimeDocumentV2,
3213
3246
  createRuntimeInstanceContext,
3214
- c4 as decodeTableCellRowKey,
3247
+ c5 as decodeTableCellRowKey,
3215
3248
  ap as detailsHaveFormChangeRowOps,
3216
- c5 as encodeTableCellRowKey,
3249
+ c6 as encodeTableCellRowKey,
3217
3250
  enrichFormChangeRowDetails,
3218
- c6 as ensureFrontRowKey,
3219
- c7 as ensureTableRowKeys,
3251
+ c7 as ensureFrontRowKey,
3252
+ c8 as ensureTableRowKeys,
3220
3253
  aq2 as extractFormChangeRowDetails,
3221
- c8 as extractKeywordFromQueryData,
3222
- c9 as fetchCheckDsDataForTable,
3223
- ca as fetchCustomCheckDsData,
3254
+ c9 as extractKeywordFromQueryData,
3255
+ ca as fetchCheckDsDataForTable,
3256
+ cb as fetchCustomCheckDsData,
3224
3257
  fetchHistoryConsume,
3225
- cb as fetchMedProCheckDsData,
3258
+ cc as fetchMedProCheckDsData,
3226
3259
  fetchOperationReceiveQty,
3227
3260
  fetchUdi,
3228
3261
  filterAnnotationItemsUpToCurrent,
3229
- bl as findRuntimeParentRow,
3230
- cc as findRuntimeTableCell,
3262
+ bm as findRuntimeParentRow,
3263
+ cd as findRuntimeTableCell,
3231
3264
  findRuntimeTableRow,
3232
3265
  getAppInfo,
3233
3266
  getBusinessFieldKey,
3234
- cd as getCheckTableSnapshotKey,
3267
+ ce as getCheckTableSnapshotKey,
3235
3268
  ar as getFormChangeRowKey,
3236
3269
  as as getFormChangeRowOp,
3237
3270
  aZ as getLotLockedReason,
3238
3271
  l as getObjectBomMaterialLotQuery,
3239
3272
  x as getObjectBomProductQuery,
3240
3273
  getParseFormulaVarInfos,
3241
- ce as getParseRuleConfig,
3242
- b0 as getParseRuleInfo,
3243
- b1 as getParseRuleValue,
3244
- cf as getReinspectionDate,
3245
- cg as getRenderedRuntimeTableCell,
3274
+ cf as getParseRuleConfig,
3275
+ b1 as getParseRuleInfo,
3276
+ b2 as getParseRuleValue,
3277
+ cg as getReinspectionDate,
3278
+ ch as getRenderedRuntimeTableCell,
3246
3279
  getRuntimeDataFieldId,
3247
3280
  getRuntimeDependencyOutputKey,
3248
3281
  at as getSubTableQuickFillInfo,
3249
3282
  getSuiteKey,
3250
- ch as handleOldConfig,
3251
- ci as hasAnyCheckTableSnapshot,
3252
- cj as hasByTableCheckTableSnapshot,
3253
- ck as hasSharedCheckTableSnapshot,
3283
+ ci as handleOldConfig,
3284
+ cj as hasAnyCheckTableSnapshot,
3285
+ ck as hasByTableCheckTableSnapshot,
3286
+ cl as hasSharedCheckTableSnapshot,
3254
3287
  au as isAnnLocationSelected,
3255
3288
  av as isBlank,
3256
3289
  isBomGranted,
3257
3290
  isEdhrSuite,
3258
3291
  isEqmSuite,
3259
3292
  aw2 as isFormChangeGhostRow,
3260
- cl as isMedProSuite,
3293
+ cm as isMedProSuite,
3261
3294
  isRowAddedInCurrentFormChange,
3262
- cm as isTableRowKeyMatch,
3263
- cn as jsonSchemaUtils,
3264
- co as judgeUnique,
3295
+ cn as isTableRowKeyMatch,
3296
+ co as jsonSchemaUtils,
3297
+ cp as judgeUnique,
3265
3298
  aY as materialCheck,
3266
- cp as migrateDiagonalDirectionToVertex,
3299
+ cq as migrateDiagonalDirectionToVertex,
3267
3300
  nextFormChangeRowViewHistoryId,
3268
3301
  f2 as normalizeAIOcrTmpl,
3269
3302
  y2 as normalizeHistoricalAutofillRow,
3270
3303
  d as normalizeHistoricalBusinessRow,
3271
3304
  ax2 as normalizeHistoricalFieldConfig,
3272
- b2 as normalizeRefLoaderResult,
3305
+ b3 as normalizeRefLoaderResult,
3273
3306
  normalizeRuntime,
3274
3307
  parseFrontConfig,
3275
3308
  parseRuntimeFieldPath,
@@ -3277,11 +3310,11 @@ export {
3277
3310
  ay2 as pickObjectFieldKeys,
3278
3311
  az2 as recordSubtableRowAdd,
3279
3312
  aA as recordSubtableRowDelete,
3280
- be as refUtils,
3281
- cq as relocateDeletedRowsToEnd,
3313
+ bf as refUtils,
3314
+ cr as relocateDeletedRowsToEnd,
3282
3315
  renderUtils,
3283
- cr as requestMedProCheckDsData,
3284
- cs as requestNonMedProCheckDsData,
3316
+ cs as requestMedProCheckDsData,
3317
+ ct as requestNonMedProCheckDsData,
3285
3318
  aB as resolveAnnotationFieldLocation,
3286
3319
  ao as resolveDiagonalVertex,
3287
3320
  t as resolveFieldRenderComponent,
@@ -3295,7 +3328,7 @@ export {
3295
3328
  aE as setSelectMobileTdId,
3296
3329
  s as setSelectValidatorId,
3297
3330
  aS as sqlUtils,
3298
- ct as stockCheck,
3331
+ cu as stockCheck,
3299
3332
  aF as stripLegacyFormConfigFromPaper,
3300
3333
  transformUtils,
3301
3334
  C as useDependency,
@@ -3306,8 +3339,8 @@ export {
3306
3339
  useMaterialBalance,
3307
3340
  useNocodeEmitter,
3308
3341
  t2 as useNocodeFormWidget,
3309
- cu as useOnlineFormActionButton,
3310
- bm as useOnlineFormTransformField2Component,
3342
+ cv as useOnlineFormActionButton,
3343
+ bn as useOnlineFormTransformField2Component,
3311
3344
  useRenderPageFactory,
3312
3345
  G as useRuntimeEditorFlusher,
3313
3346
  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-e8M3CfRR.js";
3
+ import { ao as resolveDiagonalVertex, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-BLw_6wwg.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-BLw_6wwg.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-Cg1jp9G0.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);