@sugarat/easypicker2-client 2.7.3 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/dist/assets/aria-legacy-B70JmEZA.js.map +1 -1
  2. package/dist/assets/aria-nkjrUMQ-.js.map +1 -1
  3. package/dist/assets/config-CnEgj70a.css +1 -0
  4. package/dist/assets/config-DR4Jo6x0.js +2 -0
  5. package/dist/assets/config-DR4Jo6x0.js.map +1 -0
  6. package/dist/assets/config-legacy-Frhed9Ou.js +2 -0
  7. package/dist/assets/config-legacy-Frhed9Ou.js.map +1 -0
  8. package/dist/assets/{data-analysis-Bnq_VWU8.js → data-analysis-B8jQ_UrC.js} +2 -2
  9. package/dist/assets/data-analysis-B8jQ_UrC.js.map +1 -0
  10. package/dist/assets/{data-analysis-legacy-_KcR253K.js → data-analysis-legacy-DjCCKm5W.js} +2 -2
  11. package/dist/assets/data-analysis-legacy-DjCCKm5W.js.map +1 -0
  12. package/dist/assets/{data-board-L3s5ouKd.js → data-board-BGj6fORD.js} +2 -2
  13. package/dist/assets/data-board-BGj6fORD.js.map +1 -0
  14. package/dist/assets/{data-board-legacy-BFxWeFnQ.js → data-board-legacy-D0aBtKuE.js} +2 -2
  15. package/dist/assets/data-board-legacy-D0aBtKuE.js.map +1 -0
  16. package/dist/assets/delete-filled-B3KAHg4C.js +2 -0
  17. package/dist/assets/delete-filled-B3KAHg4C.js.map +1 -0
  18. package/dist/assets/delete-filled-legacy-IwQ4U_-h.js +2 -0
  19. package/dist/assets/delete-filled-legacy-IwQ4U_-h.js.map +1 -0
  20. package/dist/assets/el-date-picker-2VHUEHRN.js +2 -0
  21. package/dist/assets/el-date-picker-2VHUEHRN.js.map +1 -0
  22. package/dist/assets/el-date-picker-legacy-6LjuTLvj.js +2 -0
  23. package/dist/assets/el-date-picker-legacy-6LjuTLvj.js.map +1 -0
  24. package/dist/assets/el-dropdown-item-C_iGHfk5.js +2 -0
  25. package/dist/assets/el-dropdown-item-C_iGHfk5.js.map +1 -0
  26. package/dist/assets/el-dropdown-item-legacy-Dd1a85un.js +2 -0
  27. package/dist/assets/el-dropdown-item-legacy-Dd1a85un.js.map +1 -0
  28. package/dist/assets/el-empty-C2yupmrg.css +1 -0
  29. package/dist/assets/el-empty-DM1AJWOT.js +2 -0
  30. package/dist/assets/el-empty-DM1AJWOT.js.map +1 -0
  31. package/dist/assets/el-empty-legacy-ZCYPIt_S.js +2 -0
  32. package/dist/assets/el-empty-legacy-ZCYPIt_S.js.map +1 -0
  33. package/dist/assets/el-input-number-CU7OpiYS.css +1 -0
  34. package/dist/assets/el-input-number-CgyrHNcj.js +2 -0
  35. package/dist/assets/el-input-number-CgyrHNcj.js.map +1 -0
  36. package/dist/assets/el-input-number-legacy-Bh6hK4h_.js +2 -0
  37. package/dist/assets/el-input-number-legacy-Bh6hK4h_.js.map +1 -0
  38. package/dist/assets/{el-loading-DNzUD85e.js → el-loading-DqRoOOxo.js} +2 -2
  39. package/dist/assets/el-loading-DqRoOOxo.js.map +1 -0
  40. package/dist/assets/el-loading-legacy-CFNL_MoE.js +2 -0
  41. package/dist/assets/el-loading-legacy-CFNL_MoE.js.map +1 -0
  42. package/dist/assets/el-pagination-DVClk9XJ.js +2 -0
  43. package/dist/assets/el-pagination-DVClk9XJ.js.map +1 -0
  44. package/dist/assets/el-pagination-legacy-DwnhLxcB.js +2 -0
  45. package/dist/assets/el-pagination-legacy-DwnhLxcB.js.map +1 -0
  46. package/dist/assets/el-scrollbar-B_rEcSsQ.js +2 -0
  47. package/dist/assets/el-scrollbar-B_rEcSsQ.js.map +1 -0
  48. package/dist/assets/el-scrollbar-DFu7lMno.css +1 -0
  49. package/dist/assets/el-scrollbar-legacy-DVIFmrwk.js +2 -0
  50. package/dist/assets/el-scrollbar-legacy-DVIFmrwk.js.map +1 -0
  51. package/dist/assets/el-select-C5BnfITI.js +2 -0
  52. package/dist/assets/el-select-C5BnfITI.js.map +1 -0
  53. package/dist/assets/el-select-Dm4tLYz8.css +1 -0
  54. package/dist/assets/el-select-legacy-yKcmdaqh.js +2 -0
  55. package/dist/assets/el-select-legacy-yKcmdaqh.js.map +1 -0
  56. package/dist/assets/el-switch-BUjvki0a.js +2 -0
  57. package/dist/assets/el-switch-BUjvki0a.js.map +1 -0
  58. package/dist/assets/el-switch-legacy-CeDo4e_6.js +2 -0
  59. package/dist/assets/el-switch-legacy-CeDo4e_6.js.map +1 -0
  60. package/dist/assets/el-tab-pane-DKrBN9bA.js +2 -0
  61. package/dist/assets/el-tab-pane-DKrBN9bA.js.map +1 -0
  62. package/dist/assets/{el-tab-pane-legacy-DMdhUCHY.js → el-tab-pane-legacy-Ct9rYze8.js} +2 -2
  63. package/dist/assets/el-tab-pane-legacy-Ct9rYze8.js.map +1 -0
  64. package/dist/assets/{el-table-column-tkbtgrcD.js → el-table-column-cVnV9Qdi.js} +3 -3
  65. package/dist/assets/el-table-column-cVnV9Qdi.js.map +1 -0
  66. package/dist/assets/el-table-column-legacy-D2UbUqx0.js +24 -0
  67. package/dist/assets/el-table-column-legacy-D2UbUqx0.js.map +1 -0
  68. package/dist/assets/el-tag-Bgje3_SF.css +1 -0
  69. package/dist/assets/el-tag-CR8VXqUN.js +2 -0
  70. package/dist/assets/el-tag-CR8VXqUN.js.map +1 -0
  71. package/dist/assets/el-tag-legacy-diNMtlkE.js +2 -0
  72. package/dist/assets/el-tag-legacy-diNMtlkE.js.map +1 -0
  73. package/dist/assets/el-upload-B2Zxm6X5.css +1 -0
  74. package/dist/assets/el-upload-DRWHzvzW.js +2 -0
  75. package/dist/assets/el-upload-DRWHzvzW.js.map +1 -0
  76. package/dist/assets/el-upload-legacy-C7Y6h5AK.js +2 -0
  77. package/dist/assets/el-upload-legacy-C7Y6h5AK.js.map +1 -0
  78. package/dist/assets/index-8vfFTV-B.css +1 -0
  79. package/dist/assets/index-B2PHCM63.js +23 -0
  80. package/dist/assets/index-B2PHCM63.js.map +1 -0
  81. package/dist/assets/{index-C4H-Ptjt.css → index-BDkChTag.css} +1 -1
  82. package/dist/assets/index-BDsN2eKB.js +2 -0
  83. package/dist/assets/index-BDsN2eKB.js.map +1 -0
  84. package/dist/assets/index-BIKx9Xnn.js +2 -0
  85. package/dist/assets/index-BIKx9Xnn.js.map +1 -0
  86. package/dist/assets/index-BOFlLnYl.js +2 -0
  87. package/dist/assets/index-BOFlLnYl.js.map +1 -0
  88. package/dist/assets/index-BSMNPGJ5.css +1 -0
  89. package/dist/assets/index-BVp20vyj.css +1 -0
  90. package/dist/assets/index-BWExpeba.js +2 -0
  91. package/dist/assets/index-BWExpeba.js.map +1 -0
  92. package/dist/assets/index-B_7cUQcW.js +2 -0
  93. package/dist/assets/index-B_7cUQcW.js.map +1 -0
  94. package/dist/assets/index-BcJxc1ki.css +1 -0
  95. package/dist/assets/index-BgihxBmj.css +1 -0
  96. package/dist/assets/index-BjSgvXxj.css +1 -0
  97. package/dist/assets/index-BrOLxzFM.js.map +1 -1
  98. package/dist/assets/index-Bx68sw-c.js +2 -0
  99. package/dist/assets/index-Bx68sw-c.js.map +1 -0
  100. package/dist/assets/index-BxcfgZqH.js +2 -0
  101. package/dist/assets/index-BxcfgZqH.js.map +1 -0
  102. package/dist/assets/{index-ehQnwCE_.css → index-Bxvzu7zF.css} +1 -1
  103. package/dist/assets/index-BzQdnJY9.js +2 -0
  104. package/dist/assets/index-BzQdnJY9.js.map +1 -0
  105. package/dist/assets/index-CFpIdG49.css +1 -0
  106. package/dist/assets/index-CQjXznXy.js +2 -0
  107. package/dist/assets/index-CQjXznXy.js.map +1 -0
  108. package/dist/assets/index-CQud0ONT.css +1 -0
  109. package/dist/assets/index-CkyNID7q.css +1 -0
  110. package/dist/assets/index-CsfbnGni.css +1 -0
  111. package/dist/assets/index-CuGN8YoJ.js +2 -0
  112. package/dist/assets/index-CuGN8YoJ.js.map +1 -0
  113. package/dist/assets/index-D94P-51I.css +1 -0
  114. package/dist/assets/index-DLuR61Hw.css +1 -0
  115. package/dist/assets/index-DRKBIvKP.js +2 -0
  116. package/dist/assets/index-DRKBIvKP.js.map +1 -0
  117. package/dist/assets/index-DTRiT4Ia.js +2 -0
  118. package/dist/assets/index-DTRiT4Ia.js.map +1 -0
  119. package/dist/assets/index-DVSUcRaY.js +2 -0
  120. package/dist/assets/index-DVSUcRaY.js.map +1 -0
  121. package/dist/assets/index-DWOXO9QK.js +2 -0
  122. package/dist/assets/index-DWOXO9QK.js.map +1 -0
  123. package/dist/assets/index-DWi4klmy.js +2 -0
  124. package/dist/assets/index-DWi4klmy.js.map +1 -0
  125. package/dist/assets/index-DcUtl6Nq.css +1 -0
  126. package/dist/assets/index-Diw0ScGB.js +2 -0
  127. package/dist/assets/index-Diw0ScGB.js.map +1 -0
  128. package/dist/assets/index-Dk60yOI9.js +2 -0
  129. package/dist/assets/index-Dk60yOI9.js.map +1 -0
  130. package/dist/assets/index-FISBGs_l.css +1 -0
  131. package/dist/assets/index-LKJh-8oZ.css +1 -0
  132. package/dist/assets/index-MRZ7DYIX.js +2 -0
  133. package/dist/assets/index-MRZ7DYIX.js.map +1 -0
  134. package/dist/assets/index-Q8b92C8V.css +1 -0
  135. package/dist/assets/index-X0ZxbeZs.js +2 -0
  136. package/dist/assets/index-X0ZxbeZs.js.map +1 -0
  137. package/dist/assets/index-fz1mWSN_.js +2 -0
  138. package/dist/assets/index-fz1mWSN_.js.map +1 -0
  139. package/dist/assets/index-legacy-B5_Eg4NO.js +2 -0
  140. package/dist/assets/index-legacy-B5_Eg4NO.js.map +1 -0
  141. package/dist/assets/index-legacy-B71iq4Jg.js +2 -0
  142. package/dist/assets/index-legacy-B71iq4Jg.js.map +1 -0
  143. package/dist/assets/index-legacy-B7MgTgVj.js +2 -0
  144. package/dist/assets/index-legacy-B7MgTgVj.js.map +1 -0
  145. package/dist/assets/index-legacy-BLCMV_4m.js +2 -0
  146. package/dist/assets/index-legacy-BLCMV_4m.js.map +1 -0
  147. package/dist/assets/index-legacy-BLu3Mu8j.js +2 -0
  148. package/dist/assets/index-legacy-BLu3Mu8j.js.map +1 -0
  149. package/dist/assets/index-legacy-BSmhgZ-n.js +2 -0
  150. package/dist/assets/index-legacy-BSmhgZ-n.js.map +1 -0
  151. package/dist/assets/index-legacy-BTvagK_v.js +2 -0
  152. package/dist/assets/index-legacy-BTvagK_v.js.map +1 -0
  153. package/dist/assets/index-legacy-C-gHf8SN.js.map +1 -1
  154. package/dist/assets/index-legacy-C2bwTRoT.js +2 -0
  155. package/dist/assets/index-legacy-C2bwTRoT.js.map +1 -0
  156. package/dist/assets/index-legacy-CM7bG2hM.js +2 -0
  157. package/dist/assets/index-legacy-CM7bG2hM.js.map +1 -0
  158. package/dist/assets/index-legacy-CRa6h-UF.js +2 -0
  159. package/dist/assets/index-legacy-CRa6h-UF.js.map +1 -0
  160. package/dist/assets/index-legacy-CkcZHDIb.js +54 -0
  161. package/dist/assets/index-legacy-CkcZHDIb.js.map +1 -0
  162. package/dist/assets/index-legacy-Cp4ut576.js +2 -0
  163. package/dist/assets/index-legacy-Cp4ut576.js.map +1 -0
  164. package/dist/assets/index-legacy-CvW_2XYj.js +2 -0
  165. package/dist/assets/index-legacy-CvW_2XYj.js.map +1 -0
  166. package/dist/assets/index-legacy-CwUt8UiU.js +2 -0
  167. package/dist/assets/index-legacy-CwUt8UiU.js.map +1 -0
  168. package/dist/assets/index-legacy-CzoivdRy.js +2 -0
  169. package/dist/assets/index-legacy-CzoivdRy.js.map +1 -0
  170. package/dist/assets/index-legacy-D-mrc8ns.js +2 -0
  171. package/dist/assets/index-legacy-D-mrc8ns.js.map +1 -0
  172. package/dist/assets/index-legacy-D2hV5N51.js +2 -0
  173. package/dist/assets/index-legacy-D2hV5N51.js.map +1 -0
  174. package/dist/assets/index-legacy-D6Zqa9lw.js +2 -0
  175. package/dist/assets/index-legacy-D6Zqa9lw.js.map +1 -0
  176. package/dist/assets/index-legacy-DrA0B2e4.js +2 -0
  177. package/dist/assets/index-legacy-DrA0B2e4.js.map +1 -0
  178. package/dist/assets/index-legacy-DysxAWeo.js +2 -0
  179. package/dist/assets/index-legacy-DysxAWeo.js.map +1 -0
  180. package/dist/assets/index-legacy-TKeSN56S.js +16 -0
  181. package/dist/assets/index-legacy-TKeSN56S.js.map +1 -0
  182. package/dist/assets/index-legacy-erTEdV9o.js +2 -0
  183. package/dist/assets/index-legacy-erTEdV9o.js.map +1 -0
  184. package/dist/assets/index-legacy-pHu03Ans.js +2 -0
  185. package/dist/assets/index-legacy-pHu03Ans.js.map +1 -0
  186. package/dist/assets/index-legacy-w1mXHpIQ.js +2 -0
  187. package/dist/assets/index-legacy-w1mXHpIQ.js.map +1 -0
  188. package/dist/assets/index-mtfctTgx.css +1 -0
  189. package/dist/assets/index-sRZE1X3H.js +2 -0
  190. package/dist/assets/index-sRZE1X3H.js.map +1 -0
  191. package/dist/assets/index-uNaj-154.js +40 -0
  192. package/dist/assets/index-uNaj-154.js.map +1 -0
  193. package/dist/assets/index-vo_ird7L.js +2 -0
  194. package/dist/assets/index-vo_ird7L.js.map +1 -0
  195. package/dist/assets/linkDialog-Dida934t.css +1 -0
  196. package/dist/assets/linkDialog-legacy-0_j99SG_.js +2 -0
  197. package/dist/assets/linkDialog-legacy-0_j99SG_.js.map +1 -0
  198. package/dist/assets/linkDialog-vYdu1-Ul.js +2 -0
  199. package/dist/assets/linkDialog-vYdu1-Ul.js.map +1 -0
  200. package/dist/assets/other-BiIe9Z0L.js +2 -0
  201. package/dist/assets/other-BiIe9Z0L.js.map +1 -0
  202. package/dist/assets/other-legacy-Bfm4KL87.js +2 -0
  203. package/dist/assets/other-legacy-Bfm4KL87.js.map +1 -0
  204. package/dist/assets/polyfills-legacy-DqO_DCwg.js +1 -0
  205. package/dist/assets/{refresh-DPuuDO9h.js → refresh-BnOQ8sKt.js} +2 -2
  206. package/dist/assets/refresh-BnOQ8sKt.js.map +1 -0
  207. package/dist/assets/{refresh-legacy-DOts-8Wc.js → refresh-legacy-D7NGa5wN.js} +2 -2
  208. package/dist/assets/refresh-legacy-D7NGa5wN.js.map +1 -0
  209. package/dist/assets/tip-CyB8omfw.js +2 -0
  210. package/dist/assets/tip-CyB8omfw.js.map +1 -0
  211. package/dist/assets/tip-legacy-DXZHLiK7.js +2 -0
  212. package/dist/assets/tip-legacy-DXZHLiK7.js.map +1 -0
  213. package/dist/assets/tipInfo-0FQ2unt4.js +2 -0
  214. package/dist/assets/tipInfo-0FQ2unt4.js.map +1 -0
  215. package/dist/assets/tipInfo-BPHCIpRm.css +1 -0
  216. package/dist/assets/tipInfo-legacy-cRqTuiqx.js +2 -0
  217. package/dist/assets/tipInfo-legacy-cRqTuiqx.js.map +1 -0
  218. package/dist/index.html +105 -128
  219. package/package.json +13 -34
  220. package/README.md +0 -86
  221. package/dist/assets/data-analysis-Bnq_VWU8.js.map +0 -1
  222. package/dist/assets/data-analysis-legacy-_KcR253K.js.map +0 -1
  223. package/dist/assets/data-board-L3s5ouKd.js.map +0 -1
  224. package/dist/assets/data-board-legacy-BFxWeFnQ.js.map +0 -1
  225. package/dist/assets/el-date-picker-legacy-Uk9x97L5.js +0 -2
  226. package/dist/assets/el-date-picker-legacy-Uk9x97L5.js.map +0 -1
  227. package/dist/assets/el-date-picker-mhY2RJMG.js +0 -2
  228. package/dist/assets/el-date-picker-mhY2RJMG.js.map +0 -1
  229. package/dist/assets/el-dialog-Cu2jwelC.css +0 -1
  230. package/dist/assets/el-dialog-PRccau6N.js +0 -2
  231. package/dist/assets/el-dialog-PRccau6N.js.map +0 -1
  232. package/dist/assets/el-dialog-legacy-BRLM43ZY.js +0 -2
  233. package/dist/assets/el-dialog-legacy-BRLM43ZY.js.map +0 -1
  234. package/dist/assets/el-dropdown-item-Cr71teRg.js +0 -2
  235. package/dist/assets/el-dropdown-item-Cr71teRg.js.map +0 -1
  236. package/dist/assets/el-dropdown-item-legacy-B0ufpHvy.js +0 -2
  237. package/dist/assets/el-dropdown-item-legacy-B0ufpHvy.js.map +0 -1
  238. package/dist/assets/el-form-item-Cc9R0dZ1.css +0 -1
  239. package/dist/assets/el-form-item-DOwM4Mv8.js +0 -2
  240. package/dist/assets/el-form-item-DOwM4Mv8.js.map +0 -1
  241. package/dist/assets/el-form-item-legacy-CvQy7syv.js +0 -2
  242. package/dist/assets/el-form-item-legacy-CvQy7syv.js.map +0 -1
  243. package/dist/assets/el-loading-DNzUD85e.js.map +0 -1
  244. package/dist/assets/el-loading-legacy-B3RLcjwN.js +0 -2
  245. package/dist/assets/el-loading-legacy-B3RLcjwN.js.map +0 -1
  246. package/dist/assets/el-pagination-iCicJonH.js +0 -2
  247. package/dist/assets/el-pagination-iCicJonH.js.map +0 -1
  248. package/dist/assets/el-pagination-legacy-Bf-Bzx7n.js +0 -2
  249. package/dist/assets/el-pagination-legacy-Bf-Bzx7n.js.map +0 -1
  250. package/dist/assets/el-progress-1hLO5hs0.js +0 -2
  251. package/dist/assets/el-progress-1hLO5hs0.js.map +0 -1
  252. package/dist/assets/el-progress-legacy-QmxDezwR.js +0 -2
  253. package/dist/assets/el-progress-legacy-QmxDezwR.js.map +0 -1
  254. package/dist/assets/el-progress-njCW9-w4.css +0 -1
  255. package/dist/assets/el-select-BSO0hXRI.css +0 -1
  256. package/dist/assets/el-select-CVjQdC39.js +0 -2
  257. package/dist/assets/el-select-CVjQdC39.js.map +0 -1
  258. package/dist/assets/el-select-legacy-DSGgSQYX.js +0 -2
  259. package/dist/assets/el-select-legacy-DSGgSQYX.js.map +0 -1
  260. package/dist/assets/el-switch-B76QvbJN.js +0 -2
  261. package/dist/assets/el-switch-B76QvbJN.js.map +0 -1
  262. package/dist/assets/el-switch-legacy-CHkEgavQ.js +0 -2
  263. package/dist/assets/el-switch-legacy-CHkEgavQ.js.map +0 -1
  264. package/dist/assets/el-tab-pane-BhVByOfe.js +0 -2
  265. package/dist/assets/el-tab-pane-BhVByOfe.js.map +0 -1
  266. package/dist/assets/el-tab-pane-legacy-DMdhUCHY.js.map +0 -1
  267. package/dist/assets/el-table-column-legacy-N_oU_-0P.js +0 -24
  268. package/dist/assets/el-table-column-legacy-N_oU_-0P.js.map +0 -1
  269. package/dist/assets/el-table-column-tkbtgrcD.js.map +0 -1
  270. package/dist/assets/index-3yen43So.js +0 -2
  271. package/dist/assets/index-3yen43So.js.map +0 -1
  272. package/dist/assets/index-5sS3uHi0.css +0 -1
  273. package/dist/assets/index-9zuSLjpa.js +0 -2
  274. package/dist/assets/index-9zuSLjpa.js.map +0 -1
  275. package/dist/assets/index-B-6zRvEX.js +0 -2
  276. package/dist/assets/index-B-6zRvEX.js.map +0 -1
  277. package/dist/assets/index-B5tZv3FB.css +0 -1
  278. package/dist/assets/index-BN1f1UM3.js +0 -2
  279. package/dist/assets/index-BN1f1UM3.js.map +0 -1
  280. package/dist/assets/index-BUmkgniE.js +0 -2
  281. package/dist/assets/index-BUmkgniE.js.map +0 -1
  282. package/dist/assets/index-BbfnoqK6.js +0 -2
  283. package/dist/assets/index-BbfnoqK6.js.map +0 -1
  284. package/dist/assets/index-BghihfR3.css +0 -1
  285. package/dist/assets/index-C3IckGNL.js +0 -2
  286. package/dist/assets/index-C3IckGNL.js.map +0 -1
  287. package/dist/assets/index-CYAf_OTx.js +0 -40
  288. package/dist/assets/index-CYAf_OTx.js.map +0 -1
  289. package/dist/assets/index-Cb6-p2hG.js +0 -2
  290. package/dist/assets/index-Cb6-p2hG.js.map +0 -1
  291. package/dist/assets/index-CbkKWoQA.css +0 -1
  292. package/dist/assets/index-CeWnhlkq.css +0 -1
  293. package/dist/assets/index-Cfg2jkVw.css +0 -1
  294. package/dist/assets/index-CkMvb3wF.css +0 -1
  295. package/dist/assets/index-Cl4G6EQO.js +0 -2
  296. package/dist/assets/index-Cl4G6EQO.js.map +0 -1
  297. package/dist/assets/index-CnbFxlpi.css +0 -1
  298. package/dist/assets/index-Cyb1OjRN.js +0 -2
  299. package/dist/assets/index-Cyb1OjRN.js.map +0 -1
  300. package/dist/assets/index-D2p3cWtM.css +0 -1
  301. package/dist/assets/index-D7aZxhM6.js +0 -2
  302. package/dist/assets/index-D7aZxhM6.js.map +0 -1
  303. package/dist/assets/index-DI41wbky.js +0 -2
  304. package/dist/assets/index-DI41wbky.js.map +0 -1
  305. package/dist/assets/index-DaSb9EV4.css +0 -1
  306. package/dist/assets/index-DcOjlpKI.js +0 -2
  307. package/dist/assets/index-DcOjlpKI.js.map +0 -1
  308. package/dist/assets/index-DjO-nUIS.js +0 -2
  309. package/dist/assets/index-DjO-nUIS.js.map +0 -1
  310. package/dist/assets/index-DnxF29eG.css +0 -1
  311. package/dist/assets/index-DrKX0cCg.js +0 -2
  312. package/dist/assets/index-DrKX0cCg.js.map +0 -1
  313. package/dist/assets/index-F3S0vKOW.js +0 -2
  314. package/dist/assets/index-F3S0vKOW.js.map +0 -1
  315. package/dist/assets/index-I78Ur1Md.js +0 -2
  316. package/dist/assets/index-I78Ur1Md.js.map +0 -1
  317. package/dist/assets/index-L0LtrfyP.js +0 -2
  318. package/dist/assets/index-L0LtrfyP.js.map +0 -1
  319. package/dist/assets/index-XNFQHmLL.css +0 -1
  320. package/dist/assets/index-dEAnfrhp.css +0 -1
  321. package/dist/assets/index-hhTdfxnD.css +0 -1
  322. package/dist/assets/index-lTmxAqnX.js +0 -2
  323. package/dist/assets/index-lTmxAqnX.js.map +0 -1
  324. package/dist/assets/index-legacy-BJNK4MqF.js +0 -2
  325. package/dist/assets/index-legacy-BJNK4MqF.js.map +0 -1
  326. package/dist/assets/index-legacy-BLlk8iq-.js +0 -42
  327. package/dist/assets/index-legacy-BLlk8iq-.js.map +0 -1
  328. package/dist/assets/index-legacy-BmWYm3m_.js +0 -2
  329. package/dist/assets/index-legacy-BmWYm3m_.js.map +0 -1
  330. package/dist/assets/index-legacy-Bnp7569A.js +0 -2
  331. package/dist/assets/index-legacy-Bnp7569A.js.map +0 -1
  332. package/dist/assets/index-legacy-CQ24Si-w.js +0 -2
  333. package/dist/assets/index-legacy-CQ24Si-w.js.map +0 -1
  334. package/dist/assets/index-legacy-CT1nF7s9.js +0 -2
  335. package/dist/assets/index-legacy-CT1nF7s9.js.map +0 -1
  336. package/dist/assets/index-legacy-CeVzo60P.js +0 -2
  337. package/dist/assets/index-legacy-CeVzo60P.js.map +0 -1
  338. package/dist/assets/index-legacy-Cf0w_PNA.js +0 -2
  339. package/dist/assets/index-legacy-Cf0w_PNA.js.map +0 -1
  340. package/dist/assets/index-legacy-DZSQUiaj.js +0 -2
  341. package/dist/assets/index-legacy-DZSQUiaj.js.map +0 -1
  342. package/dist/assets/index-legacy-D_K0eXFb.js +0 -2
  343. package/dist/assets/index-legacy-D_K0eXFb.js.map +0 -1
  344. package/dist/assets/index-legacy-Da3YyHW_.js +0 -2
  345. package/dist/assets/index-legacy-Da3YyHW_.js.map +0 -1
  346. package/dist/assets/index-legacy-Da4s_D85.js +0 -2
  347. package/dist/assets/index-legacy-Da4s_D85.js.map +0 -1
  348. package/dist/assets/index-legacy-DhNaKknk.js +0 -2
  349. package/dist/assets/index-legacy-DhNaKknk.js.map +0 -1
  350. package/dist/assets/index-legacy-Dm1CXog1.js +0 -2
  351. package/dist/assets/index-legacy-Dm1CXog1.js.map +0 -1
  352. package/dist/assets/index-legacy-DpNNn-Dy.js +0 -2
  353. package/dist/assets/index-legacy-DpNNn-Dy.js.map +0 -1
  354. package/dist/assets/index-legacy-PkF4cKK9.js +0 -2
  355. package/dist/assets/index-legacy-PkF4cKK9.js.map +0 -1
  356. package/dist/assets/index-legacy-QHDmYAB8.js +0 -2
  357. package/dist/assets/index-legacy-QHDmYAB8.js.map +0 -1
  358. package/dist/assets/index-legacy-_M1-0586.js +0 -2
  359. package/dist/assets/index-legacy-_M1-0586.js.map +0 -1
  360. package/dist/assets/index-legacy-m0dvnwGi.js +0 -2
  361. package/dist/assets/index-legacy-m0dvnwGi.js.map +0 -1
  362. package/dist/assets/index-legacy-vRS79jKS.js +0 -2
  363. package/dist/assets/index-legacy-vRS79jKS.js.map +0 -1
  364. package/dist/assets/index-ypHH_Z_A.css +0 -1
  365. package/dist/assets/isEqual-BHpVKj_X.js +0 -2
  366. package/dist/assets/isEqual-BHpVKj_X.js.map +0 -1
  367. package/dist/assets/isEqual-legacy-BWUPR8bV.js +0 -2
  368. package/dist/assets/isEqual-legacy-BWUPR8bV.js.map +0 -1
  369. package/dist/assets/other-legacy-DjiCmSH4.js +0 -2
  370. package/dist/assets/other-legacy-DjiCmSH4.js.map +0 -1
  371. package/dist/assets/other-yMAyytYx.js +0 -2
  372. package/dist/assets/other-yMAyytYx.js.map +0 -1
  373. package/dist/assets/polyfills-legacy-CPmsgIAF.js +0 -4
  374. package/dist/assets/refresh-DPuuDO9h.js.map +0 -1
  375. package/dist/assets/refresh-legacy-DOts-8Wc.js.map +0 -1
  376. package/dist/assets/tip-CH7nBVXc.js +0 -2
  377. package/dist/assets/tip-CH7nBVXc.js.map +0 -1
  378. package/dist/assets/tip-legacy-DiCk_qP1.js +0 -2
  379. package/dist/assets/tip-legacy-DiCk_qP1.js.map +0 -1
  380. package/dist/assets/validator-BMr-jeUB.js +0 -2
  381. package/dist/assets/validator-BMr-jeUB.js.map +0 -1
  382. package/dist/assets/validator-legacy-CacjPWoF.js +0 -2
  383. package/dist/assets/validator-legacy-CacjPWoF.js.map +0 -1
  384. /package/dist/assets/{el-date-picker-NjWHL2Br.css → el-date-picker-C36c2CGO.css} +0 -0
  385. /package/dist/assets/{el-dropdown-item-CUgTpiu6.css → el-dropdown-item-5b6bMUQF.css} +0 -0
  386. /package/dist/assets/{el-loading-Uv12lkco.css → el-loading-BPl8mdQ3.css} +0 -0
  387. /package/dist/assets/{el-pagination-MvCAleW2.css → el-pagination-DMHBWKFj.css} +0 -0
  388. /package/dist/assets/{el-switch-D6dVIPlw.css → el-switch-CH9HekZJ.css} +0 -0
  389. /package/dist/assets/{el-tab-pane-kUw7IczA.css → el-tab-pane-CO1C5qCV.css} +0 -0
  390. /package/dist/assets/{el-table-column-DMXHP8sd.css → el-table-column-x3grTP_N.css} +0 -0
  391. /package/dist/assets/{tip-ovQu2XSt.css → tip-rRSL6nZ2.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-legacy-BLu3Mu8j.js","sources":["../../../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.5.12_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/upload-filled.mjs","../../src/pages/task/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"UploadFilled\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6H544z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar uploadFilled = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { uploadFilled as default };\n","<script lang=\"ts\" setup>\nimport type { FormInstance, UploadInstance, UploadUserFile } from 'element-plus'\nimport HomeFooter from '@components/HomeFooter/index.vue'\nimport LinkDialog from '@components/linkDialog.vue'\nimport { UploadFilled } from '@element-plus/icons-vue'\nimport { useLocalStorage } from '@vueuse/core'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { computed, onMounted, onUnmounted, reactive, ref, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { FileApi, PeopleApi, PublicApi, TaskApi } from '@/apis'\nimport InfosForm from '@/components/InfosForm/index.vue'\nimport { useIsMobile } from '@/composables'\nimport { downLoadByUrl, qiniuUpload } from '@/utils/networkUtil'\nimport {\n formatDate,\n formatSize,\n getFileMd5Hash,\n getFileSuffix,\n normalizeFileName,\n parseFileFormat,\n parseInfo,\n} from '@/utils/stringUtil'\nimport Tip from '../dashboard/tasks/components/infoPanel/tip.vue'\n\nconst isMobile = useIsMobile()\n// 顶部导航\nconst $router = useRouter()\nconst $route = useRoute()\nconst pcNavs = reactive([\n {\n title: '我也要收集',\n path: 'https://docs.ep.sugarat.top/',\n },\n])\nfunction handleNav(idx: number) {\n if (pcNavs[idx].path.startsWith('http')) {\n window.location.href = pcNavs[idx].path\n return\n }\n $router.push({\n path: pcNavs[idx].path,\n })\n}\n\n// 任务基本信息展示\nconst taskInfo = reactive<TaskApiTypes.TaskInfo>({\n name: '',\n category: '',\n})\nconst taskMoreInfo = reactive<Partial<TaskApiTypes.TaskInfo>>({\n bindField: '',\n})\nconst formatData = computed(() => parseFileFormat(taskMoreInfo.format))\nconst k = ref('')\n\n// 用于展示截止日期\nconst waitTime = ref(0)\n// 判断是否结束\nconst isOver = computed(() => waitTime.value <= 0)\nconst waitTimeStr = computed(() => {\n let seconds = ~~(waitTime.value / 1000)\n let hour = ~~(seconds / (60 * 60))\n const day = ~~(hour / 24)\n hour %= 24\n const minute = ~~((seconds % 3600) / 60)\n seconds %= 60\n return `剩余${day}天${hour}时${minute}分${seconds}秒`\n})\nfunction refreshWaitTime(loop = true) {\n if (taskMoreInfo?.ddl) {\n const date = new Date(taskMoreInfo.ddl)\n waitTime.value = date.getTime() - Date.now()\n }\n else {\n waitTime.value = 0\n }\n if (loop) {\n setTimeout(() => {\n refreshWaitTime()\n }, 1000)\n }\n}\nconst ddlStr = computed(() => {\n if (taskMoreInfo?.ddl) {\n const date = new Date(taskMoreInfo.ddl)\n return formatDate(date)\n }\n return ''\n})\n\n// 必填信息\nconst infos = reactive<InfoItem[]>([])\n\n// 文件上传部分\n\n// 文件上传\nconst fileList = ref<(UploadUserFile & { md5: string, subscription: any })[]>(\n [],\n)\nconst fileUpload = ref<UploadInstance>()\nconst disableForm = computed(\n () => fileList.value.filter(item => item.status === 'uploading').length > 0,\n)\nconst handleRemoveFile: any = (file: any) => {\n if (file.status === 'uploading' || file.status === 'success') {\n return ElMessageBox.confirm(\n '不影响已经上传成功的,正在上传的将取消上传',\n '确定从列表移除文件吗?',\n )\n .then(() => {\n if (file.status === 'uploading') {\n ElMessage.info(`取消${file.name}的上传`)\n // 取消上传\n file.subscription.unsubscribe() // 取消上传\n }\n return true\n })\n .catch(() => false)\n }\n return true\n}\n\n// 校验表单填写\nconst isWriteFinish = computed(() => infos.every(item => item.value))\n// 提交文件\n\nconst limitBindField = computed(() => {\n return taskMoreInfo.bindField.trim() || '姓名'\n})\n\n// 身份核验表单\nconst isSameFieldName = computed(() =>\n infos.find(v => v.text === limitBindField.value),\n)\nconst showValidForm = computed(\n () => taskMoreInfo.people && !isSameFieldName.value,\n)\nconst validModal = reactive({\n peopleName: '',\n})\n\nfunction validatePeopleName(rule: any, value: any, callback: any) {\n if (!value) {\n const message = `请输入${limitBindField.value}`\n callback(new Error(message))\n ElMessage.error(message)\n return\n }\n // 异步校验\n PeopleApi.checkPeopleIsExist(k.value, value).then((res) => {\n if (!res.data.exist) {\n ElMessage.error('你不在此次提交名单中,如有疑问请联系管理员')\n }\n callback(\n res.data.exist\n ? undefined\n : new Error('你不在此次提交名单中,如有疑问请联系管理员'),\n )\n })\n}\n\nconst validModalRef = ref<FormInstance>()\nconst validModalRules = reactive({\n peopleName: [{ validator: validatePeopleName, trigger: 'blur' }],\n})\nfunction confirmPeopleName() {\n // 处理表单必填项含有 limitBindField 的情况\n if (isSameFieldName.value) {\n const value = infos.find(v => v.text === limitBindField.value)?.value\n validModal.peopleName = value || ''\n return new Promise((resolve) => {\n validatePeopleName(null, value, resolve)\n }).then(v => !v)\n }\n return validModalRef.value.validate((isValid: boolean) => isValid)\n}\n\nfunction startUpload() {\n const uploadFiles = fileList.value\n for (const file of uploadFiles) {\n if (!file.md5) {\n ElMessage.info(\n `文件(${file.name})的唯一指纹还在计算中,再等待一会儿再点击上传`,\n )\n setTimeout(() => {\n ElMessage.info('文件越大计算时间越长(1G通常需要20s)')\n }, 100)\n }\n else if (file.status === 'ready') {\n // 开始上传\n file.status = 'uploading'\n let { name } = file\n const originName = name\n // 如果开启了自动重命名,这里重命名一下\n if (taskMoreInfo.rewrite) {\n name\n = infos.map(v => v.value).join(formatData.value.splitChar || '-')\n + getFileSuffix(name)\n }\n // 替换不合法的字符\n name = normalizeFileName(name)\n const key = `easypicker2/${k.value}/${file.md5}/${name}`\n\n FileApi.getUploadToken().then((res) => {\n qiniuUpload(res.data.token, file.raw, key, {\n success(data: any) {\n const { fsize } = data\n FileApi.addFile({\n originName,\n name,\n taskKey: k.value,\n taskName: taskInfo.name,\n size: fsize,\n hash: file.md5,\n info: JSON.stringify(infos),\n people: validModal.peopleName,\n }).then(() => {\n file.status = 'success'\n ElMessage.success(`文件:${file.name}提交成功`)\n if (taskMoreInfo.people) {\n // 无感知更新一下\n PeopleApi.updatePeopleStatus(\n k.value,\n name,\n validModal.peopleName,\n file.md5,\n )\n }\n })\n },\n process(per: number, data: any, subscription: any) {\n file.percentage = Math.floor(per)\n // 挂载取消上传的方法\n file.subscription = subscription\n },\n })\n })\n }\n }\n}\n\nasync function submitUpload() {\n if (!isWriteFinish.value) {\n ElMessage.warning('请先完成必要信息的填写')\n return\n }\n\n if (taskMoreInfo.people) {\n const isValid = await confirmPeopleName()\n if (!isValid) {\n return\n }\n }\n startUpload()\n}\n\n// 是否允许上传\nconst allowUpload = computed(() => {\n for (const file of fileList.value) {\n if (file.status === 'ready') {\n return true\n }\n }\n return false\n})\n\n// 是否允许撤回\nconst allowWithdraw = computed(() => {\n for (const file of fileList.value) {\n if (['success', 'ready'].includes(file.status)) {\n return true\n }\n }\n return false\n})\n\n// 添加文件\n// 正在计算MD5值的文件个数\nconst calculateMd5Count = ref(0)\nfunction handleChangeFile(file: any) {\n // 校验文件后缀名\n const { name } = file\n if (formatData.value.format.length && formatData.value.status) {\n const suffix = getFileSuffix(name)\n if (\n !formatData.value.format.some(v => suffix.toLowerCase().endsWith(v))\n ) {\n ElMessage.error(`${name} 格式不符合要求`)\n fileUpload.value.handleRemove(file)\n return\n }\n }\n\n // 校验文件大小\n if (formatData.value.size && formatData.value.size < file.size) {\n ElMessage.error(`${name} 大小${formatSize(file.size)} 不符合要求`)\n fileUpload.value.handleRemove(file)\n return\n }\n\n calculateMd5Count.value += 1\n // 计算md5 hash\n getFileMd5Hash(file.raw).then((str) => {\n file.md5 = str\n calculateMd5Count.value -= 1\n })\n}\n\nconst limitUploadCount = computed(() => formatData.value.limit || 10)\nfunction handleExceed() {\n ElMessage.warning(\n `一次提交最多只能选择${limitUploadCount.value}个文件,请移除已经上传成功的或刷新页面`,\n )\n}\nconst showLinkModel = ref(false)\nconst templateLink = ref('')\nfunction runWithdraw() {\n const uploadFiles = fileList.value\n for (const file of uploadFiles) {\n if (!file.md5) {\n ElMessage.info(\n `文件(${file.name})的唯一指纹还在计算中,再等待一会儿再点击上传`,\n )\n setTimeout(() => {\n ElMessage.info('文件越大计算时间越长(1G通常需要20s)')\n }, 100)\n }\n else if (!['fail', 'uploading'].includes(file.status)) {\n // 准备开始撤回\n let { name } = file\n\n // 如果开启了自动重命名,这里重命名一下\n if (taskMoreInfo.rewrite) {\n name\n = infos.map(v => v.value).join(formatData.value.splitChar || '-')\n + getFileSuffix(name)\n }\n\n FileApi.withdrawFile({\n taskKey: k.value,\n taskName: taskInfo.name,\n filename: name,\n hash: file.md5,\n info: JSON.stringify(infos),\n peopleName: validModal.peopleName,\n })\n .then(() => {\n ElMessage.success(`文件:${file.name}撤回成功`)\n file.name += ' - (已撤回 ✅ )'\n file.status = 'fail'\n })\n .catch(() => {\n ElMessage.error(`撤回失败: 没有文件:${file.name}对应提交记录`)\n })\n }\n }\n}\nfunction downloadTemplate() {\n FileApi.getTemplateUrl(taskMoreInfo.template, k.value)\n .then((res) => {\n showLinkModel.value = true\n const { link } = res.data\n templateLink.value = link\n downLoadByUrl(link, taskMoreInfo.template)\n })\n .catch(() => {\n ElMessage.warning('文件已从服务器上移除,请联系管理员重新上传')\n })\n}\n\n// 撤回相关逻辑\nconst isWithdraw = ref(false)\nasync function startWithdraw() {\n // 校验表单填写\n if (!isWriteFinish.value) {\n ElMessage.warning('请先完成必要信息的填写')\n return\n }\n if (taskMoreInfo.people) {\n const isValid = await confirmPeopleName()\n if (!isValid) {\n return\n }\n }\n runWithdraw()\n}\n\n// 查询提交情况\nasync function checkSubmitStatus() {\n // 校验表单填写\n if (!isWriteFinish.value) {\n ElMessage.warning('请先完成必要信息的填写,需和提交时信息完全一致')\n return\n }\n // 卡控人员限制\n if (taskMoreInfo.people) {\n const isValid = await confirmPeopleName()\n if (!isValid) {\n return\n }\n }\n FileApi.checkSubmitStatus(k.value, infos, validModal.peopleName).then(\n (res) => {\n if (res.data.isSubmit) {\n ElMessage.success('已经提交过啦')\n }\n else {\n ElMessage.warning('还未提交过哟')\n }\n },\n )\n}\nconst isLoadingData = ref(false)\nconst readyRefresh = ref(false)\nfunction isEqualInfos(a: InfoItem[] = [], b: InfoItem[] = []) {\n if (a.length !== b.length) {\n return false\n }\n return a.every(\n (v, i) =>\n v.type === b[i].type\n && v.text === b[i].text\n && isEqualInfos(v.children, b[i].children),\n )\n}\nfunction refreshTaskMoreInfo(hot = false) {\n TaskApi.getTaskMoreInfo(k.value).then((res) => {\n Object.assign(taskMoreInfo, res.data)\n if (!isEqualInfos(infos, parseInfo(taskMoreInfo.info))) {\n infos.splice(0, infos.length)\n infos.push(...parseInfo(taskMoreInfo.info))\n if (hot) {\n ElMessage.success('表单信息有更新')\n }\n }\n refreshWaitTime(false)\n isLoadingData.value = false\n })\n}\nfunction handleBlur() {\n readyRefresh.value = true\n}\nfunction handleFocus() {\n if (readyRefresh.value && !disableForm.value) {\n readyRefresh.value = false\n refreshTaskMoreInfo(true)\n }\n}\n\n// 展示的时间提示文案\nconst timeInfo = computed(() => {\n if (!isOver.value) {\n return ddlStr.value + waitTimeStr.value\n }\n return ddlStr.value\n})\n\n// tipImage\nconst tipData = reactive<{\n text: string\n imgs: {\n uid: number\n name: string\n }[]\n}>({\n text: '',\n imgs: [],\n})\nconst imageList = ref<\n { name: string, uid: number, preview?: string, url: string }[]\n>([])\n\nwatch(\n () => taskMoreInfo.tip,\n () => {\n // 初始化\n try {\n const parseData = JSON.parse(taskMoreInfo.tip)\n tipData.imgs = parseData.imgs\n tipData.text = parseData.text || ''\n imageList.value = tipData.imgs.map((v) => {\n return {\n ...v,\n url: 'https://img.cdn.sugarat.top/mdImg/MTY3NzkxMDI1NTU1Nw==20140524124237518.gif',\n }\n })\n if (imageList.value.length) {\n // 异步填充url\n PublicApi.getTipImageUrl(\n k.value,\n imageList.value.map(v => ({\n uid: v.uid,\n name: v.name,\n })),\n ).then((v) => {\n v.data.forEach((url, idx) => {\n imageList.value[idx].url = url.cover\n Object.assign(imageList.value[idx], {\n preview: url.preview,\n })\n })\n })\n }\n }\n catch {\n tipData.text = ''\n tipData.imgs = []\n imageList.value = []\n }\n },\n)\n\n// 禁用上传\nconst disabledUpload = useLocalStorage('disabledUpload', false)\n\nonMounted(() => {\n k.value = $route.params.key as string\n if (k.value) {\n isLoadingData.value = true\n TaskApi.getTaskInfo(k.value)\n .then((res) => {\n Object.assign(taskInfo, res.data)\n disabledUpload.value = !!res.data.limitUpload\n if (disabledUpload.value) {\n ElMessageBox.alert(\n '任务存储空间容量已达到上限,已经无法进行上传,请联系发起人扩容空间',\n )\n }\n })\n .catch((err) => {\n if (err.code === 4001) {\n ElMessage.error('任务不存在')\n k.value = ''\n taskInfo.name = '任务不存在'\n }\n })\n refreshTaskMoreInfo()\n refreshWaitTime()\n }\n // 页面隐藏\n window.addEventListener('blur', handleBlur)\n\n // 页面展示\n window.addEventListener('focus', handleFocus)\n})\n\nonUnmounted(() => {\n // 页面隐藏\n window.removeEventListener('blur', handleBlur)\n // 页面展示\n window.removeEventListener('focus', handleFocus)\n})\n</script>\n\n<template>\n <div class=\"task-panel\">\n <div class=\"pc-nav\">\n <div class=\"nav\">\n <!-- LOGO -->\n <div class=\"logo\">\n <router-link to=\"/\">\n <img\n style=\"height: 40px; width: 170px\"\n src=\"https://img.cdn.sugarat.top/easypicker/EasyPicker.png\"\n alt=\"logo\"\n >\n </router-link>\n </div>\n <nav>\n <div\n v-for=\"(n, idx) in pcNavs\"\n :key=\"idx\"\n class=\"nav-item\"\n @click=\"handleNav(idx)\"\n >\n {{ n.title }}\n </div>\n </nav>\n </div>\n </div>\n <!-- 有效 -->\n <div\n v-if=\"k\"\n v-loading=\"isLoadingData\"\n element-loading-text=\"Loading...\"\n class=\"panel tc\"\n >\n <!-- 任务名 -->\n <h1 class=\"name\">\n {{ taskInfo.name }}\n </h1>\n <h2 v-if=\"disabledUpload\" style=\"color: red\">\n 任务存储空间容量已达到上限,已经无法进行上传,请联系发起人扩容空间\n </h2>\n <!-- 提示信息 -->\n <!-- 时间截止了也不再展示 -->\n <template v-if=\"tipData.text && (ddlStr ? !isOver : true)\">\n <el-divider>⚠️ 注意事项 ⚠️</el-divider>\n <Tip>\n <div class=\"tip-wrapper\">\n <p v-for=\"(t, i) in tipData.text.split('\\n')\" :key=\"i\">\n {{ t.replace(/\\s/g, '&nbsp;') }}\n </p>\n </div>\n </Tip>\n </template>\n <template v-if=\"imageList.length && (ddlStr ? !isOver : true)\">\n <el-image\n v-for=\"(img, idx) in imageList\"\n :key=\"img.uid\"\n hide-on-click-modal\n style=\"width: 100px; height: 100px; margin: 10px\"\n :src=\"img.url\"\n :zoom-rate=\"1.2\"\n :preview-src-list=\"imageList.map((v) => v.preview)\"\n :initial-index=\"idx\"\n fit=\"contain\"\n />\n </template>\n <!-- 截止时间字符串 -->\n <template v-if=\"ddlStr\">\n <el-divider>截止时间</el-divider>\n <h2 class=\"ddl\">\n {{ timeInfo }}\n </h2>\n <div v-if=\"isOver\">\n <el-empty description=\"已经结束啦!\" />\n </div>\n </template>\n <!-- 未设置ddl 或者 设置了还未结束 -->\n <div v-if=\"!ddlStr || !isOver\">\n <el-divider>必要信息填写</el-divider>\n <div class=\"infos\">\n <div v-show=\"taskMoreInfo.people\">\n <Tip>“{{ limitBindField }}”在参与名单里才能正常提交</Tip>\n </div>\n <div v-if=\"showValidForm\">\n <div class=\"infos\">\n <el-form\n ref=\"validModalRef\"\n :rules=\"validModalRules\"\n status-icon\n :model=\"validModal\"\n :disabled=\"disableForm\"\n label-position=\"top\"\n >\n <el-form-item prop=\"peopleName\" :label=\"limitBindField\">\n <el-input\n v-model=\"validModal.peopleName\"\n :maxlength=\"14\"\n clearable\n show-word-limit\n :placeholder=\"`请输入 ${limitBindField}`\"\n />\n </el-form-item>\n </el-form>\n </div>\n </div>\n <InfosForm :infos=\"infos\" :disabled=\"disableForm\" />\n </div>\n <el-upload\n ref=\"fileUpload\"\n v-model:file-list=\"fileList\"\n style=\"max-width: 400px; margin: 0 auto\"\n :drag=\"!isMobile\"\n action=\"\"\n :on-change=\"handleChangeFile\"\n :before-remove=\"handleRemoveFile\"\n :on-exceed=\"handleExceed\"\n :auto-upload=\"false\"\n multiple\n :limit=\"limitUploadCount\"\n >\n <el-button v-if=\"isMobile\" type=\"primary\">\n 选择文件\n </el-button>\n <template v-else>\n <el-icon class=\"el-icon--upload\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text\">\n 将文件拖于此处 or <em>直接选择文件</em>\n </div>\n </template>\n <template #tip>\n <div v-show=\"!!calculateMd5Count\" class=\"p10\">\n <Tip>\n 还有\n {{ calculateMd5Count }}\n 个文件正在生成校验信息,请稍等(1G通常需要20s)\n </Tip>\n </div>\n </template>\n </el-upload>\n <div class=\"p10\">\n <el-button\n v-if=\"isWithdraw\"\n size=\"default\"\n type=\"warning\"\n :disabled=\"!allowWithdraw || !!calculateMd5Count\"\n @click=\"startWithdraw\"\n >\n 一键撤回\n </el-button>\n <el-button\n v-else-if=\"!disabledUpload\"\n size=\"default\"\n type=\"success\"\n :disabled=\"!allowUpload || !!calculateMd5Count\"\n @click=\"submitUpload\"\n >\n 提交文件\n </el-button>\n <el-button size=\"default\" @click=\"checkSubmitStatus\">\n 查询提交情况\n </el-button>\n </div>\n <!-- 提示信息 -->\n <div class=\"p10 option-tips\">\n <Tip v-if=\"formatData.status && formatData.format.length\">\n 限制格式为:\n <span style=\"color: red\">{{\n formatData.format.join(', ')\n }}</span>\n </Tip>\n <Tip v-if=\"formatData.size\">\n 限制文件大小不超过:\n <span style=\"color: red\">{{\n formatSize(formatData.size)\n }}</span>\n </Tip>\n <template v-if=\"isWithdraw\">\n <Tip>\n ① 须保证选择的文件与提交时的文件一致<br>\n ② 填写表单信息一致 <br>\n ③\n 完全一模一样的文件的提交记录(内容md5+命名),将会一次性全部撤回\n </Tip>\n </template>\n <template v-else>\n <Tip>\n <strong>查询提交情况,需填写和提交时一样的表单信息</strong>\n </Tip>\n <Tip>\n ① 选择完文件,点击 ”提交文件“即可 <br>\n ② <strong>选择大文件后需要等待一会儿才展示处理</strong>\n <template v-if=\"taskMoreInfo.template && !disabledUpload\">\n <br>\n ③\n <strong>\n <el-button\n type=\"primary\"\n text\n style=\"color: #85ce61\"\n size=\"small\"\n @click=\"downloadTemplate\"\n >右下角可 “查看提交示例”\n </el-button>\n </strong>\n </template>\n </Tip>\n </template>\n </div>\n <div class=\"withdraw\">\n <el-button\n v-if=\"taskMoreInfo.template && !disabledUpload\"\n type=\"primary\"\n text\n style=\"color: #85ce61\"\n size=\"small\"\n @click=\"downloadTemplate\"\n >\n 查看提交示例\n </el-button>\n <el-button\n v-if=\"isWithdraw\"\n size=\"small\"\n type=\"primary\"\n text\n @click=\"isWithdraw = false\"\n >\n 正常提交\n </el-button>\n <el-button\n v-else\n size=\"small\"\n type=\"primary\"\n text\n @click=\"isWithdraw = true\"\n >\n 我要撤回\n </el-button>\n </div>\n </div>\n </div>\n <!-- 无效任务 -->\n <div v-else class=\"panel tc\">\n <h1 class=\"name\">\n {{ taskInfo.name }}\n </h1>\n </div>\n <LinkDialog\n v-model:value=\"showLinkModel\"\n title=\"示例文件下载链接\"\n :link=\"templateLink\"\n />\n <div style=\"padding-top: 20px\">\n <HomeFooter type=\"task\" />\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.task-panel :deep(ul.el-upload-list) {\n border: 1px dashed #d4d4d4;\n padding: 10px;\n\n &::before {\n content: '此处展示选择文件列表';\n font-size: 12px;\n position: relative;\n bottom: 4px;\n }\n}\n\n.task-panel :deep(.el-upload-list__item-name) {\n display: block;\n overflow: hidden;\n max-width: 290px;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n\n.task-panel :deep(.is-ready .el-icon--close) {\n display: block;\n color: black;\n}\n\n.task-panel {\n background-color: #f3f6f8;\n padding-bottom: 1rem;\n position: relative;\n}\n\n.pc-nav {\n background-color: #fff;\n display: flex;\n padding: 10px;\n justify-content: space-between;\n align-items: center;\n\n .exit {\n cursor: pointer;\n }\n\n .nav {\n display: flex;\n\n nav {\n display: flex;\n align-items: center;\n\n .nav-item {\n font-size: 1rem;\n color: #595959;\n padding: 10px;\n cursor: pointer;\n\n &.active {\n color: #409eff !important;\n font-weight: 600;\n }\n }\n }\n\n .exit {\n color: #595959;\n }\n }\n\n .logo {\n width: 180px;\n margin: 0 10px;\n\n img {\n height: 40px;\n }\n }\n}\n\n.panel {\n max-width: 1024px;\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\n border-radius: 4px;\n\n .name {\n text-align: center;\n }\n\n .ddl {\n margin-top: 10px;\n color: #919191;\n font-size: 14px;\n }\n\n .infos {\n max-width: 460px;\n margin: auto;\n overflow: hidden;\n :deep(div.el-form-item > label) {\n font-weight: bold;\n &::before {\n content: '* ';\n color: red;\n }\n }\n }\n}\n\n.withdraw {\n text-align: right;\n}\n\n.tip-wrapper {\n line-height: 20px;\n text-align: left;\n word-break: break-all;\n // max-height: 100px;\n overflow: hidden;\n padding: 0 20px;\n color: #e6a23c;\n max-width: 320px;\n font-size: 14px;\n}\n</style>\n"],"names":["_sfc_main","defineComponent","name","_hoisted_1","viewBox","xmlns","_hoisted_3","createElementVNode","fill","d","uploadFilled","_export_sfc","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","isMobile","useIsMobile","$router","useRouter","$route","useRoute","pcNavs","reactive","title","path","taskInfo","category","taskMoreInfo","bindField","formatData","computed","parseFileFormat","format","k","ref","waitTime","isOver","value","waitTimeStr","seconds","hour","day","minute","refreshWaitTime","loop","ddl","date","Date","getTime","now","setTimeout","ddlStr","formatDate","infos","fileList","fileUpload","disableForm","filter","item","status","length","handleRemoveFile","file","ElMessageBox","confirm","then","ElMessage","info","subscription","unsubscribe","catch","isWriteFinish","every","limitBindField","trim","isSameFieldName","find","v","text","showValidForm","people","validModal","peopleName","validatePeopleName","rule","callback","message","Error","error","PeopleApi","checkPeopleIsExist","res","data","exist","validModalRef","validModalRules","validator","trigger","confirmPeopleName","Promise","resolve","validate","isValid","async","submitUpload","uploadFiles","md5","originName","rewrite","map","join","splitChar","getFileSuffix","normalizeFileName","key","FileApi","getUploadToken","qiniuUpload","token","raw","success","fsize","addFile","taskKey","taskName","size","hash","JSON","stringify","updatePeopleStatus","process","per","percentage","Math","floor","startUpload","warning","allowUpload","allowWithdraw","includes","calculateMd5Count","handleChangeFile","suffix","some","toLowerCase","endsWith","handleRemove","formatSize","getFileMd5Hash","str","limitUploadCount","limit","handleExceed","showLinkModel","templateLink","downloadTemplate","getTemplateUrl","template","link","downLoadByUrl","isWithdraw","startWithdraw","withdrawFile","filename","runWithdraw","checkSubmitStatus","isSubmit","isLoadingData","readyRefresh","isEqualInfos","a","b","i","type","children","refreshTaskMoreInfo","hot","TaskApi","getTaskMoreInfo","Object","assign","parseInfo","splice","push","handleBlur","handleFocus","timeInfo","tipData","imgs","imageList","watch","tip","parseData","parse","url","PublicApi","getTipImageUrl","uid","forEach","idx","cover","preview","disabledUpload","useLocalStorage","onMounted","params","getTaskInfo","limitUpload","alert","err","code","window","addEventListener","onUnmounted","removeEventListener","startsWith","location","href"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ System.register(["./index-legacy-CkcZHDIb.js"],(function(t,e){"use strict";var a,o,d,l,s,n,i,r,g,p,m;return{setters:[t=>{a=t.L,o=t.d,d=t.N,l=t.a,s=t.B,n=t.w,i=t.R,r=t.S,g=t.bi,p=t.j,m=t.b4}],execute:function(){var e=a(o({name:"ElCollapseTransition",setup(t){const e=d("collapse-transition"),a={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){t.dataset.oldOverflow=t.style.overflow,0!==t.scrollHeight?(t.style.maxHeight=`${t.scrollHeight}px`,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom):(t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom),t.style.overflow="hidden"},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){0!==t.scrollHeight&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom}};return(t,o)=>(l(),s(m,r({name:p(e).b()},g(a)),{default:n((()=>[i(t.$slots,"default")])),_:3},16,["name"]))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);e.install=t=>{t.component(e.name,e)},t("_",e)}}}));
2
+ //# sourceMappingURL=index-legacy-BSmhgZ-n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-legacy-BSmhgZ-n.js","sources":["../../../../node_modules/.pnpm/element-plus@2.2.13_vue@3.5.12_typescript@4.9.5_/node_modules/element-plus/es/components/collapse-transition/src/collapse-transition.mjs","../../../../node_modules/.pnpm/element-plus@2.2.13_vue@3.5.12_typescript@4.9.5_/node_modules/element-plus/es/components/collapse-transition/index.mjs"],"sourcesContent":["import { defineComponent, openBlock, createBlock, Transition, mergeProps, unref, toHandlers, withCtx, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst __default__ = {\n name: \"ElCollapseTransition\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n setup(__props) {\n const ns = useNamespace(\"collapse-transition\");\n const on = {\n beforeEnter(el) {\n if (!el.dataset)\n el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n },\n enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.maxHeight = 0;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n el.style.overflow = \"hidden\";\n },\n afterEnter(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n },\n beforeLeave(el) {\n if (!el.dataset)\n el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.overflow = \"hidden\";\n },\n leave(el) {\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n },\n afterLeave(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createBlock(Transition, mergeProps({\n name: unref(ns).b()\n }, toHandlers(on)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"name\"]);\n };\n }\n});\nvar CollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue\"]]);\n\nexport { CollapseTransition as default };\n//# sourceMappingURL=collapse-transition.mjs.map\n","import CollapseTransition from './src/collapse-transition.mjs';\n\nCollapseTransition.install = (app) => {\n app.component(CollapseTransition.name, CollapseTransition);\n};\nconst _CollapseTransition = CollapseTransition;\nconst ElCollapseTransition = _CollapseTransition;\n\nexport { ElCollapseTransition, _CollapseTransition as default };\n//# sourceMappingURL=index.mjs.map\n"],"names":["CollapseTransition","_export_sfc","defineComponent","name","setup","__props","ns","useNamespace","on","beforeEnter","el","dataset","oldPaddingTop","style","paddingTop","oldPaddingBottom","paddingBottom","maxHeight","enter","oldOverflow","overflow","scrollHeight","afterEnter","beforeLeave","leave","afterLeave","_ctx","_cache","openBlock","createBlock","Transition","mergeProps","unref","b","toHandlers","default","withCtx","renderSlot","$slots","_","install","app","component","exports"],"mappings":"kNA0EA,IAAIA,EAAqCC,EAlEPC,EAAgB,CAFhDC,KAAM,uBAINC,KAAAA,CAAMC,GACJ,MAAMC,EAAKC,EAAa,uBAClBC,EAAK,CACTC,WAAAA,CAAYC,GACLA,EAAGC,UACND,EAAGC,QAAU,IACfD,EAAGC,QAAQC,cAAgBF,EAAGG,MAAMC,WACpCJ,EAAGC,QAAQI,iBAAmBL,EAAGG,MAAMG,cACvCN,EAAGG,MAAMI,UAAY,EACrBP,EAAGG,MAAMC,WAAa,EACtBJ,EAAGG,MAAMG,cAAgB,CAC1B,EACDE,KAAAA,CAAMR,GACJA,EAAGC,QAAQQ,YAAcT,EAAGG,MAAMO,SACV,IAApBV,EAAGW,cACLX,EAAGG,MAAMI,UAAY,GAAGP,EAAGW,iBAC3BX,EAAGG,MAAMC,WAAaJ,EAAGC,QAAQC,cACjCF,EAAGG,MAAMG,cAAgBN,EAAGC,QAAQI,mBAEpCL,EAAGG,MAAMI,UAAY,EACrBP,EAAGG,MAAMC,WAAaJ,EAAGC,QAAQC,cACjCF,EAAGG,MAAMG,cAAgBN,EAAGC,QAAQI,kBAEtCL,EAAGG,MAAMO,SAAW,QACrB,EACDE,UAAAA,CAAWZ,GACTA,EAAGG,MAAMI,UAAY,GACrBP,EAAGG,MAAMO,SAAWV,EAAGC,QAAQQ,WAChC,EACDI,WAAAA,CAAYb,GACLA,EAAGC,UACND,EAAGC,QAAU,IACfD,EAAGC,QAAQC,cAAgBF,EAAGG,MAAMC,WACpCJ,EAAGC,QAAQI,iBAAmBL,EAAGG,MAAMG,cACvCN,EAAGC,QAAQQ,YAAcT,EAAGG,MAAMO,SAClCV,EAAGG,MAAMI,UAAY,GAAGP,EAAGW,iBAC3BX,EAAGG,MAAMO,SAAW,QACrB,EACDI,KAAAA,CAAMd,GACoB,IAApBA,EAAGW,eACLX,EAAGG,MAAMI,UAAY,EACrBP,EAAGG,MAAMC,WAAa,EACtBJ,EAAGG,MAAMG,cAAgB,EAE5B,EACDS,UAAAA,CAAWf,GACTA,EAAGG,MAAMI,UAAY,GACrBP,EAAGG,MAAMO,SAAWV,EAAGC,QAAQQ,YAC/BT,EAAGG,MAAMC,WAAaJ,EAAGC,QAAQC,cACjCF,EAAGG,MAAMG,cAAgBN,EAAGC,QAAQI,gBACrC,GAEH,MAAO,CAACW,EAAMC,KACLC,IAAaC,EAAYC,EAAYC,EAAW,CACrD5B,KAAM6B,EAAM1B,GAAI2B,KACfC,EAAW1B,IAAM,CAClB2B,QAASC,GAAQ,IAAM,CACrBC,EAAWX,EAAKY,OAAQ,cAE1BC,EAAG,GACF,GAAI,CAAC,SAEX,IAE6D,CAAC,CAAC,SAAU,qHCxE5EvC,EAAmBwC,QAAWC,IAC5BA,EAAIC,UAAU1C,EAAmBG,KAAMH,EAAmB,EAEhC2C,EAAA,IAAA3C","x_google_ignoreList":[0,1]}
@@ -0,0 +1,2 @@
1
+ System.register([],(function(e,t){"use strict";return{execute:function(){e("R",{beforeMount(e,t){let n=null,u=!1;const r=()=>t.value&&t.value(),l=()=>{clearInterval(n),n=null,u||r(),u=!1};e.addEventListener("mousedown",(e=>{0===e.button&&(document.addEventListener("mouseup",l,{once:!0}),clearInterval(n),n=setInterval((()=>{u=!0,r()}),100))}))}})}}}));
2
+ //# sourceMappingURL=index-legacy-BTvagK_v.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-legacy-BTvagK_v.js","sources":["../../../../node_modules/.pnpm/element-plus@2.2.13_vue@3.5.12_typescript@4.9.5_/node_modules/element-plus/es/directives/repeat-click/index.mjs"],"sourcesContent":["const RepeatClick = {\n beforeMount(el, binding) {\n let interval = null;\n let isHandlerCalled = false;\n const handler = () => binding.value && binding.value();\n const clear = () => {\n clearInterval(interval);\n interval = null;\n if (!isHandlerCalled) {\n handler();\n }\n isHandlerCalled = false;\n };\n el.addEventListener(\"mousedown\", (e) => {\n if (e.button !== 0)\n return;\n document.addEventListener(\"mouseup\", clear, { once: true });\n clearInterval(interval);\n interval = setInterval(() => {\n isHandlerCalled = true;\n handler();\n }, 100);\n });\n }\n};\n\nexport { RepeatClick as default };\n//# sourceMappingURL=index.mjs.map\n"],"names":["exports","beforeMount","el","binding","interval","isHandlerCalled","handler","value","clear","clearInterval","addEventListener","e","button","document","once","setInterval"],"mappings":"yEAAoBA,EAAA,IAAA,CAClBC,WAAAA,CAAYC,EAAIC,GACd,IAAIC,EAAW,KACXC,GAAkB,EACtB,MAAMC,EAAUA,IAAMH,EAAQI,OAASJ,EAAQI,QACzCC,EAAQA,KACZC,cAAcL,GACdA,EAAW,KACNC,GACHC,IAEFD,GAAkB,CAAK,EAEzBH,EAAGQ,iBAAiB,aAAcC,IACf,IAAbA,EAAEC,SAENC,SAASH,iBAAiB,UAAWF,EAAO,CAAEM,MAAM,IACpDL,cAAcL,GACdA,EAAWW,aAAY,KACrBV,GAAkB,EAClBC,GAAS,GACR,KAAI,GAEV","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"index-legacy-C-gHf8SN.js","sources":["../../src/constants/index.ts"],"sourcesContent":["/**\n * 用户状态\n */\nexport enum USER_STATUS {\n /**\n * 正常\n */\n NORMAL,\n /**\n * 冻结\n */\n FREEZE,\n /**\n * 封禁\n */\n BAN\n}\n\nexport enum WishStatus {\n /**\n * 审核中\n */\n REVIEW,\n /**\n * 待开始\n */\n WAIT,\n /**\n * 开发中\n */\n START,\n /**\n * 已上线\n */\n END,\n /**\n * 关闭\n */\n CLOSE\n}\n\nexport enum ActionType {\n /**\n * 点赞\n */\n PRAISE,\n\n /**\n * 文件下载\n */\n Download,\n\n /**\n * 文件归档\n */\n Compress,\n\n /**\n * 路由禁用\n */\n DisabledRoute\n}\n\nexport enum DownloadStatus {\n /**\n * 归档中\n */\n ARCHIVE,\n /**\n * 链接已失效\n */\n EXPIRED,\n /**\n * 可下载\n */\n SUCCESS,\n /**\n * 归档失败\n */\n FAIL\n}\n\nexport const filenamePattern = /[\\\\/:*?\"<>|]/g\n"],"names":["USER_STATUS","exports","USER_STATUS2","WishStatus","WishStatus2","ActionType","ActionType2","DownloadStatus","DownloadStatus2"],"mappings":"yEAGY,IAAAA,EAALC,EAAA,KAAKD,IAIVA,EAAAE,EAAA,OAAA,GAAA,SAIAF,EAAAE,EAAA,OAAA,GAAA,SAIAF,EAAAE,EAAA,IAAA,GAAA,MAZUF,IAAAA,GAAA,CAAA,IAeAG,EAALF,EAAA,KAAKE,IAIVA,EAAAC,EAAA,OAAA,GAAA,SAIAD,EAAAC,EAAA,KAAA,GAAA,OAIAD,EAAAC,EAAA,MAAA,GAAA,QAIAD,EAAAC,EAAA,IAAA,GAAA,MAIAD,EAAAC,EAAA,MAAA,GAAA,QApBUD,IAAAA,GAAA,CAAA,IAuBAE,EAALJ,EAAA,KAAKI,IAIVA,EAAAC,EAAA,OAAA,GAAA,SAKAD,EAAAC,EAAA,SAAA,GAAA,WAKAD,EAAAC,EAAA,SAAA,GAAA,WAKAD,EAAAC,EAAA,cAAA,GAAA,gBAnBUD,IAAAA,GAAA,CAAA,IAsBAE,EAALN,EAAA,KAAKM,IAIVA,EAAAC,EAAA,QAAA,GAAA,UAIAD,EAAAC,EAAA,QAAA,GAAA,UAIAD,EAAAC,EAAA,QAAA,GAAA,UAIAD,EAAAC,EAAA,KAAA,GAAA,OAhBUD,IAAAA,GAAA,CAAA,IAmBmBN,EAAA,IAAA"}
1
+ {"version":3,"file":"index-legacy-C-gHf8SN.js","sources":["../../src/constants/index.ts"],"sourcesContent":["/**\n * 用户状态\n */\nexport enum USER_STATUS {\n /**\n * 正常\n */\n NORMAL,\n /**\n * 冻结\n */\n FREEZE,\n /**\n * 封禁\n */\n BAN,\n}\n\nexport enum WishStatus {\n /**\n * 审核中\n */\n REVIEW,\n /**\n * 待开始\n */\n WAIT,\n /**\n * 开发中\n */\n START,\n /**\n * 已上线\n */\n END,\n /**\n * 关闭\n */\n CLOSE,\n}\n\nexport enum ActionType {\n /**\n * 点赞\n */\n PRAISE,\n\n /**\n * 文件下载\n */\n Download,\n\n /**\n * 文件归档\n */\n Compress,\n\n /**\n * 路由禁用\n */\n DisabledRoute,\n}\n\nexport enum DownloadStatus {\n /**\n * 归档中\n */\n ARCHIVE,\n /**\n * 链接已失效\n */\n EXPIRED,\n /**\n * 可下载\n */\n SUCCESS,\n /**\n * 归档失败\n */\n FAIL,\n}\n\nexport const filenamePattern = /[\\\\/:*?\"<>|]/g\n"],"names":["USER_STATUS","exports","USER_STATUS2","WishStatus","WishStatus2","ActionType","ActionType2","DownloadStatus","DownloadStatus2"],"mappings":"yEAGY,IAAAA,EAALC,EAAA,KAAKD,IAIVA,EAAAE,EAAA,OAAA,GAAA,SAIAF,EAAAE,EAAA,OAAA,GAAA,SAIAF,EAAAE,EAAA,IAAA,GAAA,MAZUF,IAAAA,GAAA,CAAA,IAeAG,EAALF,EAAA,KAAKE,IAIVA,EAAAC,EAAA,OAAA,GAAA,SAIAD,EAAAC,EAAA,KAAA,GAAA,OAIAD,EAAAC,EAAA,MAAA,GAAA,QAIAD,EAAAC,EAAA,IAAA,GAAA,MAIAD,EAAAC,EAAA,MAAA,GAAA,QApBUD,IAAAA,GAAA,CAAA,IAuBAE,EAALJ,EAAA,KAAKI,IAIVA,EAAAC,EAAA,OAAA,GAAA,SAKAD,EAAAC,EAAA,SAAA,GAAA,WAKAD,EAAAC,EAAA,SAAA,GAAA,WAKAD,EAAAC,EAAA,cAAA,GAAA,gBAnBUD,IAAAA,GAAA,CAAA,IAsBAE,EAALN,EAAA,KAAKM,IAIVA,EAAAC,EAAA,QAAA,GAAA,UAIAD,EAAAC,EAAA,QAAA,GAAA,UAIAD,EAAAC,EAAA,QAAA,GAAA,UAIAD,EAAAC,EAAA,KAAA,GAAA,OAhBUD,IAAAA,GAAA,CAAA,IAmBmBN,EAAA,IAAA"}
@@ -0,0 +1,2 @@
1
+ System.register(["./index-legacy-CkcZHDIb.js"],(function(e,a){"use strict";var l,n,t,u,o,i,r,d,s,c,v,p,m,f,g,h,x,w,V,b,y,k,_,C,z,U,A,T;return{setters:[e=>{l=e.f,n=e.d,t=e.a,u=e.c,o=e.b,i=e.r,r=e.g,d=e.u,s=e.h,c=e.i,v=e.w,p=e.j,m=e.p,f=e.e,g=e.t,h=e.l,x=e.k,w=e.m,V=e.E,b=e.P,y=e.U,k=e.n,_=e.q,C=e.s,z=e.v,U=e.x,A=e.y,T=e._}],execute:function(){var a=document.createElement("style");a.textContent=".login[data-v-8321af51]{background-image:linear-gradient(120deg,#a1c4fd,#c2e9fb);min-height:100vh}.inputArea[data-v-8321af51]{margin:0 auto;max-width:320px}.inputArea div[data-v-8321af51]{margin-top:10px}.links[data-v-8321af51]{display:flex;justify-content:center}.links a[data-v-8321af51]{color:#409eff;margin-left:10px}\n/*$vite$:1*/",document.head.appendChild(a);const $=n({name:"ChatDotSquare"}),j={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},H=[o("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),o("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1)];var M=l($,[["render",function(e,a,l,n,o,i){return t(),u("svg",j,H)}]]);const q={class:"login"},D={class:"inputArea"},E={class:"tc"},P={class:"links"};e("default",T(n({__name:"index",setup(e){const a=i(""),l=i(""),n=i(""),T=i(""),$=r(),j=d(),H=i("获取验证码"),S=i(0);function B(){0!==S.value?(H.value=`${S.value}s`,S.value-=1,setTimeout(B,1e3)):H.value="获取验证码"}function I(){w.test(a.value)?b.getCode(a.value).then((()=>{S.value=120,B(),V.success("获取成功,请注意查看手机短信")})):V.warning("手机号格式不正确")}function L(){(w.test(a.value)?U.test(n.value)?n.value!==T.value?(V.warning("两次输入的密码不一致"),0):A.test(l.value)||(V.warning("验证码不正确(4位 数字)"),0):(V.warning("密码格式不正确(6-16位 支持字母/数字/下划线)"),0):(V.warning("手机号格式不正确"),0))&&y.resetPwd(a.value,l.value,n.value).then((e=>{V.success("密码重置成功");const{token:a}=e.data;$.commit("user/setToken",a),j.replace({name:"dashboard"})})).catch((e=>{const{code:a,data:l}=e,n={1008:"该手机号未绑定任何账号",1003:"验证码不正确",1004:"密码格式不正确",1010:"账号已被封禁,有疑问请联系管理员",1009:`账号已被冻结,解冻时间${l?.openTime&&k(new Date(l.openTime))}`};V.error(n[a]||"重置失败,未知错误")}))}return(e,i)=>{const r=_,d=C,w=z,V=s("router-link");return t(),u("div",q,[c(x,null,{default:v((()=>[o("div",D,[o("div",null,[c(r,{modelValue:a.value,"onUpdate:modelValue":i[0]||(i[0]=e=>a.value=e),maxlength:"11",placeholder:"手机号","prefix-icon":p(m),clearable:""},null,8,["modelValue","prefix-icon"])]),o("div",null,[c(r,{modelValue:l.value,"onUpdate:modelValue":i[1]||(i[1]=e=>l.value=e),maxlength:"4",type:"number",placeholder:"请输入验证码","prefix-icon":p(M),clearable:""},{append:v((()=>[c(d,{disabled:0!==S.value,onClick:I},{default:v((()=>[f(g(H.value),1)])),_:1},8,["disabled"])])),_:1},8,["modelValue","prefix-icon"])]),o("div",null,[c(r,{modelValue:n.value,"onUpdate:modelValue":i[2]||(i[2]=e=>n.value=e),maxlength:"16",minlength:"6",type:"password",placeholder:"请输入新密码","prefix-icon":p(h),"show-password":"",clearable:""},null,8,["modelValue","prefix-icon"])]),o("div",null,[c(r,{modelValue:T.value,"onUpdate:modelValue":i[3]||(i[3]=e=>T.value=e),maxlength:"16",minlength:"6",type:"password",placeholder:"请再次输入新密码","prefix-icon":p(h),"show-password":"",clearable:""},null,8,["modelValue","prefix-icon"])]),o("div",E,[c(d,{type:"primary",class:"fw-w100",onClick:L},{default:v((()=>i[4]||(i[4]=[f(" 确认重置 ")]))),_:1})]),c(w),o("div",P,[c(V,{to:"/login"},{default:v((()=>i[5]||(i[5]=[f(" 去登陆 ")]))),_:1})])])])),_:1})])}}}),[["__scopeId","data-v-8321af51"]]))}}}));
2
+ //# sourceMappingURL=index-legacy-C2bwTRoT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-legacy-C2bwTRoT.js","sources":["../../../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.5.12_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/chat-dot-square.mjs","../../src/pages/reset/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"ChatDotSquare\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z\"\n}, null, -1);\nconst _hoisted_4 = [\n _hoisted_2,\n _hoisted_3\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_4);\n}\nvar chatDotSquare = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { chatDotSquare as default };\n","<script lang=\"ts\" setup>\nimport loginPanel from '@components/loginPanel.vue'\nimport {\n ChatDotSquare,\n Lock,\n Phone,\n} from '@element-plus/icons-vue'\nimport { ElMessage } from 'element-plus'\nimport {\n ref,\n} from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\nimport { PublicApi, UserApi } from '@/apis'\nimport {\n rMobilePhone,\n rPassword,\n rVerCode,\n} from '@/utils/regExp'\nimport { formatDate } from '@/utils/stringUtil'\n\nconst account = ref('')\nconst code = ref('')\nconst pwd1 = ref('')\nconst pwd2 = ref('')\nconst $store = useStore()\nconst $router = useRouter()\nfunction redirectDashBoard() {\n $router.replace({\n name: 'dashboard',\n })\n}\nfunction checkForm() {\n if (!rMobilePhone.test(account.value)) {\n ElMessage.warning('手机号格式不正确')\n return false\n }\n\n if (!rPassword.test(pwd1.value)) {\n ElMessage.warning('密码格式不正确(6-16位 支持字母/数字/下划线)')\n return false\n }\n if (pwd1.value !== pwd2.value) {\n ElMessage.warning('两次输入的密码不一致')\n return false\n }\n\n if (!rVerCode.test(code.value)) {\n ElMessage.warning('验证码不正确(4位 数字)')\n return false\n }\n return true\n}\nconst codeText = ref('获取验证码')\nconst time = ref(0)\nfunction refreshCodeText() {\n if (time.value === 0) {\n codeText.value = '获取验证码'\n return\n }\n codeText.value = `${time.value}s`\n time.value -= 1\n setTimeout(refreshCodeText, 1000)\n}\nfunction getCode() {\n if (!rMobilePhone.test(account.value)) {\n ElMessage.warning('手机号格式不正确')\n return\n }\n PublicApi.getCode(account.value).then(() => {\n time.value = 120\n refreshCodeText()\n ElMessage.success('获取成功,请注意查看手机短信')\n })\n}\nfunction reset() {\n if (!checkForm()) {\n return\n }\n UserApi\n .resetPwd(account.value, code.value, pwd1.value)\n .then((res) => {\n ElMessage.success('密码重置成功')\n const { token } = res.data\n $store.commit('user/setToken', token)\n redirectDashBoard()\n })\n .catch((err) => {\n const { code: c, data } = err\n const options: any = {\n 1008: '该手机号未绑定任何账号',\n 1003: '验证码不正确',\n 1004: '密码格式不正确',\n 1010: '账号已被封禁,有疑问请联系管理员',\n 1009: `账号已被冻结,解冻时间${data?.openTime && formatDate(new Date(data.openTime))}`,\n }\n ElMessage.error(options[c] || '重置失败,未知错误')\n })\n}\n</script>\n\n<template>\n <div class=\"login\">\n <login-panel>\n <!-- 表单输入区域 -->\n <div class=\"inputArea\">\n <div>\n <el-input\n v-model=\"account\"\n maxlength=\"11\"\n placeholder=\"手机号\"\n :prefix-icon=\"Phone\"\n clearable\n />\n </div>\n <div>\n <el-input\n v-model=\"code\"\n maxlength=\"4\"\n type=\"number\"\n placeholder=\"请输入验证码\"\n :prefix-icon=\"ChatDotSquare\"\n clearable\n >\n <template #append>\n <!-- 获取验证码 -->\n <el-button :disabled=\"time !== 0\" @click=\"getCode\">\n {{ codeText }}\n </el-button>\n </template>\n </el-input>\n </div>\n <div>\n <el-input\n v-model=\"pwd1\"\n maxlength=\"16\"\n minlength=\"6\"\n type=\"password\"\n placeholder=\"请输入新密码\"\n :prefix-icon=\"Lock\"\n show-password\n clearable\n />\n </div>\n <div>\n <el-input\n v-model=\"pwd2\"\n maxlength=\"16\"\n minlength=\"6\"\n type=\"password\"\n placeholder=\"请再次输入新密码\"\n :prefix-icon=\"Lock\"\n show-password\n clearable\n />\n </div>\n <div class=\"tc\">\n <el-button type=\"primary\" class=\"fw-w100\" @click=\"reset\">\n 确认重置\n </el-button>\n </div>\n <el-divider />\n <div class=\"links\">\n <router-link to=\"/login\">\n 去登陆\n </router-link>\n </div>\n </div>\n </login-panel>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.login {\n background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);\n min-height: 100vh;\n}\n\n.inputArea {\n // padding: 1rem;\n margin: 0 auto;\n max-width: 320px;\n div {\n margin-top: 10px;\n }\n}\n// 登录按钮下方链接\n.links {\n display: flex;\n justify-content: center;\n a {\n color: #409eff;\n margin-left: 10px;\n }\n}\n</style>\n"],"names":["_sfc_main","defineComponent","name","_hoisted_1","viewBox","xmlns","_hoisted_4","createElementVNode","fill","d","chatDotSquare","_export_sfc","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","account","ref","code","pwd1","pwd2","$store","useStore","$router","useRouter","codeText","time","refreshCodeText","value","setTimeout","getCode","rMobilePhone","test","PublicApi","then","ElMessage","success","warning","reset","rPassword","rVerCode","UserApi","resetPwd","res","token","data","commit","replace","catch","err","c","options","openTime","formatDate","Date","error"],"mappings":"2vBAGA,MAAMA,EAAYC,EAAgB,CAChCC,KAAM,kBAEFC,EAAa,CACjBC,QAAS,gBACTC,MAAO,8BAUHC,EAAa,CARgBC,EAAmB,OAAQ,CAC5DC,KAAM,eACNC,EAAG,qOACF,MAAO,GACyBF,EAAmB,OAAQ,CAC5DC,KAAM,eACNC,EAAG,8KACF,MAAO,IAQV,IAAIC,EAAgCC,EAAYX,EAAW,CAAC,CAAC,SAH7D,SAAqBY,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,GACxD,OAAOC,IAAaC,EAAmB,MAAOhB,EAAYG,EAC5D,6HCHM,MAAAc,EAAUC,EAAI,IACdC,EAAOD,EAAI,IACXE,EAAOF,EAAI,IACXG,EAAOH,EAAI,IACXI,EAASC,IACTC,EAAUC,IA2BVC,EAAWR,EAAI,SACfS,EAAOT,EAAI,GACjB,SAASU,IACY,IAAfD,EAAKE,OAIAH,EAAAG,MAAQ,GAAGF,EAAKE,SACzBF,EAAKE,OAAS,EACdC,WAAWF,EAAiB,MAL1BF,EAASG,MAAQ,OAMrB,CACA,SAASE,IACFC,EAAaC,KAAKhB,EAAQY,OAI/BK,EAAUH,QAAQd,EAAQY,OAAOM,MAAK,KACpCR,EAAKE,MAAQ,IACGD,IAChBQ,EAAUC,QAAQ,iBAAgB,IANlCD,EAAUE,QAAQ,WAQtB,CACA,SAASC,KA1CFP,EAAaC,KAAKhB,EAAQY,OAK1BW,EAAUP,KAAKb,EAAKS,OAIrBT,EAAKS,QAAUR,EAAKQ,OACtBO,EAAUE,QAAQ,cACX,GAGJG,EAASR,KAAKd,EAAKU,SACtBO,EAAUE,QAAQ,iBACX,IAVPF,EAAUE,QAAQ,8BACX,IANPF,EAAUE,QAAQ,iBA8CjBI,EAAAC,SAAS1B,EAAQY,MAAOV,EAAKU,MAAOT,EAAKS,OACzCM,MAAMS,IACLR,EAAUC,QAAQ,UACZ,MAAAQ,MAAEA,GAAUD,EAAIE,KACfxB,EAAAyB,OAAO,gBAAiBF,GAxDnCrB,EAAQwB,QAAQ,CACdjD,KAAM,aAwDc,IAEnBkD,OAAOC,IACN,MAAQ/B,KAAMgC,EAAGL,KAAAA,GAASI,EACpBE,EAAe,CACnB,KAAM,cACN,KAAM,SACN,KAAM,UACN,KAAM,mBACN,KAAM,cAAcN,GAAMO,UAAYC,EAAW,IAAIC,KAAKT,EAAKO,cAEjEjB,EAAUoB,MAAMJ,EAAQD,IAAM,YAAW,GAE/C","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ System.register(["./index-legacy-CkcZHDIb.js","./el-tab-pane-legacy-Ct9rYze8.js","./el-tag-legacy-diNMtlkE.js","./el-select-legacy-yKcmdaqh.js","./el-scrollbar-legacy-DVIFmrwk.js","./el-empty-legacy-ZCYPIt_S.js","./linkDialog-legacy-0_j99SG_.js","./index-legacy-BLCMV_4m.js","./delete-filled-legacy-IwQ4U_-h.js","./index-legacy-B71iq4Jg.js","./tip-legacy-DXZHLiK7.js","./tipInfo-legacy-cRqTuiqx.js","./index-legacy-Cp4ut576.js","./aria-legacy-B70JmEZA.js","./el-date-picker-legacy-6LjuTLvj.js","./index-legacy-BTvagK_v.js","./el-input-number-legacy-Bh6hK4h_.js","./el-switch-legacy-CeDo4e_6.js","./index-legacy-D2hV5N51.js","./el-loading-legacy-CFNL_MoE.js","./el-table-column-legacy-D2UbUqx0.js","./el-upload-legacy-C7Y6h5AK.js","./other-legacy-Bfm4KL87.js"],(function(e,a){"use strict";var t,l,n,o,r,d,i,s,c,u,p,g,m,y,v,f,h,k,x,b,w,C,_,V,j,z,L,$,T,H,S,E,D,B,F,U,I,M,P,N,K,q,A,G,J,O,Q,R,W,X,Z,Y,ee,ae,te,le,ne,oe,re,de,ie;return{setters:[e=>{t=e.H,l=e.an,n=e.L,o=e.d,r=e.N,d=e.a,i=e.c,s=e.D,c=e.j,u=e.R,p=e.e,g=e.t,m=e.Q,y=e.b,v=e.aH,f=e.W,h=e.f,k=e.g,x=e.M,b=e.r,w=e.E,C=e._,_=e.h,V=e.B,j=e.aP,z=e.w,L=e.i,$=e.F,T=e.A,H=e.q,S=e.s,E=e.G,D=e.a8,B=e.a9,F=e.n,U=e.u,I=e.a6,M=e.Z,P=e.X,N=e.o,K=e.ab,q=e.ag,A=e.ah,G=e.a0},e=>{J=e.E,O=e.a},e=>{Q=e.E},e=>{R=e.E,W=e.a},null,e=>{X=e.E},e=>{Z=e.L},e=>{Y=e.F},e=>{ee=e.d},e=>{ae=e.E},e=>{te=e.T},e=>{le=e.D,ne=e.T,oe=e.P,re=e.I,de=e.a,ie=e.F},null,null,null,null,null,null,null,null,null,null,null],execute:function(){var a=document.createElement("style");a.textContent=".el-tag[data-v-908593e0]{margin-left:10px;margin-bottom:10px;cursor:pointer}.new-tag-wrap[data-v-908593e0]{display:flex;align-items:center}.button-new-tag[data-v-908593e0]{margin-left:10px;height:32px;line-height:30px;padding-top:0;padding-bottom:0}.input-new-tag[data-v-908593e0]{width:120px;padding:0;margin-left:10px;margin-bottom:10px;vertical-align:bottom}.panel[data-v-908593e0]{padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.btn-area[data-v-908593e0]{display:flex;justify-content:center}.list-tip[data-v-908593e0]{margin-right:10px;flex:1;text-align:right}.tag-wrap[data-v-908593e0]{width:100%;height:150px}.tag-list[data-v-908593e0]{height:150px;overflow-x:hidden;overflow-y:scroll;display:flex;flex-wrap:wrap}.tag-list[data-v-908593e0] .el-tag{width:140px}.tag-list[data-v-908593e0] .el-tag__content{width:100px;text-align:center;text-overflow:ellipsis;word-break:keep-all;overflow:hidden}.btn-area[data-v-3758d543]{display:flex;justify-content:center}.input-container[data-v-3758d543]{margin:15px auto;max-width:600px;background-color:#fff;display:flex;justify-content:space-around}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank)}.el-card{border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration)}.el-card.is-always-shadow{box-shadow:var(--el-box-shadow-light)}.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding)}.task-item[data-v-b862420d]{min-width:400px;margin-top:1em}.task-item .header[data-v-b862420d]{overflow:hidden;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap}.task-item .header .actions[data-v-b862420d]{min-width:200px;padding:3px 0;margin-left:20px}.task-item .body[data-v-b862420d]{min-height:30px}.task-item .body .empty[data-v-b862420d]{text-align:center;font-size:12px;color:gray}.task-item .body ul[data-v-b862420d]{font-size:12px;color:gray;list-style:none}.task-item .body ul .time[data-v-b862420d]{margin-right:10px}@media screen and (max-width: 700px){.task-item[data-v-b862420d]{min-width:100%}}.check-files[data-v-b862420d]{display:flex;justify-content:space-between;align-items:center}.check-files a[data-v-b862420d]{color:#409eff}.tasks[data-v-2d10c34e]{max-width:1024px;margin:0 auto;padding-bottom:2em}.tasks[data-v-2d10c34e] .el-dialog__body{padding-top:10px}.panel[data-v-2d10c34e]{padding:1em;background-color:#fff;margin:10px auto;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:4px}.task-list[data-v-2d10c34e]{display:flex;flex-wrap:wrap;justify-content:space-around}@media screen and (max-width: 700px){.categorys-area[data-v-2d10c34e]{margin-top:20px}[data-v-2d10c34e] .el-tabs__nav-scroll{overflow-x:scroll}[data-v-2d10c34e] .el-tabs__nav-scroll::-webkit-scrollbar{display:none}}\n/*$vite$:1*/",document.head.appendChild(a);const se=t({header:{type:String,default:""},bodyStyle:{type:l([String,Object,Array]),default:""},shadow:{type:String,values:["always","hover","never"],default:"always"}}),ce=f(n(o({name:"ElCard",props:se,setup(e){const a=r("card");return(e,t)=>(d(),i("div",{class:s([c(a).b(),c(a).is(`${e.shadow}-shadow`)])},[e.$slots.header||e.header?(d(),i("div",{key:0,class:s(c(a).e("header"))},[u(e.$slots,"header",{},(()=>[p(g(e.header),1)]))],2)):m("v-if",!0),y("div",{class:s(c(a).e("body")),style:v(e.bodyStyle)},[u(e.$slots,"default")],6)],2))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/card/src/card.vue"]])),ue=o({name:"Delete"}),pe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ge=[y("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V256zm448-64v-64H416v64h192zM224 896h576V256H224v640zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32zm192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32z"},null,-1)];var me=h(ue,[["render",function(e,a,t,l,n,o){return d(),i("svg",pe,ge)}]]);const ye=o({name:"Edit"}),ve={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fe=[y("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z"},null,-1),y("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"},null,-1)];var he=h(ye,[["render",function(e,a,t,l,n,o){return d(),i("svg",ve,fe)}]]);const ke=o({name:"Menu"}),xe={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},be=[y("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H608zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H608z"},null,-1)];var we=h(ke,[["render",function(e,a,t,l,n,o){return d(),i("svg",xe,be)}]]);const Ce=o({name:"Share"}),_e={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ve=[y("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"},null,-1)];var je=h(Ce,[["render",function(e,a,t,l,n,o){return d(),i("svg",_e,Ve)}]]);const ze=o({name:"CategoryPanel",components:{DeleteFilled:ee},props:{category:{type:String,default:"default"}},emits:["update:category"],setup(e,a){const t=k(),l=x((()=>t.state.category.categoryList)),n=x((()=>t.state.task.taskList)),o=b(!1),r=b(""),d=e=>{a.emit("update:category",e)};return{categorys:l,isShowCreateCategory:o,categoryName:r,addCategory:()=>{o.value=!1,r.value.trim()&&(t.dispatch("category/createCategory",r.value).then((()=>{w.success("创建成功")})).catch((e=>{2001===e.code&&w.warning("分类名称已存在")})),r.value="")},handleDeleteCategory:e=>{ae.confirm("是否删除","提示",{confirmButtonText:"确定",cancelButtonText:"取消"}).then((()=>{t.dispatch("category/deleteCategory",e.k).then((()=>{d("default"),w.success("删除成功"),t.dispatch("task/getTask")}))})).catch((()=>{w.info("取消删除")}))},handleClickCategory:d,taskCount:e=>{const a=n.value.filter((a=>a.category===e)).length;return 0===a?"":` (${a})`}}}}),Le={class:"panel"},$e={style:{"margin-top":"15px"},class:"category-list"},Te={class:"new-tag-wrap"},He={class:"list-tip"},Se={class:"tag-wrap"},Ee={class:"tag-list"},De=C(ze,[["render",function(e,a,t,l,n,o){const r=H,s=S,c=Q,u=_("DeleteFilled"),m=E;return d(),i("div",Le,[a[5]||(a[5]=y("div",{class:"btn-area"},[y("h5",null,"分类列表"),y("h6",{style:{"font-weight":"lighter"}}," (点击分类可筛选任务) ")],-1)),y("div",$e,[y("div",Te,[e.isShowCreateCategory?(d(),V(r,{key:0,modelValue:e.categoryName,"onUpdate:modelValue":a[0]||(a[0]=a=>e.categoryName=a),class:"input-new-tag el-tag",placeholder:"分类名称",onKeyup:j(e.addCategory,["enter"]),onFocusout:e.addCategory},null,8,["modelValue","onKeyup","onFocusout"])):(d(),V(s,{key:1,class:"button-new-tag el-tag",size:"small",onClick:a[1]||(a[1]=a=>e.isShowCreateCategory=!0)},{default:z((()=>a[4]||(a[4]=[p(" + New 分类 ")]))),_:1})),L(c,{effect:"default"===e.category?"dark":"plain",onClick:a[2]||(a[2]=a=>e.handleClickCategory("default"))},{default:z((()=>[p(" 默认"+g(e.taskCount("default")),1)])),_:1},8,["effect"]),y("span",He,[L(c,{type:"danger",effect:"trash"===e.category?"dark":"plain",onClick:a[3]||(a[3]=a=>e.handleClickCategory("trash"))},{default:z((()=>[L(m,null,{default:z((()=>[L(u)])),_:1}),p(" 回收站"+g(e.taskCount("trash")),1)])),_:1},8,["effect"])])]),y("div",Se,[y("div",Ee,[(d(!0),i($,null,T(e.categorys,(a=>(d(),V(c,{key:a.k,closable:"",effect:e.category===a.k?"dark":"plain",onClose:t=>e.handleDeleteCategory(a),onClick:t=>e.handleClickCategory(a.k)},{default:z((()=>[p(g(a.name)+g(e.taskCount(a.k)),1)])),_:2},1032,["effect","onClose","onClick"])))),128))])])])])}],["__scopeId","data-v-908593e0"]]),Be={class:"btn-area"},Fe={class:"input-container"},Ue=C(o({__name:"CreateTask",props:{activeCategoryKey:{type:String,default:"default"}},setup(e){const a=e,t=k(),l=b(!1),n=b("");function o(){n.value.trim()?(t.dispatch("task/createTask",{name:n.value,category:a.activeCategoryKey}).then((()=>{w.success("创建成功")})),n.value=""):w.warning("不能为空")}return(e,a)=>{const t=S,r=H,s=E;return d(),i("div",null,[y("div",Be,[L(t,{size:"large",type:"primary",plain:!l.value,onClick:a[0]||(a[0]=e=>l.value=!l.value)},{default:z((()=>[p(g(l.value?"关闭创建面板":"创建收集任务"),1)])),_:1},8,["plain"])]),D(y("div",null,[y("div",Fe,[L(r,{modelValue:n.value,"onUpdate:modelValue":a[1]||(a[1]=e=>n.value=e),placeholder:"请输入任务名称(上述列表选择分类)"},null,8,["modelValue"]),L(t,{type:n.value?.length?"success":"default",onClick:o},{default:z((()=>a[2]||(a[2]=[p(" 确定 ")]))),_:1},8,["type"])])],512),[[B,l.value]]),L(te,{class:"p10"},{default:z((()=>[a[3]||(a[3]=p(" 点击 ")),L(s,null,{default:z((()=>[L(c(we))])),_:1}),a[4]||(a[4]=p(" 可以进一步的调整任务 "))])),_:1}),L(te,null,{default:z((()=>a[5]||(a[5]=[p(" 设置截止时间,自动重命名,名单限制,批注,文件模板。。🚀 ")]))),_:1})])}}}),[["__scopeId","data-v-3758d543"]]),Ie={class:"header"},Me={class:"ellipsis"},Pe={class:"actions"},Ne={class:"body"},Ke={key:0,class:"empty"},qe={key:1},Ae={class:"check-files"},Ge={class:"time"},Je={class:"name"},Oe=C(o({__name:"TaskInfo",props:{item:{}},emits:["more","edit","share","delete"],setup:e=>(e,a)=>{const t=S,l=_("router-link"),n=ce;return d(),V(n,{class:"task-item"},{header:z((()=>[y("div",Ie,[y("span",Me,g(e.item.name),1),y("div",Pe,[L(t,{circle:"",type:"warning",icon:c(we),title:"更多",onClick:a[0]||(a[0]=a=>e.$emit("more",e.item))},null,8,["icon"]),L(t,{circle:"",type:"success",icon:c(he),title:"编辑基本信息",onClick:a[1]||(a[1]=a=>e.$emit("edit",e.item))},null,8,["icon"]),L(t,{circle:"",type:"primary",icon:c(je),title:"分享",onClick:a[2]||(a[2]=a=>e.$emit("share",e.item.key))},null,8,["icon"]),L(t,{circle:"",type:"danger",icon:c(me),title:"删除",onClick:a[3]||(a[3]=a=>e.$emit("delete",e.item.key,"trash"===e.item.category))},null,8,["icon"])])])])),default:z((()=>[y("div",Ne,[0===e.item.recentLog.length?(d(),i("div",Ke," 暂时没有提交记录... ")):(d(),i("ul",qe,[y("li",Ae,[y("strong",null,"近 "+g(e.item.recentLog.length)+" 条提交记录",1),L(l,{to:`/dashboard/files?task=${e.item.key}`},{default:z((()=>a[4]||(a[4]=[p(" 查看详情 ")]))),_:1},8,["to"])]),(d(!0),i($,null,T(e.item.recentLog,((e,a)=>(d(),i("li",{key:Number(a),class:"ellipsis"},[y("span",Ge,g(c(F)(new Date(e.date))),1),y("span",Je,g(e.filename),1)])))),128))]))])])),_:1})}}),[["__scopeId","data-v-b862420d"]]),Qe={class:"tasks"},Re={class:"categorys-area"},We={class:"panel task-panel"},Xe={class:"task-list"},Ze={class:"dialog-footer"},Ye={class:"tc",style:{"font-size":"14px",color:"#9e9e9e"}},ea={style:{color:"#000000"}};e("default",C(o({__name:"index",setup(e){const a=k(),t=U(),{value:l}=I(),n=M(),o=x((()=>a.state.category.categoryList)),r=b("default"),s=x((()=>a.state.task.taskList)),u=x((()=>s.value.filter((e=>e.category===r.value))));function v(e,t=!1){e&&ae.confirm("确认删除此任务吗?",t?"!!回收站的删除后无法再恢复":"数据无价,请谨慎操作",{confirmButtonText:"确定",cancelButtonText:"取消",type:t?"error":"info"}).then((()=>{a.dispatch("task/deleteTask",e).then((()=>{w.success("删除成功")}))})).catch((()=>{w.info("取消删除")}))}const f=b(!1),h=P({name:"",category:"",key:""});function C(e){h.name=e.name,h.category=e.category,h.key=e.key,f.value=!0}function _(){f.value=!1,h.name.trim()?a.dispatch("task/updateTask",h).then((()=>{w.success("更新成功")})):w.warning("不能为空")}const j=b(""),E=b(!1),D=b("");function B(e){j.value="default";const{origin:a}=window.location;j.value=`${a}/task/${e}`,K(j.value,"收集链接已自动复制到粘贴板"),D.value=s.value.find((a=>a.key===e))?.name,E.value=!0}const F=P({}),Q=b(!1),ee=b("info"),te=P({category:"",key:"",name:"",recentLog:[]});function se(e){t.push({name:"task-config",params:{key:e.key},query:{name:e.name}})}function ce(){window.open(`/task/${te.key}`)}return N((()=>{a.dispatch("category/getCategory"),a.dispatch("task/getTask")})),(e,a)=>{const t=X,s=H,k=q,x=R,b=W,w=A,U=S,I=G,M=J,P=O;return d(),i("div",Qe,[y("div",Re,[L(De,{category:r.value,"onUpdate:category":a[0]||(a[0]=e=>r.value=e)},null,8,["category"])]),y("div",We,[L(Ue,{"active-category-key":r.value},null,8,["active-category-key"]),y("div",Xe,[(d(!0),i($,null,T(u.value,(e=>(d(),V(Oe,{key:e.key,item:e,onEdit:C,onDelete:v,onShare:B,onMore:se},null,8,["item"])))),128)),0===u.value.length?(d(),V(t,{key:0,description:"此分类下没有任务哟,快去创建吧"})):m("",!0)])]),L(I,{modelValue:f.value,"onUpdate:modelValue":a[4]||(a[4]=e=>f.value=e),draggable:"",fullscreen:c(n),title:"基本信息修改"},{footer:z((()=>[y("span",Ze,[L(U,{onClick:a[3]||(a[3]=e=>f.value=!1)},{default:z((()=>a[8]||(a[8]=[p("取 消")]))),_:1}),L(U,{type:"primary",onClick:_},{default:z((()=>a[9]||(a[9]=[p("确 定")]))),_:1})])])),default:z((()=>[L(w,{model:h},{default:z((()=>[L(k,{label:"任务名称","label-width":"100px"},{default:z((()=>[L(s,{modelValue:h.name,"onUpdate:modelValue":a[1]||(a[1]=e=>h.name=e),autocomplete:"off"},null,8,["modelValue"])])),_:1}),L(k,{label:"新的分类","label-width":"100px"},{default:z((()=>[L(b,{modelValue:h.category,"onUpdate:modelValue":a[2]||(a[2]=e=>h.category=e),placeholder:"请选择新分类"},{default:z((()=>[L(x,{label:"默认",value:"default"}),(d(!0),i($,null,T(o.value,(e=>(d(),V(x,{key:e.k,label:e.name,value:e.k},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1})])),_:1},8,["model"])])),_:1},8,["modelValue","fullscreen"]),L(Z,{value:E.value,"onUpdate:value":a[5]||(a[5]=e=>E.value=e),download:!1,title:"收取链接",link:j.value,"share-text-prefix":D.value},null,8,["value","link","share-text-prefix"]),c(l).filePageFloatingContactEnabled&&c(l).filePageContactLink?(d(),V(Y,{key:0,href:c(l).filePageContactLink,text:c(l).filePageContactLinkText||"联系客服"},null,8,["href","text"])):m("",!0),L(I,{modelValue:Q.value,"onUpdate:modelValue":a[7]||(a[7]=e=>Q.value=e),fullscreen:c(n),title:"更多设置",center:""},{default:z((()=>[y("div",null,[y("h3",Ye,[a[11]||(a[11]=p(" 任务名:")),y("strong",ea,g(te.name),1),a[12]||(a[12]=p(", ")),L(U,{type:"primary",text:"",onClick:ce},{default:z((()=>a[10]||(a[10]=[p(" 去查看效果 ")]))),_:1})]),L(P,{modelValue:ee.value,"onUpdate:modelValue":a[6]||(a[6]=e=>ee.value=e)},{default:z((()=>[L(M,{label:"截止日期",name:"ddl"},{default:z((()=>[L(le,{ddl:F.ddl,k:te.key},null,8,["ddl","k"])])),_:1}),L(M,{label:"批注信息",name:"tip"},{default:z((()=>[L(ne,{rewrite:F.rewrite,tip:F.tip,k:te.key},null,8,["rewrite","tip","k"])])),_:1}),L(M,{label:"限制名单",name:"people"},{default:z((()=>[L(oe,{name:te.name,value:F.people,k:te.key,field:F.bindField},null,8,["name","value","k","field"])])),_:1}),L(M,{label:"必填信息",name:"info"},{default:z((()=>[L(re,{rewrite:F.rewrite,info:F.info,k:te.key,format:F.format},null,8,["rewrite","info","k","format"])])),_:1}),L(M,{label:"模板文件",name:"template"},{default:z((()=>[L(de,{value:F.template,k:te.key},null,8,["value","k"])])),_:1}),L(M,{label:"文件属性",name:"attr"},{default:z((()=>[L(ie,{format:F.format,k:te.key},null,8,["format","k"])])),_:1})])),_:1},8,["modelValue"])])])),_:1},8,["modelValue","fullscreen"])])}}}),[["__scopeId","data-v-2d10c34e"]]))}}}));
2
+ //# sourceMappingURL=index-legacy-CM7bG2hM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-legacy-CM7bG2hM.js","sources":["../../../../node_modules/.pnpm/element-plus@2.2.13_vue@3.5.12_typescript@4.9.5_/node_modules/element-plus/es/components/card/src/card.mjs","../../../../node_modules/.pnpm/element-plus@2.2.13_vue@3.5.12_typescript@4.9.5_/node_modules/element-plus/es/components/card/index.mjs","../../../../node_modules/.pnpm/element-plus@2.2.13_vue@3.5.12_typescript@4.9.5_/node_modules/element-plus/es/components/card/src/card2.mjs","../../../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.5.12_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/delete.mjs","../../../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.5.12_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/edit.mjs","../../../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.5.12_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/menu.mjs","../../../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.5.12_typescript@4.9.5_/node_modules/@element-plus/icons-vue/dist/es/share.mjs","../../src/pages/dashboard/tasks/components/CategoryPanel.vue","../../src/pages/dashboard/tasks/components/CreateTask.vue","../../src/pages/dashboard/tasks/index.vue"],"sourcesContent":["import '../../../utils/index.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\n\nconst cardProps = buildProps({\n header: {\n type: String,\n default: \"\"\n },\n bodyStyle: {\n type: definePropType([String, Object, Array]),\n default: \"\"\n },\n shadow: {\n type: String,\n values: [\"always\", \"hover\", \"never\"],\n default: \"always\"\n }\n});\n\nexport { cardProps };\n//# sourceMappingURL=card.mjs.map\n","import '../../utils/index.mjs';\nimport Card from './src/card2.mjs';\nexport { cardProps } from './src/card.mjs';\nimport { withInstall } from '../../utils/vue/install.mjs';\n\nconst ElCard = withInstall(Card);\n\nexport { ElCard, ElCard as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, normalizeStyle } from 'vue';\nimport '../../../hooks/index.mjs';\nimport { cardProps } from './card.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst __default__ = {\n name: \"ElCard\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n props: cardProps,\n setup(__props) {\n const ns = useNamespace(\"card\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([unref(ns).b(), unref(ns).is(`${_ctx.shadow}-shadow`)])\n }, [\n _ctx.$slots.header || _ctx.header ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"header\"))\n }, [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createTextVNode(toDisplayString(_ctx.header), 1)\n ])\n ], 2)) : createCommentVNode(\"v-if\", true),\n createElementVNode(\"div\", {\n class: normalizeClass(unref(ns).e(\"body\")),\n style: normalizeStyle(_ctx.bodyStyle)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 6)\n ], 2);\n };\n }\n});\nvar Card = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/card/src/card.vue\"]]);\n\nexport { Card as default };\n//# sourceMappingURL=card2.mjs.map\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Delete\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V256zm448-64v-64H416v64h192zM224 896h576V256H224v640zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32zm192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar _delete = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { _delete as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Edit\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z\"\n}, null, -1);\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z\"\n}, null, -1);\nconst _hoisted_4 = [\n _hoisted_2,\n _hoisted_3\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_4);\n}\nvar edit = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { edit as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Menu\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H608zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H608z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar menu = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { menu as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Share\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar share = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { share as default };\n","<script lang=\"ts\">\nimport { DeleteFilled } from '@element-plus/icons-vue'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { computed, defineComponent, ref } from 'vue'\nimport { useStore } from 'vuex'\n\nexport default defineComponent({\n name: 'CategoryPanel',\n components: {\n DeleteFilled,\n },\n props: {\n category: {\n type: String,\n default: 'default',\n },\n },\n emits: ['update:category'],\n setup(props, context) {\n const $store = useStore()\n // 分类相关\n const categorys = computed(() => $store.state.category.categoryList)\n const tasks = computed(() => $store.state.task.taskList)\n const taskCount = (c: string) => {\n const count = tasks.value.filter((t: any) => t.category === c).length\n return count === 0 ? '' : ` (${count})`\n }\n const isShowCreateCategory = ref(false)\n const categoryName = ref('')\n const addCategory = () => {\n isShowCreateCategory.value = false\n if (!categoryName.value.trim()) {\n // ElMessage.warning('不能为空')\n return\n }\n $store\n .dispatch('category/createCategory', categoryName.value)\n .then(() => {\n ElMessage.success('创建成功')\n })\n .catch((err) => {\n if (err.code === 2001) {\n ElMessage.warning('分类名称已存在')\n }\n })\n categoryName.value = ''\n }\n\n const handleClickCategory = (k: string) => {\n context.emit('update:category', k)\n }\n\n const handleDeleteCategory = (c: any) => {\n ElMessageBox.confirm('是否删除', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n })\n .then(() => {\n $store.dispatch('category/deleteCategory', c.k).then(() => {\n // 删除后变动的默认选择\n handleClickCategory('default')\n ElMessage.success('删除成功')\n // 获取最新的任务\n $store.dispatch('task/getTask')\n })\n })\n .catch(() => {\n ElMessage.info('取消删除')\n })\n }\n\n return {\n categorys,\n isShowCreateCategory,\n categoryName,\n addCategory,\n handleDeleteCategory,\n handleClickCategory,\n taskCount,\n }\n },\n})\n</script>\n\n<template>\n <!-- 分类管理 -->\n <div class=\"panel\">\n <!-- 按钮 -->\n <div class=\"btn-area\">\n <h5>分类列表</h5>\n <h6 style=\"font-weight: lighter\">\n (点击分类可筛选任务)\n </h6>\n </div>\n <!-- 分类列表 -->\n <div style=\"margin-top: 15px\" class=\"category-list\">\n <div class=\"new-tag-wrap\">\n <!-- 新分类 -->\n <el-input\n v-if=\"isShowCreateCategory\"\n v-model=\"categoryName\"\n class=\"input-new-tag el-tag\"\n placeholder=\"分类名称\"\n @keyup.enter=\"addCategory\"\n @focusout=\"addCategory\"\n />\n <el-button\n v-else\n class=\"button-new-tag el-tag\"\n size=\"small\"\n @click=\"isShowCreateCategory = true\"\n >\n + New 分类\n </el-button>\n <el-tag\n :effect=\"category === 'default' ? 'dark' : 'plain'\"\n @click=\"handleClickCategory('default')\"\n >\n 默认{{ taskCount('default') }}\n </el-tag>\n <span class=\"list-tip\"><el-tag\n type=\"danger\"\n :effect=\"category === 'trash' ? 'dark' : 'plain'\"\n @click=\"handleClickCategory('trash')\"\n ><el-icon><DeleteFilled /></el-icon> 回收站{{\n taskCount('trash')\n }}</el-tag></span>\n </div>\n <div class=\"tag-wrap\">\n <div class=\"tag-list\">\n <el-tag\n v-for=\"tag in categorys\"\n :key=\"tag.k\"\n closable\n :effect=\"category === tag.k ? 'dark' : 'plain'\"\n @close=\"handleDeleteCategory(tag)\"\n @click=\"handleClickCategory(tag.k)\"\n >\n {{ tag.name }}{{ taskCount(tag.k) }}\n </el-tag>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.el-tag {\n margin-left: 10px;\n margin-bottom: 10px;\n cursor: pointer;\n}\n.new-tag-wrap {\n display: flex;\n align-items: center;\n}\n.button-new-tag {\n margin-left: 10px;\n height: 32px;\n line-height: 30px;\n padding-top: 0;\n padding-bottom: 0;\n}\n.input-new-tag {\n width: 120px;\n padding: 0;\n margin-left: 10px;\n margin-bottom: 10px;\n vertical-align: bottom;\n}\n.panel {\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n}\n.btn-area {\n display: flex;\n justify-content: center;\n}\n.list-tip {\n // color: #67c23a;\n // font-size: 10px;\n margin-right: 10px;\n flex: 1;\n text-align: right;\n}\n.tag-wrap {\n width: 100%;\n height: 150px;\n}\n.tag-list {\n height: 150px;\n overflow-x: hidden;\n overflow-y: scroll;\n display: flex;\n flex-wrap: wrap;\n :deep(.el-tag) {\n width: 140px;\n }\n :deep(.el-tag__content) {\n width: 100px;\n text-align: center;\n text-overflow: ellipsis;\n word-break: keep-all;\n overflow: hidden;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { Menu } from '@element-plus/icons-vue'\nimport { ElMessage } from 'element-plus'\nimport { ref } from 'vue'\nimport { useStore } from 'vuex'\nimport Tip from './infoPanel/tip.vue'\n\nconst props = defineProps({\n activeCategoryKey: {\n type: String,\n default: 'default',\n },\n})\nconst $store = useStore()\n// 任务相关\nconst isShowCreateTask = ref(false)\nconst taskName = ref('')\nfunction createTask() {\n if (!taskName.value.trim()) {\n ElMessage.warning('不能为空')\n return\n }\n $store\n .dispatch('task/createTask', {\n name: taskName.value,\n category: props.activeCategoryKey,\n })\n .then(() => {\n ElMessage.success('创建成功')\n })\n taskName.value = ''\n}\n</script>\n\n<template>\n <div>\n <div class=\"btn-area\">\n <el-button\n size=\"large\" type=\"primary\" :plain=\"!isShowCreateTask\" @click=\"\n isShowCreateTask\n = !isShowCreateTask\n \"\n >\n {{\n isShowCreateTask\n ? '关闭创建面板'\n : '创建收集任务'\n }}\n </el-button>\n </div>\n <!-- 新增区域 -->\n <div v-show=\"isShowCreateTask\">\n <div class=\"input-container\">\n <el-input v-model=\"taskName\" placeholder=\"请输入任务名称(上述列表选择分类)\" />\n <el-button :type=\"taskName?.length ? 'success' : 'default'\" @click=\"createTask\">\n 确定\n </el-button>\n </div>\n </div>\n <Tip class=\"p10\">\n 点击\n <el-icon>\n <Menu />\n </el-icon> 可以进一步的调整任务\n </Tip>\n <Tip>\n 设置截止时间,自动重命名,名单限制,批注,文件模板。。🚀\n </Tip>\n </div>\n</template>\n\n<style scoped>\n.btn-area {\n display: flex;\n justify-content: center;\n}\n\n.input-container {\n margin: 15px auto;\n max-width: 600px;\n background-color: #fff;\n display: flex;\n justify-content: space-around;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport LinkDialog from '@components/linkDialog.vue'\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport { useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\nimport { TaskApi } from '@/apis'\nimport FloatingContact from '@/components/FloatingContact/index.vue'\nimport { useIsMobile, useSiteConfig } from '@/composables'\nimport { copyRes } from '@/utils/stringUtil'\nimport CategoryPanel from './components/CategoryPanel.vue'\nimport CreateTask from './components/CreateTask.vue'\nimport DDlPanel from './components/infoPanel/ddl.vue'\nimport FileInfoPanel from './components/infoPanel/file.vue'\nimport InfoPanel from './components/infoPanel/info.vue'\nimport PeoplePanel from './components/infoPanel/people.vue'\nimport TemplatePanel from './components/infoPanel/template.vue'\nimport TipInfoPanel from './components/infoPanel/tipInfo.vue'\nimport TaskInfo from './components/TaskInfo.vue'\n\nconst $store = useStore()\nconst $router = useRouter()\nconst { value: siteConfig } = useSiteConfig()\n\nconst isMobile = useIsMobile()\n// 分类相关\nconst categorys = computed(() => $store.state.category.categoryList)\n\n// 任务相关\nconst selectCategory = ref('default')\nconst tasks = computed<TaskApiTypes.TaskItem[]>(\n () => $store.state.task.taskList,\n)\nconst filterTasks = computed(() => {\n const t = tasks.value.filter(v => v.category === selectCategory.value)\n return t\n})\n\n// 删除任务\nfunction deleteTask(k: string, isTrash = false) {\n if (!k)\n return\n ElMessageBox.confirm(\n '确认删除此任务吗?',\n isTrash ? '!!回收站的删除后无法再恢复' : '数据无价,请谨慎操作',\n {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: isTrash ? 'error' : 'info',\n },\n )\n .then(() => {\n $store.dispatch('task/deleteTask', k).then(() => {\n ElMessage.success('删除成功')\n })\n })\n .catch(() => {\n ElMessage.info('取消删除')\n })\n}\n\n// 基本信息编辑\nconst showBaseInfoDialog = ref(false)\nconst taskBaseInfo = reactive({ name: '', category: '', key: '' })\nfunction editBaseInfo(task: any) {\n taskBaseInfo.name = task.name\n taskBaseInfo.category = task.category\n taskBaseInfo.key = task.key\n showBaseInfoDialog.value = true\n}\nfunction handleSaveEditInfo() {\n showBaseInfoDialog.value = false\n if (!taskBaseInfo.name.trim()) {\n ElMessage.warning('不能为空')\n return\n }\n $store.dispatch('task/updateTask', taskBaseInfo).then(() => {\n ElMessage.success('更新成功')\n })\n}\n\n// 生成分享链接\nconst shareTaskLink = ref('')\nconst showLinkModal = ref(false)\nconst shareTaskName = ref('')\nfunction shareTask(k: string) {\n shareTaskLink.value = 'default'\n const { origin } = window.location\n shareTaskLink.value = `${origin}/task/${k}`\n copyRes(shareTaskLink.value, '收集链接已自动复制到粘贴板')\n shareTaskName.value = tasks.value.find(v => v.key === k)?.name\n showLinkModal.value = true\n}\n\n// 附加属性编辑\nconst taskInfo = reactive<TaskApiTypes.TaskInfo>({})\nconst showTaskInfoPanel = ref(false)\nconst activeInfo = ref('info')\nconst activeTask: TaskApiTypes.TaskItem = reactive({\n category: '',\n key: '',\n name: '',\n recentLog: [],\n})\nfunction shouldOpenTaskConfigPage() {\n return true\n}\nfunction editMore(item: any) {\n if (shouldOpenTaskConfigPage()) {\n $router.push({\n name: 'task-config',\n params: {\n key: item.key,\n },\n query: {\n name: item.name,\n },\n })\n return\n }\n\n Object.assign(activeTask, item)\n TaskApi.getTaskMoreInfo(item.key).then((res) => {\n // 先初始化,再赋值\n taskInfo.info = '[]'\n taskInfo.ddl = ''\n taskInfo.tip = ''\n taskInfo.format = ''\n taskInfo.bindField = ''\n setTimeout(() => {\n Object.assign(taskInfo, res.data)\n showTaskInfoPanel.value = true\n })\n })\n}\n\n// TODO: 有需要再优化,目前像bug\n// 用于选择默认展示项目\n// const taskCount = (c: string) => {\n// const count = tasks.value.filter((t: any) => t.category === c).length\n// return count\n// }\n\n// 选中一个有任务数据的分类\n// watchEffect(() => {\n// if (taskCount('default') > 0) {\n// return\n// }\n// if (categorys.value.length > 0) {\n// for (const c of categorys.value) {\n// if (taskCount(c.k) > 0) {\n// selectCategory.value = c.k\n// break\n// }\n// }\n// }\n// })\n\nonMounted(() => {\n $store.dispatch('category/getCategory')\n $store.dispatch('task/getTask')\n})\n\nfunction openTaskPage() {\n window.open(`/task/${activeTask.key}`)\n}\n</script>\n\n<template>\n <div class=\"tasks\">\n <!-- 分类管理 -->\n <div class=\"categorys-area\">\n <CategoryPanel v-model:category=\"selectCategory\" />\n </div>\n\n <!-- 任务管理 -->\n <div class=\"panel task-panel\">\n <!-- 创建任务 -->\n <CreateTask :active-category-key=\"selectCategory\" />\n\n <!-- 任务列表 -->\n <div class=\"task-list\">\n <TaskInfo\n v-for=\"item in filterTasks\"\n :key=\"item.key\"\n :item=\"item\"\n @edit=\"editBaseInfo\"\n @delete=\"deleteTask\"\n @share=\"shareTask\"\n @more=\"editMore\"\n />\n <el-empty\n v-if=\"filterTasks.length === 0\"\n description=\"此分类下没有任务哟,快去创建吧\"\n />\n </div>\n </div>\n\n <!-- 任务基本信息维护弹窗 -->\n <el-dialog\n v-model=\"showBaseInfoDialog\"\n draggable\n :fullscreen=\"isMobile\"\n title=\"基本信息修改\"\n >\n <el-form :model=\"taskBaseInfo\">\n <el-form-item label=\"任务名称\" label-width=\"100px\">\n <el-input v-model=\"taskBaseInfo.name\" autocomplete=\"off\" />\n </el-form-item>\n <el-form-item label=\"新的分类\" label-width=\"100px\">\n <el-select v-model=\"taskBaseInfo.category\" placeholder=\"请选择新分类\">\n <el-option label=\"默认\" value=\"default\" />\n <el-option\n v-for=\"c in categorys\"\n :key=\"c.k\"\n :label=\"c.name\"\n :value=\"c.k\"\n />\n </el-select>\n </el-form-item>\n </el-form>\n <template #footer>\n <span class=\"dialog-footer\">\n <el-button @click=\"showBaseInfoDialog = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"handleSaveEditInfo\">确 定</el-button>\n </span>\n </template>\n </el-dialog>\n\n <!-- 分享链接弹窗(二维码/链接/短链) -->\n <LinkDialog\n v-model:value=\"showLinkModal\"\n :download=\"false\"\n title=\"收取链接\"\n :link=\"shareTaskLink\"\n :share-text-prefix=\"shareTaskName\"\n />\n <FloatingContact\n v-if=\"siteConfig.filePageFloatingContactEnabled && siteConfig.filePageContactLink\"\n :href=\"siteConfig.filePageContactLink\"\n :text=\"siteConfig.filePageContactLinkText || '联系客服'\"\n />\n <!-- 附加属性编辑弹窗 -->\n <el-dialog\n v-model=\"showTaskInfoPanel\"\n :fullscreen=\"isMobile\"\n title=\"更多设置\"\n center\n >\n <div>\n <h3 class=\"tc\" style=\"font-size: 14px; color: #9e9e9e\">\n 任务名:<strong style=\"color: #000000\">{{ activeTask.name }}</strong>,\n <el-button type=\"primary\" text @click=\"openTaskPage\">\n 去查看效果\n </el-button>\n </h3>\n <el-tabs v-model=\"activeInfo\">\n <el-tab-pane label=\"截止日期\" name=\"ddl\">\n <DDlPanel :ddl=\"taskInfo.ddl\" :k=\"activeTask.key\" />\n </el-tab-pane>\n <el-tab-pane label=\"批注信息\" name=\"tip\">\n <TipInfoPanel\n :rewrite=\"taskInfo.rewrite\"\n :tip=\"taskInfo.tip\"\n :k=\"activeTask.key\"\n />\n </el-tab-pane>\n <el-tab-pane label=\"限制名单\" name=\"people\">\n <PeoplePanel\n :name=\"activeTask.name\"\n :value=\"taskInfo.people\"\n :k=\"activeTask.key\"\n :field=\"taskInfo.bindField\"\n />\n </el-tab-pane>\n <el-tab-pane label=\"必填信息\" name=\"info\">\n <InfoPanel\n :rewrite=\"taskInfo.rewrite\"\n :info=\"taskInfo.info\"\n :k=\"activeTask.key\"\n :format=\"taskInfo.format\"\n />\n </el-tab-pane>\n <el-tab-pane label=\"模板文件\" name=\"template\">\n <TemplatePanel :value=\"taskInfo.template\" :k=\"activeTask.key\" />\n </el-tab-pane>\n <el-tab-pane label=\"文件属性\" name=\"attr\">\n <FileInfoPanel :format=\"taskInfo.format\" :k=\"activeTask.key\" />\n </el-tab-pane>\n </el-tabs>\n </div>\n </el-dialog>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.tasks {\n max-width: 1024px;\n margin: 0 auto;\n padding-bottom: 2em;\n}\n\n.tasks :deep(.el-dialog__body) {\n padding-top: 10px;\n}\n\n.panel {\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n}\n\n.task-list {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n}\n\n@media screen and (max-width: 700px) {\n .categorys-area {\n margin-top: 20px;\n }\n :deep(.el-tabs__nav-scroll) {\n overflow-x: scroll;\n &::-webkit-scrollbar {\n display: none; /* Chrome Safari */\n }\n }\n}\n</style>\n"],"names":["cardProps","buildProps","header","type","String","default","bodyStyle","definePropType","Object","Array","shadow","values","ElCard","withInstall","_export_sfc","defineComponent","name","props","setup","__props","ns","useNamespace","_ctx","_cache","openBlock","createElementBlock","class","normalizeClass","unref","b","is","$slots","key","e","renderSlot","createTextVNode","toDisplayString","createCommentVNode","createElementVNode","style","normalizeStyle","_sfc_main","_hoisted_1","viewBox","xmlns","_hoisted_3","fill","d","_delete","$props","$setup","$data","$options","_hoisted_4","edit","menu","share","_sfc_main$3","components","DeleteFilled","category","emits","context","$store","useStore","categorys","computed","state","categoryList","tasks","task","taskList","isShowCreateCategory","ref","categoryName","handleClickCategory","k","emit","addCategory","value","trim","dispatch","then","ElMessage","success","catch","err","code","warning","handleDeleteCategory","c","ElMessageBox","confirm","confirmButtonText","cancelButtonText","info","taskCount","count","filter","t","length","_hoisted_2","_component_el_icon","__unplugin_components_3","_openBlock","_createElementBlock","_createElementVNode","_component_el_input","modelValue","$event","placeholder","onFocusout","_createBlock","_component_el_button","size","onClick","_createTextVNode","_","_createVNode","_component_el_tag","effect","_toDisplayString","_withCtx","_component_DeleteFilled","_hoisted_5","_hoisted_6","_Fragment","_renderList","tag","closable","isShowCreateTask","taskName","createTask","activeCategoryKey","$router","useRouter","siteConfig","useSiteConfig","isMobile","useIsMobile","selectCategory","filterTasks","v","deleteTask","isTrash","showBaseInfoDialog","taskBaseInfo","reactive","editBaseInfo","handleSaveEditInfo","shareTaskLink","showLinkModal","shareTaskName","shareTask","origin","window","location","copyRes","find","taskInfo","showTaskInfoPanel","activeInfo","activeTask","recentLog","editMore","item","push","params","query","openTaskPage","open","onMounted"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,2 @@
1
+ System.register(["./index-legacy-CkcZHDIb.js","./el-loading-legacy-CFNL_MoE.js","./el-tab-pane-legacy-Ct9rYze8.js","./el-table-column-legacy-D2UbUqx0.js","./el-tag-legacy-diNMtlkE.js","./el-scrollbar-legacy-DVIFmrwk.js","./el-input-number-legacy-Bh6hK4h_.js","./el-switch-legacy-CeDo4e_6.js","./el-empty-legacy-ZCYPIt_S.js","./tip-legacy-DXZHLiK7.js","./refresh-legacy-D7NGa5wN.js","./index-legacy-B71iq4Jg.js","./index-legacy-BSmhgZ-n.js","./index-legacy-Cp4ut576.js","./index-legacy-BTvagK_v.js","./aria-legacy-B70JmEZA.js"],(function(e,a){"use strict";var l,t,o,i,n,r,s,d,c,p,u,m,v,f,b,g,y,h,x,w,_,k,q,z,C,S,V,M,j,E,L,U,B,$,T,P,A,Q,N,D,I,O,R,Y,F,K,W,G,H,X,J,Z,ee,ae,le,te,oe,ie,ne,re,se,de,ce,pe,ue,me,ve,fe,be,ge,ye,he;return{setters:[e=>{l=e.H,t=e.an,o=e.aJ,i=e.aK,n=e.aL,r=e.aM,s=e.L,d=e.d,c=e.N,p=e.r,u=e.aN,m=e.Y,v=e.ak,f=e.a,b=e.c,g=e.R,y=e.D,h=e.j,x=e.aO,w=e.al,_=e.M,k=e.b,q=e.aP,z=e.aQ,C=e.e,S=e.t,V=e.i,M=e.w,j=e.aR,E=e.G,L=e.a8,U=e.a9,B=e.W,$=e.aI,T=e.a4,P=e.a6,A=e.X,Q=e.o,N=e.B,D=e.F,I=e.A,O=e.Q,R=e.aS,Y=e.aT,F=e.E,K=e.m,W=e.P,G=e.x,H=e.s,X=e.q,J=e.ag,Z=e.ah,ee=e.aU,ae=e.aV,le=e.a0,te=e.aW,oe=e.y,ie=e.U,ne=e._},e=>{re=e.v},e=>{se=e.E,de=e.a},e=>{ce=e.E,pe=e.a},e=>{ue=e.E},null,e=>{me=e.E},e=>{ve=e.E},e=>{fe=e.E},e=>{be=e.T},e=>{ge=e.r},e=>{ye=e.E},e=>{he=e._},null,null,null],execute:function(){var a=document.createElement("style");a.textContent=".fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{display:flex;align-items:center;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);font-weight:500;transition:border-bottom-color var(--el-transition-duration);outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);overflow:hidden;box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item__content{padding-bottom:25px;font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);line-height:1.7692307692}.el-collapse-item:last-child{margin-bottom:-1px}.config-page[data-v-543b98ed]{max-width:1256px;margin:10px auto;color:#1f2937}.hero-card[data-v-543b98ed],.panel[data-v-543b98ed]{box-sizing:border-box;border:1px solid #edf0f5;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(31,41,55,.08)}.hero-card[data-v-543b98ed]{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;overflow:hidden;background:radial-gradient(circle at 88% 20%,rgba(64,158,255,.18),transparent 28%),linear-gradient(135deg,#fff,#f6f9ff)}.hero-card h1[data-v-543b98ed]{margin:6px 0 10px;font-size:30px;line-height:1.2}.eyebrow[data-v-543b98ed]{margin:0;color:#409eff;font-size:13px;font-weight:700;letter-spacing:.12em}.hero-desc[data-v-543b98ed]{max-width:640px;margin:0;color:#6b7280;line-height:1.7}.hero-stats[data-v-543b98ed]{display:grid;grid-template-columns:repeat(3,92px);gap:10px}.hero-stats div[data-v-543b98ed]{display:grid;place-items:center;min-height:92px;border-radius:20px;background:rgba(255,255,255,.74);box-shadow:inset 0 0 0 1px rgba(64,158,255,.12)}.hero-stats strong[data-v-543b98ed]{color:#2563eb;font-size:32px;line-height:1}.hero-stats span[data-v-543b98ed]{color:#6b7280;font-size:13px}.panel[data-v-543b98ed]{margin-top:18px;padding:24px}.section-head[data-v-543b98ed]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head.compact[data-v-543b98ed]{margin-bottom:12px}.section-head h2[data-v-543b98ed]{margin:0 0 6px;font-size:20px}.section-head p[data-v-543b98ed]{margin:0;color:#6b7280;line-height:1.6}.service-grid[data-v-543b98ed]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.service-card[data-v-543b98ed]{padding:16px;border:1px solid #e8edf5;border-radius:14px;background:#fbfdff}.service-card.error[data-v-543b98ed]{background:#fff8f8}.service-card-head[data-v-543b98ed]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.service-card-head h3[data-v-543b98ed]{margin:0 0 6px;font-size:17px}.service-card-head p[data-v-543b98ed]{margin:0;color:#6b7280;font-size:13px;line-height:1.5}.service-meta[data-v-543b98ed]{display:grid;gap:8px;margin-top:14px;color:#8a94a6;font-size:13px}.error-text[data-v-543b98ed],.error-list span[data-v-543b98ed]{color:#d03050;word-break:break-all}.error-list[data-v-543b98ed]{display:grid;gap:8px}.error-list p[data-v-543b98ed]{margin:0;line-height:1.6}.config-tabs[data-v-543b98ed] .el-tabs__header{margin-bottom:14px}.config-tabs[data-v-543b98ed] .el-tabs__nav-wrap:after{height:1px;background-color:#edf0f5}.config-tabs[data-v-543b98ed] .el-tabs__item{height:36px;padding:0 18px;color:#6b7280;font-weight:700}.tab-head[data-v-543b98ed]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border-radius:12px;background:#f7faff}.tab-head h3[data-v-543b98ed]{margin:0 0 5px;font-size:16px}.tab-head p[data-v-543b98ed]{margin:0;color:#6b7280;line-height:1.5}.field-list[data-v-543b98ed]{display:grid;gap:12px}.config-form[data-v-543b98ed] .el-form-item{margin-bottom:0}.field-item[data-v-543b98ed]{min-width:0;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,380px);align-items:center;gap:16px;padding:12px 14px;border:1px solid #edf0f5;border-radius:12px;background:#fff}.field-item[data-v-543b98ed] .el-form-item__label{margin-bottom:0;padding-right:0;line-height:1.4}.field-item[data-v-543b98ed] .el-form-item__content{min-width:0}.field-label[data-v-543b98ed],.field-desc[data-v-543b98ed]{display:block}.field-label[data-v-543b98ed]{color:#1f2937;font-size:14px;font-weight:700}.field-desc[data-v-543b98ed]{margin-top:3px;color:#8a94a6;font-size:13px}.full-control[data-v-543b98ed]{width:100%}.bottom-actions-row[data-v-543b98ed]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 16px;margin-top:18px}.bottom-actions-hint[data-v-543b98ed]{flex:1 1 220px;margin:0 auto 0 0;min-width:0;color:#6b7280;font-size:13px;line-height:1.5}.mysql-live-panel[data-v-543b98ed]{min-height:120px}.mysql-tool-block[data-v-543b98ed]{margin-top:28px;padding:20px 18px;border:1px solid #edf0f5;border-radius:14px;background:#fbfdff}.mysql-tool-block[data-v-543b98ed]:first-child{margin-top:0}.mysql-tool-block__head[data-v-543b98ed]{margin-bottom:14px}.mysql-tool-block__head--row[data-v-543b98ed]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px}.mysql-tool-block__title[data-v-543b98ed]{margin:0 0 6px;font-size:16px;font-weight:600;color:#1f2937}.mysql-tool-block__desc[data-v-543b98ed]{margin:0;color:#6b7280;font-size:13px;line-height:1.5}.mysql-schema-hints--in-tab[data-v-543b98ed]{margin-top:4px}.mysql-export-actions[data-v-543b98ed]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.mysql-export-actions__hint[data-v-543b98ed]{color:var(--el-text-color-secondary);font-size:13px}.mysql-schema-alert[data-v-543b98ed]{margin-bottom:12px}.mysql-tool-block--solo[data-v-543b98ed]{margin-top:16px}.mysql-merged-section[data-v-543b98ed]{margin-top:0}.mysql-merged-section--live[data-v-543b98ed]{margin-top:20px}.mysql-merged-section__head[data-v-543b98ed]{margin-bottom:12px}.mysql-merged-section__title[data-v-543b98ed]{margin:0 0 6px;font-size:16px;font-weight:600;color:#303133}.mysql-merged-section__desc[data-v-543b98ed]{margin:0;font-size:13px;line-height:1.5;color:#606266}.admin-users-panel[data-v-543b98ed]{margin-top:8px}.admin-users-table[data-v-543b98ed]{width:100%;margin-bottom:24px}.admin-create-block[data-v-543b98ed]{margin-top:8px}.admin-create-form[data-v-543b98ed]{max-width:720px}.admin-create-grid[data-v-543b98ed]{display:grid;gap:4px 20px;grid-template-columns:repeat(2,minmax(200px,1fr));margin-bottom:12px}.code-row[data-v-543b98ed]{display:flex;gap:10px;align-items:center;width:100%}.code-row .el-input[data-v-543b98ed]{flex:1}.field-hint-muted[data-v-543b98ed]{margin:6px 0 0;color:#8a94a6;font-size:12px}.admin-reset-hint[data-v-543b98ed]{margin:0 0 12px;color:#606266;font-size:14px}@media screen and (max-width: 700px){.admin-create-grid[data-v-543b98ed]{grid-template-columns:1fr}}.mysql-live-summary[data-v-543b98ed]{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 14px;color:#6b7280;font-size:13px;line-height:1.5}.mysql-live-collapse[data-v-543b98ed]{border:none}.mysql-live-collapse[data-v-543b98ed] .el-collapse-item__header{height:auto;min-height:48px;padding:10px 12px;line-height:1.4;background:#fbfdff}.mysql-live-collapse[data-v-543b98ed] .el-collapse-item__wrap{border-bottom:1px solid #edf0f5}.mysql-live-collapse[data-v-543b98ed] .el-collapse-item__content{padding-bottom:16px}.mysql-live-collapse-title[data-v-543b98ed]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;width:100%;padding-right:8px}.mysql-live-collapse-meta[data-v-543b98ed]{color:#8a94a6;font-size:13px;font-weight:400}.mysql-live-block[data-v-543b98ed]{margin-top:16px}.mysql-live-block h4[data-v-543b98ed]{margin:0 0 10px;font-size:14px;color:#374151}.mysql-live-table[data-v-543b98ed]{width:100%}.mysql-live-muted[data-v-543b98ed]{margin:0;color:#8a94a6;font-size:13px}.mysql-live-ddl-head[data-v-543b98ed]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.mysql-live-ddl[data-v-543b98ed]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.tab-head code[data-v-543b98ed]{padding:1px 6px;border-radius:4px;background:rgba(64,158,255,.12);font-size:12px}@media screen and (max-width: 900px){.config-page[data-v-543b98ed]{margin-top:40px}.hero-card[data-v-543b98ed]{align-items:flex-start;flex-direction:column;padding:22px}.hero-stats[data-v-543b98ed]{width:100%;grid-template-columns:repeat(3,1fr)}.field-item[data-v-543b98ed]{grid-template-columns:1fr;gap:8px}}@media screen and (max-width: 700px){.config-page[data-v-543b98ed]{margin:40px 10px 0}.panel[data-v-543b98ed]{padding:18px;border-radius:14px}.section-head[data-v-543b98ed],.tab-head[data-v-543b98ed]{display:block}.section-head .el-button[data-v-543b98ed],.tab-head .el-button[data-v-543b98ed]{width:100%;margin-top:14px}.hero-stats[data-v-543b98ed]{grid-template-columns:1fr}.config-tabs[data-v-543b98ed] .el-tabs__nav-scroll{overflow-x:auto}.field-item[data-v-543b98ed]{padding:12px}.bottom-actions-row[data-v-543b98ed]{flex-direction:column;align-items:stretch}.bottom-actions-hint[data-v-543b98ed]{margin-right:0}.bottom-actions-row .el-button[data-v-543b98ed]{width:100%}}.mysql-export-fs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;flex-direction:column;box-sizing:border-box;background:var(--el-bg-color, #fff)}.mysql-export-fs__shell{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;height:100%;background:inherit}.mysql-export-fs__head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--el-border-color-lighter, #ebeef5);box-sizing:border-box}.mysql-export-fs__title{margin:0;font-size:16px;font-weight:600;color:var(--el-text-color-primary)}.mysql-export-fs__main{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px 18px;box-sizing:border-box;overflow:hidden}.mysql-export-fs__desc{margin:0;flex-shrink:0;font-size:13px;line-height:1.5;color:var(--el-text-color-secondary)}.mysql-export-fs__hint{margin:0;flex-shrink:0;font-size:13px;line-height:1.5;color:var(--el-text-color-regular)}.mysql-export-fs__textarea{flex:1 1 0;min-height:0;width:100%;resize:none;box-sizing:border-box;padding:12px 14px;border:1px solid var(--el-border-color, #dcdfe6);border-radius:var(--el-border-radius-base, 4px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5;tab-size:2;color:var(--el-text-color-primary);background:var(--el-fill-color-blank, #fff);cursor:text;overflow-y:auto}.mysql-export-fs__textarea:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:0}.mysql-export-fs__foot{flex-shrink:0;display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--el-border-color-lighter, #ebeef5);box-sizing:border-box}\n/*$vite$:1*/",document.head.appendChild(a);const xe=Symbol("collapseContextKey"),we=e=>typeof r(e),_e=l({accordion:Boolean,modelValue:{type:t([Array,String,Number]),default:()=>o([])}}),ke=d({name:"ElCollapse",props:_e,emits:{[i]:we,[n]:we},setup(e,{expose:a,emit:l}){const t=e,o=c("collapse"),r=p(u(t.modelValue)),s=e=>{r.value=e;const a=t.accordion?r.value[0]:r.value;l(i,a),l(n,a)};return m((()=>t.modelValue),(()=>r.value=u(t.modelValue)),{deep:!0}),v(xe,{activeNames:r,handleItemClick:e=>{if(t.accordion)s([!r.value[0]&&0!==r.value[0]||r.value[0]!==e?e:""]);else{const a=[...r.value],l=a.indexOf(e);l>-1?a.splice(l,1):a.push(e),s(a)}}}),a({activeNames:r,setActiveNames:s}),(e,a)=>(f(),b("div",{class:y(h(o).b()),role:"tablist","aria-multiselectable":"true"},[g(e.$slots,"default")],2))}});var qe=s(ke,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse.vue"]]);const ze=l({title:{type:String,default:""},name:{type:t([String,Number]),default:()=>x()},disabled:Boolean}),Ce=["aria-expanded","aria-controls","aria-describedby"],Se=["id","tabindex","onKeypress"],Ve=["id","aria-hidden","aria-labelledby"];var Me=s(d({name:"ElCollapseItem",props:ze,setup(e,{expose:a}){const l=e,t=w(xe),o=c("collapse"),i=p(!1),n=p(!1),r=p(x()),s=_((()=>null==t?void 0:t.activeNames.value.includes(l.name))),d=()=>{setTimeout((()=>{n.value?n.value=!1:i.value=!0}),50)},u=()=>{l.disabled||(null==t||t.handleItemClick(l.name),i.value=!1,n.value=!0)},m=()=>{null==t||t.handleItemClick(l.name)};return a({isActive:s}),(e,a)=>(f(),b("div",{class:y([h(o).b("item"),h(o).is("active",h(s)),h(o).is("disabled",e.disabled)])},[k("div",{role:"tab","aria-expanded":h(s),"aria-controls":h(o).b(`content-${r.value}`),"aria-describedby":h(o).b(`content-${r.value}`)},[k("div",{id:h(o).b(`head-${r.value}`),class:y([h(o).be("item","header"),h(o).is("active",h(s)),{focusing:i.value&&!e.disabled}]),role:"button",tabindex:e.disabled?-1:0,onClick:u,onKeypress:q(z(m,["stop","prevent"]),["space","enter"]),onFocus:d,onBlur:a[0]||(a[0]=e=>i.value=!1)},[g(e.$slots,"title",{},(()=>[C(S(e.title),1)])),V(h(E),{class:y([h(o).be("item","arrow"),h(o).is("active",h(s))])},{default:M((()=>[V(h(j))])),_:1},8,["class"])],42,Se)],8,Ce),V(h(he),null,{default:M((()=>[L(k("div",{id:h(o).b(`content-${r.value}`),class:y(h(o).be("item","wrap")),role:"tabpanel","aria-hidden":!h(s),"aria-labelledby":h(o).b(`head-${r.value}`)},[k("div",{class:y(h(o).be("item","content"))},[g(e.$slots,"default")],2)],10,Ve),[[U,h(s)]])])),_:3})],2))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse-item.vue"]]);const je=B(qe,{CollapseItem:Me}),Ee=$(Me),Le={getServiceOverview:function(){return T.get("/config/service/overview")},getMysqlSchema:function(){return T.get("/config/service/mysql/schema")},getMysqlSchemaExportSql:function(){return T.get("/config/service/mysql/schema/export-sql")},applyMysqlSchema:function(){return T.post("/config/service/mysql/schema/apply")},getMysqlLiveIntrospect:function(){return T.get("/config/service/mysql/introspect")},checkMysqlDatabase:function(e){return T.post("/config/service/mysql/check-database",e)},listConfigAdminUsers:function(){return T.get("/config/service/admin-users")},createConfigAdminUser:function(e){return T.post("/config/service/admin-users",e)},resetConfigAdminUserPassword:function(e){return T.post("/config/service/admin-users/reset-password",e)},getServiceConfig:function(){return T.get("/config/service/config")},updateCfg:function(e){return T.put("/config/service/config",e)}},Ue={class:"config-page"},Be={class:"hero-card"},$e={class:"hero-stats"},Te={class:"panel"},Pe={class:"section-head"},Ae={key:1,class:"service-grid"},Qe={class:"service-card-head"},Ne={class:"service-meta"},De={key:0,class:"error-text"},Ie={class:"panel"},Oe={class:"error-list"},Re={class:"panel"},Ye={class:"section-head"},Fe={href:"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE"},Ke={key:1},We={class:"tab-head"},Ge={class:"field-list"},He={class:"field-label"},Xe={key:0,class:"field-desc"},Je={class:"tab-head"},Ze={class:"mysql-merged-section mysql-tool-block mysql-tool-block--solo"},ea={class:"mysql-schema-hints mysql-schema-hints--in-tab"},aa={key:0,class:"mysql-export-actions"},la={class:"schema-drift-body"},ta={key:0,style:{margin:"8px 0 0 0"}},oa={key:1},ia={key:2,style:{margin:"8px 0 0 0"}},na={key:3},ra={key:4,style:{margin:"8px 0 0 0"}},sa={key:5},da={class:"mysql-tool-block mysql-tool-block--solo mysql-merged-section mysql-merged-section--live"},ca={class:"mysql-live-panel"},pa={class:"mysql-live-summary"},ua={class:"mysql-live-collapse-title"},ma={class:"mysql-live-collapse-meta"},va={key:0},fa={key:1},ba={key:2},ga={class:"mysql-live-block"},ya={class:"mysql-live-block"},ha={key:1,class:"mysql-live-muted"},xa={class:"mysql-live-block"},wa={class:"mysql-live-ddl-head"},_a={class:"tab-head"},ka={class:"admin-users-panel"},qa={key:0,class:"mysql-tool-block mysql-tool-block--solo admin-create-block"},za={class:"admin-create-grid"},Ca={class:"code-row"},Sa={key:0,class:"admin-reset-hint"},Va={key:0,class:"bottom-actions-row"},Ma={class:"bottom-actions-hint"},ja={key:0,class:"mysql-export-fs",role:"dialog","aria-modal":"true","aria-labelledby":"mysql-export-fs-title"},Ea={class:"mysql-export-fs__shell"},La={class:"mysql-export-fs__head"},Ua={class:"mysql-export-fs__head-actions"},Ba={class:"mysql-export-fs__main"},$a={key:0,class:"mysql-export-fs__desc"},Ta={class:"mysql-export-fs__foot"},Pa="mysql-introspect",Aa="config-admin-users",Qa=d({__name:"index",setup(e){const{value:a}=P(),l=p(null),t=p(!1),o=p(!1),i=p(!1),n=p(""),r=p(""),s=p(""),d=p([]),c=p([]),u=p(!1),v=p(!1),g=p(""),x=A({}),w=_((()=>{const e=d.value.length,a=d.value.filter((e=>e.status)).length,l=d.value.filter((e=>e.required)).length;return{total:e,running:a,required:l,optional:e-l,abnormal:e-a}})),q=_((()=>d.value.filter((e=>e.errMsg)))),z=_((()=>c.value.some((e=>"mysql"===e.type)))),j=p(null),E=p(!1),B=p([]),$=_((()=>c.value.find((e=>e.type===g.value))));function T(e){return e.status?"success":e.required?"danger":"warning"}function ne(e){return e.status?"运行中":e.required?"异常":"未就绪"}function he(e){return"number"==typeof e.value||"port"===e.key}function xe(e,a){e.value=a}async function we(){t.value=!0;try{const{data:e}=await Le.getMysqlSchema();l.value=e??null}catch{l.value=null}finally{t.value=!1}}async function _e(){E.value=!0;try{const{data:e}=await Le.getMysqlLiveIntrospect();j.value=e??null}catch{j.value=null}finally{E.value=!1}}function ke(e){if(null==e||Number.isNaN(e))return"—";if(e<1024)return`${e} B`;const a=["KB","MB","GB","TB"];let l=e/1024,t=0;for(;l>=1024&&t<a.length-1;)l/=1024,t++;return`${l<10?l.toFixed(1):Math.round(l)} ${a[t]}`}async function qe(){t.value=!0;try{await Le.applyMysqlSchema(),await we(),await _e(),await tl(!1),F.success("已按 mysql-schema.json 对齐缺列及列类型")}catch{F.error("执行失败,请查看服务端日志")}finally{t.value=!1}}async function ze(){o.value=!0,n.value="",r.value="",s.value="",i.value=!0;try{const{data:e}=await Le.getMysqlSchemaExportSql();if(!e?.sql?.trim()||e?.error)return void(s.value=e?.error||"未生成 SQL");n.value=e.sql,r.value=e.description?.trim()??""}catch{s.value="加载失败,请稍后重试"}finally{i.value=!1}}function Ce(){o.value=!1,n.value="",r.value="",s.value=""}const Se=p(!1),Ve=p([]),Me=p(!1),Qa=p(!1),Na=_((()=>Me.value||Qa.value)),Da=A({account:"",pwd1:"",pwd2:"",bindPhone:!1,phone:"",code:""}),Ia=p(!1),Oa=p(!1),Ra=p(null),Ya=p(""),Fa=p(""),Ka=p(!1),Wa=p("获取验证码"),Ga=p(0);function Ha(){0!==Ga.value?(Wa.value=`${Ga.value}s`,Ga.value-=1,setTimeout(Ha,1e3)):Wa.value="获取验证码"}function Xa(){K.test(Da.phone)?W.getCode(Da.phone).then((()=>{Ga.value=120,Ha(),F.success("验证码已发送")})):F.warning("手机号格式不正确")}async function Ja(){Se.value=!0;try{const{data:e}=await Le.listConfigAdminUsers();Ve.value=e?.list??[]}catch{Ve.value=[]}finally{Se.value=!1}}async function Za(){if(function(){if(!Na.value)return F.warning("当前账号无权创建超级管理员"),!1;if(!te.test(Da.account))return F.warning("帐号格式不正确(4-11位 数字字母)"),!1;if(!G.test(Da.pwd1))return F.warning("密码格式不正确(6-16位 支持字母/数字/下划线)"),!1;if(Da.pwd1!==Da.pwd2)return F.warning("两次输入的密码不一致"),!1;if(Da.bindPhone){if(!K.test(Da.phone))return F.warning("手机号格式不正确"),!1;if(!oe.test(Da.code))return F.warning("验证码不正确(4位 数字)"),!1}return!0}()){Ia.value=!0;try{const{data:e}=await Le.createConfigAdminUser({account:Da.account,pwd:Da.pwd1,bindPhone:Da.bindPhone,phone:Da.phone,code:Da.code});if(!e?.ok)return void F.error(e?.error||"创建失败");F.success("管理员账号已创建"),Da.account="",Da.pwd1="",Da.pwd2="",Da.phone="",Da.code="",await Ja()}catch{F.error("请求失败")}finally{Ia.value=!1}}}function el(){Oa.value=!1,Ra.value=null}async function al(){if(Ra.value)if(G.test(Ya.value))if(Ya.value===Fa.value){Ka.value=!0;try{const{data:e}=await Le.resetConfigAdminUserPassword({id:Ra.value.id,pwd:Ya.value});if(!e?.ok)return void F.error(e?.error||"重置失败");F.success("密码已重置"),el()}catch{F.error("请求失败")}finally{Ka.value=!1}}else F.warning("两次输入的密码不一致");else F.warning("密码格式不正确(6-16位 支持字母/数字/下划线)")}async function ll(){if(n.value?.trim?.())try{await navigator.clipboard.writeText(n.value),F.success("已复制全部 SQL")}catch{F.error("复制失败,请手动在文本框中选取复制")}else F.warning("暂无 SQL 可复制")}async function tl(e=!0){if(!u.value){u.value=!0;try{const{data:a}=await Le.getServiceOverview();d.value=a||[],e&&F.success("服务状态刷新完成")}catch{F.error("服务状态刷新失败")}finally{u.value=!1}}}async function ol(){v.value=!0;try{const{data:a}=await Le.getServiceConfig();c.value=a||[],g.value&&((e=g.value)===Aa||c.value.some((a=>a.type===e))||z.value&&e===Pa)||(g.value=c.value[0]?.type||Aa)}catch{F.error("服务配置加载失败")}finally{v.value=!1}var e}async function il(e){if(e&&!x[e.type]){if("mysql"===e.type){let a=null;try{const{data:l}=await Le.checkMysqlDatabase(function(e){const a=["host","port","user","password","database"],l={};for(const t of e)"mysql"===t.type&&a.includes(t.key)&&(l[t.key]=t.value);return l}(e.data));a=l??null}catch{return void F.error("检测数据库状态失败")}if(!a)return void F.error("检测数据库状态失败");if(!a.canConnect)return void F.error(a.error||"无法连接 MySQL,请检查地址与账号");if(!a.databaseExists){const a=e.data.find((e=>"autoCreateDatabase"===e.key));if(!Boolean(a?.value)){const l=e.data.find((e=>"database"===e.key))?.value,t=null!=l?String(l).trim():"",o=t?`服务器上不存在名为「${t}」的数据库。是否开启「无库时自动建库并按模板导入全部表结构」并保存?`:"服务器上不存在该数据库。是否开启「无库时自动建库并按模板导入全部表结构」并保存?";try{await ye.confirm(o,"数据库不存在",{type:"warning",confirmButtonText:"开启并保存",cancelButtonText:"取消"})}catch{return}a?a.value=!0:e.data.push({type:"mysql",key:"autoCreateDatabase",value:!0,label:"无库时自动建库并按模板导入全部表结构",isSecret:!1})}}}x[e.type]=!0;try{await Le.updateCfg(e.data),F.success(`${e.title} 配置已保存`),await ol(),await tl(!1),"mysql"===e.type&&(await we(),await _e())}catch{F.error(`${e.title} 配置保存失败`)}finally{x[e.type]=!1}}}async function nl(){await we(),await _e()}return m((()=>a.value?.needBindPhone),(e=>{e&&(Da.bindPhone=!0)}),{immediate:!0}),m(o,(e=>{"undefined"!=typeof document&&(document.body.style.overflow=e?"hidden":"")})),Q((()=>{tl(!1),ol()})),m(g,(e=>{e===Pa&&nl(),e===Aa&&(async function(){try{const{data:e}=await ie.checkPower();Me.value=Boolean(e?.power),Qa.value=Boolean(e?.system)}catch{Me.value=!1,Qa.value=!1}}(),Ja())})),(e,p)=>{const m=H,_=fe,P=ue,A=ve,Q=me,K=X,W=J,G=Z,te=se,oe=ee,ie=ce,ye=pe,we=Ee,_e=je,Me=ae,Le=le,Qa=de,Ha=re;return f(),b("div",Ue,[k("section",Be,[p[17]||(p[17]=k("div",null,[k("p",{class:"eyebrow"}," 服务配置 "),k("h1",null,"依赖服务概况"),k("p",{class:"hero-desc"}," 按服务端当前实际启用的能力展示依赖状态;未启用的 Redis 不展示,MongoDB 异常也不会影响本页配置管理。 ")],-1)),k("div",$e,[k("div",null,[k("strong",null,S(w.value.running),1),p[14]||(p[14]=k("span",null,"运行中",-1))]),k("div",null,[k("strong",null,S(w.value.abnormal),1),p[15]||(p[15]=k("span",null,"需关注",-1))]),k("div",null,[k("strong",null,S(w.value.optional),1),p[16]||(p[16]=k("span",null,"可选服务",-1))])])]),k("section",Te,[k("div",Pe,[k("div",null,[p[19]||(p[19]=k("h2",null,"总体依赖服务概况",-1)),V(be,null,{default:M((()=>p[18]||(p[18]=[C("这里只检查当前服务端正在使用或已配置的依赖服务。")]))),_:1})]),V(m,{loading:u.value,icon:h(ge),onClick:p[0]||(p[0]=e=>tl())},{default:M((()=>p[20]||(p[20]=[C(" 刷新状态 ")]))),_:1},8,["loading","icon"])]),u.value||d.value.length?L((f(),b("div",Ae,[(f(!0),b(D,null,I(d.value,(e=>(f(),b("article",{key:e.type,class:y(["service-card",{error:!e.status}])},[k("div",Qe,[k("div",null,[k("h3",null,S(e.title),1),k("p",null,S(e.description),1)]),V(P,{type:T(e),effect:"dark"},{default:M((()=>[C(S(ne(e)),1)])),_:2},1032,["type"])]),k("div",Ne,[k("span",null,S(e.required?"核心依赖":"可选依赖"),1),e.errMsg?(f(),b("span",De,S(e.errMsg),1)):O("",!0)])],2)))),128))])),[[Ha,u.value]]):(f(),N(_,{key:0,description:"暂无可展示的服务依赖"}))]),L(k("section",Ie,[p[21]||(p[21]=k("div",{class:"section-head compact"},[k("div",null,[k("h2",null,"异常信息"),k("p",null,"以下服务未通过状态检查,可在对应配置 Tab 中集中修改后保存。")])],-1)),k("div",Oe,[(f(!0),b(D,null,I(q.value,(e=>(f(),b("p",{key:e.type},[k("strong",null,S(e.title)+":",1),k("span",null,S(e.errMsg),1)])))),128))])],512),[[U,q.value.length]]),k("section",Re,[k("div",Ye,[k("div",null,[p[24]||(p[24]=k("h2",null,"服务相关配置",-1)),V(be,null,{default:M((()=>[p[23]||(p[23]=C(" 各类服务按 Tab 展开编辑,同一类服务修改完成后统一保存。 ")),k("a",Fe,[V(m,{type:"primary",link:""},{default:M((()=>p[22]||(p[22]=[C("配置手册?")]))),_:1})])])),_:1})])]),v.value||c.value.length?L((f(),b("div",Ke,[V(Qa,{modelValue:g.value,"onUpdate:modelValue":p[11]||(p[11]=e=>g.value=e),class:"config-tabs"},{default:M((()=>[(f(!0),b(D,null,I(c.value,(e=>(f(),N(te,{key:e.type,label:e.title,name:e.type},{default:M((()=>[k("div",We,[k("div",null,[k("h3",null,S(e.title),1),k("p",null,S(e.description),1)]),V(m,{type:"primary",loading:x[e.type],onClick:a=>il(e)},{default:M((()=>[C(" 保存 "+S(e.title),1)])),_:2},1032,["loading","onClick"])]),V(G,{"label-position":"top",class:"config-form"},{default:M((()=>[k("div",Ge,[(f(!0),b(D,null,I(e.data,(e=>(f(),N(W,{key:e.key,class:"field-item"},{label:M((()=>[k("span",He,S(e.label||e.key),1),e.isSecret?(f(),b("span",Xe,"敏感项未修改时会保持原值")):O("",!0)])),default:M((()=>{return[(a=e,"boolean"==typeof a.value||"auth"===a.key||"autoCreateDatabase"===a.key||"autoSyncSchemaOnStartup"===a.key?(f(),N(A,{key:0,"model-value":Boolean(e.value),"inline-prompt":"","active-text":"开","inactive-text":"关","onUpdate:modelValue":a=>xe(e,a)},null,8,["model-value","onUpdate:modelValue"])):he(e)?(f(),N(Q,{key:1,"model-value":Number(e.value),min:0,"controls-position":"right",class:"full-control","onUpdate:modelValue":a=>xe(e,Number(a))},null,8,["model-value","onUpdate:modelValue"])):(f(),N(K,{key:2,"model-value":String(e.value),type:e.isSecret?"password":"text","show-password":e.isSecret,placeholder:e.isSecret?"留空则保持原值":"请输入",clearable:"","onUpdate:modelValue":a=>xe(e,a)},null,8,["model-value","type","show-password","placeholder","onUpdate:modelValue"])))];var a})),_:2},1024)))),128))])])),_:2},1024)])),_:2},1032,["label","name"])))),128)),z.value?(f(),N(te,{key:0,label:"MySQL · 在线库表",name:Pa},{default:M((()=>[k("div",Je,[p[26]||(p[26]=k("div",null,[k("h3",null,"MySQL 在线库表与结构脚本"),k("p",null,[C(" 上半部分与发布包内 "),k("code",null,"mysql-schema.json"),C(" 对照,可预览整库建表 SQL、检测漂移并一键对齐;下半部分读取当前连接库的真实结构(可与上方对照)。 ")])],-1)),V(m,{loading:t.value||E.value,icon:h(ge),onClick:nl},{default:M((()=>p[25]||(p[25]=[C(" 刷新 ")]))),_:1},8,["loading","icon"])]),k("div",Ze,[p[36]||(p[36]=k("div",{class:"mysql-merged-section__head"},[k("h4",{class:"mysql-merged-section__title"}," 结构与脚本 "),k("p",{class:"mysql-merged-section__desc"}," 基于 canonical 定义检测缺表、缺列与类型漂移;弹窗可预览完整建库 SQL。 ")],-1)),L((f(),b("div",ea,[l.value?(f(),b(D,{key:0},[l.value.error?O("",!0):(f(),b("div",aa,[V(m,{size:"small",loading:i.value,onClick:ze},{default:M((()=>p[27]||(p[27]=[C(" 预览建表 SQL(全屏) ")]))),_:1},8,["loading"]),p[28]||(p[28]=k("span",{class:"mysql-export-actions__hint"}," 弹窗内可浏览、框选复制片段,或使用「复制全部」。 ",-1))])),l.value.error?(f(),N(oe,{key:1,closable:!1,"show-icon":"",type:"error",title:"MySQL schema 检测失败",class:"mysql-schema-alert"},{default:M((()=>[k("p",null,S(l.value.error),1)])),_:1})):l.value.pending?(f(),N(oe,{key:2,type:"warning",closable:!1,"show-icon":"",class:"mysql-schema-alert"},{default:M((()=>[k("div",la,[p[33]||(p[33]=k("p",null,"当前数据库与发布包 docs/schema/mysql-schema.json 期望结构不一致。",-1)),(l.value.missingTables??[]).length?(f(),b("p",ta,p[29]||(p[29]=[k("strong",null,"缺表:",-1)]))):O("",!0),(l.value.missingTables??[]).length?(f(),b("ul",oa,[(f(!0),b(D,null,I(l.value.missingTables??[],(e=>(f(),b("li",{key:e},S(e),1)))),128))])):O("",!0),(l.value.missingColumns??[]).length?(f(),b("p",ia,p[30]||(p[30]=[k("strong",null,"缺列:",-1)]))):O("",!0),(l.value.missingColumns??[]).length?(f(),b("ul",na,[(f(!0),b(D,null,I(l.value.missingColumns,(e=>(f(),b("li",{key:`${e.table}.${e.column}`},S(e.table)+"."+S(e.column),1)))),128))])):O("",!0),(l.value.typeMismatches??[]).length?(f(),b("p",ra,p[31]||(p[31]=[k("strong",null,"列类型不符(normalized):",-1)]))):O("",!0),(l.value.typeMismatches??[]).length?(f(),b("ul",sa,[(f(!0),b(D,null,I(l.value.typeMismatches,(e=>(f(),b("li",{key:`${e.table}.${e.column}`},S(e.table)+"."+S(e.column)+" :库 "+S(e.actualComparable)+" / 期望 "+S(e.expectedComparable),1)))),128))])):O("",!0),V(m,{type:"primary",loading:t.value,style:{"margin-top":"8px"},onClick:qe},{default:M((()=>p[32]||(p[32]=[C(" 一键对齐表结构 ")]))),_:1},8,["loading"])])])),_:1})):l.value.autoSyncSchemaOnStartup?O("",!0):(f(),N(oe,{key:3,type:"info",closable:!1,"show-icon":"",title:"未开启启动时自动同步",class:"mysql-schema-alert"},{default:M((()=>[p[35]||(p[35]=k("p",{style:{margin:"0 0 8px 0"}}," 当前关闭「启动时自动补齐表结构」;建议在版本升级后轮询此处并手动执行对齐。 ",-1)),V(m,{size:"small",type:"primary",loading:t.value,onClick:qe},{default:M((()=>p[34]||(p[34]=[C(" 检查并补齐表结构 ")]))),_:1},8,["loading"])])),_:1}))],64)):O("",!0)])),[[Ha,t.value]])]),k("div",da,[p[42]||(p[42]=k("div",{class:"mysql-merged-section__head"},[k("h4",{class:"mysql-merged-section__title"}," 在线库表 "),k("p",{class:"mysql-merged-section__desc"}," 读取 information_schema(InnoDB 行数为估算);每张表含字段、索引与 SHOW CREATE TABLE。 ")],-1)),L((f(),b("div",ca,[j.value?.error?(f(),N(oe,{key:0,type:"error",closable:!1,"show-icon":"",title:"无法读取库表信息"},{default:M((()=>[k("p",null,S(j.value.error),1)])),_:1})):j.value?(f(),b(D,{key:1},[k("p",pa,[k("span",null,"MySQL "+S(j.value.mysqlVersion),1),k("span",null,[p[37]||(p[37]=C("库 ")),k("strong",null,S(j.value.database),1)]),k("span",null,"共 "+S(j.value.tables.length)+" 张表",1)]),j.value.tables.length?(f(),N(_e,{key:1,modelValue:B.value,"onUpdate:modelValue":p[1]||(p[1]=e=>B.value=e),class:"mysql-live-collapse"},{default:M((()=>[(f(!0),b(D,null,I(j.value.tables,(e=>(f(),N(we,{key:e.name,name:e.name},{title:M((()=>[k("span",ua,[k("strong",null,S(e.name),1),k("span",ma,[C(S(e.engine||"—")+" ",1),null!=e.rowEstimate?(f(),b("span",va," · 约 "+S(e.rowEstimate.toLocaleString())+" 行",1)):O("",!0),null!=e.dataLength?(f(),b("span",fa," · 数据 "+S(ke(e.dataLength)),1)):O("",!0),null!=e.indexLength?(f(),b("span",ba," · 索引 "+S(ke(e.indexLength)),1)):O("",!0)])])])),default:M((()=>[k("div",ga,[p[38]||(p[38]=k("h4",null,"字段",-1)),V(ye,{data:e.columns,size:"small",border:"",stripe:"",class:"mysql-live-table"},{default:M((()=>[V(ie,{prop:"name",label:"列名","min-width":"120"}),V(ie,{prop:"columnType",label:"类型","min-width":"140"}),V(ie,{label:"可空",width:"72",align:"center"},{default:M((({row:e})=>[C(S(e.nullable?"YES":"NO"),1)])),_:1}),V(ie,{prop:"key",label:"键",width:"84"}),V(ie,{label:"默认值","min-width":"100","show-overflow-tooltip":""},{default:M((({row:e})=>[C(S(e.default??"NULL"),1)])),_:1}),V(ie,{prop:"extra",label:"额外",width:"120"}),V(ie,{prop:"comment",label:"注释","min-width":"120","show-overflow-tooltip":""})])),_:2},1032,["data"])]),k("div",ya,[p[39]||(p[39]=k("h4",null,"索引",-1)),e.indexes.length?(f(),N(ye,{key:0,data:e.indexes,size:"small",border:"",stripe:"",class:"mysql-live-table"},{default:M((()=>[V(ie,{prop:"name",label:"索引名","min-width":"120"}),V(ie,{label:"唯一",width:"72",align:"center"},{default:M((({row:e})=>[C(S(e.unique?"是":"否"),1)])),_:1}),V(ie,{prop:"indexType",label:"类型",width:"100"}),V(ie,{label:"列(序)","min-width":"200"},{default:M((({row:e})=>{return[C(S((a=e,a.columns.map((e=>{const a=null!=e.subPart?`(${e.subPart})`:"";return`${e.column}${a}`})).join(", "))),1)];var a})),_:1})])),_:2},1032,["data"])):(f(),b("p",ha," 无二级索引(或仅剩主键于信息模式中已展示于「键」列) "))]),k("div",xa,[k("div",wa,[p[41]||(p[41]=k("h4",null,"SHOW CREATE TABLE",-1)),V(m,{size:"small",onClick:a=>async function(e){const a=e.createSql?.trim()??"";if(a)try{await navigator.clipboard.writeText(a),F.success(`已复制 ${e.name} 的建表 SQL`)}catch{F.error("复制失败,请手动选取文本框中的内容")}else F.warning("建表语句为空")}(e)},{default:M((()=>p[40]||(p[40]=[C(" 复制建表 SQL ")]))),_:2},1032,["onClick"])]),V(K,{"model-value":e.createSql,type:"textarea",readonly:"",rows:10,class:"mysql-live-ddl",spellcheck:"false"},null,8,["model-value"])])])),_:2},1032,["name"])))),128))])),_:1},8,["modelValue"])):(f(),N(_,{key:0,description:"当前库中暂无业务表"}))],64)):O("",!0)])),[[Ha,E.value]])])])),_:1})):O("",!0),V(te,{label:"系统管理员",name:Aa},{default:M((()=>[k("div",_a,[p[44]||(p[44]=k("div",null,[k("h3",null,"系统管理员账号"),k("p",null,[C(" 来自业务库 "),k("code",null,"user"),C(" 表,列出超级管理员与系统管理员。"),k("strong",null,"系统管理员与超级管理员"),C("均可在此新增超级管理员、重置管理员密码;新增规则与「注册」一致(不受站点「关闭注册」影响)。 ")])],-1)),V(m,{loading:Se.value,icon:h(ge),onClick:Ja},{default:M((()=>p[43]||(p[43]=[C(" 刷新列表 ")]))),_:1},8,["loading","icon"])]),L((f(),b("div",ka,[V(ye,{data:Ve.value,size:"small",border:"",stripe:"",class:"admin-users-table"},{default:M((()=>[V(ie,{prop:"account",label:"账号","min-width":"120"}),V(ie,{prop:"powerLabel",label:"权限",width:"120"}),V(ie,{prop:"phoneMasked",label:"手机号","min-width":"120"}),V(ie,{label:"状态",width:"88"},{default:M((({row:e})=>{return[C(S((a=e.status,0===a?"正常":1===a?"冻结":2===a?"封禁":String(a))),1)];var a})),_:1}),V(ie,{label:"注册时间","min-width":"160","show-overflow-tooltip":""},{default:M((({row:e})=>[C(S(e.joinTime||"—"),1)])),_:1}),Na.value?(f(),N(ie,{key:0,label:"操作",width:"100",fixed:"right"},{default:M((({row:e})=>[V(m,{type:"primary",link:"",size:"small",onClick:a=>function(e){Ra.value=e,Ya.value="",Fa.value="",Oa.value=!0}(e)},{default:M((()=>p[45]||(p[45]=[C(" 重置密码 ")]))),_:2},1032,["onClick"])])),_:1})):O("",!0)])),_:1},8,["data"]),Na.value?(f(),b("div",qa,[p[48]||(p[48]=k("h3",{class:"mysql-tool-block__title"}," 新增超级管理员 ",-1)),p[49]||(p[49]=k("p",{class:"mysql-tool-block__desc"}," 创建后账号权限为「超级管理员」。若站点开启须绑定手机,则需按注册流程校验手机号。 ",-1)),V(G,{"label-position":"top",class:"admin-create-form"},{default:M((()=>[k("div",za,[V(W,{label:"登录账号"},{default:M((()=>[V(K,{modelValue:Da.account,"onUpdate:modelValue":p[2]||(p[2]=e=>Da.account=e),maxlength:"11",placeholder:"4-11 位数字或字母",clearable:""},null,8,["modelValue"])])),_:1}),V(W,{label:"密码"},{default:M((()=>[V(K,{modelValue:Da.pwd1,"onUpdate:modelValue":p[3]||(p[3]=e=>Da.pwd1=e),type:"password","show-password":"",clearable:""},null,8,["modelValue"])])),_:1}),V(W,{label:"确认密码"},{default:M((()=>[V(K,{modelValue:Da.pwd2,"onUpdate:modelValue":p[4]||(p[4]=e=>Da.pwd2=e),type:"password","show-password":"",clearable:""},null,8,["modelValue"])])),_:1}),V(W,{label:"绑定手机"},{default:M((()=>[V(Me,{modelValue:Da.bindPhone,"onUpdate:modelValue":p[5]||(p[5]=e=>Da.bindPhone=e),disabled:h(a)?.needBindPhone},{default:M((()=>p[46]||(p[46]=[C(" 绑定手机号(与注册一致) ")]))),_:1},8,["modelValue","disabled"])])),_:1}),Da.bindPhone?(f(),b(D,{key:0},[V(W,{label:"手机号"},{default:M((()=>[V(K,{modelValue:Da.phone,"onUpdate:modelValue":p[6]||(p[6]=e=>Da.phone=e),maxlength:"11",clearable:""},null,8,["modelValue"])])),_:1}),V(W,{label:"验证码"},{default:M((()=>[k("div",Ca,[V(K,{modelValue:Da.code,"onUpdate:modelValue":p[7]||(p[7]=e=>Da.code=e),maxlength:"4",clearable:""},null,8,["modelValue"]),V(m,{disabled:Ga.value>0,onClick:Xa},{default:M((()=>[C(S(Wa.value),1)])),_:1},8,["disabled"])])])),_:1})],64)):O("",!0)]),V(m,{type:"primary",loading:Ia.value,onClick:Za},{default:M((()=>p[47]||(p[47]=[C(" 创建超级管理员 ")]))),_:1},8,["loading"])])),_:1})])):O("",!0)])),[[Ha,Se.value]]),V(Le,{modelValue:Oa.value,"onUpdate:modelValue":p[10]||(p[10]=e=>Oa.value=e),title:"重置管理员密码",width:"420px","destroy-on-close":"",onClosed:el},{footer:M((()=>[V(m,{onClick:el},{default:M((()=>p[51]||(p[51]=[C(" 取消 ")]))),_:1}),V(m,{type:"primary",loading:Ka.value,onClick:al},{default:M((()=>p[52]||(p[52]=[C(" 确定重置 ")]))),_:1},8,["loading"])])),default:M((()=>[Ra.value?(f(),b("p",Sa,[p[50]||(p[50]=C(" 账号 ")),k("strong",null,S(Ra.value.account),1),C("("+S(Ra.value.powerLabel)+") ",1)])):O("",!0),V(G,{"label-position":"top",class:"admin-reset-form"},{default:M((()=>[V(W,{label:"新密码"},{default:M((()=>[V(K,{modelValue:Ya.value,"onUpdate:modelValue":p[8]||(p[8]=e=>Ya.value=e),type:"password","show-password":"",clearable:"",autocomplete:"new-password"},null,8,["modelValue"])])),_:1}),V(W,{label:"确认新密码"},{default:M((()=>[V(K,{modelValue:Fa.value,"onUpdate:modelValue":p[9]||(p[9]=e=>Fa.value=e),type:"password","show-password":"",clearable:"",autocomplete:"new-password"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1},8,["modelValue"])])),_:1})])),_:1},8,["modelValue"]),$.value?(f(),b("div",Va,[k("p",Ma," 与当前 Tab 右上角「保存 "+S($.value.title)+"」是同一功能;表单项较多时滚到此处保存即可。 ",1),V(m,{type:"primary",loading:x[$.value.type],onClick:p[12]||(p[12]=e=>il($.value))},{default:M((()=>p[53]||(p[53]=[C(" 保存当前服务配置 ")]))),_:1},8,["loading"])])):O("",!0)])),[[Ha,v.value]]):(f(),N(_,{key:0,description:"暂无可编辑的服务配置"}))]),(f(),N(Y,{to:"body"},[o.value?(f(),b("div",ja,[k("div",Ea,[k("header",La,[p[55]||(p[55]=k("h2",{id:"mysql-export-fs-title",class:"mysql-export-fs__title"}," 完整建表 SQL(mysql-schema.json) ",-1)),k("div",Ua,[V(m,{size:"small",onClick:Ce},{default:M((()=>p[54]||(p[54]=[C(" 关闭 ")]))),_:1})])]),L((f(),b("div",Ba,[s.value?(f(),N(oe,{key:0,type:"error",closable:!1,"show-icon":"",title:s.value},null,8,["title"])):(f(),b(D,{key:1},[r.value?(f(),b("p",$a,S(r.value),1)):O("",!0),p[56]||(p[56]=k("p",{class:"mysql-export-fs__hint"}," 在下方可直接框选复制局部语句;需要整段请点底部「复制全部」。 ",-1)),L(k("textarea",{"onUpdate:modelValue":p[13]||(p[13]=e=>n.value=e),readonly:"",spellcheck:"false",class:"mysql-export-fs__textarea",placeholder:"正在加载…"},null,512),[[R,n.value]])],64))])),[[Ha,i.value]]),k("footer",Ta,[V(m,{onClick:Ce},{default:M((()=>p[57]||(p[57]=[C(" 关闭 ")]))),_:1}),V(m,{type:"primary",disabled:!n.value.trim()||!!s.value,onClick:ll},{default:M((()=>p[58]||(p[58]=[C(" 复制全部 ")]))),_:1},8,["disabled"])])])])):O("",!0)]))])}}});e("default",ne(Qa,[["__scopeId","data-v-543b98ed"]]))}}}));
2
+ //# sourceMappingURL=index-legacy-CRa6h-UF.js.map