@gct-paas/excel 0.1.28-beta.43 → 0.1.28-beta.45

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 (90) hide show
  1. package/dist/{BaseComponent-B9RZowan.js → BaseComponent-MIpuRa5M.js} +1 -1
  2. package/dist/{VueVideoPlayer-Bf9uMm_h.js → VueVideoPlayer-bL-759JT.js} +2 -2
  3. package/dist/{align-editor-B1mHj2D9.js → align-editor-aMcnPmPo.js} +1 -1
  4. package/dist/{barcode-design-2hFWpNoL.js → barcode-design-PS-YQvcp.js} +2 -2
  5. package/dist/base/index.es.js +95 -104
  6. package/dist/{diagonal-design-C8Q0AEQs.js → diagonal-design-CN17ZUXL.js} +2 -2
  7. package/dist/{dynamic-table-action-DC5wgX-P.js → dynamic-table-action-Z0deHcA_.js} +30 -7
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js} +479 -411
  9. package/dist/{edit.utils-CXmmCnxE-DWSMolye.js → edit.utils-CXmmCnxE-BoqmodX_.js} +1 -1
  10. package/dist/excel.css +331 -456
  11. package/dist/{exceljs.min-DshBQwfE.js → exceljs.min-DV6kk4h6.js} +2 -2
  12. package/dist/{font-editor-BwD_c5Ye.js → font-editor-Z1fmVVVg.js} +3 -3
  13. package/dist/{image-design-Cw7A8Oib.js → image-design-CkY80jXJ.js} +2 -2
  14. package/dist/{index-C9dsMvLm.js → index-0C-Lr25B.js} +2 -2
  15. package/dist/{index-B52uNDu2.js → index-7KCrabTt.js} +2 -2
  16. package/dist/{index-BotubHiu.js → index-9KmVo5zZ.js} +2 -2
  17. package/dist/{index-B6ncZ7cK.js → index-9z5IuLT7.js} +1 -1
  18. package/dist/{index-CwuXJFsZ.js → index-BJcFTAtP.js} +2 -2
  19. package/dist/{index-D6bvDcLe.js → index-BaVCKvJ7.js} +2 -2
  20. package/dist/{index-BAkcAd2v.js → index-BflkkVFJ.js} +2 -2
  21. package/dist/{index-BHMnvitk.js → index-BklFNHBQ.js} +2 -2
  22. package/dist/{index-BYq0WQqF.js → index-BmeMaYeR.js} +2 -2
  23. package/dist/{index-CD-mmMZH.js → index-C68--obK.js} +3 -3
  24. package/dist/{index-BdYLvVU_.js → index-C7rqTlv6.js} +2169 -1709
  25. package/dist/{index-C2LwFrWK.js → index-CAtkSg7n.js} +3 -3
  26. package/dist/{index-BAXoIuJS.js → index-CBqexEj3.js} +2 -2
  27. package/dist/{index-BCFnv8VD.js → index-CC5nq3pk.js} +3 -3
  28. package/dist/{index-_Xg_FIdM.js → index-CCU1lW7P.js} +1 -1
  29. package/dist/{index-CKpuW-hK.js → index-CSFvg-Kf.js} +3 -3
  30. package/dist/{index-DM0ZyBNv.js → index-CY91EfSP.js} +2 -2
  31. package/dist/{index-h4pbvdMU.js → index-C_UiZ3IO.js} +1 -1
  32. package/dist/{index-D2kDSGUe.js → index-Ci7VoYkE.js} +2 -2
  33. package/dist/{index-CsxHLyNk.js → index-Co_pxQ-O.js} +2 -2
  34. package/dist/{index-BXrvkmZQ.js → index-D5WsWxYq.js} +2 -2
  35. package/dist/{index-1-DhB0jQ.js → index-DoshGbJs.js} +1 -1
  36. package/dist/{index-DXLp4jIB.js → index-DxlHzBrj.js} +2 -2
  37. package/dist/{index-BzuAVmJM.js → index-FNy8jRtO.js} +1 -1
  38. package/dist/{index-f9nOKBsK.js → index-FlTquzh3.js} +1 -1
  39. package/dist/{index-BCIdAU8D.js → index-IWi70xhS.js} +1 -1
  40. package/dist/{index-bVic1vP8.js → index-LF1i8KsZ.js} +1 -1
  41. package/dist/{index-DE6B-Hl3.js → index-LTMTotfl.js} +2 -2
  42. package/dist/{index-DWjQ8Dzy.js → index-cVhNJPBL.js} +2 -2
  43. package/dist/{index-DoRlLg9h.js → index-e2k3nxZ4.js} +2 -2
  44. package/dist/{index-1WCRJ5HU.js → index-qx_0UcPX.js} +1 -1
  45. package/dist/{index-BSN86q85.js → index-u9Wa4QsM.js} +3 -3
  46. package/dist/{index-BkTb36fY.js → index-wm2Kudk_.js} +1 -1
  47. package/dist/{index-CulQoSfd.js → index-wo7PBItc.js} +2 -2
  48. package/dist/index.es.js +2 -2
  49. package/dist/{mb-render-3PvobIBc.js → mb-render-DL5qUcdf.js} +1 -1
  50. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-D69fb3Y1.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DjNuq03g.js} +1 -1
  51. package/dist/{pagination-design-Cyiaq-_W.js → pagination-design-DUiYwQzf.js} +2 -2
  52. package/dist/paper-widget-design-DR3gV1Hv.js +4 -0
  53. package/dist/{qrcode-design-BL4LgMNq.js → qrcode-design-B5a3GKaP.js} +1 -1
  54. package/dist/{revo-grid.entry-pwy8JCl_.js → revo-grid.entry-BA8_qj5x.js} +1 -1
  55. package/dist/{revogr-attribution_7.entry--bc8Zrn-.js → revogr-attribution_7.entry-XltfRJI8.js} +3 -3
  56. package/dist/{revogr-clipboard_3.entry-BOKUyvKG.js → revogr-clipboard_3.entry-B6zsfQaI.js} +2 -2
  57. package/dist/{revogr-data_4.entry-Bqea_SCH.js → revogr-data_4.entry-AtKKG-Lz.js} +2 -2
  58. package/dist/{revogr-filter-panel.entry-DEpUhV-x.js → revogr-filter-panel.entry-WO9KMgIK.js} +1 -1
  59. package/dist/{serialnumber-design-yFnRaBXf.js → serialnumber-design-4tUnYxU4.js} +1 -1
  60. package/dist/shared/index.es.js +8 -8
  61. package/dist/{single-field-drop-BtUOGglV.js → single-field-drop-CprUqW5f.js} +2 -2
  62. package/dist/{size-editor-D95qZ7I9.js → size-editor-BsCdhLbQ.js} +1 -1
  63. package/dist/src/domain/field/select/operation-manifest.d.ts +2 -0
  64. package/dist/src/domain/table/business/warehouse/warehouse-inventory/profile/field-keys.d.ts +17 -34
  65. package/dist/src/nocode-base/src/core/sub-table/stocktake-table-core.d.ts +1 -1
  66. package/dist/src/nocode-base/src/core/sub-table/utils/stocktake/stocktake-calc.d.ts +3 -1
  67. package/dist/src/nocode-base/src/hooks/device-link/controller.d.ts +3 -4
  68. package/dist/src/nocode-base/src/hooks/device-link/types.d.ts +1 -1
  69. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  70. package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/usePopoverWrapperHeight.d.ts +3 -0
  71. package/dist/src/shared/enum/field-type.d.ts +6 -1
  72. package/dist/{text-design-DWoCZE7M.js → text-design-CkUwKQpu.js} +2 -2
  73. package/dist/{throttle-Cpk1LoGk-CSiAoPgA.js → throttle-Cpk1LoGk-CUzpS2Me.js} +1 -1
  74. package/dist/{timediff-design-DIEc5n5i.js → timediff-design-BI8cue4g.js} +1 -1
  75. package/dist/{trace-like-wrapper-Ds4qKs_1.js → trace-like-wrapper-BlTEl9wL.js} +2 -2
  76. package/dist/{value-editor.vue_vue_type_style_index_0_lang-CrQReIVs.js → value-editor.vue_vue_type_style_index_0_lang-CNytr-oK.js} +2 -2
  77. package/dist/web-render/index.es.js +3 -3
  78. package/dist/{widget-barcode-DqNcEHBU.js → widget-barcode-kQ5I73nH.js} +4 -4
  79. package/dist/{widget-diagonal-Dga2YzuU.js → widget-diagonal-DJkE5f1q.js} +3 -3
  80. package/dist/{widget-image-qwa9WO4p.js → widget-image-BxMpG7AG.js} +5 -5
  81. package/dist/{widget-line-DpzM4HFD.js → widget-line-DEIbatwF.js} +2 -2
  82. package/dist/{widget-pagination-BuTC5YPB.js → widget-pagination-LtXxJDi_.js} +5 -5
  83. package/dist/{widget-power-w3b3fAhe.js → widget-power-C0D9l-mU.js} +3 -3
  84. package/dist/{widget-qrcode-BVxXGIiV.js → widget-qrcode-CEYBJx8m.js} +3 -3
  85. package/dist/{widget-rangelimit-dTYNi7le.js → widget-rangelimit-Dyo7VU7a.js} +3 -3
  86. package/dist/{widget-serialnumber-dgZ6S0at.js → widget-serialnumber-DZsIfuWJ.js} +1 -1
  87. package/dist/{widget-text-D44bWAVN.js → widget-text-BJSdxi7B.js} +5 -5
  88. package/dist/{widget-timediff-BoZzxrPM.js → widget-timediff-DdXgo21I.js} +2 -2
  89. package/package.json +1 -1
  90. package/dist/paper-widget-design-DAFyO7QA.js +0 -4
@@ -1,4 +1,4 @@
1
- import { n as normalizeFieldWidth } from "./dynamic-table-action-DC5wgX-P.js";
1
+ import { n as normalizeFieldWidth } from "./dynamic-table-action-Z0deHcA_.js";
2
2
  import { get, pick } from "lodash-es";
3
3
  import { f as fontStyleAttrs } from "./config.enum-B8UZQTON.js";
4
4
  class BaseComponent {
@@ -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 { I as commonjsGlobal, J as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
3
- import { r as require$$0 } from "./index-DE6B-Hl3.js";
2
+ import { I as commonjsGlobal, J as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js";
3
+ import { r as require$$0 } from "./index-LTMTotfl.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 { a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
2
+ import { a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.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, a as useModelFields, l as loadBwip } from "./index-BdYLvVU_.js";
4
- import { M as PaperWidgeValueType, a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
3
+ import { u as useSpreadSheet, a as useModelFields, l as loadBwip } from "./index-C7rqTlv6.js";
4
+ import { M as PaperWidgeValueType, a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js";
5
5
  import "dayjs";
6
6
  import "ant-design-vue";
7
7
  const _hoisted_1 = { class: "wrapper" };
@@ -1,11 +1,11 @@
1
- import { bo as fetchHistoryConsume, bp as isBomGranted, F as FIELD_TYPE, z as api, bq as F$1, br as F$2, bs as runRowHandler, h as getProfileByTableType, f as isBusinessSubTableProfile, bt as F$3, bu as F$4, bv as FILL_FROM_INVENTORY_OPTION, bw as FILL_FROM_PART_OPTION, bx as FILL_FROM_INVENTORY_OPTION$1, by as TABLE_TYPE, bz as FILL_FROM_INVENTORY_OPTION$2, bA as F$5, bB as INVENTORY_BASE_FIELDS, bC as WAREHOUSE_IDENTITY_GROUP_KEYS, bD as resolveGroupByWarehouse, bE as AUTO_LOAD_READONLY_SELECT_FIELDS, b4 as STOCKTAKE_DIMENSION, b1 as getParseRuleInfo, bF as FILL_FROM_INVENTORY_OPTION$3, bG as calcFillData, bH as resolveStocktakeInventoryApi, b2 as getParseRuleValue, bI as F$6, bJ as FILL_FROM_INVENTORY_OPTION$4, bK as extractKeywordFromQueryData, bL as composeProductionLotListQuery, aF as resolveLotDisplayLabel, bM as F$7, bN as isProductManuallyEditable, bO as applyFillFromMfgOrderOption, bP as applyFillFromOption$1, bQ as applyFillFromProductOption, aT as LOT_CONTAINER_ROLE, bR as MATERIAL_CONTAINER_ID, bS as F$8, bT as PRODUCT_QUICK_SEARCH_FIELDS, bU as PRODUCT_QUICK_SEARCH_EXP, bV as isProductManuallyEditable$1, bW as applyFillFromMaterialNoOption, bX as applyFillFromProductOption$1, bY as F$9, bZ as FILL_FROM_INVENTORY_OPTION$5, V as FormTypeEnum, ba as transformUtils, l as SubTableType, aW as NCB_PROVIDE, b_ as settleAndValidateDisplay, b$ as unregisterValidationContext, c0 as clearFormRules, c1 as registerValidationContext, C as ComponentTypeEnum, be as RenderModeEnum, c2 as requestFullValidation, c3 as requestDisplayValidation, aV as renderUtils, c4 as closeValidatorPopovers, c5 as baseDataUtils, c6 as getRawFormRuleMeta, c7 as enrichFormChangeRowDetails, c8 as settleAfterModeSwitch, c9 as calcUtils, aG as CheckDsTypeEnum, Z as PlatformEnum, ca as uuid2, cb as normalizeToArray, cc as safeParseArray, cd as BpmnNodeTypeEnum, ce as mergeByMultiKey, bn as useNocodeEmitter, cf as commonUtils, aB as EntityModelCategoryEnum, cg as getRowId, ch as collectFormChangeFieldLocations, ci as nextFormChangeRowViewHistoryId } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
2
- import { aJ, aL, b0, $, cj, ck, B, cl, x, ab, cm, cn, co, bc, cp, aS, au, aK, aH, aI, cq, ac, ag, cr, cs, aC, aa, av, aN, _, ae, L, ct, cu, O, o, P, a5, n, M, aM, cv, at, as, a2, a0, a1, a3, cw, af, aj, ad, cx, cy, cz, bb, cA, cB, cC, cD, cE, cF, cG, cH, cI, cJ, cK, aZ, cL, cM, cN, cO, cP, cQ, cR, cS, cT, cU, cV, cW, cX, cY, aY, cZ, b6, c_, c$, d0, b9, d1, d2, d3, d4, ah, q, d5, d6, aR, d7, aQ, aO, d8, N, b3, bf, a$, d9, bd, aP, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
3
- import { M as MaterialConsumptionPatternEnum, m as MaterialConsumeTableController, i as isEdhrSuite, o as SubTableCore, p as SubTableActionMenuTypeEnum, q as getMenuByAction, s as SubTableActionEnum, t as getInsertSubMenu, w as resolveScanAdjustType, x as resolveScanQty, y as toDateOnly, z as getCopySubMenu, A as resolveScanParsedValue, C as resolveScanFillData, F as isProductBatchEmptyRow, G as useMaterialBalance, H as validate, J as validateObjectBomQtyOnSubmit } from "../dynamic-table-action-DC5wgX-P.js";
4
- import { B as B2, K, D, _ as _2, L as L2, k, N as N2, l, E, O as O2, P as P2, I, Q, T, d, b, f, U, g, e, V, W, X, Y, r, c, u, h, a, j, v } from "../dynamic-table-action-DC5wgX-P.js";
1
+ import { bp as fetchHistoryConsume, bq as isBomGranted, F as FIELD_TYPE, z as api, br as F$1, bs as F$2, bt as runRowHandler, h as getProfileByTableType, f as isBusinessSubTableProfile, bu as F$3, bv as F$4, bw as FILL_FROM_INVENTORY_OPTION, bx as FILL_FROM_PART_OPTION, by as FILL_FROM_INVENTORY_OPTION$1, bz as TABLE_TYPE, bA as FILL_FROM_INVENTORY_OPTION$2, b5 as F$5, bB as INVENTORY_BASE_FIELDS, bC as resolveGroupByWarehouse, bD as AUTO_LOAD_READONLY_SELECT_FIELDS, b4 as STOCKTAKE_DIMENSION, b1 as getParseRuleInfo, bE as buildFillFromInventoryOption, bF as calcFillData, bG as resolveStocktakeInventoryApi, b2 as getParseRuleValue, bH as F$6, bI as FILL_FROM_INVENTORY_OPTION$3, bJ as extractKeywordFromQueryData, bK as composeProductionLotListQuery, aF as resolveLotDisplayLabel, bL as F$7, bM as isProductManuallyEditable, bN as applyFillFromMfgOrderOption, bO as applyFillFromOption$1, bP as applyFillFromProductOption, aT as LOT_CONTAINER_ROLE, bQ as MATERIAL_CONTAINER_ID, bR as F$8, bS as PRODUCT_QUICK_SEARCH_FIELDS, bT as PRODUCT_QUICK_SEARCH_EXP, bU as isProductManuallyEditable$1, bV as applyFillFromMaterialNoOption, bW as applyFillFromProductOption$1, bX as F$9, bY as FILL_FROM_INVENTORY_OPTION$4, V as FormTypeEnum, bb as transformUtils, l as SubTableType, aW as NCB_PROVIDE, bZ as settleAndValidateDisplay, b_ as unregisterValidationContext, b$ as clearFormRules, c0 as registerValidationContext, C as ComponentTypeEnum, bf as RenderModeEnum, c1 as requestFullValidation, c2 as requestDisplayValidation, aV as renderUtils, c3 as closeValidatorPopovers, c4 as baseDataUtils, c5 as getRawFormRuleMeta, c6 as enrichFormChangeRowDetails, c7 as settleAfterModeSwitch, c8 as calcUtils, aG as CheckDsTypeEnum, Z as PlatformEnum, c9 as uuid2, ca as normalizeToArray, cb as safeParseArray, cc as BpmnNodeTypeEnum, cd as mergeByMultiKey, bo as useNocodeEmitter, ce as commonUtils, aB as EntityModelCategoryEnum, cf as getRowId, cg as collectFormChangeFieldLocations, ch as nextFormChangeRowViewHistoryId } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js";
2
+ import { aJ, aL, b0, $, ci, cj, B, ck, x, ab, cl, cm, cn, bd, co, aS, au, aK, aH, aI, cp, ac, ag, cq, cr, aC, aa, av, aN, _, ae, L, cs, ct, O, o, P, a5, n, M, aM, cu, at, as, a2, a0, a1, a3, cv, af, aj, ad, cw, cx, cy, bc, cz, cA, cB, cC, cD, cE, cF, cG, cH, cI, cJ, aZ, cK, cL, cM, cN, cO, cP, cQ, cR, cS, cT, cU, cV, cW, cX, aY, cY, b7, cZ, c_, c$, ba, d0, d1, d2, d3, ah, q, d4, d5, aR, d6, aQ, aO, d7, N, b3, bg, a$, d8, be, aP, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js";
3
+ import { M as MaterialConsumptionPatternEnum, m as MaterialConsumeTableController, i as isEdhrSuite, o as SubTableCore, p as SubTableActionMenuTypeEnum, q as getMenuByAction, s as SubTableActionEnum, t as getInsertSubMenu, w as resolveScanAdjustType, x as resolveScanQty, y as toDateOnly, z as getCopySubMenu, A as resolveScanParsedValue, C as resolveScanFillData, F as isProductBatchEmptyRow, G as useMaterialBalance, H as validate, J as validateObjectBomQtyOnSubmit } from "../dynamic-table-action-Z0deHcA_.js";
4
+ import { B as B2, K, D, _ as _2, L as L2, k, N as N2, l, E, O as O2, P as P2, I, Q, T, d, b, f, U, g, e, V, W, X, Y, r, c, u, h, a, j, v } from "../dynamic-table-action-Z0deHcA_.js";
5
5
  import { ref, provide, watch, computed, onUnmounted, onBeforeMount } from "vue";
6
6
  import { defaults, has, merge, isEmpty, cloneDeep, debounce } from "lodash-es";
7
7
  import "dayjs";
8
- import { B as B3, F, M as M2, a as a4, u as u2 } from "../mb-render-3PvobIBc.js";
8
+ import { B as B3, F, M as M2, a as a4, u as u2 } from "../mb-render-DL5qUcdf.js";
9
9
  var MaterialStatusEnum = /* @__PURE__ */ ((MaterialStatusEnum2) => {
10
10
  MaterialStatusEnum2["LOT"] = "LOT";
11
11
  MaterialStatusEnum2["SN"] = "SN";
@@ -518,9 +518,6 @@ const STOCKTAKE_STATUS = {
518
518
  loss: "sys.edhr.stocktakeStatusEnum.loss",
519
519
  equals: "sys.edhr.stocktakeStatusEnum.equals"
520
520
  };
521
- function buildRowGroupKey(row, fieldKeys, separator = "|") {
522
- return fieldKeys.map((key) => String(row[key] ?? "")).join(separator);
523
- }
524
521
  function toNumber(value, fallback = 0) {
525
522
  const num = Number(value);
526
523
  return Number.isNaN(num) ? fallback : num;
@@ -533,36 +530,23 @@ function pickInventoryBase(record) {
533
530
  INVENTORY_BASE_FIELDS.map((key) => [key, record[key]])
534
531
  );
535
532
  }
536
- function mapInventoryRecordToRow(record) {
533
+ function mapInventoryIdentity(record, warehouseSummary) {
534
+ if (!warehouseSummary) {
535
+ return { [F$5.inventory]: record.id_ };
536
+ }
537
537
  return {
538
- ...pickInventoryBase(record),
539
- [F$5.location]: record[F$5.location],
540
- [F$5.stock]: toNumber(record[F$5.stock])
538
+ [F$5.inventory]: record[F$5.inventory],
539
+ [F$5.frontId]: record.id_
541
540
  };
542
541
  }
543
- function mergeInventoryByWarehouse(items) {
544
- const [first] = items;
542
+ function mapInventoryRecordToRow(record, warehouseSummary) {
545
543
  return {
546
- ...pickInventoryBase(first),
547
- [F$5.stock]: items.reduce((sum, item) => sum + toNumber(item[F$5.stock]), 0)
544
+ ...pickInventoryBase(record),
545
+ ...mapInventoryIdentity(record, warehouseSummary),
546
+ [F$5.location]: record[F$5.location],
547
+ [F$5.stock]: toNumber(record[F$5.stock])
548
548
  };
549
549
  }
550
- function buildWarehouseGroupKey(record) {
551
- return buildRowGroupKey(record, WAREHOUSE_IDENTITY_GROUP_KEYS);
552
- }
553
- function groupByWarehouseIdentity(records) {
554
- const groups = /* @__PURE__ */ new Map();
555
- for (const record of records) {
556
- const key = buildWarehouseGroupKey(record);
557
- let bucket = groups.get(key);
558
- if (!bucket) {
559
- bucket = [];
560
- groups.set(key, bucket);
561
- }
562
- bucket.push(record);
563
- }
564
- return groups;
565
- }
566
550
  function getStocktakeDiff(stocktakeNum, stockNum) {
567
551
  if (isBlank$2(stocktakeNum)) {
568
552
  return void 0;
@@ -617,11 +601,8 @@ function getScanQtyDeductionBlockReason(current, scanQty, type = "add") {
617
601
  }
618
602
  return "当前实盘数量小于本次条码扫码数量,无法扣减";
619
603
  }
620
- function groupInventoryToStocktakeRows(records, groupByWarehouse) {
621
- if (!groupByWarehouse) {
622
- return records.map(mapInventoryRecordToRow);
623
- }
624
- return Array.from(groupByWarehouseIdentity(records).values()).map(mergeInventoryByWarehouse);
604
+ function groupInventoryToStocktakeRows(records, warehouseSummary) {
605
+ return records.map((r2) => mapInventoryRecordToRow(r2, warehouseSummary));
625
606
  }
626
607
  async function getStockData({
627
608
  warehouse_id_,
@@ -672,9 +653,11 @@ function isSameStocktakeIdentity(row, record, groupByWarehouse) {
672
653
  }
673
654
  return true;
674
655
  }
675
- function buildInventoryScanRow(record, parsed, fillData, stocktakeQty) {
656
+ function buildInventoryScanRow(record, parsed, fillData, stocktakeQty, warehouseSummary = false) {
676
657
  const row = {
677
- [F$5.inventory]: record.id_,
658
+ // 按仓库汇总时:inventory_id_ 来自接口字段,id_ 另存为 front_id_
659
+ [F$5.inventory]: warehouseSummary ? record[F$5.inventory] ?? record.id_ : record.id_,
660
+ ...warehouseSummary ? { [F$5.frontId]: record.id_ } : {},
678
661
  [F$5.batch]: record.production_identification_id_,
679
662
  [F$5.product]: record.product_id_,
680
663
  [F$5.productName]: record.product_id_name_,
@@ -826,7 +809,9 @@ class StocktakeTableCore extends ProfileDrivenSubTableCore {
826
809
  super.handleChange(params);
827
810
  const { field, value, option, rowData } = params;
828
811
  if (field === F$5.product && option && value !== void 0 && value !== null && value !== "") {
829
- for (const { optionField, toField } of FILL_FROM_INVENTORY_OPTION$3) {
812
+ for (const { optionField, toField } of buildFillFromInventoryOption(
813
+ this.isGroupByWarehouse
814
+ )) {
830
815
  rowData[toField] = option[optionField];
831
816
  }
832
817
  calcRowData(rowData);
@@ -877,7 +862,13 @@ class StocktakeTableCore extends ProfileDrivenSubTableCore {
877
862
  return;
878
863
  }
879
864
  const stocktakeQty = applyScanQtyToStocktake(void 0, scanQty, scanAdjustType);
880
- const row = buildInventoryScanRow(selected, parsed, fillData, stocktakeQty);
865
+ const row = buildInventoryScanRow(
866
+ selected,
867
+ parsed,
868
+ fillData,
869
+ stocktakeQty,
870
+ this.isGroupByWarehouse
871
+ );
881
872
  calcRowData(row);
882
873
  this.appendOrFillScanRow(row);
883
874
  }
@@ -995,7 +986,7 @@ class AllocateTableCore extends ProfileDrivenSubTableCore {
995
986
  if (field !== F$6.product || !option || value === void 0 || value === null || value === "") {
996
987
  return;
997
988
  }
998
- for (const { optionField, toField } of FILL_FROM_INVENTORY_OPTION$4) {
989
+ for (const { optionField, toField } of FILL_FROM_INVENTORY_OPTION$3) {
999
990
  rowData[toField] = option[optionField];
1000
991
  }
1001
992
  }
@@ -1791,7 +1782,7 @@ class WarehouseOutTableCore extends ProfileDrivenSubTableCore {
1791
1782
  if (field !== F$9.product || !option || value === void 0 || value === null || value === "") {
1792
1783
  return;
1793
1784
  }
1794
- for (const { optionField, toField } of FILL_FROM_INVENTORY_OPTION$5) {
1785
+ for (const { optionField, toField } of FILL_FROM_INVENTORY_OPTION$4) {
1795
1786
  rowData[toField] = option[optionField];
1796
1787
  }
1797
1788
  }
@@ -3746,19 +3737,19 @@ export {
3746
3737
  $ as BooleanShowMode,
3747
3738
  B2 as BorderTD,
3748
3739
  BpmnNodeTypeEnum,
3749
- cj as BpmnSignatureTypeEnum,
3750
- ck as ButtonTypeEnum,
3740
+ ci as BpmnSignatureTypeEnum,
3741
+ cj as ButtonTypeEnum,
3751
3742
  B as BwipCodeType,
3752
- cl as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3743
+ ck as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
3753
3744
  x as CellType,
3754
3745
  ab as CellWidgetViewState,
3755
3746
  CheckDsTypeEnum,
3756
- cm as CodeRunner,
3747
+ cl as CodeRunner,
3757
3748
  ComponentTypeEnum,
3758
- cn as Config_Fields,
3759
- co as ControlStatusEnum,
3760
- bc as DEVICE_GROUP_QUERY_KEY,
3761
- cp as DEVICE_SEARCH_API,
3749
+ cm as Config_Fields,
3750
+ cn as ControlStatusEnum,
3751
+ bd as DEVICE_GROUP_QUERY_KEY,
3752
+ co as DEVICE_SEARCH_API,
3762
3753
  aS as DateFormat,
3763
3754
  au as DecimalDisplayMode,
3764
3755
  aK as DenoiseMethodOptions,
@@ -3767,7 +3758,7 @@ export {
3767
3758
  D as DeviceLinkTmplUtil,
3768
3759
  aI as DeviceParamsTypeTitle,
3769
3760
  DevicePartConsumeTableCore,
3770
- cq as DeviceStatus,
3761
+ cp as DeviceStatus,
3771
3762
  ac as DiagonalDirection,
3772
3763
  ag as DiagonalVertex,
3773
3764
  _2 as DocumentLayout,
@@ -3775,8 +3766,8 @@ export {
3775
3766
  k as DocumentPaper,
3776
3767
  N2 as DynamicQuickFillModal,
3777
3768
  l as DynamicTableAction,
3778
- cr as EBR_PROVIDE_ENUM,
3779
- cs as EFieldBizTypeEnum,
3769
+ cq as EBR_PROVIDE_ENUM,
3770
+ cr as EFieldBizTypeEnum,
3780
3771
  E as EMPTY_PRODUCT_VERSION_ID,
3781
3772
  aC as EmptySymbol,
3782
3773
  aa as FieldSysVarDefaultValueEnum,
@@ -3800,10 +3791,10 @@ export {
3800
3791
  MaterialConsumptionPatternEnum,
3801
3792
  MaterialRequisitionTableCore,
3802
3793
  MaterialStatusEnum,
3803
- ct as MobileFillTypeEnum,
3794
+ cs as MobileFillTypeEnum,
3804
3795
  NCB_PROVIDE,
3805
3796
  T as OCR_MODEL_PRECISION_ENUM_KEY,
3806
- cu as OfficeTypeEnum,
3797
+ ct as OfficeTypeEnum,
3807
3798
  O as Orientation,
3808
3799
  o as PageSizeEnum,
3809
3800
  P as PaginationFormat,
@@ -3813,7 +3804,7 @@ export {
3813
3804
  aM as ParamModelTypeEnum,
3814
3805
  PartStocktakeTableCore,
3815
3806
  PlatformEnum,
3816
- cv as PosEnum,
3807
+ cu as PosEnum,
3817
3808
  PretreatmentListTableCore,
3818
3809
  ProfileDrivenSubTableCore,
3819
3810
  at as RangeCompareOp,
@@ -3828,7 +3819,7 @@ export {
3828
3819
  SubTableCore,
3829
3820
  SubTableCoreFactory,
3830
3821
  SubTableType,
3831
- cw as SummaryApproveHisTypeEnum,
3822
+ cv as SummaryApproveHisTypeEnum,
3832
3823
  af as TimeDiffFormat,
3833
3824
  aj as ViewTypeEnum,
3834
3825
  WarehouseInTableCore,
@@ -3836,94 +3827,94 @@ export {
3836
3827
  WarehouseOutTableCore,
3837
3828
  WarehouseOutboundTableCore,
3838
3829
  ad as WidgetImageSizeMode,
3839
- cx as applyCheckDsDataToRuntime,
3830
+ cw as applyCheckDsDataToRuntime,
3840
3831
  d as applyConsumeObjectTraceChange,
3841
- cy as applyMedProCheckDsDataToRuntime,
3832
+ cx as applyMedProCheckDsDataToRuntime,
3842
3833
  baseDataUtils,
3843
- cz as buildDeviceBaseQuery,
3844
- bb as buildDeviceFilterQuery,
3845
- cA as buildFormChangeDisplayRows,
3834
+ cy as buildDeviceBaseQuery,
3835
+ bc as buildDeviceFilterQuery,
3836
+ cz as buildFormChangeDisplayRows,
3846
3837
  b as buildObjectLotExtraQuery,
3847
- cB as buildStableFieldLocation,
3838
+ cA as buildStableFieldLocation,
3848
3839
  calcFillData,
3849
3840
  calcUtils,
3850
3841
  clearFormRules,
3851
3842
  collectAnnotationItemsByLocation,
3852
3843
  collectFormChangeFieldLocations,
3853
3844
  commonUtils,
3854
- cC as deleteSubtableRow,
3855
- cD as detailsHaveFormChangeRowOps,
3845
+ cB as deleteSubtableRow,
3846
+ cC as detailsHaveFormChangeRowOps,
3856
3847
  enrichFormChangeRowDetails,
3857
- cE as extractFormChangeRowDetails,
3848
+ cD as extractFormChangeRowDetails,
3858
3849
  extractKeywordFromQueryData,
3859
- cF as fetchCheckDsDataForTable,
3860
- cG as fetchCustomCheckDsData,
3850
+ cE as fetchCheckDsDataForTable,
3851
+ cF as fetchCustomCheckDsData,
3861
3852
  fetchHistoryConsume,
3862
- cH as fetchMedProCheckDsData,
3853
+ cG as fetchMedProCheckDsData,
3863
3854
  f as fetchOperationReceiveQty,
3864
3855
  filterAnnotationItemsUpToCurrent,
3865
3856
  U as getAppInfo,
3866
- cI as getCheckTableSnapshotKey,
3867
- cJ as getFormChangeRowKey,
3868
- cK as getFormChangeRowOp,
3857
+ cH as getCheckTableSnapshotKey,
3858
+ cI as getFormChangeRowKey,
3859
+ cJ as getFormChangeRowOp,
3869
3860
  aZ as getLotLockedReason,
3870
3861
  g as getObjectBomMaterialLotQuery,
3871
3862
  e as getObjectBomProductQuery,
3872
- cL as getParseRuleConfig,
3863
+ cK as getParseRuleConfig,
3873
3864
  getParseRuleInfo,
3874
3865
  getParseRuleValue,
3875
- cM as getReinspectionDate,
3876
- cN as getSubTableQuickFillInfo,
3866
+ cL as getReinspectionDate,
3867
+ cM as getSubTableQuickFillInfo,
3877
3868
  V as getSuiteKey,
3878
- cO as handleOldConfig,
3879
- cP as hasAnyCheckTableSnapshot,
3880
- cQ as hasByTableCheckTableSnapshot,
3881
- cR as hasSharedCheckTableSnapshot,
3882
- cS as insertSubtableRows,
3883
- cT as isAnnLocationSelected,
3869
+ cN as handleOldConfig,
3870
+ cO as hasAnyCheckTableSnapshot,
3871
+ cP as hasByTableCheckTableSnapshot,
3872
+ cQ as hasSharedCheckTableSnapshot,
3873
+ cR as insertSubtableRows,
3874
+ cS as isAnnLocationSelected,
3884
3875
  W as isBlank,
3885
3876
  isBomGranted,
3886
3877
  isEdhrSuite,
3887
3878
  X as isEqmSuite,
3888
- cU as isFormChangeGhostRow,
3889
- cV as isMedProSuite,
3890
- cW as isRowAddedInCurrentFormChange,
3891
- cX as jsonSchemaUtils,
3892
- cY as judgeUnique,
3879
+ cT as isFormChangeGhostRow,
3880
+ cU as isMedProSuite,
3881
+ cV as isRowAddedInCurrentFormChange,
3882
+ cW as jsonSchemaUtils,
3883
+ cX as judgeUnique,
3893
3884
  aY as materialCheck,
3894
- cZ as migrateDiagonalDirectionToVertex,
3885
+ cY as migrateDiagonalDirectionToVertex,
3895
3886
  nextFormChangeRowViewHistoryId,
3896
- b6 as normalizeRefLoaderResult,
3897
- c_ as parseFrontConfig,
3887
+ b7 as normalizeRefLoaderResult,
3888
+ cZ as parseFrontConfig,
3898
3889
  Y as pickObjectFieldKeys,
3899
- c$ as recordSubtableRowAdd,
3900
- d0 as recordSubtableRowDelete,
3901
- b9 as refUtils,
3890
+ c_ as recordSubtableRowAdd,
3891
+ c$ as recordSubtableRowDelete,
3892
+ ba as refUtils,
3902
3893
  registerValidationContext,
3903
- d1 as relocateDeletedRowsToEnd,
3894
+ d0 as relocateDeletedRowsToEnd,
3904
3895
  renderUtils,
3905
3896
  requestDisplayValidation,
3906
3897
  requestFullValidation,
3907
- d2 as requestMedProCheckDsData,
3908
- d3 as requestNonMedProCheckDsData,
3909
- d4 as resolveAnnotationFieldLocation,
3898
+ d1 as requestMedProCheckDsData,
3899
+ d2 as requestNonMedProCheckDsData,
3900
+ d3 as resolveAnnotationFieldLocation,
3910
3901
  ah as resolveDiagonalVertex,
3911
3902
  q as resolveFieldRenderComponent,
3912
- d5 as resolveFormChangeRowUi,
3903
+ d4 as resolveFormChangeRowUi,
3913
3904
  r as resolveObjectFieldKeys,
3914
- d6 as resolveRowFormChangeMark,
3905
+ d5 as resolveRowFormChangeMark,
3915
3906
  c as runWithFillProduct,
3916
3907
  aR as setSelectAnnotationId,
3917
- d7 as setSelectMobileTdId,
3908
+ d6 as setSelectMobileTdId,
3918
3909
  aQ as setSelectValidatorId,
3919
3910
  settleAndValidateDisplay,
3920
3911
  aO as sqlUtils,
3921
- d8 as stockCheck,
3912
+ d7 as stockCheck,
3922
3913
  transformUtils,
3923
3914
  unregisterValidationContext,
3924
3915
  N as useCalculateFormula,
3925
3916
  b3 as useCurrentPageFormState,
3926
- bf as useDependency,
3917
+ bg as useDependency,
3927
3918
  useEbrWikiFactoryV2,
3928
3919
  u2 as useFormModel,
3929
3920
  u as useFormTmplConfig,
@@ -3931,8 +3922,8 @@ export {
3931
3922
  useMaterialBalance,
3932
3923
  useNocodeEmitter,
3933
3924
  a$ as useNocodeFormWidget,
3934
- d9 as useOnlineFormActionButton,
3935
- bd as useOnlineFormTransformField2Component,
3925
+ d8 as useOnlineFormActionButton,
3926
+ be as useOnlineFormTransformField2Component,
3936
3927
  useRenderPageFactory,
3937
3928
  h as useStyles,
3938
3929
  a as useTmplBom,
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock } from "vue";
2
- import { a as useModelFields, D as Diagonal } from "./index-BdYLvVU_.js";
3
- import { ah as resolveDiagonalVertex, a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
2
+ import { a as useModelFields, D as Diagonal } from "./index-C7rqTlv6.js";
3
+ import { ah as resolveDiagonalVertex, a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js";
4
4
  import "lodash-es";
5
5
  import "dayjs";
6
6
  import "ant-design-vue";
@@ -1,10 +1,10 @@
1
1
  import { computed, watch, toRaw, onUnmounted, markRaw, ref, inject, unref, provide, nextTick, reactive, defineComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, toRef, isVNode, h, onMounted, onBeforeMount, resolveComponent, createBlock, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
- import { C as ComponentTypeEnum, aP as useWidgetStaticAttrs, Z as PlatformEnum, da as assembleRules, db as deleteFormRule, dc as setFormRule, c3 as requestDisplayValidation, dd as isReferenceOptionActive, de as validateAllFields, df as runValidation, dg as ensureFrontRowKey, dh as FRONT_ROW_KEY, cg as getRowId, b1 as getParseRuleInfo, ba as transformUtils, aY as materialCheck, aZ as getLotLockedReason, a_ as validateReinspectionDate, bg as FormulaRuleFieldKeyEnum, aW as NCB_PROVIDE, F as FIELD_TYPE, di as buildError, z as api, l as SubTableType, b2 as getParseRuleValue, ca as uuid2, aH as DeviceLink, a4 as _export_sfc, cA as buildFormChangeDisplayRows, d6 as resolveRowFormChangeMark, d5 as resolveFormChangeRowUi, cT as isAnnLocationSelected, d7 as setSelectMobileTdId, cU as isFormChangeGhostRow, x as CellType, aR as setSelectAnnotationId, d0 as recordSubtableRowDelete, cC as deleteSubtableRow, d1 as relocateDeletedRowsToEnd, cS as insertSubtableRows, c$ as recordSubtableRowAdd, G as useModal, dj as q, dk as groupFixedTableRows, dl as QUICK_FILL_ALLOWED_FIELDS, dm as processQuickFillRows, dn as getIsGroupEmpty, be as RenderModeEnum, cN as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-C-9FZYex.js";
2
+ import { C as ComponentTypeEnum, aP as useWidgetStaticAttrs, Z as PlatformEnum, d9 as assembleRules, da as deleteFormRule, db as setFormRule, c2 as requestDisplayValidation, dc as isReferenceOptionActive, dd as validateAllFields, de as runValidation, df as ensureFrontRowKey, dg as FRONT_ROW_KEY, cf as getRowId, b1 as getParseRuleInfo, bb as transformUtils, aY as materialCheck, aZ as getLotLockedReason, a_ as validateReinspectionDate, bh as FormulaRuleFieldKeyEnum, aW as NCB_PROVIDE, F as FIELD_TYPE, dh as buildError, z as api, l as SubTableType, b2 as getParseRuleValue, c9 as uuid2, aH as DeviceLink, a4 as _export_sfc, cz as buildFormChangeDisplayRows, d5 as resolveRowFormChangeMark, d4 as resolveFormChangeRowUi, cS as isAnnLocationSelected, d6 as setSelectMobileTdId, cT as isFormChangeGhostRow, x as CellType, aR as setSelectAnnotationId, c$ as recordSubtableRowDelete, cB as deleteSubtableRow, d0 as relocateDeletedRowsToEnd, cR as insertSubtableRows, c_ as recordSubtableRowAdd, G as useModal, di as q, dj as groupFixedTableRows, dk as QUICK_FILL_ALLOWED_FIELDS, dl as processQuickFillRows, dm as getIsGroupEmpty, bf as RenderModeEnum, cM as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-YMRTuHK2.js";
3
3
  import { isNil, cloneDeep, merge, pickBy, mergeWith, omit, last, pick } from "lodash-es";
4
4
  import dayjs from "dayjs";
5
5
  import { u as useNamespace } from "./use-namespace-BxkK4ofX.js";
6
6
  import { Modal, message } from "ant-design-vue";
7
- import { u as useFormModel } from "./mb-render-3PvobIBc.js";
7
+ import { u as useFormModel } from "./mb-render-DL5qUcdf.js";
8
8
  const InstanceStatusValues = {
9
9
  /** 作废状态 */
10
10
  ABANDON: "ABANDON",
@@ -3378,14 +3378,37 @@ class DeviceLinkTmplUtil {
3378
3378
  };
3379
3379
  }
3380
3380
  /**
3381
- * 计算完整的提示词
3382
- * @static
3383
- * @param tmpl
3384
- * @return {*}
3381
+ * 推荐模式保存时转成运行提示词:文案保持 ${字段名},
3382
+ * 按插入时记下的字段补上与普通模式相同的 JSON 回写格式。
3385
3383
  */
3384
+ static buildRecommendedRuntimePrompt(tmpl) {
3385
+ const text = tmpl.recommendedPrompt ?? this.DEFAULT_RECOMMENDED_PROMPT;
3386
+ const params = (tmpl.identifyParams || []).filter(
3387
+ (item) => item.prompt?.trim() && item.formField
3388
+ );
3389
+ const fieldKeys = [];
3390
+ params.forEach((item) => {
3391
+ const token = "${" + item.prompt.trim() + "}";
3392
+ const formField = item.formField;
3393
+ if (!text.includes(token) || !formField) return;
3394
+ const fieldKey = formField.split(".").at(-1);
3395
+ if (fieldKey && !fieldKeys.includes(fieldKey)) {
3396
+ fieldKeys.push(fieldKey);
3397
+ }
3398
+ });
3399
+ if (!fieldKeys.length) return text;
3400
+ const jsonObj = fieldKeys.reduce((acc, fieldKey) => {
3401
+ acc[fieldKey] = { value: null };
3402
+ return acc;
3403
+ }, {});
3404
+ return `${text}
3405
+ 请识别图片中的读数,以
3406
+ ${JSON.stringify(jsonObj, null, 2)}
3407
+ 格式返回`;
3408
+ }
3386
3409
  static calcEntirePrompt(tmpl) {
3387
3410
  if (tmpl.promptMode === "RECOMMENDED") {
3388
- return tmpl.recommendedPrompt ?? this.DEFAULT_RECOMMENDED_PROMPT;
3411
+ return this.buildRecommendedRuntimePrompt(tmpl);
3389
3412
  }
3390
3413
  const validParams = (tmpl.identifyParams || []).map((item) => ({
3391
3414
  prompt: item.prompt?.trim(),