@gct-paas/excel 0.1.21 → 0.1.23

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 (157) hide show
  1. package/dist/{VueVideoPlayer-Bf0x69CJ.js → VueVideoPlayer-DeGuauVb.js} +2 -2
  2. package/dist/{agg-design-CLSOm6QJ.js → agg-design-B485eEtY.js} +1 -1
  3. package/dist/{agg-props-4nnDqWtf.js → agg-props-g6XDFjb9.js} +1 -1
  4. package/dist/{agg-style-FHSkeH5u.js → agg-style-zIhxDQI2.js} +1 -1
  5. package/dist/{align-editor-Bf391dfO.js → align-editor-C3luWRCq.js} +1 -1
  6. package/dist/{attach-fields-editor-U0Vg4ar8.js → attach-fields-editor-Dy1bN4Aq.js} +2 -2
  7. package/dist/{barcode-design-XLuURxqD.js → barcode-design-Cw3ChYzU.js} +2 -2
  8. package/dist/base/index.es.js +93 -77
  9. package/dist/{base-font-editor-adnb7ShQ.js → base-font-editor-fpBDIpYD.js} +2 -2
  10. package/dist/{boolean-design-Bk3jIc2m.js → boolean-design-CMY1NvJx.js} +2 -2
  11. package/dist/{boolean-props-D1C7P7oX.js → boolean-props-CXd_zo-H.js} +3 -3
  12. package/dist/{boolean-style-CWmep9-Y.js → boolean-style-Bwn-w6Vd.js} +4 -4
  13. package/dist/{cell-upload-wzPF8ovv.js → cell-upload-DtUd8zB6.js} +2 -2
  14. package/dist/{date-range-editor-CGCLkDFp.js → date-range-editor-CbvWtTZu.js} +2 -2
  15. package/dist/{date-time-design-CG6fhsBd.js → date-time-design-DwDsnQbz.js} +1 -1
  16. package/dist/{date-time-props-DGa4XIFD.js → date-time-props-HkqTfmXs.js} +3 -3
  17. package/dist/{date-time-style-C5xs_HQX.js → date-time-style-C6mVoPbF.js} +1 -1
  18. package/dist/{decimal-design-Dg2PWB7J.js → decimal-design-BJbiiN7J.js} +1 -1
  19. package/dist/{decimal-display-mode-B5nxWZnK.js → decimal-display-mode-DOmLtCGz.js} +2 -2
  20. package/dist/{decimal-props-BUduwEu5.js → decimal-props-CRsHxz1d.js} +4 -4
  21. package/dist/{decimal-style-CW6QyMh0.js → decimal-style-DO4ROgq5.js} +1 -1
  22. package/dist/{default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-BlQSjkvP.js → default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-Dqz0oW0Y.js} +2 -2
  23. package/dist/{diagonal-design-xlveiCza.js → diagonal-design-DSI944Jp.js} +16 -4
  24. package/dist/{double-design-Dkzgoo0g.js → double-design-DKS8QZ9M.js} +1 -1
  25. package/dist/{double-props-DwI5z-Mz.js → double-props-pw1mzMKu.js} +4 -4
  26. package/dist/{double-style-B09n2Oup.js → double-style-DtsZ-k10.js} +1 -1
  27. package/dist/{dynamic-table-action-KwzaoPBC.js → dynamic-table-action-D789BgJZ.js} +14 -3
  28. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-ByU7Owiw.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Bomssr4x.js} +412 -259
  29. package/dist/{edit.utils-CXmmCnxE-Do4weQUL.js → edit.utils-CXmmCnxE-VGRgG--d.js} +1 -1
  30. package/dist/{enum-design-D_hYB8q2.js → enum-design-BWcD5nJ8.js} +2 -2
  31. package/dist/{enum-props-SHpVl7is.js → enum-props-BYEq0j1n.js} +3 -3
  32. package/dist/{enum-style-zTZKj6Li.js → enum-style-C4gEWyWv.js} +3 -3
  33. package/dist/excel.css +284 -66
  34. package/dist/{exceljs.min-Dy4OavkS.js → exceljs.min-DGKleauA.js} +2 -2
  35. package/dist/{expression-design-DH37JCnd.js → expression-design-D-t2dkee.js} +1 -1
  36. package/dist/{expression-props-D4aZ2FzY.js → expression-props-D7W_GSGq.js} +1 -1
  37. package/dist/{expression-style-Bj0tEmqJ.js → expression-style-CYgNzm7c.js} +1 -1
  38. package/dist/{file-design-hV82bwcT.js → file-design-BfCxFUVB.js} +1 -1
  39. package/dist/{file-props-BR0xOn8f.js → file-props-DYyaq1fr.js} +2 -2
  40. package/dist/{file-style-CPXRGFCR.js → file-style-_hRTBdtu.js} +1 -1
  41. package/dist/{font-editor-QrOFLcNA.js → font-editor-CUQ-uX8Y.js} +3 -3
  42. package/dist/{image-design-WqYFe8Hz.js → image-design-B8Riz960.js} +2 -2
  43. package/dist/{image-design-B3FASJvR.js → image-design-DP_erJjS.js} +1 -1
  44. package/dist/{image-props-DZ0lHvNN.js → image-props-CF0qOMl7.js} +1 -1
  45. package/dist/{image-style-D3jSU46p.js → image-style-DOseQ6-D.js} +1 -1
  46. package/dist/{index-4aWfyi4S.js → index-2E2k77Mp.js} +2 -2
  47. package/dist/{index-DNHA-joo.js → index-74yt8jRE.js} +1 -1
  48. package/dist/{index-pMF19I7H.js → index-BHckv9v7.js} +1 -1
  49. package/dist/{index-CAp9OIUg.js → index-BO21uzcy.js} +2 -2
  50. package/dist/{index-BCRANZ6N.js → index-BOx6PIQM.js} +1 -1
  51. package/dist/{index-DpFPYL8b.js → index-BPI7rTC0.js} +1 -1
  52. package/dist/{index-CVsM5Bam.js → index-BRTYgbpR.js} +1 -1
  53. package/dist/{index-ChFaMPeg.js → index-BTAd2V7f.js} +2 -2
  54. package/dist/{index-iGA3l7nd.js → index-B_0vyB6E.js} +1 -1
  55. package/dist/{index-BocrGDq2.js → index-Bo_OCoXR.js} +1 -1
  56. package/dist/{index-C9uva5U9.js → index-BrjJ30E6.js} +1 -1
  57. package/dist/{index-wmbtcxzT.js → index-Bz8M9Mln.js} +2 -2
  58. package/dist/{index-dECIkP6q.js → index-C8iWIwYo.js} +1 -1
  59. package/dist/{index-CquVE9ii.js → index-C94OYngd.js} +1 -1
  60. package/dist/{index-B_bGf5j3.js → index-CB8l6mFL.js} +2 -2
  61. package/dist/{index-DVaUctcz.js → index-CFkt2dM4.js} +1 -1
  62. package/dist/{index-BYnhPyxm.js → index-CHDwrHq2.js} +1 -1
  63. package/dist/{index-DKR79OBc.js → index-CYt8frH_.js} +1 -1
  64. package/dist/{index-BYFfjfXo.js → index-CZTvhN0E.js} +249 -27
  65. package/dist/{index-CsLZerBY.js → index-CdaNfYLE.js} +794 -326
  66. package/dist/{index-Cqh9EW_d.js → index-Chy_3-Lj.js} +4 -1
  67. package/dist/{index-Cblyq6yH.js → index-Csg13q_7.js} +1 -1
  68. package/dist/{index-DU3SF4eg.js → index-DCE1_hqb.js} +1 -1
  69. package/dist/{index-Ol6_R1tg.js → index-DWiYwa2w.js} +1 -1
  70. package/dist/{index-B2JfWmQ5.js → index-DhU0uktW.js} +1 -1
  71. package/dist/{index-RY064UmV.js → index-DmC0_bvJ.js} +2 -1
  72. package/dist/{index-BgJenclY.js → index-DvJkM2Bd.js} +1 -1
  73. package/dist/{index-DxgKf-wy.js → index-DvdsMdJa.js} +1 -1
  74. package/dist/{index-D8uy8whi.js → index-XlAWg7sl.js} +1 -1
  75. package/dist/{index-Dvp79b5b.js → index-iR4iHe5n.js} +1 -1
  76. package/dist/{index-Jz0_ApK0.js → index-i_eUK3Y_.js} +1 -1
  77. package/dist/{index-DegtNz07.js → index-kn1q-2-D.js} +1 -1
  78. package/dist/{index-BpacgAuY.js → index-plkuJNfn.js} +1 -1
  79. package/dist/index.es.js +2 -2
  80. package/dist/{integer-design-_-oIGMZi.js → integer-design-CT90qISw.js} +1 -1
  81. package/dist/{integer-props-CbhqGTWT.js → integer-props-BFcLFx5P.js} +4 -4
  82. package/dist/{integer-style-CRDDq2e1.js → integer-style-Dnermx3g.js} +1 -1
  83. package/dist/{mb-render-Bh6EegbE.js → mb-render-BOzJ9uDs.js} +1 -1
  84. package/dist/{number-input-ex-n0MRaA8Z.js → number-input-ex-CGx2Sum-.js} +1 -1
  85. package/dist/{org-props-B_ED1XJd.js → org-props-CGSr5vBf.js} +2 -2
  86. package/dist/{org-style-P7mL2u1-.js → org-style-CXs2pG6E.js} +1 -1
  87. package/dist/{pagination-design-CC2ZvE5K.js → pagination-design-Dy8hlT-1.js} +2 -2
  88. package/dist/paper-widget-design-D6SgvBa5.js +4 -0
  89. package/dist/{qrcode-design-C_G8R7Lo.js → qrcode-design-Cbqb-yWl.js} +1 -1
  90. package/dist/{ref-autofill-editor-DdUMjliQ.js → ref-autofill-editor-BF6nRqWg.js} +2 -2
  91. package/dist/{ref-props-CCwA0E2w.js → ref-props-lNA1ikVB.js} +3 -3
  92. package/dist/{ref-style-C3Qy3L2V.js → ref-style-sATuD-j-.js} +1 -1
  93. package/dist/{regex-editor-CswiNY9l.js → regex-editor-B4H6oUzp.js} +2 -2
  94. package/dist/{revo-grid.entry-fhJrZlXs.js → revo-grid.entry-ClF8lyTa.js} +1 -1
  95. package/dist/{revogr-attribution_7.entry-BxX5Aax7.js → revogr-attribution_7.entry-BgyHJZuq.js} +3 -3
  96. package/dist/{revogr-clipboard_3.entry-B84Mg6_S.js → revogr-clipboard_3.entry-DsSlwjAg.js} +2 -2
  97. package/dist/{revogr-data_4.entry-BSSMKH9X.js → revogr-data_4.entry-BR0RiTEA.js} +2 -2
  98. package/dist/{revogr-filter-panel.entry-xjYp1Z8c.js → revogr-filter-panel.entry-6I6pIy1t.js} +1 -1
  99. package/dist/{select-render-type-editor.vue_vue_type_script_setup_true_lang-JwULnnUe.js → select-render-type-editor.vue_vue_type_script_setup_true_lang-CVMraRrv.js} +2 -2
  100. package/dist/{serialnumber-design-qdEzFAi4.js → serialnumber-design-yaRfMsU0.js} +1 -1
  101. package/dist/shared/index.es.js +22 -22
  102. package/dist/{signature-design-DyLTKEwS.js → signature-design-7HumYOQU.js} +1 -1
  103. package/dist/{signature-props-CXwqrh0H.js → signature-props-CB6C305K.js} +3 -3
  104. package/dist/{signature-style-ibNQSAPQ.js → signature-style-CriOvfEO.js} +1 -1
  105. package/dist/{single-field-drop-BSdWy-C4.js → single-field-drop-PQGKA2za.js} +2 -2
  106. package/dist/{size-editor-8C1AxONY.js → size-editor-D0JnT0iA.js} +1 -1
  107. package/dist/src/nocode-base/src/constant/index.d.ts +16 -1
  108. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +3 -1
  109. package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +8 -1
  110. package/dist/src/nocode-base/src/hooks/material-consume/types.d.ts +13 -0
  111. package/dist/src/nocode-base/src/interface/check-ds-data.d.ts +19 -11
  112. package/dist/src/nocode-base/src/interface/front-config.d.ts +47 -0
  113. package/dist/src/nocode-base/src/interface/index.d.ts +3 -1
  114. package/dist/src/nocode-base/src/interface/transform.d.ts +9 -3
  115. package/dist/src/nocode-base/src/types/common/base.d.ts +8 -0
  116. package/dist/src/nocode-base/src/types/fields/i-trace.d.ts +6 -0
  117. package/dist/src/nocode-base/src/types/render/mc-render.d.ts +8 -1
  118. package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +8 -1
  119. package/dist/src/nocode-base/src/types/widgets/i-diagonal.d.ts +4 -2
  120. package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +12 -1
  121. package/dist/src/nocode-web-render/src/render/sub-table/common/sub-table-render.d.ts +8 -1
  122. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +7 -0
  123. package/dist/src/online-form/src/views/__cell_widgets__/common/assoc-filter-editor/assoc-filter-editor.vue.d.ts +20 -0
  124. package/dist/src/online-form/src/views/__cell_widgets__/common/assoc-filter-editor/assoc-filter.util.d.ts +30 -0
  125. package/dist/src/online-form/src/views/__cell_widgets__/common/assoc-filter-editor/assoc-source-field-select.vue.d.ts +22 -0
  126. package/dist/src/online-form/src/views/__cell_widgets__/common/assoc-filter-editor/index.d.ts +3 -0
  127. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +40 -0
  128. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +55 -0
  129. package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/assoc-filter.d.ts +11 -0
  130. package/dist/{text-design-Di-2lpQC.js → text-design-BvdLsdrT.js} +2 -2
  131. package/dist/{text-design-BzDtceUO.js → text-design-CaNDnT6K.js} +2 -2
  132. package/dist/{text-props-YXtd9DCt.js → text-props-B-1Pd7T_.js} +5 -5
  133. package/dist/{text-style-BtclwHUQ.js → text-style-Dc1qKOif.js} +1 -1
  134. package/dist/{throttle-Cpk1LoGk-BFMM5iqm.js → throttle-Cpk1LoGk-Buf1TOpL.js} +1 -1
  135. package/dist/{timediff-design-DPDNHC4C.js → timediff-design-VY2vmzMg.js} +1 -1
  136. package/dist/{trace-design-B2tffMF2.js → trace-design-Cz9oOcMi.js} +2 -2
  137. package/dist/trace-props-Bd7RIYGS.js +610 -0
  138. package/dist/{trace-style-AmSVnHXF.js → trace-style-BEJyw_H3.js} +1 -1
  139. package/dist/{user-props-hR1saiG7.js → user-props-DZjVNaGe.js} +2 -2
  140. package/dist/{user-style-BsMfhFHo.js → user-style-ByfzJ6fg.js} +1 -1
  141. package/dist/{value-editor.vue_vue_type_style_index_0_lang-zAPZ-2E_.js → value-editor.vue_vue_type_style_index_0_lang-BFXbRbwW.js} +2 -2
  142. package/dist/{version-select-CeQP0Bne.js → version-select-B9NwTGaB.js} +1 -1
  143. package/dist/web-render/index.es.js +2 -2
  144. package/dist/{widget-barcode-DPdsvAF5.js → widget-barcode-BbzJjixG.js} +4 -4
  145. package/dist/{widget-diagonal-BfjZGony.js → widget-diagonal-C0FmAvs-.js} +72 -17
  146. package/dist/{widget-image-D_E_0ZEd.js → widget-image-BGJik8Ks.js} +5 -5
  147. package/dist/{widget-line-SDiSxrzr.js → widget-line-D30nzorH.js} +2 -2
  148. package/dist/{widget-pagination-DdIoe9Yy.js → widget-pagination-C3-oYS-M.js} +5 -5
  149. package/dist/{widget-power-hifeC3T0.js → widget-power-mKWuNVOP.js} +3 -3
  150. package/dist/{widget-qrcode-DBEsM1iE.js → widget-qrcode-CIFK-3XT.js} +3 -3
  151. package/dist/{widget-rangelimit-clQ84tvq.js → widget-rangelimit-BRAlTG7f.js} +3 -3
  152. package/dist/{widget-serialnumber-BXvzHCYR.js → widget-serialnumber-ZM6hEQKn.js} +1 -1
  153. package/dist/{widget-text-CPojsb_9.js → widget-text-BrswIiuT.js} +5 -5
  154. package/dist/{widget-timediff-DGBZsme_.js → widget-timediff-BGOWmPYX.js} +2 -2
  155. package/package.json +1 -1
  156. package/dist/paper-widget-design-CvvM0OZ2.js +0 -4
  157. package/dist/trace-props-CWTXFYZ9.js +0 -275
@@ -1,4 +1,5 @@
1
1
  import { ICheckTable2DInfo } from '../types/common/base';
2
+ import { ICheckTableConfig } from './front-config';
2
3
  /** MedPro 检验表专用内置协议 key,对应设计器「内置模型」中的 M08 服务 */
3
4
  export declare const CHECK_TABLE_MEDPRO_PROTOCOL_KEY = "M08";
4
5
  /** 单个检验表拉取结果 */
@@ -14,8 +15,17 @@ export interface ICheckDsFetchResult {
14
15
  /** 接口返回的检验项原始数据(尚未做 left/right 字段映射) */
15
16
  data: any[];
16
17
  }
18
+ type CheckDsRuntimeContext = {
19
+ paper: any;
20
+ instanceId: string;
21
+ cloneRuntimeJson: Record<string, any>;
22
+ checkTable2DList: ICheckTable2DInfo[];
23
+ checkTableConfig?: ICheckTableConfig;
24
+ };
17
25
  /** 判断当前是否为 MedPro 套件(运行时通过全局 store 读取) */
18
26
  export declare function isMedProSuite(): boolean;
27
+ /** 非 MedPro 分表快照 key:优先 rowSubFieldKey */
28
+ export declare function getCheckTableSnapshotKey(checkInfo: ICheckTable2DInfo): string;
19
29
  /**
20
30
  * MedPro:通过 M08 内置协议拉取检验项数据
21
31
  *
@@ -35,8 +45,6 @@ export declare function fetchCheckDsDataForTable(payload: {
35
45
  }): Promise<ICheckDsTableFetchResult | null>;
36
46
  /**
37
47
  * 非 MedPro + checkDsType = custom:按自定义检验项拉取
38
- *
39
- * 字段映射默认 name_ → inspection_method_name_
40
48
  */
41
49
  export declare function fetchCustomCheckDsData(payload: {
42
50
  paper: any;
@@ -53,15 +61,6 @@ export declare function applyCheckDsDataToRuntime(payload: {
53
61
  paper: any;
54
62
  cloneRuntimeJson: Record<string, any>;
55
63
  }): void;
56
- /**
57
- * 非 MedPro:按 checkTable2DList 逐项、按 checkDsType 拉取并 apply
58
- */
59
- export declare function requestNonMedProCheckDsData(payload: {
60
- checkTable2DList: ICheckTable2DInfo[];
61
- paper: any;
62
- instanceId: string;
63
- cloneRuntimeJson: Record<string, any>;
64
- }): Promise<void>;
65
64
  /**
66
65
  * MedPro:将 M08 拉取结果按字段映射分项 apply 到各检验表
67
66
  */
@@ -72,3 +71,12 @@ export declare function applyMedProCheckDsDataToRuntime(payload: {
72
71
  paper: any;
73
72
  cloneRuntimeJson: Record<string, any>;
74
73
  }): void;
74
+ /**
75
+ * MedPro:优先用 shared 快照,否则请求 M08;返回待落库的 checkTableConfig
76
+ */
77
+ export declare function requestMedProCheckDsData(payload: CheckDsRuntimeContext): Promise<ICheckTableConfig | undefined>;
78
+ /**
79
+ * 非 MedPro:按表优先用 byTable 快照,否则并行拉取;扩行按表顺序串行 apply
80
+ */
81
+ export declare function requestNonMedProCheckDsData(payload: CheckDsRuntimeContext): Promise<ICheckTableConfig | undefined>;
82
+ export {};
@@ -0,0 +1,47 @@
1
+ /**
2
+ * 表单实例 frontConfig:前端运行时扩展配置容器
3
+ *
4
+ * 检验表检验项在首次拉取后锁定到 checkTableConfig,避免保存/提交后主数据变更导致表单漂移。
5
+ */
6
+ /** 检验表检验项快照 */
7
+ export interface ICheckTableConfig {
8
+ /**
9
+ * MedPro:整页共用的 M08 原始数据。
10
+ * 字段存在即表示已锁定(允许空数组)。
11
+ */
12
+ shared?: any[];
13
+ /**
14
+ * 非 MedPro:按检验表 rowSubFieldKey 分表快照。
15
+ * 某 key 存在即表示该表已锁定(允许空数组)。
16
+ */
17
+ byTable?: Record<string, any[]>;
18
+ }
19
+ /** 实例 frontConfig 结构 */
20
+ export interface IFrontConfig {
21
+ checkTableConfig?: ICheckTableConfig;
22
+ otherConfig?: Record<string, any>;
23
+ }
24
+ /** 解析 frontConfig 字符串;非法或空则返回空对象 */
25
+ export declare function parseFrontConfig(frontConfig?: string | null): IFrontConfig;
26
+ export declare function stringifyFrontConfig(config: IFrontConfig): string;
27
+ /** MedPro shared 是否已锁定 */
28
+ export declare function hasSharedCheckTableSnapshot(config?: ICheckTableConfig): boolean;
29
+ /** 非 MedPro 某表是否已锁定 */
30
+ export declare function hasByTableCheckTableSnapshot(config: ICheckTableConfig | undefined, tableKey: string): boolean;
31
+ /** checkTableConfig 是否已有任意快照 */
32
+ export declare function hasAnyCheckTableSnapshot(config?: ICheckTableConfig): boolean;
33
+ /**
34
+ * 合并检验表快照:
35
+ * - shared:已锁定则保留,否则用 pending
36
+ * - byTable:已有 key 不覆盖(锁定),pending 中的新 key 补入
37
+ */
38
+ export declare function mergeCheckTableConfig(existing?: ICheckTableConfig, pending?: ICheckTableConfig): ICheckTableConfig | undefined;
39
+ /**
40
+ * 保存时合并 frontConfig:
41
+ * - checkTableConfig:已锁定项不覆盖,新表可补入 byTable
42
+ * - otherConfig:保留已有
43
+ */
44
+ export declare function mergeFrontConfigForSave(payload: {
45
+ existingFrontConfig?: string | null;
46
+ pendingCheckTableConfig?: ICheckTableConfig;
47
+ }): string | undefined;
@@ -1,8 +1,10 @@
1
1
  export { baseDataUtils } from './data';
2
2
  export { calcUtils } from './calc';
3
3
  export { transformUtils } from './transform';
4
- export { applyCheckDsDataToRuntime, applyMedProCheckDsDataToRuntime, CHECK_TABLE_MEDPRO_PROTOCOL_KEY, fetchCheckDsDataForTable, fetchCustomCheckDsData, fetchMedProCheckDsData, isMedProSuite, requestNonMedProCheckDsData, } from './check-ds-data';
4
+ export { applyCheckDsDataToRuntime, applyMedProCheckDsDataToRuntime, CHECK_TABLE_MEDPRO_PROTOCOL_KEY, fetchCheckDsDataForTable, fetchCustomCheckDsData, fetchMedProCheckDsData, getCheckTableSnapshotKey, isMedProSuite, requestMedProCheckDsData, requestNonMedProCheckDsData, } from './check-ds-data';
5
5
  export type { ICheckDsFetchResult, ICheckDsTableFetchResult } from './check-ds-data';
6
+ export { hasAnyCheckTableSnapshot, hasByTableCheckTableSnapshot, hasSharedCheckTableSnapshot, mergeCheckTableConfig, mergeFrontConfigForSave, parseFrontConfig, stringifyFrontConfig, } from './front-config';
7
+ export type { ICheckTableConfig, IFrontConfig } from './front-config';
6
8
  export { renderUtils } from './render';
7
9
  export { CodeRunner } from './code-runner';
8
10
  export { sqlUtils } from './sql';
@@ -1,4 +1,5 @@
1
1
  import { RenderModeEnum } from '../constant';
2
+ import { ICheckTableConfig } from './front-config';
2
3
  import { IPaper } from '../types';
3
4
  import { SubTableCoreFactory } from '../core/factory/sub-table-factory';
4
5
  /** 将源数据转换为子表数据 */
@@ -51,8 +52,11 @@ export declare const transformUtils: {
51
52
  * 检验表专用数据源初始化(运行时)
52
53
  *
53
54
  * 在 getSubTableInfo 之前执行:拉取检验项并扩展 runtimeJson 行数。
54
- * - MedPro:M08 一次拉取,按字段映射分项 apply
55
- * - 其他套件:按 checkDsType 逐项拉取并 apply
55
+ * - MedPro:M08 一次拉取,按字段映射分项 apply(快照在 checkTableConfig.shared)
56
+ * - 其他套件:按 checkDsType 逐项拉取并 apply(快照在 checkTableConfig.byTable)
57
+ * - 有 frontConfig 快照时跳过对应接口,避免保存后主数据变更导致表单漂移
58
+ *
59
+ * @returns 待落库的 checkTableConfig;无检验表或未产生快照时返回 undefined
56
60
  */
57
61
  requestCheckDsData: (payload: {
58
62
  /** 纸张组件(含 checkTable2DList、customDataSource) */
@@ -63,7 +67,9 @@ export declare const transformUtils: {
63
67
  cloneRuntimeJson: object;
64
68
  /** 当前是否为有效表单实例(无实例时默认数据源检验表不拉取) */
65
69
  hasFormInstance?: boolean;
66
- }) => Promise<void>;
70
+ /** 实例已落库的 frontConfig(JSON 字符串) */
71
+ frontConfig?: string;
72
+ }) => Promise<ICheckTableConfig | undefined>;
67
73
  /** 请求自定义数据源 */
68
74
  requestCustomSourceData: (payload: {
69
75
  /** 纸张信息 */
@@ -413,4 +413,12 @@ export interface ICheckDsItem {
413
413
  /** 检验标准 */
414
414
  inspection_standard_: string;
415
415
  }
416
+ export declare enum ScanParamType {
417
+ Lot = "lot",
418
+ UniqueCode = "uniqueCode"
419
+ }
420
+ export declare enum RequiredQtyCalcRule {
421
+ LotQty = "lotQty",
422
+ ProductQty = "productQty"
423
+ }
416
424
  export {};
@@ -32,6 +32,12 @@ export interface ITraceProps extends BaseCoreComponent.FieldBasicProps {
32
32
  }>;
33
33
  /** 是否启用数据填充 */
34
34
  enableAutofill?: boolean;
35
+ /** 是否启用关联过滤 */
36
+ enableAssocFilter?: boolean;
37
+ /** 关联过滤源字段 key;子表字段为 `subFieldKey.fieldKey` */
38
+ assocFilterSourceField?: string;
39
+ /** 关联过滤源字段类型 */
40
+ assocFilterSourceFieldType?: string;
35
41
  /** 条码解析规则配置 */
36
42
  parseRuleProps?: ParseRuleProps;
37
43
  /** 搜索展示字段 */
@@ -1,5 +1,5 @@
1
1
  import { FormModelController } from '../../hooks/form-model';
2
- import { ParseRuleProps } from '../../types/common/base';
2
+ import { ParseRuleProps, ScanParamType } from '../../types/common/base';
3
3
  export interface IMcRender {
4
4
  /**
5
5
  * 提示信息
@@ -15,8 +15,15 @@ export interface IMcRender {
15
15
  */
16
16
  openScanModal(opts: {
17
17
  title: string;
18
+ subModelKey?: string;
19
+ formModelController: FormModelController;
20
+ parsingRuleId?: string;
21
+ scanRules?: ParseRuleProps;
22
+ scanParam?: ScanParamType;
18
23
  onScan: (params: {
19
24
  str?: string;
25
+ parsedValue?: any;
26
+ transformedData?: any;
20
27
  }) => void;
21
28
  }): Promise<void>;
22
29
  /**
@@ -1,5 +1,5 @@
1
1
  import { FormModelController } from '../../hooks/form-model';
2
- import { ParseRuleProps } from '../../types';
2
+ import { ParseRuleProps, ScanParamType } from '../../types/common/base';
3
3
  /** 子表绘制的基类 */
4
4
  export interface ISubTableRender {
5
5
  /**
@@ -11,8 +11,15 @@ export interface ISubTableRender {
11
11
  */
12
12
  openScanModal(opts: {
13
13
  title: string;
14
+ subModelKey?: string;
15
+ formModelController: FormModelController;
16
+ parsingRuleId?: string;
17
+ scanRules?: ParseRuleProps;
18
+ scanParam?: ScanParamType;
14
19
  onScan: (params: {
15
20
  str?: string;
21
+ parsedValue?: any;
22
+ transformedData?: any;
16
23
  }) => void;
17
24
  }): void;
18
25
  /**
@@ -1,4 +1,4 @@
1
- import { PaperWidgeType, DiagonalDirection } from '../../constant';
1
+ import { PaperWidgeType, DiagonalDirection, DiagonalVertex } from '../../constant';
2
2
  import { BaseCoreComponent, IBindField } from '../common/base';
3
3
  export interface IDiagonalProps {
4
4
  /** 表头分栏id */
@@ -12,8 +12,10 @@ export interface IDiagonalProps {
12
12
  enableFields?: [boolean, boolean, boolean];
13
13
  /** 绑定的字段 */
14
14
  bindFields?: [IBindField | undefined, IBindField | undefined, IBindField | undefined];
15
- /** 分栏方向 */
15
+ /** 分栏方向(两栏) */
16
16
  direction: DiagonalDirection;
17
+ /** 放射顶点(三栏) */
18
+ vertex?: DiagonalVertex;
17
19
  }
18
20
  /** 表格列的属性 */
19
21
  export interface IDiagonal extends BaseCoreComponent.BasicSchema {
@@ -1,10 +1,21 @@
1
1
  import { IModal } from '../../../../../shared/types';
2
+ import { FormModelController, ParseRuleProps } from '../../../../../nocode-base/src';
3
+ import { ScanParamType } from '../../../../../nocode-base/src/types/common/base';
2
4
  type __VLS_Props = {
3
5
  modal: IModal;
4
6
  title?: string;
7
+ subModelKey?: string;
8
+ scanParam?: ScanParamType;
9
+ scanRules?: ParseRuleProps;
5
10
  onScan: (params: {
6
11
  str?: string;
12
+ parsedValue?: any;
13
+ transformedData?: any;
7
14
  }) => void;
15
+ formModelController: FormModelController;
16
+ ruleTip?: string;
8
17
  };
9
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
18
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
19
+ formRef: unknown;
20
+ }, HTMLDivElement>;
10
21
  export default _default;
@@ -1,11 +1,18 @@
1
- import { ISubTableRender } from '../../../../../nocode-base/src';
1
+ import { FormModelController, ISubTableRender, ParseRuleProps } from '../../../../../nocode-base/src';
2
2
  import { ModalManager } from '../../common';
3
+ import { ScanParamType } from '../../../../../nocode-base/src/types/common/base.ts';
3
4
  export declare class SubTableRender implements ISubTableRender {
4
5
  protected modalManager: ModalManager;
5
6
  openScanModal(opts: {
6
7
  title: string;
8
+ subModelKey?: string;
9
+ formModelController: FormModelController;
10
+ scanRules?: ParseRuleProps;
11
+ scanParam?: ScanParamType;
7
12
  onScan: (params: {
8
13
  str?: string;
14
+ parsedValue?: any;
15
+ transformedData?: any;
9
16
  }) => void;
10
17
  }): Promise<unknown>;
11
18
  openChangeRuleModal: ISubTableRender['openChangeRuleModal'];
@@ -1,5 +1,6 @@
1
1
  import { FormModelController, MCRender, ParseRuleProps } from '../../../../../nocode-base/src';
2
2
  import { IOverlayContainer } from '../../../../../shared/types';
3
+ import { ScanParamType } from '../../../../../nocode-base/src/types/common/base.ts';
3
4
  export declare class McWebRender extends MCRender {
4
5
  /**
5
6
  * 所有打开的modal集合
@@ -17,8 +18,14 @@ export declare class McWebRender extends MCRender {
17
18
  }): Promise<void>;
18
19
  openScanModal(opts: {
19
20
  title: string;
21
+ subModelKey?: string;
22
+ formModelController: FormModelController;
23
+ scanRules?: ParseRuleProps;
24
+ scanParam?: ScanParamType;
20
25
  onScan: (params: {
21
26
  str?: string;
27
+ parsedValue?: any;
28
+ transformedData?: any;
22
29
  }) => void;
23
30
  }): Promise<void>;
24
31
  openChangeRuleModal(opts: {
@@ -0,0 +1,20 @@
1
+ import { IBindField } from '../../../../../../nocode-base/src';
2
+ import { FIELD_TYPE } from '../../../../../../shared/enum';
3
+ type __VLS_Props = {
4
+ fieldMeta: IBindField;
5
+ fieldType: FIELD_TYPE;
6
+ enableAssocFilter?: boolean;
7
+ assocFilterSourceField?: string;
8
+ assocFilterSourceFieldType?: string;
9
+ disabled?: boolean;
10
+ };
11
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
+ "update:assocFilterSourceField": (value?: string | undefined) => any;
13
+ "update:assocFilterSourceFieldType": (value?: string | undefined) => any;
14
+ "update:enableAssocFilter": (value: boolean) => any;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ "onUpdate:assocFilterSourceField"?: ((value?: string | undefined) => any) | undefined;
17
+ "onUpdate:assocFilterSourceFieldType"?: ((value?: string | undefined) => any) | undefined;
18
+ "onUpdate:enableAssocFilter"?: ((value: boolean) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import { FIELD_TYPE } from '../../../../../../shared/enum';
2
+ import { IBindField } from '../../../../../../nocode-base/src';
3
+ /** 关联过滤可选的源字段类型:LOT/SN、工单号 */
4
+ export declare const ASSOC_FILTER_SOURCE_TYPES: Set<FIELD_TYPE>;
5
+ /** 业务表类型:物料字段不支持关联过滤配置 */
6
+ export declare const BUSINESS_SUB_TABLE_TYPES: Set<string>;
7
+ export type ResolveSubTableTypeContext = {
8
+ cellSubTableType?: string | null;
9
+ masterModelKey?: string;
10
+ tables?: Array<{
11
+ type?: string;
12
+ model?: string;
13
+ field?: string;
14
+ }>;
15
+ modelMetaSubModelType?: string | null;
16
+ };
17
+ /** 是否为子表字段 */
18
+ export declare function isSubTableField(fieldMeta: IBindField): boolean;
19
+ /** 字段是否落在子表模型上(含仅有 model 指向子表、未写 subFieldKey 的历史数据) */
20
+ export declare function isFieldOnSubModel(fieldMeta: IBindField, masterModelKey?: string): boolean;
21
+ /** 解析当前字段所在子表类型 */
22
+ export declare function resolveSubTableType(fieldMeta: IBindField, ctx?: ResolveSubTableTypeContext): string | undefined;
23
+ /** 物料字段是否展示关联过滤配置(业务表内物料字段不支持) */
24
+ export declare function canShowAssocFilter(fieldMeta: IBindField, fieldType: FIELD_TYPE, ctx?: ResolveSubTableTypeContext): boolean;
25
+ /** 解析源字段存储值:主表 `fieldKey`,子表 `subFieldKey.fieldKey` */
26
+ export declare function parseAssocSourceField(value?: string): {
27
+ subFieldKey?: string;
28
+ fieldKey: string;
29
+ } | null;
30
+ export declare function buildAssocSourceFieldValue(fieldKey: string, subFieldKey?: string): string;
@@ -0,0 +1,22 @@
1
+ import { FIELD_TYPE } from '../../../../../../shared/enum';
2
+ import { IBindField } from '../../../../../../nocode-base/src';
3
+ type FieldTreeNode = {
4
+ label: string;
5
+ value: string;
6
+ type?: FIELD_TYPE;
7
+ selectable?: boolean;
8
+ children?: FieldTreeNode[];
9
+ };
10
+ type __VLS_Props = {
11
+ value?: string;
12
+ fieldMeta: IBindField;
13
+ disabled?: boolean;
14
+ };
15
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
16
+ change: (value?: string | undefined, option?: FieldTreeNode | undefined) => any;
17
+ "update:value": (value?: string | undefined) => any;
18
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ onChange?: ((value?: string | undefined, option?: FieldTreeNode | undefined) => any) | undefined;
20
+ "onUpdate:value"?: ((value?: string | undefined) => any) | undefined;
21
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { default as AssocFilterEditor } from './assoc-filter-editor.vue';
2
+ export * from './assoc-filter.util';
3
+ export { AssocFilterEditor };
@@ -284,6 +284,7 @@ export declare const useAllSpreadSheets: () => {
284
284
  table_key_: string;
285
285
  material_loading_model_enabled_: boolean;
286
286
  barcode_parsing_rules_id_?: string | undefined;
287
+ barcodeParamType?: string | undefined;
287
288
  bom_init_enabled_?: boolean | undefined;
288
289
  personal_bom_enabled_?: boolean | undefined;
289
290
  sequence_loading_enabled_?: boolean | undefined;
@@ -319,6 +320,10 @@ export declare const useAllSpreadSheets: () => {
319
320
  }[];
320
321
  deleted_?: boolean | undefined;
321
322
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
323
+ disable_barcode_parsing_?: boolean | undefined;
324
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
325
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
326
+ product_qty_field_?: string | undefined;
322
327
  } | undefined;
323
328
  bizTableConfig?: {
324
329
  table_key_: string;
@@ -401,6 +406,7 @@ export declare const useAllSpreadSheets: () => {
401
406
  table_key_: string;
402
407
  material_loading_model_enabled_: boolean;
403
408
  barcode_parsing_rules_id_?: string | undefined;
409
+ barcodeParamType?: string | undefined;
404
410
  bom_init_enabled_?: boolean | undefined;
405
411
  personal_bom_enabled_?: boolean | undefined;
406
412
  sequence_loading_enabled_?: boolean | undefined;
@@ -436,6 +442,10 @@ export declare const useAllSpreadSheets: () => {
436
442
  }[];
437
443
  deleted_?: boolean | undefined;
438
444
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
445
+ disable_barcode_parsing_?: boolean | undefined;
446
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
447
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
448
+ product_qty_field_?: string | undefined;
439
449
  } | undefined;
440
450
  bizTableConfig?: {
441
451
  table_key_: string;
@@ -888,6 +898,7 @@ export declare const useAllSpreadSheets: () => {
888
898
  table_key_: string;
889
899
  material_loading_model_enabled_: boolean;
890
900
  barcode_parsing_rules_id_?: string | undefined;
901
+ barcodeParamType?: string | undefined;
891
902
  bom_init_enabled_?: boolean | undefined;
892
903
  personal_bom_enabled_?: boolean | undefined;
893
904
  sequence_loading_enabled_?: boolean | undefined;
@@ -923,6 +934,10 @@ export declare const useAllSpreadSheets: () => {
923
934
  }[];
924
935
  deleted_?: boolean | undefined;
925
936
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
937
+ disable_barcode_parsing_?: boolean | undefined;
938
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
939
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
940
+ product_qty_field_?: string | undefined;
926
941
  } | undefined;
927
942
  bizTableConfig?: {
928
943
  table_key_: string;
@@ -1005,6 +1020,7 @@ export declare const useAllSpreadSheets: () => {
1005
1020
  table_key_: string;
1006
1021
  material_loading_model_enabled_: boolean;
1007
1022
  barcode_parsing_rules_id_?: string | undefined;
1023
+ barcodeParamType?: string | undefined;
1008
1024
  bom_init_enabled_?: boolean | undefined;
1009
1025
  personal_bom_enabled_?: boolean | undefined;
1010
1026
  sequence_loading_enabled_?: boolean | undefined;
@@ -1040,6 +1056,10 @@ export declare const useAllSpreadSheets: () => {
1040
1056
  }[];
1041
1057
  deleted_?: boolean | undefined;
1042
1058
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
1059
+ disable_barcode_parsing_?: boolean | undefined;
1060
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
1061
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
1062
+ product_qty_field_?: string | undefined;
1043
1063
  } | undefined;
1044
1064
  bizTableConfig?: {
1045
1065
  table_key_: string;
@@ -1490,6 +1510,7 @@ export declare const useAllSpreadSheets: () => {
1490
1510
  table_key_: string;
1491
1511
  material_loading_model_enabled_: boolean;
1492
1512
  barcode_parsing_rules_id_?: string | undefined;
1513
+ barcodeParamType?: string | undefined;
1493
1514
  bom_init_enabled_?: boolean | undefined;
1494
1515
  personal_bom_enabled_?: boolean | undefined;
1495
1516
  sequence_loading_enabled_?: boolean | undefined;
@@ -1525,6 +1546,10 @@ export declare const useAllSpreadSheets: () => {
1525
1546
  }[];
1526
1547
  deleted_?: boolean | undefined;
1527
1548
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
1549
+ disable_barcode_parsing_?: boolean | undefined;
1550
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
1551
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
1552
+ product_qty_field_?: string | undefined;
1528
1553
  } | undefined;
1529
1554
  bizTableConfig?: {
1530
1555
  table_key_: string;
@@ -1607,6 +1632,7 @@ export declare const useAllSpreadSheets: () => {
1607
1632
  table_key_: string;
1608
1633
  material_loading_model_enabled_: boolean;
1609
1634
  barcode_parsing_rules_id_?: string | undefined;
1635
+ barcodeParamType?: string | undefined;
1610
1636
  bom_init_enabled_?: boolean | undefined;
1611
1637
  personal_bom_enabled_?: boolean | undefined;
1612
1638
  sequence_loading_enabled_?: boolean | undefined;
@@ -1642,6 +1668,10 @@ export declare const useAllSpreadSheets: () => {
1642
1668
  }[];
1643
1669
  deleted_?: boolean | undefined;
1644
1670
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
1671
+ disable_barcode_parsing_?: boolean | undefined;
1672
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
1673
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
1674
+ product_qty_field_?: string | undefined;
1645
1675
  } | undefined;
1646
1676
  bizTableConfig?: {
1647
1677
  table_key_: string;
@@ -2090,6 +2120,7 @@ export declare const useAllSpreadSheets: () => {
2090
2120
  table_key_: string;
2091
2121
  material_loading_model_enabled_: boolean;
2092
2122
  barcode_parsing_rules_id_?: string | undefined;
2123
+ barcodeParamType?: string | undefined;
2093
2124
  bom_init_enabled_?: boolean | undefined;
2094
2125
  personal_bom_enabled_?: boolean | undefined;
2095
2126
  sequence_loading_enabled_?: boolean | undefined;
@@ -2125,6 +2156,10 @@ export declare const useAllSpreadSheets: () => {
2125
2156
  }[];
2126
2157
  deleted_?: boolean | undefined;
2127
2158
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
2159
+ disable_barcode_parsing_?: boolean | undefined;
2160
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
2161
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
2162
+ product_qty_field_?: string | undefined;
2128
2163
  } | undefined;
2129
2164
  bizTableConfig?: {
2130
2165
  table_key_: string;
@@ -2207,6 +2242,7 @@ export declare const useAllSpreadSheets: () => {
2207
2242
  table_key_: string;
2208
2243
  material_loading_model_enabled_: boolean;
2209
2244
  barcode_parsing_rules_id_?: string | undefined;
2245
+ barcodeParamType?: string | undefined;
2210
2246
  bom_init_enabled_?: boolean | undefined;
2211
2247
  personal_bom_enabled_?: boolean | undefined;
2212
2248
  sequence_loading_enabled_?: boolean | undefined;
@@ -2242,6 +2278,10 @@ export declare const useAllSpreadSheets: () => {
2242
2278
  }[];
2243
2279
  deleted_?: boolean | undefined;
2244
2280
  material_consumption_pattern_?: import('../../../../../nocode-base/src').MaterialConsumptionPatternEnum | undefined;
2281
+ disable_barcode_parsing_?: boolean | undefined;
2282
+ scan_param_type_?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
2283
+ required_qty_calc_rule_?: import('../../../../../nocode-base/src/types/common/base').RequiredQtyCalcRule | undefined;
2284
+ product_qty_field_?: string | undefined;
2245
2285
  } | undefined;
2246
2286
  bizTableConfig?: {
2247
2287
  table_key_: string;