@gct-paas/excel 0.1.16 → 0.1.18

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 (192) hide show
  1. package/dist/{BaseComponent-DJNL1tGs.js → BaseComponent-xTm5lvAr.js} +1 -0
  2. package/dist/{VueVideoPlayer-Db7qcsRE.js → VueVideoPlayer-D3u-ZHom.js} +2 -2
  3. package/dist/{agg-design-BjqRVeg1.js → agg-design-D7CkIPCA.js} +1 -1
  4. package/dist/{agg-props-CrdosdGr.js → agg-props-DNNO9ucx.js} +1 -1
  5. package/dist/{agg-style-CfZoOE-b.js → agg-style-v_94dzX8.js} +1 -1
  6. package/dist/{align-editor-BaNT0jhx.js → align-editor-COpCDpFf.js} +1 -1
  7. package/dist/{attach-fields-editor-CThobu8X.js → attach-fields-editor-o_7W-2sr.js} +2 -2
  8. package/dist/{barcode-design-CHjIeaiJ.js → barcode-design-CvsGGAio.js} +2 -2
  9. package/dist/base/index.es.js +347 -53
  10. package/dist/{base-font-editor-BiSPxwVH.js → base-font-editor-BmC423aB.js} +2 -2
  11. package/dist/{boolean-design-BYAdX-h5.js → boolean-design-Hc8Es5l1.js} +2 -2
  12. package/dist/{boolean-props-jKvjhdlG.js → boolean-props-CGamLGXA.js} +3 -3
  13. package/dist/{boolean-style-RsMRzVBL.js → boolean-style-m-WuSO6S.js} +4 -4
  14. package/dist/{cell-upload-JxFLM1bV.js → cell-upload-CiXVE0Ii.js} +2 -2
  15. package/dist/date-range-editor-BZkhUU-x.js +470 -0
  16. package/dist/{date-time-design-Du8pmDo-.js → date-time-design-B_oFOcft.js} +1 -1
  17. package/dist/date-time-props-hGnSGQKc.js +105 -0
  18. package/dist/{date-time-style-DSEnmxAE.js → date-time-style-CGKG8i3K.js} +1 -1
  19. package/dist/{decimal-design-C2GbzP9k.js → decimal-design-B5Artgk6.js} +1 -1
  20. package/dist/{decimal-display-mode-CagizhJW.js → decimal-display-mode-C4XUezoP.js} +2 -2
  21. package/dist/{decimal-props-CGLqWy8I.js → decimal-props-Q37uOcWl.js} +4 -4
  22. package/dist/{decimal-style-6j22QKYO.js → decimal-style-C2CnGPVG.js} +1 -1
  23. package/dist/{default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-C5K6qhB-.js → default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-DTnbLBVW.js} +109 -39
  24. package/dist/{diagonal-design-Cq3oxdHe.js → diagonal-design-CyUvkcvp.js} +2 -2
  25. package/dist/{document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js → document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js} +2295 -1388
  26. package/dist/{document-sub-table-action-rz6gyez5.js → document-sub-table-action-Cy6Rd8OS.js} +384 -193
  27. package/dist/{double-design-CyXEqcV7.js → double-design-D_ipWcRm.js} +1 -1
  28. package/dist/{double-props-DaJoio1W.js → double-props-D4FGbfe2.js} +4 -4
  29. package/dist/{double-style-B4lIth-J.js → double-style-BbD_6_Os.js} +1 -1
  30. package/dist/{edit.utils-CXmmCnxE-DW8ClKe9.js → edit.utils-CXmmCnxE-BK4QnSP-.js} +1 -1
  31. package/dist/{enum-design-DSx09tOO.js → enum-design-lOufLU6Z.js} +2 -2
  32. package/dist/{enum-props-CJNuQLJ_.js → enum-props-brKRP5Uz.js} +4 -4
  33. package/dist/{enum-style-5N5xmgRJ.js → enum-style-BQQHkDUD.js} +2 -2
  34. package/dist/excel.css +943 -440
  35. package/dist/{exceljs.min-D9gV8q6H.js → exceljs.min-CUwGyNAf.js} +2 -2
  36. package/dist/{expression-design-BJDbafot.js → expression-design-BPEci3dg.js} +1 -1
  37. package/dist/{expression-props-BpHbrsle.js → expression-props-Cvg-9V-B.js} +1 -1
  38. package/dist/{expression-style-qPh81w7Q.js → expression-style-Dv3Hl8lm.js} +1 -1
  39. package/dist/{file-design-B7si04Bi.js → file-design-BIzi6cpq.js} +1 -1
  40. package/dist/{file-props-DTtOnHQy.js → file-props-oV2U7bpO.js} +2 -2
  41. package/dist/{file-style-C6KW_szu.js → file-style-CZrxokgP.js} +1 -1
  42. package/dist/{font-editor-DgGgvmB2.js → font-editor-B41KgpWJ.js} +3 -3
  43. package/dist/{form-annotation-controller-KcMm2QYA.js → form-annotation-controller-CdNmJKv-.js} +87 -31
  44. package/dist/{image-design-B92Xkcf-.js → image-design-C3FEtW6i.js} +2 -2
  45. package/dist/{image-design-CCfpT4Rp.js → image-design-DMfBfSkD.js} +2 -2
  46. package/dist/{image-props-DZgfzMta.js → image-props-DPibJk7n.js} +1 -1
  47. package/dist/{image-style-DX6Q_gF4.js → image-style-DLudd5Vt.js} +1 -1
  48. package/dist/{index-Bnbl3VER.js → index-B1CG-75q.js} +2 -2
  49. package/dist/{index-tbaOl7Nd.js → index-B1r6-Uxf.js} +1 -1
  50. package/dist/{index-bvhV6lsn.js → index-B7lz2J6V.js} +14 -7
  51. package/dist/{index-DRd2oRK1.js → index-B8ey1U_N.js} +2 -2
  52. package/dist/{index-BXMOCfWv.js → index-B8wKNUsK.js} +2 -2
  53. package/dist/{index-DzIKEtWw.js → index-BOis3jsA.js} +1 -1
  54. package/dist/{index-BYl8cK0A.js → index-BZ1jj7Nu.js} +1 -1
  55. package/dist/{index-DsASTvC2.js → index-BgZkpQKh.js} +1 -1
  56. package/dist/{index-Bg-x1hF6.js → index-BiNVmD5v.js} +2 -2
  57. package/dist/{index-BEBKoAOg.js → index-Bppcm2iQ.js} +2 -2
  58. package/dist/{index-Dsj3FuVs.js → index-Bvjplnz_.js} +2 -2
  59. package/dist/{index-DgHRTRH5.js → index-C5bYd42n.js} +2 -2
  60. package/dist/{index-BzhFcvnJ.js → index-CUIGN7Rt.js} +2 -2
  61. package/dist/{index-B2iip4UC.js → index-Cjz0GLDq.js} +2 -2
  62. package/dist/{index-DOFSbVSN.js → index-CkYbgRrH.js} +1 -1
  63. package/dist/{index-BB5uSbo3.js → index-Cn_c3-eW.js} +1 -1
  64. package/dist/{index-Be7TFwwX.js → index-Cp7mC3Qt.js} +4 -2
  65. package/dist/{index-DFgGQBCZ.js → index-CtiiIgjs.js} +2 -2
  66. package/dist/{index-D6diRqWG.js → index-D0YZX_c7.js} +2 -2
  67. package/dist/{index-DRKvAxuA.js → index-D7fFpHaN.js} +1 -1
  68. package/dist/{index-C8qPy1oW.js → index-DAqYc474.js} +2 -2
  69. package/dist/{index-p-Q3DQmv.js → index-DDpNgyvD.js} +3 -3
  70. package/dist/{index-IUYnmIJe.js → index-DFoELlwd.js} +1 -1
  71. package/dist/{index-DJISlRXi.js → index-DHVK-P9J.js} +4 -2
  72. package/dist/{index-BhzF0Rp3.js → index-DH_EZe8p.js} +4 -3
  73. package/dist/{index-CIoB2iny.js → index-DJIzgsog.js} +1 -1
  74. package/dist/{index-Doxcf2Zs.js → index-DPQkm6_v.js} +2 -2
  75. package/dist/{index-CtTSTTkq.js → index-DsNRjyQD.js} +2 -2
  76. package/dist/{index-Da7W9uBC.js → index-I_FRG0Ho.js} +2 -2
  77. package/dist/{index-CmaPtyCh.js → index-oSIIidoF.js} +4 -2
  78. package/dist/{index-rn6aiccW.js → index-rXMzwu77.js} +3 -3
  79. package/dist/{index-XbgrTOMF.js → index-vZZ5q2xJ.js} +1 -1
  80. package/dist/{index-Cw_YFCZT.js → index-yih5hGsL.js} +1467 -1345
  81. package/dist/index.es.js +6 -5
  82. package/dist/{integer-design-CPzJPZon.js → integer-design-DhkNa9IA.js} +1 -1
  83. package/dist/{integer-props-deCDvNET.js → integer-props-c_aQpjaT.js} +4 -4
  84. package/dist/{integer-style-DwZIRXEW.js → integer-style-CS5v7Bhq.js} +1 -1
  85. package/dist/{mb-render-Bejyn-ep.js → mb-render-Cs7LUxzk.js} +1 -1
  86. package/dist/{number-input-ex-CgwOH18n.js → number-input-ex-CwKIHfk1.js} +1 -1
  87. package/dist/{org-props-BeFVQ-QY.js → org-props-BcbW62Jg.js} +2 -2
  88. package/dist/{org-style-CLVWLtyd.js → org-style-Bk7mgML3.js} +1 -1
  89. package/dist/{pagination-design-CT0EQmxW.js → pagination-design-B1KyJUAG.js} +2 -2
  90. package/dist/paper-widget-design-Cp0ioo8c.js +4 -0
  91. package/dist/{qrcode-design-CjOkp2xa.js → qrcode-design-EafZURDZ.js} +1 -1
  92. package/dist/{ref-autofill-editor-B2KcQvyt.js → ref-autofill-editor-OtclaSqy.js} +2 -2
  93. package/dist/{ref-props-DPnt_pys.js → ref-props-C95McyZp.js} +3 -3
  94. package/dist/{ref-style-D0XKTtP1.js → ref-style-BxdvOF-4.js} +1 -1
  95. package/dist/regex-editor-BGukvOEI.js +796 -0
  96. package/dist/{revo-grid.entry-ztDhASK3.js → revo-grid.entry-BeRVTVKO.js} +1 -1
  97. package/dist/{revogr-attribution_7.entry-BtXV91vv.js → revogr-attribution_7.entry-CHtbU2lV.js} +3 -3
  98. package/dist/{revogr-clipboard_3.entry-DXpq4oNb.js → revogr-clipboard_3.entry-DnvQ-Rl7.js} +2 -2
  99. package/dist/{revogr-data_4.entry-WA1PNcGb.js → revogr-data_4.entry-DLRSuaN8.js} +2 -2
  100. package/dist/{revogr-filter-panel.entry-unpVAD7l.js → revogr-filter-panel.entry-BDkhY-74.js} +1 -1
  101. package/dist/{select-render-type-editor.vue_vue_type_script_setup_true_lang-CqaEwsvS.js → select-render-type-editor.vue_vue_type_script_setup_true_lang-ChESg_eM.js} +2 -2
  102. package/dist/{serialnumber-design-ClArHZWU.js → serialnumber-design-CRaym9J-.js} +1 -1
  103. package/dist/shared/index.es.js +16 -16
  104. package/dist/{signature-design-Cg2Ejj3g.js → signature-design-BJHfLDNV.js} +1 -1
  105. package/dist/{signature-props-CNuLBWtc.js → signature-props-B9hfppHh.js} +3 -3
  106. package/dist/{signature-style-DtlZdeFB.js → signature-style-DM4rqHnN.js} +1 -1
  107. package/dist/{single-field-drop-COLR9RIu.js → single-field-drop-eClQhTSv.js} +2 -2
  108. package/dist/{size-editor-DyGGEX3s.js → size-editor-BjlCmEWf.js} +1 -1
  109. package/dist/src/adapter/index.d.ts +1 -0
  110. package/dist/src/adapter/setup.d.ts +1 -1
  111. package/dist/src/nocode-base/src/_utils_/uuid.d.ts +6 -1
  112. package/dist/src/nocode-base/src/constant/index.d.ts +11 -0
  113. package/dist/src/nocode-base/src/hooks/annotation/collect-annotation-items.d.ts +15 -0
  114. package/dist/src/nocode-base/src/hooks/annotation/form-annotation-controller.d.ts +5 -2
  115. package/dist/src/nocode-base/src/hooks/annotation/form-change-row.d.ts +60 -0
  116. package/dist/src/nocode-base/src/hooks/annotation/index.d.ts +2 -0
  117. package/dist/src/nocode-base/src/hooks/app-info/index.d.ts +2 -2
  118. package/dist/src/nocode-base/src/hooks/index.d.ts +2 -1
  119. package/dist/src/nocode-base/src/hooks/model-relation/index.d.ts +1 -1
  120. package/dist/src/nocode-base/src/hooks/service-util/sn-rule.d.ts +1 -1
  121. package/dist/src/nocode-base/src/hooks/useFormHook.d.ts +1 -1
  122. package/dist/src/nocode-base/src/hooks/useRenderData.d.ts +4 -2
  123. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +36 -4
  124. package/dist/src/nocode-base/src/hooks/useValidator.d.ts +6 -6
  125. package/dist/src/nocode-base/src/hooks/validation/admission.d.ts +19 -0
  126. package/dist/src/nocode-base/src/hooks/validation/attach.d.ts +24 -0
  127. package/dist/src/nocode-base/src/hooks/validation/createValidateFactory.d.ts +35 -0
  128. package/dist/src/nocode-base/src/hooks/validation/formRulesStore.d.ts +15 -0
  129. package/dist/src/nocode-base/src/hooks/validation/merge.d.ts +24 -0
  130. package/dist/src/nocode-base/src/hooks/validation/runValidation.d.ts +17 -0
  131. package/dist/src/nocode-base/src/hooks/validation/scheduler.d.ts +12 -0
  132. package/dist/src/nocode-base/src/hooks/validation/types.d.ts +44 -0
  133. package/dist/src/nocode-base/src/hooks/validation/useFormValidator.d.ts +39 -0
  134. package/dist/src/nocode-base/src/hooks/validation/utils.d.ts +24 -0
  135. package/dist/src/nocode-base/src/hooks/validation/waitForSettle.d.ts +17 -0
  136. package/dist/src/nocode-base/src/interface/render.d.ts +1 -1
  137. package/dist/src/nocode-base/src/types/common/base.d.ts +14 -2
  138. package/dist/src/nocode-base/src/types/fields/i-datepicker.d.ts +5 -1
  139. package/dist/src/nocode-base/src/types/fields/i-datetimepicker.d.ts +5 -1
  140. package/dist/src/nocode-base/src/types/fields/i-inputdouble.d.ts +5 -1
  141. package/dist/src/nocode-base/src/types/fields/i-inputnumber.d.ts +5 -1
  142. package/dist/src/nocode-base/src/types/fields/i-trace.d.ts +27 -1
  143. package/dist/src/nocode-base/src/types/widgets/i-paper.d.ts +2 -0
  144. package/dist/src/online-form/src/components/version-diff/index/types.d.ts +2 -0
  145. package/dist/src/online-form/src/views/__cell_widgets__/common/keep-exception-highlight-editor/keep-exception-highlight-editor.vue.d.ts +10 -0
  146. package/dist/src/online-form/src/views/__cell_widgets__/common/regex-editor/common-regex-api.d.ts +11 -0
  147. package/dist/src/online-form/src/views/__cell_widgets__/common/regex-editor/editor.d.ts +8 -0
  148. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +12 -0
  149. package/dist/src/online-form/src/views/designer/hooks/useModelFields.d.ts +1 -1
  150. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +16 -0
  151. package/dist/src/online-form/src/views/designer/modules/panel/comps/signature-config/field-tree-select.vue.d.ts +2 -2
  152. package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/common/add-builtin-param/add-builtin-param-select.vue.d.ts +2 -2
  153. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/form-field-tree-select.vue.d.ts +2 -2
  154. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/material-rdo-select.vue.d.ts +2 -2
  155. package/dist/src/online-form/src/views/designer/types/index.d.ts +2 -0
  156. package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +3 -0
  157. package/dist/src/online-form/src/views/render/__components__/_common_/widget-component.vue.d.ts +3 -1
  158. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +5 -0
  159. package/dist/src/shared/components/rdo-tree-select/rdo-tree-select.vue.d.ts +2 -2
  160. package/dist/src/shared/utils/host-api.d.ts +3 -11
  161. package/dist/{text-design-DjJS6aM4.js → text-design-BGxM7gzI.js} +2 -2
  162. package/dist/{text-design-490okDpw.js → text-design-C3RhersV.js} +2 -2
  163. package/dist/{text-props-Dh4S3iN0.js → text-props-CIpXslMv.js} +21 -252
  164. package/dist/{text-style-BGeNrOMv.js → text-style-BPjaT5Ic.js} +1 -1
  165. package/dist/{throttle-Cpk1LoGk-BWXeZXFZ.js → throttle-Cpk1LoGk-LNQ7rPwu.js} +1 -1
  166. package/dist/{timediff-design-DEh9xNVa.js → timediff-design-DqVuVrmx.js} +1 -1
  167. package/dist/{trace-design-Dk0irY70.js → trace-design-IbjVLAhv.js} +2 -2
  168. package/dist/{trace-props-DRBrPqIq.js → trace-props-C-F_eDG2.js} +53 -16
  169. package/dist/{trace-style-6lXlaJ2o.js → trace-style-DRenZ1n1.js} +1 -1
  170. package/dist/{user-props-yasRJPzM.js → user-props-qQx7HZ7T.js} +2 -2
  171. package/dist/{user-style-dkDUDf63.js → user-style-BPFOx0xn.js} +1 -1
  172. package/dist/{value-editor.vue_vue_type_style_index_0_lang-8rhhfLv7.js → value-editor.vue_vue_type_style_index_0_lang-Crnt5d7x.js} +2 -2
  173. package/dist/{version-select-dvsx-Ifv.js → version-select-BkZzH36D.js} +1 -1
  174. package/dist/web-render/index.es.js +4 -4
  175. package/dist/{widget-barcode-BfzXe5MQ.js → widget-barcode-CPZjarSa.js} +4 -4
  176. package/dist/{widget-diagonal-R5qdvCvE.js → widget-diagonal-DebN3u9t.js} +3 -3
  177. package/dist/{widget-image-C0zAtiuf.js → widget-image-BSMWxm9c.js} +5 -5
  178. package/dist/{widget-line-z4TTPDkL.js → widget-line-CyavTHOV.js} +2 -2
  179. package/dist/{widget-pagination-CeO9pmmu.js → widget-pagination-ZCBdy6HQ.js} +5 -5
  180. package/dist/{widget-power-CP1DLxkZ.js → widget-power-B1NFysHT.js} +3 -3
  181. package/dist/{widget-qrcode-Boz_t9l9.js → widget-qrcode-B0TTSoSK.js} +3 -3
  182. package/dist/{widget-rangelimit-B9kRG_Fa.js → widget-rangelimit-C_ureKDr.js} +3 -3
  183. package/dist/{widget-serialnumber-BBUxx4nB.js → widget-serialnumber-Dq15dHnk.js} +1 -1
  184. package/dist/{widget-text-qvLZssGe.js → widget-text-B9EXKFiM.js} +5 -5
  185. package/dist/{widget-timediff-BBmssjfJ.js → widget-timediff-BhLrQuGb.js} +2 -2
  186. package/package.json +1 -1
  187. package/dist/date-format-editor-BZ89hVjL.js +0 -240
  188. package/dist/date-time-props-BWvuzNXX.js +0 -265
  189. package/dist/paper-widget-design-DKBVqvH3.js +0 -4
  190. package/dist/src/nocode-base/src/hooks/form-model/fetcher.d.ts +0 -40
  191. package/dist/src/nocode-base/src/interface/data.d.ts +0 -47
  192. package/dist/src/nocode-base/src/interface/util.d.ts +0 -108
@@ -1,4 +1,4 @@
1
- import { bp as registerInstance, bq as createEvent, br as getColumnByProp, bs as timeout, bt as getVisibleSourceItem, bu as getColumns, bv as rowTypes, bw as GroupingRowPlugin, bx as StretchColumn, by as isStretchPlugin, bz as AutoSizeColumnPlugin, bA as FilterPlugin, bB as ExportFilePlugin, bC as SortingPlugin, bD as ColumnMovePlugin, bE as ThemeService, bF as h, bG as Host, bH as getElement, bI as BasePlugin, bJ as reduce, bK as columnTypes, bL as debounce, bM as RESIZE_INTERVAL, bN as DimensionStore, bO as gatherTrimmedItems, bP as getColumnSizes, bQ as getItemByIndex, bR as DataStore, bS as getSourceItem, bT as getSourceItemVirtualIndexByProp, bU as getColumnType, bV as setSourceByPhysicalIndex, bW as setSourceByVirtualIndex, bX as SelectionStore, bY as cropCellToMax, bZ as nextCell, b_ as isRowType, b$ as ViewportStore } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
1
+ import { bW as registerInstance, bX as createEvent, bY as getColumnByProp, bZ as timeout, b_ as getVisibleSourceItem, b$ as getColumns, c0 as rowTypes, c1 as GroupingRowPlugin, c2 as StretchColumn, c3 as isStretchPlugin, c4 as AutoSizeColumnPlugin, c5 as FilterPlugin, c6 as ExportFilePlugin, c7 as SortingPlugin, c8 as ColumnMovePlugin, c9 as ThemeService, ca as h, cb as Host, cc as getElement, cd as BasePlugin, ce as reduce, cf as columnTypes, cg as debounce, ch as RESIZE_INTERVAL, ci as DimensionStore, cj as gatherTrimmedItems, ck as getColumnSizes, cl as getItemByIndex, cm as DataStore, cn as getSourceItem, co as getSourceItemVirtualIndexByProp, cp as getColumnType, cq as setSourceByPhysicalIndex, cr as setSourceByVirtualIndex, cs as SelectionStore, ct as cropCellToMax, cu as nextCell, cv as isRowType, cw as ViewportStore } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
2
  import { H as HEADER_SLOT, D as DATA_SLOT, g as getScrollDimension, v as viewportDataPartition, F as FOOTER_SLOT, C as CONTENT_SLOT } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
3
3
  import { g as getPropertyFromEvent } from "./events-BvSmBueA-VK7djXcC.js";
4
4
  class ColumnDataProvider {
@@ -1,8 +1,8 @@
1
- import { bp as registerInstance, bF as h, bG as Host, bq as createEvent, bS as getSourceItem, bH as getElement, c4 as ColumnService, c5 as MOBILE_CLASS, c6 as SELECTION_BORDER_CLASS, c7 as getCellData, c8 as getCellEditor, c9 as getRange, ca as isRangeSingleCell, cb as codesLetter, b$ as ViewportStore, bR as DataStore, cc as calculateRowHeaderSize, cd as ROW_HEADER_TYPE, ce as getScrollbarSize, cf as FOCUS_CLASS, bQ as getItemByIndex, bs as timeout, cg as CELL_HANDLER_CLASS, bL as debounce, ch as TMP_SELECTION_BG_CLASS, bM as RESIZE_INTERVAL, ci as getItemByPosition } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
1
+ import { bW as registerInstance, ca as h, cb as Host, bX as createEvent, cn as getSourceItem, cc as getElement, cB as ColumnService, cC as MOBILE_CLASS, cD as SELECTION_BORDER_CLASS, cE as getCellData, cF as getCellEditor, cG as getRange, cH as isRangeSingleCell, cI as codesLetter, cw as ViewportStore, cm as DataStore, cJ as calculateRowHeaderSize, cK as ROW_HEADER_TYPE, cL as getScrollbarSize, cM as FOCUS_CLASS, cl as getItemByIndex, bZ as timeout, cN as CELL_HANDLER_CLASS, cg as debounce, cO as TMP_SELECTION_BG_CLASS, ch as RESIZE_INTERVAL, cP as getItemByPosition } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
2
  import { v as verifyTouchTarget, g as getPropertyFromEvent } from "./events-BvSmBueA-VK7djXcC.js";
3
- import { i as isEditInput, a as isShortcutModifier, b as isClear, c as isTab, d as isEnterKeyValue, e as isCopy, f as isCut, g as isPaste, h as isAll } from "./edit.utils-CXmmCnxE-DW8ClKe9.js";
3
+ import { i as isEditInput, a as isShortcutModifier, b as isClear, c as isTab, d as isEnterKeyValue, e as isCopy, f as isCut, g as isPaste, h as isAll } from "./edit.utils-CXmmCnxE-BK4QnSP-.js";
4
4
  import { H as HEADER_SLOT } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
5
- import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-BWXeZXFZ.js";
5
+ import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-LNQ7rPwu.js";
6
6
  const Attribution = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
@@ -1,5 +1,5 @@
1
- import { bs as timeout, bp as registerInstance, bq as createEvent, bF as h, cj as EDIT_INPUT_WR, bG as Host, bH as getElement, bL as debounce, cm as DRAGG_TEXT, bS as getSourceItem, ci as getItemByPosition } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
2
- import { d as isEnterKeyValue, c as isTab, j as isEditorCtrConstructible } from "./edit.utils-CXmmCnxE-DW8ClKe9.js";
1
+ import { bZ as timeout, bW as registerInstance, bX as createEvent, ca as h, cQ as EDIT_INPUT_WR, cb as Host, cc as getElement, cg as debounce, cT as DRAGG_TEXT, cn as getSourceItem, cP as getItemByPosition } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
+ import { d as isEnterKeyValue, c as isTab, j as isEditorCtrConstructible } from "./edit.utils-CXmmCnxE-BK4QnSP-.js";
3
3
  class TextEditor {
4
4
  constructor(data, saveCallback) {
5
5
  this.data = data;
@@ -1,5 +1,5 @@
1
- import { cn as PSEUDO_GROUP_ITEM, co as GROUP_EXPANDED, cp as GROUP_DEPTH, bF as h, cq as GROUP_EXPAND_BTN, cr as DATA_ROW, bS as getSourceItem, cs as isGroupingColumn, ct as GROUP_COLUMN_PROP, cu as getCellRaw, cv as DATA_COL, cw as CELL_CLASS, cx as Build, cy as isRowDragService, cz as DRAG_ICON_CLASS, cA as DRAGGABLE_CLASS, cB as getCellDataParsed, cC as GROUP_EXPAND_EVENT, bp as registerInstance, bq as createEvent, c4 as ColumnService, cD as isGrouping, bG as Host, bH as getElement, bQ as getItemByIndex, cE as HEADER_ROW_CLASS, cF as HEADER_ACTUAL_ROW_CLASS, cG as ROW_FOCUSED_CLASS, cH as HEADER_SORTABLE_CLASS, cI as MIN_COL_SIZE, cf as FOCUS_CLASS, cJ as FilterButton, cK as HeaderCellRenderer, cL as HEADER_CLASS } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
2
- import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-BWXeZXFZ.js";
1
+ import { cU as PSEUDO_GROUP_ITEM, cV as GROUP_EXPANDED, cW as GROUP_DEPTH, ca as h, cX as GROUP_EXPAND_BTN, cY as DATA_ROW, cn as getSourceItem, cZ as isGroupingColumn, c_ as GROUP_COLUMN_PROP, c$ as getCellRaw, d0 as DATA_COL, d1 as CELL_CLASS, d2 as Build, d3 as isRowDragService, d4 as DRAG_ICON_CLASS, d5 as DRAGGABLE_CLASS, d6 as getCellDataParsed, d7 as GROUP_EXPAND_EVENT, bW as registerInstance, bX as createEvent, cB as ColumnService, d8 as isGrouping, cb as Host, cc as getElement, cl as getItemByIndex, d9 as HEADER_ROW_CLASS, da as HEADER_ACTUAL_ROW_CLASS, db as ROW_FOCUSED_CLASS, dc as HEADER_SORTABLE_CLASS, dd as MIN_COL_SIZE, cM as FOCUS_CLASS, de as FilterButton, df as HeaderCellRenderer, dg as HEADER_CLASS } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
+ import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-LNQ7rPwu.js";
3
3
  import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
4
4
  const SortingSign = ({ column }) => {
5
5
  var _a;
@@ -1,4 +1,4 @@
1
- import { bp as registerInstance, bq as createEvent, bL as debounce, bF as h, c0 as AndOrButton, c1 as ReorderButton, c2 as TrashButton, c3 as isFilterBtn, bG as Host, bH as getElement } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
1
+ import { bW as registerInstance, bX as createEvent, cg as debounce, ca as h, cx as AndOrButton, cy as ReorderButton, cz as TrashButton, cA as isFilterBtn, cb as Host, cc as getElement } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
2
  (function closest() {
3
3
  if (!Element.prototype.matches) {
4
4
  Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, Fragment, unref, createBlock, withCtx, createVNode, createCommentVNode } from "vue";
2
- import { C as CellWidgetRenderComp, F as FormItem, S as SelectEx } from "./index-Cw_YFCZT.js";
3
- import { O as Orientation, v as LabelPosition } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
2
+ import { C as CellWidgetRenderComp, F as FormItem, S as SelectEx } from "./index-yih5hGsL.js";
3
+ import { O as Orientation, v as LabelPosition } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
4
4
  import "lodash-es";
5
5
  import "dayjs";
6
6
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString } from "vue";
2
- import { _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
2
+ import { _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
3
3
  const _hoisted_1 = { class: "absolute top-0px left-0px h-full w-full serialnumber-area" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "serialnumber-design",
@@ -1,5 +1,5 @@
1
- import { Q, bd, C, R, a1, be, X, Y, F, bf, d, bg, bh, bi, bj, bk, bl, c, n, q, I, j, bm, at, bn, Z, bo, U, au, o } from "../document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
2
- import { O, _, S, V } from "../version-select-dvsx-Ifv.js";
1
+ import { Q, bK, C, R, a1, bL, X, Y, F, bM, d, bN, bO, bP, bQ, bR, bS, c, n, q, I, j, bT, as, bU, Z, bV, U, at, o } from "../document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
+ import { O, _, S, V } from "../version-select-BkZzH36D.js";
3
3
  import { S as S2 } from "../AntdIcon-C3RMq2zm.js";
4
4
  var Platform = /* @__PURE__ */ ((Platform2) => {
5
5
  Platform2["WEB"] = "web";
@@ -50,40 +50,40 @@ export {
50
50
  ButtonStyle,
51
51
  ButtonType,
52
52
  ButtonType_vant,
53
- bd as CardControlEnum,
53
+ bK as CardControlEnum,
54
54
  C as CreateType,
55
55
  R as Dependency_ENUM,
56
56
  a1 as EntityModelCategoryEnum,
57
- be as EntityModelTypeEnum,
57
+ bL as EntityModelTypeEnum,
58
58
  X as ExpressionModeEnum,
59
59
  Y as ExpressionTabEnum,
60
60
  F as FIELD_TYPE,
61
- bf as FIELD_TYPE_BASIC,
61
+ bM as FIELD_TYPE_BASIC,
62
62
  d as FIELD_TYPE_BUSINESS,
63
- bg as FIELD_TYPE_INSPECTION,
64
- bh as FIELD_TYPE_LOGIC,
65
- bi as FIELD_TYPE_MATERIAL,
66
- bj as FIELD_TYPE_PRETREATMENT,
67
- bk as FIELD_TYPE_PRODUCE,
68
- bl as FIELD_TYPE_STERILIZATION,
63
+ bN as FIELD_TYPE_INSPECTION,
64
+ bO as FIELD_TYPE_LOGIC,
65
+ bP as FIELD_TYPE_MATERIAL,
66
+ bQ as FIELD_TYPE_PRETREATMENT,
67
+ bR as FIELD_TYPE_PRODUCE,
68
+ bS as FIELD_TYPE_STERILIZATION,
69
69
  c as FIELD_TYPE_TRACE,
70
70
  n as FIELD_TYPE_WAREHOUSE,
71
71
  q as FieldDefaultValueTypeEnum,
72
72
  I as FieldIconMap,
73
73
  j as FieldTypeToJs,
74
- bm as FormDesignEnum,
75
- at as FormulaRuleFieldKeyEnum,
74
+ bT as FormDesignEnum,
75
+ as as FormulaRuleFieldKeyEnum,
76
76
  GctMqttTopsEnum,
77
77
  O as OnlineFormModelModal,
78
78
  _ as OnlineFormModelSelect,
79
79
  Platform,
80
- bn as RecordNoGenerateEnum,
80
+ bU as RecordNoGenerateEnum,
81
81
  Z as ReturnTypeEnum,
82
82
  S as SEARCH_SEVICE,
83
83
  S2 as SignatureTypeEnum,
84
- bo as TagTypeEnum,
84
+ bV as TagTypeEnum,
85
85
  U as UniqueConstraintType,
86
86
  V as VersionSelect,
87
- au as formulaRuleFieldDict,
87
+ at as formulaRuleFieldDict,
88
88
  o as onlineFormMasterModelTypeEnum
89
89
  };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, openBlock, createBlock } from "vue";
2
- import { C as CellUpload } from "./cell-upload-JxFLM1bV.js";
2
+ import { C as CellUpload } from "./cell-upload-CiXVE0Ii.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "signature-design",
5
5
  props: {
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, unref, createElementVNode, toDisplayString, createBlock, createCommentVNode, renderList, createTextVNode, normalizeClass, mergeProps } from "vue";
2
2
  import { message } from "ant-design-vue";
3
- import { A as SignatureTypeEnum, y as SignatureTimeTypeEnum, F as FIELD_TYPE, x as SignatureNumberTypeEnum, $ as ImageDisplayModeEnum, z as SignShowTypeEnum, _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
4
- import { F as FormItem, S as SelectEx } from "./index-Cw_YFCZT.js";
5
- import { A as AttachFieldEditor } from "./attach-fields-editor-CThobu8X.js";
3
+ import { A as SignatureTypeEnum, y as SignatureTimeTypeEnum, F as FIELD_TYPE, x as SignatureNumberTypeEnum, $ as ImageDisplayModeEnum, z as SignShowTypeEnum, _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
4
+ import { F as FormItem, S as SelectEx } from "./index-yih5hGsL.js";
5
+ import { A as AttachFieldEditor } from "./attach-fields-editor-o_7W-2sr.js";
6
6
  import "lodash-es";
7
7
  import "dayjs";
8
8
  const _hoisted_1 = { class: "adaptive-warning" };
@@ -1,4 +1,4 @@
1
- import { _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
1
+ import { _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
2
2
  const _sfc_main = {};
3
3
  function _sfc_render(_ctx, _cache) {
4
4
  return null;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, normalizeClass } from "vue";
2
- import { E as useNamespace, _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
3
- import { b as useDrop, T as TransferType, u as useModelFields, c as getFieldIcon, q as SingleDrop } from "./index-Cw_YFCZT.js";
2
+ import { E as useNamespace, _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
3
+ import { b as useDrop, T as TransferType, u as useModelFields, c as getFieldIcon, q as SingleDrop } from "./index-yih5hGsL.js";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "single-field-drop",
6
6
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, createVNode } from "vue";
2
- import { _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-Bbu6cwRC.js";
2
+ import { _ as _export_sfc } from "./document-quick-fillin.vue_vue_type_style_index_0_scoped_a18386ab_lang-DKTGEH4Q.js";
3
3
  const _hoisted_1 = { class: "row" };
4
4
  const _hoisted_2 = { class: "row mt-6px" };
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,2 +1,3 @@
1
1
  export * from './adapter';
2
2
  export * from './setup';
3
+ export { registerExcelLocale } from '../../locale/index';
@@ -61,7 +61,7 @@ export interface ExcelSetupOptions {
61
61
  * 宿主工具方法(overlay / GctPopup / GctDialog / CodeHelper / 公式等)
62
62
  *
63
63
  * API 不走 setup:直接使用全局 `_gct.api` / `_gct.HttpUtil`
64
- * - 本地 demo:main.ts `_gct.api = api` 并自行 HttpUtil.use(interceptors)
64
+ * - 本地 demo:core 已挂只读 `_gct.api`;main.ts `_gct.HttpUtil` HttpUtil.use(interceptors)
65
65
  * - 线上宿主:已有 `_gct`
66
66
  *
67
67
  * GctPopup:移动端弹层,替代原 `import { GctPopup } from '@mobile/utils/popup'`
@@ -18,4 +18,9 @@ export declare const mergeByMultiKey: (A: any, B: any, { keyFields, fieldsToMerg
18
18
  isAllowMerge?: boolean | undefined;
19
19
  isConcat?: boolean | undefined;
20
20
  }) => any[];
21
- export declare const getRowId: (row: any) => any;
21
+ /** 旧客户端会话键,提交时仍剥离(防止历史脏数据入库) */
22
+ export declare const CLIENT_ROW_UID_KEY = "__gct_rv_uid";
23
+ /** 前端行稳定身份 */
24
+ export declare const FRONT_ROW_KEY = "front_row_key_";
25
+ export declare function ensureFrontRowKey(row: Record<string, any> | null | undefined): string;
26
+ export declare const getRowId: (row: any) => string;
@@ -256,6 +256,17 @@ export declare enum RangeValidateMode {
256
256
  /** 变量校验 */
257
257
  Variable_Validate = "VariableValidate"
258
258
  }
259
+ /** 上下限比较运算符 */
260
+ export declare enum RangeCompareOp {
261
+ /** 小于等于 */
262
+ LE = "le",
263
+ /** 小于 */
264
+ LT = "lt",
265
+ /** 大于等于 */
266
+ GE = "ge",
267
+ /** 大于 */
268
+ GT = "gt"
269
+ }
259
270
  /**
260
271
  * 小数显示模式
261
272
  */
@@ -0,0 +1,15 @@
1
+ /** 按 cellLocation 从 map 收集变更项 */
2
+ export declare function collectAnnotationItemsByLocation<T extends {
3
+ id: string;
4
+ }>(map: Map<string, T[]>, cellLocation: string | string[] | undefined | null, fallback?: T[]): T[];
5
+ type TimedAnnotationItem = {
6
+ isCurrentChange?: boolean;
7
+ time?: string;
8
+ createTime?: string;
9
+ };
10
+ /**
11
+ * 变更审批场景:保留「本次」及更早记录,去掉本次之后的
12
+ * 左侧表单数据停在本次时点时,后续变更不应再出现在右侧列表 / 高亮里
13
+ */
14
+ export declare function filterAnnotationItemsUpToCurrent<T extends TimedAnnotationItem>(items: T[]): T[];
15
+ export {};
@@ -131,6 +131,8 @@ export declare abstract class FormAnnotationController implements IFormAnnotatio
131
131
  }[]>;
132
132
  /** 所有的修改过的单元格位置 */
133
133
  allCellLocation: Ref<string[] | undefined, string[] | undefined>;
134
+ /** 当前展开行级展示的变更记录 id */
135
+ rowViewHistoryId: Ref<string | undefined, string | undefined>;
134
136
  /** 是否已经加载过批注数据 */
135
137
  hasLoadedHistory: Ref<boolean, boolean>;
136
138
  /** 正在进行表单变更 */
@@ -138,7 +140,7 @@ export declare abstract class FormAnnotationController implements IFormAnnotatio
138
140
  /** 表单变更原因 */
139
141
  formChangeReason: Ref<string | undefined, string | undefined>;
140
142
  /** 选中单元格的位置 */
141
- selectedCell: Ref<string | undefined, string | undefined>;
143
+ selectedCell: Ref<string | string[] | undefined, string | string[] | undefined>;
142
144
  /** 单据名称 */
143
145
  docName: import('vue').ComputedRef<string>;
144
146
  /** 表单是否是结束状态 */
@@ -169,6 +171,8 @@ export declare abstract class FormAnnotationController implements IFormAnnotatio
169
171
  normalizeApprovalResponse: (res: any) => any;
170
172
  normalizeAllResponse: (res: any) => any;
171
173
  applyAnnotationItems: (items: any[], callback: any) => void;
174
+ scopeAnnotationItems(items: any[]): any[];
175
+ toggleFormChangeRowView: (historyId?: string) => Promise<void>;
172
176
  /** 加载审批的批注信息 */
173
177
  fetchApprovalFormChangeHistory: () => Promise<any>;
174
178
  /** 加载所有批注信息 */
@@ -178,7 +182,6 @@ export declare abstract class FormAnnotationController implements IFormAnnotatio
178
182
  /** 关闭批注 */
179
183
  handleCloseAnnotation: () => Promise<void>;
180
184
  ready: import('vue').ComputedRef<any>;
181
- isWord: import('vue').ComputedRef<boolean>;
182
185
  /**
183
186
  * 弹出提示警告信息
184
187
  */
@@ -0,0 +1,60 @@
1
+ import { IBasicInfoItem } from '../../types';
2
+ type FormChangeRowOp = 'ADD' | 'DEL';
3
+ export interface FormChangeRowDetailMeta {
4
+ cellLocation: string;
5
+ cellType: string;
6
+ op: FormChangeRowOp;
7
+ subFieldId: string;
8
+ rowKey: string;
9
+ snapshot: Record<string, any>;
10
+ id?: string;
11
+ }
12
+ type FormChangeRowWmKind = 'ADD' | 'DEL' | 'ORPHAN';
13
+ export declare function getFormChangeRowKey(row: Record<string, any> | null | undefined): string | undefined;
14
+ export declare function getFormChangeRowOp(cellLocation?: string): FormChangeRowOp | null;
15
+ export declare function isAnnLocationSelected(selectId: string | string[] | undefined, loc?: string): boolean;
16
+ /** 幽灵 / 软删展示行:不做字段批注与必填校验 */
17
+ export declare function isFormChangeGhostRow(row: Record<string, any> | null | undefined): boolean;
18
+ export declare function buildStableFieldLocation(subFieldId: string, rowKey: string, fieldId: string, colIdx?: number): string;
19
+ export declare function resolveAnnotationFieldLocation(options: {
20
+ annList?: string[];
21
+ subFieldId?: string;
22
+ fieldId: string;
23
+ row?: Record<string, any>;
24
+ colIdx?: number;
25
+ }): string | undefined;
26
+ export declare function isRowAddedInCurrentFormChange(dataRelationShip: IBasicInfoItem | undefined, subFieldId: string | undefined, row: Record<string, any> | null | undefined): boolean;
27
+ export declare function recordSubtableRowAdd(dataRelationShip: IBasicInfoItem | undefined, subFieldId: string, rows: Record<string, any>[]): void;
28
+ export declare function recordSubtableRowDelete(dataRelationShip: IBasicInfoItem | undefined, subFieldId: string, row: Record<string, any>): void;
29
+ /** 提交前刷新快照 */
30
+ export declare function enrichFormChangeRowDetails(formChangeNewData: Record<string, any> | undefined, formState: Record<string, any> | undefined): Record<string, any> | undefined;
31
+ export declare function extractFormChangeRowDetails(items: any[] | undefined): FormChangeRowDetailMeta[];
32
+ export declare function detailsHaveFormChangeRowOps(details?: any[]): boolean;
33
+ /** 从变更明细收集字段级坐标(排除行级 ADD/DEL) */
34
+ export declare function collectFormChangeFieldLocations(items: Array<{
35
+ details?: any[];
36
+ }> | undefined): string[];
37
+ export declare function resolveRowFormChangeMark(subFieldId: string, row: Record<string, any>, annRowDetails?: FormChangeRowDetailMeta[]): {
38
+ op: FormChangeRowOp;
39
+ cellLocation: string;
40
+ } | null;
41
+ export declare function resolveFormChangeRowUi(row: Record<string, any> | null | undefined, rowMark: {
42
+ op: FormChangeRowOp;
43
+ cellLocation: string;
44
+ } | null): {
45
+ trClass: string;
46
+ wmKind: FormChangeRowWmKind | null;
47
+ wmText: string;
48
+ wmClass: string;
49
+ };
50
+ /** 存活行保持实例序 → 删除块(表尾)→ 增后删块(再往后) */
51
+ export declare function buildFormChangeDisplayRows(subFieldId: string, currentRows: Record<string, any>[] | undefined, annRowDetails?: FormChangeRowDetailMeta[]): Record<string, any>[];
52
+ /** 切换某条变更的行级展示,返回下一轮选中的 historyId */
53
+ export declare function nextFormChangeRowViewHistoryId(currentId: string | undefined, historyId: string | undefined, items: Array<{
54
+ id?: string;
55
+ details?: any[];
56
+ }> | undefined): {
57
+ historyId?: string;
58
+ rowDetails: FormChangeRowDetailMeta[];
59
+ };
60
+ export {};
@@ -1,2 +1,4 @@
1
1
  export * from './form-annotation-controller';
2
+ export * from './form-change-row';
3
+ export * from './collect-annotation-items';
2
4
  export * from './types';
@@ -3,13 +3,13 @@
3
3
  * @export
4
4
  * @return {*}
5
5
  */
6
- export declare function getAppInfo(): any;
6
+ export declare function getAppInfo(): Promise<import('@gct-paas/api/apaas').GetAppResponse>;
7
7
  /**
8
8
  * 获取套件信息
9
9
  * @export
10
10
  * @return {*}
11
11
  */
12
- export declare function getSuiteKey(): Promise<any>;
12
+ export declare function getSuiteKey(): Promise<string | undefined>;
13
13
  /**
14
14
  * 是否是edhr应用套件
15
15
  * @export
@@ -1,7 +1,8 @@
1
1
  export { useStyles } from './useStyles';
2
2
  export { useRenderPageFactory, type IProps, type IPayload } from './useRenderPageFactory';
3
3
  export { useCurrentPageFormState, useWidgetStaticAttrs, useCalculateFormula, setSelectAnnotationId, setSelectValidatorId, setSelectMobileTdId, getSubTableQuickFillInfo, } from './useRenderData';
4
- export { useValidator, validate, clearFormRules, deleteSubtableRow } from './useValidator';
4
+ export { useValidator, validate, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, } from './useValidator';
5
+ export { relocateDeletedRowsToEnd } from './validation/utils';
5
6
  export { useNocodeEmitter } from './useNocodeEmitter';
6
7
  export { useNocodeFormWidget } from './useFormHook';
7
8
  export { useEbrWikiFactoryV2 } from './useEbrWikiFactoryV2';
@@ -7,4 +7,4 @@
7
7
  export declare function getModelQueries(opts: {
8
8
  /** 主批次号 */
9
9
  mainMaterialNo?: string;
10
- }): Promise<any>;
10
+ }): Promise<object>;
@@ -1,4 +1,4 @@
1
- export declare function preview(str: string): Promise<any>;
1
+ export declare function preview(str: string): Promise<string | undefined>;
2
2
  /**
3
3
  * 根据序列号规则生产对应的序列号
4
4
  * @export
@@ -8,7 +8,7 @@ export declare function useNocodeFormWidget(props: any, emit: any): {
8
8
  realFieldId: import('vue').ComputedRef<string | undefined>;
9
9
  annotationInfo: import('vue').ComputedRef<false | {
10
10
  annClassList: string[];
11
- annFieldId: string;
11
+ annFieldId: string | undefined;
12
12
  showValidatorClass: boolean;
13
13
  }>;
14
14
  isDynValue: import('vue').ComputedRef<boolean>;
@@ -72,8 +72,10 @@ export declare function useCalculateFormula(): {
72
72
  maxFormulaExpr: string;
73
73
  }) => IParseFormulaVar[];
74
74
  };
75
- /** 选择批注id */
76
- export declare function setSelectAnnotationId(id: string | undefined, basicInfoItem: IBasicInfoItem | undefined): void;
75
+ /** 选择批注 id;传入 event 且点在三角上时,汇总同格/组合字段内全部变更坐标 */
76
+ export declare function setSelectAnnotationId(id: string | undefined, basicInfoItem: IBasicInfoItem | undefined, event?: MouseEvent): void;
77
+ /** 关闭所有校验 Popover,避免旧锚点残留导致位置漂移 */
78
+ export declare function closeValidatorPopovers(): void;
77
79
  /** 选择校验错误信息id */
78
80
  export declare function setSelectValidatorId(event: MouseEvent, basicInfoItem: IBasicInfoItem | undefined): void;
79
81
  /** 选择移动端tdId */
@@ -2,6 +2,7 @@ import { RenderModeEnum, FormTypeEnum, PlatformEnum, BpmnNodeTypeEnum } from '..
2
2
  import { IPageData, IBasicInfoItem, ValidateFieldErrorMap } from '../types';
3
3
  import { FormTmplBomController } from './material-consume';
4
4
  import { SubTableCoreFactory } from '../core/factory/sub-table-factory';
5
+ import { FormChangeRowDetailMeta } from './annotation/form-change-row';
5
6
  export interface IProps {
6
7
  /** 模板实例id或者模板id */
7
8
  selfId: string | string[] | undefined;
@@ -76,7 +77,16 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
76
77
  formChangeNewData: Record<string, any>;
77
78
  annSwitchStatus: boolean;
78
79
  annCellLocationList: Array<string>;
79
- annSelectId?: string | undefined;
80
+ annSelectId?: string | string[] | undefined;
81
+ annRowDetails?: {
82
+ cellLocation: string;
83
+ cellType: string;
84
+ op: "ADD" | "DEL";
85
+ subFieldId: string;
86
+ rowKey: string;
87
+ snapshot: Record<string, any>;
88
+ id?: string | undefined;
89
+ }[] | undefined;
80
90
  validatorLocationList: Array<string>;
81
91
  validatorMessageMap: Record<string, any>;
82
92
  mobileTdIdGroups: Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>;
@@ -104,7 +114,16 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
104
114
  formChangeNewData: Record<string, any>;
105
115
  annSwitchStatus: boolean;
106
116
  annCellLocationList: Array<string>;
107
- annSelectId?: string | undefined;
117
+ annSelectId?: string | string[] | undefined;
118
+ annRowDetails?: {
119
+ cellLocation: string;
120
+ cellType: string;
121
+ op: "ADD" | "DEL";
122
+ subFieldId: string;
123
+ rowKey: string;
124
+ snapshot: Record<string, any>;
125
+ id?: string | undefined;
126
+ }[] | undefined;
108
127
  validatorLocationList: Array<string>;
109
128
  validatorMessageMap: Record<string, any>;
110
129
  mobileTdIdGroups: Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>;
@@ -138,7 +157,16 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
138
157
  formChangeNewData: Record<string, any>;
139
158
  annSwitchStatus: boolean;
140
159
  annCellLocationList: Array<string>;
141
- annSelectId?: string | undefined;
160
+ annSelectId?: string | string[] | undefined;
161
+ annRowDetails?: {
162
+ cellLocation: string;
163
+ cellType: string;
164
+ op: "ADD" | "DEL";
165
+ subFieldId: string;
166
+ rowKey: string;
167
+ snapshot: Record<string, any>;
168
+ id?: string | undefined;
169
+ }[] | undefined;
142
170
  validatorLocationList: Array<string>;
143
171
  validatorMessageMap: Record<string, any>;
144
172
  mobileTdIdGroups: Map<any, any> & Omit<Map<any, any>, keyof Map<any, any>>;
@@ -156,7 +184,11 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
156
184
  } | undefined>;
157
185
  getFormState: (uniqueId: any) => Partial<{}>;
158
186
  setFromEditStatus: (uniqueId: any) => Promise<boolean>;
159
- setAnnotationViewStatus: (uniqueId: any, status: any, config: any) => boolean;
187
+ setAnnotationViewStatus: (uniqueId: any, status: any, config?: string[] | {
188
+ locations?: string[];
189
+ rowDetails?: FormChangeRowDetailMeta[];
190
+ }) => boolean;
191
+ setFormChangeRowViewDetails: (uniqueId: string, rowDetails?: FormChangeRowDetailMeta[] | null, _historyId?: string | null) => boolean;
160
192
  getAnnotationContentList: (uniqueId: any, options?: {}) => any[];
161
193
  setValidatorViewStatus: (uniqueId: any, config: any) => boolean;
162
194
  quickSearchRenderData: (uniqueId: any, currentSelfInfo: any) => Promise<void>;
@@ -1,3 +1,4 @@
1
+ import { requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, settleAfterModeSwitch } from './validation/useFormValidator';
1
2
  import { IPaper, ValidateFieldErrorMap } from '../types';
2
3
  export declare function useValidator(props: any): {
3
4
  widgetStyles: import('vue').ComputedRef<{}>;
@@ -5,14 +6,13 @@ export declare function useValidator(props: any): {
5
6
  isFieldModel: any;
6
7
  };
7
8
  /**
8
- * 表单校验
9
- * @param showMsg false的时候是校验清单触发的
10
- *
9
+ * 表单校验(提交 / 校验清单)
11
10
  */
12
- export declare const validate: (formData: any, paper: IPaper) => Promise<{
11
+ export declare const validate: (formData: any, paper: IPaper, uniqueId?: string) => Promise<{
13
12
  /** 是否通过校验 */
14
13
  isValid: boolean;
15
14
  fields?: ValidateFieldErrorMap;
15
+ /** 是否已通过 ValidationContext 写入 UI 错误态 */
16
+ uiApplied?: boolean;
16
17
  } | undefined>;
17
- export declare function clearFormRules(): void;
18
- export declare function deleteSubtableRow(subtableFieldId: any, realRowIndex: any): void;
18
+ export { clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, settleAfterModeSwitch, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, };
@@ -0,0 +1,19 @@
1
+ import { ValidationRunMode } from './types';
2
+ type ValidationAdmissionInput = {
3
+ mode: ValidationRunMode;
4
+ /** 禁用或只读 */
5
+ blocked: boolean;
6
+ /** display 时是否保留异常标红 */
7
+ keepExceptionHighlight: boolean;
8
+ };
9
+ type ValidationAdmissionDecision = {
10
+ admit: boolean;
11
+ };
12
+ /**
13
+ * 解析「保留异常提示」是否开启
14
+ * 字段显式配置优先;未配置时跟随表单;都未配置时默认开启
15
+ */
16
+ export declare function resolveKeepExceptionHighlight(formValue?: boolean | null, fieldValue?: boolean | null): boolean;
17
+ /** 字段是否进入当前轮次校验 */
18
+ export declare function resolveValidationAdmission(input: ValidationAdmissionInput): ValidationAdmissionDecision;
19
+ export {};
@@ -0,0 +1,24 @@
1
+ import { FormRuleMeta } from './types';
2
+ /** 规则上挂载的引用字段上下文 */
3
+ export type AttachRuleContext = {
4
+ _belongFieldId?: string;
5
+ _optionValue?: any;
6
+ _multiple?: boolean;
7
+ _subtableFieldId?: string;
8
+ _realRowIndex?: number;
9
+ _childSubTableDataIndex?: number;
10
+ };
11
+ /** 取规则对应的当前行 / 主表 formData */
12
+ export declare function getCurrentFormData(_rule: AttachRuleContext, options: {
13
+ formData?: any;
14
+ }): any;
15
+ /** 从 rule 或 meta.attach 解析上下文 */
16
+ export declare function resolveAttachContext(rule: AttachRuleContext | undefined, metaAttach?: FormRuleMeta['attach']): AttachRuleContext | undefined;
17
+ /** 引用字段是否处于激活选项下 */
18
+ export declare function isAttachFieldActive(rule: AttachRuleContext | undefined, formData: Record<string, any> | undefined): boolean;
19
+ /** 当前行数据下引用字段是否应对用户呈现 */
20
+ export declare function isReferenceOptionActive(referenceInfo: {
21
+ belongFieldId?: string;
22
+ optionValue?: any;
23
+ multiple?: boolean;
24
+ } | null | undefined, rowFormData: Record<string, any> | undefined): boolean;
@@ -0,0 +1,35 @@
1
+ import { RangeCompareOp } from '../../constant';
2
+ import { ValidateTrigger } from './types';
3
+ type AssembleRulesInput = {
4
+ showRequired: boolean;
5
+ fieldType?: string;
6
+ validatorInfo: Record<string, any>;
7
+ props: {
8
+ minlength?: number | null;
9
+ maxlength?: number | null;
10
+ regex?: string;
11
+ regexHint?: string;
12
+ validateTrue?: boolean;
13
+ validateFalse?: boolean;
14
+ enableRangeValidate?: boolean;
15
+ maxValidateMode?: string;
16
+ minValidateMode?: string;
17
+ maxCompareOp?: RangeCompareOp;
18
+ minCompareOp?: RangeCompareOp;
19
+ minValue?: any;
20
+ maxValue?: any;
21
+ minFormulaExpr?: any;
22
+ maxFormulaExpr?: any;
23
+ minDate?: any;
24
+ maxDate?: any;
25
+ minDateFormulaExpr?: any;
26
+ maxDateFormulaExpr?: any;
27
+ maxDateValidateMode?: string;
28
+ minDateValidateMode?: string;
29
+ };
30
+ };
31
+ /** 按触发时机过滤规则(manual=仅提交,change/blur=编辑时) */
32
+ export declare function filterRulesByTrigger(rules: any[], trigger: ValidateTrigger): any[];
33
+ /** 组装字段校验规则 */
34
+ export declare function assembleRules(input: AssembleRulesInput): any[];
35
+ export {};
@@ -0,0 +1,15 @@
1
+ import { FormRuleMeta } from './types';
2
+ export declare function setFormRule(key: string, rules: any[], meta: FormRuleMeta, owner?: symbol): void;
3
+ /**
4
+ * 删除规则
5
+ * - 传入 owner 时:仅当本实例是当前所有者才删除,防止竞态中覆盖新实例的注册
6
+ * - 不传 owner:无条件删除
7
+ */
8
+ export declare function deleteFormRule(key: string, owner?: symbol): void;
9
+ export declare function clearFormRules(): void;
10
+ export declare function getRawFormRules(): Record<string, any[]>;
11
+ export declare function getRawFormRuleMeta(): Record<string, FormRuleMeta>;
12
+ export declare function listFormRuleKeys(): string[];
13
+ export declare function deleteSubtableRow(subtableFieldId: string, realRowIndex: number): void;
14
+ /** 子表在 insertIndex 处插入 count 行:将该下标及之后的规则 key 整体后移 */
15
+ export declare function insertSubtableRows(subtableFieldId: string, insertIndex: number, count?: number): void;