@robot-admin/naive-ui-components 0.3.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 (352) hide show
  1. package/README.md +257 -0
  2. package/dist/C_ActionBar-DWN-woTc.css.map +1 -0
  3. package/dist/C_ActionBar.cjs +5 -0
  4. package/dist/C_ActionBar.d.cts +2 -0
  5. package/dist/C_ActionBar.d.ts +2 -0
  6. package/dist/C_ActionBar.js +4 -0
  7. package/dist/C_ActionBar2.js +196 -0
  8. package/dist/C_ActionBar2.js.map +1 -0
  9. package/dist/C_AntV-AFKyK6hH.css.map +1 -0
  10. package/dist/C_AntV.cjs +8 -0
  11. package/dist/C_AntV.d.cts +2 -0
  12. package/dist/C_AntV.d.ts +2 -0
  13. package/dist/C_AntV.js +4 -0
  14. package/dist/C_AntV2.js +3150 -0
  15. package/dist/C_AntV2.js.map +1 -0
  16. package/dist/C_Barcode-P_EFj8dC.css.map +1 -0
  17. package/dist/C_Barcode.cjs +4 -0
  18. package/dist/C_Barcode.d.cts +2 -0
  19. package/dist/C_Barcode.d.ts +2 -0
  20. package/dist/C_Barcode.js +3 -0
  21. package/dist/C_Barcode2.js +68 -0
  22. package/dist/C_Barcode2.js.map +1 -0
  23. package/dist/C_Captcha-C-ef41xw.css.map +1 -0
  24. package/dist/C_Captcha.cjs +4 -0
  25. package/dist/C_Captcha.d.cts +2 -0
  26. package/dist/C_Captcha.d.ts +2 -0
  27. package/dist/C_Captcha.js +3 -0
  28. package/dist/C_Captcha2.js +155 -0
  29. package/dist/C_Captcha2.js.map +1 -0
  30. package/dist/C_Cascade-D9kNsjsV.css.map +1 -0
  31. package/dist/C_Cascade.cjs +4 -0
  32. package/dist/C_Cascade.d.cts +2 -0
  33. package/dist/C_Cascade.d.ts +2 -0
  34. package/dist/C_Cascade.js +3 -0
  35. package/dist/C_Cascade2.js +103 -0
  36. package/dist/C_Cascade2.js.map +1 -0
  37. package/dist/C_City-BCQ4ipiK.css.map +1 -0
  38. package/dist/C_City.cjs +4 -0
  39. package/dist/C_City.d.cts +2 -0
  40. package/dist/C_City.d.ts +2 -0
  41. package/dist/C_City.js +3 -0
  42. package/dist/C_City2.js +841 -0
  43. package/dist/C_City2.js.map +1 -0
  44. package/dist/C_Code-C9kvvEmO.css.map +1 -0
  45. package/dist/C_Code.cjs +5 -0
  46. package/dist/C_Code.d.cts +2 -0
  47. package/dist/C_Code.d.ts +2 -0
  48. package/dist/C_Code.js +4 -0
  49. package/dist/C_Code2.js +346 -0
  50. package/dist/C_Code2.js.map +1 -0
  51. package/dist/C_CollapsePanel-BUJHuYcU.css.map +1 -0
  52. package/dist/C_CollapsePanel.cjs +6 -0
  53. package/dist/C_CollapsePanel.d.cts +2 -0
  54. package/dist/C_CollapsePanel.d.ts +2 -0
  55. package/dist/C_CollapsePanel.js +4 -0
  56. package/dist/C_CollapsePanel2.js +319 -0
  57. package/dist/C_CollapsePanel2.js.map +1 -0
  58. package/dist/C_Cron-yx2Ob4Jl.css.map +1 -0
  59. package/dist/C_Cron.cjs +15 -0
  60. package/dist/C_Cron.d.cts +2 -0
  61. package/dist/C_Cron.d.ts +2 -0
  62. package/dist/C_Cron.js +4 -0
  63. package/dist/C_Cron2.js +1209 -0
  64. package/dist/C_Cron2.js.map +1 -0
  65. package/dist/C_Date.cjs +4 -0
  66. package/dist/C_Date.d.cts +2 -0
  67. package/dist/C_Date.d.ts +2 -0
  68. package/dist/C_Date.js +3 -0
  69. package/dist/C_Date2.js +219 -0
  70. package/dist/C_Date2.js.map +1 -0
  71. package/dist/C_Draggable-C483syRC.css.map +1 -0
  72. package/dist/C_Draggable.cjs +5 -0
  73. package/dist/C_Draggable.d.cts +2 -0
  74. package/dist/C_Draggable.d.ts +2 -0
  75. package/dist/C_Draggable.js +3 -0
  76. package/dist/C_Draggable2.js +295 -0
  77. package/dist/C_Draggable2.js.map +1 -0
  78. package/dist/C_Editor-Bp0SyIEw.css.map +1 -0
  79. package/dist/C_Editor.cjs +4 -0
  80. package/dist/C_Editor.d.cts +2 -0
  81. package/dist/C_Editor.d.ts +2 -0
  82. package/dist/C_Editor.js +3 -0
  83. package/dist/C_Editor2.js +160 -0
  84. package/dist/C_Editor2.js.map +1 -0
  85. package/dist/C_FilePreview-CPqvhoCy.css.map +1 -0
  86. package/dist/C_FilePreview.cjs +6 -0
  87. package/dist/C_FilePreview.d.cts +2 -0
  88. package/dist/C_FilePreview.d.ts +2 -0
  89. package/dist/C_FilePreview.js +3 -0
  90. package/dist/C_FilePreview2.js +1031 -0
  91. package/dist/C_FilePreview2.js.map +1 -0
  92. package/dist/C_Form-Jx7PY3sT.css.map +1 -0
  93. package/dist/C_Form.cjs +15 -0
  94. package/dist/C_Form.d.cts +2 -0
  95. package/dist/C_Form.d.ts +2 -0
  96. package/dist/C_Form.js +4 -0
  97. package/dist/C_Form2.js +2510 -0
  98. package/dist/C_Form2.js.map +1 -0
  99. package/dist/C_FormSearch-DvRgxlRn.css.map +1 -0
  100. package/dist/C_FormSearch.cjs +6 -0
  101. package/dist/C_FormSearch.d.cts +2 -0
  102. package/dist/C_FormSearch.d.ts +2 -0
  103. package/dist/C_FormSearch.js +3 -0
  104. package/dist/C_FormSearch2.js +356 -0
  105. package/dist/C_FormSearch2.js.map +1 -0
  106. package/dist/C_FormulaEditor-DtGkt4T_.css.map +1 -0
  107. package/dist/C_FormulaEditor.cjs +13 -0
  108. package/dist/C_FormulaEditor.d.cts +2 -0
  109. package/dist/C_FormulaEditor.d.ts +2 -0
  110. package/dist/C_FormulaEditor.js +4 -0
  111. package/dist/C_FormulaEditor2.js +1433 -0
  112. package/dist/C_FormulaEditor2.js.map +1 -0
  113. package/dist/C_FullCalendar-BF7H0YIx.css.map +1 -0
  114. package/dist/C_FullCalendar.cjs +9 -0
  115. package/dist/C_FullCalendar.d.cts +2 -0
  116. package/dist/C_FullCalendar.d.ts +2 -0
  117. package/dist/C_FullCalendar.js +3 -0
  118. package/dist/C_FullCalendar2.js +377 -0
  119. package/dist/C_FullCalendar2.js.map +1 -0
  120. package/dist/C_Guide.cjs +4 -0
  121. package/dist/C_Guide.d.cts +2 -0
  122. package/dist/C_Guide.d.ts +2 -0
  123. package/dist/C_Guide.js +3 -0
  124. package/dist/C_Guide2.js +58 -0
  125. package/dist/C_Guide2.js.map +1 -0
  126. package/dist/C_Icon.cjs +4 -0
  127. package/dist/C_Icon.d.cts +2 -0
  128. package/dist/C_Icon.d.ts +2 -0
  129. package/dist/C_Icon.js +3 -0
  130. package/dist/C_Icon2.js +286 -0
  131. package/dist/C_Icon2.js.map +1 -0
  132. package/dist/C_ImageCropper-BVJfUufl.css.map +1 -0
  133. package/dist/C_ImageCropper.cjs +6 -0
  134. package/dist/C_ImageCropper.d.cts +2 -0
  135. package/dist/C_ImageCropper.d.ts +2 -0
  136. package/dist/C_ImageCropper.js +4 -0
  137. package/dist/C_ImageCropper2.js +723 -0
  138. package/dist/C_ImageCropper2.js.map +1 -0
  139. package/dist/C_Language.cjs +4 -0
  140. package/dist/C_Language.d.cts +2 -0
  141. package/dist/C_Language.d.ts +2 -0
  142. package/dist/C_Language.js +3 -0
  143. package/dist/C_Language2.js +72 -0
  144. package/dist/C_Language2.js.map +1 -0
  145. package/dist/C_Map-DpzeuWdX.css.map +1 -0
  146. package/dist/C_Map.cjs +7 -0
  147. package/dist/C_Map.d.cts +2 -0
  148. package/dist/C_Map.d.ts +2 -0
  149. package/dist/C_Map.js +3 -0
  150. package/dist/C_Map2.js +199 -0
  151. package/dist/C_Map2.js.map +1 -0
  152. package/dist/C_Markdown-BEjxknqd.css.map +1 -0
  153. package/dist/C_Markdown.cjs +4 -0
  154. package/dist/C_Markdown.d.cts +2 -0
  155. package/dist/C_Markdown.d.ts +2 -0
  156. package/dist/C_Markdown.js +3 -0
  157. package/dist/C_Markdown2.js +186 -0
  158. package/dist/C_Markdown2.js.map +1 -0
  159. package/dist/C_NotificationCenter-0l3TY2Gn.css.map +1 -0
  160. package/dist/C_NotificationCenter.cjs +20 -0
  161. package/dist/C_NotificationCenter.d.cts +2 -0
  162. package/dist/C_NotificationCenter.d.ts +2 -0
  163. package/dist/C_NotificationCenter.js +4 -0
  164. package/dist/C_NotificationCenter2.js +1383 -0
  165. package/dist/C_NotificationCenter2.js.map +1 -0
  166. package/dist/C_Progress.cjs +4 -0
  167. package/dist/C_Progress.d.cts +2 -0
  168. package/dist/C_Progress.d.ts +2 -0
  169. package/dist/C_Progress.js +3 -0
  170. package/dist/C_Progress2.js +103 -0
  171. package/dist/C_Progress2.js.map +1 -0
  172. package/dist/C_QRCode-DbdiAIPg.css.map +1 -0
  173. package/dist/C_QRCode.cjs +5 -0
  174. package/dist/C_QRCode.d.cts +2 -0
  175. package/dist/C_QRCode.d.ts +2 -0
  176. package/dist/C_QRCode.js +3 -0
  177. package/dist/C_QRCode2.js +218 -0
  178. package/dist/C_QRCode2.js.map +1 -0
  179. package/dist/C_Signature-zhHCbra9.css.map +1 -0
  180. package/dist/C_Signature.cjs +8 -0
  181. package/dist/C_Signature.d.cts +2 -0
  182. package/dist/C_Signature.d.ts +2 -0
  183. package/dist/C_Signature.js +4 -0
  184. package/dist/C_Signature2.js +618 -0
  185. package/dist/C_Signature2.js.map +1 -0
  186. package/dist/C_SplitPane-C6sBsfKY.css.map +1 -0
  187. package/dist/C_SplitPane.cjs +6 -0
  188. package/dist/C_SplitPane.d.cts +2 -0
  189. package/dist/C_SplitPane.d.ts +2 -0
  190. package/dist/C_SplitPane.js +4 -0
  191. package/dist/C_SplitPane2.js +356 -0
  192. package/dist/C_SplitPane2.js.map +1 -0
  193. package/dist/C_Steps-CODHN5Hs.css.map +1 -0
  194. package/dist/C_Steps.cjs +4 -0
  195. package/dist/C_Steps.d.cts +2 -0
  196. package/dist/C_Steps.d.ts +2 -0
  197. package/dist/C_Steps.js +3 -0
  198. package/dist/C_Steps2.js +82 -0
  199. package/dist/C_Steps2.js.map +1 -0
  200. package/dist/C_Table-DSNsntmT.css.map +1 -0
  201. package/dist/C_Table.cjs +19 -0
  202. package/dist/C_Table.d.cts +2 -0
  203. package/dist/C_Table.d.ts +2 -0
  204. package/dist/C_Table.js +5 -0
  205. package/dist/C_Table2.js +3009 -0
  206. package/dist/C_Table2.js.map +1 -0
  207. package/dist/C_Theme.cjs +4 -0
  208. package/dist/C_Theme.d.cts +2 -0
  209. package/dist/C_Theme.d.ts +2 -0
  210. package/dist/C_Theme.js +3 -0
  211. package/dist/C_Theme2.js +60 -0
  212. package/dist/C_Theme2.js.map +1 -0
  213. package/dist/C_Time-BvZLYraL.css.map +1 -0
  214. package/dist/C_Time.cjs +5 -0
  215. package/dist/C_Time.d.cts +2 -0
  216. package/dist/C_Time.d.ts +2 -0
  217. package/dist/C_Time.js +3 -0
  218. package/dist/C_Time2.js +199 -0
  219. package/dist/C_Time2.js.map +1 -0
  220. package/dist/C_Tree-0GDv--jX.css.map +1 -0
  221. package/dist/C_Tree.cjs +7 -0
  222. package/dist/C_Tree.d.cts +2 -0
  223. package/dist/C_Tree.d.ts +2 -0
  224. package/dist/C_Tree.js +4 -0
  225. package/dist/C_Tree2.js +441 -0
  226. package/dist/C_Tree2.js.map +1 -0
  227. package/dist/C_Upload-BXd3YYLx.css.map +1 -0
  228. package/dist/C_Upload.cjs +12 -0
  229. package/dist/C_Upload.d.cts +2 -0
  230. package/dist/C_Upload.d.ts +2 -0
  231. package/dist/C_Upload.js +4 -0
  232. package/dist/C_Upload2.js +1388 -0
  233. package/dist/C_Upload2.js.map +1 -0
  234. package/dist/C_VideoPlayer-DYG3RL0Q.css.map +1 -0
  235. package/dist/C_VideoPlayer.cjs +23 -0
  236. package/dist/C_VideoPlayer.d.cts +2 -0
  237. package/dist/C_VideoPlayer.d.ts +2 -0
  238. package/dist/C_VideoPlayer.js +3 -0
  239. package/dist/C_VideoPlayer2.js +1932 -0
  240. package/dist/C_VideoPlayer2.js.map +1 -0
  241. package/dist/C_VtableGantt-fhItIiHE.css.map +1 -0
  242. package/dist/C_VtableGantt.cjs +6 -0
  243. package/dist/C_VtableGantt.d.cts +2 -0
  244. package/dist/C_VtableGantt.d.ts +2 -0
  245. package/dist/C_VtableGantt.js +4 -0
  246. package/dist/C_VtableGantt2.js +873 -0
  247. package/dist/C_VtableGantt2.js.map +1 -0
  248. package/dist/C_WaterFall-8sQDFXKg.css.map +1 -0
  249. package/dist/C_WaterFall.cjs +13 -0
  250. package/dist/C_WaterFall.d.cts +2 -0
  251. package/dist/C_WaterFall.d.ts +2 -0
  252. package/dist/C_WaterFall.js +3 -0
  253. package/dist/C_WaterFall2.js +365 -0
  254. package/dist/C_WaterFall2.js.map +1 -0
  255. package/dist/C_WorkFlow-J-dyIuh9.css.map +1 -0
  256. package/dist/C_WorkFlow.cjs +8 -0
  257. package/dist/C_WorkFlow.d.cts +2 -0
  258. package/dist/C_WorkFlow.d.ts +2 -0
  259. package/dist/C_WorkFlow.js +4 -0
  260. package/dist/C_WorkFlow2.js +1984 -0
  261. package/dist/C_WorkFlow2.js.map +1 -0
  262. package/dist/chunk.js +22 -0
  263. package/dist/city.js +4817 -0
  264. package/dist/city.js.map +1 -0
  265. package/dist/constants.d.ts +273 -0
  266. package/dist/constants.d.ts.map +1 -0
  267. package/dist/constants2.d.ts +178 -0
  268. package/dist/constants2.d.ts.map +1 -0
  269. package/dist/constants3.d.ts +475 -0
  270. package/dist/constants3.d.ts.map +1 -0
  271. package/dist/constants4.d.ts +430 -0
  272. package/dist/constants4.d.ts.map +1 -0
  273. package/dist/constants5.d.ts +4283 -0
  274. package/dist/constants5.d.ts.map +1 -0
  275. package/dist/data.d.ts +67 -0
  276. package/dist/data.d.ts.map +1 -0
  277. package/dist/export-helper.js +9 -0
  278. package/dist/index.cjs +409 -0
  279. package/dist/index.d.cts +96 -0
  280. package/dist/index.d.cts.map +1 -0
  281. package/dist/index.d.ts +103 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +230 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/index.vue.d.ts +80 -0
  286. package/dist/index.vue.d.ts.map +1 -0
  287. package/dist/index10.vue.d.ts +72 -0
  288. package/dist/index10.vue.d.ts.map +1 -0
  289. package/dist/index11.vue.d.ts +26 -0
  290. package/dist/index11.vue.d.ts.map +1 -0
  291. package/dist/index12.vue.d.ts +81 -0
  292. package/dist/index12.vue.d.ts.map +1 -0
  293. package/dist/index13.vue.d.ts +55 -0
  294. package/dist/index13.vue.d.ts.map +1 -0
  295. package/dist/index14.vue.d.ts +33 -0
  296. package/dist/index14.vue.d.ts.map +1 -0
  297. package/dist/index15.vue.d.ts +18 -0
  298. package/dist/index15.vue.d.ts.map +1 -0
  299. package/dist/index16.vue.d.ts +662 -0
  300. package/dist/index16.vue.d.ts.map +1 -0
  301. package/dist/index2.vue.d.ts +38 -0
  302. package/dist/index2.vue.d.ts.map +1 -0
  303. package/dist/index3.vue.d.ts +45 -0
  304. package/dist/index3.vue.d.ts.map +1 -0
  305. package/dist/index4.vue.d.ts +31 -0
  306. package/dist/index4.vue.d.ts.map +1 -0
  307. package/dist/index5.vue.d.ts +35 -0
  308. package/dist/index5.vue.d.ts.map +1 -0
  309. package/dist/index6.vue.d.ts +48 -0
  310. package/dist/index6.vue.d.ts.map +1 -0
  311. package/dist/index7.vue.d.ts +56 -0
  312. package/dist/index7.vue.d.ts.map +1 -0
  313. package/dist/index8.vue.d.ts +41 -0
  314. package/dist/index8.vue.d.ts.map +1 -0
  315. package/dist/index9.vue.d.ts +30 -0
  316. package/dist/index9.vue.d.ts.map +1 -0
  317. package/dist/storage.js +31 -0
  318. package/dist/storage.js.map +1 -0
  319. package/dist/style.css +7725 -0
  320. package/dist/useCalendarEvents.d.ts +148 -0
  321. package/dist/useCalendarEvents.d.ts.map +1 -0
  322. package/dist/useCollapsePanel.d.ts +132 -0
  323. package/dist/useCollapsePanel.d.ts.map +1 -0
  324. package/dist/useCropperCore.d.ts +102 -0
  325. package/dist/useCropperCore.d.ts.map +1 -0
  326. package/dist/useDraggableLayout.d.ts +194 -0
  327. package/dist/useDraggableLayout.d.ts.map +1 -0
  328. package/dist/useDynamicFormState.d.ts +4248 -0
  329. package/dist/useDynamicFormState.d.ts.map +1 -0
  330. package/dist/useEdgeInteraction.d.ts +7614 -0
  331. package/dist/useEdgeInteraction.d.ts.map +1 -0
  332. package/dist/useFullscreen.d.ts +166 -0
  333. package/dist/useFullscreen.d.ts.map +1 -0
  334. package/dist/useInfiniteScroll.d.ts +169 -0
  335. package/dist/useInfiniteScroll.d.ts.map +1 -0
  336. package/dist/useModalEdit.d.ts +960 -0
  337. package/dist/useModalEdit.d.ts.map +1 -0
  338. package/dist/useQRCode.d.ts +87 -0
  339. package/dist/useQRCode.d.ts.map +1 -0
  340. package/dist/useSearchState.d.ts +180 -0
  341. package/dist/useSearchState.d.ts.map +1 -0
  342. package/dist/useSignatureHistory.d.ts +189 -0
  343. package/dist/useSignatureHistory.d.ts.map +1 -0
  344. package/dist/useSplitResize.d.ts +158 -0
  345. package/dist/useSplitResize.d.ts.map +1 -0
  346. package/dist/useTimeSelection.d.ts +105 -0
  347. package/dist/useTimeSelection.d.ts.map +1 -0
  348. package/dist/useTreeOperations.d.ts +183 -0
  349. package/dist/useTreeOperations.d.ts.map +1 -0
  350. package/dist/useWorkflowValidation.d.ts +1052 -0
  351. package/dist/useWorkflowValidation.d.ts.map +1 -0
  352. package/package.json +342 -0
@@ -0,0 +1,1052 @@
1
+ import * as vue from "vue";
2
+ import { Component, Ref } from "vue";
3
+
4
+ //#region src/components/C_WorkFlow/types.d.ts
5
+ /**
6
+ * 工作流相关类型定义
7
+ */
8
+ interface User {
9
+ id: string;
10
+ name: string;
11
+ avatar?: string;
12
+ department: string;
13
+ role: string;
14
+ email?: string;
15
+ phone?: string;
16
+ }
17
+ interface Role {
18
+ id: string;
19
+ name: string;
20
+ description?: string;
21
+ level?: number;
22
+ }
23
+ interface Department {
24
+ id: string;
25
+ name: string;
26
+ parentId?: string;
27
+ manager?: string;
28
+ }
29
+ interface Condition {
30
+ id: string;
31
+ name: string;
32
+ field: string;
33
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
34
+ value: string;
35
+ }
36
+ type NodeStatus = "pending" | "approved" | "rejected" | "active" | "completed";
37
+ type NodeType = "start" | "approval" | "copy" | "condition";
38
+ type ApprovalMode = "any" | "all" | "sequence";
39
+ type ValidationErrorType = "required" | "invalid" | "incomplete" | "warning" | "error" | "custom";
40
+ interface BaseNodeData {
41
+ title: string;
42
+ status?: NodeStatus;
43
+ config?: Record<string, any>;
44
+ initiators?: User[];
45
+ }
46
+ interface StartNodeData extends BaseNodeData {
47
+ title: string;
48
+ status: "active";
49
+ }
50
+ interface ApprovalNodeData extends BaseNodeData {
51
+ approvers?: User[];
52
+ approvalMode?: ApprovalMode;
53
+ }
54
+ interface CopyNodeData extends BaseNodeData {
55
+ copyUsers?: User[];
56
+ }
57
+ interface ConditionNodeData extends BaseNodeData {
58
+ conditions?: Condition[];
59
+ }
60
+ type NodeData = StartNodeData | ApprovalNodeData | CopyNodeData | ConditionNodeData;
61
+ interface WorkflowNode {
62
+ id: string;
63
+ type: NodeType;
64
+ position: {
65
+ x: number;
66
+ y: number;
67
+ };
68
+ data: NodeData;
69
+ selected?: boolean;
70
+ dragging?: boolean;
71
+ connectable?: boolean;
72
+ selectable?: boolean;
73
+ deletable?: boolean;
74
+ dragHandle?: string;
75
+ width?: number;
76
+ height?: number;
77
+ parentNode?: string;
78
+ zIndex?: number;
79
+ extent?: "parent" | [[number, number], [number, number]];
80
+ expandParent?: boolean;
81
+ }
82
+ interface WorkflowEdge {
83
+ id: string;
84
+ source: string;
85
+ target: string;
86
+ sourceHandle?: string | null;
87
+ targetHandle?: string | null;
88
+ type?: string;
89
+ animated?: boolean;
90
+ hidden?: boolean;
91
+ deletable?: boolean;
92
+ selectable?: boolean;
93
+ data?: any;
94
+ style?: any;
95
+ label?: string;
96
+ labelStyle?: any;
97
+ labelShowBg?: boolean;
98
+ labelBgStyle?: any;
99
+ labelBgPadding?: [number, number];
100
+ labelBgBorderRadius?: number;
101
+ markerStart?: string;
102
+ markerEnd?: string;
103
+ }
104
+ interface WorkflowData {
105
+ nodes: WorkflowNode[];
106
+ edges: WorkflowEdge[];
107
+ config?: {
108
+ title?: string;
109
+ description?: string;
110
+ version?: string;
111
+ createdAt?: string;
112
+ updatedAt?: string;
113
+ };
114
+ }
115
+ interface WorkflowProps {
116
+ users?: User[];
117
+ roles?: Role[];
118
+ departments?: Department[];
119
+ modelValue?: WorkflowData;
120
+ readonly?: boolean;
121
+ theme?: "light" | "dark";
122
+ }
123
+ interface WorkflowEmits {
124
+ "update:modelValue": [value: WorkflowData];
125
+ change: [value: WorkflowData];
126
+ "node-click": [node: WorkflowNode];
127
+ "edge-click": [edge: WorkflowEdge];
128
+ save: [data: WorkflowData];
129
+ "validate-error": [errors: ValidationError[]];
130
+ }
131
+ interface ValidationError {
132
+ nodeId: string;
133
+ nodeName: string;
134
+ field: string;
135
+ message: string;
136
+ type: ValidationErrorType;
137
+ details?: string;
138
+ severity?: "low" | "medium" | "high";
139
+ fixSuggestion?: string;
140
+ }
141
+ interface MenuPosition {
142
+ x: number;
143
+ y: number;
144
+ }
145
+ interface NodeConfigFormData {
146
+ approval?: {
147
+ selectedUsers: string[];
148
+ approvalMode: ApprovalMode;
149
+ };
150
+ copy?: {
151
+ selectedUsers: string[];
152
+ };
153
+ condition?: {
154
+ conditions: Condition[];
155
+ };
156
+ }
157
+ interface ValidationRule {
158
+ field: string;
159
+ type: "required" | "min" | "max" | "pattern" | "custom";
160
+ message: string;
161
+ validator?: (value: any, data: any) => boolean;
162
+ }
163
+ interface WorkflowConfig {
164
+ title?: string;
165
+ description?: string;
166
+ version?: string;
167
+ allowedNodeTypes?: NodeType[];
168
+ maxNodes?: number;
169
+ enableValidation?: boolean;
170
+ validationRules?: Record<string, ValidationRule[]>;
171
+ theme?: {
172
+ primaryColor?: string;
173
+ backgroundColor?: string;
174
+ nodeColors?: Record<NodeType, string>;
175
+ };
176
+ }
177
+ interface WorkflowStats {
178
+ totalNodes: number;
179
+ approvalNodes: number;
180
+ copyNodes: number;
181
+ conditionNodes: number;
182
+ totalEdges: number;
183
+ validationErrors: number;
184
+ lastModified?: string;
185
+ }
186
+ interface NodeTemplate {
187
+ id: string;
188
+ name: string;
189
+ type: NodeType;
190
+ description?: string;
191
+ defaultData: Partial<NodeData>;
192
+ icon?: string;
193
+ category?: string;
194
+ }
195
+ interface WorkflowUtils {
196
+ validateWorkflow: (data: WorkflowData) => ValidationError[];
197
+ exportWorkflow: (data: WorkflowData, format?: "json" | "yaml") => string;
198
+ importWorkflow: (content: string, format?: "json" | "yaml") => WorkflowData;
199
+ generateNodeId: (type: NodeType) => string;
200
+ generateEdgeId: (sourceId: string, targetId: string) => string;
201
+ cloneWorkflow: (data: WorkflowData) => WorkflowData;
202
+ mergeWorkflows: (workflows: WorkflowData[]) => WorkflowData;
203
+ }
204
+ interface WorkflowApiResponse<T = any> {
205
+ success: boolean;
206
+ data?: T;
207
+ message?: string;
208
+ errors?: ValidationError[];
209
+ timestamp?: string;
210
+ }
211
+ interface WorkflowHistory {
212
+ id: string;
213
+ workflowId: string;
214
+ version: number;
215
+ data: WorkflowData;
216
+ changes: {
217
+ type: "create" | "update" | "delete";
218
+ nodeId?: string;
219
+ edgeId?: string;
220
+ description: string;
221
+ }[];
222
+ createdBy: string;
223
+ createdAt: string;
224
+ }
225
+ //#endregion
226
+ //#region src/components/C_WorkFlow/index.vue.d.ts
227
+ declare const __VLS_export: vue.DefineComponent<WorkflowProps, {
228
+ validateWorkflow: () => ValidationError[];
229
+ getCurrentWorkflowData: () => WorkflowData;
230
+ saveWorkflow: () => void;
231
+ previewWorkflow: () => void;
232
+ deleteNode: (nodeId: string) => void;
233
+ stats: vue.ComputedRef<{
234
+ totalNodes: number;
235
+ approvalNodes: number;
236
+ copyNodes: number;
237
+ conditionNodes: number;
238
+ }>;
239
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
240
+ "update:modelValue": (value: WorkflowData) => any;
241
+ change: (value: WorkflowData) => any;
242
+ "validate-error": (errors: ValidationError[]) => any;
243
+ "node-click": (node: WorkflowNode) => any;
244
+ "edge-click": (edge: WorkflowEdge) => any;
245
+ save: (data: WorkflowData) => any;
246
+ }, string, vue.PublicProps, Readonly<WorkflowProps> & Readonly<{
247
+ "onUpdate:modelValue"?: ((value: WorkflowData) => any) | undefined;
248
+ onChange?: ((value: WorkflowData) => any) | undefined;
249
+ "onValidate-error"?: ((errors: ValidationError[]) => any) | undefined;
250
+ "onNode-click"?: ((node: WorkflowNode) => any) | undefined;
251
+ "onEdge-click"?: ((edge: WorkflowEdge) => any) | undefined;
252
+ onSave?: ((data: WorkflowData) => any) | undefined;
253
+ }>, {
254
+ readonly: boolean;
255
+ theme: "light" | "dark";
256
+ users: User[];
257
+ roles: Role[];
258
+ departments: Department[];
259
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
260
+ declare const _default: typeof __VLS_export;
261
+ //#endregion
262
+ //#region src/components/C_WorkFlow/composables/useWorkflowNodes.d.ts
263
+ type EmitFn = (event: string, ...args: any[]) => void;
264
+ /** 工作流节点管理 —— 封装节点 CRUD、provide/inject、边重连、画布操作等逻辑 */
265
+ declare function useWorkflowNodes(props: WorkflowProps, emit: EmitFn, vueFlowRef: Ref): {
266
+ nodes: Ref<{
267
+ id: string;
268
+ type: NodeType;
269
+ position: {
270
+ x: number;
271
+ y: number;
272
+ };
273
+ data: {
274
+ title: string;
275
+ status: "active";
276
+ config?: Record<string, any> | undefined;
277
+ initiators?: {
278
+ id: string;
279
+ name: string;
280
+ avatar?: string | undefined;
281
+ department: string;
282
+ role: string;
283
+ email?: string | undefined;
284
+ phone?: string | undefined;
285
+ }[] | undefined;
286
+ } | {
287
+ approvers?: {
288
+ id: string;
289
+ name: string;
290
+ avatar?: string | undefined;
291
+ department: string;
292
+ role: string;
293
+ email?: string | undefined;
294
+ phone?: string | undefined;
295
+ }[] | undefined;
296
+ approvalMode?: ApprovalMode | undefined;
297
+ title: string;
298
+ status?: NodeStatus | undefined;
299
+ config?: Record<string, any> | undefined;
300
+ initiators?: {
301
+ id: string;
302
+ name: string;
303
+ avatar?: string | undefined;
304
+ department: string;
305
+ role: string;
306
+ email?: string | undefined;
307
+ phone?: string | undefined;
308
+ }[] | undefined;
309
+ } | {
310
+ copyUsers?: {
311
+ id: string;
312
+ name: string;
313
+ avatar?: string | undefined;
314
+ department: string;
315
+ role: string;
316
+ email?: string | undefined;
317
+ phone?: string | undefined;
318
+ }[] | undefined;
319
+ title: string;
320
+ status?: NodeStatus | undefined;
321
+ config?: Record<string, any> | undefined;
322
+ initiators?: {
323
+ id: string;
324
+ name: string;
325
+ avatar?: string | undefined;
326
+ department: string;
327
+ role: string;
328
+ email?: string | undefined;
329
+ phone?: string | undefined;
330
+ }[] | undefined;
331
+ } | {
332
+ conditions?: {
333
+ id: string;
334
+ name: string;
335
+ field: string;
336
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
337
+ value: string;
338
+ }[] | undefined;
339
+ title: string;
340
+ status?: NodeStatus | undefined;
341
+ config?: Record<string, any> | undefined;
342
+ initiators?: {
343
+ id: string;
344
+ name: string;
345
+ avatar?: string | undefined;
346
+ department: string;
347
+ role: string;
348
+ email?: string | undefined;
349
+ phone?: string | undefined;
350
+ }[] | undefined;
351
+ };
352
+ selected?: boolean | undefined;
353
+ dragging?: boolean | undefined;
354
+ connectable?: boolean | undefined;
355
+ selectable?: boolean | undefined;
356
+ deletable?: boolean | undefined;
357
+ dragHandle?: string | undefined;
358
+ width?: number | undefined;
359
+ height?: number | undefined;
360
+ parentNode?: string | undefined;
361
+ zIndex?: number | undefined;
362
+ extent?: "parent" | [[number, number], [number, number]] | undefined;
363
+ expandParent?: boolean | undefined;
364
+ }[], WorkflowNode[] | {
365
+ id: string;
366
+ type: NodeType;
367
+ position: {
368
+ x: number;
369
+ y: number;
370
+ };
371
+ data: {
372
+ title: string;
373
+ status: "active";
374
+ config?: Record<string, any> | undefined;
375
+ initiators?: {
376
+ id: string;
377
+ name: string;
378
+ avatar?: string | undefined;
379
+ department: string;
380
+ role: string;
381
+ email?: string | undefined;
382
+ phone?: string | undefined;
383
+ }[] | undefined;
384
+ } | {
385
+ approvers?: {
386
+ id: string;
387
+ name: string;
388
+ avatar?: string | undefined;
389
+ department: string;
390
+ role: string;
391
+ email?: string | undefined;
392
+ phone?: string | undefined;
393
+ }[] | undefined;
394
+ approvalMode?: ApprovalMode | undefined;
395
+ title: string;
396
+ status?: NodeStatus | undefined;
397
+ config?: Record<string, any> | undefined;
398
+ initiators?: {
399
+ id: string;
400
+ name: string;
401
+ avatar?: string | undefined;
402
+ department: string;
403
+ role: string;
404
+ email?: string | undefined;
405
+ phone?: string | undefined;
406
+ }[] | undefined;
407
+ } | {
408
+ copyUsers?: {
409
+ id: string;
410
+ name: string;
411
+ avatar?: string | undefined;
412
+ department: string;
413
+ role: string;
414
+ email?: string | undefined;
415
+ phone?: string | undefined;
416
+ }[] | undefined;
417
+ title: string;
418
+ status?: NodeStatus | undefined;
419
+ config?: Record<string, any> | undefined;
420
+ initiators?: {
421
+ id: string;
422
+ name: string;
423
+ avatar?: string | undefined;
424
+ department: string;
425
+ role: string;
426
+ email?: string | undefined;
427
+ phone?: string | undefined;
428
+ }[] | undefined;
429
+ } | {
430
+ conditions?: {
431
+ id: string;
432
+ name: string;
433
+ field: string;
434
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
435
+ value: string;
436
+ }[] | undefined;
437
+ title: string;
438
+ status?: NodeStatus | undefined;
439
+ config?: Record<string, any> | undefined;
440
+ initiators?: {
441
+ id: string;
442
+ name: string;
443
+ avatar?: string | undefined;
444
+ department: string;
445
+ role: string;
446
+ email?: string | undefined;
447
+ phone?: string | undefined;
448
+ }[] | undefined;
449
+ };
450
+ selected?: boolean | undefined;
451
+ dragging?: boolean | undefined;
452
+ connectable?: boolean | undefined;
453
+ selectable?: boolean | undefined;
454
+ deletable?: boolean | undefined;
455
+ dragHandle?: string | undefined;
456
+ width?: number | undefined;
457
+ height?: number | undefined;
458
+ parentNode?: string | undefined;
459
+ zIndex?: number | undefined;
460
+ extent?: "parent" | [[number, number], [number, number]] | undefined;
461
+ expandParent?: boolean | undefined;
462
+ }[]>;
463
+ edges: Ref<{
464
+ id: string;
465
+ source: string;
466
+ target: string;
467
+ sourceHandle?: string | null | undefined;
468
+ targetHandle?: string | null | undefined;
469
+ type?: string | undefined;
470
+ animated?: boolean | undefined;
471
+ hidden?: boolean | undefined;
472
+ deletable?: boolean | undefined;
473
+ selectable?: boolean | undefined;
474
+ data?: any;
475
+ style?: any;
476
+ label?: string | undefined;
477
+ labelStyle?: any;
478
+ labelShowBg?: boolean | undefined;
479
+ labelBgStyle?: any;
480
+ labelBgPadding?: [number, number] | undefined;
481
+ labelBgBorderRadius?: number | undefined;
482
+ markerStart?: string | undefined;
483
+ markerEnd?: string | undefined;
484
+ }[], WorkflowEdge[] | {
485
+ id: string;
486
+ source: string;
487
+ target: string;
488
+ sourceHandle?: string | null | undefined;
489
+ targetHandle?: string | null | undefined;
490
+ type?: string | undefined;
491
+ animated?: boolean | undefined;
492
+ hidden?: boolean | undefined;
493
+ deletable?: boolean | undefined;
494
+ selectable?: boolean | undefined;
495
+ data?: any;
496
+ style?: any;
497
+ label?: string | undefined;
498
+ labelStyle?: any;
499
+ labelShowBg?: boolean | undefined;
500
+ labelBgStyle?: any;
501
+ labelBgPadding?: [number, number] | undefined;
502
+ labelBgBorderRadius?: number | undefined;
503
+ markerStart?: string | undefined;
504
+ markerEnd?: string | undefined;
505
+ }[]>;
506
+ showAddMenu: Ref<boolean, boolean>;
507
+ menuPosition: Ref<{
508
+ x: number;
509
+ y: number;
510
+ }, MenuPosition | {
511
+ x: number;
512
+ y: number;
513
+ }>;
514
+ showNodeConfig: Ref<boolean, boolean>;
515
+ currentNode: Ref<{
516
+ id: string;
517
+ type: NodeType;
518
+ position: {
519
+ x: number;
520
+ y: number;
521
+ };
522
+ data: {
523
+ title: string;
524
+ status: "active";
525
+ config?: Record<string, any> | undefined;
526
+ initiators?: {
527
+ id: string;
528
+ name: string;
529
+ avatar?: string | undefined;
530
+ department: string;
531
+ role: string;
532
+ email?: string | undefined;
533
+ phone?: string | undefined;
534
+ }[] | undefined;
535
+ } | {
536
+ approvers?: {
537
+ id: string;
538
+ name: string;
539
+ avatar?: string | undefined;
540
+ department: string;
541
+ role: string;
542
+ email?: string | undefined;
543
+ phone?: string | undefined;
544
+ }[] | undefined;
545
+ approvalMode?: ApprovalMode | undefined;
546
+ title: string;
547
+ status?: NodeStatus | undefined;
548
+ config?: Record<string, any> | undefined;
549
+ initiators?: {
550
+ id: string;
551
+ name: string;
552
+ avatar?: string | undefined;
553
+ department: string;
554
+ role: string;
555
+ email?: string | undefined;
556
+ phone?: string | undefined;
557
+ }[] | undefined;
558
+ } | {
559
+ copyUsers?: {
560
+ id: string;
561
+ name: string;
562
+ avatar?: string | undefined;
563
+ department: string;
564
+ role: string;
565
+ email?: string | undefined;
566
+ phone?: string | undefined;
567
+ }[] | undefined;
568
+ title: string;
569
+ status?: NodeStatus | undefined;
570
+ config?: Record<string, any> | undefined;
571
+ initiators?: {
572
+ id: string;
573
+ name: string;
574
+ avatar?: string | undefined;
575
+ department: string;
576
+ role: string;
577
+ email?: string | undefined;
578
+ phone?: string | undefined;
579
+ }[] | undefined;
580
+ } | {
581
+ conditions?: {
582
+ id: string;
583
+ name: string;
584
+ field: string;
585
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
586
+ value: string;
587
+ }[] | undefined;
588
+ title: string;
589
+ status?: NodeStatus | undefined;
590
+ config?: Record<string, any> | undefined;
591
+ initiators?: {
592
+ id: string;
593
+ name: string;
594
+ avatar?: string | undefined;
595
+ department: string;
596
+ role: string;
597
+ email?: string | undefined;
598
+ phone?: string | undefined;
599
+ }[] | undefined;
600
+ };
601
+ selected?: boolean | undefined;
602
+ dragging?: boolean | undefined;
603
+ connectable?: boolean | undefined;
604
+ selectable?: boolean | undefined;
605
+ deletable?: boolean | undefined;
606
+ dragHandle?: string | undefined;
607
+ width?: number | undefined;
608
+ height?: number | undefined;
609
+ parentNode?: string | undefined;
610
+ zIndex?: number | undefined;
611
+ extent?: "parent" | [[number, number], [number, number]] | undefined;
612
+ expandParent?: boolean | undefined;
613
+ } | null, WorkflowNode | {
614
+ id: string;
615
+ type: NodeType;
616
+ position: {
617
+ x: number;
618
+ y: number;
619
+ };
620
+ data: {
621
+ title: string;
622
+ status: "active";
623
+ config?: Record<string, any> | undefined;
624
+ initiators?: {
625
+ id: string;
626
+ name: string;
627
+ avatar?: string | undefined;
628
+ department: string;
629
+ role: string;
630
+ email?: string | undefined;
631
+ phone?: string | undefined;
632
+ }[] | undefined;
633
+ } | {
634
+ approvers?: {
635
+ id: string;
636
+ name: string;
637
+ avatar?: string | undefined;
638
+ department: string;
639
+ role: string;
640
+ email?: string | undefined;
641
+ phone?: string | undefined;
642
+ }[] | undefined;
643
+ approvalMode?: ApprovalMode | undefined;
644
+ title: string;
645
+ status?: NodeStatus | undefined;
646
+ config?: Record<string, any> | undefined;
647
+ initiators?: {
648
+ id: string;
649
+ name: string;
650
+ avatar?: string | undefined;
651
+ department: string;
652
+ role: string;
653
+ email?: string | undefined;
654
+ phone?: string | undefined;
655
+ }[] | undefined;
656
+ } | {
657
+ copyUsers?: {
658
+ id: string;
659
+ name: string;
660
+ avatar?: string | undefined;
661
+ department: string;
662
+ role: string;
663
+ email?: string | undefined;
664
+ phone?: string | undefined;
665
+ }[] | undefined;
666
+ title: string;
667
+ status?: NodeStatus | undefined;
668
+ config?: Record<string, any> | undefined;
669
+ initiators?: {
670
+ id: string;
671
+ name: string;
672
+ avatar?: string | undefined;
673
+ department: string;
674
+ role: string;
675
+ email?: string | undefined;
676
+ phone?: string | undefined;
677
+ }[] | undefined;
678
+ } | {
679
+ conditions?: {
680
+ id: string;
681
+ name: string;
682
+ field: string;
683
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
684
+ value: string;
685
+ }[] | undefined;
686
+ title: string;
687
+ status?: NodeStatus | undefined;
688
+ config?: Record<string, any> | undefined;
689
+ initiators?: {
690
+ id: string;
691
+ name: string;
692
+ avatar?: string | undefined;
693
+ department: string;
694
+ role: string;
695
+ email?: string | undefined;
696
+ phone?: string | undefined;
697
+ }[] | undefined;
698
+ };
699
+ selected?: boolean | undefined;
700
+ dragging?: boolean | undefined;
701
+ connectable?: boolean | undefined;
702
+ selectable?: boolean | undefined;
703
+ deletable?: boolean | undefined;
704
+ dragHandle?: string | undefined;
705
+ width?: number | undefined;
706
+ height?: number | undefined;
707
+ parentNode?: string | undefined;
708
+ zIndex?: number | undefined;
709
+ extent?: "parent" | [[number, number], [number, number]] | undefined;
710
+ expandParent?: boolean | undefined;
711
+ } | null>;
712
+ nodeTypes: vue.ComputedRef<Record<string, Component>>;
713
+ workflowStats: vue.ComputedRef<{
714
+ totalNodes: number;
715
+ approvalNodes: number;
716
+ copyNodes: number;
717
+ conditionNodes: number;
718
+ }>;
719
+ addNode: (type: NodeType) => void;
720
+ onNodeClick: (event: {
721
+ node: WorkflowNode;
722
+ }) => void;
723
+ closeAddMenu: () => void;
724
+ handleConfigSave: (configData: Record<string, unknown>) => void;
725
+ resetNodes: () => void;
726
+ getCurrentWorkflowData: () => WorkflowData;
727
+ fitView: () => void;
728
+ deleteNode: (nodeId: string) => void;
729
+ };
730
+ //#endregion
731
+ //#region src/components/C_WorkFlow/composables/useWorkflowPreview.d.ts
732
+ /** 详情项类型 */
733
+ type DetailItemType = "text" | "mode" | "users" | "warning";
734
+ /** 结构化详情项 */
735
+ interface DetailItem {
736
+ type: DetailItemType;
737
+ label: string;
738
+ value?: string;
739
+ users?: {
740
+ name: string;
741
+ department?: string;
742
+ }[];
743
+ modeKey?: string;
744
+ }
745
+ /** 流程步骤(已排序) */
746
+ interface FlowStep {
747
+ order: number;
748
+ node: WorkflowNode;
749
+ nodeTypeLabel: string;
750
+ icon: string;
751
+ colorClass: string;
752
+ details: DetailItem[];
753
+ children?: FlowStep[];
754
+ }
755
+ /** 预览统计信息 */
756
+ interface PreviewStats {
757
+ totalNodes: number;
758
+ approvalNodes: number;
759
+ copyNodes: number;
760
+ conditionNodes: number;
761
+ totalEdges: number;
762
+ }
763
+ /** 工作流预览 —— 封装流程预览逻辑、节点排序和步骤展示 */
764
+ declare function useWorkflowPreview(nodes: Ref<WorkflowNode[]>, edges: Ref<WorkflowEdge[]>): {
765
+ showPreview: Ref<boolean, boolean>;
766
+ previewSteps: Ref<{
767
+ order: number;
768
+ node: {
769
+ id: string;
770
+ type: NodeType;
771
+ position: {
772
+ x: number;
773
+ y: number;
774
+ };
775
+ data: {
776
+ title: string;
777
+ status: "active";
778
+ config?: Record<string, any> | undefined;
779
+ initiators?: {
780
+ id: string;
781
+ name: string;
782
+ avatar?: string | undefined;
783
+ department: string;
784
+ role: string;
785
+ email?: string | undefined;
786
+ phone?: string | undefined;
787
+ }[] | undefined;
788
+ } | {
789
+ approvers?: {
790
+ id: string;
791
+ name: string;
792
+ avatar?: string | undefined;
793
+ department: string;
794
+ role: string;
795
+ email?: string | undefined;
796
+ phone?: string | undefined;
797
+ }[] | undefined;
798
+ approvalMode?: ApprovalMode | undefined;
799
+ title: string;
800
+ status?: NodeStatus | undefined;
801
+ config?: Record<string, any> | undefined;
802
+ initiators?: {
803
+ id: string;
804
+ name: string;
805
+ avatar?: string | undefined;
806
+ department: string;
807
+ role: string;
808
+ email?: string | undefined;
809
+ phone?: string | undefined;
810
+ }[] | undefined;
811
+ } | {
812
+ copyUsers?: {
813
+ id: string;
814
+ name: string;
815
+ avatar?: string | undefined;
816
+ department: string;
817
+ role: string;
818
+ email?: string | undefined;
819
+ phone?: string | undefined;
820
+ }[] | undefined;
821
+ title: string;
822
+ status?: NodeStatus | undefined;
823
+ config?: Record<string, any> | undefined;
824
+ initiators?: {
825
+ id: string;
826
+ name: string;
827
+ avatar?: string | undefined;
828
+ department: string;
829
+ role: string;
830
+ email?: string | undefined;
831
+ phone?: string | undefined;
832
+ }[] | undefined;
833
+ } | {
834
+ conditions?: {
835
+ id: string;
836
+ name: string;
837
+ field: string;
838
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
839
+ value: string;
840
+ }[] | undefined;
841
+ title: string;
842
+ status?: NodeStatus | undefined;
843
+ config?: Record<string, any> | undefined;
844
+ initiators?: {
845
+ id: string;
846
+ name: string;
847
+ avatar?: string | undefined;
848
+ department: string;
849
+ role: string;
850
+ email?: string | undefined;
851
+ phone?: string | undefined;
852
+ }[] | undefined;
853
+ };
854
+ selected?: boolean | undefined;
855
+ dragging?: boolean | undefined;
856
+ connectable?: boolean | undefined;
857
+ selectable?: boolean | undefined;
858
+ deletable?: boolean | undefined;
859
+ dragHandle?: string | undefined;
860
+ width?: number | undefined;
861
+ height?: number | undefined;
862
+ parentNode?: string | undefined;
863
+ zIndex?: number | undefined;
864
+ extent?: "parent" | [[number, number], [number, number]] | undefined;
865
+ expandParent?: boolean | undefined;
866
+ };
867
+ nodeTypeLabel: string;
868
+ icon: string;
869
+ colorClass: string;
870
+ details: {
871
+ type: DetailItemType;
872
+ label: string;
873
+ value?: string | undefined;
874
+ users?: {
875
+ name: string;
876
+ department?: string | undefined;
877
+ }[] | undefined;
878
+ modeKey?: string | undefined;
879
+ }[];
880
+ children?: /*elided*/any[] | undefined;
881
+ }[], FlowStep[] | {
882
+ order: number;
883
+ node: {
884
+ id: string;
885
+ type: NodeType;
886
+ position: {
887
+ x: number;
888
+ y: number;
889
+ };
890
+ data: {
891
+ title: string;
892
+ status: "active";
893
+ config?: Record<string, any> | undefined;
894
+ initiators?: {
895
+ id: string;
896
+ name: string;
897
+ avatar?: string | undefined;
898
+ department: string;
899
+ role: string;
900
+ email?: string | undefined;
901
+ phone?: string | undefined;
902
+ }[] | undefined;
903
+ } | {
904
+ approvers?: {
905
+ id: string;
906
+ name: string;
907
+ avatar?: string | undefined;
908
+ department: string;
909
+ role: string;
910
+ email?: string | undefined;
911
+ phone?: string | undefined;
912
+ }[] | undefined;
913
+ approvalMode?: ApprovalMode | undefined;
914
+ title: string;
915
+ status?: NodeStatus | undefined;
916
+ config?: Record<string, any> | undefined;
917
+ initiators?: {
918
+ id: string;
919
+ name: string;
920
+ avatar?: string | undefined;
921
+ department: string;
922
+ role: string;
923
+ email?: string | undefined;
924
+ phone?: string | undefined;
925
+ }[] | undefined;
926
+ } | {
927
+ copyUsers?: {
928
+ id: string;
929
+ name: string;
930
+ avatar?: string | undefined;
931
+ department: string;
932
+ role: string;
933
+ email?: string | undefined;
934
+ phone?: string | undefined;
935
+ }[] | undefined;
936
+ title: string;
937
+ status?: NodeStatus | undefined;
938
+ config?: Record<string, any> | undefined;
939
+ initiators?: {
940
+ id: string;
941
+ name: string;
942
+ avatar?: string | undefined;
943
+ department: string;
944
+ role: string;
945
+ email?: string | undefined;
946
+ phone?: string | undefined;
947
+ }[] | undefined;
948
+ } | {
949
+ conditions?: {
950
+ id: string;
951
+ name: string;
952
+ field: string;
953
+ operator: "equals" | "not_equals" | "greater_than" | "less_than" | "contains";
954
+ value: string;
955
+ }[] | undefined;
956
+ title: string;
957
+ status?: NodeStatus | undefined;
958
+ config?: Record<string, any> | undefined;
959
+ initiators?: {
960
+ id: string;
961
+ name: string;
962
+ avatar?: string | undefined;
963
+ department: string;
964
+ role: string;
965
+ email?: string | undefined;
966
+ phone?: string | undefined;
967
+ }[] | undefined;
968
+ };
969
+ selected?: boolean | undefined;
970
+ dragging?: boolean | undefined;
971
+ connectable?: boolean | undefined;
972
+ selectable?: boolean | undefined;
973
+ deletable?: boolean | undefined;
974
+ dragHandle?: string | undefined;
975
+ width?: number | undefined;
976
+ height?: number | undefined;
977
+ parentNode?: string | undefined;
978
+ zIndex?: number | undefined;
979
+ extent?: "parent" | [[number, number], [number, number]] | undefined;
980
+ expandParent?: boolean | undefined;
981
+ };
982
+ nodeTypeLabel: string;
983
+ icon: string;
984
+ colorClass: string;
985
+ details: {
986
+ type: DetailItemType;
987
+ label: string;
988
+ value?: string | undefined;
989
+ users?: {
990
+ name: string;
991
+ department?: string | undefined;
992
+ }[] | undefined;
993
+ modeKey?: string | undefined;
994
+ }[];
995
+ children?: /*elided*/any[] | undefined;
996
+ }[]>;
997
+ previewStats: Ref<{
998
+ totalNodes: number;
999
+ approvalNodes: number;
1000
+ copyNodes: number;
1001
+ conditionNodes: number;
1002
+ totalEdges: number;
1003
+ }, PreviewStats | {
1004
+ totalNodes: number;
1005
+ approvalNodes: number;
1006
+ copyNodes: number;
1007
+ conditionNodes: number;
1008
+ totalEdges: number;
1009
+ }>;
1010
+ openPreview: () => void;
1011
+ closePreview: () => void;
1012
+ };
1013
+ //#endregion
1014
+ //#region src/components/C_WorkFlow/composables/useWorkflowValidation.d.ts
1015
+ interface WorkflowValidationOptions {
1016
+ /** 定位错误节点后打开配置弹窗的回调 */
1017
+ onShowNodeConfig?: (node: WorkflowNode) => void;
1018
+ /** 验证失败时的外部回调(通常用于 emit) */
1019
+ onValidateError?: (errors: ValidationError[]) => void;
1020
+ }
1021
+ /** 工作流验证 —— 封装流程校验逻辑、错误展示和节点定位 */
1022
+ declare function useWorkflowValidation(nodes: Ref<WorkflowNode[]>, edges: Ref<WorkflowEdge[]>, vueFlowRef: Ref, options?: WorkflowValidationOptions): {
1023
+ validationErrors: Ref<{
1024
+ nodeId: string;
1025
+ nodeName: string;
1026
+ field: string;
1027
+ message: string;
1028
+ type: ValidationErrorType;
1029
+ details?: string | undefined;
1030
+ severity?: "low" | "medium" | "high" | undefined;
1031
+ fixSuggestion?: string | undefined;
1032
+ }[], ValidationError[] | {
1033
+ nodeId: string;
1034
+ nodeName: string;
1035
+ field: string;
1036
+ message: string;
1037
+ type: ValidationErrorType;
1038
+ details?: string | undefined;
1039
+ severity?: "low" | "medium" | "high" | undefined;
1040
+ fixSuggestion?: string | undefined;
1041
+ }[]>;
1042
+ showValidationErrors: Ref<boolean, boolean>;
1043
+ validateWorkflow: () => ValidationError[];
1044
+ validateCurrentWorkflow: () => void;
1045
+ jumpToErrorNode: (nodeId: string) => void;
1046
+ getFieldDisplayName: (field: string) => string;
1047
+ getErrorTypeText: (type: string) => string;
1048
+ resetValidation: () => void;
1049
+ };
1050
+ //#endregion
1051
+ export { WorkflowProps as A, WorkflowApiResponse as C, WorkflowEmits as D, WorkflowEdge as E, WorkflowUtils as M, WorkflowHistory as O, ValidationErrorType as S, WorkflowData as T, NodeType as _, ApprovalMode as a, User as b, Condition as c, Department as d, MenuPosition as f, NodeTemplate as g, NodeStatus as h, _default as i, WorkflowStats as j, WorkflowNode as k, ConditionNodeData as l, NodeData as m, useWorkflowPreview as n, ApprovalNodeData as o, NodeConfigFormData as p, useWorkflowNodes as r, BaseNodeData as s, useWorkflowValidation as t, CopyNodeData as u, Role as v, WorkflowConfig as w, ValidationError as x, StartNodeData as y };
1052
+ //# sourceMappingURL=useWorkflowValidation.d.ts.map