@gct-paas/excel 0.1.40-beta.33 → 0.1.40-beta.34

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 (61) hide show
  1. package/dist/{BaseComponent-DxhjB3q7.js → BaseComponent-CotFh3wl.js} +1 -1
  2. package/dist/{VueVideoPlayer-D8ROwh6R.js → VueVideoPlayer-By3W5uFq.js} +1 -1
  3. package/dist/{barcode-design-BgQWAbPg.js → barcode-design-D0IOAbKk.js} +1 -1
  4. package/dist/base/index.es.js +4 -4
  5. package/dist/{diagonal-design-thqBT2R5.js → diagonal-design-JD3C1F-p.js} +1 -1
  6. package/dist/{dynamic-table-action-Bc7yXz3G.js → dynamic-table-action-kbsA8eU-.js} +10 -10
  7. package/dist/excel.css +9 -9
  8. package/dist/{exceljs.min-Bs_MiB-c.js → exceljs.min-BOS8evUq.js} +1 -1
  9. package/dist/{font-editor-Bg0PFKU6.js → font-editor-BYrBiLmN.js} +1 -1
  10. package/dist/{index-DAUzzuMc.js → index--phihR7H.js} +1 -1
  11. package/dist/{index-BVeiNXJu.js → index-8m2CeuN_.js} +1 -1
  12. package/dist/{index-uksJr_Yi.js → index-B41V8zIO.js} +2 -2
  13. package/dist/{index-DO029v0L.js → index-B56djgZT.js} +2 -2
  14. package/dist/{index-CSPZa-Yx.js → index-B7I3ue_s.js} +3 -3
  15. package/dist/{index-BXuWJZET.js → index-B9SbnYGU.js} +1 -1
  16. package/dist/{index-BT26ksf1.js → index-BUGkx1Fz.js} +1 -1
  17. package/dist/{index-BzzDCpIa.js → index-Bln4P71C.js} +55 -35
  18. package/dist/{index-C9rWxn2O.js → index-C3Qu-TVa.js} +1 -1
  19. package/dist/{index-CWPTIlNB.js → index-C6o8mkgS.js} +1 -1
  20. package/dist/{index-DMVZNwaY.js → index-C7S9Hzfg.js} +2 -2
  21. package/dist/{index-YzpTNb9E.js → index-C9HZXpt3.js} +1 -1
  22. package/dist/{index-CsF-c8Ig.js → index-CD5G25V0.js} +1 -1
  23. package/dist/{index-Bh2jNQCB.js → index-CKrmNOOO.js} +1 -1
  24. package/dist/{index-BmdUEx5G.js → index-CR6YSkyp.js} +2 -2
  25. package/dist/{index-CR8YuUTK.js → index-ClxAruOv.js} +2 -2
  26. package/dist/{index-Dy0K-wRi.js → index-D8xgs0M-.js} +1 -1
  27. package/dist/{index-BEZ491o7.js → index-DSlVhqO2.js} +1 -1
  28. package/dist/{index-CctUmK0i.js → index-DX3Y_oWi.js} +1 -1
  29. package/dist/{index-CtVIWevt.js → index-Dokwwqbq.js} +1 -1
  30. package/dist/{index-CvisAU9z.js → index-DuAz6558.js} +1 -1
  31. package/dist/{index-CTGFfYxu.js → index-nkuB_uqS.js} +1 -1
  32. package/dist/{index-DDv6kGJ1.js → index-nm5S2sKS.js} +2 -2
  33. package/dist/{index-CHXZ0Jx4.js → index-opa93Vh4.js} +1 -1
  34. package/dist/index.es.js +1 -1
  35. package/dist/{pagination-design-DSBkFyKE.js → pagination-design-Cved70Jd.js} +1 -1
  36. package/dist/paper-widget-design-wIRb5dTu.js +4 -0
  37. package/dist/{print-runtime-instance-VkEhvyE2.js → print-runtime-instance-DiySpcpG.js} +1 -1
  38. package/dist/{print-snapshot-renderer-CDWMLRpr.js → print-snapshot-renderer-BWiLAHcw.js} +3 -3
  39. package/dist/{qrcode-design-CuRu8U92.js → qrcode-design-CeF1AAJr.js} +1 -1
  40. package/dist/seal-design-D8-aMZH-.js +4 -0
  41. package/dist/{single-field-drop-SIHeEGRV.js → single-field-drop-CzGVzXtg.js} +1 -1
  42. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +4 -0
  43. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +1 -1
  44. package/dist/{sub-table-factory-DtohfawW.js → sub-table-factory-CQvJXz8J.js} +80 -4
  45. package/dist/{text-design-B45BP7g7.js → text-design-Di1no5yZ.js} +1 -1
  46. package/dist/{trace-like-wrapper-BGPnzRCX.js → trace-like-wrapper-o6SCQuB1.js} +1 -1
  47. package/dist/{value-editor.vue_vue_type_style_index_0_lang-C5AZRekX.js → value-editor.vue_vue_type_style_index_0_lang-mFfXXRiY.js} +1 -1
  48. package/dist/{widget-barcode-BdX11UR3.js → widget-barcode-C1Z1WhXO.js} +2 -2
  49. package/dist/{widget-diagonal-BCgR1cPm.js → widget-diagonal-DNcBWuGv.js} +2 -2
  50. package/dist/{widget-image-BT5eEGg5.js → widget-image-esrnnevi.js} +1 -1
  51. package/dist/{widget-line-CGJQ4U1P.js → widget-line-CKKxk8--.js} +1 -1
  52. package/dist/{widget-pagination-CzzjDbbx.js → widget-pagination-C8wBhUdv.js} +2 -2
  53. package/dist/{widget-power-V2R3qTzb.js → widget-power-_2DeZazg.js} +2 -2
  54. package/dist/{widget-qrcode-DASaSYeb.js → widget-qrcode-B9A_xevM.js} +2 -2
  55. package/dist/{widget-rangelimit-DKj_Exgi.js → widget-rangelimit-BouZ8ZWp.js} +2 -2
  56. package/dist/{widget-serialnumber-C40xoj6C.js → widget-serialnumber-DrrYZOmY.js} +1 -1
  57. package/dist/{widget-text-eOWyJoWF.js → widget-text-0QK_jqAd.js} +3 -3
  58. package/dist/{widget-timediff-CXUbpYxL.js → widget-timediff-BgzxeIC6.js} +1 -1
  59. package/package.json +1 -1
  60. package/dist/paper-widget-design-BuZsRX0C.js +0 -4
  61. package/dist/seal-design-BWTr4KWW.js +0 -4
@@ -1,4 +1,4 @@
1
- import { i as normalizeFieldWidth } from "./dynamic-table-action-Bc7yXz3G.js";
1
+ import { i as normalizeFieldWidth } from "./dynamic-table-action-kbsA8eU-.js";
2
2
  import { get, pick } from "lodash-es";
3
3
  import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
4
4
  import { f as fontStyleAttrs } from "./config.enum-B8UZQTON.js";
@@ -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
2
  import { W as commonjsGlobal, X as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
3
- import { G as require$$0 } from "./index-BzzDCpIa.js";
3
+ import { G as require$$0 } from "./index-Bln4P71C.js";
4
4
  var window_1;
5
5
  var hasRequiredWindow;
6
6
  function requireWindow() {
@@ -1,6 +1,6 @@
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-BzzDCpIa.js";
3
+ import { u as useSpreadSheet, h as useModelFields, l as loadBwip } from "./index-Bln4P71C.js";
4
4
  import { Y as PaperWidgeValueType, ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
@@ -1,12 +1,12 @@
1
1
  import { p as api, a4 as PlatformEnum, by as getRuntimeDataFieldId, F as FIELD_TYPE, bz as listRuntimeFieldRows, bm as getRowId, bn as findRuntimeTableRow, bl as parseRuntimeFieldPath, bA as buildRuntimeFieldPath, bo as RenderModeEnum, C as ComponentTypeEnum, aE as findFieldMain, c as getProfileByTableType, d as getBusinessProfileByRefModelType, b as isBusinessSubTableProfile, aA as RangeValidateMode, bB as isAttachFieldActive, aQ as Dependency_ENUM, aP as ASSIGNMENTSTRATEGY_ENUM, bC as fetchHistoryConsume, bD as isBomGranted, b3 as renderUtils, bx as uuid2, bE as parseFrontConfig, aT as CheckDsTypeEnum, aN as transformUtils, bF as DesignerDefaultValues, bG as baseDataUtils, a1 as FormTypeEnum, bH as normalizeToArray, M as getBusinessFieldKey, bI as safeParseArray, bJ as BpmnNodeTypeEnum, bK as mergeByMultiKey, ae as _export_sfc, bL as evaluateInspectionDecisionRule, bM as RuntimeDefaultValueValidation, bN as useNocodeEmitter, bO as commonUtils, aR as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
2
2
  import { aW, aY, ba, a6, bP, bQ, B, bR, H, am, bS, bT, bU, bk, bV, a$, aF, aX, aU, aV, bW, an, ar, bX, bY, aO, a8, al, aG, aZ, a5, ap, L, bZ, b_, b$, O, t, P, ag, q, Y, K, c0, c1, aB, ab, a7, a9, aa, ac, h, c2, aq, au, ao, c3, c4, c5, c6, aJ, c7, c8, c9, ca, cb, cc, cd, ce, cf, cg, bp, ch, ci, b6, cj, bb, bc, ck, cl, cm, cn, co, cp, cq, cr, cs, ct, b5, cu, bd, aK, cv, cw, as, y, cx, a_, cy, cz, bq, b7 } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
3
- import { l as findFieldProfile, a6 as resolveRuntimeFieldProps, a7 as resolveRuntimeFieldState, a8 as assembleRules, S as calculateFormula, a9 as getRuntimeDependencyOutputKey, aa as isRowAddedInCurrentFormChange, ab as resolveFormulaData, g as getParseFormulaVarInfos, z as MaterialConsumptionPatternEnum, ac as MaterialConsumeTableController, ad as setFormulaParamsConfig, ae as normalizeRuntime, Y as createRuntimeInstanceContext, af as initializeSealFields, X as RuntimeFormStateStore, ag as RuntimeSheetService, ah as validateObjectBomQtyOnSubmit, ai as areValidationCommentsEqual, aj as closeValidatorPopovers, ak as enrichFormChangeRowDetails, R as NCB_PROVIDE, Z as RuntimeInstanceRegistry, al as useMaterialBalance, am as collectFormChangeFieldLocations, an as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-Bc7yXz3G.js";
4
- import { ao as ao2, B as B2, ap as ap2, o, a5 as a52, aq as aq2, a3, ar as ar2, a4, J, as as as2, F, at, au as au2, av, aw, M, a, a0, ax, a1, d, ay, az, aA, aB as aB2, aC, aD, aE, aF as aF2, H as H2, aG as aG2, x, aH, e, aI, aJ as aJ2, aK as aK2, aL, w, I, aM, aN, aO as aO2, aP, p, K as K2, m, aQ, aR, aS, aT, aU as aU2, aV as aV2, aW as aW2, C, y as y2, aX as aX2, E, t as t2, aY as aY2, s, aZ as aZ2, U, V, u, k, G, W, r, v, T, q as q2, A } from "../dynamic-table-action-Bc7yXz3G.js";
3
+ import { l as findFieldProfile, a6 as resolveRuntimeFieldProps, a7 as resolveRuntimeFieldState, a8 as assembleRules, S as calculateFormula, a9 as getRuntimeDependencyOutputKey, aa as isRowAddedInCurrentFormChange, ab as resolveFormulaData, g as getParseFormulaVarInfos, z as MaterialConsumptionPatternEnum, ac as MaterialConsumeTableController, ad as setFormulaParamsConfig, ae as normalizeRuntime, Y as createRuntimeInstanceContext, af as initializeSealFields, X as RuntimeFormStateStore, ag as RuntimeSheetService, ah as validateObjectBomQtyOnSubmit, ai as areValidationCommentsEqual, aj as closeValidatorPopovers, ak as enrichFormChangeRowDetails, R as NCB_PROVIDE, Z as RuntimeInstanceRegistry, al as useMaterialBalance, am as collectFormChangeFieldLocations, an as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-kbsA8eU-.js";
4
+ import { ao as ao2, B as B2, ap as ap2, o, a5 as a52, aq as aq2, a3, ar as ar2, a4, J, as as as2, F, at, au as au2, av, aw, M, a, a0, ax, a1, d, ay, az, aA, aB as aB2, aC, aD, aE, aF as aF2, H as H2, aG as aG2, x, aH, e, aI, aJ as aJ2, aK as aK2, aL, w, I, aM, aN, aO as aO2, aP, p, K as K2, m, aQ, aR, aS, aT, aU as aU2, aV as aV2, aW as aW2, C, y as y2, aX as aX2, E, t as t2, aY as aY2, s, aZ as aZ2, U, V, u, k, G, W, r, v, T, q as q2, A } from "../dynamic-table-action-kbsA8eU-.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 { isEqual, cloneDeep, defaults, isEmpty, merge, get } from "lodash-es";
7
7
  import "dayjs";
8
- import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-DtohfawW.js";
9
- import { A as A2, D, M as M2, a as a2, P as P2, b, c, d as d2, e as e2, W as W2, f, g, h as h2 } from "../sub-table-factory-DtohfawW.js";
8
+ import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-CQvJXz8J.js";
9
+ import { A as A2, D, M as M2, a as a2, P as P2, b, c, d as d2, e as e2, W as W2, f, g, h as h2 } from "../sub-table-factory-CQvJXz8J.js";
10
10
  import { createDataSourceManager, getLegacyFieldFillTargets, createFieldFillRuntime, buildFieldFillTableRows, buildFieldFillRows, isFieldFillTargetProtected, getFieldFillTable, getFieldFillColumn, buildDataSourceContext } from "@gct-paas/form-base";
11
11
  const InstanceStatusValues = {
12
12
  /** 作废状态 */
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createBlock } from "vue";
2
- import { h as useModelFields, D as Diagonal } from "./index-BzzDCpIa.js";
2
+ import { h as useModelFields, D as Diagonal } from "./index-Bln4P71C.js";
3
3
  import { as as resolveDiagonalVertex, ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
4
4
  import "lodash-es";
5
5
  import "dayjs";
@@ -11244,16 +11244,16 @@ export {
11244
11244
  bindFormulaCacheInvalidation as b,
11245
11245
  SubTableActionEnum as b0,
11246
11246
  resolveScanFillData as b1,
11247
- buildDefaultMapFromProfile as b2,
11248
- buildFieldStatusFromProfile as b3,
11249
- getRowHandlersForFieldChange as b4,
11250
- getInsertSubMenu as b5,
11251
- resolveScanAdjustType as b6,
11252
- resolveScanQty as b7,
11253
- toDateOnly as b8,
11254
- hasSubtableBusinessData as b9,
11255
- getCopySubMenu as ba,
11256
- resolveScanParsedValue as bb,
11247
+ resolveScanParsedValue as b2,
11248
+ buildDefaultMapFromProfile as b3,
11249
+ buildFieldStatusFromProfile as b4,
11250
+ getRowHandlersForFieldChange as b5,
11251
+ getInsertSubMenu as b6,
11252
+ resolveScanAdjustType as b7,
11253
+ resolveScanQty as b8,
11254
+ toDateOnly as b9,
11255
+ hasSubtableBusinessData as ba,
11256
+ getCopySubMenu as bb,
11257
11257
  isProductBatchEmptyRow as bc,
11258
11258
  currentParamsConfig as c,
11259
11259
  MULTI_SHEET_SCHEMA_VERSION as d,
package/dist/excel.css CHANGED
@@ -21832,30 +21832,30 @@ svg[data-v-9a7c8184] {
21832
21832
  .base-vxe-search-form-container .ant-input-affix-wrapper[data-v-f451e686] .ant-input {
21833
21833
  background: #f6f8fa;
21834
21834
  }
21835
- .has-scan-icon[data-v-7fa94416] .ant-select-selector {
21835
+ .has-scan-icon[data-v-834ad328] .ant-select-selector {
21836
21836
  padding-right: 34px !important;
21837
21837
  }
21838
- .has-scan-icon[data-v-7fa94416] .ant-select-arrow {
21838
+ .has-scan-icon[data-v-834ad328] .ant-select-arrow {
21839
21839
  display: flex;
21840
21840
  align-items: center;
21841
21841
  gap: 4px;
21842
21842
  width: auto;
21843
21843
  pointer-events: auto;
21844
21844
  }
21845
- .has-scan-icon[data-v-7fa94416] .ant-select-arrow .icon-saoma1 {
21845
+ .has-scan-icon[data-v-834ad328] .ant-select-arrow .icon-saoma1 {
21846
21846
  font-size: 14px;
21847
21847
  cursor: pointer;
21848
21848
  }
21849
- .has-scan-icon[data-v-7fa94416] .ant-select-arrow .icon-saoma1:hover {
21849
+ .has-scan-icon[data-v-834ad328] .ant-select-arrow .icon-saoma1:hover {
21850
21850
  color: var(--ant-primary-color);
21851
21851
  }
21852
- .has-scan-icon[data-v-7fa94416]:has(.ant-select-clear):hover .ant-select-arrow {
21852
+ .has-scan-icon[data-v-834ad328]:has(.ant-select-clear):hover .ant-select-arrow {
21853
21853
  visibility: hidden;
21854
21854
  }
21855
- [data-v-7fa94416] .gct-edhr-custom-popover .ant-popover-inner {
21855
+ [data-v-834ad328] .gct-edhr-custom-popover .ant-popover-inner {
21856
21856
  overflow: visible;
21857
21857
  }
21858
- [data-v-7fa94416] .gct-edhr-custom-popover .ant-popover-inner-content {
21858
+ [data-v-834ad328] .gct-edhr-custom-popover .ant-popover-inner-content {
21859
21859
  overflow: visible;
21860
21860
  }
21861
21861
  .base-vxe-search-form-container[data-v-6d4dac5a] {
@@ -21916,10 +21916,10 @@ svg[data-v-9a7c8184] {
21916
21916
  .base-vxe-search-form-container .ant-input-affix-wrapper[data-v-be7eefec] .ant-input {
21917
21917
  background: #f6f8fa;
21918
21918
  }
21919
- [data-v-965a808f] .gct-edhr-custom-popover .ant-popover-inner {
21919
+ [data-v-10af5364] .gct-edhr-custom-popover .ant-popover-inner {
21920
21920
  overflow: visible;
21921
21921
  }
21922
- [data-v-965a808f] .gct-edhr-custom-popover .ant-popover-inner-content {
21922
+ [data-v-10af5364] .gct-edhr-custom-popover .ant-popover-inner-content {
21923
21923
  overflow: visible;
21924
21924
  }
21925
21925
  .content-highlight[data-v-88ab2e98]::after {
@@ -1,5 +1,5 @@
1
1
  import { W as commonjsGlobal, X as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
2
- import { c as commonjsRequire } from "./index-BzzDCpIa.js";
2
+ import { c as commonjsRequire } from "./index-Bln4P71C.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, unref, normalizeClass, withCtx, normalizeStyle } from "vue";
2
2
  import { A as AlignEditor } from "./align-editor-Wvo1sj8u.js";
3
3
  import { pick } from "lodash-es";
4
- import { z as _sfc_main$1, C as ColorPicker } from "./index-BzzDCpIa.js";
4
+ import { z as _sfc_main$1, C as ColorPicker } from "./index-Bln4P71C.js";
5
5
  import { ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
6
6
  const _hoisted_1 = { class: "ks-row-middle mb-6px" };
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -4,7 +4,7 @@ import { pick } from "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Diagonal extends BaseComponent {
9
9
  component = ComponentTypeEnum.Diagonal;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Userpicker extends BaseComponent {
9
9
  component = ComponentTypeEnum.Userpicker;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,8 +4,8 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
8
- import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, b as isInventoryProductField, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig, I as INVENTORY_QUICK_SEARCH_FIELDS } from "./index-BzzDCpIa.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
+ import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, b as isInventoryProductField, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig, I as INVENTORY_QUICK_SEARCH_FIELDS } from "./index-Bln4P71C.js";
9
9
  class Select extends BaseComponent {
10
10
  component = ComponentTypeEnum.Select;
11
11
  wrapperCmpConfig({ data }) {
@@ -4,8 +4,8 @@ import "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
8
- import { g as getTraceLikeSelectProps } from "./trace-like-wrapper-BGPnzRCX.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
+ import { g as getTraceLikeSelectProps } from "./trace-like-wrapper-o6SCQuB1.js";
9
9
  class AutoComplete extends BaseComponent {
10
10
  component = ComponentTypeEnum.AutoComplete;
11
11
  wrapperCmpConfig({ data }) {
@@ -1,12 +1,12 @@
1
1
  import { get, pick } from "lodash-es";
2
- import { i as normalizeFieldWidth, D as DEFAULT_BOOLEAN_FIELD_WIDTH } from "./dynamic-table-action-Bc7yXz3G.js";
2
+ import { i as normalizeFieldWidth, D as DEFAULT_BOOLEAN_FIELD_WIDTH } from "./dynamic-table-action-kbsA8eU-.js";
3
3
  import { C as ComponentTypeEnum, O as Orientation, a6 as BooleanShowMode, a5 as LabelPosition, ba as BindCmpStyleEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
4
4
  import "vue";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
7
7
  import "ant-design-vue";
8
- import { g as getFieldWidget } from "./index-BzzDCpIa.js";
9
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
8
+ import { g as getFieldWidget } from "./index-Bln4P71C.js";
9
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
10
10
  class Switch extends BaseComponent {
11
11
  component = ComponentTypeEnum.Switch;
12
12
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class UploadImage extends BaseComponent {
9
9
  component = ComponentTypeEnum.UploadImage;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class DynValue extends BaseComponent {
9
9
  component = ComponentTypeEnum.DynValue;
10
10
  wrapperCmpConfig({ data }) {
@@ -6,7 +6,7 @@ import dayjs from "dayjs";
6
6
  import { useFormBaseModal, DataSourceChangeEvent, getBuiltinContextFields, DataSources, FieldFills, closeAllFormBaseModal, FormBaseModalPlugin } from "@gct-paas/form-base";
7
7
  import * as Antd from "ant-design-vue";
8
8
  import { message, Modal, Alert, Empty, InputSearch, Cascader, ConfigProvider, Tooltip as Tooltip$1, Input, Tree, Transfer, Select, Tag, Form, AutoComplete, TimePicker, DatePicker, Textarea, TreeSelect, CheckboxGroup, Checkbox, Radio, RadioGroup } from "ant-design-vue";
9
- import { b as bindFormulaCacheInvalidation, c as currentParamsConfig, M as MAX_RUNTIME_SHEETS, a as MAX_RUNTIME_SHEET_TITLE_LENGTH, d as MULTI_SHEET_SCHEMA_VERSION, n as normalizeGridColumnWidth, g as getParseFormulaVarInfos, e as createRuntimeDocumentV2, f as clampSealPosition, h as normalizeSealDiameter, i as normalizeFieldWidth, D as DEFAULT_BOOLEAN_FIELD_WIDTH, j as isCellAutoLineBreak, B as BorderTD, u as useFormModel, k as useFormTmplConfig, l as findFieldProfile, m as normalizeHistoricalBusinessRow, o as DeviceLinkTmplUtil, p as normalizeAIOcrTmpl, q as useWidgetStaticAttrs, r as useRuntimeInstanceServices, s as setSelectValidatorId, t as setSelectAnnotationId, v as useRuntimeRowState, w as getObjectBomMaterialLotQuery, x as buildObjectLotExtraQuery, y as resolveObjectFieldKeys, F as FormModelController, z as MaterialConsumptionPatternEnum, A as validateObjectBomForScan, C as resolveObjectBomEntry, E as runWithFillProduct, G as useNocodeFormWidget, H as applyConsumeObjectTraceChange, I as getObjectBomProductQuery, J as EMPTY_PRODUCT_VERSION_ID, K as normalizeHistoricalAutofillRow, L as readSealValue, N as isSealStamped, O as stampSealValue, P as isValidSealValue, Q as clearSealValue, R as NCB_PROVIDE, S as calculateFormula, T as useStyles, U as useDependency, V as useFieldPresentation, W as useRuntimeEditorFlusher, X as RuntimeFormStateStore, Y as createRuntimeInstanceContext, Z as RuntimeInstanceRegistry, _ as ScanParamType, $ as RequiredQtyCalcRule, a0 as MBRender, a1 as MCRender, a2 as moveSealValue, a3 as DocumentPaper, a4 as DynamicTableAction, a5 as _sfc_main$6C } from "./dynamic-table-action-Bc7yXz3G.js";
9
+ import { b as bindFormulaCacheInvalidation, c as currentParamsConfig, M as MAX_RUNTIME_SHEETS, a as MAX_RUNTIME_SHEET_TITLE_LENGTH, d as MULTI_SHEET_SCHEMA_VERSION, n as normalizeGridColumnWidth, g as getParseFormulaVarInfos, e as createRuntimeDocumentV2, f as clampSealPosition, h as normalizeSealDiameter, i as normalizeFieldWidth, D as DEFAULT_BOOLEAN_FIELD_WIDTH, j as isCellAutoLineBreak, B as BorderTD, u as useFormModel, k as useFormTmplConfig, l as findFieldProfile, m as normalizeHistoricalBusinessRow, o as DeviceLinkTmplUtil, p as normalizeAIOcrTmpl, q as useWidgetStaticAttrs, r as useRuntimeInstanceServices, s as setSelectValidatorId, t as setSelectAnnotationId, v as useRuntimeRowState, w as getObjectBomMaterialLotQuery, x as buildObjectLotExtraQuery, y as resolveObjectFieldKeys, F as FormModelController, z as MaterialConsumptionPatternEnum, A as validateObjectBomForScan, C as resolveObjectBomEntry, E as runWithFillProduct, G as useNocodeFormWidget, H as applyConsumeObjectTraceChange, I as getObjectBomProductQuery, J as EMPTY_PRODUCT_VERSION_ID, K as normalizeHistoricalAutofillRow, L as readSealValue, N as isSealStamped, O as stampSealValue, P as isValidSealValue, Q as clearSealValue, R as NCB_PROVIDE, S as calculateFormula, T as useStyles, U as useDependency, V as useFieldPresentation, W as useRuntimeEditorFlusher, X as RuntimeFormStateStore, Y as createRuntimeInstanceContext, Z as RuntimeInstanceRegistry, _ as ScanParamType, $ as RequiredQtyCalcRule, a0 as MBRender, a1 as MCRender, a2 as moveSealValue, a3 as DocumentPaper, a4 as DynamicTableAction, a5 as _sfc_main$6C } from "./dynamic-table-action-kbsA8eU-.js";
10
10
  import { S as SEARCH_SEVICE, u as useWebUpload, V as VersionSelect, C as CloseOutlined, E as EmptyImg$2, _ as _sfc_main$6B, P as ProductTypeEnum } from "./online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DAafXJ42.js";
11
11
  import { HttpUtil } from "@gct-paas/api";
12
12
  import { Tooltip, Grid, Table, Column, Icon as Icon$2, Edit, Validator, VxeGrid } from "vxe-table";
@@ -2016,7 +2016,7 @@ function openWindow(url, opt) {
2016
2016
  const FieldPropLabels = Object.entries(FIELD_PROP_LABEL_MAP);
2017
2017
  const FieldTypeLabels = Object.entries(FIELD_TYPE_LABEL_MAP);
2018
2018
  async function createWorkbook() {
2019
- const ExcelJs = (await import("./exceljs.min-Bs_MiB-c.js").then((n) => n.e)).default;
2019
+ const ExcelJs = (await import("./exceljs.min-BOS8evUq.js").then((n) => n.e)).default;
2020
2020
  return new ExcelJs.Workbook();
2021
2021
  }
2022
2022
  class XlsxParser {
@@ -2387,28 +2387,28 @@ class XlsxParser {
2387
2387
  }
2388
2388
  function asyncImportClassModules() {
2389
2389
  const modules = /* @__PURE__ */ Object.assign({
2390
- "./_field_/auto-complete/index.ts": () => import("./index-DO029v0L.js").then((m) => m["default"]),
2391
- "./_field_/datepicker/index.ts": () => import("./index-YzpTNb9E.js").then((m) => m["default"]),
2392
- "./_field_/datetimepicker/index.ts": () => import("./index-CHXZ0Jx4.js").then((m) => m["default"]),
2393
- "./_field_/department/index.ts": () => import("./index-CTGFfYxu.js").then((m) => m["default"]),
2394
- "./_field_/enum-select/index.ts": () => import("./index-DMVZNwaY.js").then((m) => m["default"]),
2395
- "./_field_/input/index.ts": () => import("./index-CvisAU9z.js").then((m) => m["default"]),
2396
- "./_field_/inputdouble/index.ts": () => import("./index-CWPTIlNB.js").then((m) => m["default"]),
2397
- "./_field_/inputnumber/index.ts": () => import("./index-Bh2jNQCB.js").then((m) => m["default"]),
2398
- "./_field_/rdo-select/index.ts": () => import("./index-CR8YuUTK.js").then((m) => m["default"]),
2399
- "./_field_/seal/index.ts": () => import("./index-BmdUEx5G.js").then((m) => m["default"]),
2400
- "./_field_/select/index.ts": () => import("./index-uksJr_Yi.js").then((m) => m["default"]),
2401
- "./_field_/sign/index.ts": () => import("./index-CsF-c8Ig.js").then((m) => m["default"]),
2402
- "./_field_/switch/index.ts": () => import("./index-CSPZa-Yx.js").then((m) => m["default"]),
2403
- "./_field_/textarea/index.ts": () => import("./index-C9rWxn2O.js").then((m) => m["default"]),
2404
- "./_field_/timepicker/index.ts": () => import("./index-BEZ491o7.js").then((m) => m["default"]),
2405
- "./_field_/upload-file/index.ts": () => import("./index-CtVIWevt.js").then((m) => m["default"]),
2406
- "./_field_/upload-image/index.ts": () => import("./index-BXuWJZET.js").then((m) => m["default"]),
2407
- "./_field_/userpicker/index.ts": () => import("./index-BVeiNXJu.js").then((m) => m["default"]),
2390
+ "./_field_/auto-complete/index.ts": () => import("./index-B56djgZT.js").then((m) => m["default"]),
2391
+ "./_field_/datepicker/index.ts": () => import("./index-C9HZXpt3.js").then((m) => m["default"]),
2392
+ "./_field_/datetimepicker/index.ts": () => import("./index-opa93Vh4.js").then((m) => m["default"]),
2393
+ "./_field_/department/index.ts": () => import("./index-nkuB_uqS.js").then((m) => m["default"]),
2394
+ "./_field_/enum-select/index.ts": () => import("./index-C7S9Hzfg.js").then((m) => m["default"]),
2395
+ "./_field_/input/index.ts": () => import("./index-DuAz6558.js").then((m) => m["default"]),
2396
+ "./_field_/inputdouble/index.ts": () => import("./index-C6o8mkgS.js").then((m) => m["default"]),
2397
+ "./_field_/inputnumber/index.ts": () => import("./index-CKrmNOOO.js").then((m) => m["default"]),
2398
+ "./_field_/rdo-select/index.ts": () => import("./index-ClxAruOv.js").then((m) => m["default"]),
2399
+ "./_field_/seal/index.ts": () => import("./index-CR6YSkyp.js").then((m) => m["default"]),
2400
+ "./_field_/select/index.ts": () => import("./index-B41V8zIO.js").then((m) => m["default"]),
2401
+ "./_field_/sign/index.ts": () => import("./index-CD5G25V0.js").then((m) => m["default"]),
2402
+ "./_field_/switch/index.ts": () => import("./index-B7I3ue_s.js").then((m) => m["default"]),
2403
+ "./_field_/textarea/index.ts": () => import("./index-C3Qu-TVa.js").then((m) => m["default"]),
2404
+ "./_field_/timepicker/index.ts": () => import("./index-DSlVhqO2.js").then((m) => m["default"]),
2405
+ "./_field_/upload-file/index.ts": () => import("./index-Dokwwqbq.js").then((m) => m["default"]),
2406
+ "./_field_/upload-image/index.ts": () => import("./index-B9SbnYGU.js").then((m) => m["default"]),
2407
+ "./_field_/userpicker/index.ts": () => import("./index-8m2CeuN_.js").then((m) => m["default"]),
2408
2408
  "./_widget_/barcode/index.ts": () => import("./index-B8RwUwjv.js").then((m) => m["default"]),
2409
- "./_widget_/combine-fields/index.ts": () => import("./index-CctUmK0i.js").then((m) => m["default"]),
2410
- "./_widget_/diagonal/index.ts": () => import("./index-DAUzzuMc.js").then((m) => m["default"]),
2411
- "./_widget_/dyn-value/index.ts": () => import("./index-BT26ksf1.js").then((m) => m["default"]),
2409
+ "./_widget_/combine-fields/index.ts": () => import("./index-DX3Y_oWi.js").then((m) => m["default"]),
2410
+ "./_widget_/diagonal/index.ts": () => import("./index--phihR7H.js").then((m) => m["default"]),
2411
+ "./_widget_/dyn-value/index.ts": () => import("./index-BUGkx1Fz.js").then((m) => m["default"]),
2412
2412
  "./_widget_/image/index.ts": () => import("./index-VyXT9Zho.js").then((m) => m["default"]),
2413
2413
  "./_widget_/line/index.ts": () => import("./index-BVpn4h4X.js").then((m) => m["default"]),
2414
2414
  "./_widget_/power/index.ts": () => import("./index-C4Dwu_PF.js").then((m) => m["default"]),
@@ -2418,8 +2418,8 @@ function asyncImportClassModules() {
2418
2418
  "./_widget_/sub-table/index.ts": () => import("./index-BfVfmEwC.js").then((m) => m["default"]),
2419
2419
  "./_widget_/timediff/index.ts": () => import("./index-WkRaeG4c.js").then((m) => m["default"]),
2420
2420
  "./paper/index.ts": () => import("./index-CNsrOwaF.js").then((m) => m["default"]),
2421
- "./td/index.ts": () => import("./index-DDv6kGJ1.js").then((m) => m["default"]),
2422
- "./tr/index.ts": () => import("./index-Dy0K-wRi.js").then((m) => m["default"])
2421
+ "./td/index.ts": () => import("./index-nm5S2sKS.js").then((m) => m["default"]),
2422
+ "./tr/index.ts": () => import("./index-D8xgs0M-.js").then((m) => m["default"])
2423
2423
  });
2424
2424
  return modules;
2425
2425
  }
@@ -16260,7 +16260,7 @@ function asyncImportWidgetConfigList() {
16260
16260
  return widgetConfigList;
16261
16261
  }
16262
16262
  function asyncImportWidgetDesign() {
16263
- const modules = /* @__PURE__ */ Object.assign({ "../__cell_widgets__/cell-widget-design.vue": () => Promise.resolve().then(() => cellWidgetDesign), "../__cell_widgets__/seal/seal-design.vue": () => import("./seal-design-BWTr4KWW.js"), "./barcode/barcode-design.vue": () => import("./barcode-design-BgQWAbPg.js"), "./diagonal/diagonal-design.vue": () => import("./diagonal-design-thqBT2R5.js"), "./image/image-design.vue": () => import("./image-design-OhBdKUs2.js"), "./line/line-design.vue": () => Promise.resolve().then(() => lineDesign), "./pagination/pagination-design.vue": () => import("./pagination-design-DSBkFyKE.js"), "./paper-widget-design.vue": () => import("./paper-widget-design-BuZsRX0C.js"), "./power/power-design.vue": () => Promise.resolve().then(() => powerDesign), "./qrcode/qrcode-design.vue": () => import("./qrcode-design-CuRu8U92.js"), "./rangelimit/rangelimit-design.vue": () => Promise.resolve().then(() => rangelimitDesign), "./serialnumber/serialnumber-design.vue": () => import("./serialnumber-design-CUkjBnDt.js"), "./text/text-design.vue": () => import("./text-design-B45BP7g7.js"), "./timediff/timediff-design.vue": () => import("./timediff-design-kEIo8l2p.js") });
16263
+ const modules = /* @__PURE__ */ Object.assign({ "../__cell_widgets__/cell-widget-design.vue": () => Promise.resolve().then(() => cellWidgetDesign), "../__cell_widgets__/seal/seal-design.vue": () => import("./seal-design-D8-aMZH-.js"), "./barcode/barcode-design.vue": () => import("./barcode-design-D0IOAbKk.js"), "./diagonal/diagonal-design.vue": () => import("./diagonal-design-JD3C1F-p.js"), "./image/image-design.vue": () => import("./image-design-OhBdKUs2.js"), "./line/line-design.vue": () => Promise.resolve().then(() => lineDesign), "./pagination/pagination-design.vue": () => import("./pagination-design-Cved70Jd.js"), "./paper-widget-design.vue": () => import("./paper-widget-design-wIRb5dTu.js"), "./power/power-design.vue": () => Promise.resolve().then(() => powerDesign), "./qrcode/qrcode-design.vue": () => import("./qrcode-design-CeF1AAJr.js"), "./rangelimit/rangelimit-design.vue": () => Promise.resolve().then(() => rangelimitDesign), "./serialnumber/serialnumber-design.vue": () => import("./serialnumber-design-CUkjBnDt.js"), "./text/text-design.vue": () => import("./text-design-Di1no5yZ.js"), "./timediff/timediff-design.vue": () => import("./timediff-design-kEIo8l2p.js") });
16264
16264
  const widgetDesignMap = Object.keys(modules).reduce((map2, path) => {
16265
16265
  const mKey = path.match(/\/([a-z]+)-design\.vue$/)?.[1];
16266
16266
  if (mKey) {
@@ -56837,7 +56837,7 @@ const _sfc_main$3v = /* @__PURE__ */ defineComponent({
56837
56837
  }
56838
56838
  });
56839
56839
  function asyncImportWidgetProp() {
56840
- const modules = /* @__PURE__ */ Object.assign({ "./widget-barcode.vue": () => import("./widget-barcode-BdX11UR3.js"), "./widget-diagonal.vue": () => import("./widget-diagonal-BCgR1cPm.js"), "./widget-image.vue": () => import("./widget-image-BT5eEGg5.js"), "./widget-line.vue": () => import("./widget-line-CGJQ4U1P.js"), "./widget-pagination.vue": () => import("./widget-pagination-CzzjDbbx.js"), "./widget-power.vue": () => import("./widget-power-V2R3qTzb.js"), "./widget-qrcode.vue": () => import("./widget-qrcode-DASaSYeb.js"), "./widget-rangelimit.vue": () => import("./widget-rangelimit-DKj_Exgi.js"), "./widget-serialnumber.vue": () => import("./widget-serialnumber-C40xoj6C.js"), "./widget-text.vue": () => import("./widget-text-eOWyJoWF.js"), "./widget-timediff.vue": () => import("./widget-timediff-CXUbpYxL.js") });
56840
+ const modules = /* @__PURE__ */ Object.assign({ "./widget-barcode.vue": () => import("./widget-barcode-C1Z1WhXO.js"), "./widget-diagonal.vue": () => import("./widget-diagonal-DNcBWuGv.js"), "./widget-image.vue": () => import("./widget-image-esrnnevi.js"), "./widget-line.vue": () => import("./widget-line-CKKxk8--.js"), "./widget-pagination.vue": () => import("./widget-pagination-C8wBhUdv.js"), "./widget-power.vue": () => import("./widget-power-_2DeZazg.js"), "./widget-qrcode.vue": () => import("./widget-qrcode-B9A_xevM.js"), "./widget-rangelimit.vue": () => import("./widget-rangelimit-BouZ8ZWp.js"), "./widget-serialnumber.vue": () => import("./widget-serialnumber-DrrYZOmY.js"), "./widget-text.vue": () => import("./widget-text-0QK_jqAd.js"), "./widget-timediff.vue": () => import("./widget-timediff-BgzxeIC6.js") });
56841
56841
  const widgetPropMap = Object.keys(modules).reduce((map2, path) => {
56842
56842
  const mKey = path.match(/\/widget-([a-z]+)\.vue$/)?.[1];
56843
56843
  if (mKey) {
@@ -69020,8 +69020,12 @@ const _sfc_main$2h = /* @__PURE__ */ defineComponent({
69020
69020
  }
69021
69021
  watch(
69022
69022
  () => [props2.value, parentDisplayLabel.value],
69023
- () => {
69023
+ ([value], previous) => {
69024
69024
  if (suppressDisplayWriteback) return;
69025
+ if (previous && value !== previous[0]) {
69026
+ clearBlurCommitTimer();
69027
+ isManualInput = false;
69028
+ }
69025
69029
  syncInputTextFromModel();
69026
69030
  },
69027
69031
  { immediate: true }
@@ -69039,6 +69043,8 @@ const _sfc_main$2h = /* @__PURE__ */ defineComponent({
69039
69043
  }
69040
69044
  inputText.value = val;
69041
69045
  if (val === void 0 || val === null || val === "") {
69046
+ clearBlurCommitTimer();
69047
+ fetchSeq += 1;
69042
69048
  isManualInput = false;
69043
69049
  emit2("update:value", null);
69044
69050
  patchRow({ [idFieldKey]: null, [`${field}_lb_`]: null }, "user");
@@ -69102,12 +69108,19 @@ const _sfc_main$2h = /* @__PURE__ */ defineComponent({
69102
69108
  );
69103
69109
  state.data = [{ label: label || keyword2, value: keyword2 }];
69104
69110
  setDisplayText(label || keyword2);
69111
+ return record;
69105
69112
  } catch (e) {
69106
69113
  console.error(e);
69107
69114
  }
69108
69115
  }
69109
69116
  function onAutoChange(val) {
69110
69117
  if (suppressDisplayWriteback) return;
69118
+ if (val === void 0 || val === null || val === "") {
69119
+ isManualInput = false;
69120
+ emit2("change");
69121
+ searchTable();
69122
+ return;
69123
+ }
69111
69124
  if (!isManualInput && parentDisplayLabel.value && val === parentDisplayLabel.value && props2.value && val !== props2.value) {
69112
69125
  return;
69113
69126
  }
@@ -69143,8 +69156,10 @@ const _sfc_main$2h = /* @__PURE__ */ defineComponent({
69143
69156
  } else {
69144
69157
  emit2("update:value", typed);
69145
69158
  void (async () => {
69146
- await fetchIdByName(typed);
69159
+ const record = await fetchIdByName(typed);
69160
+ if (props2.value !== typed) return;
69147
69161
  emit2("change", {
69162
+ ...record,
69148
69163
  name_: typed,
69149
69164
  __VALUE__: typed,
69150
69165
  id_: props2.formData[idFieldKey]
@@ -69309,8 +69324,10 @@ const _sfc_main$2h = /* @__PURE__ */ defineComponent({
69309
69324
  if (field) row[field] = materialNo;
69310
69325
  runWithFillProduct(() => patchRow(row, "user"));
69311
69326
  isManualInput = false;
69312
- await fetchIdByName(materialNo);
69327
+ const record = await fetchIdByName(materialNo);
69328
+ if (props2.formData[field] !== materialNo) return;
69313
69329
  emit2("change", {
69330
+ ...record,
69314
69331
  __VALUE__: materialNo,
69315
69332
  id_: props2.formData[idFieldKey]
69316
69333
  });
@@ -69457,7 +69474,7 @@ const _sfc_main$2h = /* @__PURE__ */ defineComponent({
69457
69474
  };
69458
69475
  }
69459
69476
  });
69460
- const TraceLotSelect = /* @__PURE__ */ _export_sfc(_sfc_main$2h, [["__scopeId", "data-v-7fa94416"]]);
69477
+ const TraceLotSelect = /* @__PURE__ */ _export_sfc(_sfc_main$2h, [["__scopeId", "data-v-834ad328"]]);
69461
69478
  const _hoisted_1$1e = { class: "search-actions" };
69462
69479
  const _sfc_main$2g = /* @__PURE__ */ defineComponent({
69463
69480
  __name: "sterilize-lot-select-table",
@@ -70131,6 +70148,9 @@ const _sfc_main$2d = /* @__PURE__ */ defineComponent({
70131
70148
  const id = record?.id_ ?? null;
70132
70149
  if (source === "async") markRowFieldUserModified(idFieldKey);
70133
70150
  setRowField(idFieldKey, id, source);
70151
+ if (source === "async" && record) {
70152
+ emit2("change", { ...record, __VALUE__: keyword2 });
70153
+ }
70134
70154
  } catch (e) {
70135
70155
  console.error(e);
70136
70156
  }
@@ -70239,7 +70259,7 @@ const _sfc_main$2d = /* @__PURE__ */ defineComponent({
70239
70259
  };
70240
70260
  }
70241
70261
  });
70242
- const TraceMaterialLotSelect = /* @__PURE__ */ _export_sfc(_sfc_main$2d, [["__scopeId", "data-v-965a808f"]]);
70262
+ const TraceMaterialLotSelect = /* @__PURE__ */ _export_sfc(_sfc_main$2d, [["__scopeId", "data-v-10af5364"]]);
70243
70263
  const _sfc_main$2c = /* @__PURE__ */ defineComponent({
70244
70264
  __name: "auto-complete-render",
70245
70265
  props: {
@@ -74486,7 +74506,7 @@ const VuePdf = /* @__PURE__ */ defineComponent({
74486
74506
  }
74487
74507
  });
74488
74508
  const VueVideoPlayer = defineAsyncComponent(
74489
- () => import("./VueVideoPlayer-D8ROwh6R.js")
74509
+ () => import("./VueVideoPlayer-By3W5uFq.js")
74490
74510
  );
74491
74511
  const _hoisted_1$18 = {
74492
74512
  key: 0,
@@ -96183,8 +96203,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
96183
96203
  printTask = (async () => {
96184
96204
  if (document.activeElement instanceof HTMLElement) document.activeElement.blur();
96185
96205
  await nextTick();
96186
- const { printRuntimeInstance } = await import("./print-runtime-instance-VkEhvyE2.js");
96187
- const { default: renderer } = await import("./print-snapshot-renderer-CDWMLRpr.js");
96206
+ const { printRuntimeInstance } = await import("./print-runtime-instance-DiySpcpG.js");
96207
+ const { default: renderer } = await import("./print-snapshot-renderer-BWiLAHcw.js");
96188
96208
  if (abort.signal.aborted) throw new Error("打印已取消");
96189
96209
  printRenderer.value = markRaw(renderer);
96190
96210
  await printRuntimeInstance(
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Textarea extends BaseComponent {
9
9
  component = ComponentTypeEnum.Textarea;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class InputDouble extends BaseComponent {
9
9
  component = ComponentTypeEnum.InputDouble;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,8 +4,8 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
8
- import { g as getFieldWidget } from "./index-BzzDCpIa.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
+ import { g as getFieldWidget } from "./index-Bln4P71C.js";
9
9
  class EnumSelect extends BaseComponent {
10
10
  component = ComponentTypeEnum.EnumSelect;
11
11
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Datepicker extends BaseComponent {
9
9
  component = ComponentTypeEnum.Datepicker;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Sign extends BaseComponent {
9
9
  component = ComponentTypeEnum.Sign;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class InputNumber extends BaseComponent {
9
9
  component = ComponentTypeEnum.Inputnumber;
10
10
  wrapperCmpConfig({ data }) {
@@ -2,10 +2,10 @@ import { C as ComponentTypeEnum } from "./dynamic-table-action.vue_vue_type_styl
2
2
  import "vue";
3
3
  import "lodash-es";
4
4
  import "dayjs";
5
- import { h as normalizeSealDiameter } from "./dynamic-table-action-Bc7yXz3G.js";
5
+ import { h as normalizeSealDiameter } from "./dynamic-table-action-kbsA8eU-.js";
6
6
  import "@gct-paas/form-base";
7
7
  import "ant-design-vue";
8
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
8
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
9
9
  class Seal extends BaseComponent {
10
10
  component = ComponentTypeEnum.Seal;
11
11
  wrapperCmpConfig({ data }) {
@@ -4,8 +4,8 @@ import "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
8
- import { g as getTraceLikeSelectProps } from "./trace-like-wrapper-BGPnzRCX.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
+ import { g as getTraceLikeSelectProps } from "./trace-like-wrapper-o6SCQuB1.js";
9
9
  class RdoSelect extends BaseComponent {
10
10
  component = ComponentTypeEnum.RdoSelect;
11
11
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import { pick, has, isEmpty, cloneDeep, get } from "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { A as AsyncGctOnlineComponents } from "./index-BzzDCpIa.js";
7
+ import { A as AsyncGctOnlineComponents } from "./index-Bln4P71C.js";
8
8
  class Tr {
9
9
  component = "tr";
10
10
  wrapperCmpConfig({ data, parent }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Timepicker extends BaseComponent {
9
9
  component = ComponentTypeEnum.Timepicker;
10
10
  wrapperCmpConfig({ data }) {
@@ -5,7 +5,7 @@ import { pick } from "lodash-es";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
7
7
  import "ant-design-vue";
8
- import { n as normalizeSpacerWidth, g as getFieldWidget } from "./index-BzzDCpIa.js";
8
+ import { n as normalizeSpacerWidth, g as getFieldWidget } from "./index-Bln4P71C.js";
9
9
  class CombineFields {
10
10
  component = ComponentTypeEnum.CombineFields;
11
11
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class UploadFile extends BaseComponent {
9
9
  component = ComponentTypeEnum.UploadFile;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Input extends BaseComponent {
9
9
  component = ComponentTypeEnum.Input;
10
10
  wrapperCmpConfig({ data }) {
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class Department extends BaseComponent {
9
9
  component = ComponentTypeEnum.Department;
10
10
  wrapperCmpConfig({ data }) {
@@ -1,6 +1,6 @@
1
1
  import { pick, has, cloneDeep, get } from "lodash-es";
2
- import { A as AsyncGctOnlineComponents, g as getFieldWidget } from "./index-BzzDCpIa.js";
3
- import { j as isCellAutoLineBreak } from "./dynamic-table-action-Bc7yXz3G.js";
2
+ import { A as AsyncGctOnlineComponents, g as getFieldWidget } from "./index-Bln4P71C.js";
3
+ import { j as isCellAutoLineBreak } from "./dynamic-table-action-kbsA8eU-.js";
4
4
  import { C as ComponentTypeEnum, H as CellType, q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import "vue";
6
6
  import "dayjs";
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { B as BaseComponent } from "./BaseComponent-DxhjB3q7.js";
7
+ import { B as BaseComponent } from "./BaseComponent-CotFh3wl.js";
8
8
  class DateTimepicker extends BaseComponent {
9
9
  component = ComponentTypeEnum.DateTimepicker;
10
10
  wrapperCmpConfig({ data }) {
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { H, J, K, M, N, O, Q, U, W, B, X, Y, Z, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, x, aa, ab, y, ac, P, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, h } from "./index-BzzDCpIa.js";
1
+ import { H, J, K, M, N, O, Q, U, W, B, X, Y, Z, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, x, aa, ab, y, ac, P, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, h } from "./index-Bln4P71C.js";
2
2
  import { O as O2, _, V } from "./online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DAafXJ42.js";
3
3
  import { DataSources } from "@gct-paas/form-base";
4
4
  export {
@@ -4,7 +4,7 @@ import "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { j as calcText } from "./index-BzzDCpIa.js";
7
+ import { j as calcText } from "./index-Bln4P71C.js";
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  __name: "pagination-design",
10
10
  props: {
@@ -0,0 +1,4 @@
1
+ import { k as _sfc_main } from "./index-Bln4P71C.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,4 +1,4 @@
1
- import { d as captureRuntimePrintSnapshot, w as waitPrintFonts, e as waitPrintImages, p as printPagesInIframe } from "./index-BzzDCpIa.js";
1
+ import { d as captureRuntimePrintSnapshot, w as waitPrintFonts, e as waitPrintImages, p as printPagesInIframe } from "./index-Bln4P71C.js";
2
2
  async function printRuntimeInstance(record, basicInfo, renderSnapshot, signal, options = {}) {
3
3
  if (!record.controller) throw new Error("表单尚未完成初始化,暂时无法打印");
4
4
  const snapshot = await record.controller.preparePrintSnapshot(
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, provide, ref, onErrorCaptured, onBeforeUnmount, openBlock, createBlock, unref } from "vue";
2
- import { X as RuntimeFormStateStore, Z as RuntimeInstanceRegistry, R as NCB_PROVIDE } from "./dynamic-table-action-Bc7yXz3G.js";
3
- import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "./sub-table-factory-DtohfawW.js";
4
- import { _ as _sfc_main$1 } from "./index-BzzDCpIa.js";
2
+ import { X as RuntimeFormStateStore, Z as RuntimeInstanceRegistry, R as NCB_PROVIDE } from "./dynamic-table-action-kbsA8eU-.js";
3
+ import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "./sub-table-factory-CQvJXz8J.js";
4
+ import { _ as _sfc_main$1 } from "./index-Bln4P71C.js";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  __name: "print-snapshot-renderer",
7
7
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, createElementVNode } from "vue";
2
- import { B as BwipCodeTypeOptions, l as loadBwip } from "./index-BzzDCpIa.js";
2
+ import { B as BwipCodeTypeOptions, l as loadBwip } from "./index-Bln4P71C.js";
3
3
  const _hoisted_1 = ["src"];
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "qrcode-design",
@@ -0,0 +1,4 @@
1
+ import { f as _sfc_main } from "./index-Bln4P71C.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, normalizeClass } from "vue";
2
2
  import { ad as useNamespace, ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
3
- import { m as useDrop, T as TransferType, h as useModelFields, o as getFieldIcon, S as SingleDrop } from "./index-BzzDCpIa.js";
3
+ import { m as useDrop, T as TransferType, h as useModelFields, o as getFieldIcon, S as SingleDrop } from "./index-Bln4P71C.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "single-field-drop",
6
6
  props: {
@@ -1,5 +1,9 @@
1
1
  import { RefCustomLoader } from '../../../../../../nocode-base/src/interface/ref-loader';
2
2
  export declare function flattenMaterialConsumeRecord(item: Record<string, any>): Record<string, any>;
3
+ /** 扫码、批号查询和 LOT/SN 列表的物料信息统一为表内填充字段。 */
4
+ export declare function normalizeMaterialSubstitutionRecord(item: Record<string, any>): Record<string, any>;
5
+ /** 扫码解析后的物料编码需转换为产品 ID,并补齐被替换侧的物料信息。 */
6
+ export declare function buildSourceMaterialScanPatch(record: Record<string, any>): Record<string, unknown>;
3
7
  /** 同一条选中记录的批次名称、ID 和展示名必须一起回填。 */
4
8
  export declare function buildTargetMaterialSelectionPatch(record: Record<string, any>): Record<string, unknown>;
5
9
  /** 历史消耗只使用当前行生产 SN,未选、LOT 或无法确认类型时阻断查询。 */
@@ -83,7 +83,7 @@ export declare class MaterialRequisitionTableCore extends ProfileDrivenSubTableC
83
83
  * - 被替换物料从当前行生产 SN 的历史消耗中选择,可按行内工序过滤
84
84
  * - 替换物料从 LOT/SN 中选择,回填批次和物料信息,保留替换数量
85
85
  * - 替换物料批号回填替换物料及其信息
86
- * - 条码映射结果优先填充空行,否则追加新行
86
+ * - 扫码走生产标识匹配接口,按字段映射回填两侧物料,优先填充空行
87
87
  */
88
88
  export declare class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
89
89
  protected isEmptyScanRow(row: Record<string, unknown>): boolean;
@@ -1,5 +1,5 @@
1
1
  import { shallowReactive } from "vue";
2
- import { a_ as SubTableActionMenuTypeEnum, a$ as getMenuByAction, b0 as SubTableActionEnum, b1 as resolveScanFillData, aF as SubTableCore, b2 as buildDefaultMapFromProfile, b3 as buildFieldStatusFromProfile, b4 as getRowHandlersForFieldChange, b5 as getInsertSubMenu, b6 as resolveScanAdjustType, b7 as resolveScanQty, b8 as toDateOnly, b9 as hasSubtableBusinessData, ba as getCopySubMenu, bb as resolveScanParsedValue, bc as isProductBatchEmptyRow } from "./dynamic-table-action-Bc7yXz3G.js";
2
+ import { a_ as SubTableActionMenuTypeEnum, a$ as getMenuByAction, b0 as SubTableActionEnum, b1 as resolveScanFillData, b2 as resolveScanParsedValue, aF as SubTableCore, b3 as buildDefaultMapFromProfile, b4 as buildFieldStatusFromProfile, b5 as getRowHandlersForFieldChange, b6 as getInsertSubMenu, b7 as resolveScanAdjustType, b8 as resolveScanQty, b9 as toDateOnly, ba as hasSubtableBusinessData, bb as getCopySubMenu, bc as isProductBatchEmptyRow } from "./dynamic-table-action-kbsA8eU-.js";
3
3
  import { p as api, cO as F$1, aS as resolveLotDisplayLabel, cP as FILL_FROM_TARGET_PRODUCT_OPTION, b4 as resolveLotRecordByValue, b9 as ProductionIdentificationTypeEnum, b2 as buildLotSnListQuery, cQ as F$2, cR as SCAN_ROW_CONTENT_FIELDS, cS as F$3, cT as runRowHandler, c as getProfileByTableType, b as isBusinessSubTableProfile, cU as F$4, cV as F$5, cW as FILL_FROM_SOURCE_PRODUCT_OPTION, cX as FILL_FROM_TARGET_MATERIAL_NO_OPTION, cY as FILL_FROM_INVENTORY_OPTION, cZ as FILL_FROM_PART_OPTION, c_ as FILL_FROM_INVENTORY_OPTION$1, c$ as TABLE_TYPE, d0 as FILL_FROM_INVENTORY_OPTION$2, bf as F$6, d1 as INVENTORY_BASE_FIELDS, d2 as resolveGroupByWarehouse, d3 as AUTO_LOAD_READONLY_SELECT_FIELDS, be as STOCKTAKE_DIMENSION, bb as getParseRuleInfo, d4 as buildFillFromInventoryOption, c7 as calcFillData, d5 as resolveStocktakeInventoryApi, bc as getParseRuleValue, d6 as F$7, d7 as FILL_FROM_INVENTORY_OPTION$3, d8 as LOCKED_INPUT_FIELDS, cd as extractKeywordFromQueryData, d9 as composeProductionLotListQuery, da as F$8, db as isProductManuallyEditable, dc as applyFillFromMfgOrderOption, dd as applyFillFromOption$1, de as applyFillFromProductOption, df as mergeQueryFilters, dg as composeMaterialLotListQuery, b1 as LOT_CONTAINER_ROLE, dh as MATERIAL_CONTAINER_ID, di as F$9, dj as PRODUCT_QUICK_SEARCH_FIELDS, dk as PRODUCT_QUICK_SEARCH_EXP, dl as isProductManuallyEditable$1, dm as applyFillFromMaterialNoOption, dn as applyFillFromProductOption$1, dp as F$a, dq as FILL_FROM_INVENTORY_OPTION$4, a1 as FormTypeEnum, d as getBusinessProfileByRefModelType, aN as transformUtils, h as SubTableType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
4
4
  import { has, merge } from "lodash-es";
5
5
  class RuntimeInstanceController {
@@ -268,6 +268,9 @@ function unwrapBizServiceList(result) {
268
268
  const data = result.data;
269
269
  if (Array.isArray(data)) return data;
270
270
  if (data && typeof data === "object") return [data];
271
+ if (typeof result === "object" && "product_id_" in result) {
272
+ return [result];
273
+ }
271
274
  return [];
272
275
  }
273
276
  async function matchProductionIdentificationScanRecords(parsed) {
@@ -294,8 +297,33 @@ function flattenMaterialConsumeRecord(item) {
294
297
  }
295
298
  return result;
296
299
  }
300
+ function normalizeMaterialSubstitutionRecord(item) {
301
+ const result = { ...item };
302
+ result.name_ = item.name_ ?? item.material_no_;
303
+ result.id_ = item.production_identification_id_ ?? item.id_;
304
+ for (const key of ["name_", "code_", "spec_"]) {
305
+ const field = `product_id_${key}`;
306
+ const foreignField = `product_id_.${key}`;
307
+ result[field] = item[field] ?? item[`product_${key}`] ?? item[foreignField] ?? item.__FOREIGN__?.[foreignField] ?? item._OPCT?.[foreignField];
308
+ }
309
+ return result;
310
+ }
297
311
  const emptyResult = () => ({ data: [], options: [], finished: true, totalCount: 0, totalPage: 0 });
312
+ function buildSourceMaterialScanPatch(record) {
313
+ const material = normalizeMaterialSubstitutionRecord(record);
314
+ const label = resolveLotDisplayLabel(material);
315
+ return {
316
+ [F$1.sourceProduct]: material.product_id_,
317
+ [F$1.sourceProductLb]: material.product_id_name_ ? JSON.stringify([material.product_id_name_]) : void 0,
318
+ [F$1.sourceMaterialNo]: material.name_,
319
+ [F$1.sourceMaterialNoLb]: label ? JSON.stringify([label]) : void 0,
320
+ [F$1.sourceProductName]: material.product_id_name_,
321
+ [F$1.sourceProductCode]: material.product_id_code_,
322
+ [F$1.sourceProductSpec]: material.product_id_spec_
323
+ };
324
+ }
298
325
  function buildTargetMaterialSelectionPatch(record) {
326
+ record = normalizeMaterialSubstitutionRecord(record);
299
327
  const hasBatch = !isBlank$4(record.name_);
300
328
  const label = hasBatch ? resolveLotDisplayLabel(record) : "";
301
329
  return {
@@ -331,6 +359,23 @@ function createMaterialConsumeHistoryLoader(rowData, fieldName = "SN") {
331
359
  pageSize = 20,
332
360
  ids = []
333
361
  }) => {
362
+ if (mode === "byIds" && ids.length === 1 && ids[0] === rowData[F$1.sourceProduct] && !isBlank$4(rowData[F$1.sourceProductName])) {
363
+ const item = {
364
+ product_id_: rowData[F$1.sourceProduct],
365
+ material_name_: rowData[F$1.sourceMaterialNo],
366
+ qty_consumed_: rowData[F$1.sourceQtyConsumed],
367
+ "product_id_.name_": rowData[F$1.sourceProductName],
368
+ "product_id_.code_": rowData[F$1.sourceProductCode],
369
+ "product_id_.spec_": rowData[F$1.sourceProductSpec]
370
+ };
371
+ return {
372
+ data: [item],
373
+ options: [{ label: item["product_id_.name_"], value: item.product_id_, _item: item }],
374
+ finished: true,
375
+ totalCount: 1,
376
+ totalPage: 1
377
+ };
378
+ }
334
379
  const value = rowData[F$1.productionContainer];
335
380
  const operation = rowData[F$1.routingOperation];
336
381
  if (isBlank$4(value)) return emptyResult();
@@ -409,7 +454,9 @@ function createTargetMaterialLoader(rowData) {
409
454
  {},
410
455
  { query, exp, pageNo, pageSize }
411
456
  );
412
- const rows = Array.isArray(res) ? res : res?.data ?? [];
457
+ const rows = (Array.isArray(res) ? res : res?.data ?? []).map(
458
+ normalizeMaterialSubstitutionRecord
459
+ );
413
460
  const totalCount = Number(res?.totalCount ?? rows.length);
414
461
  const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
415
462
  return {
@@ -677,7 +724,11 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
677
724
  return;
678
725
  }
679
726
  if (field === F$1.targetMaterialNo) {
680
- applyOptionFill(rowData, source, FILL_FROM_TARGET_MATERIAL_NO_OPTION);
727
+ applyOptionFill(
728
+ rowData,
729
+ normalizeMaterialSubstitutionRecord(source),
730
+ FILL_FROM_TARGET_MATERIAL_NO_OPTION
731
+ );
681
732
  }
682
733
  }
683
734
  calcSubTableActionMenu = ({ showDelBtn }) => [
@@ -702,11 +753,36 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
702
753
  ] : []
703
754
  ];
704
755
  async onScan(input) {
705
- const fillData = resolveScanFillData(input);
756
+ const fillData = { ...resolveScanFillData(input) };
706
757
  if (!Object.keys(fillData).length) {
707
758
  this.warning({ content: "未配置条码字段映射" });
708
759
  return;
709
760
  }
761
+ const parsed = resolveScanParsedValue(input);
762
+ if (!parsed || !hasProductionIdentificationScanKey(parsed)) {
763
+ this.error({ content: PRODUCTION_IDENTIFICATION_SCAN_LOT_OR_UNIQUE_REQUIRED_MSG });
764
+ return;
765
+ }
766
+ const records = await matchProductionIdentificationScanRecords(parsed);
767
+ if (!records.length) {
768
+ this.error({ content: PRODUCTION_IDENTIFICATION_SCAN_NOT_FOUND_MSG });
769
+ return;
770
+ }
771
+ const selected = await this.pickScanRecord(records.map(normalizeMaterialSubstitutionRecord));
772
+ if (!selected) return;
773
+ if (isBlank$3(selected.product_id_)) {
774
+ this.error({ content: PRODUCTION_IDENTIFICATION_SCAN_NOT_FOUND_MSG });
775
+ return;
776
+ }
777
+ if (F$1.sourceMaterialNo in fillData || F$1.sourceProduct in fillData) {
778
+ Object.assign(fillData, buildSourceMaterialScanPatch(selected));
779
+ }
780
+ if (F$1.targetMaterialNo in fillData || F$1.targetProduct in fillData) {
781
+ Object.assign(fillData, buildTargetMaterialSelectionPatch(selected), {
782
+ [F$1.targetProduct]: selected.product_id_,
783
+ [F$1.targetProductLb]: selected.product_id_name_ ? JSON.stringify([selected.product_id_name_]) : void 0
784
+ });
785
+ }
710
786
  this.appendOrFillScanRow(fillData);
711
787
  }
712
788
  }
@@ -4,7 +4,7 @@ import { Y as PaperWidgeValueType, ae as _export_sfc } from "./dynamic-table-act
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { u as useSpreadSheet, h as useModelFields } from "./index-BzzDCpIa.js";
7
+ import { u as useSpreadSheet, h as useModelFields } from "./index-Bln4P71C.js";
8
8
  const _hoisted_1 = { class: "ws-pre-wrap" };
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "text-design",
@@ -4,7 +4,7 @@ import "vue";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig } from "./index-BzzDCpIa.js";
7
+ import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig } from "./index-Bln4P71C.js";
8
8
  function getTraceLikeSelectProps(data) {
9
9
  const isSubtableMfgOrder = !!data.info.subModelKey && (data.info.bizType === FIELD_TYPE.MFG_ORDER || data.info.fieldType === FIELD_TYPE.MFG_ORDER);
10
10
  const displayFields = (() => {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createTextVNode, toDisplayString, createElementVNode, unref, createCommentVNode } from "vue";
2
2
  import { pick } from "lodash-es";
3
- import { h as useModelFields, u as useSpreadSheet, m as useDrop, P as PanelType, T as TransferType, V as ValueEditorFieldDropBoxId, S as SingleDrop, o as getFieldIcon } from "./index-BzzDCpIa.js";
3
+ import { h as useModelFields, u as useSpreadSheet, m as useDrop, P as PanelType, T as TransferType, V as ValueEditorFieldDropBoxId, S as SingleDrop, o as getFieldIcon } from "./index-Bln4P71C.js";
4
4
  import { Y as PaperWidgeValueType, ax as ExpressionModeEnum, az as ExpressionTabEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, renderList, createBlock, createTextVNode, toDisplayString, createElementVNode } from "vue";
2
- import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-BzzDCpIa.js";
3
- import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-C5AZRekX.js";
2
+ import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-Bln4P71C.js";
3
+ import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-mFfXXRiY.js";
4
4
  import { q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import "lodash-es";
6
6
  import "dayjs";
@@ -1,11 +1,11 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createBlock, normalizeClass, unref, withCtx, createElementVNode, toDisplayString, createVNode, watch, createElementBlock, Fragment, createCommentVNode } from "vue";
2
- import { F as FormItem, q as SelectEx } from "./index-BzzDCpIa.js";
2
+ import { F as FormItem, q as SelectEx } from "./index-Bln4P71C.js";
3
3
  import { defaults } from "lodash-es";
4
4
  import { ad as useNamespace, F as FIELD_TYPE, ae as _export_sfc, an as DiagonalDirection, ar as DiagonalVertex, cu as migrateDiagonalDirectionToVertex } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
7
7
  import { message } from "ant-design-vue";
8
- import { S as SingleFieldDrop } from "./single-field-drop-SIHeEGRV.js";
8
+ import { S as SingleFieldDrop } from "./single-field-drop-CzGVzXtg.js";
9
9
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
10
10
  __name: "diagonal-name-editor",
11
11
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, reactive, ref, computed, watchEffect, createVNode, unref, createTextVNode, render, resolveComponent, openBlock, createElementBlock, Fragment, withCtx, createElementVNode, withModifiers, createCommentVNode, toDisplayString, renderList, createBlock } from "vue";
2
- import { L as LeftOutlined, R as RightOutlined, t as isClient, u as useSpreadSheet, F as FormItem, v as ImgParser } from "./index-BzzDCpIa.js";
2
+ import { L as LeftOutlined, R as RightOutlined, t as isClient, u as useSpreadSheet, F as FormItem, v as ImgParser } from "./index-Bln4P71C.js";
3
3
  import { S as SizeEditor } from "./size-editor-Bokwr74O.js";
4
4
  import { message } from "ant-design-vue";
5
5
  import { ao as WidgetImageSizeMode, ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
@@ -4,7 +4,7 @@ import "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { F as FormItem, x as LineStyleOptions, C as ColorPicker } from "./index-BzzDCpIa.js";
7
+ import { F as FormItem, x as LineStyleOptions, C as ColorPicker } from "./index-Bln4P71C.js";
8
8
  const _hoisted_1 = { class: "ks-row-middle" };
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "widget-line",
@@ -4,10 +4,10 @@ import "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
6
6
  import "ant-design-vue";
7
- import { F as FormItem, y as PaginationFormatOptions } from "./index-BzzDCpIa.js";
7
+ import { F as FormItem, y as PaginationFormatOptions } from "./index-Bln4P71C.js";
8
8
  import { S as SizeEditor } from "./size-editor-Bokwr74O.js";
9
9
  import { A as AlignEditor } from "./align-editor-Wvo1sj8u.js";
10
- import { F as FontEditor } from "./font-editor-Bg0PFKU6.js";
10
+ import { F as FontEditor } from "./font-editor-BYrBiLmN.js";
11
11
  const _hoisted_1 = { class: "pl-6px" };
12
12
  const _hoisted_2 = { class: "pl-6px" };
13
13
  const DefaultCustomFormat = "Page ${no} / ${total}";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, createTextVNode, toDisplayString } from "vue";
2
- import { u as useSpreadSheet, E as useReverseModeling, F as FormItem } from "./index-BzzDCpIa.js";
3
- import { S as SingleFieldDrop } from "./single-field-drop-SIHeEGRV.js";
2
+ import { u as useSpreadSheet, E as useReverseModeling, F as FormItem } from "./index-Bln4P71C.js";
3
+ import { S as SingleFieldDrop } from "./single-field-drop-CzGVzXtg.js";
4
4
  import { F as FIELD_TYPE, ad as useNamespace, ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import { message } from "ant-design-vue";
6
6
  import "lodash-es";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, renderList, createBlock, createTextVNode, toDisplayString } from "vue";
2
- import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-BzzDCpIa.js";
3
- import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-C5AZRekX.js";
2
+ import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-Bln4P71C.js";
3
+ import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-mFfXXRiY.js";
4
4
  import { q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import "lodash-es";
6
6
  import "dayjs";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, Fragment, renderList, createVNode, withCtx } from "vue";
2
- import { F as FormItem } from "./index-BzzDCpIa.js";
3
- import { S as SingleFieldDrop } from "./single-field-drop-SIHeEGRV.js";
2
+ import { F as FormItem } from "./index-Bln4P71C.js";
3
+ import { S as SingleFieldDrop } from "./single-field-drop-CzGVzXtg.js";
4
4
  import { F as FIELD_TYPE, ad as useNamespace, ae as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
5
5
  import { message } from "ant-design-vue";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx } from "vue";
2
- import { F as FormItem } from "./index-BzzDCpIa.js";
2
+ import { F as FormItem } from "./index-Bln4P71C.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "widget-serialnumber",
5
5
  props: {
@@ -1,9 +1,9 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, Fragment, createVNode, withCtx, createElementVNode } from "vue";
2
- import { u as useSpreadSheet, F as FormItem } from "./index-BzzDCpIa.js";
3
- import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-C5AZRekX.js";
2
+ import { u as useSpreadSheet, F as FormItem } from "./index-Bln4P71C.js";
3
+ import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-mFfXXRiY.js";
4
4
  import { S as SizeEditor } from "./size-editor-Bokwr74O.js";
5
5
  import { A as AlignEditor } from "./align-editor-Wvo1sj8u.js";
6
- import { F as FontEditor } from "./font-editor-Bg0PFKU6.js";
6
+ import { F as FontEditor } from "./font-editor-BYrBiLmN.js";
7
7
  const _hoisted_1 = { class: "pl-6px" };
8
8
  const _hoisted_2 = { class: "pl-6px" };
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, watch, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, renderList, unref, createBlock, createTextVNode, toDisplayString, createElementVNode } from "vue";
2
- import { u as useSpreadSheet, h as useModelFields, F as FormItem } from "./index-BzzDCpIa.js";
2
+ import { u as useSpreadSheet, h as useModelFields, F as FormItem } from "./index-Bln4P71C.js";
3
3
  import { F as FIELD_TYPE, aq as TimeDiffFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BsAJe1I6.js";
4
4
  import "lodash-es";
5
5
  import "dayjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/excel",
3
- "version": "0.1.40-beta.33",
3
+ "version": "0.1.40-beta.34",
4
4
  "description": "GCT Excel online form rendering",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,4 +0,0 @@
1
- import { k as _sfc_main } from "./index-BzzDCpIa.js";
2
- export {
3
- _sfc_main as default
4
- };
@@ -1,4 +0,0 @@
1
- import { f as _sfc_main } from "./index-BzzDCpIa.js";
2
- export {
3
- _sfc_main as default
4
- };