@web-utils/component 4.0.16 → 5.0.0-beta02

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 (325) hide show
  1. package/address-input/index.mjs +76 -74
  2. package/affix/index.mjs +71 -78
  3. package/aside-menu/index.mjs +20 -31
  4. package/avatar/index.mjs +94 -82
  5. package/awesome-button/index.mjs +54 -71
  6. package/capsule-tab/index.mjs +27 -32
  7. package/card/index.mjs +86 -69
  8. package/carousel/index.mjs +45 -32
  9. package/chat/index.mjs +441 -266
  10. package/chunk-file-uploader/index.mjs +2 -103
  11. package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
  12. package/chunks/EditableTree.D0ByhRTi.mjs +648 -0
  13. package/chunks/ElementBaseInfo.B3pY8TkD.mjs +209 -0
  14. package/chunks/ElementDialog.DNsDHdQS.mjs +251 -0
  15. package/chunks/ElementForm.D_lXbe--.mjs +627 -0
  16. package/chunks/ElementListeners.Cufwd4bp.mjs +656 -0
  17. package/chunks/ElementMultiInstance.BhY8NY2z.mjs +290 -0
  18. package/chunks/ElementOtherConfig.DX1ZJ9w2.mjs +51 -0
  19. package/chunks/ElementProperties.BRafADXp.mjs +196 -0
  20. package/chunks/ElementTaskConfig.B6pqRir_.mjs +446 -0
  21. package/chunks/FlowCondition.Dvwji23j.mjs +194 -0
  22. package/chunks/FlowDesigner.LL-vXDIE.mjs +5100 -0
  23. package/chunks/FormBlock.Co7l6USP.mjs +117 -0
  24. package/chunks/FormCascader.DMY3uNc8.mjs +1227 -0
  25. package/chunks/FormInputTime.BC4FfWwY.mjs +1774 -0
  26. package/chunks/FormItem.BSXI2cZU.mjs +89 -0
  27. package/chunks/FormItemGroup.D2Htta7J.mjs +149 -0
  28. package/chunks/FormSelect.CY0K-izg.mjs +1473 -0
  29. package/chunks/FormSwitch.DLqFXaFF.mjs +297 -0
  30. package/chunks/FormTemp.PJFfNRls.mjs +139 -0
  31. package/chunks/FyCurd.me083T8V.mjs +2622 -0
  32. package/chunks/FyForm.vVp8aVtj.mjs +906 -0
  33. package/chunks/FyFormDesign.BCxVyiWY.mjs +5600 -0
  34. package/chunks/FyUEditor.BymtA5SJ.mjs +221 -0
  35. package/chunks/FyUpload.CA7Gfa6Q.mjs +504 -0
  36. package/chunks/ImagePreview.ByEWJYdu.mjs +639 -0
  37. package/chunks/Keyboard.4hi7CjGc.mjs +379 -0
  38. package/chunks/MonacoEditor.B7BUQwb7.mjs +302 -0
  39. package/chunks/PageableTable.Ba3XSbZ5.mjs +660 -0
  40. package/chunks/RecordVideo.VRFTaHSp.mjs +116 -0
  41. package/chunks/SignalAndMessage.DYhKWs3X.mjs +198 -0
  42. package/chunks/SplitPane.Bwe5Rc0J.mjs +219 -0
  43. package/chunks/TableColumn.72HOXQkb.mjs +186 -0
  44. package/chunks/TableView.BxfsOAxU.mjs +484 -0
  45. package/chunks/Toolbar.BVziVmyT.mjs +219 -0
  46. package/chunks/UserTaskListeners.CkeyTpnn.mjs +599 -0
  47. package/chunks/VueCron.DEvY5-i7.mjs +1823 -0
  48. package/chunks/VueTreeSelect.C6Ycu28Z.mjs +1873 -0
  49. package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
  50. package/chunks/checkbox.C_9WZ8gc.mjs +437 -0
  51. package/chunks/confirmable-mixin.zegaXQTl.mjs +1762 -0
  52. package/chunks/core.DXaMPWGV.mjs +51 -0
  53. package/chunks/dataformat.CteBVoOe.mjs +144 -0
  54. package/chunks/dic.C0abEij9.mjs +116 -0
  55. package/chunks/dictionary.BRhZD-WH.mjs +19 -0
  56. package/chunks/dictionary.CNNpjPL2.mjs +87 -0
  57. package/chunks/event.B4iwtUNO.mjs +4 -0
  58. package/chunks/event.Dv4XTu8B.mjs +224 -0
  59. package/chunks/focus-trap.FbvlqAGe.mjs +211 -0
  60. package/chunks/form-input.BUGZmAI1.mjs +34 -0
  61. package/chunks/form-item.Ca8U2bIR.mjs +712 -0
  62. package/chunks/form-pick.DT5kumy4.mjs +7 -0
  63. package/chunks/form-validate.CUvMwtPN.mjs +11 -0
  64. package/chunks/icon.CxCY22-F.mjs +26 -0
  65. package/chunks/icon.ym7735_x.mjs +251 -0
  66. package/chunks/init.6jGmuY99.mjs +115 -0
  67. package/chunks/input.C2GWsuXE.mjs +547 -0
  68. package/chunks/install.yLcn5MLL.mjs +84 -0
  69. package/chunks/message.C4NdvfbE.mjs +400 -0
  70. package/chunks/packages.BLDb9e6G.mjs +56 -0
  71. package/chunks/permission.C-IUDxQQ.mjs +16 -0
  72. package/chunks/photo-swipe.BxnG4lip.mjs +55 -0
  73. package/chunks/radio.CeLeSOEo.mjs +273 -0
  74. package/chunks/scroll.DWjS-gnW.mjs +28 -0
  75. package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
  76. package/chunks/slot.DT5QwXL-.mjs +25 -0
  77. package/chunks/style.BmlGmjpO.mjs +325 -0
  78. package/chunks/sub-table-plus-props.CRX7ERxJ.mjs +28 -0
  79. package/chunks/tab-mixin.7zuMMM1E.mjs +70 -0
  80. package/chunks/tag.ZhEIVRpP.mjs +141 -0
  81. package/chunks/tooltip.DNiltmX1.mjs +1939 -0
  82. package/chunks/typescript.CLl-2siQ.mjs +18 -0
  83. package/chunks/use-aria.BW7nWOl1.mjs +17 -0
  84. package/chunks/use-composition.mUaomyno.mjs +47 -0
  85. package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
  86. package/chunks/use-empty-values.D8KYIiKR.mjs +81 -0
  87. package/chunks/use-form-item.BlWa7ZKe.mjs +56 -0
  88. package/chunks/use-global-config.DRovgom9.mjs +57 -0
  89. package/chunks/use-locale.Be9HCpTQ.mjs +188 -0
  90. package/chunks/util.Ce4MHRmD.mjs +103 -0
  91. package/chunks/util.g-WQEec9.mjs +223 -0
  92. package/chunks/utilSelf.BttmSVX6.mjs +46 -0
  93. package/chunks/utils.BGJfM4oG.mjs +60 -0
  94. package/chunks/utils.CSPl1l4f.mjs +14 -0
  95. package/chunks/validator.DuBSEj8O.mjs +5 -0
  96. package/chunks/vnode.C3PXzhmg.mjs +14 -0
  97. package/code-mirror-editor/index.mjs +89 -88
  98. package/comment/index.mjs +62 -57
  99. package/configComponents.mjs +40 -50
  100. package/confirm-button/index.mjs +34 -46
  101. package/confirmable/index.mjs +7 -17
  102. package/context-menu/index.mjs +195 -174
  103. package/count-up/index.mjs +97 -105
  104. package/custom-scrollbar/index.mjs +91 -98
  105. package/data-box/index.mjs +64 -44
  106. package/data-box/style.css +1 -1
  107. package/data-card/index.mjs +60 -47
  108. package/data-card/style.css +1 -1
  109. package/data-card-text/index.mjs +63 -49
  110. package/data-display/index.mjs +71 -51
  111. package/data-display/style.css +1 -1
  112. package/data-icons/index.mjs +70 -50
  113. package/data-icons/style.css +1 -1
  114. package/data-imgtext/index.mjs +67 -43
  115. package/data-imgtext/style.css +1 -1
  116. package/data-operatext/index.mjs +51 -40
  117. package/data-operatext/style.css +1 -1
  118. package/data-panel/index.mjs +57 -44
  119. package/data-panel/style.css +1 -1
  120. package/data-pay/index.mjs +105 -48
  121. package/data-pay/style.css +1 -1
  122. package/data-price/index.mjs +48 -40
  123. package/data-price/style.css +1 -1
  124. package/data-progress/index.mjs +67 -44
  125. package/data-progress/style.css +1 -1
  126. package/data-rotate/index.mjs +61 -44
  127. package/data-rotate/style.css +1 -1
  128. package/data-table-picker/index.mjs +119 -71
  129. package/data-tabs/index.mjs +67 -44
  130. package/data-tabs/style.css +1 -1
  131. package/dialog-form/index.mjs +143 -87
  132. package/dynamic-table/index.mjs +166 -109
  133. package/e-charts/index.mjs +174 -200
  134. package/easy-popup/index.mjs +91 -102
  135. package/editable-progress/index.mjs +112 -83
  136. package/editable-tree/index.mjs +2 -481
  137. package/element-dialog/index.mjs +2 -306
  138. package/ellipsis/index.mjs +124 -148
  139. package/empty-view/index.mjs +48 -65
  140. package/error-view/index.mjs +39 -51
  141. package/flex-column/index.mjs +34 -51
  142. package/flex-item/index.mjs +60 -64
  143. package/flex-row/index.mjs +33 -39
  144. package/flex-scroller/index.mjs +29 -30
  145. package/flow/index.mjs +240 -247
  146. package/flow-designer/index.mjs +2 -4709
  147. package/flow-node/index.mjs +56 -64
  148. package/flow-viewer/index.mjs +159 -157
  149. package/form-block/index.mjs +2 -147
  150. package/form-button/index.mjs +35 -47
  151. package/form-card/index.mjs +14 -25
  152. package/form-cascader/index.mjs +2 -115
  153. package/form-checkbox/index.mjs +89 -70
  154. package/form-checkbox-group/index.mjs +161 -113
  155. package/form-date-picker/index.mjs +155 -142
  156. package/form-holder/index.mjs +134 -109
  157. package/form-input/index.mjs +113 -86
  158. package/form-input-cron-expression/index.mjs +97 -76
  159. package/form-input-email/index.mjs +65 -51
  160. package/form-input-id-card/index.mjs +73 -54
  161. package/form-input-phone-number/index.mjs +72 -56
  162. package/form-input-tag/index.mjs +88 -61
  163. package/form-input-time/index.mjs +2 -73
  164. package/form-item/index.mjs +2 -142
  165. package/form-item-config-provider/index.mjs +46 -60
  166. package/form-item-group/index.mjs +2 -157
  167. package/form-radio-group/index.mjs +161 -121
  168. package/form-select/index.mjs +2 -179
  169. package/form-switch/index.mjs +2 -54
  170. package/form-table/index.mjs +131 -84
  171. package/form-table-plus/index.mjs +164 -108
  172. package/form-textarea/index.mjs +90 -56
  173. package/form-tree-select/index.mjs +89 -71
  174. package/form-tree-select-multiple/index.mjs +92 -77
  175. package/form-view/index.mjs +280 -207
  176. package/fy-array/index.mjs +121 -70
  177. package/fy-article/index.mjs +73 -60
  178. package/fy-cascader/index.mjs +113 -90
  179. package/fy-checkbox/index.mjs +96 -64
  180. package/fy-code/index.mjs +48 -50
  181. package/fy-curd/index.mjs +2 -1879
  182. package/fy-date/index.mjs +76 -41
  183. package/fy-draggable/index.mjs +322 -317
  184. package/fy-dynamic/index.mjs +259 -224
  185. package/fy-empty/index.mjs +35 -36
  186. package/fy-form/index.mjs +2 -640
  187. package/fy-form-design/index.mjs +2 -2852
  188. package/fy-form-design/style.css +1 -1
  189. package/fy-from/crud/zh.d.ts +1 -1
  190. package/fy-input/index.mjs +117 -97
  191. package/fy-input-color/index.mjs +77 -54
  192. package/fy-input-icon/index.mjs +129 -82
  193. package/fy-input-map/index.mjs +242 -183
  194. package/fy-input-number/index.mjs +74 -49
  195. package/fy-input-table/index.mjs +160 -105
  196. package/fy-input-tree/index.mjs +259 -178
  197. package/fy-progress/index.mjs +36 -39
  198. package/fy-radio/index.mjs +53 -37
  199. package/fy-rate/index.mjs +86 -70
  200. package/fy-select/index.mjs +224 -137
  201. package/fy-slider/index.mjs +68 -43
  202. package/fy-switch/index.mjs +67 -41
  203. package/fy-tabs/index.mjs +46 -46
  204. package/fy-time/index.mjs +81 -53
  205. package/fy-title/index.mjs +18 -27
  206. package/fy-tree/index.mjs +382 -286
  207. package/fy-u-editor/index.mjs +2 -357
  208. package/fy-upload/index.mjs +2 -421
  209. package/guide-steps/index.mjs +72 -71
  210. package/helper-function.d.ts +3 -30
  211. package/helper-function.mjs +48 -67
  212. package/highlight-j-s/index.mjs +50 -59
  213. package/icon-card/index.mjs +34 -36
  214. package/icon-temp/index.mjs +27 -27
  215. package/iframe-window/index.mjs +39 -32
  216. package/image-cropper/index.mjs +171 -73
  217. package/image-preview/index.mjs +2 -116
  218. package/image-viewer/index.mjs +69 -66
  219. package/index.d.ts +3 -9
  220. package/index.mjs +173 -488
  221. package/input-number-range/index.mjs +78 -58
  222. package/j-s-x-component/index.mjs +13 -15
  223. package/keyboard/index.mjs +2 -369
  224. package/license/index.mjs +106 -115
  225. package/loading-view/index.mjs +39 -51
  226. package/login/index.mjs +252 -120
  227. package/monaco-editor/index.mjs +2 -7
  228. package/name-avatar/index.mjs +61 -53
  229. package/nav-bar/index.mjs +33 -30
  230. package/not-implement/index.mjs +10 -22
  231. package/notice/index.mjs +100 -93
  232. package/package.json +7 -7
  233. package/page/index.mjs +18 -25
  234. package/page-header/index.mjs +27 -33
  235. package/page-index/index.mjs +121 -99
  236. package/page-index-top/index.mjs +79 -74
  237. package/page-skeleton/index.mjs +47 -44
  238. package/page-skeleton-new/index.mjs +79 -49
  239. package/pageable-table/index.mjs +2 -512
  240. package/pageable-view/index.mjs +279 -274
  241. package/photo-swipe/index.d.ts +4 -0
  242. package/photo-swipe/index.mjs +33 -36
  243. package/picker-table-view/index.mjs +224 -117
  244. package/present-view/index.mjs +271 -196
  245. package/queue/index.mjs +45 -53
  246. package/record-video/index.mjs +2 -134
  247. package/resize-observer/index.mjs +43 -46
  248. package/search/index.mjs +116 -107
  249. package/sign/index.mjs +103 -110
  250. package/sign-panel/index.mjs +182 -141
  251. package/skeleton/index.mjs +51 -54
  252. package/skeleton-panel/index.mjs +33 -37
  253. package/split-pane/index.mjs +3 -196
  254. package/stateful/index.mjs +70 -73
  255. package/static-pageable-table/index.mjs +72 -64
  256. package/sub-table/index.mjs +508 -206
  257. package/sub-table-plus/index.mjs +592 -230
  258. package/swiper/index.mjs +128 -120
  259. package/tab/index.mjs +117 -119
  260. package/tab-item/index.mjs +48 -56
  261. package/table-column/index.mjs +2 -225
  262. package/table-view/index.mjs +3 -326
  263. package/tabs-view/index.mjs +109 -104
  264. package/tag-render/index.mjs +79 -67
  265. package/text-ellipsis/index.mjs +94 -77
  266. package/toolbar/index.mjs +2 -254
  267. package/toolbar-button/index.mjs +142 -120
  268. package/verify/index.mjs +58 -64
  269. package/vue-cron/index.mjs +2 -1180
  270. package/vue-qr-code/index.mjs +31 -54
  271. package/vue-quill-editor/index.mjs +123 -99
  272. package/vue-tags-input/index.mjs +348 -431
  273. package/vue-tree-select/index.mjs +2 -2627
  274. package/vue-video-player/index.mjs +135 -136
  275. package/watermark/index.mjs +46 -74
  276. package/web-types.json +225 -969
  277. package/x-input-tag/index.mjs +144 -106
  278. package/chunks/ElementBaseInfo.ZADwixb5.mjs +0 -125
  279. package/chunks/ElementForm.CQ3PN5qj.mjs +0 -223
  280. package/chunks/ElementListeners.De_PRuIm.mjs +0 -215
  281. package/chunks/ElementMultiInstance.DQo2wuAQ.mjs +0 -181
  282. package/chunks/ElementOtherConfig.B1NfMTYh.mjs +0 -60
  283. package/chunks/ElementProperties.CosfDrlW.mjs +0 -112
  284. package/chunks/ElementTaskConfig.Bko0kgTp.mjs +0 -317
  285. package/chunks/FlowCondition.Y6qEYi1T.mjs +0 -102
  286. package/chunks/FormTemp.BQxO5IQq.mjs +0 -123
  287. package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
  288. package/chunks/SignalAndMessage.Bb5PFX0N.mjs +0 -85
  289. package/chunks/UserTaskListeners.Bv3BDfEI.mjs +0 -169
  290. package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
  291. package/chunks/confirmable-mixin.B2TtLAdk.mjs +0 -86
  292. package/chunks/core.0Exl13Mz.mjs +0 -54
  293. package/chunks/dataformat.CpqOeGBl.mjs +0 -154
  294. package/chunks/dic.Dkl-leRW.mjs +0 -128
  295. package/chunks/dictionary.DGt59Ir7.mjs +0 -68
  296. package/chunks/dictionary.DqiP9x2m.mjs +0 -25
  297. package/chunks/event.9aDS6jcw.mjs +0 -236
  298. package/chunks/form-input.CvFdwlEV.mjs +0 -31
  299. package/chunks/form-item.LWjePsPa.mjs +0 -233
  300. package/chunks/form-pick.BFTIVn_i.mjs +0 -11
  301. package/chunks/form-validate.CVarNHKX.mjs +0 -12
  302. package/chunks/helper.BiMLcEEk.mjs +0 -41
  303. package/chunks/index.9OxHjTIE.mjs +0 -16
  304. package/chunks/index.B2TRddqf.mjs +0 -184
  305. package/chunks/index.BmYCjxZQ.mjs +0 -47
  306. package/chunks/init.DAsXSoLW.mjs +0 -122
  307. package/chunks/packages.ByyangTp.mjs +0 -58
  308. package/chunks/permission.CO31YIkD.mjs +0 -16
  309. package/chunks/slot.DXIbhGat.mjs +0 -27
  310. package/chunks/sub-table-plus-props.BVsD71hT.mjs +0 -30
  311. package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
  312. package/chunks/util.DqFv_pWg.mjs +0 -241
  313. package/chunks/utilSelf.Csq1766E.mjs +0 -48
  314. package/chunks/utils.DRcxC1Fb.mjs +0 -60
  315. package/color-picker/index.mjs +0 -78
  316. package/egd-collapse/index.mjs +0 -62
  317. package/egd-collapse-item/index.mjs +0 -72
  318. package/form-input-number/index.mjs +0 -69
  319. package/form-input-number/style.css +0 -1
  320. package/input-number/index.mjs +0 -232
  321. package/input-number/style.css +0 -1
  322. package/keep-view-alive/index.mjs +0 -117
  323. package/search-popover/index.mjs +0 -118
  324. package/search-popover/style.css +0 -1
  325. /package/{base.css → utils/style.css} +0 -0
package/fy-curd/index.mjs CHANGED
@@ -1,1879 +1,2 @@
1
- import { p as $ } from "../chunks/packages.ByyangTp.mjs";
2
- import { p as x } from "../chunks/permission.CO31YIkD.mjs";
3
- import { i as O } from "../chunks/init.DAsXSoLW.mjs";
4
- import { g as F, f as k, t as I, c as E } from "../chunks/dataformat.CpqOeGBl.mjs";
5
- import { o as h, j as C, d as a, u as B, D as b, k as P, i as D, l as T, s as z } from "../chunks/util.DqFv_pWg.mjs";
6
- import { isBlank as c } from "@web-utils/core";
7
- import { s as M } from "../chunks/slot.DXIbhGat.mjs";
8
- import { n as f } from "../chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs";
9
- import { F as L, d as w } from "../chunks/FormTemp.BQxO5IQq.mjs";
10
- import { s as V } from "../chunks/dic.Dkl-leRW.mjs";
11
- import R from "../icon-temp/index.mjs";
12
- import "../icon-temp/style.css";
13
- const p = {
14
- menuWidth: 220,
15
- menuFixed: "right",
16
- menuXsWidth: 100,
17
- menuAlign: "center",
18
- menuHeaderAlign: "center",
19
- headerAlign: "left",
20
- // 图标
21
- cancelBtnIcon: "el-icon-circle-close",
22
- viewBtnIcon: "el-icon-view",
23
- editBtnIcon: "el-icon-edit",
24
- copyBtnIcon: "el-icon-document-add",
25
- addBtnIcon: "el-icon-plus",
26
- printBtnIcon: "el-icon-printer",
27
- excelBtnIcon: "el-icon-download",
28
- delBtnIcon: "el-icon-delete",
29
- searchBtnIcon: "el-icon-search",
30
- emptyBtnIcon: "el-icon-delete",
31
- saveBtnIcon: "el-icon-circle-plus-outline",
32
- updateBtnIcon: "el-icon-circle-check",
33
- columnBtnIcon: "el-icon-s-operation",
34
- filterBtnIcon: "el-icon-tickets",
35
- refreshBtnIcon: "el-icon-refresh",
36
- // 显隐
37
- viewBtn: !1,
38
- editBtn: !0,
39
- copyBtn: !1,
40
- cancelBtn: !0,
41
- addBtn: !0,
42
- addRowBtn: !1,
43
- printBtn: !1,
44
- excelBtn: !1,
45
- delBtn: !0,
46
- cellBtn: !1,
47
- dateBtn: !1,
48
- updateBtn: !0,
49
- saveBtn: !0,
50
- refreshBtn: !0,
51
- columnBtn: !0,
52
- filterBtn: !1,
53
- queryBtn: !0,
54
- menuBtn: !1,
55
- searchBtn: !0,
56
- clearBtn: !0,
57
- selectClearBtn: !0,
58
- searchShow: !0,
59
- tip: !0,
60
- dialogWidth: "60%",
61
- dialogDrag: !1,
62
- formFullscreen: !1,
63
- pageBackground: !0,
64
- page: !0,
65
- menu: !0,
66
- indexLabel: "#",
67
- indexWidth: 50,
68
- indexFixed: "left",
69
- selectionWidth: 50,
70
- selectionFixed: "left",
71
- expandWidth: 60,
72
- expandFixed: "left",
73
- filterMultiple: !0,
74
- calcHeight: 300,
75
- width: "100%",
76
- searchGutter: 20,
77
- searchLabelWidth: 80,
78
- searchSpan: 6,
79
- dropRowClass: ".el-table__body-wrapper > table > tbody",
80
- dropColClass: ".el-table__header-wrapper tr",
81
- ghostClass: "avue-crud__ghost"
82
- }, A = {
83
- name: "HeaderSearch",
84
- mixins: [M],
85
- inject: ["crud"],
86
- props: {
87
- search: Object
88
- },
89
- data() {
90
- return {
91
- show: !1,
92
- searchIndex: 2,
93
- searchShow: !0
94
- };
95
- },
96
- computed: {
97
- searchForm: {
98
- get() {
99
- return this.crud.search;
100
- },
101
- set(t) {
102
- this.crud.$emit("update:search", t);
103
- }
104
- },
105
- option() {
106
- const t = this.crud.option, e = (n = []) => {
107
- n = a(n);
108
- const r = [];
109
- let s = 0;
110
- return n = n.sort((l, o) => (o.searchOrder || 0) - (l.searchOrder || 0)), n.forEach((l) => {
111
- if (l.search) {
112
- const o = s < this.searchIndex, m = {};
113
- Object.keys(l).forEach((u) => {
114
- const g = "search";
115
- if (u !== "searchProp" && u.includes(g)) {
116
- let d = u.replace(g, "");
117
- if (d.length === 0) return;
118
- d = d.replace(d[0], d[0].toLowerCase()), m[d] = l[u];
119
- }
120
- }), l = Object.assign(l, m, {
121
- type: F(l),
122
- detail: !1,
123
- dicFlag: l.cascader ? !0 : h(l.dicFlag, !1),
124
- span: l.searchSpan || t.searchSpan || p.searchSpan,
125
- control: l.searchControl,
126
- gutter: l.searchGutter || t.searchGutter || p.searchGutter,
127
- labelWidth: l.searchLabelWidth || t.searchLabelWidth || p.searchLabelWidth,
128
- labelPosition: l.searchLabelPosition || t.searchLabelPosition,
129
- size: l.searchSize || t.searchSize,
130
- value: l.searchValue,
131
- rules: l.searchRules,
132
- row: l.searchRow,
133
- bind: l.searchBin,
134
- disabled: l.searchDisabled,
135
- readonly: l.searchReadonly,
136
- display: this.isSearchIcon ? this.show ? !0 : o : !0
137
- }), r.push(l), s = s + 1;
138
- }
139
- }), r;
140
- };
141
- return ((n) => {
142
- let r = a(n);
143
- return r.column = e(this.crud.propOption), r = Object.assign(r, {
144
- rowKey: t.searchRowKey || "null",
145
- tabs: !1,
146
- group: !1,
147
- printBtn: !1,
148
- mockBtn: !1,
149
- filterDic: t.searchFilterDic,
150
- filterNull: t.searchFilterNull,
151
- filterParam: t.searchFilterParam,
152
- enter: t.searchEnter,
153
- size: t.searchSize,
154
- submitText: t.searchBtnText || "搜 索",
155
- submitBtn: h(t.searchBtn, p.searchSubBtn),
156
- submitIcon: this.crud.getBtnIcon("searchBtn"),
157
- emptyText: t.emptyBtnText || "清 空",
158
- emptyBtn: h(t.emptyBtn, p.emptyBtn),
159
- emptyIcon: this.crud.getBtnIcon("emptyBtn"),
160
- menuSpan: this.show || !this.isSearchIcon || t.searchMenuSpan < 6 ? t.searchMenuSpan : 6,
161
- menuPosition: t.searchMenuPosition || "center",
162
- dicFlag: !1,
163
- dicData: this.crud.DIC
164
- }), r;
165
- })(t);
166
- },
167
- isSearchIcon() {
168
- return h(this.crud.option.searchIcon, this.$AVUE.searchIcon) && this.searchLen > this.searchIndex;
169
- },
170
- searchLen() {
171
- let t = 0;
172
- return this.crud.propOption.forEach((e) => {
173
- e.search && t++;
174
- }), t;
175
- },
176
- searchFlag() {
177
- return !!this.crud.$scopedSlots.search || this.searchLen !== 0;
178
- }
179
- },
180
- watch: {
181
- "crud.propOption": {
182
- handler() {
183
- this.dataFormat();
184
- },
185
- deep: !0
186
- },
187
- show() {
188
- this.crud.getTableHeight();
189
- },
190
- searchShow() {
191
- this.crud.getTableHeight();
192
- },
193
- option: {
194
- immediate: !0,
195
- deep: !0,
196
- handler() {
197
- var t;
198
- this.searchIndex = ((t = this.option) == null ? void 0 : t.searchIndex) || 2;
199
- }
200
- }
201
- },
202
- created() {
203
- this.initFun(), this.dataFormat();
204
- },
205
- methods: {
206
- initFun() {
207
- ["searchReset", "searchChange"].forEach((t) => {
208
- this.crud[t] = this[t];
209
- });
210
- },
211
- getSlotName(t) {
212
- return t.replace("Search", "");
213
- },
214
- // 搜索回调
215
- searchChange(t, e) {
216
- t = C(t), this.crud.propOption.forEach((i) => {
217
- i.searchProp && (t[i.searchProp] = t[i.prop], delete t[i.prop]);
218
- }), this.crud.$emit("search-change", t, e);
219
- },
220
- // 搜索清空
221
- resetChange() {
222
- this.crud.$emit("search-reset", this.searchForm);
223
- },
224
- // 搜索清空
225
- searchReset() {
226
- this.$refs.form.resetForm();
227
- },
228
- handleSearchShow() {
229
- this.searchShow = !this.searchShow;
230
- },
231
- dataFormat() {
232
- const t = this.crud.option;
233
- this.searchShow = h(t.searchShow, p.searchShow);
234
- }
235
- }
236
- };
237
- var H = function() {
238
- var e = this, i = e._self._c;
239
- return e.searchFlag ? i("ElCard", { directives: [{ name: "show", rawName: "v-show", value: e.searchShow && e.searchFlag, expression: "searchShow && searchFlag" }], staticClass: "avue-crud__search", attrs: { shadow: e.crud.isCard } }, [e._t("search", null, { row: e.searchForm, search: e.searchForm, size: e.crud.controlSize }), i("FyForm", { ref: "form", attrs: { option: e.option }, on: { submit: e.searchChange, "reset-change": e.resetChange }, scopedSlots: e._u([{ key: "menuForm", fn: function(n) {
240
- return [e._t(
241
- "searchMenu",
242
- null,
243
- null,
244
- Object.assign(n, {
245
- search: e.searchForm,
246
- row: e.searchForm
247
- })
248
- ), e.isSearchIcon ? [e.show === !1 ? i("ElButton", { attrs: { type: "text", icon: "el-icon-arrow-down" }, on: { click: function(r) {
249
- e.show = !0;
250
- } } }, [e._v(" 展 开 ")]) : e._e(), e.show === !0 ? i("ElButton", { attrs: { type: "text", icon: "el-icon-arrow-up" }, on: { click: function(r) {
251
- e.show = !1;
252
- } } }, [e._v(" 收 缩 ")]) : e._e()] : e._e()];
253
- } }, e._l(e.crud.searchSlot, function(n) {
254
- return { key: e.getSlotName(n), fn: function(r) {
255
- return [e._t(
256
- n,
257
- null,
258
- null,
259
- Object.assign(r, {
260
- search: e.searchForm,
261
- row: e.searchForm
262
- })
263
- )];
264
- } };
265
- })], null, !0), model: { value: e.searchForm, callback: function(n) {
266
- e.searchForm = n;
267
- }, expression: "searchForm" } })], 2) : e._e();
268
- }, N = [], j = /* @__PURE__ */ f(
269
- A,
270
- H,
271
- N,
272
- !1,
273
- null,
274
- null
275
- );
276
- const W = j.exports, K = {
277
- name: "HeaderMenu",
278
- directives: {
279
- permission: x
280
- },
281
- inject: ["crud"],
282
- data() {
283
- return {
284
- dateCreate: !1,
285
- pickerOptions: {
286
- shortcuts: [
287
- {
288
- text: "今日",
289
- onClick(t) {
290
- const e = /* @__PURE__ */ new Date(), i = /* @__PURE__ */ new Date();
291
- i.setTime(i.getTime()), t.$emit("pick", [i, e]);
292
- }
293
- },
294
- {
295
- text: "昨日",
296
- onClick(t) {
297
- const e = /* @__PURE__ */ new Date(), i = /* @__PURE__ */ new Date();
298
- i.setTime(i.getTime() - 3600 * 1e3 * 24 * 1), t.$emit("pick", [i, e]);
299
- }
300
- },
301
- {
302
- text: "最近一周",
303
- onClick(t) {
304
- const e = /* @__PURE__ */ new Date(), i = /* @__PURE__ */ new Date();
305
- i.setTime(i.getTime() - 3600 * 1e3 * 24 * 7), t.$emit("pick", [i, e]);
306
- }
307
- },
308
- {
309
- text: "最近一个月",
310
- onClick(t) {
311
- const e = /* @__PURE__ */ new Date(), i = /* @__PURE__ */ new Date();
312
- i.setTime(i.getTime() - 3600 * 1e3 * 24 * 30), t.$emit("pick", [i, e]);
313
- }
314
- },
315
- {
316
- text: "最近三个月",
317
- onClick(t) {
318
- const e = /* @__PURE__ */ new Date(), i = /* @__PURE__ */ new Date();
319
- i.setTime(i.getTime() - 3600 * 1e3 * 24 * 90), t.$emit("pick", [i, e]);
320
- }
321
- }
322
- ]
323
- },
324
- config: p
325
- };
326
- },
327
- created() {
328
- this.initFun();
329
- },
330
- methods: {
331
- optVal: h,
332
- // 日期组件回调
333
- dateChange(t) {
334
- this.dateCreate ? this.crud.$emit("date-change", t) : this.dateCreate = !0;
335
- },
336
- initFun() {
337
- this.crud.rowExcel = this.rowExcel, this.crud.rowPrint = this.rowPrint;
338
- },
339
- rowExcel() {
340
- this.crud.$refs.dialogExcel.handleShow();
341
- },
342
- rowPrint() {
343
- this.$Print(this.crud.$refs.table);
344
- }
345
- }
346
- };
347
- var U = function() {
348
- var e = this, i = e._self._c;
349
- return i("div", { staticClass: "avue-crud__menu" }, [e.optVal(e.crud.tableOption.menuLeft, !0) ? i("div", { staticClass: "avue-crud__left" }, [e.optVal(e.crud.tableOption.addBtn, e.config.addBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("addBtn"), expression: "crud.getPermission('addBtn')" }], attrs: { type: "primary", icon: e.crud.getBtnIcon("addBtn"), size: e.crud.isMediumSize }, on: { click: e.crud.rowAdd } }, [e.crud.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("addBtn")) + " ")]], 2) : e._e(), e.optVal(e.crud.tableOption.addRowBtn, e.config.addRowBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("addRowBtn"), expression: "crud.getPermission('addRowBtn')" }], attrs: { type: "primary", icon: e.crud.getBtnIcon("addBtn"), size: e.crud.isMediumSize }, on: { click: e.crud.rowCellAdd } }, [e.crud.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("addBtn")) + " ")]], 2) : e._e(), e._t("menuLeft", null, { size: e.crud.isMediumSize })], 2) : e._e(), e.optVal(e.crud.tableOption.menuRight, !0) ? i("div", { staticClass: "avue-crud__right" }, [e.optVal(e.crud.tableOption.dateBtn, e.config.dateBtn) ? i("FyDate", { staticStyle: { display: "inline-block", "margin-right": "20px" }, attrs: { type: "datetimerange", "value-format": "yyyy-MM-dd HH:mm:ss", format: "yyyy-MM-dd HH:mm:ss", "picker-options": e.pickerOptions, size: e.crud.isMediumSize }, on: { change: e.dateChange } }) : e._e(), e._t("menuRight", null, { size: e.crud.isMediumSize }), e.optVal(e.crud.tableOption.excelBtn, e.config.excelBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("excelBtn"), expression: "crud.getPermission('excelBtn')" }], attrs: { icon: e.crud.getBtnIcon("excelBtn"), circle: "", size: e.crud.isMediumSize }, on: { click: e.rowExcel } }) : e._e(), e.optVal(e.crud.tableOption.printBtn, e.config.printBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("printBtn"), expression: "crud.getPermission('printBtn')" }], attrs: { icon: e.crud.getBtnIcon("printBtn"), circle: "", size: e.crud.isMediumSize }, on: { click: e.rowPrint } }) : e._e(), e.optVal(e.crud.tableOption.refreshBtn, e.config.refreshBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("refreshBtn"), expression: "crud.getPermission('refreshBtn')" }], attrs: { icon: e.crud.getBtnIcon("refreshBtn"), circle: "", size: e.crud.isMediumSize }, on: { click: e.crud.refreshChange } }) : e._e(), e.optVal(e.crud.tableOption.columnBtn, e.config.columnBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("columnBtn"), expression: "crud.getPermission('columnBtn')" }], attrs: { icon: e.crud.getBtnIcon("columnBtn"), circle: "", size: e.crud.isMediumSize }, on: { click: function(n) {
350
- return e.crud.$refs.dialogColumn.handleShow();
351
- } } }) : e._e(), (e.crud.$refs.headerSearch || {}).searchFlag && e.optVal(e.crud.tableOption.searchShowBtn, !0) ? i("ElButton", { attrs: { icon: e.crud.getBtnIcon("searchBtn"), circle: "", size: e.crud.isMediumSize }, on: { click: function(n) {
352
- return e.crud.$refs.headerSearch.handleSearchShow();
353
- } } }) : e._e(), e.optVal(e.crud.tableOption.filterBtn, e.config.filterBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("filterBtn"), expression: "crud.getPermission('filterBtn')" }], attrs: { icon: e.crud.getBtnIcon("filterBtn"), circle: "", size: e.crud.isMediumSize }, on: { click: function(n) {
354
- return e.crud.$refs.dialogFilter.handleShow();
355
- } } }) : e._e()], 2) : e._e()]);
356
- }, G = [], q = /* @__PURE__ */ f(
357
- K,
358
- U,
359
- G,
360
- !1,
361
- null,
362
- null
363
- );
364
- const X = q.exports, y = {}, J = {
365
- name: "ColumnSlot",
366
- components: { IconTemp: R, FormTemp: L },
367
- inject: ["dynamic", "crud"],
368
- props: {
369
- column: Object,
370
- columnOption: Array
371
- },
372
- created() {
373
- const t = ["getColumnProp", "handleFilterMethod", "handleFilters"];
374
- Object.keys(this.dynamic).forEach((e) => {
375
- t.includes(e) && (this[e] = this.dynamic[e]);
376
- });
377
- },
378
- methods: {
379
- isBlank: c,
380
- optVal: h,
381
- uploadFun: B,
382
- isMediaType(t, e) {
383
- return D(t, e);
384
- },
385
- vaildLabel(t, e, i) {
386
- if (t.rules && e.$cellEdit)
387
- return i;
388
- },
389
- columnChange(t, e, i) {
390
- const n = `${i}-${e.prop}`;
391
- y[n] || (this.handleChange(e, t), typeof e.change == "function" && e.cell === !0 && e.change({ row: t, column: e, index: i, value: t[e.prop] })), y[n] = !0, this.$nextTick(() => {
392
- y[n] = !1;
393
- });
394
- },
395
- handleChange(t, e) {
396
- t.cascader && this.$nextTick(() => {
397
- const i = t.cascader;
398
- i.forEach((n) => {
399
- const r = n, s = e[t.prop], l = e.$index, o = this.findObject(this.columnOption, r);
400
- c(o) || (c(this.crud.cascaderDIC[l]) && this.$set(this.crud.cascaderDIC, l, {}), this.crud.cascaderIndexList.includes(l) && i.forEach((m) => {
401
- this.$set(this.crud.cascaderDIC[l], m.prop, []), i.forEach((u) => e[u] = "");
402
- }), !(c(i) || c(s) || c(o)) && V({
403
- column: o,
404
- value: s,
405
- form: e
406
- }).then((m) => {
407
- const u = m || [];
408
- this.crud.cascaderIndexList.includes(l) || this.crud.cascaderIndexList.push(l), this.crud.cascaderDicList[l] || this.$set(this.crud.cascaderDicList, l, {}), this.crud.cascaderDicList[l][r] || this.$set(this.crud.cascaderDicList[l], r, u), this.$set(this.crud.cascaderDIC[l], r, u), !c(u[o.cascaderIndex]) && !c(u) && !c(o.cascaderIndex) && (e[r] = u[o.cascaderIndex][(o.props || {}).value || b.value]);
409
- }));
410
- });
411
- });
412
- },
413
- handleDetail(t, e) {
414
- const i = e.parentProp ? (this.crud.cascaderDIC[t.$index] || {})[e.prop] : this.crud.DIC[e.prop], n = w(t, e, this.crud.tableOption, i);
415
- return !c(i) && this.crud.tableOption.filterDic !== !0 && (t[`$${e.prop}`] = n), n;
416
- },
417
- corArray(t, e) {
418
- let i = this.handleDetail(t, e);
419
- return Array.isArray(i) || (i = c(i) ? [] : i.split(P)), a(i);
420
- },
421
- openImg(t, e, i) {
422
- let n = this.getImgList(t, e);
423
- n = n.map((r) => ({ thumbUrl: r, url: r, type: e.fileType })), this.$ImagePreview(n, i);
424
- },
425
- getImgList(t, e) {
426
- var s, l;
427
- const i = ((s = e.propsHttp) == null ? void 0 : s.home) || "", n = ((l = e.props) == null ? void 0 : l.value) || b.value, r = this.corArray(t, e);
428
- return r.forEach((o, m) => {
429
- r[m] = i + (o[n] ? o[n] : o);
430
- }), r;
431
- }
432
- }
433
- };
434
- var Q = function() {
435
- var e = this, i = e._self._c;
436
- return e.getColumnProp(e.column, "hide") ? i("ElTableColumn", { key: e.column.prop, attrs: { prop: e.column.prop, label: e.column.label, "column-key": e.column.prop, "filter-placement": "bottom-end", filters: e.getColumnProp(e.column, "filters"), "filter-method": e.getColumnProp(e.column, "filterMethod") ? e.handleFilterMethod : void 0, "filter-multiple": e.optVal(e.column.filterMultiple, !0), "show-overflow-tooltip": e.column.overHidden, "min-width": e.column.minWidth, sortable: e.getColumnProp(e.column, "sortable"), "sort-method": e.column.sortMethod, "sort-orders": e.column.sortOrders, "sort-by": e.column.sortBy, resizable: e.column.resizable, "render-header": e.column.renderHeader, align: e.column.align || e.crud.tableOption.align, "header-align": e.column.headerAlign || e.crud.tableOption.headerAlign, width: e.getColumnProp(e.column, "width"), fixed: e.getColumnProp(e.column, "fixed") }, scopedSlots: e._u([{ key: "header", fn: function({ $index: n }) {
437
- return [e.crud.getSlotName(e.column, "H", e.crud.$scopedSlots) ? e._t(e.crud.getSlotName(e.column, "H"), null, null, { column: e.column, $index: n }) : i("span", [e._v(e._s(e.column.label))])];
438
- } }, { key: "default", fn: function({ row: n, $index: r }) {
439
- return [n.$cellEdit && e.column.cell ? i("ElFormItem", { attrs: { prop: e.crud.isTree ? "" : `list.${r}.${e.column.prop}`, label: e.vaildLabel(e.column, n, " "), "label-width": e.vaildLabel(e.column, n, "1px"), rules: e.column.rules } }, [i("ElTooltip", { attrs: { content: (e.crud.listError[`list.${r}.${e.column.prop}`] || {}).msg, disabled: !(e.crud.listError[`list.${r}.${e.column.prop}`] || {}).valid, placement: "top" } }, [e.crud.getSlotName(e.column, "F", e.crud.$scopedSlots) ? e._t(e.crud.getSlotName(e.column, "F"), null, null, {
440
- row: n,
441
- dic: e.crud.DIC[e.column.prop],
442
- size: e.crud.isMediumSize,
443
- index: r,
444
- disabled: e.crud.btnDisabledList[r],
445
- label: e.handleDetail(n, e.column),
446
- $cell: n.$cellEdit
447
- }) : i("FormTemp", e._b({ attrs: { column: e.column, size: e.crud.isMediumSize, "table-data": { index: r, row: n, label: e.handleDetail(n, e.column) }, dic: (e.crud.cascaderDIC[r] || {})[e.column.prop] || e.crud.DIC[e.column.prop], props: e.column.props || e.crud.tableOption.props, readonly: e.column.readonly, disabled: e.crud.disabled || e.crud.tableOption.disabled || e.column.disabled || e.crud.btnDisabledList[r], clearable: e.optVal(e.column.clearable, !1), "column-slot": e.crud.mainSlot }, on: { change: function(s) {
448
- return e.columnChange(n, e.column, r);
449
- } }, scopedSlots: e._u([e._l(e.crud.mainSlot, function(s) {
450
- return { key: s, fn: function(l) {
451
- return [e._t(s, null, null, l)];
452
- } };
453
- })], null, !0), model: { value: n[e.column.prop], callback: function(s) {
454
- e.$set(n, e.column.prop, s);
455
- }, expression: "row[column.prop]" } }, "FormTemp", e.uploadFun(e.column, e.crud), !1))], 2)], 1) : e.crud.$scopedSlots[e.column.prop] ? e._t(e.column.prop, null, { row: n, index: r, dic: e.crud.DIC[e.column.prop], size: e.crud.isMediumSize, label: e.handleDetail(n, e.column) }) : [["img", "upload"].includes(e.column.type) ? i("span", { staticClass: "avue-crud__img" }, [e._l(e.getImgList(n, e.column), function(s, l) {
456
- return [e.isMediaType(s, e.column.fileType) ? i(e.isMediaType(s, e.column.fileType), { key: l, tag: "Component", attrs: { src: s }, on: { click: function(o) {
457
- return o.stopPropagation(), e.openImg(n, e.column, l);
458
- } } }) : i("i", { key: l, staticClass: "el-icon-document", attrs: { src: s }, on: { click: function(o) {
459
- return o.stopPropagation(), e.openImg(n, e.column, l);
460
- } } })];
461
- })], 2) : e.column.type === "url" ? i("span", e._l(e.corArray(n, e.column), function(s, l) {
462
- return i("ElLink", { key: l, attrs: { type: "primary", href: s, target: e.column.target || "_blank" } }, [e._v(e._s(s))]);
463
- }), 1) : e.column.type === "rate" ? i("span", [i("FyRate", { attrs: { disabled: "" }, model: { value: n[e.column.prop], callback: function(s) {
464
- e.$set(n, e.column.prop, s);
465
- }, expression: "row[column.prop]" } })], 1) : e.column.type === "color" ? i("i", { staticClass: "avue-crud__color", style: { backgroundColor: n[e.column.prop] } }) : e.column.type === "icon" ? i("IconTemp", { attrs: { text: n[e.column.prop] } }) : e.column.html ? i("span", { domProps: { innerHTML: e._s(e.handleDetail(n, e.column)) } }) : i("span", { domProps: { textContent: e._s(e.handleDetail(n, e.column)) } })]];
466
- } }], null, !0) }) : e._e();
467
- }, Y = [], Z = /* @__PURE__ */ f(
468
- J,
469
- Q,
470
- Y,
471
- !1,
472
- null,
473
- null
474
- );
475
- const S = Z.exports, ee = {
476
- name: "ColumnDynamic",
477
- components: { ColumnSlot: S },
478
- inject: ["dynamic", "crud"],
479
- props: {
480
- columnOption: Object
481
- },
482
- created() {
483
- const t = ["getColumnProp", "handleFilterMethod", "handleFilters"];
484
- Object.keys(this.dynamic).forEach((e) => {
485
- t.includes(e) && (this[e] = this.dynamic[e]);
486
- });
487
- },
488
- methods: {
489
- optVal: h
490
- }
491
- };
492
- var te = function() {
493
- var e = this, i = e._self._c;
494
- return e.getColumnProp(e.columnOption, "hide") ? i("ElTableColumn", { key: e.columnOption.prop, attrs: { prop: e.columnOption.prop, label: e.columnOption.label, "filter-placement": "bottom-end", filters: e.getColumnProp(e.columnOption, "filters"), "filter-method": e.getColumnProp(e.columnOption, "filterMethod") ? e.handleFilterMethod : void 0, "filter-multiple": e.optVal(e.columnOption.filterMultiple, !0), "show-overflow-tooltip": e.columnOption.overHidden, "min-width": e.columnOption.minWidth, sortable: e.getColumnProp(e.columnOption, "sortable"), "render-header": e.columnOption.renderHeader, align: e.columnOption.align || e.crud.tableOption.align, "header-align": e.columnOption.headerAlign || e.crud.tableOption.headerAlign, width: e.getColumnProp(e.columnOption, "width"), fixed: e.getColumnProp(e.columnOption, "fixed") } }, [e._l(e.columnOption.children, function(n) {
495
- return [n.children && n.children.length > 0 ? i("ColumnDynamic", { key: n.prop, attrs: { "column-option": n }, scopedSlots: e._u([e._l(e.crud.mainSlot, function(r) {
496
- return { key: r, fn: function(s) {
497
- return [e._t(r, null, null, s)];
498
- } };
499
- })], null, !0) }) : i("ColumnSlot", { key: n.prop, attrs: { column: n, "column-option": e.columnOption.children }, scopedSlots: e._u([e._l(e.crud.mainSlot, function(r) {
500
- return { key: r, fn: function(s) {
501
- return [e._t(r, null, null, s)];
502
- } };
503
- })], null, !0) })];
504
- })], 2) : e._e();
505
- }, ie = [], ne = /* @__PURE__ */ f(
506
- ee,
507
- te,
508
- ie,
509
- !1,
510
- null,
511
- null
512
- );
513
- const re = ne.exports, se = {
514
- name: "Column",
515
- components: { ColumnDynamic: re, ColumnSlot: S },
516
- inject: ["crud"],
517
- provide() {
518
- return {
519
- crud: this.crud,
520
- dynamic: this
521
- };
522
- },
523
- props: {
524
- columnOption: Array
525
- },
526
- computed: {
527
- list() {
528
- let t = [...this.columnOption];
529
- return t = T(t, "index", (e, i) => {
530
- var n, r;
531
- return ((n = this.crud.objectOption[e.prop]) == null ? void 0 : n.index) - ((r = this.crud.objectOption[i.prop]) == null ? void 0 : r.index);
532
- }), t;
533
- }
534
- },
535
- methods: {
536
- // 表格筛选逻辑
537
- handleFilterMethod(t, e, i) {
538
- const n = this.columnOption.filter((r) => r.prop === i.property)[0];
539
- return typeof n.filterMethod == "function" ? n.filterMethod(t, e, n) : e[n.prop] === t;
540
- },
541
- // 表格筛选字典
542
- handleFilters(t, e) {
543
- if (e !== !0) return;
544
- const i = this.crud.DIC[t.prop] || [], n = [];
545
- return c(i) ? this.crud.cellForm.list.forEach((r) => {
546
- n.map((s) => s.text).includes(r[t.prop]) || n.push({
547
- text: r[t.prop],
548
- value: r[t.prop]
549
- });
550
- }) : i.forEach((r) => {
551
- const s = t.props || this.crud.tableOption.props || {};
552
- n.push({
553
- text: r[s.label || b.label],
554
- value: r[s.value || b.value]
555
- });
556
- }), n;
557
- },
558
- getColumnProp(t, e) {
559
- const i = this.crud.objectOption[t.prop] || {};
560
- if (e === "filterMethod") return i == null ? void 0 : i.filters;
561
- if (this.crud.isMobile && ["fixed"].includes(e)) return !1;
562
- const n = i == null ? void 0 : i[e];
563
- if (!(e === "width" && n === 0))
564
- return e === "filters" ? this.handleFilters(t, n) : e === "hide" ? (i == null ? void 0 : i.hide) !== !0 : n;
565
- }
566
- }
567
- };
568
- var le = function() {
569
- var e = this, i = e._self._c;
570
- return i("div", [e._t("header"), e._l(e.list, function(n) {
571
- return [n.children && n.children.length > 0 ? i("ColumnDynamic", { key: n.pop, attrs: { "column-option": n }, scopedSlots: e._u([e._l(e.crud.mainSlot, function(r) {
572
- return { key: r, fn: function(s) {
573
- return [e._t(r, null, null, s)];
574
- } };
575
- })], null, !0) }) : i("ColumnSlot", { key: n.prop, attrs: { column: n, "column-option": e.columnOption }, scopedSlots: e._u([e._l(e.crud.mainSlot, function(r) {
576
- return { key: r, fn: function(s) {
577
- return [e._t(r, null, null, s)];
578
- } };
579
- })], null, !0) })];
580
- }), e._t("footer")], 2);
581
- }, oe = [], ae = /* @__PURE__ */ f(
582
- se,
583
- le,
584
- oe,
585
- !1,
586
- null,
587
- null
588
- );
589
- const ce = ae.exports, ue = {
590
- name: "ColumnDefault",
591
- inject: ["crud"],
592
- data() {
593
- return {
594
- config: p
595
- };
596
- },
597
- mounted() {
598
- this.setSort();
599
- },
600
- methods: {
601
- optVal: h,
602
- indexMethod(t) {
603
- return t + 1 + ((this.crud.page.currentPage || 1) - 1) * (this.crud.page.pageSize || 10);
604
- },
605
- setSort() {
606
- this.rowDrop(), this.columnDrop();
607
- },
608
- rowDrop() {
609
- const t = this.crud.$refs.table.$el.querySelectorAll(this.config.dropRowClass)[0];
610
- this.crud.tableDrop("row", t, (e) => {
611
- const i = e.oldIndex, n = e.newIndex, r = this.crud.list.splice(i, 1)[0];
612
- this.crud.list.splice(n, 0, r), this.crud.$emit("sortable-change", i, n), this.crud.refreshTable(() => this.rowDrop());
613
- });
614
- },
615
- columnDrop() {
616
- const t = this.crud.$refs.table.$el.querySelector(this.config.dropColClass);
617
- let e = 0;
618
- ["selection", "index", "expand"].forEach((i) => {
619
- this.crud.tableOption[i] && (e += 1);
620
- }), this.crud.tableDrop("column", t, (i) => {
621
- this.crud.headerSort(i.oldIndex - e, i.newIndex - e), this.columnDrop();
622
- });
623
- }
624
- }
625
- };
626
- var de = function() {
627
- var e = this, i = e._self._c;
628
- return i("div", [i("ElTableColumn", { attrs: { width: "1px" } }), e.crud.tableOption.expand ? i("ElTableColumn", { key: "expand", attrs: { type: "expand", width: e.crud.tableOption.expandWidth || e.config.expandWidth, fixed: e.optVal(e.crud.tableOption.expandFixed, e.config.expandFixed), align: "center" }, scopedSlots: e._u([{ key: "default", fn: function({ row: n }) {
629
- return [e._t("expand", null, { row: n, index: n.$index })];
630
- } }], null, !0) }) : e._e(), e.crud.tableOption.selection ? i("ElTableColumn", { key: "selection", attrs: { fixed: e.optVal(e.crud.tableOption.selectionFixed, e.config.selectionFixed), type: "selection", selectable: e.crud.tableOption.selectable, "reserve-selection": e.optVal(e.crud.tableOption.reserveSelection), width: e.crud.tableOption.selectionWidth || e.config.selectionWidth, align: "center" } }) : e._e(), e.optVal(e.crud.tableOption.index) ? i("ElTableColumn", { key: "index", attrs: { fixed: e.optVal(e.crud.tableOption.indexFixed, e.config.indexFixed), label: e.crud.tableOption.indexLabel || e.config.indexLabel, type: "index", width: e.crud.tableOption.indexWidth || e.config.indexWidth, index: e.indexMethod, align: "center" } }) : e._e()], 1);
631
- }, pe = [], he = /* @__PURE__ */ f(
632
- ue,
633
- de,
634
- pe,
635
- !1,
636
- null,
637
- null
638
- );
639
- const me = he.exports, fe = {
640
- name: "ColumnMenu",
641
- directives: {
642
- permission: x
643
- },
644
- inject: ["crud"],
645
- data() {
646
- return {
647
- config: p
648
- };
649
- },
650
- computed: {
651
- menuType() {
652
- return this.crud.tableOption.menuType || this.$AVUE.menuType || "button";
653
- },
654
- isIconMenu() {
655
- return this.menuType === "icon";
656
- },
657
- isTextMenu() {
658
- return this.menuType === "text";
659
- },
660
- isMenu() {
661
- return this.menuType === "menu";
662
- }
663
- },
664
- methods: {
665
- optVal: h,
666
- menuText(t) {
667
- return ["text", "menu"].includes(this.menuType) ? "text" : t;
668
- }
669
- }
670
- };
671
- var be = function() {
672
- var e = this, i = e._self._c;
673
- return e.optVal(e.crud.tableOption.menu, e.config.menu) && e.crud.getPermission("menu") ? i("ElTableColumn", { key: "menu", staticClass: "avue-crud__btn", attrs: { prop: "menu", fixed: e.optVal(e.crud.tableOption.menuFixed, e.config.menuFixed), label: e.crud.tableOption.menuTitle || "操作", align: e.crud.tableOption.menuAlign || e.config.menuAlign, "header-align": e.crud.tableOption.menuHeaderAlign || e.config.menuHeaderAlign, width: e.crud.isMobile ? e.crud.tableOption.menuXsWidth || e.config.menuXsWidth : e.crud.tableOption.menuWidth || e.config.menuWidth }, scopedSlots: e._u([{ key: "default", fn: function({ row: n, $index: r }) {
674
- return [e.isMenu ? i("ElDropdown", { attrs: { size: e.crud.isMediumSize }, scopedSlots: e._u([{ key: "dropdown", fn: function() {
675
- return [i("ElDropdownMenu", [e.optVal(e.crud.tableOption.viewBtn, e.config.viewBtn) ? i("ElDropdownItem", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("viewBtn", n, r), expression: "crud.getPermission('viewBtn', row, $index)" }], attrs: { icon: e.crud.getBtnIcon("viewBtn") }, nativeOn: { click: function(s) {
676
- return e.crud.rowView(n, r);
677
- } } }, [e._v(" " + e._s(e.crud.menuIcon("viewBtn")) + " ")]) : e._e(), e.optVal(e.crud.tableOption.editBtn, e.config.editBtn) ? i("ElDropdownItem", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("editBtn", n, r), expression: "crud.getPermission('editBtn', row, $index)" }], attrs: { icon: e.crud.getBtnIcon("editBtn") }, nativeOn: { click: function(s) {
678
- return e.crud.rowEdit(n, r);
679
- } } }, [e._v(" " + e._s(e.crud.menuIcon("editBtn")) + " ")]) : e._e(), e.optVal(e.crud.tableOption.copyBtn, e.config.copyBtn) ? i("ElDropdownItem", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("copyBtn", n, r), expression: "crud.getPermission('copyBtn', row, $index)" }], attrs: { icon: e.crud.getBtnIcon("copyBtn") }, nativeOn: { click: function(s) {
680
- return e.crud.rowCopy(n);
681
- } } }, [e._v(" " + e._s(e.crud.menuIcon("copyBtn")) + " ")]) : e._e(), e.optVal(e.crud.tableOption.delBtn, e.config.delBtn) ? i("ElDropdownItem", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("delBtn", n, r), expression: "crud.getPermission('delBtn', row, $index)" }], attrs: { icon: e.crud.getBtnIcon("delBtn") }, nativeOn: { click: function(s) {
682
- return e.crud.rowDel(n, r);
683
- } } }, [e._v(" " + e._s(e.crud.menuIcon("delBtn")) + " ")]) : e._e(), e._t("menuBtn", null, { row: n, type: e.menuText("primary"), disabled: e.crud.btnDisabled, size: e.crud.isMediumSize, index: r })], 2)];
684
- }, proxy: !0 }], null, !0) }, [i("ElButton", { attrs: { type: "text", size: e.crud.isMediumSize } }, [e._v(" " + e._s(e.crud.tableOption.menuBtnTitle || "按钮") + " "), i("i", { staticClass: "el-icon-arrow-down el-icon--right" })])], 1) : ["button", "text", "icon"].includes(e.menuType) ? [e.optVal(e.crud.tableOption.cellBtn, e.config.cellBtn) ? [e.optVal(e.crud.tableOption.editBtn, e.config.editBtn) && !n.$cellEdit ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("editBtn", n, r), expression: "crud.getPermission('editBtn', row, $index)" }], attrs: { type: e.menuText("primary"), icon: e.crud.getBtnIcon("editBtn"), size: e.crud.isMediumSize, disabled: e.crud.btnDisabledList[r] }, on: { click: function(s) {
685
- return s.stopPropagation(), e.crud.rowCell(n, r);
686
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("editBtn")) + " ")]], 2) : e.optVal(e.crud.tableOption.saveBtn, e.config.saveBtn) && n.$cellEdit ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("saveBtn", n, r), expression: "crud.getPermission('saveBtn', row, $index)" }], attrs: { type: e.menuText("primary"), icon: e.crud.getBtnIcon("saveBtn"), size: e.crud.isMediumSize, disabled: e.crud.btnDisabledList[r] }, on: { click: function(s) {
687
- return s.stopPropagation(), e.crud.rowCell(n, r);
688
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("saveBtn")) + " ")]], 2) : e._e(), n.$cellEdit ? i("ElButton", { attrs: { type: e.menuText("danger"), icon: e.crud.getBtnIcon("cancelBtn"), size: e.crud.isMediumSize, disabled: e.crud.btnDisabledList[r] }, on: { click: function(s) {
689
- return s.stopPropagation(), e.crud.rowCancel(n, r);
690
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("cancelBtn")) + " ")]], 2) : e._e()] : e._e(), e.optVal(e.crud.tableOption.viewBtn, e.config.viewBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("viewBtn", n, r), expression: "crud.getPermission('viewBtn', row, $index)" }], attrs: { type: e.menuText("success"), icon: e.crud.getBtnIcon("viewBtn"), size: e.crud.isMediumSize, disabled: e.btnDisabled }, on: { click: function(s) {
691
- return s.stopPropagation(), e.crud.rowView(n, r);
692
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("viewBtn")) + " ")]], 2) : e._e(), e.optVal(e.crud.tableOption.editBtn, e.config.editBtn) && !e.crud.tableOption.cellBtn ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("editBtn", n, r), expression: "crud.getPermission('editBtn', row, $index)" }], attrs: { type: e.menuText("primary"), icon: e.crud.getBtnIcon("editBtn"), size: e.crud.isMediumSize, disabled: e.btnDisabled }, on: { click: function(s) {
693
- return s.stopPropagation(), e.crud.rowEdit(n, r);
694
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("editBtn")) + " ")]], 2) : e._e(), e.optVal(e.crud.tableOption.copyBtn, e.config.copyBtn) ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("copyBtn", n, r), expression: "crud.getPermission('copyBtn', row, $index)" }], attrs: { type: e.menuText("primary"), icon: e.crud.getBtnIcon("copyBtn"), size: e.crud.isMediumSize, disabled: e.btnDisabled }, on: { click: function(s) {
695
- return s.stopPropagation(), e.crud.rowCopy(n);
696
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("copyBtn")) + " ")]], 2) : e._e(), e.optVal(e.crud.tableOption.delBtn, e.config.delBtn) && !n.$cellEdit ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.crud.getPermission("delBtn", n, r), expression: "crud.getPermission('delBtn', row, $index)" }], attrs: { type: e.menuText("danger"), icon: e.crud.getBtnIcon("delBtn"), size: e.crud.isMediumSize, disabled: e.btnDisabled }, on: { click: function(s) {
697
- return s.stopPropagation(), e.crud.rowDel(n, r);
698
- } } }, [e.isIconMenu ? e._e() : [e._v(" " + e._s(e.crud.menuIcon("delBtn")) + " ")]], 2) : e._e()] : e._e(), e._t("menu", null, { row: n, type: e.menuText("primary"), disabled: e.crud.btnDisabled, size: e.crud.isMediumSize, index: r })];
699
- } }], null, !0) }) : e._e();
700
- }, ge = [], _e = /* @__PURE__ */ f(
701
- fe,
702
- be,
703
- ge,
704
- !1,
705
- null,
706
- null
707
- );
708
- const ve = _e.exports, ye = {
709
- name: "TablePage",
710
- inject: ["crud"],
711
- data() {
712
- return {
713
- defaultPage: {
714
- single: !1,
715
- total: 0,
716
- // 总页数
717
- pagerCount: 7,
718
- // 超过多少条隐藏
719
- currentPage: 1,
720
- // 当前页数
721
- pageSize: 10,
722
- // 每页显示多少条
723
- pageSizes: [10, 20, 30, 40, 50, 100],
724
- layout: "total, sizes, prev, pager, next, jumper",
725
- background: !0
726
- // 背景颜色
727
- }
728
- };
729
- },
730
- computed: {
731
- pageFlag() {
732
- return this.defaultPage.total !== 0;
733
- }
734
- },
735
- watch: {
736
- "crud.page": {
737
- handler() {
738
- this.pageInit();
739
- },
740
- deep: !0
741
- },
742
- pageFlag() {
743
- this.crud.getTableHeight();
744
- },
745
- // 如果当前页面删除没数据了调用第一页
746
- "defaultPage.total"() {
747
- this.defaultPage.total === (this.defaultPage.currentPage - 1) * this.defaultPage.pageSize && this.defaultPage.total !== 0 && (this.defaultPage.currentPage = this.defaultPage.currentPage - 1, this.currentChange(this.defaultPage.currentPage));
748
- }
749
- },
750
- created() {
751
- this.crud.isMobile && (this.defaultPage.layout = "total, sizes, prev, pager, next"), this.pageInit(), this.crud.$emit("on-load", this.defaultPage);
752
- },
753
- methods: {
754
- optVal: h,
755
- pageInit() {
756
- this.defaultPage = Object.assign(this.defaultPage, this.crud.page), this.updateValue();
757
- },
758
- updateValue() {
759
- this.crud.$emit("update:page", this.defaultPage);
760
- },
761
- // 下一页事件
762
- nextClick(t) {
763
- this.crud.$emit("next-click", t);
764
- },
765
- // 上一页事件
766
- prevClick(t) {
767
- this.crud.$emit("prev-click", t);
768
- },
769
- // 页大小回调
770
- sizeChange(t) {
771
- this.defaultPage.currentPage = 1, this.defaultPage.pageSize = t, this.updateValue(), this.crud.$emit("on-load", this.defaultPage), this.crud.$emit("size-change", t);
772
- },
773
- // 页码回调
774
- currentChange(t) {
775
- this.updateValue(), this.crud.$emit("on-load", this.defaultPage), this.crud.$emit("current-change", t);
776
- }
777
- }
778
- };
779
- var Ce = function() {
780
- var e = this, i = e._self._c;
781
- return e.pageFlag && e.optVal(e.crud.tableOption.page, !0) ? i("ElCard", { staticClass: "avue-pagination", attrs: { shadow: e.crud.isCard } }, [e._t("page"), i("ElPagination", { staticStyle: { "margin-top": "25px" }, attrs: { small: e.crud.size === "mini", disabled: e.defaultPage.disabled, "hide-on-single-page": e.defaultPage.single, "pager-count": e.defaultPage.pagerCount, "current-page": e.defaultPage.currentPage, background: e.defaultPage.background, "page-size": e.defaultPage.pageSize, "page-sizes": e.defaultPage.pageSizes, layout: e.defaultPage.layout, total: e.defaultPage.total }, on: { "update:currentPage": function(n) {
782
- return e.$set(e.defaultPage, "currentPage", n);
783
- }, "update:current-page": function(n) {
784
- return e.$set(e.defaultPage, "currentPage", n);
785
- }, "size-change": e.sizeChange, "prev-click": e.prevClick, "next-click": e.nextClick, "current-change": e.currentChange } })], 2) : e._e();
786
- }, xe = [], Be = /* @__PURE__ */ f(
787
- ye,
788
- Ce,
789
- xe,
790
- !1,
791
- null,
792
- null
793
- );
794
- const we = Be.exports, Se = {
795
- name: "FyDialogForm",
796
- inject: ["crud"],
797
- data() {
798
- return {
799
- disabled: !1,
800
- boxType: "",
801
- fullscreen: !1,
802
- size: null,
803
- boxVisible: !1
804
- };
805
- },
806
- computed: {
807
- option() {
808
- const t = a(this.crud.tableOption);
809
- return t.boxType = this.boxType, t.column = a(this.crud.propOption), t.menuBtn = !1, this.isAdd ? (t.submitBtn = t.saveBtn, t.submitText = this.crud.menuIcon("saveBtn"), t.submitIcon = this.crud.getBtnIcon("saveBtn")) : this.isEdit ? (t.submitBtn = t.updateBtn, t.submitText = this.crud.menuIcon("updateBtn"), t.submitIcon = this.crud.getBtnIcon("updateBtn")) : this.isView && (t.detail = !0), t.emptyBtn = t.cancelBtn, t.emptyText = this.crud.menuIcon("cancelBtn"), t.emptyIcon = this.crud.getBtnIcon("cancelBtn"), this.crud.isGroup || (t.dicFlag = !1, t.dicData = this.crud.DIC), c(t.dicFlag) || t.column.forEach((e) => {
810
- e.boxType = this.boxType, e.dicFlag = e.dicFlag || t.dicFlag;
811
- }), t;
812
- },
813
- isView() {
814
- return this.boxType === "view";
815
- },
816
- isAdd() {
817
- return this.boxType === "add";
818
- },
819
- isEdit() {
820
- return this.boxType === "edit";
821
- },
822
- direction() {
823
- return this.crud.tableOption.dialogDirection;
824
- },
825
- width() {
826
- return h(`${this.crud.tableOption.dialogWidth}`, this.crud.isMobile ? "100%" : `${p.dialogWidth}`);
827
- },
828
- dialogType() {
829
- return this.isDrawer ? "ElDrawer" : "ElementDialog";
830
- },
831
- dialogTop() {
832
- return !this.isDrawer && !this.fullscreen ? this.crud.tableOption.dialogTop : "0";
833
- },
834
- isDrawer() {
835
- return this.crud.tableOption.dialogType === "drawer";
836
- },
837
- params() {
838
- return this.isDrawer ? {
839
- size: this.fullscreen ? "100%" : this.width,
840
- direction: this.crud.tableOption.dialogDirection
841
- } : {
842
- width: this.width,
843
- fullscreen: this.fullscreen
844
- };
845
- },
846
- dialogTitle() {
847
- const t = `${this.boxType}`;
848
- if (!c(this.boxType)) {
849
- const e = {
850
- tipStartTitle: "当前表格已选择",
851
- tipEndTitle: "项",
852
- editTitle: "编 辑",
853
- copyTitle: "复 制",
854
- addTitle: "新 增",
855
- viewTitle: "查 看",
856
- filterTitle: "过滤条件",
857
- showTitle: "列显隐"
858
- };
859
- return this.crud.tableOption[`${t}Title`] || e[`${t}Title`];
860
- }
861
- return "";
862
- },
863
- dialogMenuPosition() {
864
- return this.crud.option.dialogMenuPosition || "right";
865
- }
866
- },
867
- methods: {
868
- optVal: h,
869
- uploadFun: B,
870
- submit() {
871
- this.$refs.tableForm.submit();
872
- },
873
- reset() {
874
- this.$refs.tableForm.resetForm(!1);
875
- },
876
- getSlotName(t) {
877
- return t.replace("Form", "");
878
- },
879
- initFun() {
880
- ["clearValidate", "validate", "resetForm", "validateField"].forEach((t) => {
881
- this.crud[t] = this.$refs.tableForm[t];
882
- });
883
- },
884
- handleChange() {
885
- this.crud.setVal();
886
- },
887
- handleTabClick(t, e) {
888
- this.crud.$emit("tab-click", t, e);
889
- },
890
- handleFullScreen() {
891
- this.isDrawer && (c(this.size) ? this.size = "100%" : this.size = ""), this.fullscreen = !this.fullscreen;
892
- },
893
- handleError(t) {
894
- this.crud.$emit("error", t);
895
- },
896
- handleSubmit(t, e) {
897
- this.isAdd ? this.rowSave(e) : this.isEdit && this.rowUpdate(e);
898
- },
899
- // 保存
900
- rowSave(t) {
901
- this.crud.$emit("row-save", C(this.crud.tableForm, ["$"]), this.closeDialog, t);
902
- },
903
- // 更新
904
- rowUpdate(t) {
905
- this.crud.$emit("row-update", C(this.crud.tableForm, ["$"]), this.crud.tableIndex, this.closeDialog, t);
906
- },
907
- closeDialog(t) {
908
- t = a(t), t && (() => {
909
- if (this.isEdit) {
910
- const { parentList: i, index: n } = this.crud.findData(t[this.crud.rowKey]);
911
- if (i) {
912
- const r = i.splice(n, 1)[0];
913
- t[this.crud.childrenKey] = r[this.crud.childrenKey], i.splice(n, 0, t);
914
- }
915
- } else if (this.isAdd) {
916
- const { item: i } = this.crud.findData(t[this.crud.rowParentKey]);
917
- i ? (i[this.crud.childrenKey] || this.$set(i, this.crud.childrenKey, []), this.crud.tableOption.lazy && this.$set(i, this.crud.hasChildrenKey, !0), i[this.crud.childrenKey].push(t)) : this.crud.list.push(t);
918
- }
919
- })(), this.hide();
920
- },
921
- // 隐藏表单
922
- hide(t) {
923
- const e = () => {
924
- t == null || t(), this.crud.tableIndex = -1, this.crud.tableForm = {}, this.crud.setVal(), this.boxVisible = !1;
925
- };
926
- typeof this.crud.beforeClose == "function" ? this.crud.beforeClose(e, this.boxType) : e();
927
- },
928
- // 显示表单
929
- show(t) {
930
- this.boxType = t;
931
- const e = () => {
932
- this.fullscreen = this.crud.tableOption.dialogFullscreen, this.boxVisible = !0, this.$nextTick(() => {
933
- this.initFun();
934
- });
935
- };
936
- typeof this.crud.beforeOpen == "function" ? this.crud.beforeOpen(e, this.boxType) : e();
937
- }
938
- }
939
- };
940
- var $e = function() {
941
- var e = this, i = e._self._c;
942
- return e.boxVisible ? i(e.dialogType, e._b({ tag: "Component", staticClass: "dialog-form", attrs: { "lock-scroll": "", "show-full-screen": "", "destroy-on-close": e.crud.tableOption.dialogDestroy, "wrapper-closable": e.crud.tableOption.dialogClickModal, direction: e.direction, "custom-class": e.crud.tableOption.dialogCustomClass, "modal-append-to-body": "", "append-to-body": "", top: e.dialogTop, title: e.dialogTitle, "close-on-press-escape": e.crud.tableOption.dialogEscape, "close-on-click-modal": e.optVal(e.crud.tableOption.dialogClickModal, !1), modal: e.crud.tableOption.dialogModal, "show-close": e.crud.tableOption.dialogCloseBtn, visible: e.boxVisible, "before-close": e.hide }, on: { "update:visible": function(n) {
943
- e.boxVisible = n;
944
- } } }, "Component", e.params, !1), [i("FyForm", e._b({ ref: "tableForm", attrs: { status: e.disabled, option: e.option }, on: { "update:status": function(n) {
945
- e.disabled = n;
946
- }, change: e.handleChange, submit: e.handleSubmit, "reset-change": e.hide, "tab-click": e.handleTabClick, error: e.handleError }, scopedSlots: e._u([e._l(e.crud.formSlot, function(n) {
947
- return { key: e.getSlotName(n), fn: function(r) {
948
- return [e._t(n, null, null, Object.assign(r, { type: e.boxType }))];
949
- } };
950
- })], null, !0), model: { value: e.crud.tableForm, callback: function(n) {
951
- e.$set(e.crud, "tableForm", n);
952
- }, expression: "crud.tableForm" } }, "FyForm", e.uploadFun({}, e.crud), !1)), i("span", { staticClass: "avue-dialog__footer", class: `avue-dialog__footer--${e.dialogMenuPosition}` }, [e.optVal(e.option.submitBtn, !0) && !e.isView ? i("ElButton", { attrs: { loading: e.disabled, size: e.crud.controlSize, icon: e.option.submitIcon, type: "primary" }, on: { click: e.submit } }, [e._v(" " + e._s(e.option.submitText) + " ")]) : e._e(), e.optVal(e.option.emptyBtn, !0) && !e.isView ? i("ElButton", { attrs: { disabled: e.disabled, size: e.crud.controlSize, icon: e.option.emptyIcon }, on: { click: e.reset } }, [e._v(" " + e._s(e.option.emptyText) + " ")]) : e._e(), e._t("menuForm", null, { disabled: e.disabled, size: e.crud.controlSize, type: e.boxType })], 2)], 1) : e._e();
953
- }, Oe = [], Fe = /* @__PURE__ */ f(
954
- Se,
955
- $e,
956
- Oe,
957
- !1,
958
- null,
959
- null
960
- );
961
- const ke = Fe.exports, Ie = {
962
- name: "DialogColumn",
963
- inject: ["crud"],
964
- data() {
965
- return {
966
- data: [],
967
- columnBox: !1
968
- };
969
- },
970
- computed: {
971
- defaultColumn() {
972
- return [
973
- {
974
- label: "隐藏",
975
- prop: "hide"
976
- },
977
- {
978
- label: "冻结",
979
- prop: "fixed"
980
- },
981
- {
982
- label: "过滤",
983
- prop: "filters"
984
- },
985
- {
986
- label: "排序",
987
- prop: "sortable"
988
- },
989
- {
990
- label: "序号",
991
- prop: "index",
992
- hide: !0
993
- },
994
- {
995
- label: "宽度",
996
- prop: "width",
997
- hide: !0
998
- }
999
- ];
1000
- }
1001
- },
1002
- methods: {
1003
- handleShow() {
1004
- this.data = [], this.crud.propOption.forEach((t) => {
1005
- t.showColumn !== !1 && this.data.push(t);
1006
- }), this.columnBox = !0, this.$nextTick(() => this.rowDrop());
1007
- },
1008
- handleChange(t) {
1009
- ["hide", "filters"].includes(t) && this.crud.refreshTable();
1010
- },
1011
- rowDrop() {
1012
- const t = this.$refs.table.$el.querySelectorAll(p.dropRowClass)[0];
1013
- this.crud.tableDrop("column", t, (e) => {
1014
- const i = e.oldIndex, n = e.newIndex;
1015
- this.crud.headerSort(i, n), this.crud.refreshTable(() => this.rowDrop());
1016
- });
1017
- }
1018
- }
1019
- };
1020
- var Ee = function() {
1021
- var e = this, i = e._self._c;
1022
- return e.columnBox ? i("div", [i("ElDrawer", { staticClass: "avue-crud__dialog avue-crud__column avue-dialog", attrs: { "lock-scroll": "", "append-to-body": "", title: "列显隐", size: e.crud.isMobile ? "100%" : "40%", visible: e.columnBox }, on: { "update:visible": function(n) {
1023
- e.columnBox = n;
1024
- } } }, [i("ElTable", { ref: "table", attrs: { data: e.data, height: "100%", size: "small", border: "" } }, [i("ElTableColumn", { key: "label", attrs: { align: "center", width: "100", "header-align": "center", prop: "label", label: "列名" } }), e._l(e.defaultColumn, function(n, r) {
1025
- return [n.hide !== !0 ? i("ElTableColumn", { key: r, attrs: { label: n.label, prop: n.prop, align: "center", "header-align": "center" }, scopedSlots: e._u([{ key: "default", fn: function({ row: s }) {
1026
- return [i("ElCheckbox", { on: { change: function(l) {
1027
- return e.handleChange(n.prop);
1028
- } }, model: { value: e.crud.objectOption[s.prop][n.prop], callback: function(l) {
1029
- e.$set(e.crud.objectOption[s.prop], n.prop, l);
1030
- }, expression: "crud.objectOption[row.prop][item.prop]" } })];
1031
- } }], null, !0) }) : e._e()];
1032
- })], 2)], 1)], 1) : e._e();
1033
- }, Pe = [], De = /* @__PURE__ */ f(
1034
- Ie,
1035
- Ee,
1036
- Pe,
1037
- !1,
1038
- null,
1039
- null
1040
- );
1041
- const Te = De.exports, ze = {
1042
- name: "DialogExcel",
1043
- inject: ["crud"],
1044
- data() {
1045
- return {
1046
- option: {},
1047
- columnOption: {},
1048
- box: !1,
1049
- form: {
1050
- name: this.crud.tableOption.title
1051
- }
1052
- };
1053
- },
1054
- methods: {
1055
- handleShow() {
1056
- this.getColumnOption(), this.getOption(), this.box = !0;
1057
- },
1058
- handleSubmit() {
1059
- this.$Export.excel({
1060
- title: this.form.name,
1061
- columns: this.getColumn(),
1062
- data: this.handleSum()
1063
- }), this.box = !1;
1064
- },
1065
- // 计算统计
1066
- handleSum() {
1067
- const t = this.crud.tableOption, e = this.crud.propOption, i = this.form.type ? this.crud.list : this.crud.tableSelect, n = [];
1068
- return this.form.params.includes("data") && i.forEach((r) => {
1069
- const s = a(r);
1070
- e.forEach((l) => {
1071
- const o = l.parentProp ? (this.crud.cascaderDIC[l.$index] || {})[l.prop] : this.crud.DIC[l.prop];
1072
- s[l.prop] = w(s, l, t, o);
1073
- }), n.push(s);
1074
- }), this.form.params.includes("sum") && t.showSummary && n.push(this.crud.sumsList), n;
1075
- },
1076
- getOption() {
1077
- this.option = {
1078
- submitBtn: !1,
1079
- emptyBtn: !1,
1080
- column: [
1081
- {
1082
- label: "文件名",
1083
- prop: "name",
1084
- span: 24
1085
- },
1086
- {
1087
- label: "选择数据",
1088
- prop: "type",
1089
- span: 24,
1090
- type: "select",
1091
- dicData: [
1092
- {
1093
- label: "当前数据(当前页全部的数据)",
1094
- value: !0
1095
- },
1096
- {
1097
- label: "选中的数据(当前页选中的数据)",
1098
- disabled: this.crud.tableOption.selection !== !0,
1099
- value: !1
1100
- }
1101
- ]
1102
- },
1103
- {
1104
- label: "选择字段",
1105
- prop: "prop",
1106
- type: "tree",
1107
- multiple: !0,
1108
- checkStrictly: !0,
1109
- span: 24,
1110
- props: {
1111
- value: "prop"
1112
- },
1113
- dicData: this.columnOption
1114
- },
1115
- {
1116
- label: "参数设置",
1117
- prop: "params",
1118
- type: "checkbox",
1119
- span: 24,
1120
- value: ["header", "data"].concat(
1121
- (() => {
1122
- const t = [];
1123
- return this.crud.isHeader && t.push("headers"), this.crud.isShowSummary && t.push("sum"), t;
1124
- })()
1125
- ),
1126
- dicData: [
1127
- {
1128
- label: "表头",
1129
- disabled: !0,
1130
- value: "header"
1131
- },
1132
- {
1133
- label: "数据源",
1134
- value: "data"
1135
- }
1136
- ].concat(
1137
- (() => {
1138
- const t = [];
1139
- return t.push({
1140
- label: "复杂表头",
1141
- value: "headers",
1142
- disabled: !this.crud.isHeader
1143
- }), t.push({
1144
- label: "合计统计",
1145
- value: "sum",
1146
- disabled: !this.crud.isShowSummary
1147
- }), t;
1148
- })()
1149
- )
1150
- }
1151
- ]
1152
- }, this.form.type = this.crud.selectLen === 0;
1153
- },
1154
- getColumnOption() {
1155
- const t = a(this.crud.columnOption), e = [], i = (n = []) => {
1156
- n.forEach((r, s) => {
1157
- const l = r.children;
1158
- l && !Array.isArray(l) ? delete r.children : r.showColumn === !1 ? n.splice(s, 1) : (e.push(r.prop), r.children && i(l));
1159
- });
1160
- };
1161
- i(t), this.columnOption = t, this.form.prop = e;
1162
- },
1163
- getColumn() {
1164
- const t = a(this.columnOption), e = this.$refs.form.getPropRef("prop").$refs.temp.getHalfList();
1165
- if (!this.form.params) return [];
1166
- if (this.form.params.includes("headers")) {
1167
- const i = (n = []) => {
1168
- n.forEach((r, s) => {
1169
- e.includes(r.prop) ? r.children && i(r.children) : n.splice(s, 1);
1170
- });
1171
- };
1172
- return i(t), t;
1173
- } else {
1174
- const i = [], n = (r = []) => {
1175
- r.forEach((s) => {
1176
- s.children ? n(s.children) : e.includes(s.prop) && i.push(s);
1177
- });
1178
- };
1179
- return n(t), i;
1180
- }
1181
- }
1182
- }
1183
- };
1184
- var Me = function() {
1185
- var e = this, i = e._self._c;
1186
- return e.box ? i("div", [i("ElementDialog", { staticClass: "avue-dialog", attrs: { title: "导出", "lock-scroll": "", visible: e.box, width: e.crud.isMobile ? "100%" : "30%" }, on: { "update:visible": function(n) {
1187
- e.box = n;
1188
- } }, scopedSlots: e._u([{ key: "footer", fn: function() {
1189
- return [i("span", { staticClass: "dialog-footer" }, [i("ElButton", { attrs: { type: "primary", size: e.crud.isMediumSize }, on: { click: e.handleSubmit } }, [e._v("确定")]), i("ElButton", { attrs: { size: e.crud.isMediumSize }, on: { click: function(n) {
1190
- e.box = !1;
1191
- } } }, [e._v("取消")])], 1)];
1192
- }, proxy: !0 }], null, !1, 2375905330) }, [i("FyForm", { attrs: { option: e.option }, model: { value: e.form, callback: function(n) {
1193
- e.form = n;
1194
- }, expression: "form" } })], 1)], 1) : e._e();
1195
- }, Le = [], Ve = /* @__PURE__ */ f(
1196
- ze,
1197
- Me,
1198
- Le,
1199
- !1,
1200
- null,
1201
- null
1202
- );
1203
- const Re = Ve.exports, Ae = {
1204
- name: "DialogFilter",
1205
- inject: ["crud"],
1206
- data() {
1207
- return {
1208
- box: !1,
1209
- columnObj: {},
1210
- symbolDic: [
1211
- {
1212
- label: "=",
1213
- value: "="
1214
- },
1215
- {
1216
- label: "≠",
1217
- value: "≠"
1218
- },
1219
- {
1220
- label: "like",
1221
- value: "like"
1222
- },
1223
- {
1224
- label: ">",
1225
- value: ">"
1226
- },
1227
- {
1228
- label: "≥",
1229
- value: "≥"
1230
- },
1231
- {
1232
- label: "<",
1233
- value: "<"
1234
- },
1235
- {
1236
- label: "≤",
1237
- value: "≤"
1238
- },
1239
- {
1240
- label: "∈",
1241
- value: "∈"
1242
- }
1243
- ],
1244
- list: [],
1245
- columnOption: {}
1246
- };
1247
- },
1248
- methods: {
1249
- handleShow() {
1250
- this.getColumnOption(), this.box = !0;
1251
- },
1252
- getColumnOption() {
1253
- const t = [];
1254
- a(this.crud.propOption).forEach((i) => {
1255
- i.showColumn !== !1 && t.push(
1256
- Object.assign(i, {
1257
- value: i.prop
1258
- })
1259
- );
1260
- }), this.columnOption = t, this.columnObj = this.columnOption[0];
1261
- },
1262
- handleDelete(t) {
1263
- this.list.splice(t, 1);
1264
- },
1265
- handleClear() {
1266
- this.list = [];
1267
- },
1268
- handleValueClear() {
1269
- this.list.forEach((t) => {
1270
- t.value = "";
1271
- });
1272
- },
1273
- handleSubmit() {
1274
- const t = [];
1275
- this.list.forEach((e) => {
1276
- t.push([e.text, e.symbol, e.value]);
1277
- }), this.crud.$emit("filter", t), this.box = !1;
1278
- },
1279
- handleChange(t) {
1280
- this.list[t].value = "";
1281
- },
1282
- handleAdd() {
1283
- const t = this.columnObj.prop;
1284
- this.list.push({
1285
- text: t,
1286
- value: "",
1287
- symbol: this.symbolDic[0].value
1288
- });
1289
- }
1290
- }
1291
- };
1292
- var He = function() {
1293
- var e = this, i = e._self._c;
1294
- return e.box ? i("div", [i("ElDrawer", { staticClass: "avue-dialog", class: ["avue-crud__dialog", "avue-crud__filter"], attrs: { "lock-scroll": "", "append-to-body": "", title: "过滤条件", size: e.crud.isMobile ? "100%" : "60%", visible: e.box }, on: { "update:visible": function(n) {
1295
- e.box = n;
1296
- } } }, [i("ElRow", { attrs: { span: 24 } }, [i("div", { staticClass: "avue-crud__filter-menu" }, [i("ElButtonGroup", [i("ElButton", { attrs: { type: "primary", size: e.crud.isMediumSize }, on: { click: e.handleAdd } }, [e._v(" 新增条件 ")]), i("ElButton", { attrs: { type: "primary", size: e.crud.isMediumSize }, on: { click: e.handleClear } }, [e._v(" 清空条件 ")]), i("ElButton", { attrs: { type: "primary", size: e.crud.isMediumSize }, on: { click: e.handleValueClear } }, [e._v(" 清空数据 ")])], 1)], 1), e._l(e.list, function(n, r) {
1297
- return i("ElCol", { key: r, staticClass: "avue-crud__filter-item", attrs: { md: 12, xs: 24, sm: 12 } }, [i("FySelect", { staticClass: "avue-crud__filter-label", attrs: { dic: e.columnOption, clearable: !1, size: e.crud.isMediumSize }, on: { change: function(s) {
1298
- return e.handleChange(r);
1299
- } }, model: { value: n.text, callback: function(s) {
1300
- e.$set(n, "text", s);
1301
- }, expression: "column.text" } }), i("FySelect", { staticClass: "avue-crud__filter-symbol", attrs: { dic: e.symbolDic, clearable: !1, size: e.crud.isMediumSize }, model: { value: n.symbol, callback: function(s) {
1302
- e.$set(n, "symbol", s);
1303
- }, expression: "column.symbol" } }), i("FyInput", { staticClass: "avue-crud__filter-value", attrs: { size: e.crud.isMediumSize }, model: { value: n.value, callback: function(s) {
1304
- e.$set(n, "value", s);
1305
- }, expression: "column.value" } }), i("ElButton", { staticClass: "avue-crud__filter-icon", attrs: { type: "danger", size: "mini", circle: "", icon: "el-icon-minus" }, on: { click: function(s) {
1306
- return e.handleDelete(r);
1307
- } } })], 1);
1308
- }), i("ElCol", { staticClass: "avue-form__menu avue-form__menu--right", attrs: { span: 24 } }, [i("ElButton", { attrs: { type: "primary", size: e.crud.isMediumSize }, on: { click: e.handleSubmit } }, [e._v(" 确 定 ")]), i("ElButton", { attrs: { size: e.crud.isMediumSize }, on: { click: function(n) {
1309
- e.box = !1;
1310
- } } }, [e._v(" 取 消 ")])], 1)], 2)], 1)], 1) : e._e();
1311
- }, Ne = [], je = /* @__PURE__ */ f(
1312
- Ae,
1313
- He,
1314
- Ne,
1315
- !1,
1316
- null,
1317
- null
1318
- );
1319
- const We = je.exports, Ke = {
1320
- name: "FyCurd",
1321
- components: {
1322
- DialogFilter: We,
1323
- DialogExcel: Re,
1324
- DialogColumn: Te,
1325
- FyDialogForm: ke,
1326
- TablePage: we,
1327
- ColumnMenu: ve,
1328
- ColumnDefault: me,
1329
- Column: ce,
1330
- HeaderMenu: X,
1331
- HeaderSearch: W
1332
- },
1333
- directives: {
1334
- permission: x
1335
- },
1336
- mixins: [O],
1337
- provide() {
1338
- return {
1339
- crud: this
1340
- };
1341
- },
1342
- props: {
1343
- spanMethod: Function,
1344
- summaryMethod: Function,
1345
- rowStyle: Function,
1346
- cellStyle: Function,
1347
- beforeClose: Function,
1348
- beforeOpen: Function,
1349
- rowClassName: Function,
1350
- cellClassName: Function,
1351
- headerCellClassName: Function,
1352
- uploadBefore: Function,
1353
- uploadAfter: Function,
1354
- uploadDelete: Function,
1355
- uploadPreview: Function,
1356
- uploadError: Function,
1357
- uploadExceed: Function,
1358
- permission: {
1359
- type: [Function, Object],
1360
- default: () => ({})
1361
- },
1362
- value: {
1363
- type: Object,
1364
- default: () => ({})
1365
- },
1366
- search: {
1367
- type: Object,
1368
- default() {
1369
- return {};
1370
- }
1371
- },
1372
- page: {
1373
- type: Object,
1374
- default() {
1375
- return {};
1376
- }
1377
- },
1378
- tableLoading: {
1379
- type: Boolean,
1380
- default: !1
1381
- },
1382
- disabled: {
1383
- type: Boolean,
1384
- default: !1
1385
- },
1386
- data: {
1387
- type: Array,
1388
- default: () => []
1389
- }
1390
- },
1391
- data() {
1392
- return {
1393
- reload: Math.random(),
1394
- cellForm: {
1395
- list: []
1396
- },
1397
- config: p,
1398
- list: [],
1399
- listError: {},
1400
- tableForm: {},
1401
- tableHeight: void 0,
1402
- tableIndex: -1,
1403
- tableSelect: [],
1404
- sumsList: {},
1405
- cascaderIndexList: [],
1406
- cascaderDicList: {},
1407
- cascaderFormList: {},
1408
- btnDisabledList: {},
1409
- btnDisabled: !1,
1410
- default: {}
1411
- };
1412
- },
1413
- computed: {
1414
- isHeightAuto() {
1415
- return this.tableOption.height === "auto";
1416
- },
1417
- isSortable() {
1418
- return this.tableOption.sortable;
1419
- },
1420
- isRowSort() {
1421
- return this.tableOption.rowSort;
1422
- },
1423
- isColumnSort() {
1424
- return this.tableOption.columnSort;
1425
- },
1426
- rowParentKey() {
1427
- return this.option.rowParentKey || b.rowParentKey;
1428
- },
1429
- childrenKey() {
1430
- return this.treeProps.children || b.children;
1431
- },
1432
- hasChildrenKey() {
1433
- return this.treeProps.hasChildren || b.hasChildren;
1434
- },
1435
- treeProps() {
1436
- return this.tableOption.treeProps || {};
1437
- },
1438
- isAutoHeight() {
1439
- return this.tableOption.height === "auto";
1440
- },
1441
- formSlot() {
1442
- return this.getSlotList(["Error", "Label", "Type", "Form"], this.$scopedSlots, this.propOption);
1443
- },
1444
- searchSlot() {
1445
- return this.getSlotList(["Search"], this.$scopedSlots, this.propOption);
1446
- },
1447
- mainSlot() {
1448
- const t = [];
1449
- return this.propOption.forEach((e) => {
1450
- this.$scopedSlots[e.prop] && t.push(e.prop);
1451
- }), this.getSlotList(["Header", "Form"], this.$scopedSlots, this.propOption).concat(t);
1452
- },
1453
- calcHeight() {
1454
- return (this.tableOption.calcHeight || 0) + this.$AVUE.calcHeight;
1455
- },
1456
- propOption() {
1457
- let t = [];
1458
- function e(i = []) {
1459
- Array.isArray(i) && i.forEach((n) => {
1460
- Array.isArray(n.children) ? e(n.children) : t.push(n);
1461
- });
1462
- }
1463
- return e(this.columnOption), t = E(t), t;
1464
- },
1465
- isShowSummary() {
1466
- return this.option.showSummary;
1467
- },
1468
- isHeader() {
1469
- let t = !1;
1470
- return this.columnOption.forEach((e) => {
1471
- e.children && (t = !0);
1472
- }), t;
1473
- },
1474
- isTree() {
1475
- let t = !1;
1476
- return this.data.forEach((e) => {
1477
- e.children && (t = !0);
1478
- }), t;
1479
- },
1480
- isCard() {
1481
- return this.option.card ? "always" : "never";
1482
- },
1483
- expandLevel() {
1484
- return this.parentOption.expandLevel || 0;
1485
- },
1486
- expandAll() {
1487
- return this.parentOption.expandAll || !1;
1488
- },
1489
- parentOption() {
1490
- return this.tableOption || {};
1491
- },
1492
- columnOption() {
1493
- return this.tableOption.column || [];
1494
- },
1495
- sumColumnList() {
1496
- return this.tableOption.sumColumnList || [];
1497
- },
1498
- selectLen() {
1499
- return this.tableSelect ? this.tableSelect.length : 0;
1500
- }
1501
- },
1502
- watch: {
1503
- value: {
1504
- handler() {
1505
- this.tableForm = this.value;
1506
- },
1507
- immediate: !0,
1508
- deep: !0
1509
- },
1510
- list: {
1511
- handler() {
1512
- this.cellForm.list = this.list;
1513
- },
1514
- deep: !0
1515
- },
1516
- data: {
1517
- handler() {
1518
- this.dataInit();
1519
- },
1520
- deep: !0
1521
- }
1522
- },
1523
- mounted() {
1524
- this.dataInit(), this.getTableHeight(), this.refreshTable();
1525
- },
1526
- methods: {
1527
- setPx: z,
1528
- optVal: h,
1529
- handleValidate(t, e, i) {
1530
- this.listError[t] || this.$set(this.listError, t, { valid: !1, msg: "" }), this.listError[t].valid = !e, this.listError[t].msg = i;
1531
- },
1532
- getPermission(t, e, i) {
1533
- return typeof this.permission == "function" ? this.permission(t, e, i) : c(this.permission[t]) ? !0 : this.permission[t];
1534
- },
1535
- getTableHeight() {
1536
- this.isAutoHeight ? this.$nextTick(() => {
1537
- const t = this.$refs.table, e = this.$refs.tablePage;
1538
- if (!t) return;
1539
- const i = t.$el, n = e.$el.offsetHeight || 20;
1540
- this.tableHeight = document.documentElement.clientHeight - i.offsetTop - n - this.calcHeight;
1541
- }) : this.tableHeight = this.tableOption.height;
1542
- },
1543
- doLayout() {
1544
- this.$refs.table.doLayout();
1545
- },
1546
- refreshTable(t) {
1547
- this.reload = Math.random(), this.$nextTick(() => {
1548
- t == null || t();
1549
- });
1550
- },
1551
- // 树懒加载
1552
- treeLoad(t, e, i) {
1553
- this.$emit("tree-load", t, e, (n) => {
1554
- t.children = n, i(n);
1555
- });
1556
- },
1557
- menuIcon(t) {
1558
- return h(this.tableOption[`${t}Text`], I(`crud.${t}`));
1559
- },
1560
- getBtnIcon(t) {
1561
- const e = `${t}Icon`;
1562
- return this.tableOption[e] || p[e];
1563
- },
1564
- // 对部分表单字段进行校验的方法
1565
- validateField(t) {
1566
- return this.$refs.dialogForm.$refs.tableForm.validateField(t);
1567
- },
1568
- selectClear() {
1569
- this.$emit("selection-clear", a(this.tableSelect)), this.$refs.table.clearSelection();
1570
- },
1571
- toggleRowSelection(t, e) {
1572
- this.$refs.table.toggleRowSelection(t, e);
1573
- },
1574
- toggleRowExpansion(t, e) {
1575
- this.$refs.table.toggleRowExpansion(t, e);
1576
- },
1577
- setCurrentRow(t) {
1578
- this.$refs.table.setCurrentRow(t);
1579
- },
1580
- dataInit() {
1581
- this.list = this.data, this.list.forEach((t, e) => {
1582
- t.$cellEdit && !this.cascaderFormList[e] && (this.cascaderFormList[e] = a(t)), this.$set(t, "$cellEdit", t.$cellEdit || !1), this.$set(t, "$index", e);
1583
- });
1584
- },
1585
- // 拖动表头事件
1586
- headerDragend(t, e, i, n) {
1587
- this.objectOption[i.property] && this.$set(this.objectOption[i.property], "width", t), this.$emit("header-dragend", t, e, i, n);
1588
- },
1589
- headerSort(t, e) {
1590
- const i = this.columnOption, n = i.splice(t, 1)[0];
1591
- i.splice(e, 0, n), this.refreshTable();
1592
- },
1593
- // 清除过滤器执行函数
1594
- clearFilter(t) {
1595
- this.$refs.table.clearFilter(t);
1596
- },
1597
- // 展开或则关闭
1598
- expandChange(t, e) {
1599
- this.$emit("expand-change", t, e);
1600
- },
1601
- // 设置单选
1602
- currentRowChange(t, e) {
1603
- this.$emit("current-row-change", t, e);
1604
- },
1605
- // 刷新事件
1606
- refreshChange() {
1607
- this.$emit("refresh-change");
1608
- },
1609
- // 选中实例
1610
- toggleSelection(t) {
1611
- t ? t.forEach((e) => {
1612
- this.$refs.table.toggleRowSelection(e);
1613
- }) : this.$refs.table.clearSelection();
1614
- },
1615
- // 选择回调
1616
- selectionChange(t) {
1617
- this.tableSelect = t, this.$emit("selection-change", this.tableSelect);
1618
- },
1619
- // 单个选择回调
1620
- select(t, e) {
1621
- this.$emit("select", t, e);
1622
- },
1623
- // 点击勾选全选 Checkbox
1624
- selectAll(t) {
1625
- this.$emit("select-all", t);
1626
- },
1627
- // 筛选回调用
1628
- filterChange(t) {
1629
- this.$emit("filter-change", t);
1630
- },
1631
- // 排序回调
1632
- sortChange(t) {
1633
- this.$emit("sort-change", t);
1634
- },
1635
- // 行双击
1636
- rowDblclick(t, e) {
1637
- this.$emit("row-dblclick", t, e);
1638
- },
1639
- // 行单机
1640
- rowClick(t, e, i) {
1641
- this.$emit("row-click", t, e, i);
1642
- },
1643
- // 清空排序
1644
- clearSort() {
1645
- this.$refs.table.clearSort();
1646
- },
1647
- // 当单元格 hover 进入时会触发该事件
1648
- cellMouseEnter(t, e, i, n) {
1649
- this.$emit("cell-mouse-enter", t, e, i, n);
1650
- },
1651
- // 当单元格 hover 退出时会触发该事件
1652
- cellMouseLeave(t, e, i, n) {
1653
- this.$emit("cell-mouse-leave", t, e, i, n);
1654
- },
1655
- // 当某个单元格被点击时会触发该事件
1656
- cellClick(t, e, i, n) {
1657
- this.$emit("cell-click", t, e, i, n);
1658
- },
1659
- // 当某一列的表头被点击时会触发该事件
1660
- headerClick(t, e) {
1661
- this.$emit("header-click", t, e);
1662
- },
1663
- // 当某一行被鼠标右键点击时会触发该事件
1664
- rowContextmenu(t, e, i) {
1665
- this.$emit("row-contextmenu", t, e, i);
1666
- },
1667
- // 当某一列的表头被鼠标右键点击时触发该事件
1668
- headerContextmenu(t, e) {
1669
- this.$emit("header-contextmenu", t, e);
1670
- },
1671
- // 当某个单元格被双击击时会触发该事件
1672
- cellDblclick(t, e, i, n) {
1673
- this.$emit("cell-dblclick", t, e, i, n);
1674
- },
1675
- // 单元格新增
1676
- rowCellAdd(t = {}) {
1677
- const e = this.list.length, i = k(this.propOption).tableForm;
1678
- t = a({
1679
- $cellEdit: !0,
1680
- $index: e,
1681
- ...i,
1682
- ...t
1683
- }), this.list.push(t);
1684
- },
1685
- // 行取消
1686
- rowCancel(t, e) {
1687
- c(t[this.rowKey]) ? (this.list.splice(e, 1), delete this.cascaderDIC[e]) : (this.cascaderFormList[e].$cellEdit = !1, this.$set(this.cascaderDIC, e, this.cascaderDicList[e]), this.$set(this.list, e, this.cascaderFormList[e])), delete this.cascaderDicList[e], delete this.cascaderFormList[e], this.cascaderIndexList.splice(this.cascaderIndexList.indexOf(e), 1);
1688
- },
1689
- // 行编辑点击
1690
- rowCell(t, e) {
1691
- t.$cellEdit ? this.rowCellUpdate(t, e) : this.rowCellEdit(t, e);
1692
- },
1693
- rowCellUpdate(t, e) {
1694
- t = a(t);
1695
- const i = this.validateCellField(e), n = () => {
1696
- this.btnDisabledList[e] = !1, this.btnDisabled = !1, this.list[e].$cellEdit = !1, this.cascaderIndexList.splice(this.cascaderIndexList.indexOf(e), 1), delete this.cascaderFormList[e];
1697
- }, r = () => {
1698
- this.btnDisabledList[e] = !1, this.btnDisabled = !1;
1699
- };
1700
- i && (this.btnDisabledList[e] = !0, this.btnDisabled = !0, c(t[this.rowKey]) ? this.$emit("row-save", t, n, r) : this.$emit("row-update", t, e, n, r));
1701
- },
1702
- // 单元格编辑
1703
- rowCellEdit(t, e) {
1704
- t.$cellEdit = !0, this.cascaderFormList[e] = a(t), this.cascaderDicList[e] = a(this.cascaderDIC[e]);
1705
- },
1706
- // 对部分表单字段进行校验
1707
- validateCellForm() {
1708
- return new Promise((t) => {
1709
- this.$refs.cellForm.validate((e, i) => {
1710
- t(i);
1711
- });
1712
- });
1713
- },
1714
- validateCellField(t) {
1715
- let e = !0;
1716
- for (const i of this.$refs.cellForm.fields)
1717
- if (i.prop.split(".")[1] === `${t}` && this.$refs.cellForm.validateField(i.prop, (n) => {
1718
- n && (e = !1);
1719
- }), !e) break;
1720
- return e;
1721
- },
1722
- rowAdd() {
1723
- this.$refs.dialogForm.show("add");
1724
- },
1725
- rowSave() {
1726
- return this.$refs.dialogForm.$refs.tableForm.submit();
1727
- },
1728
- rowUpdate() {
1729
- return this.$refs.dialogForm.$refs.tableForm.submit();
1730
- },
1731
- closeDialog() {
1732
- return this.$refs.dialogForm.closeDialog();
1733
- },
1734
- getPropRef(t) {
1735
- return this.$refs.dialogForm.$refs.tableForm.getPropRef(t);
1736
- },
1737
- setVal() {
1738
- this.$emit("input", this.tableForm), this.$emit("change", this.tableForm);
1739
- },
1740
- // 编辑
1741
- rowEdit(t, e) {
1742
- this.tableForm = a(t), this.tableIndex = e, this.setVal(), this.$refs.dialogForm.show("edit");
1743
- },
1744
- // 复制
1745
- rowCopy(t) {
1746
- this.tableForm = a(t), delete this.tableForm[this.rowKey], this.tableIndex = -1, this.setVal(), this.$refs.dialogForm.show("add");
1747
- },
1748
- // 查看
1749
- rowView(t, e) {
1750
- this.tableForm = a(t), this.tableIndex = e, this.setVal(), this.$refs.dialogForm.show("view");
1751
- },
1752
- // 删除
1753
- rowDel(t, e) {
1754
- this.$emit("row-del", t, e, () => {
1755
- const { parentList: i, index: n } = this.findData(t[this.rowKey]);
1756
- i && i.splice(n, 1);
1757
- });
1758
- },
1759
- // 合并行
1760
- tableSpanMethod(t) {
1761
- if (typeof this.spanMethod == "function") return this.spanMethod(t);
1762
- },
1763
- // 合集统计逻辑
1764
- tableSummaryMethod(t) {
1765
- const e = {};
1766
- if (typeof this.summaryMethod == "function")
1767
- return this.summaryMethod(t);
1768
- const { columns: i, data: n } = t, r = [];
1769
- return i.length > 0 && i.forEach((s, l) => {
1770
- const o = this.sumColumnList.find((m) => m.name === s.property);
1771
- if (o) {
1772
- const m = o.decimals || 2, u = o.label || "";
1773
- let g = 1;
1774
- switch (o.type) {
1775
- case "count":
1776
- r[l] = u + n.length;
1777
- break;
1778
- case "avg":
1779
- r[l] = n.map((d) => Number(d[s.property])).reduce((d, _) => {
1780
- const v = Number(_);
1781
- return isNaN(v) ? d : (d * (g - 1) + _) / g++;
1782
- }, 0), r[l] = u + r[l].toFixed(m);
1783
- break;
1784
- case "sum":
1785
- r[l] = n.map((d) => Number(d[s.property])).reduce((d, _) => {
1786
- const v = Number(_);
1787
- return isNaN(v) ? d : d + _;
1788
- }, 0), r[l] = u + r[l].toFixed(m);
1789
- break;
1790
- }
1791
- e[s.property] = r[l];
1792
- } else
1793
- r[l] = "";
1794
- }), this.sumsList = e, r;
1795
- },
1796
- tableDrop(t, e, i) {
1797
- if (this.isSortable !== !0) {
1798
- if (t === "row" && !this.isRowSort)
1799
- return;
1800
- if (t === "column" && !this.isColumnSort)
1801
- return;
1802
- }
1803
- if (!window.Sortable) {
1804
- $.logs("Sortable");
1805
- return;
1806
- }
1807
- window.Sortable.create(e, {
1808
- ghostClass: p.ghostClass,
1809
- chosenClass: p.ghostClass,
1810
- animation: 500,
1811
- delay: 0,
1812
- onEnd: (n) => i(n)
1813
- });
1814
- },
1815
- findData(t) {
1816
- let e = {};
1817
- const i = (n, r) => {
1818
- n.forEach((s, l) => {
1819
- s[this.rowKey] === t && (e = {
1820
- item: s,
1821
- index: l,
1822
- parentList: n,
1823
- parent: r
1824
- }), s[this.childrenKey] && i(s[this.childrenKey], s);
1825
- });
1826
- };
1827
- return i(this.list), e;
1828
- }
1829
- }
1830
- };
1831
- var Ue = function() {
1832
- var e = this, i = e._self._c;
1833
- return i("div", { staticClass: "avue-crud avue-crud--card" }, [e.tableOption.title ? i(e.tableOption.titleSize || "h2", { tag: "Component", style: e.tableOption.titleStyle }, [e._v(" " + e._s(e.tableOption.title) + " ")]) : e._e(), i("HeaderSearch", { ref: "headerSearch", scopedSlots: e._u([{ key: "search", fn: function(n) {
1834
- return [e._t("search", null, null, n)];
1835
- } }, { key: "searchMenu", fn: function(n) {
1836
- return [e._t("searchMenu", null, null, n)];
1837
- } }, e._l(e.searchSlot, function(n) {
1838
- return { key: n, fn: function(r) {
1839
- return [e._t(n, null, null, r)];
1840
- } };
1841
- })], null, !0) }), e.optVal(e.tableOption.header, !0) ? i("HeaderMenu", { ref: "headerMenu", scopedSlots: e._u([{ key: "menuLeft", fn: function(n) {
1842
- return [e._t("menuLeft", null, null, n)];
1843
- } }, { key: "menuRight", fn: function(n) {
1844
- return [e._t("menuRight", null, null, n)];
1845
- } }], null, !0) }) : e._e(), e.optVal(e.tableOption.tip, e.config.tip) && e.tableOption.selection ? i("ElTag", { staticClass: "avue-crud__tip" }, [i("span", { staticClass: "avue-crud__tip-name" }, [e._v(" 当前表格已选择 "), i("span", { staticClass: "avue-crud__tip-count" }, [e._v(e._s(e.selectLen))]), e._v(" 项 ")]), e.optVal(e.tableOption.selectClearBtn, e.config.selectClearBtn) && e.tableOption.selection ? i("ElButton", { directives: [{ name: "permission", rawName: "v-permission", value: e.getPermission("selectClearBtn"), expression: "getPermission('selectClearBtn')" }], attrs: { type: "text", size: "small" }, on: { click: e.selectClear } }, [e._v(" 清 空 ")]) : e._e(), e._t("tip")], 2) : e._e(), e._t("header"), i("ElForm", { ref: "cellForm", attrs: { model: e.cellForm, "show-message": !1 }, on: { validate: e.handleValidate } }, [i("ElTable", { directives: [{ name: "loading", rawName: "v-loading", value: e.tableLoading, expression: "tableLoading" }], key: e.reload, ref: "table", class: { "avue-crud--indeterminate": e.optVal(e.tableOption.indeterminate, !1) }, attrs: { data: e.cellForm.list, "row-key": e.rowKey, size: e.$AVUE.tableSize || e.controlSize, lazy: e.optVal(e.tableOption.lazy, !1), load: e.treeLoad, "tree-props": e.treeProps, "expand-row-keys": e.tableOption.expandRowKeys, "default-expand-all": e.tableOption.defaultExpandAll, "highlight-current-row": e.tableOption.highlightCurrentRow, "show-summary": e.tableOption.showSummary, "summary-method": e.tableSummaryMethod, "span-method": e.tableSpanMethod, stripe: e.tableOption.stripe, "show-header": e.tableOption.showHeader, "default-sort": e.tableOption.defaultSort, "row-class-name": e.rowClassName, "cell-class-name": e.cellClassName, "row-style": e.rowStyle, "cell-style": e.cellStyle, fit: e.tableOption.fit, "header-cell-class-name": e.headerCellClassName, "max-height": e.isAutoHeight ? e.tableHeight : e.tableOption.maxHeight, height: e.tableHeight, width: e.setPx(e.tableOption.width, e.config.width), border: e.tableOption.border }, on: { "current-change": e.currentRowChange, "expand-change": e.expandChange, "header-dragend": e.headerDragend, "row-click": e.rowClick, "row-dblclick": e.rowDblclick, "cell-mouse-enter": e.cellMouseEnter, "cell-mouse-leave": e.cellMouseLeave, "cell-click": e.cellClick, "header-click": e.headerClick, "row-contextmenu": e.rowContextmenu, "header-contextmenu": e.headerContextmenu, "cell-dblclick": e.cellDblclick, "filter-change": e.filterChange, "selection-change": e.selectionChange, select: e.select, "select-all": e.selectAll, "sort-change": e.sortChange }, scopedSlots: e._u([{ key: "empty", fn: function() {
1846
- return [e.$slots.empty ? e._t("empty") : i("ElEmpty", { staticClass: "avue-crud__empty", attrs: { "image-size": 100, description: e.tableOption.emptyText } })];
1847
- }, proxy: !0 }], null, !0) }, [i("Column", { attrs: { "column-option": e.columnOption }, scopedSlots: e._u([{ key: "header", fn: function() {
1848
- return [i("ColumnDefault", { ref: "columnDefault", scopedSlots: e._u([{ key: "expand", fn: function({ row: n, index: r }) {
1849
- return [e._t("expand", null, { row: n, index: r })];
1850
- } }], null, !0) })];
1851
- }, proxy: !0 }, e._l(e.mainSlot, function(n) {
1852
- return { key: n, fn: function(r) {
1853
- return [e._t(n, null, null, r)];
1854
- } };
1855
- }), { key: "footer", fn: function() {
1856
- return [i("ColumnMenu", { scopedSlots: e._u([{ key: "menu", fn: function(n) {
1857
- return [e._t("menu", null, null, n)];
1858
- } }, { key: "menuBtn", fn: function(n) {
1859
- return [e._t("menuBtn", null, null, n)];
1860
- } }], null, !0) })];
1861
- }, proxy: !0 }], null, !0) })], 1)], 1), e._t("footer"), i("TablePage", { ref: "tablePage" }), i("FyDialogForm", { ref: "dialogForm", scopedSlots: e._u([e._l(e.formSlot, function(n) {
1862
- return { key: n, fn: function(r) {
1863
- return [e._t(n, null, null, r)];
1864
- } };
1865
- }), { key: "menuForm", fn: function(n) {
1866
- return [e._t("menuForm", null, null, n)];
1867
- } }], null, !0) }), i("DialogColumn", { ref: "dialogColumn" }), i("DialogExcel", { ref: "dialogExcel" }), i("DialogFilter", { ref: "dialogFilter" })], 2);
1868
- }, Ge = [], qe = /* @__PURE__ */ f(
1869
- Ke,
1870
- Ue,
1871
- Ge,
1872
- !1,
1873
- null,
1874
- null
1875
- );
1876
- const ot = qe.exports;
1877
- export {
1878
- ot as default
1879
- };
1
+ import { t as e } from "../chunks/FyCurd.me083T8V.mjs";
2
+ export { e as default };