@gct-paas/excel 0.1.41 → 0.1.42-beta.0

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 (207) hide show
  1. package/README.md +3 -4
  2. package/dist/{BaseComponent-CD_dAL9D.js → BaseComponent-CuX5xLFK.js} +4 -3
  3. package/dist/{VueVideoPlayer-DQQlv_cp.js → VueVideoPlayer-CBBB12Hj.js} +2 -2
  4. package/dist/{align-editor-DchzBHaC.js → align-editor-Df9gS31T.js} +1 -1
  5. package/dist/{barcode-design-BBW5cG3v.js → barcode-design-B34-4xJ9.js} +3 -2
  6. package/dist/base/index.es.js +517 -222
  7. package/dist/{diagonal-design-CawGqmc7.js → diagonal-design-D0HXMI8w.js} +3 -2
  8. package/dist/{dynamic-table-action-Dw7AIthU.js → dynamic-table-action-9sxv3gW5.js} +452 -322
  9. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DEjLEs33.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-YSIO0k9J.js} +2296 -593
  10. package/dist/{edit.utils-CXmmCnxE-B7lpVZjb.js → edit.utils-CXmmCnxE-0uJiCs33.js} +1 -1
  11. package/dist/excel.css +611 -723
  12. package/dist/{exceljs.min-DDPQIUli.js → exceljs.min-Doeyz39_.js} +2 -2
  13. package/dist/{font-editor-n8zk8Vt2.js → font-editor-B8A9tDhO.js} +3 -3
  14. package/dist/{image-design-D4mIDz9K.js → image-design-CVyCbbef.js} +3 -8
  15. package/dist/{index-DfFakGrF.js → index-7VROqGqR.js} +3 -2
  16. package/dist/{index-1klMDz7G.js → index-B3hu8heh.js} +3 -2
  17. package/dist/{index-C4t8sSlN.js → index-B7Yt5TSq.js} +2 -1
  18. package/dist/{index-B0u6FHDq.js → index-BLJdXkdZ.js} +5 -4
  19. package/dist/{index-TZy8JxSW.js → index-BOO2K9Vu.js} +4 -3
  20. package/dist/{index-DUztXGMj.js → index-Bb3Ugl3c.js} +3 -2
  21. package/dist/{index-Dh0_kanw.js → index-Bj2qRb0q.js} +2 -1
  22. package/dist/{index-BZ7bC20P.js → index-BwyHByzZ.js} +2 -1
  23. package/dist/{index-Do-QyvWW.js → index-CDObWZ7G.js} +3 -2
  24. package/dist/{index-Bm8wYtHB.js → index-CGU3uK4z.js} +2 -1
  25. package/dist/{index-BW95iBc7.js → index-CMmaJ4Ss.js} +3 -2
  26. package/dist/{index-CYSJt1Zc.js → index-CNmwpU3G.js} +7 -3
  27. package/dist/{index-BMsHMGap.js → index-CS1tP-l0.js} +3 -2
  28. package/dist/{index-4p1VXlOx.js → index-Cn_bmfoD.js} +2 -1
  29. package/dist/{index-C-NpFAft.js → index-CzztJ4fH.js} +4 -3
  30. package/dist/{index-CXnuud67.js → index-D0VBKmKt.js} +3 -2
  31. package/dist/{index-DiWzNeZJ.js → index-DA7GAWZ1.js} +4 -3
  32. package/dist/{index-Boy8--Ns.js → index-DKKIL32g.js} +3 -2
  33. package/dist/{index-DPf5_q0T.js → index-DMVIENZW.js} +4 -3
  34. package/dist/{index-r9t3crs-.js → index-DU4dWvY6.js} +2 -1
  35. package/dist/{index-BcHwRIXW.js → index-D_hAd0MQ.js} +4 -3
  36. package/dist/{index-Ch88zDje.js → index-DuuvFB0e.js} +3 -2
  37. package/dist/{index-CI6Hl1Ns.js → index-FCg2Jzvu.js} +2 -1
  38. package/dist/{index-r0yHBje3.js → index-PSQkEXxq.js} +3 -2
  39. package/dist/{index-CAc9drK5.js → index-R95URjcc.js} +2 -1
  40. package/dist/{index-gHOlYnAA.js → index-RG23XjoT.js} +2 -1
  41. package/dist/{index-S8Dj5ycu.js → index-TeozNhWH.js} +3 -2
  42. package/dist/{index--MetH_r4.js → index-Uy8bXkuC.js} +4 -3
  43. package/dist/{index-DiPWQwMU.js → index-VrLq9hAc.js} +8987 -3728
  44. package/dist/{index-DvMu7-8y.js → index-XE84LVO7.js} +2 -1
  45. package/dist/{index-CmjTSiUa.js → index-dUCz8OdV.js} +3 -2
  46. package/dist/{index-DgybKcgI.js → index-hDsTasdu.js} +3 -2
  47. package/dist/{index-H4f-e99t.js → index-ucaRXWE8.js} +3 -2
  48. package/dist/{index-BWoOPv6-.js → index-vEZ4Yr2u.js} +3 -2
  49. package/dist/index.es.js +52 -46
  50. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DDJetWQU.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-ApLSXGFP.js} +27 -3
  51. package/dist/{pagination-design-lckCQWcK.js → pagination-design-B5DxwV5F.js} +3 -2
  52. package/dist/paper-widget-design-A55mbwYv.js +4 -0
  53. package/dist/{print-runtime-instance-Dckul2Bk.js → print-runtime-instance-BDM-anCd.js} +1 -1
  54. package/dist/{print-snapshot-renderer-lub7u9sp.js → print-snapshot-renderer-kB1Bw7A_.js} +3 -3
  55. package/dist/{qrcode-design-M0HzGVjM.js → qrcode-design-bN48s3rk.js} +1 -1
  56. package/dist/{revo-grid.entry-Dr4S1tgO.js → revo-grid.entry-BXEGtAbW.js} +1 -1
  57. package/dist/{revogr-attribution_7.entry-27u9hxgM.js → revogr-attribution_7.entry-CImeTxBl.js} +3 -3
  58. package/dist/{revogr-clipboard_3.entry-DxjljgJl.js → revogr-clipboard_3.entry-DqcrJ6zB.js} +2 -2
  59. package/dist/{revogr-data_4.entry-CnSalg4D.js → revogr-data_4.entry-Ccdsy3nO.js} +2 -2
  60. package/dist/{revogr-filter-panel.entry-CSsekbYc.js → revogr-filter-panel.entry-B2xM2jvB.js} +1 -1
  61. package/dist/seal-design-B3FBumLr.js +4 -0
  62. package/dist/{serialnumber-design-DUiLiTSj.js → serialnumber-design-BGTOIn2S.js} +1 -1
  63. package/dist/shared/index.es.js +29 -28
  64. package/dist/{single-field-drop-CF_r0dCX.js → single-field-drop-b2b71HAk.js} +2 -3
  65. package/dist/{size-editor-DNMqRicI.js → size-editor-DtX2f2CF.js} +1 -1
  66. package/dist/src/adapter/adapter.d.ts +1 -1
  67. package/dist/src/adapter/index.d.ts +2 -0
  68. package/dist/src/{nocode-web-render/src/render/sub-table/common → adapter/web}/inventory-scan-columns.d.ts +1 -1
  69. package/dist/src/{nocode-web-render/src/render/sub-table/material-balance/mb-web-render.d.ts → adapter/web/material-balance-render.d.ts} +1 -1
  70. package/dist/src/{nocode-web-render/src/render/sub-table/material-balance → adapter/web}/material-consume-modal.vue.d.ts +1 -1
  71. package/dist/src/adapter/web/material-consume-render.d.ts +25 -0
  72. package/dist/src/{nocode-web-render/src/render/common → adapter/web}/open-util.d.ts +1 -1
  73. package/dist/src/{nocode-web-render/src/render/sub-table/stocktake/stocktake-web-render.d.ts → adapter/web/stocktake-render.d.ts} +2 -2
  74. package/dist/src/{nocode-web-render/src/render/sub-table/common → adapter/web}/sub-table-render.d.ts +2 -5
  75. package/dist/src/domain/document-business/business/product-release/profile.d.ts +2 -0
  76. package/dist/src/domain/document-business/business/product-release/service.d.ts +2 -0
  77. package/dist/src/domain/document-business/index.d.ts +2 -0
  78. package/dist/src/domain/document-business/registry.d.ts +2 -0
  79. package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +4 -0
  80. package/dist/src/domain/document-business/types.d.ts +24 -0
  81. package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +2 -0
  82. package/dist/src/domain/field/query-filter.d.ts +15 -0
  83. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +37 -1
  84. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +7 -0
  85. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +12 -0
  86. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
  87. package/dist/src/domain/table/business/warehouse/shared/autofill-source-labels.d.ts +19 -0
  88. package/dist/src/domain/table/design/autofill-expander.d.ts +2 -0
  89. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +6 -0
  90. package/dist/src/domain/table/index.d.ts +1 -1
  91. package/dist/src/domain/table/types.d.ts +2 -0
  92. package/dist/src/index.d.ts +8 -0
  93. package/dist/src/nocode-base/src/components/document-sub-table-action/dynamic-table-action.vue.d.ts +0 -2
  94. package/dist/src/nocode-base/src/components/document-sub-table-action/sub-table-action.vue.d.ts +0 -3
  95. package/dist/src/nocode-base/src/components/document-sub-table-action/type.d.ts +0 -4
  96. package/dist/src/nocode-base/src/components/material-consume/types.d.ts +1 -5
  97. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +4 -4
  98. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +1 -4
  99. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
  100. package/dist/src/nocode-base/src/hooks/formula-params-cache.d.ts +15 -0
  101. package/dist/src/nocode-base/src/hooks/inspection-module-qty.d.ts +4 -0
  102. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +0 -6
  103. package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +1 -28
  104. package/dist/src/nocode-base/src/hooks/render-page/initial-value-data-sources.d.ts +3 -0
  105. package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +9 -8
  106. package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +51 -0
  107. package/dist/src/nocode-base/src/hooks/render-page/sterilization-date.d.ts +3 -0
  108. package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +7 -1
  109. package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +8 -2
  110. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +55 -6
  111. package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +24 -0
  112. package/dist/src/nocode-base/src/interface/ref-loader.d.ts +12 -1
  113. package/dist/src/nocode-base/src/interface/render.d.ts +2 -1
  114. package/dist/src/nocode-base/src/interface/transform.d.ts +3 -0
  115. package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
  116. package/dist/src/nocode-base/src/runtime/designer-default-values.d.ts +23 -0
  117. package/dist/src/nocode-base/src/runtime/runtime-default-value-validation.d.ts +23 -0
  118. package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +1 -0
  119. package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +5 -2
  120. package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +8 -5
  121. package/dist/src/nocode-base/src/types/common/base.d.ts +8 -2
  122. package/dist/src/nocode-base/src/types/render/mc-render.d.ts +2 -15
  123. package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +0 -10
  124. package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
  125. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/base-vxe-table.vue.d.ts +1 -1
  126. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/default-value-rdo-editor.vue.d.ts +4 -4
  127. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/rdo-table-dropdown.vue.d.ts +3 -3
  128. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  129. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +144 -0
  130. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +87 -4
  131. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/message-rule-config/rule-modal.vue.d.ts +32 -0
  132. package/dist/src/{nocode-web-render/src/render/parse-rule → online-form/src/views/designer/modules/panel/sub-table/comps}/add-rule-btn.vue.d.ts +1 -1
  133. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +6 -0
  134. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/panel-check-table/select-check-ds-modal.vue.d.ts +3 -3
  135. package/dist/src/online-form/src/views/designer/types/index.d.ts +12 -1
  136. package/dist/src/online-form/src/views/designer/utils/placed-fields.d.ts +9 -0
  137. package/dist/src/online-form/src/views/designer/utils/template-placed-fields.d.ts +7 -0
  138. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-auto-complete.vue.d.ts +2 -2
  139. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-date-picker.vue.d.ts +2 -2
  140. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +1 -1
  141. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-text-input.vue.d.ts +2 -2
  142. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-textarea.vue.d.ts +2 -2
  143. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-floating-field.vue.d.ts +0 -1
  144. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-runtime-layer.vue.d.ts +0 -1
  145. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/use-seal-stamp.d.ts +1 -4
  146. package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +1 -0
  147. package/dist/src/online-form/src/views/render/__components__/_field_/trace/common/base-vxe-table.vue.d.ts +1 -1
  148. package/dist/src/shared/components/ColorPicker/src/ColorPicker.vue.d.ts +1 -1
  149. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +162 -2
  150. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +41 -0
  151. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +16 -0
  152. package/dist/src/shared/components/Signature/logic/index.d.ts +14 -0
  153. package/dist/src/shared/enum/field-type.d.ts +8 -3
  154. package/dist/src/{nocode-web-render/src → shared}/hooks/useWebUpload.d.ts +1 -1
  155. package/dist/src/shared/index.d.ts +1 -0
  156. package/dist/src/shared/types/index.d.ts +1 -0
  157. package/dist/src/shared/types/upload.d.ts +11 -0
  158. package/dist/src/shared/utils/withRequestCache.d.ts +27 -0
  159. package/dist/{sub-table-factory-D-GcNTOB.js → sub-table-factory-DoEvzrVN.js} +276 -89
  160. package/dist/{text-design-BfZf4B27.js → text-design-BQVBFcI0.js} +3 -2
  161. package/dist/{throttle-Cpk1LoGk-B4SDzSMU.js → throttle-Cpk1LoGk-DR_8z9qq.js} +1 -1
  162. package/dist/{timediff-design-BeO94tLR.js → timediff-design-DioTJEvx.js} +2 -1
  163. package/dist/{trace-like-wrapper-Xc4cr21n.js → trace-like-wrapper-CjxBkfYK.js} +3 -2
  164. package/dist/{value-editor.vue_vue_type_style_index_0_lang-CMpVHBLK.js → value-editor.vue_vue_type_style_index_0_lang-DpfdcyX_.js} +3 -2
  165. package/dist/{widget-barcode-CrfBj8iv.js → widget-barcode-CEn3AYG0.js} +5 -4
  166. package/dist/{widget-diagonal-C3Nho_Um.js → widget-diagonal-DbOhaNpW.js} +4 -4
  167. package/dist/{widget-image-CjsL9QW8.js → widget-image-BGP2w2mj.js} +5 -7
  168. package/dist/{widget-line-BtvpVv_s.js → widget-line-CkSPcw5A.js} +3 -2
  169. package/dist/{widget-pagination-DAUQo2nI.js → widget-pagination-BH0VtWHT.js} +6 -5
  170. package/dist/{widget-power-yUHZ4Hoc.js → widget-power-DuTIvdpR.js} +4 -4
  171. package/dist/{widget-qrcode-DJtT9NaM.js → widget-qrcode-CJJjPnwn.js} +4 -3
  172. package/dist/{widget-rangelimit-BhadVdCu.js → widget-rangelimit-828JH1wm.js} +3 -4
  173. package/dist/{widget-serialnumber-WMHB8nl6.js → widget-serialnumber-CIjY3I-t.js} +1 -1
  174. package/dist/{widget-text-C4dD9JF3.js → widget-text-C_Ja4yWN.js} +5 -5
  175. package/dist/{widget-timediff-C9d8_3hY.js → widget-timediff-CjmATkLS.js} +3 -2
  176. package/package.json +2 -6
  177. package/dist/AntdIcon-DCIaV352.js +0 -1108
  178. package/dist/index-_Ec5LAW9.js +0 -4353
  179. package/dist/mb-render-sgVmAe6_.js +0 -276
  180. package/dist/paper-widget-design-Nd5VjI7n.js +0 -4
  181. package/dist/seal-design-kuAsmNq1.js +0 -4
  182. package/dist/src/nocode-web-render/src/components/print-fill-background-selector.vue.d.ts +0 -2
  183. package/dist/src/nocode-web-render/src/hooks/index.d.ts +0 -2
  184. package/dist/src/nocode-web-render/src/hooks/userFormPrint.d.ts +0 -15
  185. package/dist/src/nocode-web-render/src/index.d.ts +0 -6
  186. package/dist/src/nocode-web-render/src/logic/index.d.ts +0 -1
  187. package/dist/src/nocode-web-render/src/render/common/index.d.ts +0 -2
  188. package/dist/src/nocode-web-render/src/render/common/modal-manager.d.ts +0 -20
  189. package/dist/src/nocode-web-render/src/render/index.d.ts +0 -10
  190. package/dist/src/nocode-web-render/src/render/parse-rule/index.d.ts +0 -3
  191. package/dist/src/nocode-web-render/src/render/parse-rule/parse-rule-modal.vue.d.ts +0 -15
  192. package/dist/src/nocode-web-render/src/render/sub-table/allocate/allocate-web-render.d.ts +0 -4
  193. package/dist/src/nocode-web-render/src/render/sub-table/allocate/index.d.ts +0 -1
  194. package/dist/src/nocode-web-render/src/render/sub-table/common/multi-rows-modal.vue.d.ts +0 -15
  195. package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +0 -19
  196. package/dist/src/nocode-web-render/src/render/sub-table/index.d.ts +0 -3
  197. package/dist/src/nocode-web-render/src/render/sub-table/material-balance/index.d.ts +0 -1
  198. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/bom-modal.vue.d.ts +0 -11
  199. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/index.d.ts +0 -4
  200. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +0 -42
  201. package/dist/src/nocode-web-render/src/render/sub-table/stocktake/index.d.ts +0 -2
  202. package/dist/src/nocode-web-render/src/types/hooks/index.d.ts +0 -1
  203. package/dist/src/nocode-web-render/src/types/index.d.ts +0 -1
  204. package/dist/web-render/index.d.ts +0 -1
  205. package/dist/web-render/index.es.js +0 -595
  206. /package/dist/src/{nocode-web-render/src/adapter/index.d.ts → adapter/web/setup.d.ts} +0 -0
  207. /package/dist/src/{nocode-web-render/src/logic/utils.d.ts → adapter/web/upload.d.ts} +0 -0
@@ -25,8 +25,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
25
25
  onClick?: ((event: MouseEvent) => any) | undefined;
26
26
  }>, {
27
27
  disabled: boolean;
28
- icon: "image" | "attachment" | "signature";
29
28
  empty: boolean;
29
+ icon: "image" | "attachment" | "signature";
30
30
  showAdd: boolean;
31
31
  showOverlay: boolean;
32
32
  variant: "thumb" | "file";
@@ -8,14 +8,14 @@ type __VLS_Props = {
8
8
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
9
  change: (...args: any[]) => void;
10
10
  blur: (...args: any[]) => void;
11
- focus: (...args: any[]) => void;
12
11
  "update:value": (...args: any[]) => void;
12
+ focus: (...args: any[]) => void;
13
13
  pressEnter: (...args: any[]) => void;
14
14
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
15
  onChange?: ((...args: any[]) => any) | undefined;
16
16
  onBlur?: ((...args: any[]) => any) | undefined;
17
- onFocus?: ((...args: any[]) => any) | undefined;
18
17
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
18
+ onFocus?: ((...args: any[]) => any) | undefined;
19
19
  onPressEnter?: ((...args: any[]) => any) | undefined;
20
20
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
21
  export default _default;
@@ -11,14 +11,14 @@ type __VLS_Props = {
11
11
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
12
  change: (...args: any[]) => void;
13
13
  blur: (...args: any[]) => void;
14
- focus: (...args: any[]) => void;
15
14
  "update:value": (...args: any[]) => void;
15
+ focus: (...args: any[]) => void;
16
16
  pressEnter: (...args: any[]) => void;
17
17
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
18
  onChange?: ((...args: any[]) => any) | undefined;
19
19
  onBlur?: ((...args: any[]) => any) | undefined;
20
- onFocus?: ((...args: any[]) => any) | undefined;
21
20
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
21
+ onFocus?: ((...args: any[]) => any) | undefined;
22
22
  onPressEnter?: ((...args: any[]) => any) | undefined;
23
23
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
24
24
  export default _default;
@@ -3,7 +3,6 @@ type __VLS_Props = {
3
3
  widget: ISeal;
4
4
  formData: Record<string, any>;
5
5
  surfaceGroup: string;
6
- printMode: boolean;
7
6
  };
8
7
  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, {}, any>;
9
8
  export default _default;
@@ -3,7 +3,6 @@ type __VLS_Props = {
3
3
  basicInfo: IBasicInfoItem;
4
4
  dataCenter: Record<string, BaseCoreComponent.BasicSchema>;
5
5
  formData: Record<string, any>;
6
- printMode: boolean;
7
6
  };
8
7
  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, {}, any>;
9
8
  export default _default;
@@ -1,17 +1,16 @@
1
- import { SignInfo } from '../../../../../../../../shared/components/Signature';
2
1
  import { SealStamp } from '../../../../../../../../shared/seal';
3
2
  import { SealDetail, SealPasswordRequest } from './seal-api';
4
3
  interface Dependencies {
5
4
  sealId: string;
6
5
  fetchDetail: (id: string) => Promise<SealDetail>;
7
6
  verifyPassword: (request: SealPasswordRequest) => Promise<boolean>;
7
+ getCurrentUser: () => Pick<SealStamp, 'sealUserId' | 'sealUserName'>;
8
8
  now: () => string;
9
9
  isActive: () => boolean;
10
10
  translate: (key: string) => string;
11
11
  }
12
12
  /** 弹窗内只暂存数据。返回最终结果后,调用方再一次性更新印章字段。 */
13
13
  export declare function createSealStampFlow(deps: Dependencies): {
14
- step: import('vue').Ref<"seal" | "signature", "seal" | "signature">;
15
14
  detailStatus: import('vue').Ref<"idle" | "ready" | "error" | "loading", "idle" | "ready" | "error" | "loading">;
16
15
  passwordStatus: import('vue').Ref<"idle" | "error" | "invalid" | "validating" | "valid", "idle" | "error" | "invalid" | "validating" | "valid">;
17
16
  sealDetail: import('vue').Ref<SealDetail | undefined, SealDetail | undefined>;
@@ -19,11 +18,9 @@ export declare function createSealStampFlow(deps: Dependencies): {
19
18
  passwordError: import('vue').Ref<string, string>;
20
19
  error: import('vue').Ref<string, string>;
21
20
  submitting: import('vue').Ref<boolean, boolean>;
22
- authenticated: (info: SignInfo) => Promise<void>;
23
21
  loadDetail: () => Promise<void>;
24
22
  validatePassword: () => Promise<boolean>;
25
23
  confirm: () => Promise<SealStamp | undefined>;
26
- back: () => void;
27
24
  dispose: () => void;
28
25
  };
29
26
  export {};
@@ -45,6 +45,7 @@ declare class Seal extends BaseComponent {
45
45
  mappingType?: string;
46
46
  };
47
47
  componentDependency?: import('../../../../designer/types/cell-widget').DisplayProps;
48
+ valueChangeDataSourceKeys?: string[];
48
49
  isMaterialConsumeField?: boolean;
49
50
  customRenderTag?: string;
50
51
  };
@@ -50,9 +50,9 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
50
50
  "onChange-select"?: ((...args: any[]) => any) | undefined;
51
51
  }>, {
52
52
  height: string;
53
- autoResize: boolean;
54
53
  wrapperHeight: number | string;
55
54
  wrapperWidth: number | string;
55
+ autoResize: boolean;
56
56
  showRowSelectionMode: boolean;
57
57
  rowSelectionMode: "single" | "multiple";
58
58
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
@@ -32,9 +32,9 @@ declare const __VLS_component: import('vue').DefineComponent<PropsType, {}, {},
32
32
  }>, {
33
33
  color: string | RgbaType;
34
34
  width: number;
35
- placement: any;
36
35
  preset: string[];
37
36
  useTrigger: boolean;
37
+ placement: any;
38
38
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
39
39
  saturationRef: HTMLDivElement;
40
40
  hueSliderRef: HTMLDivElement;
@@ -1,3 +1,4 @@
1
+ import { NumberInputRules } from '../LimitedNumberInput/number-input-rules';
1
2
  interface Props {
2
3
  doubleValue: any;
3
4
  isSeparator?: boolean;
@@ -9,6 +10,7 @@ interface Props {
9
10
  /** 是否启用计步器 */
10
11
  enableStepCounter?: boolean;
11
12
  rules?: 1 | 4 | 6;
13
+ numberLimits?: NumberInputRules;
12
14
  }
13
15
  declare function __VLS_template(): {
14
16
  attrs: Partial<{}>;
@@ -17,7 +19,86 @@ declare function __VLS_template(): {
17
19
  'step-up'?(_: {}): any;
18
20
  };
19
21
  refs: {
20
- inputNumberRef: unknown;
22
+ inputNumberRef: ({
23
+ $: import('vue').ComponentInternalInstance;
24
+ $data: {};
25
+ $props: {
26
+ readonly value?: string | number | null | undefined;
27
+ readonly precision?: number | undefined;
28
+ readonly limits?: NumberInputRules | undefined;
29
+ readonly onChange?: ((...args: any[]) => any) | undefined;
30
+ readonly onBlur?: ((...args: any[]) => any) | undefined;
31
+ readonly "onUpdate:value"?: ((...args: any[]) => any) | undefined;
32
+ readonly onPressEnter?: ((...args: any[]) => any) | undefined;
33
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
34
+ $attrs: import('vue').Attrs;
35
+ $refs: {
36
+ [x: string]: unknown;
37
+ } & {
38
+ inputRef: unknown;
39
+ };
40
+ $slots: Readonly<{
41
+ [name: string]: import('vue').Slot<any> | undefined;
42
+ }>;
43
+ $root: import('vue').ComponentPublicInstance | null;
44
+ $parent: import('vue').ComponentPublicInstance | null;
45
+ $host: Element | null;
46
+ $emit: ((event: "change", ...args: any[]) => void) & ((event: "blur", ...args: any[]) => void) & ((event: "update:value", ...args: any[]) => void) & ((event: "pressEnter", ...args: any[]) => void);
47
+ $el: any;
48
+ $options: import('vue').ComponentOptionsBase<Readonly<{
49
+ value?: string | number | null;
50
+ precision?: number;
51
+ limits?: NumberInputRules;
52
+ }> & Readonly<{
53
+ onChange?: ((...args: any[]) => any) | undefined;
54
+ onBlur?: ((...args: any[]) => any) | undefined;
55
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
56
+ onPressEnter?: ((...args: any[]) => any) | undefined;
57
+ }>, {
58
+ focus: () => void | undefined;
59
+ blur: () => void | undefined;
60
+ reset: (refocus?: boolean) => void;
61
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
62
+ change: (...args: any[]) => void;
63
+ blur: (...args: any[]) => void;
64
+ "update:value": (...args: any[]) => void;
65
+ pressEnter: (...args: any[]) => void;
66
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
67
+ beforeCreate?: (() => void) | (() => void)[];
68
+ created?: (() => void) | (() => void)[];
69
+ beforeMount?: (() => void) | (() => void)[];
70
+ mounted?: (() => void) | (() => void)[];
71
+ beforeUpdate?: (() => void) | (() => void)[];
72
+ updated?: (() => void) | (() => void)[];
73
+ activated?: (() => void) | (() => void)[];
74
+ deactivated?: (() => void) | (() => void)[];
75
+ beforeDestroy?: (() => void) | (() => void)[];
76
+ beforeUnmount?: (() => void) | (() => void)[];
77
+ destroyed?: (() => void) | (() => void)[];
78
+ unmounted?: (() => void) | (() => void)[];
79
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
80
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
81
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
82
+ };
83
+ $forceUpdate: () => void;
84
+ $nextTick: typeof import('vue').nextTick;
85
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
86
+ } & Readonly<{}> & Omit<Readonly<{
87
+ value?: string | number | null;
88
+ precision?: number;
89
+ limits?: NumberInputRules;
90
+ }> & Readonly<{
91
+ onChange?: ((...args: any[]) => any) | undefined;
92
+ onBlur?: ((...args: any[]) => any) | undefined;
93
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
94
+ onPressEnter?: ((...args: any[]) => any) | undefined;
95
+ }>, "blur" | "focus" | "reset"> & {
96
+ focus: () => void | undefined;
97
+ blur: () => void | undefined;
98
+ reset: (refocus?: boolean) => void;
99
+ } & {} & import('vue').ComponentCustomProperties & {} & {
100
+ $slots: Partial<Record<number, (_: any) => any>>;
101
+ }) | null;
21
102
  };
22
103
  rootEl: any;
23
104
  };
@@ -35,7 +116,86 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {
35
116
  onBlur?: ((...args: any[]) => any) | undefined;
36
117
  "onUpdate:doubleValue"?: ((...args: any[]) => any) | undefined;
37
118
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
38
- inputNumberRef: unknown;
119
+ inputNumberRef: ({
120
+ $: import('vue').ComponentInternalInstance;
121
+ $data: {};
122
+ $props: {
123
+ readonly value?: string | number | null | undefined;
124
+ readonly precision?: number | undefined;
125
+ readonly limits?: NumberInputRules | undefined;
126
+ readonly onChange?: ((...args: any[]) => any) | undefined;
127
+ readonly onBlur?: ((...args: any[]) => any) | undefined;
128
+ readonly "onUpdate:value"?: ((...args: any[]) => any) | undefined;
129
+ readonly onPressEnter?: ((...args: any[]) => any) | undefined;
130
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
131
+ $attrs: import('vue').Attrs;
132
+ $refs: {
133
+ [x: string]: unknown;
134
+ } & {
135
+ inputRef: unknown;
136
+ };
137
+ $slots: Readonly<{
138
+ [name: string]: import('vue').Slot<any> | undefined;
139
+ }>;
140
+ $root: import('vue').ComponentPublicInstance | null;
141
+ $parent: import('vue').ComponentPublicInstance | null;
142
+ $host: Element | null;
143
+ $emit: ((event: "change", ...args: any[]) => void) & ((event: "blur", ...args: any[]) => void) & ((event: "update:value", ...args: any[]) => void) & ((event: "pressEnter", ...args: any[]) => void);
144
+ $el: any;
145
+ $options: import('vue').ComponentOptionsBase<Readonly<{
146
+ value?: string | number | null;
147
+ precision?: number;
148
+ limits?: NumberInputRules;
149
+ }> & Readonly<{
150
+ onChange?: ((...args: any[]) => any) | undefined;
151
+ onBlur?: ((...args: any[]) => any) | undefined;
152
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
153
+ onPressEnter?: ((...args: any[]) => any) | undefined;
154
+ }>, {
155
+ focus: () => void | undefined;
156
+ blur: () => void | undefined;
157
+ reset: (refocus?: boolean) => void;
158
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
159
+ change: (...args: any[]) => void;
160
+ blur: (...args: any[]) => void;
161
+ "update:value": (...args: any[]) => void;
162
+ pressEnter: (...args: any[]) => void;
163
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
164
+ beforeCreate?: (() => void) | (() => void)[];
165
+ created?: (() => void) | (() => void)[];
166
+ beforeMount?: (() => void) | (() => void)[];
167
+ mounted?: (() => void) | (() => void)[];
168
+ beforeUpdate?: (() => void) | (() => void)[];
169
+ updated?: (() => void) | (() => void)[];
170
+ activated?: (() => void) | (() => void)[];
171
+ deactivated?: (() => void) | (() => void)[];
172
+ beforeDestroy?: (() => void) | (() => void)[];
173
+ beforeUnmount?: (() => void) | (() => void)[];
174
+ destroyed?: (() => void) | (() => void)[];
175
+ unmounted?: (() => void) | (() => void)[];
176
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
177
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
178
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
179
+ };
180
+ $forceUpdate: () => void;
181
+ $nextTick: typeof import('vue').nextTick;
182
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
183
+ } & Readonly<{}> & Omit<Readonly<{
184
+ value?: string | number | null;
185
+ precision?: number;
186
+ limits?: NumberInputRules;
187
+ }> & Readonly<{
188
+ onChange?: ((...args: any[]) => any) | undefined;
189
+ onBlur?: ((...args: any[]) => any) | undefined;
190
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
191
+ onPressEnter?: ((...args: any[]) => any) | undefined;
192
+ }>, "blur" | "focus" | "reset"> & {
193
+ focus: () => void | undefined;
194
+ blur: () => void | undefined;
195
+ reset: (refocus?: boolean) => void;
196
+ } & {} & import('vue').ComponentCustomProperties & {} & {
197
+ $slots: Partial<Record<number, (_: any) => any>>;
198
+ }) | null;
39
199
  }, any>;
40
200
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
41
201
  export default _default;
@@ -0,0 +1,41 @@
1
+ import { NumberInputRules } from './number-input-rules';
2
+ type __VLS_Props = {
3
+ value?: string | number | null;
4
+ precision?: number;
5
+ limits?: NumberInputRules;
6
+ };
7
+ /** 仅在数值组件内部已经处理过非法操作时重建,清理其内部编辑缓存。 */
8
+ declare function reset(refocus?: boolean): void;
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: Partial<Record<number, (_: any) => any>>;
12
+ refs: {
13
+ inputRef: unknown;
14
+ };
15
+ rootEl: any;
16
+ };
17
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
18
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
19
+ focus: () => void | undefined;
20
+ blur: () => void | undefined;
21
+ reset: typeof reset;
22
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ change: (...args: any[]) => void;
24
+ blur: (...args: any[]) => void;
25
+ "update:value": (...args: any[]) => void;
26
+ pressEnter: (...args: any[]) => void;
27
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
28
+ onChange?: ((...args: any[]) => any) | undefined;
29
+ onBlur?: ((...args: any[]) => any) | undefined;
30
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
31
+ onPressEnter?: ((...args: any[]) => any) | undefined;
32
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
33
+ inputRef: unknown;
34
+ }, any>;
35
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
36
+ export default _default;
37
+ type __VLS_WithTemplateSlots<T, S> = T & {
38
+ new (): {
39
+ $slots: S;
40
+ };
41
+ };
@@ -0,0 +1,16 @@
1
+ export type NumberInputValue = string | number | null | undefined;
2
+ export interface NumberInputRules {
3
+ maxDigits?: number;
4
+ maxValue?: string | number;
5
+ precision?: number;
6
+ roundingMode?: 1 | 4 | 6;
7
+ }
8
+ export declare function normalizeNumberText(value: NumberInputValue): string;
9
+ /** 提交只接受完整数值或空值,不接受正负号、小数点等编辑中间态。 */
10
+ export declare function isNumberCommitAllowed(value: NumberInputValue, rules: NumberInputRules): boolean;
11
+ /** 编辑允许空值、正负号、小数点;禁止科学计数法绕过位数限制。 */
12
+ export declare function isNumberDraftAllowed(value: string, rules: NumberInputRules): boolean;
13
+ export declare function getNumberFieldLimits(props: {
14
+ bizType?: string;
15
+ fieldType?: string;
16
+ }): NumberInputRules;
@@ -36,6 +36,19 @@ export declare function addSignHistory(opts: {
36
36
  * @return {*}
37
37
  */
38
38
  export declare function completeSignInfo(partial: PartialSignInfo): Promise<SignInfo>;
39
+ export interface ImageSize {
40
+ width: number;
41
+ height: number;
42
+ }
43
+ /** 无图签名的显示尺寸,canvas 以两倍像素绘制 */
44
+ export declare const FALLBACK_SIGN_DISPLAY_SIZE: {
45
+ readonly width: 120;
46
+ readonly height: 68;
47
+ };
48
+ /** 横向“姓名 + 日期”兜底签名按文字内容决定宽度,保持默认高度。 */
49
+ export declare function getFormSignFallbackSize(name: string, time?: number | string, height?: 68): ImageSize;
50
+ /** 仅姓名兜底签名按最长一行文字宽度和左右各 8px 留白确定画布宽度。 */
51
+ export declare function getSimpleNameFallbackSize(name: string, height: number): ImageSize;
39
52
  /**
40
53
  * 获取预览url地址
41
54
  *
@@ -52,4 +65,5 @@ export declare function resolveSignatureImageDirection(direction?: string): Sign
52
65
  * 表单签名/报工人/仓管员字段预览(无图片时按兜底签名配置绘制)
53
66
  * 无配置时默认「仅用户名」。
54
67
  */
68
+ export declare function getFormSignPreviewSize(name: string, time?: number | string, fallbackSignType?: FallbackSignTypeEnum | string, signatureImageDirection?: SignatureImageDirectionEnum | string): ImageSize;
55
69
  export declare function getFormSignPreviewUrl(url: any, name: any, callback?: any, time?: number | string, fallbackSignType?: FallbackSignTypeEnum | string, signatureImageDirection?: SignatureImageDirectionEnum | string): any;
@@ -171,7 +171,7 @@ export declare enum FIELD_TYPE {
171
171
  * 签名
172
172
  */
173
173
  SIGNATURE = "electronic_signature",
174
- /** 印章,存储 type=text、bizType=seal */
174
+ /** 印章,存储 type=seal、bizType=seal */
175
175
  SEAL = "seal",
176
176
  /**
177
177
  * 表单模板、在线表单模板
@@ -327,16 +327,20 @@ 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
  */
333
337
  MATERIAL_CHECK_QTY = "material_check_qty",
334
338
  /**
335
- * 检验数量
339
+ * 送检数量
336
340
  */
337
341
  INSPECTION_QTY = "inspection_qty",
338
342
  /**
339
- * 受检数量
343
+ * 检验数量
340
344
  */
341
345
  INSPECTION_MODULE_QTY = "inspection_module_qty",
342
346
  /**
@@ -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;
@@ -1,4 +1,4 @@
1
- import { IWebUploadApis, IUploadParams } from '../types';
1
+ import { IWebUploadApis, IUploadParams } from '../types/upload';
2
2
  /**
3
3
  * 统一上传入口
4
4
  * @returns
@@ -2,5 +2,6 @@
2
2
  export * from './enum';
3
3
  export type { SealPosition, SealStamp, SealFieldValue, SealSource } from './seal';
4
4
  export type * from './types';
5
+ export { useWebUpload } from './hooks/useWebUpload';
5
6
  export { VersionSelect } from './components/version-select';
6
7
  export { OnlineFormModelSelect, OnlineFormModelModal, } from './components/online-form-model-select';
@@ -1,2 +1,3 @@
1
1
  export type { IModal, IModalData, IModalOptions, IOverlayContainer, } from './modal';
2
2
  export type { FieldMetaVO, FieldMetaDefaultValue, FieldMetaUniqueConstraint } from './field-meta';
3
+ export type { IWebUploadApis, IUploadParams } from './upload';
@@ -0,0 +1,11 @@
1
+ export interface IUploadParams {
2
+ type: 'image' | 'file';
3
+ modelKey?: string;
4
+ }
5
+ type UploadFunction = (file: any, opts?: IUploadParams) => Promise<string> | string | void;
6
+ type TransferFunction = (filename: string) => string;
7
+ export interface IWebUploadApis {
8
+ upload: UploadFunction | null;
9
+ transfer: TransferFunction | null;
10
+ }
11
+ export {};
@@ -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 {};