@gct-paas/excel 0.1.40-beta.6 → 0.1.40-beta.7

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 (106) hide show
  1. package/dist/{BaseComponent-Dfx-Xuv4.js → BaseComponent-ByKSQlX5.js} +2 -2
  2. package/dist/{VueVideoPlayer-DHqhqgGs.js → VueVideoPlayer-D9kpfmiz.js} +2 -2
  3. package/dist/{align-editor-hvllGvX8.js → align-editor-lWVPNKlR.js} +1 -1
  4. package/dist/{barcode-design-CzlfYJ3s.js → barcode-design-zpWBlelw.js} +2 -2
  5. package/dist/base/index.es.js +265 -109
  6. package/dist/{diagonal-design-DCVidBZD.js → diagonal-design-CzRKVjcY.js} +2 -2
  7. package/dist/{dynamic-table-action-Dn_iw4tV.js → dynamic-table-action-DkHb1ST4.js} +146 -146
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js} +536 -495
  9. package/dist/{edit.utils-CXmmCnxE-BUEfsAZ3.js → edit.utils-CXmmCnxE-DIhkrimt.js} +1 -1
  10. package/dist/excel.css +9 -9
  11. package/dist/{exceljs.min-9FX7NALn.js → exceljs.min-DoNsTxQp.js} +2 -2
  12. package/dist/{font-editor-ClqMOFPr.js → font-editor-N7060zuX.js} +3 -3
  13. package/dist/{image-design-Cx1YIea4.js → image-design-fXKNGIm3.js} +2 -2
  14. package/dist/{index-Cl_94fZQ.js → index-7J6OP2x9.js} +2 -2
  15. package/dist/{index-B4c_0M_d.js → index-8A45IOjw.js} +2 -2
  16. package/dist/{index-BM1sPB29.js → index-8BLKPnwH.js} +1 -1
  17. package/dist/{index-B3KkYxiX.js → index-B5FuofNW.js} +2 -2
  18. package/dist/{index-Dp2q7ZPo.js → index-B6fCHnZl.js} +2 -2
  19. package/dist/{index-BLrixMsM.js → index-BA4zmgdk.js} +2 -2
  20. package/dist/{index-mCrtpdq2.js → index-BDRyjPGr.js} +204 -59
  21. package/dist/{index-CcB9d0A-.js → index-BEX6lJX9.js} +2 -2
  22. package/dist/{index-CVG3Z6rp.js → index-BJA3YJns.js} +3 -3
  23. package/dist/{index-COmm7d4j.js → index-BXxzWXS4.js} +1 -1
  24. package/dist/{index-NqYSNDX9.js → index-Bgh8yfAl.js} +2 -2
  25. package/dist/{index-D7ZzvopL.js → index-Bh-tmh-F.js} +2 -2
  26. package/dist/{index-Dru8lW-_.js → index-C4Mlck0_.js} +1 -1
  27. package/dist/{index-B9xwdsWY.js → index-C5IwDker.js} +4 -4
  28. package/dist/{index-BWHnHAjs.js → index-C6STl6m-.js} +1 -1
  29. package/dist/{index-D4zDlgqU.js → index-CCw8gM1y.js} +1 -1
  30. package/dist/{index-CWjwF2wn.js → index-CZIuP6b-.js} +2 -2
  31. package/dist/{index-CjCFTTI3.js → index-CaojJi0S.js} +1 -1
  32. package/dist/{index-BdYI71iy.js → index-CbeaPNDv.js} +2 -2
  33. package/dist/{index-DCv60fUG.js → index-CfY2WTcN.js} +2 -2
  34. package/dist/{index-BgzCdSQH.js → index-CtHy6vBq.js} +3 -3
  35. package/dist/{index-NJZaG-sl.js → index-CuHKZOUw.js} +2 -2
  36. package/dist/{index-CG5LAGQp.js → index-Cza077GN.js} +2 -2
  37. package/dist/{index-DkXBzlUL.js → index-DGyygsxH.js} +2 -2
  38. package/dist/{index-BjSWHyj1.js → index-DSUDSbPf.js} +1 -1
  39. package/dist/{index-DYyVGkv3.js → index-DeEz6LI3.js} +2 -2
  40. package/dist/{index-BkoKoZbl.js → index-DgbgqO-w.js} +1 -1
  41. package/dist/{index-a6chYhIK.js → index-DnHsEIgl.js} +2 -2
  42. package/dist/{index-BRc6frrP.js → index-Xx36PP2U.js} +2 -2
  43. package/dist/{index-vEKEZcff.js → index-a0vY4sVG.js} +2 -2
  44. package/dist/{index-CyPwg8fV.js → index-bRZUDA7R.js} +1 -1
  45. package/dist/{index-Cj_t_73x.js → index-gEI8m-b5.js} +1 -1
  46. package/dist/{index-q_pMlfx9.js → index-pSRRsoDQ.js} +3 -3
  47. package/dist/{index-lf11EIvP.js → index-tjo9dn4X.js} +2 -2
  48. package/dist/{index-BKnroXXX.js → index-yf50oYV1.js} +3 -3
  49. package/dist/index.es.js +2 -2
  50. package/dist/{mb-render-DjSdDuaL.js → mb-render-BCtvoXM-.js} +1 -1
  51. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-QrM7rL99.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DbNfQIzD.js} +1 -1
  52. package/dist/{pagination-design-DJEw5vlL.js → pagination-design-BLhJhoHb.js} +2 -2
  53. package/dist/paper-widget-design-B8gKgZep.js +4 -0
  54. package/dist/{print-runtime-instance-BtxZfq51.js → print-runtime-instance-v1jzD3oO.js} +1 -1
  55. package/dist/{print-snapshot-renderer-0D5MUsR6.js → print-snapshot-renderer-BSf76qD7.js} +3 -3
  56. package/dist/{qrcode-design-9jPH-S8z.js → qrcode-design-D9f0hRKd.js} +1 -1
  57. package/dist/{revo-grid.entry-BhCFcCVS.js → revo-grid.entry-NMojEZjd.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-icpuI3V8.js → revogr-attribution_7.entry-jR0LwEie.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-Dm2_h2RL.js → revogr-clipboard_3.entry-DMQ65QLh.js} +2 -2
  60. package/dist/{revogr-data_4.entry-DlVEyI7J.js → revogr-data_4.entry-Buvf7dRf.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-MJr7PMnd.js → revogr-filter-panel.entry-TLjszdsH.js} +1 -1
  62. package/dist/seal-design-B80mv8SJ.js +4 -0
  63. package/dist/{serialnumber-design-BsfJH6Kp.js → serialnumber-design-DsSZwN3t.js} +1 -1
  64. package/dist/shared/index.es.js +9 -9
  65. package/dist/{single-field-drop-DXjppxDh.js → single-field-drop-DRMCsh_s.js} +2 -2
  66. package/dist/{size-editor-DzQdRb-7.js → size-editor-m8uyQ1bU.js} +1 -1
  67. package/dist/src/domain/document-business/business/product-release/profile.d.ts +2 -0
  68. package/dist/src/domain/document-business/business/product-release/service.d.ts +2 -0
  69. package/dist/src/domain/document-business/index.d.ts +2 -0
  70. package/dist/src/domain/document-business/registry.d.ts +2 -0
  71. package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +4 -0
  72. package/dist/src/domain/document-business/types.d.ts +24 -0
  73. package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +2 -0
  74. package/dist/src/domain/field/query-filter.d.ts +15 -0
  75. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +13 -11
  76. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +8 -0
  77. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +3 -3
  78. package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts +24 -0
  79. package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +1 -0
  80. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +3 -0
  81. package/dist/src/nocode-base/src/interface/ref-loader.d.ts +12 -1
  82. package/dist/src/nocode-base/src/types/common/base.d.ts +2 -0
  83. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  84. package/dist/src/shared/enum/field-type.d.ts +5 -0
  85. package/dist/src/shared/utils/withRequestCache.d.ts +27 -0
  86. package/dist/{sub-table-factory-Ddx70uYs.js → sub-table-factory-BxxIXXCZ.js} +194 -85
  87. package/dist/{text-design-DmLrMqdk.js → text-design-DgOV0ZhV.js} +2 -2
  88. package/dist/{throttle-Cpk1LoGk-DLVGpnFw.js → throttle-Cpk1LoGk-Dj14U5ox.js} +1 -1
  89. package/dist/{timediff-design-CYqz1SKQ.js → timediff-design-C0zYdIQI.js} +1 -1
  90. package/dist/{trace-like-wrapper-CVl0Vm8r.js → trace-like-wrapper-XB73ltP9.js} +2 -2
  91. package/dist/{value-editor.vue_vue_type_style_index_0_lang-B0aWEk5D.js → value-editor.vue_vue_type_style_index_0_lang-CRFXw695.js} +2 -2
  92. package/dist/web-render/index.es.js +3 -3
  93. package/dist/{widget-barcode-DwYihxgd.js → widget-barcode-BLKBY_Dh.js} +4 -4
  94. package/dist/{widget-diagonal-DWdxDYVl.js → widget-diagonal-LVxcpB3b.js} +3 -3
  95. package/dist/{widget-image-D1SXIbMU.js → widget-image-Cch0ImSI.js} +5 -5
  96. package/dist/{widget-line-BNTbSFkx.js → widget-line-CUSNrxgG.js} +2 -2
  97. package/dist/{widget-pagination-25CKNe-i.js → widget-pagination-CM1S6Ytp.js} +5 -5
  98. package/dist/{widget-power-BSjWdgM3.js → widget-power-DQJ8F2R7.js} +3 -3
  99. package/dist/{widget-qrcode-Kbe9Skrd.js → widget-qrcode-BmnaFfc4.js} +3 -3
  100. package/dist/{widget-rangelimit-TWPoG8DX.js → widget-rangelimit-Db0ZX6Fb.js} +3 -3
  101. package/dist/{widget-serialnumber-uNkQzBIT.js → widget-serialnumber-BEOWsFs1.js} +1 -1
  102. package/dist/{widget-text-DH4r60jo.js → widget-text-DZFAhPxy.js} +5 -5
  103. package/dist/{widget-timediff-Bv8VCgrv.js → widget-timediff-C_Nh7uw-.js} +2 -2
  104. package/package.json +1 -1
  105. package/dist/paper-widget-design-C3rm4SzP.js +0 -4
  106. package/dist/seal-design-CtzWGxnH.js +0 -4
@@ -0,0 +1,8 @@
1
+ import { RefCustomLoader } from '../../../../../../nocode-base/src/interface/ref-loader';
2
+ export declare function flattenMaterialConsumeRecord(item: Record<string, any>): Record<string, any>;
3
+ /** 同一条选中记录的批次名称、ID 和展示名必须一起回填。 */
4
+ export declare function buildTargetMaterialSelectionPatch(record: Record<string, any>): Record<string, unknown>;
5
+ /** 历史消耗只使用当前行生产 SN,未选、LOT 或无法确认类型时阻断查询。 */
6
+ export declare function createMaterialConsumeHistoryLoader(rowData: Record<string, any>, fieldName?: string): RefCustomLoader;
7
+ /** 替换料从 LOT/SN 选择,保存产品 ID,批次身份由行内批号字段保存。 */
8
+ export declare function createTargetMaterialLoader(rowData: Record<string, any>): RefCustomLoader;
@@ -80,9 +80,9 @@ export declare class MaterialRequisitionTableCore extends ProfileDrivenSubTableC
80
80
  }
81
81
  /**
82
82
  * 物料替换表 Core
83
- * - 原物料和替换料均从历史消耗中选择,并按当前 SN / 工序过滤
84
- * - 选择后回填对应批号、物料信息和消耗数量
85
- * - 替换物料批号回填替换物料信息
83
+ * - 被替换物料从当前行生产 SN 的历史消耗中选择,可按行内工序过滤
84
+ * - 替换物料从 LOT/SN 中选择,回填批次和物料信息,保留替换数量
85
+ * - 替换物料批号回填替换物料及其信息
86
86
  * - 条码映射结果优先填充空行,否则追加新行
87
87
  */
88
88
  export declare class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
@@ -0,0 +1,24 @@
1
+ import { IBasicInfoItem, ValidateFieldErrorMap } from '../../types';
2
+ import { RuntimeInstanceRecord } from '../../runtime';
3
+ type Options = {
4
+ record: RuntimeInstanceRecord;
5
+ getInfo(): IBasicInfoItem | undefined;
6
+ isCurrent(): boolean;
7
+ shouldSkip(): boolean;
8
+ applyComments(fields: ValidateFieldErrorMap): void;
9
+ };
10
+ type Result = {
11
+ isValid: boolean;
12
+ fields?: ValidateFieldErrorMap;
13
+ };
14
+ /** 实例级对象错误展示与刷新;数据变化由已有 Store 订阅传入。 */
15
+ export declare function createMaterialConsumeObjectValidation(options: Options): {
16
+ validate: (live?: boolean) => Promise<Result | undefined>;
17
+ requestLive: () => void;
18
+ replaceTableFields: (fields?: ValidateFieldErrorMap) => void;
19
+ clear: () => void;
20
+ beginSubmit(): void;
21
+ endSubmit(): void;
22
+ dispose(): void;
23
+ };
24
+ export {};
@@ -41,6 +41,7 @@ export declare function createRuntimeInstanceInitializer(props: IProps, payload:
41
41
  productSearchFields: string;
42
42
  showPrintFieldBg: any;
43
43
  paramsConfig: Record<string, any> | undefined;
44
+ businessType: any;
44
45
  instanceStatus: any;
45
46
  };
46
47
  selfInfo: RuntimeSelfInfo;
@@ -87,6 +87,7 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
87
87
  renderPurpose?: "print" | "pdf" | undefined;
88
88
  showPrintFieldBg?: boolean | undefined;
89
89
  paramsConfig?: Record<string, any> | undefined;
90
+ businessType?: string | undefined;
90
91
  instanceStatus?: string | undefined;
91
92
  }[], IBasicInfoItem[] | {
92
93
  key: string;
@@ -129,6 +130,7 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
129
130
  renderPurpose?: "print" | "pdf" | undefined;
130
131
  showPrintFieldBg?: boolean | undefined;
131
132
  paramsConfig?: Record<string, any> | undefined;
133
+ businessType?: string | undefined;
132
134
  instanceStatus?: string | undefined;
133
135
  }[]>;
134
136
  selfInfoList: import('vue').Ref<{
@@ -196,6 +198,7 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
196
198
  renderPurpose?: "print" | "pdf" | undefined;
197
199
  showPrintFieldBg?: boolean | undefined;
198
200
  paramsConfig?: Record<string, any> | undefined;
201
+ businessType?: string | undefined;
199
202
  instanceStatus?: string | undefined;
200
203
  } | undefined;
201
204
  updateRenderModeType: (uniqueId: string, mode: import('..').RenderModeEnum, updateButton?: boolean) => Promise<void>;
@@ -34,7 +34,18 @@ export type RefCustomLoaderRawResult = RefLoaderNormalizedResult | {
34
34
  dict?: any;
35
35
  pageSize?: number;
36
36
  } | any[];
37
- export type RefCustomLoader = (params: RefCustomLoaderParams) => Promise<RefCustomLoaderRawResult>;
37
+ export type RefCustomLoader = ((params: RefCustomLoaderParams) => Promise<RefCustomLoaderRawResult>) & {
38
+ /** 下拉展开前校验;未通过时由字段组件弹出 message 并阻止展开。 */
39
+ beforeOpen?: () => Promise<{
40
+ allowed: boolean;
41
+ message?: string;
42
+ }>;
43
+ /** 选项关联同一物料时,仍按批次等独立身份高亮。 */
44
+ getSelectedKey?: () => string | undefined;
45
+ getOptionKey?: (option: RefLoaderNormalizedResult['options'][number]) => string;
46
+ /** 选中后立即与主字段一起回填的关联数据。 */
47
+ getSelectionPatch?: (record: Record<string, any>) => Record<string, unknown>;
48
+ };
38
49
  /** 从 queryData 中提取快捷搜索关键字 */
39
50
  export declare function extractKeywordFromQueryData(queryData?: Record<string, any>): any;
40
51
  /** 将自定义数据源返回值标准化为 ref 组件消费结构 */
@@ -377,6 +377,8 @@ export interface IBasicInfoItem {
377
377
  showPrintFieldBg?: boolean;
378
378
  /** 填报入参(selfInfo.params + paramExtraProps) */
379
379
  paramsConfig?: Record<string, any>;
380
+ /** detail 返回的单据业务类型,供业务字段查询匹配场景。 */
381
+ businessType?: string;
380
382
  /** 实例状态 */
381
383
  instanceStatus?: string;
382
384
  }
@@ -82,6 +82,7 @@ export declare const FieldTypeToCellWidgetMap: {
82
82
  scrap_material_no: CellWidgetCategory;
83
83
  destructive_test_qty: CellWidgetCategory;
84
84
  product_check_qty: CellWidgetCategory;
85
+ product_release_qty: CellWidgetCategory;
85
86
  material_check_qty: CellWidgetCategory;
86
87
  inspection_qty: CellWidgetCategory;
87
88
  inspection_module_qty: CellWidgetCategory;
@@ -327,6 +327,10 @@ export declare enum FIELD_TYPE {
327
327
  * 产品检验数量
328
328
  */
329
329
  PRODUCT_CHECK_QTY = "product_check_qty",
330
+ /**
331
+ * 放行数量
332
+ */
333
+ PRODUCT_RELEASE_QTY = "product_release_qty",
330
334
  /**
331
335
  * 材料检验数量
332
336
  */
@@ -568,6 +572,7 @@ export declare const FieldIconMap: {
568
572
  scrap_material_no: string;
569
573
  destructive_test_qty: string;
570
574
  product_check_qty: string;
575
+ product_release_qty: string;
571
576
  material_check_qty: string;
572
577
  inspection_qty: string;
573
578
  inspection_module_qty: string;
@@ -0,0 +1,27 @@
1
+ type RequestFn<TParams, TResult> = (params: TParams) => Promise<TResult>;
2
+ interface CacheEntry<TResult> {
3
+ data: TResult;
4
+ expireAt: number;
5
+ }
6
+ export declare const withRequestCache: {
7
+ pendingMap: Map<string, Promise<any>>;
8
+ cacheMap: Map<string, CacheEntry<any>>;
9
+ defaultTTL: number;
10
+ /** 生成唯一 key */
11
+ getKey(url: string, params: any): string;
12
+ /**
13
+ * 处理带缓存与去重的请求
14
+ * @param url 唯一逻辑标识(非实际 API 地址)
15
+ * @param params 请求参数
16
+ * @param requestFn 实际请求函数
17
+ * @param ttl 可选,缓存有效期(毫秒)
18
+ */
19
+ handleRequest<TParams, TResult>(url: string, params: TParams, requestFn: RequestFn<TParams, TResult>, ttl?: number): Promise<TResult>;
20
+ /** 清空全部缓存 */
21
+ clearCache(): void;
22
+ /** 清空 pending 状态 */
23
+ clearPending(): void;
24
+ /** 定期清理过期缓存 */
25
+ cleanupExpiredCache(): void;
26
+ };
27
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { shallowReactive } from "vue";
2
- import { aI as SubTableActionMenuTypeEnum, aJ as getMenuByAction, aK as SubTableActionEnum, aL as resolveScanFillData, ao as SubTableCore, aM as buildDefaultMapFromProfile, aN as buildFieldStatusFromProfile, aO as getRowHandlersForFieldChange, aP as getInsertSubMenu, aQ as resolveScanAdjustType, aR as resolveScanQty, aS as toDateOnly, aT as getCopySubMenu, aU as resolveScanParsedValue, aV as isProductBatchEmptyRow } from "./dynamic-table-action-Dn_iw4tV.js";
3
- import { p as api, cP as F$1, cQ as SCAN_ROW_CONTENT_FIELDS, cR as F$2, cS as FILL_FROM_TARGET_PRODUCT_OPTION, cT as F$3, cU as runRowHandler, c as getProfileByTableType, b as isBusinessSubTableProfile, cV as F$4, cW as F$5, cX as FILL_FROM_SOURCE_PRODUCT_OPTION, cY as FILL_FROM_TARGET_MATERIAL_NO_OPTION, cZ as FILL_FROM_INVENTORY_OPTION, c_ as FILL_FROM_PART_OPTION, c$ as FILL_FROM_INVENTORY_OPTION$1, d0 as TABLE_TYPE, d1 as FILL_FROM_INVENTORY_OPTION$2, b5 as F$6, d2 as INVENTORY_BASE_FIELDS, d3 as resolveGroupByWarehouse, d4 as AUTO_LOAD_READONLY_SELECT_FIELDS, b4 as STOCKTAKE_DIMENSION, b1 as getParseRuleInfo, d5 as buildFillFromInventoryOption, c4 as calcFillData, d6 as resolveStocktakeInventoryApi, b2 as getParseRuleValue, d7 as F$7, d8 as FILL_FROM_INVENTORY_OPTION$3, d9 as LOCKED_INPUT_FIELDS, ca as extractKeywordFromQueryData, da as composeProductionLotListQuery, aM as resolveLotDisplayLabel, db as F$8, dc as isProductManuallyEditable, dd as applyFillFromMfgOrderOption, de as applyFillFromOption$1, df as applyFillFromProductOption, a$ as ProductionIdentificationTypeEnum, aU as LOT_CONTAINER_ROLE, dg as MATERIAL_CONTAINER_ID, dh as F$9, di as PRODUCT_QUICK_SEARCH_FIELDS, dj as PRODUCT_QUICK_SEARCH_EXP, dk as isProductManuallyEditable$1, dl as applyFillFromMaterialNoOption, dm as applyFillFromProductOption$1, dn as F$a, dp as FILL_FROM_INVENTORY_OPTION$4, Z as FormTypeEnum, aH as transformUtils, h as SubTableType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
2
+ import { aI as SubTableActionMenuTypeEnum, aJ as getMenuByAction, aK as SubTableActionEnum, aL as resolveScanFillData, ao as SubTableCore, aM as buildDefaultMapFromProfile, aN as buildFieldStatusFromProfile, aO as getRowHandlersForFieldChange, aP as getInsertSubMenu, aQ as resolveScanAdjustType, aR as resolveScanQty, aS as toDateOnly, aT as getCopySubMenu, aU as resolveScanParsedValue, aV as isProductBatchEmptyRow } from "./dynamic-table-action-DkHb1ST4.js";
3
+ import { p as api, cQ as F$1, aM as resolveLotDisplayLabel, cR as FILL_FROM_TARGET_PRODUCT_OPTION, aY as resolveLotRecordByValue, b0 as ProductionIdentificationTypeEnum, aW as buildLotSnListQuery, cS as F$2, cT as SCAN_ROW_CONTENT_FIELDS, cU as F$3, cV as runRowHandler, c as getProfileByTableType, b as isBusinessSubTableProfile, cW as F$4, cX as F$5, cY as FILL_FROM_SOURCE_PRODUCT_OPTION, cZ as FILL_FROM_TARGET_MATERIAL_NO_OPTION, c_ as FILL_FROM_INVENTORY_OPTION, c$ as FILL_FROM_PART_OPTION, d0 as FILL_FROM_INVENTORY_OPTION$1, d1 as TABLE_TYPE, d2 as FILL_FROM_INVENTORY_OPTION$2, b6 as F$6, d3 as INVENTORY_BASE_FIELDS, d4 as resolveGroupByWarehouse, d5 as AUTO_LOAD_READONLY_SELECT_FIELDS, b5 as STOCKTAKE_DIMENSION, b2 as getParseRuleInfo, d6 as buildFillFromInventoryOption, c5 as calcFillData, d7 as resolveStocktakeInventoryApi, b3 as getParseRuleValue, d8 as F$7, d9 as FILL_FROM_INVENTORY_OPTION$3, da as LOCKED_INPUT_FIELDS, cb as extractKeywordFromQueryData, db as composeProductionLotListQuery, dc as F$8, dd as isProductManuallyEditable, de as applyFillFromMfgOrderOption, df as applyFillFromOption$1, dg as applyFillFromProductOption, aV 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, Z as FormTypeEnum, aH as transformUtils, h as SubTableType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
4
4
  import { has, merge } from "lodash-es";
5
5
  class RuntimeInstanceController {
6
6
  context;
@@ -284,6 +284,152 @@ async function matchProductionIdentificationScanRecords(parsed) {
284
284
  );
285
285
  return unwrapBizServiceList(result);
286
286
  }
287
+ function isBlank$4(value) {
288
+ return value === void 0 || value === null || value === "";
289
+ }
290
+ function flattenMaterialConsumeRecord(item) {
291
+ const result = { ...item };
292
+ for (const field of ["product_id_.name_", "product_id_.code_", "product_id_.spec_"]) {
293
+ result[field] = item[field] ?? item._OPCT?.[field] ?? item.__FOREIGN__?.[field];
294
+ }
295
+ return result;
296
+ }
297
+ const emptyResult = () => ({ data: [], options: [], finished: true, totalCount: 0, totalPage: 0 });
298
+ function buildTargetMaterialSelectionPatch(record) {
299
+ const hasBatch = !isBlank$4(record.name_);
300
+ const label = hasBatch ? resolveLotDisplayLabel(record) : "";
301
+ return {
302
+ ...Object.fromEntries(
303
+ FILL_FROM_TARGET_PRODUCT_OPTION.map(({ optionField, toField }) => [
304
+ toField,
305
+ record[optionField]
306
+ ])
307
+ ),
308
+ [F$1.targetMaterialNoId]: hasBatch ? record.id_ : void 0,
309
+ [F$1.targetMaterialNoLb]: label ? JSON.stringify([label]) : void 0
310
+ };
311
+ }
312
+ function createMaterialConsumeHistoryLoader(rowData, fieldName = "SN") {
313
+ const beforeOpen = async () => {
314
+ const value = rowData[F$1.productionContainer];
315
+ if (isBlank$4(value)) {
316
+ return {
317
+ allowed: false,
318
+ message: window.$t("sys.pageDesigner.pleaseSelectFirstSth", { sth: fieldName })
319
+ };
320
+ }
321
+ const record = await resolveLotRecordByValue({ id: value });
322
+ if (rowData[F$1.productionContainer] !== value) return { allowed: false };
323
+ const type = record?.production_identification_type_;
324
+ const message = type === ProductionIdentificationTypeEnum.SN ? "" : type === ProductionIdentificationTypeEnum.LOT ? `${fieldName}选择的是 LOT 类型的批次,请选择 SN 类型的批次` : `无法确认${fieldName}的批次信息,请重新选择`;
325
+ return { allowed: !message, message };
326
+ };
327
+ const loader = async ({
328
+ mode,
329
+ queryData = {},
330
+ pageNo = 1,
331
+ pageSize = 20,
332
+ ids = []
333
+ }) => {
334
+ const value = rowData[F$1.productionContainer];
335
+ const operation = rowData[F$1.routingOperation];
336
+ if (isBlank$4(value)) return emptyResult();
337
+ const validation = await beforeOpen();
338
+ const isCurrent = () => rowData[F$1.productionContainer] === value && rowData[F$1.routingOperation] === operation;
339
+ if (!validation.allowed || !isCurrent()) return emptyResult();
340
+ const query = Object.fromEntries(
341
+ Object.entries(queryData).filter(
342
+ ([, item]) => Array.isArray(item) ? item.length > 0 : !isBlank$4(item)
343
+ )
344
+ );
345
+ query["production_identification_id_.eq"] = value;
346
+ delete query["routing_operation_id_.eq"];
347
+ if (!isBlank$4(operation)) query["routing_operation_id_.eq"] = operation;
348
+ if (mode === "byIds" && ids.length) query["product_id_.in"] = ids;
349
+ const keys = Object.keys(query);
350
+ const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
351
+ { modelCategory: "entity", modelKey: "em_material_consume", bsKey: "listByPage" },
352
+ {},
353
+ {
354
+ foreignFields: ["product_id_.spec_", "product_id_.code_", "product_id_.name_"],
355
+ query,
356
+ exp: keys.length > 1 ? `AND(${keys.join(",")})` : keys[0] ?? "",
357
+ pageNo,
358
+ pageSize
359
+ }
360
+ );
361
+ if (!isCurrent()) return emptyResult();
362
+ const rows = (Array.isArray(res) ? res : res?.data ?? []).map(flattenMaterialConsumeRecord);
363
+ const totalCount = Number(res?.totalCount ?? rows.length);
364
+ const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
365
+ return {
366
+ data: rows,
367
+ options: rows.map((item) => ({
368
+ label: item["product_id_.name_"] ?? item.material_name_ ?? String(item.product_id_ ?? ""),
369
+ value: item.product_id_,
370
+ disabled: !!item.deleted_,
371
+ _item: item
372
+ })),
373
+ finished: mode === "byIds" || pageNo >= totalPage,
374
+ totalCount,
375
+ totalPage
376
+ };
377
+ };
378
+ loader.beforeOpen = beforeOpen;
379
+ return loader;
380
+ }
381
+ function createTargetMaterialLoader(rowData) {
382
+ const loader = async ({
383
+ mode,
384
+ queryData = {},
385
+ pageNo = 1,
386
+ pageSize = 20,
387
+ ids = []
388
+ }) => {
389
+ const keyword = queryData["name_.iLike"] ?? queryData["name_.like"] ?? "";
390
+ const filters = Object.fromEntries(
391
+ Object.entries(queryData).filter(
392
+ ([key, value]) => !key.endsWith(".like") && !key.endsWith(".iLike") && !isBlank$4(value) && (!Array.isArray(value) || value.length > 0)
393
+ )
394
+ );
395
+ if (mode === "byIds" && ids.length) {
396
+ if (!isBlank$4(rowData[F$1.targetMaterialNoId])) {
397
+ filters["id_.eq"] = rowData[F$1.targetMaterialNoId];
398
+ } else {
399
+ filters["product_id_.in"] = ids;
400
+ }
401
+ }
402
+ const { queryData: query, exp } = buildLotSnListQuery(keyword, filters);
403
+ const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
404
+ {
405
+ modelCategory: "entity",
406
+ modelKey: "em_production_identification",
407
+ bsKey: "biz_get_production_identification"
408
+ },
409
+ {},
410
+ { query, exp, pageNo, pageSize }
411
+ );
412
+ const rows = Array.isArray(res) ? res : res?.data ?? [];
413
+ const totalCount = Number(res?.totalCount ?? rows.length);
414
+ const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
415
+ return {
416
+ data: rows,
417
+ options: rows.map((item) => ({
418
+ label: item.product_id_name_ ?? String(item.product_id_ ?? ""),
419
+ value: item.product_id_,
420
+ disabled: !!item.deleted_,
421
+ _item: item
422
+ })),
423
+ finished: mode === "byIds" || pageNo >= totalPage,
424
+ totalCount,
425
+ totalPage
426
+ };
427
+ };
428
+ loader.getSelectedKey = () => rowData[F$1.targetMaterialNoId];
429
+ loader.getOptionKey = (option) => option._item?.id_ ?? option.value;
430
+ loader.getSelectionPatch = buildTargetMaterialSelectionPatch;
431
+ return loader;
432
+ }
287
433
  class ProfileDrivenSubTableCore extends SubTableCore {
288
434
  get profile() {
289
435
  const profile = getProfileByTableType(this.ctx.widget.props.tableType);
@@ -345,64 +491,6 @@ const MATERIAL_CONSUME_HISTORY_DISPLAY_FIELDS = [
345
491
  { key: "material_name_", name: "物料批号" },
346
492
  { key: "qty_consumed_", name: "已消耗数量" }
347
493
  ];
348
- function getForeignProductValue(item, field) {
349
- return item[field] ?? item._OPCT?.[field] ?? item.__FOREIGN__?.[field];
350
- }
351
- function flattenMaterialConsumeRecord(item) {
352
- return {
353
- ...item,
354
- "product_id_.name_": getForeignProductValue(item, "product_id_.name_"),
355
- "product_id_.code_": getForeignProductValue(item, "product_id_.code_"),
356
- "product_id_.spec_": getForeignProductValue(item, "product_id_.spec_")
357
- };
358
- }
359
- function hasQueryValue(value) {
360
- if (Array.isArray(value)) return value.length > 0;
361
- return !isBlank$3(value);
362
- }
363
- function createMaterialConsumeHistoryLoader() {
364
- return async ({ mode, queryData = {}, pageNo = 1, pageSize = 20, ids = [] }) => {
365
- const query = Object.fromEntries(
366
- Object.entries(queryData).filter(([, value]) => hasQueryValue(value))
367
- );
368
- if (mode === "byIds" && ids.length) {
369
- query["product_id_.in"] = ids;
370
- }
371
- const queryKeys = Object.keys(query);
372
- const exp = queryKeys.length > 1 ? `AND(${queryKeys.join(",")})` : queryKeys.length === 1 ? queryKeys[0] : "";
373
- const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
374
- {
375
- modelCategory: "entity",
376
- modelKey: "em_material_consume",
377
- bsKey: "listByPage"
378
- },
379
- {},
380
- {
381
- foreignFields: ["product_id_.spec_", "product_id_.code_", "product_id_.name_"],
382
- query,
383
- exp,
384
- pageNo,
385
- pageSize
386
- }
387
- );
388
- const rows = (Array.isArray(res) ? res : res?.data ?? []).map(flattenMaterialConsumeRecord);
389
- const totalCount = Number(res?.totalCount ?? rows.length);
390
- const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
391
- const options = rows.map((item) => ({
392
- label: getForeignProductValue(item, "product_id_.name_") ?? item.material_name_ ?? String(item.product_id_ ?? ""),
393
- value: item.product_id_,
394
- disabled: !!item.deleted_,
395
- _item: item
396
- }));
397
- return {
398
- data: rows,
399
- options,
400
- finished: mode === "byIds" || pageNo >= totalPage,
401
- totalCount,
402
- totalPage
403
- };
404
- };
405
- }
406
494
  function applyAllocatePartTd(params, partField, mode, inventoryBinding) {
407
495
  const { field, tdHandler } = params;
408
496
  if (field !== partField) return;
@@ -486,21 +574,21 @@ class DevicePartConsumeTableCore extends ProfileDrivenSubTableCore {
486
574
  return this.factory.ctx.paramsConfig?.warehouseId;
487
575
  }
488
576
  handleFieldTd = (params) => {
489
- applyAllocatePartTd(params, F$1.part, "inventory", {
490
- formField: F$1.inventory,
577
+ applyAllocatePartTd(params, F$2.part, "inventory", {
578
+ formField: F$2.inventory,
491
579
  optionField: "id_"
492
580
  });
493
581
  super.handleFieldTd(params);
494
582
  };
495
583
  calcFieldQuery = (params) => {
496
- if (params.field === F$1.part) {
584
+ if (params.field === F$2.part) {
497
585
  return { warehouse_id_: this.warehouseId };
498
586
  }
499
587
  };
500
588
  handleChange(params) {
501
589
  super.handleChange(params);
502
590
  const { field, value, option, rowData } = params;
503
- if (field !== F$1.part || isBlank$3(value) || !option) return;
591
+ if (field !== F$2.part || isBlank$3(value) || !option) return;
504
592
  applyOptionFill(rowData, option, FILL_FROM_INVENTORY_OPTION$2);
505
593
  }
506
594
  }
@@ -512,14 +600,38 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
512
600
  }
513
601
  handleFieldTd = (params) => {
514
602
  const { field, tdHandler } = params;
515
- if (field === F$2.sourceProduct || field === F$2.targetProduct) {
603
+ if (field === F$1.targetProduct) {
604
+ const rules = tdHandler.td.cellWidget.props.autofillRules;
605
+ if (rules) {
606
+ tdHandler.mergeTd({
607
+ cellWidget: {
608
+ props: {
609
+ autofillRules: rules.filter(
610
+ (rule) => rule.fromField !== "qty_consumed_" || rule.toField !== F$1.targetQtyConsumed
611
+ )
612
+ }
613
+ }
614
+ });
615
+ }
616
+ }
617
+ if (field === F$1.sourceProduct || field === F$1.targetProduct) {
516
618
  tdHandler.mergeTd({
517
619
  cellWidget: {
518
620
  props: {
519
- displayFields: MATERIAL_CONSUME_HISTORY_DISPLAY_FIELDS,
621
+ displayFields: field === F$1.sourceProduct ? MATERIAL_CONSUME_HISTORY_DISPLAY_FIELDS : [
622
+ { key: "name_", name: "LOT/SN" },
623
+ { key: "product_id_code_", name: "物料编码" },
624
+ { key: "product_id_name_", name: "物料名称" },
625
+ { key: "product_id_spec_", name: "物料规格" }
626
+ ],
520
627
  quickSearchable: true,
521
- quickSearchField: ["material_name_.like"],
522
- quickSearchExp: "OR(material_name_.like)",
628
+ quickSearchField: field === F$1.sourceProduct ? ["material_name_.iLike"] : [
629
+ "name_.iLike",
630
+ "related_parent_name_.iLike",
631
+ "product_id_code_.iLike",
632
+ "product_id_name_.iLike",
633
+ "spec_.iLike"
634
+ ],
523
635
  customRefTableMode: "flat",
524
636
  newSpecificConfig: { newOptions: [] }
525
637
  }
@@ -529,20 +641,22 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
529
641
  super.handleFieldTd(params);
530
642
  };
531
643
  calcFieldQuery = ({ field, rowData }) => {
532
- if (field !== F$2.sourceProduct && field !== F$2.targetProduct) return;
644
+ if (field !== F$1.sourceProduct) return;
533
645
  const query = {};
534
- if (!isBlank$3(rowData[F$2.productionContainer])) {
535
- query["production_identification_id_.eq"] = rowData[F$2.productionContainer];
646
+ if (!isBlank$3(rowData[F$1.productionContainer])) {
647
+ query["production_identification_id_.eq"] = rowData[F$1.productionContainer];
536
648
  }
537
- if (!isBlank$3(rowData[F$2.routingOperation])) {
538
- query["routing_operation_id_.eq"] = rowData[F$2.routingOperation];
649
+ if (!isBlank$3(rowData[F$1.routingOperation])) {
650
+ query["routing_operation_id_.eq"] = rowData[F$1.routingOperation];
539
651
  }
540
652
  return query;
541
653
  };
542
- calcFieldDataSource = ({ field }) => {
543
- if (field === F$2.sourceProduct || field === F$2.targetProduct) {
544
- return createMaterialConsumeHistoryLoader();
654
+ calcFieldDataSource = ({ field, rowData }) => {
655
+ if (field === F$1.sourceProduct) {
656
+ const fieldName = this.formModelController?.getSubModelFields(this.subModelKey)?.find((item) => item.key === F$1.productionContainer)?.name;
657
+ return createMaterialConsumeHistoryLoader(rowData, fieldName);
545
658
  }
659
+ if (field === F$1.targetProduct) return createTargetMaterialLoader(rowData);
546
660
  };
547
661
  handleChange(params) {
548
662
  super.handleChange(params);
@@ -550,7 +664,7 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
550
664
  if (isBlank$3(value) || !option) return;
551
665
  const source = resolveOptionRecord$1(option);
552
666
  if (!source) return;
553
- if (field === F$2.sourceProduct) {
667
+ if (field === F$1.sourceProduct) {
554
668
  applyOptionFill(
555
669
  rowData,
556
670
  flattenMaterialConsumeRecord(source),
@@ -558,16 +672,11 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
558
672
  );
559
673
  return;
560
674
  }
561
- if (field === F$2.targetProduct) {
562
- const record = flattenMaterialConsumeRecord(source);
563
- rowData[F$2.targetMaterialNoId] = void 0;
564
- rowData[F$2.targetMaterialNoLb] = void 0;
565
- for (const { optionField, toField } of FILL_FROM_TARGET_PRODUCT_OPTION) {
566
- rowData[toField] = record[optionField];
567
- }
675
+ if (field === F$1.targetProduct) {
676
+ Object.assign(rowData, buildTargetMaterialSelectionPatch(source));
568
677
  return;
569
678
  }
570
- if (field === F$2.targetMaterialNo) {
679
+ if (field === F$1.targetMaterialNo) {
571
680
  applyOptionFill(rowData, source, FILL_FROM_TARGET_MATERIAL_NO_OPTION);
572
681
  }
573
682
  }
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, createCommentVNode, createElementVNode, toDisplayString } from "vue";
2
2
  import { pick } from "lodash-es";
3
- import { R as PaperWidgeValueType, a9 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
3
+ import { R as PaperWidgeValueType, a9 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
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-mCrtpdq2.js";
7
+ import { u as useSpreadSheet, h as useModelFields } from "./index-BDRyjPGr.js";
8
8
  const _hoisted_1 = { class: "ws-pre-wrap" };
9
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  __name: "text-design",
@@ -1,5 +1,5 @@
1
1
  import { g as getScrollDimension } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
2
- import { em as isObject, dM as debounce } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
2
+ import { en as isObject, dN as debounce } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
3
3
  const initialParams = {
4
4
  contentSize: 0,
5
5
  clientSize: 0,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, openBlock, createElementBlock, toDisplayString, unref } from "vue";
2
- import { an as TimeDiffFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
2
+ import { an as TimeDiffFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
3
3
  import "lodash-es";
4
4
  import "dayjs";
5
5
  import "@gct-paas/form-base";
@@ -1,10 +1,10 @@
1
1
  import { get, pick } from "lodash-es";
2
- import { F as FIELD_TYPE, b0 as BindCmpStyleEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
2
+ import { F as FIELD_TYPE, b1 as BindCmpStyleEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
3
3
  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-mCrtpdq2.js";
7
+ import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig } from "./index-BDRyjPGr.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,7 +1,7 @@
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-mCrtpdq2.js";
4
- import { R as PaperWidgeValueType, au as ExpressionModeEnum, aw as ExpressionTabEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.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-BDRyjPGr.js";
4
+ import { R as PaperWidgeValueType, au as ExpressionModeEnum, aw as ExpressionTabEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
7
7
  import "ant-design-vue";
@@ -1,7 +1,7 @@
1
- import { M as ModalWrapper, _ as _sfc_main$3 } from "../index-a6chYhIK.js";
2
- import { A, B, P, S, j, h, i, u } from "../index-a6chYhIK.js";
1
+ import { M as ModalWrapper, _ as _sfc_main$3 } from "../index-DnHsEIgl.js";
2
+ import { A, B, P, S, j, h, i, u } from "../index-DnHsEIgl.js";
3
3
  import { message } from "ant-design-vue";
4
- import { K as useModal, a9 as _export_sfc, p as api, cg as getParseRuleConfig, b2 as getParseRuleValue, c4 as calcFillData, aZ as getLotLockedReason } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
4
+ import { K as useModal, a9 as _export_sfc, p as api, ch as getParseRuleConfig, b3 as getParseRuleValue, c5 as calcFillData, a_ as getLotLockedReason } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
5
5
  import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, Fragment, renderList, normalizeClass, createVNode, createTextVNode, reactive, onMounted, createBlock, unref, withCtx, withKeys, withDirectives, createCommentVNode, vShow, computed, mergeProps, toHandlers } from "vue";
6
6
  import { cloneDeep } from "lodash-es";
7
7
  import "dayjs";
@@ -1,12 +1,12 @@
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-mCrtpdq2.js";
3
- import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-B0aWEk5D.js";
4
- import { q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
2
+ import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-BDRyjPGr.js";
3
+ import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-CRFXw695.js";
4
+ import { q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
5
5
  import "lodash-es";
6
6
  import "dayjs";
7
7
  import "@gct-paas/form-base";
8
8
  import "ant-design-vue";
9
- import { A as AlignEditor } from "./align-editor-hvllGvX8.js";
9
+ import { A as AlignEditor } from "./align-editor-lWVPNKlR.js";
10
10
  const _hoisted_1 = { class: "pl-6px" };
11
11
  const _hoisted_2 = { class: "flex justify-end" };
12
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,12 +1,12 @@
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-mCrtpdq2.js";
2
+ import { F as FormItem, q as SelectEx } from "./index-BDRyjPGr.js";
3
3
  import { defaults } from "lodash-es";
4
- import { F as FIELD_TYPE, a9 as _export_sfc, ak as DiagonalDirection, ao as DiagonalVertex, cr as migrateDiagonalDirectionToVertex } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js";
4
+ import { F as FIELD_TYPE, a9 as _export_sfc, ak as DiagonalDirection, ao as DiagonalVertex, cs as migrateDiagonalDirectionToVertex } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
5
5
  import "dayjs";
6
6
  import "@gct-paas/form-base";
7
7
  import { message } from "ant-design-vue";
8
8
  import { a as useNamespace } from "./AntdIcon-DCIaV352.js";
9
- import { S as SingleFieldDrop } from "./single-field-drop-DXjppxDh.js";
9
+ import { S as SingleFieldDrop } from "./single-field-drop-DRMCsh_s.js";
10
10
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
11
11
  __name: "diagonal-name-editor",
12
12
  props: {