@k3000/s1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (620) hide show
  1. package/README.md +2 -0
  2. package/RuoYi-Vue3/.env.development +8 -0
  3. package/RuoYi-Vue3/.env.production +11 -0
  4. package/RuoYi-Vue3/.env.staging +11 -0
  5. package/RuoYi-Vue3/.github/FUNDING.yml +1 -0
  6. package/RuoYi-Vue3/LICENSE +20 -0
  7. package/RuoYi-Vue3/README.md +109 -0
  8. package/RuoYi-Vue3/bin/build.bat +12 -0
  9. package/RuoYi-Vue3/bin/package.bat +12 -0
  10. package/RuoYi-Vue3/bin/run-web.bat +12 -0
  11. package/RuoYi-Vue3/html/ie.html +46 -0
  12. package/RuoYi-Vue3/index.html +215 -0
  13. package/RuoYi-Vue3/package.json +44 -0
  14. package/RuoYi-Vue3/public/favicon.ico +0 -0
  15. package/RuoYi-Vue3/src/App.vue +15 -0
  16. package/RuoYi-Vue3/src/api/login.js +60 -0
  17. package/RuoYi-Vue3/src/api/menu.js +9 -0
  18. package/RuoYi-Vue3/src/api/monitor/cache.js +57 -0
  19. package/RuoYi-Vue3/src/api/monitor/job.js +71 -0
  20. package/RuoYi-Vue3/src/api/monitor/jobLog.js +26 -0
  21. package/RuoYi-Vue3/src/api/monitor/logininfor.js +34 -0
  22. package/RuoYi-Vue3/src/api/monitor/online.js +18 -0
  23. package/RuoYi-Vue3/src/api/monitor/operlog.js +26 -0
  24. package/RuoYi-Vue3/src/api/monitor/server.js +9 -0
  25. package/RuoYi-Vue3/src/api/system/config.js +60 -0
  26. package/RuoYi-Vue3/src/api/system/dept.js +52 -0
  27. package/RuoYi-Vue3/src/api/system/dict/data.js +52 -0
  28. package/RuoYi-Vue3/src/api/system/dict/type.js +60 -0
  29. package/RuoYi-Vue3/src/api/system/menu.js +60 -0
  30. package/RuoYi-Vue3/src/api/system/notice.js +44 -0
  31. package/RuoYi-Vue3/src/api/system/post.js +44 -0
  32. package/RuoYi-Vue3/src/api/system/role.js +119 -0
  33. package/RuoYi-Vue3/src/api/system/user.js +136 -0
  34. package/RuoYi-Vue3/src/api/tool/gen.js +85 -0
  35. package/RuoYi-Vue3/src/assets/401_images/401.gif +0 -0
  36. package/RuoYi-Vue3/src/assets/404_images/404.png +0 -0
  37. package/RuoYi-Vue3/src/assets/404_images/404_cloud.png +0 -0
  38. package/RuoYi-Vue3/src/assets/icons/svg/404.svg +1 -0
  39. package/RuoYi-Vue3/src/assets/icons/svg/bug.svg +1 -0
  40. package/RuoYi-Vue3/src/assets/icons/svg/build.svg +1 -0
  41. package/RuoYi-Vue3/src/assets/icons/svg/button.svg +1 -0
  42. package/RuoYi-Vue3/src/assets/icons/svg/cascader.svg +1 -0
  43. package/RuoYi-Vue3/src/assets/icons/svg/chart.svg +1 -0
  44. package/RuoYi-Vue3/src/assets/icons/svg/checkbox.svg +1 -0
  45. package/RuoYi-Vue3/src/assets/icons/svg/clipboard.svg +1 -0
  46. package/RuoYi-Vue3/src/assets/icons/svg/code.svg +1 -0
  47. package/RuoYi-Vue3/src/assets/icons/svg/color.svg +1 -0
  48. package/RuoYi-Vue3/src/assets/icons/svg/component.svg +1 -0
  49. package/RuoYi-Vue3/src/assets/icons/svg/dashboard.svg +1 -0
  50. package/RuoYi-Vue3/src/assets/icons/svg/date-range.svg +1 -0
  51. package/RuoYi-Vue3/src/assets/icons/svg/date.svg +1 -0
  52. package/RuoYi-Vue3/src/assets/icons/svg/dict.svg +1 -0
  53. package/RuoYi-Vue3/src/assets/icons/svg/documentation.svg +1 -0
  54. package/RuoYi-Vue3/src/assets/icons/svg/download.svg +1 -0
  55. package/RuoYi-Vue3/src/assets/icons/svg/drag.svg +1 -0
  56. package/RuoYi-Vue3/src/assets/icons/svg/druid.svg +1 -0
  57. package/RuoYi-Vue3/src/assets/icons/svg/edit.svg +1 -0
  58. package/RuoYi-Vue3/src/assets/icons/svg/education.svg +1 -0
  59. package/RuoYi-Vue3/src/assets/icons/svg/email.svg +1 -0
  60. package/RuoYi-Vue3/src/assets/icons/svg/example.svg +1 -0
  61. package/RuoYi-Vue3/src/assets/icons/svg/excel.svg +1 -0
  62. package/RuoYi-Vue3/src/assets/icons/svg/exit-fullscreen.svg +1 -0
  63. package/RuoYi-Vue3/src/assets/icons/svg/eye-open.svg +1 -0
  64. package/RuoYi-Vue3/src/assets/icons/svg/eye.svg +1 -0
  65. package/RuoYi-Vue3/src/assets/icons/svg/form.svg +1 -0
  66. package/RuoYi-Vue3/src/assets/icons/svg/fullscreen.svg +1 -0
  67. package/RuoYi-Vue3/src/assets/icons/svg/github.svg +1 -0
  68. package/RuoYi-Vue3/src/assets/icons/svg/guide.svg +1 -0
  69. package/RuoYi-Vue3/src/assets/icons/svg/icon.svg +1 -0
  70. package/RuoYi-Vue3/src/assets/icons/svg/input.svg +1 -0
  71. package/RuoYi-Vue3/src/assets/icons/svg/international.svg +1 -0
  72. package/RuoYi-Vue3/src/assets/icons/svg/job.svg +1 -0
  73. package/RuoYi-Vue3/src/assets/icons/svg/language.svg +1 -0
  74. package/RuoYi-Vue3/src/assets/icons/svg/link.svg +1 -0
  75. package/RuoYi-Vue3/src/assets/icons/svg/list.svg +1 -0
  76. package/RuoYi-Vue3/src/assets/icons/svg/lock.svg +1 -0
  77. package/RuoYi-Vue3/src/assets/icons/svg/log.svg +1 -0
  78. package/RuoYi-Vue3/src/assets/icons/svg/logininfor.svg +1 -0
  79. package/RuoYi-Vue3/src/assets/icons/svg/message.svg +1 -0
  80. package/RuoYi-Vue3/src/assets/icons/svg/money.svg +1 -0
  81. package/RuoYi-Vue3/src/assets/icons/svg/monitor.svg +2 -0
  82. package/RuoYi-Vue3/src/assets/icons/svg/nested.svg +1 -0
  83. package/RuoYi-Vue3/src/assets/icons/svg/number.svg +1 -0
  84. package/RuoYi-Vue3/src/assets/icons/svg/online.svg +1 -0
  85. package/RuoYi-Vue3/src/assets/icons/svg/password.svg +1 -0
  86. package/RuoYi-Vue3/src/assets/icons/svg/pdf.svg +1 -0
  87. package/RuoYi-Vue3/src/assets/icons/svg/people.svg +1 -0
  88. package/RuoYi-Vue3/src/assets/icons/svg/peoples.svg +1 -0
  89. package/RuoYi-Vue3/src/assets/icons/svg/phone.svg +1 -0
  90. package/RuoYi-Vue3/src/assets/icons/svg/post.svg +1 -0
  91. package/RuoYi-Vue3/src/assets/icons/svg/qq.svg +1 -0
  92. package/RuoYi-Vue3/src/assets/icons/svg/question.svg +1 -0
  93. package/RuoYi-Vue3/src/assets/icons/svg/radio.svg +1 -0
  94. package/RuoYi-Vue3/src/assets/icons/svg/rate.svg +1 -0
  95. package/RuoYi-Vue3/src/assets/icons/svg/redis-list.svg +2 -0
  96. package/RuoYi-Vue3/src/assets/icons/svg/redis.svg +1 -0
  97. package/RuoYi-Vue3/src/assets/icons/svg/row.svg +1 -0
  98. package/RuoYi-Vue3/src/assets/icons/svg/search.svg +1 -0
  99. package/RuoYi-Vue3/src/assets/icons/svg/select.svg +1 -0
  100. package/RuoYi-Vue3/src/assets/icons/svg/server.svg +1 -0
  101. package/RuoYi-Vue3/src/assets/icons/svg/shopping.svg +1 -0
  102. package/RuoYi-Vue3/src/assets/icons/svg/size.svg +1 -0
  103. package/RuoYi-Vue3/src/assets/icons/svg/skill.svg +1 -0
  104. package/RuoYi-Vue3/src/assets/icons/svg/slider.svg +1 -0
  105. package/RuoYi-Vue3/src/assets/icons/svg/star.svg +1 -0
  106. package/RuoYi-Vue3/src/assets/icons/svg/swagger.svg +1 -0
  107. package/RuoYi-Vue3/src/assets/icons/svg/switch.svg +1 -0
  108. package/RuoYi-Vue3/src/assets/icons/svg/system.svg +2 -0
  109. package/RuoYi-Vue3/src/assets/icons/svg/tab.svg +1 -0
  110. package/RuoYi-Vue3/src/assets/icons/svg/table.svg +1 -0
  111. package/RuoYi-Vue3/src/assets/icons/svg/textarea.svg +1 -0
  112. package/RuoYi-Vue3/src/assets/icons/svg/theme.svg +1 -0
  113. package/RuoYi-Vue3/src/assets/icons/svg/time-range.svg +1 -0
  114. package/RuoYi-Vue3/src/assets/icons/svg/time.svg +1 -0
  115. package/RuoYi-Vue3/src/assets/icons/svg/tool.svg +1 -0
  116. package/RuoYi-Vue3/src/assets/icons/svg/tree-table.svg +1 -0
  117. package/RuoYi-Vue3/src/assets/icons/svg/tree.svg +1 -0
  118. package/RuoYi-Vue3/src/assets/icons/svg/upload.svg +1 -0
  119. package/RuoYi-Vue3/src/assets/icons/svg/user.svg +1 -0
  120. package/RuoYi-Vue3/src/assets/icons/svg/validCode.svg +1 -0
  121. package/RuoYi-Vue3/src/assets/icons/svg/wechat.svg +1 -0
  122. package/RuoYi-Vue3/src/assets/icons/svg/zip.svg +1 -0
  123. package/RuoYi-Vue3/src/assets/images/dark.svg +39 -0
  124. package/RuoYi-Vue3/src/assets/images/light.svg +39 -0
  125. package/RuoYi-Vue3/src/assets/images/login-background.jpg +0 -0
  126. package/RuoYi-Vue3/src/assets/images/pay.png +0 -0
  127. package/RuoYi-Vue3/src/assets/images/profile.jpg +0 -0
  128. package/RuoYi-Vue3/src/assets/logo/logo.png +0 -0
  129. package/RuoYi-Vue3/src/assets/styles/btn.scss +99 -0
  130. package/RuoYi-Vue3/src/assets/styles/element-ui.scss +96 -0
  131. package/RuoYi-Vue3/src/assets/styles/index.scss +184 -0
  132. package/RuoYi-Vue3/src/assets/styles/mixin.scss +66 -0
  133. package/RuoYi-Vue3/src/assets/styles/ruoyi.scss +281 -0
  134. package/RuoYi-Vue3/src/assets/styles/sidebar.scss +238 -0
  135. package/RuoYi-Vue3/src/assets/styles/transition.scss +49 -0
  136. package/RuoYi-Vue3/src/assets/styles/variables.module.scss +65 -0
  137. package/RuoYi-Vue3/src/components/Breadcrumb/index.vue +66 -0
  138. package/RuoYi-Vue3/src/components/Crontab/day.vue +174 -0
  139. package/RuoYi-Vue3/src/components/Crontab/hour.vue +133 -0
  140. package/RuoYi-Vue3/src/components/Crontab/index.vue +310 -0
  141. package/RuoYi-Vue3/src/components/Crontab/min.vue +126 -0
  142. package/RuoYi-Vue3/src/components/Crontab/month.vue +141 -0
  143. package/RuoYi-Vue3/src/components/Crontab/result.vue +540 -0
  144. package/RuoYi-Vue3/src/components/Crontab/second.vue +128 -0
  145. package/RuoYi-Vue3/src/components/Crontab/week.vue +197 -0
  146. package/RuoYi-Vue3/src/components/Crontab/year.vue +149 -0
  147. package/RuoYi-Vue3/src/components/DictTag/index.vue +82 -0
  148. package/RuoYi-Vue3/src/components/Editor/index.vue +251 -0
  149. package/RuoYi-Vue3/src/components/FileUpload/index.vue +207 -0
  150. package/RuoYi-Vue3/src/components/Hamburger/index.vue +41 -0
  151. package/RuoYi-Vue3/src/components/HeaderSearch/index.vue +187 -0
  152. package/RuoYi-Vue3/src/components/IconSelect/index.vue +111 -0
  153. package/RuoYi-Vue3/src/components/IconSelect/requireIcons.js +8 -0
  154. package/RuoYi-Vue3/src/components/ImagePreview/index.vue +92 -0
  155. package/RuoYi-Vue3/src/components/ImageUpload/index.vue +213 -0
  156. package/RuoYi-Vue3/src/components/Pagination/index.vue +105 -0
  157. package/RuoYi-Vue3/src/components/ParentView/index.vue +3 -0
  158. package/RuoYi-Vue3/src/components/RightToolbar/index.vue +134 -0
  159. package/RuoYi-Vue3/src/components/RuoYi/Doc/index.vue +13 -0
  160. package/RuoYi-Vue3/src/components/RuoYi/Git/index.vue +13 -0
  161. package/RuoYi-Vue3/src/components/Screenfull/index.vue +22 -0
  162. package/RuoYi-Vue3/src/components/SizeSelect/index.vue +45 -0
  163. package/RuoYi-Vue3/src/components/SvgIcon/index.vue +53 -0
  164. package/RuoYi-Vue3/src/components/SvgIcon/svgicon.js +10 -0
  165. package/RuoYi-Vue3/src/components/TopNav/index.vue +214 -0
  166. package/RuoYi-Vue3/src/components/TreeSelect/index.vue +156 -0
  167. package/RuoYi-Vue3/src/components/iFrame/index.vue +31 -0
  168. package/RuoYi-Vue3/src/directive/common/copyText.js +66 -0
  169. package/RuoYi-Vue3/src/directive/index.js +9 -0
  170. package/RuoYi-Vue3/src/directive/permission/hasPermi.js +28 -0
  171. package/RuoYi-Vue3/src/directive/permission/hasRole.js +28 -0
  172. package/RuoYi-Vue3/src/layout/components/AppMain.vue +68 -0
  173. package/RuoYi-Vue3/src/layout/components/IframeToggle/index.vue +25 -0
  174. package/RuoYi-Vue3/src/layout/components/InnerLink/index.vue +24 -0
  175. package/RuoYi-Vue3/src/layout/components/Navbar.vue +191 -0
  176. package/RuoYi-Vue3/src/layout/components/Settings/index.vue +209 -0
  177. package/RuoYi-Vue3/src/layout/components/Sidebar/Link.vue +40 -0
  178. package/RuoYi-Vue3/src/layout/components/Sidebar/Logo.vue +81 -0
  179. package/RuoYi-Vue3/src/layout/components/Sidebar/SidebarItem.vue +102 -0
  180. package/RuoYi-Vue3/src/layout/components/Sidebar/index.vue +54 -0
  181. package/RuoYi-Vue3/src/layout/components/TagsView/ScrollPane.vue +107 -0
  182. package/RuoYi-Vue3/src/layout/components/TagsView/index.vue +358 -0
  183. package/RuoYi-Vue3/src/layout/components/index.js +4 -0
  184. package/RuoYi-Vue3/src/layout/index.vue +114 -0
  185. package/RuoYi-Vue3/src/main.js +84 -0
  186. package/RuoYi-Vue3/src/permission.js +65 -0
  187. package/RuoYi-Vue3/src/plugins/auth.js +60 -0
  188. package/RuoYi-Vue3/src/plugins/cache.js +77 -0
  189. package/RuoYi-Vue3/src/plugins/download.js +79 -0
  190. package/RuoYi-Vue3/src/plugins/index.js +18 -0
  191. package/RuoYi-Vue3/src/plugins/modal.js +82 -0
  192. package/RuoYi-Vue3/src/plugins/tab.js +69 -0
  193. package/RuoYi-Vue3/src/router/index.js +175 -0
  194. package/RuoYi-Vue3/src/settings.js +47 -0
  195. package/RuoYi-Vue3/src/store/index.js +3 -0
  196. package/RuoYi-Vue3/src/store/modules/app.js +46 -0
  197. package/RuoYi-Vue3/src/store/modules/dict.js +57 -0
  198. package/RuoYi-Vue3/src/store/modules/permission.js +142 -0
  199. package/RuoYi-Vue3/src/store/modules/settings.js +38 -0
  200. package/RuoYi-Vue3/src/store/modules/tagsView.js +182 -0
  201. package/RuoYi-Vue3/src/store/modules/user.js +72 -0
  202. package/RuoYi-Vue3/src/utils/auth.js +15 -0
  203. package/RuoYi-Vue3/src/utils/dict.js +24 -0
  204. package/RuoYi-Vue3/src/utils/dynamicTitle.js +15 -0
  205. package/RuoYi-Vue3/src/utils/errorCode.js +6 -0
  206. package/RuoYi-Vue3/src/utils/index.js +390 -0
  207. package/RuoYi-Vue3/src/utils/jsencrypt.js +30 -0
  208. package/RuoYi-Vue3/src/utils/permission.js +51 -0
  209. package/RuoYi-Vue3/src/utils/request.js +152 -0
  210. package/RuoYi-Vue3/src/utils/ruoyi.js +246 -0
  211. package/RuoYi-Vue3/src/utils/scroll-to.js +58 -0
  212. package/RuoYi-Vue3/src/utils/theme.js +49 -0
  213. package/RuoYi-Vue3/src/utils/validate.js +93 -0
  214. package/RuoYi-Vue3/src/views/error/401.vue +82 -0
  215. package/RuoYi-Vue3/src/views/error/404.vue +227 -0
  216. package/RuoYi-Vue3/src/views/index.vue +1092 -0
  217. package/RuoYi-Vue3/src/views/login.vue +227 -0
  218. package/RuoYi-Vue3/src/views/monitor/cache/index.vue +132 -0
  219. package/RuoYi-Vue3/src/views/monitor/cache/list.vue +246 -0
  220. package/RuoYi-Vue3/src/views/monitor/druid/index.vue +13 -0
  221. package/RuoYi-Vue3/src/views/monitor/job/index.vue +501 -0
  222. package/RuoYi-Vue3/src/views/monitor/job/log.vue +283 -0
  223. package/RuoYi-Vue3/src/views/monitor/logininfor/index.vue +233 -0
  224. package/RuoYi-Vue3/src/views/monitor/online/index.vue +109 -0
  225. package/RuoYi-Vue3/src/views/monitor/operlog/index.vue +310 -0
  226. package/RuoYi-Vue3/src/views/monitor/server/index.vue +187 -0
  227. package/RuoYi-Vue3/src/views/redirect/index.vue +14 -0
  228. package/RuoYi-Vue3/src/views/register.vue +219 -0
  229. package/RuoYi-Vue3/src/views/system/config/index.vue +316 -0
  230. package/RuoYi-Vue3/src/views/system/dept/index.vue +283 -0
  231. package/RuoYi-Vue3/src/views/system/dict/data.vue +362 -0
  232. package/RuoYi-Vue3/src/views/system/dict/index.vue +323 -0
  233. package/RuoYi-Vue3/src/views/system/menu/index.vue +452 -0
  234. package/RuoYi-Vue3/src/views/system/notice/index.vue +292 -0
  235. package/RuoYi-Vue3/src/views/system/post/index.vue +287 -0
  236. package/RuoYi-Vue3/src/views/system/role/authUser.vue +179 -0
  237. package/RuoYi-Vue3/src/views/system/role/index.vue +584 -0
  238. package/RuoYi-Vue3/src/views/system/role/selectUser.vue +144 -0
  239. package/RuoYi-Vue3/src/views/system/user/authRole.vue +116 -0
  240. package/RuoYi-Vue3/src/views/system/user/index.vue +635 -0
  241. package/RuoYi-Vue3/src/views/system/user/profile/index.vue +87 -0
  242. package/RuoYi-Vue3/src/views/system/user/profile/resetPwd.vue +59 -0
  243. package/RuoYi-Vue3/src/views/system/user/profile/userAvatar.vue +180 -0
  244. package/RuoYi-Vue3/src/views/system/user/profile/userInfo.vue +67 -0
  245. package/RuoYi-Vue3/src/views/tool/build/index.vue +3 -0
  246. package/RuoYi-Vue3/src/views/tool/gen/basicInfoForm.vue +48 -0
  247. package/RuoYi-Vue3/src/views/tool/gen/createTable.vue +46 -0
  248. package/RuoYi-Vue3/src/views/tool/gen/editTable.vue +200 -0
  249. package/RuoYi-Vue3/src/views/tool/gen/genInfoForm.vue +306 -0
  250. package/RuoYi-Vue3/src/views/tool/gen/importTable.vue +126 -0
  251. package/RuoYi-Vue3/src/views/tool/gen/index.vue +310 -0
  252. package/RuoYi-Vue3/src/views/tool/swagger/index.vue +9 -0
  253. package/RuoYi-Vue3/vite/plugins/auto-import.js +12 -0
  254. package/RuoYi-Vue3/vite/plugins/compression.js +28 -0
  255. package/RuoYi-Vue3/vite/plugins/index.js +15 -0
  256. package/RuoYi-Vue3/vite/plugins/setup-extend.js +5 -0
  257. package/RuoYi-Vue3/vite/plugins/svg-icon.js +10 -0
  258. package/RuoYi-Vue3/vite.config.js +58 -0
  259. package/admin/README.MD +0 -0
  260. package/admin/base.mjs +447 -0
  261. package/admin/index.mjs +19 -0
  262. package/admin/monitor/job.mjs +24 -0
  263. package/admin/monitor/jobLog.mjs +8 -0
  264. package/admin/monitor/logininfor.mjs +23 -0
  265. package/admin/monitor/operlog.mjs +9 -0
  266. package/admin/monitor/server.mjs +54 -0
  267. package/admin/service.mjs +10 -0
  268. package/admin/system/component.mjs +16 -0
  269. package/admin/system/config.mjs +8 -0
  270. package/admin/system/dept.mjs +24 -0
  271. package/admin/system/dict.mjs +34 -0
  272. package/admin/system/login.mjs +119 -0
  273. package/admin/system/menu.mjs +33 -0
  274. package/admin/system/notice.mjs +8 -0
  275. package/admin/system/path.mjs +53 -0
  276. package/admin/system/post.mjs +8 -0
  277. package/admin/system/role.mjs +105 -0
  278. package/admin/system/user.mjs +93 -0
  279. package/admin/tool/gen.mjs +95 -0
  280. package/admin/tool/helper.mjs +1335 -0
  281. package/admin/tool/pm2.mjs +71 -0
  282. package/admin/tool/store.mjs +84 -0
  283. package/admin/tool/upload.mjs +112 -0
  284. package/app/README.MD +0 -0
  285. package/app/index.mjs +9 -0
  286. package/bin.mjs +211 -0
  287. package/build.mjs +25 -0
  288. package/common/README.MD +0 -0
  289. package/common/config.mjs +40 -0
  290. package/common/pm2.mjs +145 -0
  291. package/common/service.mjs +79 -0
  292. package/common/service0.mjs +468 -0
  293. package/common/tools.mjs +314 -0
  294. package/common/type.ts +498 -0
  295. package/file/README.MD +0 -0
  296. package/files/.env.production +11 -0
  297. package/files/gen.js +76 -0
  298. package/files/genImportTable.vue +120 -0
  299. package/files/genIndex.vue +309 -0
  300. package/files/genInfoForm.vue +302 -0
  301. package/files/login.vue +237 -0
  302. package/files/menu.js +68 -0
  303. package/files/menuIndex.vue +447 -0
  304. package/files/pm2.js +88 -0
  305. package/files/pm2Data.vue +335 -0
  306. package/files/pm2Index.vue +343 -0
  307. package/files/routerIndex.js +204 -0
  308. package/files/serverIndex.vue +215 -0
  309. package/files/store.js +96 -0
  310. package/files/storeData.vue +294 -0
  311. package/files/storeIndex.vue +245 -0
  312. package/files/upload.js +47 -0
  313. package/files/uploadIndex.vue +240 -0
  314. package/files/vite.config.js +58 -0
  315. package/index.mjs +28 -0
  316. package/jwt/README.MD +12 -0
  317. package/jwt/index.mjs +17 -0
  318. package/package.json +22 -0
  319. package/proxy/README.MD +0 -0
  320. package/proxy/index.mjs +16 -0
  321. package/static/README.MD +0 -0
  322. package/static/admin/assets/401-CYieuz9-.js +1 -0
  323. package/static/admin/assets/401-CYieuz9-.js.gz +0 -0
  324. package/static/admin/assets/401-DmT2Eyz6.css +1 -0
  325. package/static/admin/assets/401-HGF6Q5qM.gif +0 -0
  326. package/static/admin/assets/404-DFv5Zpvm.js +1 -0
  327. package/static/admin/assets/404-DFv5Zpvm.js.gz +0 -0
  328. package/static/admin/assets/404-Dy3nURRX.js +1 -0
  329. package/static/admin/assets/404-Dy3nURRX.js.gz +0 -0
  330. package/static/admin/assets/404-N4aRkdWY.png +0 -0
  331. package/static/admin/assets/404-uZCOR2Ze.css +1 -0
  332. package/static/admin/assets/404-uZCOR2Ze.css.gz +0 -0
  333. package/static/admin/assets/404_cloud-CPexjtDj.png +0 -0
  334. package/static/admin/assets/authRole-ma37t91O.js +1 -0
  335. package/static/admin/assets/authRole-ma37t91O.js.gz +0 -0
  336. package/static/admin/assets/authUser-C2Y6gkW3.js +1 -0
  337. package/static/admin/assets/authUser-C2Y6gkW3.js.gz +0 -0
  338. package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js +1 -0
  339. package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js.gz +0 -0
  340. package/static/admin/assets/bug-10dePVta.js +1 -0
  341. package/static/admin/assets/bug-10dePVta.js.gz +0 -0
  342. package/static/admin/assets/build-2jMyI6eP.js +1 -0
  343. package/static/admin/assets/build-2jMyI6eP.js.gz +0 -0
  344. package/static/admin/assets/button-BlSCM_GH.js +1 -0
  345. package/static/admin/assets/button-BlSCM_GH.js.gz +0 -0
  346. package/static/admin/assets/cache-CRGI5LFU.js +1 -0
  347. package/static/admin/assets/cascader-CXIOcY1C.js +1 -0
  348. package/static/admin/assets/cascader-CXIOcY1C.js.gz +0 -0
  349. package/static/admin/assets/chart-BsLMrzXU.js +1 -0
  350. package/static/admin/assets/checkbox-Bpiun3bf.js +1 -0
  351. package/static/admin/assets/checkbox-Bpiun3bf.js.gz +0 -0
  352. package/static/admin/assets/clipboard-DaV3cn7f.js +1 -0
  353. package/static/admin/assets/clipboard-DaV3cn7f.js.gz +0 -0
  354. package/static/admin/assets/code-DgJ8cT4a.js +1 -0
  355. package/static/admin/assets/color-y1Sshoou.js +1 -0
  356. package/static/admin/assets/color-y1Sshoou.js.gz +0 -0
  357. package/static/admin/assets/component-Djp9s69L.js +1 -0
  358. package/static/admin/assets/component-Djp9s69L.js.gz +0 -0
  359. package/static/admin/assets/createTable-CpixhIJI.js +1 -0
  360. package/static/admin/assets/createTable-CpixhIJI.js.gz +0 -0
  361. package/static/admin/assets/dashboard-Dy7qt_a2.js +1 -0
  362. package/static/admin/assets/dashboard-Dy7qt_a2.js.gz +0 -0
  363. package/static/admin/assets/data-B6ExfNCI.js +1 -0
  364. package/static/admin/assets/data-B6ExfNCI.js.gz +0 -0
  365. package/static/admin/assets/data-BNwnwlkO.js +34 -0
  366. package/static/admin/assets/data-BNwnwlkO.js.gz +0 -0
  367. package/static/admin/assets/data-C3FuPwta.css +1 -0
  368. package/static/admin/assets/data-DmSA0HcO.js +1 -0
  369. package/static/admin/assets/data-DmSA0HcO.js.gz +0 -0
  370. package/static/admin/assets/date-B1FSITvi.js +1 -0
  371. package/static/admin/assets/date-B1FSITvi.js.gz +0 -0
  372. package/static/admin/assets/date-range-B8MgYLb1.js +1 -0
  373. package/static/admin/assets/date-range-B8MgYLb1.js.gz +0 -0
  374. package/static/admin/assets/dict-Bi_GqSXR.js +1 -0
  375. package/static/admin/assets/dict-Bi_GqSXR.js.gz +0 -0
  376. package/static/admin/assets/documentation-uH9BvL5U.js +1 -0
  377. package/static/admin/assets/download-DeIzgQWH.js +1 -0
  378. package/static/admin/assets/download-DeIzgQWH.js.gz +0 -0
  379. package/static/admin/assets/drag-BG1_I1vT.js +1 -0
  380. package/static/admin/assets/druid-BybW_S_B.js +1 -0
  381. package/static/admin/assets/edit-D0DI9pAq.js +1 -0
  382. package/static/admin/assets/editTable-zr5bdAM7.js +1 -0
  383. package/static/admin/assets/editTable-zr5bdAM7.js.gz +0 -0
  384. package/static/admin/assets/education-47KsSYIl.js +1 -0
  385. package/static/admin/assets/email-Dig28Vt2.js +1 -0
  386. package/static/admin/assets/example-CnLLAFb9.js +1 -0
  387. package/static/admin/assets/excel-D3hj5F35.js +1 -0
  388. package/static/admin/assets/exit-fullscreen-dXhGKlQm.js +1 -0
  389. package/static/admin/assets/exit-fullscreen-dXhGKlQm.js.gz +0 -0
  390. package/static/admin/assets/eye-DqRz4sMZ.js +1 -0
  391. package/static/admin/assets/eye-DqRz4sMZ.js.gz +0 -0
  392. package/static/admin/assets/eye-open-BxlshWqB.js +1 -0
  393. package/static/admin/assets/eye-open-BxlshWqB.js.gz +0 -0
  394. package/static/admin/assets/form-BDTA_i-I.js +1 -0
  395. package/static/admin/assets/form-BDTA_i-I.js.gz +0 -0
  396. package/static/admin/assets/fullscreen-0JHt5yWX.js +1 -0
  397. package/static/admin/assets/gen-DLNrNhtb.js +1 -0
  398. package/static/admin/assets/genInfoForm-CMDsV5QX.js +1 -0
  399. package/static/admin/assets/genInfoForm-CMDsV5QX.js.gz +0 -0
  400. package/static/admin/assets/github-AJ0WQBa2.js +1 -0
  401. package/static/admin/assets/github-AJ0WQBa2.js.gz +0 -0
  402. package/static/admin/assets/guide-DZWUPi2j.js +1 -0
  403. package/static/admin/assets/icon-BtMv6Od8.js +1 -0
  404. package/static/admin/assets/icon-BtMv6Od8.js.gz +0 -0
  405. package/static/admin/assets/importTable-BsBsGfWB.js +1 -0
  406. package/static/admin/assets/importTable-BsBsGfWB.js.gz +0 -0
  407. package/static/admin/assets/index-1Gtzb1EG.css +1 -0
  408. package/static/admin/assets/index-1Gtzb1EG.css.gz +0 -0
  409. package/static/admin/assets/index-22TxXV_H.js +1 -0
  410. package/static/admin/assets/index-2PS_9Njt.js +1 -0
  411. package/static/admin/assets/index-2PS_9Njt.js.gz +0 -0
  412. package/static/admin/assets/index-2QWdVCKT.js +1 -0
  413. package/static/admin/assets/index-BH2yis6M.js +1 -0
  414. package/static/admin/assets/index-BYiWbDzj.js +137 -0
  415. package/static/admin/assets/index-BYiWbDzj.js.gz +0 -0
  416. package/static/admin/assets/index-BcoIBYYg.js +1 -0
  417. package/static/admin/assets/index-BcoIBYYg.js.gz +0 -0
  418. package/static/admin/assets/index-BdfyYxZX.css +1 -0
  419. package/static/admin/assets/index-BdfyYxZX.css.gz +0 -0
  420. package/static/admin/assets/index-BpFFXMK5.js +1 -0
  421. package/static/admin/assets/index-BpFFXMK5.js.gz +0 -0
  422. package/static/admin/assets/index-CKPU_AaL.js +1 -0
  423. package/static/admin/assets/index-CKPU_AaL.js.gz +0 -0
  424. package/static/admin/assets/index-CXsykB0X.js +1 -0
  425. package/static/admin/assets/index-CXsykB0X.js.gz +0 -0
  426. package/static/admin/assets/index-CfHRKVJR.js +1 -0
  427. package/static/admin/assets/index-CfHRKVJR.js.gz +0 -0
  428. package/static/admin/assets/index-ChrWcM7o.js +1 -0
  429. package/static/admin/assets/index-ChrWcM7o.js.gz +0 -0
  430. package/static/admin/assets/index-CyGqJLpz.css +1 -0
  431. package/static/admin/assets/index-Czuq8j-W.js +1 -0
  432. package/static/admin/assets/index-D5kEXJN3.js +1 -0
  433. package/static/admin/assets/index-D5kEXJN3.js.gz +0 -0
  434. package/static/admin/assets/index-D7sjRL--.js +1 -0
  435. package/static/admin/assets/index-D7sjRL--.js.gz +0 -0
  436. package/static/admin/assets/index-D9JRAPr4.js +1 -0
  437. package/static/admin/assets/index-D9JRAPr4.js.gz +0 -0
  438. package/static/admin/assets/index-DADWjT7Y.js +1 -0
  439. package/static/admin/assets/index-DADWjT7Y.js.gz +0 -0
  440. package/static/admin/assets/index-DUTtT4NU.js +1 -0
  441. package/static/admin/assets/index-DUTtT4NU.js.gz +0 -0
  442. package/static/admin/assets/index-DZR__uIb.js +1 -0
  443. package/static/admin/assets/index-DZR__uIb.js.gz +0 -0
  444. package/static/admin/assets/index-Da2r8G2b.js +1 -0
  445. package/static/admin/assets/index-Da2r8G2b.js.gz +0 -0
  446. package/static/admin/assets/index-DakybE_b.js +1 -0
  447. package/static/admin/assets/index-DakybE_b.js.gz +0 -0
  448. package/static/admin/assets/index-DdnU2rJ0.css +1 -0
  449. package/static/admin/assets/index-H21xXZr5.js +60 -0
  450. package/static/admin/assets/index-H21xXZr5.js.gz +0 -0
  451. package/static/admin/assets/index-PGDGQEbD.js +1 -0
  452. package/static/admin/assets/index-PGDGQEbD.js.gz +0 -0
  453. package/static/admin/assets/index-Rm6qYhrO.js +1 -0
  454. package/static/admin/assets/index-VG6ZkdYt.js +1 -0
  455. package/static/admin/assets/index-VG6ZkdYt.js.gz +0 -0
  456. package/static/admin/assets/index-YVnsjgTq.js +1 -0
  457. package/static/admin/assets/index-YVnsjgTq.js.gz +0 -0
  458. package/static/admin/assets/index-t3XJ47us.css +1 -0
  459. package/static/admin/assets/index-t3XJ47us.css.gz +0 -0
  460. package/static/admin/assets/index-xfai-fRy.js +1 -0
  461. package/static/admin/assets/index-xfai-fRy.js.gz +0 -0
  462. package/static/admin/assets/input-BJoPMnBW.js +1 -0
  463. package/static/admin/assets/international-CmzG1OHg.js +1 -0
  464. package/static/admin/assets/international-CmzG1OHg.js.gz +0 -0
  465. package/static/admin/assets/job-BcmuINx7.js +1 -0
  466. package/static/admin/assets/job-BcmuINx7.js.gz +0 -0
  467. package/static/admin/assets/job-COdMvNx2.js +1 -0
  468. package/static/admin/assets/language-CaW1LMEk.js +1 -0
  469. package/static/admin/assets/language-CaW1LMEk.js.gz +0 -0
  470. package/static/admin/assets/link-C93f4PgI.js +1 -0
  471. package/static/admin/assets/list-C7O8B4zW.js +1 -0
  472. package/static/admin/assets/list-C7O8B4zW.js.gz +0 -0
  473. package/static/admin/assets/list-DUaPnccL.js +1 -0
  474. package/static/admin/assets/list-DUaPnccL.js.gz +0 -0
  475. package/static/admin/assets/lock-Bexeb9hp.js +1 -0
  476. package/static/admin/assets/log-CF2F-nSs.js +1 -0
  477. package/static/admin/assets/log-CF2F-nSs.js.gz +0 -0
  478. package/static/admin/assets/log-g6qirYnf.js +1 -0
  479. package/static/admin/assets/log-g6qirYnf.js.gz +0 -0
  480. package/static/admin/assets/login-1ezV0PC1.css +1 -0
  481. package/static/admin/assets/login-1ezV0PC1.css.gz +0 -0
  482. package/static/admin/assets/login-BnkuYS6J.js +22 -0
  483. package/static/admin/assets/login-BnkuYS6J.js.gz +0 -0
  484. package/static/admin/assets/login-background-Yn3y1TP_.jpg +0 -0
  485. package/static/admin/assets/logininfor-Bm9ZYYR7.js +1 -0
  486. package/static/admin/assets/logininfor-Bm9ZYYR7.js.gz +0 -0
  487. package/static/admin/assets/logo-BjsPc2xl.png +0 -0
  488. package/static/admin/assets/menu-BIu3IsSF.js +1 -0
  489. package/static/admin/assets/message-UkR-VIBB.js +1 -0
  490. package/static/admin/assets/money-B1qqPuhn.js +1 -0
  491. package/static/admin/assets/monitor-gwnnVq4l.js +1 -0
  492. package/static/admin/assets/monitor-gwnnVq4l.js.gz +0 -0
  493. package/static/admin/assets/nested-B4d5u3hW.js +1 -0
  494. package/static/admin/assets/number-D4hB_nHC.js +1 -0
  495. package/static/admin/assets/number-D4hB_nHC.js.gz +0 -0
  496. package/static/admin/assets/online-C2ZP8pdY.js +1 -0
  497. package/static/admin/assets/online-C2ZP8pdY.js.gz +0 -0
  498. package/static/admin/assets/password-DfGvqQpB.js +1 -0
  499. package/static/admin/assets/password-DfGvqQpB.js.gz +0 -0
  500. package/static/admin/assets/pay-2ZbgPnxn.png +0 -0
  501. package/static/admin/assets/pdf-CD9mOGjJ.js +1 -0
  502. package/static/admin/assets/pdf-CD9mOGjJ.js.gz +0 -0
  503. package/static/admin/assets/people-CdGMHN63.js +1 -0
  504. package/static/admin/assets/people-CdGMHN63.js.gz +0 -0
  505. package/static/admin/assets/peoples-BRYsIqmI.js +1 -0
  506. package/static/admin/assets/phone-BpAUIz0g.js +1 -0
  507. package/static/admin/assets/phone-BpAUIz0g.js.gz +0 -0
  508. package/static/admin/assets/pm2-BkmkkE2A.js +1 -0
  509. package/static/admin/assets/post-DrLDyPY9.js +1 -0
  510. package/static/admin/assets/post-DrLDyPY9.js.gz +0 -0
  511. package/static/admin/assets/profile-DruvkrZU.jpg +0 -0
  512. package/static/admin/assets/qq-D8j4O83Y.js +1 -0
  513. package/static/admin/assets/qq-D8j4O83Y.js.gz +0 -0
  514. package/static/admin/assets/question-CvYWQbyW.js +1 -0
  515. package/static/admin/assets/question-CvYWQbyW.js.gz +0 -0
  516. package/static/admin/assets/radio-B0t9wPBQ.js +1 -0
  517. package/static/admin/assets/radio-B0t9wPBQ.js.gz +0 -0
  518. package/static/admin/assets/rate-CgnHQvKS.js +1 -0
  519. package/static/admin/assets/rate-CgnHQvKS.js.gz +0 -0
  520. package/static/admin/assets/redis-D4ECyT6a.js +1 -0
  521. package/static/admin/assets/redis-D4ECyT6a.js.gz +0 -0
  522. package/static/admin/assets/redis-list-BtKGPnqO.js +1 -0
  523. package/static/admin/assets/redis-list-BtKGPnqO.js.gz +0 -0
  524. package/static/admin/assets/register-B9RmZvjt.js +1 -0
  525. package/static/admin/assets/register-B9RmZvjt.js.gz +0 -0
  526. package/static/admin/assets/register-n3u7gqca.css +1 -0
  527. package/static/admin/assets/resetPwd-M0EIDnQk.js +1 -0
  528. package/static/admin/assets/resetPwd-M0EIDnQk.js.gz +0 -0
  529. package/static/admin/assets/role-XbHkNxnW.js +1 -0
  530. package/static/admin/assets/role-XbHkNxnW.js.gz +0 -0
  531. package/static/admin/assets/row-CRXKIHjm.js +1 -0
  532. package/static/admin/assets/row-CRXKIHjm.js.gz +0 -0
  533. package/static/admin/assets/search-CUfclCsR.js +1 -0
  534. package/static/admin/assets/select-DhuHHMxz.js +1 -0
  535. package/static/admin/assets/select-DhuHHMxz.js.gz +0 -0
  536. package/static/admin/assets/selectUser-DA_rE9J_.js +1 -0
  537. package/static/admin/assets/selectUser-DA_rE9J_.js.gz +0 -0
  538. package/static/admin/assets/server-unS7EyF7.js +1 -0
  539. package/static/admin/assets/shopping-CU1IRvxM.js +1 -0
  540. package/static/admin/assets/shopping-CU1IRvxM.js.gz +0 -0
  541. package/static/admin/assets/size-Cj9fB5Rp.js +1 -0
  542. package/static/admin/assets/skill-B8f_I4m_.js +1 -0
  543. package/static/admin/assets/skill-B8f_I4m_.js.gz +0 -0
  544. package/static/admin/assets/slider-BGfehM6X.js +1 -0
  545. package/static/admin/assets/star-kST8a72V.js +1 -0
  546. package/static/admin/assets/store-CX7IRN8X.js +1 -0
  547. package/static/admin/assets/swagger-BHGXZ2Jt.js +1 -0
  548. package/static/admin/assets/swagger-BHGXZ2Jt.js.gz +0 -0
  549. package/static/admin/assets/switch-CvaargRJ.js +1 -0
  550. package/static/admin/assets/system-DcNSH_Fq.js +1 -0
  551. package/static/admin/assets/system-DcNSH_Fq.js.gz +0 -0
  552. package/static/admin/assets/tab-nA3f0aBt.js +1 -0
  553. package/static/admin/assets/table-5PRh60AQ.js +1 -0
  554. package/static/admin/assets/test-CEJIIaDM.js +1 -0
  555. package/static/admin/assets/test-CEJIIaDM.js.gz +0 -0
  556. package/static/admin/assets/textarea-CJWXlgbJ.js +1 -0
  557. package/static/admin/assets/theme-CyGq941x.js +1 -0
  558. package/static/admin/assets/time-BVERp0sU.js +1 -0
  559. package/static/admin/assets/time-BVERp0sU.js.gz +0 -0
  560. package/static/admin/assets/time-range-D3dxgtLj.js +1 -0
  561. package/static/admin/assets/time-range-D3dxgtLj.js.gz +0 -0
  562. package/static/admin/assets/tool-D8kXk1l-.js +1 -0
  563. package/static/admin/assets/tool-D8kXk1l-.js.gz +0 -0
  564. package/static/admin/assets/tree-BCtS3oPD.js +1 -0
  565. package/static/admin/assets/tree-BCtS3oPD.js.gz +0 -0
  566. package/static/admin/assets/tree-table-CnOS99I9.js +1 -0
  567. package/static/admin/assets/tree-table-CnOS99I9.js.gz +0 -0
  568. package/static/admin/assets/type-BU7MsCG8.js +1 -0
  569. package/static/admin/assets/upload-BueI-Il1.js +1 -0
  570. package/static/admin/assets/upload-BueI-Il1.js.gz +0 -0
  571. package/static/admin/assets/user-DCGYGA9G.js +1 -0
  572. package/static/admin/assets/user-DCGYGA9G.js.gz +0 -0
  573. package/static/admin/assets/user-DqMuW5cU.js +1 -0
  574. package/static/admin/assets/userAvatar-BAmwMY1G.css +1 -0
  575. package/static/admin/assets/userAvatar-BAmwMY1G.css.gz +0 -0
  576. package/static/admin/assets/userAvatar-Bax34kaQ.js +7 -0
  577. package/static/admin/assets/userAvatar-Bax34kaQ.js.gz +0 -0
  578. package/static/admin/assets/userInfo-OvdBjEQX.js +1 -0
  579. package/static/admin/assets/userInfo-OvdBjEQX.js.gz +0 -0
  580. package/static/admin/assets/validCode-COB1iLxa.js +1 -0
  581. package/static/admin/assets/validCode-COB1iLxa.js.gz +0 -0
  582. package/static/admin/assets/wechat-lmQOcPZu.js +1 -0
  583. package/static/admin/assets/wechat-lmQOcPZu.js.gz +0 -0
  584. package/static/admin/assets/zip-DIOSZc69.js +1 -0
  585. package/static/admin/assets/zip-DIOSZc69.js.gz +0 -0
  586. package/static/admin/favicon.ico +0 -0
  587. package/static/admin/index.html +216 -0
  588. package/static/admin/index.html.gz +0 -0
  589. package/store1/README.MD +0 -0
  590. package/store1/generic.mjs +102 -0
  591. package/store1/index.mjs +30 -0
  592. package/store1/monitor.mjs +13 -0
  593. package/store1/role.mjs +137 -0
  594. package/store1/store/0/data +0 -0
  595. package/store1/store/0/index +0 -0
  596. package/store1/store/0/index.mjs +15 -0
  597. package/store1/store/1/buffer/464135 +1 -0
  598. package/store1/store/1/buffer/464587 +1 -0
  599. package/store1/store/1/data +0 -0
  600. package/store1/store/1/data-LAPTOP-S8G0S6EH +0 -0
  601. package/store1/store/1/index +0 -0
  602. package/store1/store/1/index-LAPTOP-S8G0S6EH +0 -0
  603. package/store1/store/1/index.mjs +4045 -0
  604. package/store1/store/1/type.ts +1492 -0
  605. package/store1/store/index.mjs +23 -0
  606. package/store1/store2/0/data +0 -0
  607. package/store1/store2/0/index +0 -0
  608. package/store1/store2/0/index.mjs +15 -0
  609. package/store1/store2/1/buffer/464135 +1 -0
  610. package/store1/store2/1/buffer/464587 +1 -0
  611. package/store1/store2/1/data +0 -0
  612. package/store1/store2/1/data-LAPTOP-S8G0S6EH +0 -0
  613. package/store1/store2/1/index +0 -0
  614. package/store1/store2/1/index-LAPTOP-S8G0S6EH +0 -0
  615. package/store1/store2/1/index.mjs +4045 -0
  616. package/store1/store2/1/type.ts +1492 -0
  617. package/store1/store2/index.mjs +23 -0
  618. package/store1/system.mjs +67 -0
  619. package/store1/tool.mjs +472 -0
  620. package/store1/user.mjs +228 -0
@@ -0,0 +1,141 @@
1
+ <template>
2
+ <el-form>
3
+ <el-form-item>
4
+ <el-radio v-model='radioValue' :value="1">
5
+ 月,允许的通配符[, - * /]
6
+ </el-radio>
7
+ </el-form-item>
8
+
9
+ <el-form-item>
10
+ <el-radio v-model='radioValue' :value="2">
11
+ 周期从
12
+ <el-input-number v-model='cycle01' :min="1" :max="11" /> -
13
+ <el-input-number v-model='cycle02' :min="cycle01 + 1" :max="12" /> 月
14
+ </el-radio>
15
+ </el-form-item>
16
+
17
+ <el-form-item>
18
+ <el-radio v-model='radioValue' :value="3">
19
+
20
+ <el-input-number v-model='average01' :min="1" :max="11" /> 月开始,每
21
+ <el-input-number v-model='average02' :min="1" :max="12 - average01" /> 月月执行一次
22
+ </el-radio>
23
+ </el-form-item>
24
+
25
+ <el-form-item>
26
+ <el-radio v-model='radioValue' :value="4">
27
+ 指定
28
+ <el-select clearable v-model="checkboxList" placeholder="可多选" multiple :multiple-limit="8">
29
+ <el-option v-for="item in monthList" :key="item.key" :label="item.value" :value="item.key" />
30
+ </el-select>
31
+ </el-radio>
32
+ </el-form-item>
33
+ </el-form>
34
+ </template>
35
+
36
+ <script setup>
37
+ const emit = defineEmits(['update'])
38
+ const props = defineProps({
39
+ cron: {
40
+ type: Object,
41
+ default: {
42
+ second: "*",
43
+ min: "*",
44
+ hour: "*",
45
+ day: "*",
46
+ month: "*",
47
+ week: "?",
48
+ year: "",
49
+ }
50
+ },
51
+ check: {
52
+ type: Function,
53
+ default: () => {
54
+ }
55
+ }
56
+ })
57
+ const radioValue = ref(1)
58
+ const cycle01 = ref(1)
59
+ const cycle02 = ref(2)
60
+ const average01 = ref(1)
61
+ const average02 = ref(1)
62
+ const checkboxList = ref([])
63
+ const checkCopy = ref([1])
64
+ const monthList = ref([
65
+ {key: 1, value: '一月'},
66
+ {key: 2, value: '二月'},
67
+ {key: 3, value: '三月'},
68
+ {key: 4, value: '四月'},
69
+ {key: 5, value: '五月'},
70
+ {key: 6, value: '六月'},
71
+ {key: 7, value: '七月'},
72
+ {key: 8, value: '八月'},
73
+ {key: 9, value: '九月'},
74
+ {key: 10, value: '十月'},
75
+ {key: 11, value: '十一月'},
76
+ {key: 12, value: '十二月'}
77
+ ])
78
+ const cycleTotal = computed(() => {
79
+ cycle01.value = props.check(cycle01.value, 1, 11)
80
+ cycle02.value = props.check(cycle02.value, cycle01.value + 1, 12)
81
+ return cycle01.value + '-' + cycle02.value
82
+ })
83
+ const averageTotal = computed(() => {
84
+ average01.value = props.check(average01.value, 1, 11)
85
+ average02.value = props.check(average02.value, 1, 12 - average01.value)
86
+ return average01.value + '/' + average02.value
87
+ })
88
+ const checkboxString = computed(() => {
89
+ return checkboxList.value.join(',')
90
+ })
91
+ watch(() => props.cron.month, value => changeRadioValue(value))
92
+ watch([radioValue, cycleTotal, averageTotal, checkboxString], () => onRadioChange())
93
+ function changeRadioValue(value) {
94
+ if (value === '*') {
95
+ radioValue.value = 1
96
+ } else if (value.indexOf('-') > -1) {
97
+ const indexArr = value.split('-')
98
+ cycle01.value = Number(indexArr[0])
99
+ cycle02.value = Number(indexArr[1])
100
+ radioValue.value = 2
101
+ } else if (value.indexOf('/') > -1) {
102
+ const indexArr = value.split('/')
103
+ average01.value = Number(indexArr[0])
104
+ average02.value = Number(indexArr[1])
105
+ radioValue.value = 3
106
+ } else {
107
+ checkboxList.value = [...new Set(value.split(',').map(item => Number(item)))]
108
+ radioValue.value = 4
109
+ }
110
+ }
111
+ function onRadioChange() {
112
+ switch (radioValue.value) {
113
+ case 1:
114
+ emit('update', 'month', '*', 'month')
115
+ break
116
+ case 2:
117
+ emit('update', 'month', cycleTotal.value, 'month')
118
+ break
119
+ case 3:
120
+ emit('update', 'month', averageTotal.value, 'month')
121
+ break
122
+ case 4:
123
+ if (checkboxList.value.length === 0) {
124
+ checkboxList.value.push(checkCopy.value[0])
125
+ } else {
126
+ checkCopy.value = checkboxList.value
127
+ }
128
+ emit('update', 'month', checkboxString.value, 'month')
129
+ break
130
+ }
131
+ }
132
+ </script>
133
+
134
+ <style lang="scss" scoped>
135
+ .el-input-number--small, .el-select, .el-select--small {
136
+ margin: 0 0.2rem;
137
+ }
138
+ .el-select, .el-select--small {
139
+ width: 18.8rem;
140
+ }
141
+ </style>
@@ -0,0 +1,540 @@
1
+ <template>
2
+ <div class="popup-result">
3
+ <p class="title">最近5次运行时间</p>
4
+ <ul class="popup-result-scroll">
5
+ <template v-if='isShow'>
6
+ <li v-for='item in resultList' :key="item">{{item}}</li>
7
+ </template>
8
+ <li v-else>计算结果中...</li>
9
+ </ul>
10
+ </div>
11
+ </template>
12
+
13
+ <script setup>
14
+ const props = defineProps({
15
+ ex: {
16
+ type: String,
17
+ default: ''
18
+ }
19
+ })
20
+ const dayRule = ref('')
21
+ const dayRuleSup = ref('')
22
+ const dateArr = ref([])
23
+ const resultList = ref([])
24
+ const isShow = ref(false)
25
+ watch(() => props.ex, () => expressionChange())
26
+ // 表达式值变化时,开始去计算结果
27
+ function expressionChange() {
28
+ // 计算开始-隐藏结果
29
+ isShow.value = false;
30
+ // 获取规则数组[0秒、1分、2时、3日、4月、5星期、6年]
31
+ let ruleArr = props.ex.split(' ');
32
+ // 用于记录进入循环的次数
33
+ let nums = 0;
34
+ // 用于暂时存符号时间规则结果的数组
35
+ let resultArr = [];
36
+ // 获取当前时间精确至[年、月、日、时、分、秒]
37
+ let nTime = new Date();
38
+ let nYear = nTime.getFullYear();
39
+ let nMonth = nTime.getMonth() + 1;
40
+ let nDay = nTime.getDate();
41
+ let nHour = nTime.getHours();
42
+ let nMin = nTime.getMinutes();
43
+ let nSecond = nTime.getSeconds();
44
+ // 根据规则获取到近100年可能年数组、月数组等等
45
+ getSecondArr(ruleArr[0]);
46
+ getMinArr(ruleArr[1]);
47
+ getHourArr(ruleArr[2]);
48
+ getDayArr(ruleArr[3]);
49
+ getMonthArr(ruleArr[4]);
50
+ getWeekArr(ruleArr[5]);
51
+ getYearArr(ruleArr[6], nYear);
52
+ // 将获取到的数组赋值-方便使用
53
+ let sDate = dateArr.value[0];
54
+ let mDate = dateArr.value[1];
55
+ let hDate = dateArr.value[2];
56
+ let DDate = dateArr.value[3];
57
+ let MDate = dateArr.value[4];
58
+ let YDate = dateArr.value[5];
59
+ // 获取当前时间在数组中的索引
60
+ let sIdx = getIndex(sDate, nSecond);
61
+ let mIdx = getIndex(mDate, nMin);
62
+ let hIdx = getIndex(hDate, nHour);
63
+ let DIdx = getIndex(DDate, nDay);
64
+ let MIdx = getIndex(MDate, nMonth);
65
+ let YIdx = getIndex(YDate, nYear);
66
+ // 重置月日时分秒的函数(后面用的比较多)
67
+ const resetSecond = function () {
68
+ sIdx = 0;
69
+ nSecond = sDate[sIdx]
70
+ }
71
+ const resetMin = function () {
72
+ mIdx = 0;
73
+ nMin = mDate[mIdx]
74
+ resetSecond();
75
+ }
76
+ const resetHour = function () {
77
+ hIdx = 0;
78
+ nHour = hDate[hIdx]
79
+ resetMin();
80
+ }
81
+ const resetDay = function () {
82
+ DIdx = 0;
83
+ nDay = DDate[DIdx]
84
+ resetHour();
85
+ }
86
+ const resetMonth = function () {
87
+ MIdx = 0;
88
+ nMonth = MDate[MIdx]
89
+ resetDay();
90
+ }
91
+ // 如果当前年份不为数组中当前值
92
+ if (nYear !== YDate[YIdx]) {
93
+ resetMonth();
94
+ }
95
+ // 如果当前月份不为数组中当前值
96
+ if (nMonth !== MDate[MIdx]) {
97
+ resetDay();
98
+ }
99
+ // 如果当前“日”不为数组中当前值
100
+ if (nDay !== DDate[DIdx]) {
101
+ resetHour();
102
+ }
103
+ // 如果当前“时”不为数组中当前值
104
+ if (nHour !== hDate[hIdx]) {
105
+ resetMin();
106
+ }
107
+ // 如果当前“分”不为数组中当前值
108
+ if (nMin !== mDate[mIdx]) {
109
+ resetSecond();
110
+ }
111
+ // 循环年份数组
112
+ goYear: for (let Yi = YIdx; Yi < YDate.length; Yi++) {
113
+ let YY = YDate[Yi];
114
+ // 如果到达最大值时
115
+ if (nMonth > MDate[MDate.length - 1]) {
116
+ resetMonth();
117
+ continue;
118
+ }
119
+ // 循环月份数组
120
+ goMonth: for (let Mi = MIdx; Mi < MDate.length; Mi++) {
121
+ // 赋值、方便后面运算
122
+ let MM = MDate[Mi];
123
+ MM = MM < 10 ? '0' + MM : MM;
124
+ // 如果到达最大值时
125
+ if (nDay > DDate[DDate.length - 1]) {
126
+ resetDay();
127
+ if (Mi === MDate.length - 1) {
128
+ resetMonth();
129
+ continue goYear;
130
+ }
131
+ continue;
132
+ }
133
+ // 循环日期数组
134
+ goDay: for (let Di = DIdx; Di < DDate.length; Di++) {
135
+ // 赋值、方便后面运算
136
+ let DD = DDate[Di];
137
+ let thisDD = DD < 10 ? '0' + DD : DD;
138
+ // 如果到达最大值时
139
+ if (nHour > hDate[hDate.length - 1]) {
140
+ resetHour();
141
+ if (Di === DDate.length - 1) {
142
+ resetDay();
143
+ if (Mi === MDate.length - 1) {
144
+ resetMonth();
145
+ continue goYear;
146
+ }
147
+ continue goMonth;
148
+ }
149
+ continue;
150
+ }
151
+ // 判断日期的合法性,不合法的话也是跳出当前循环
152
+ if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true && dayRule.value !== 'workDay' && dayRule.value !== 'lastWeek' && dayRule.value !== 'lastDay') {
153
+ resetDay();
154
+ continue goMonth;
155
+ }
156
+ // 如果日期规则中有值时
157
+ if (dayRule.value === 'lastDay') {
158
+ // 如果不是合法日期则需要将前将日期调到合法日期即月末最后一天
159
+ if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
160
+ while (DD > 0 && checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
161
+ DD--;
162
+ thisDD = DD < 10 ? '0' + DD : DD;
163
+ }
164
+ }
165
+ } else if (dayRule.value === 'workDay') {
166
+ // 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
167
+ if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
168
+ while (DD > 0 && checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
169
+ DD--;
170
+ thisDD = DD < 10 ? '0' + DD : DD;
171
+ }
172
+ }
173
+ // 获取达到条件的日期是星期X
174
+ let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
175
+ // 当星期日时
176
+ if (thisWeek === 1) {
177
+ // 先找下一个日,并判断是否为月底
178
+ DD++;
179
+ thisDD = DD < 10 ? '0' + DD : DD;
180
+ // 判断下一日已经不是合法日期
181
+ if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
182
+ DD -= 3;
183
+ }
184
+ } else if (thisWeek === 7) {
185
+ // 当星期6时只需判断不是1号就可进行操作
186
+ if (dayRuleSup.value !== 1) {
187
+ DD--;
188
+ } else {
189
+ DD += 2;
190
+ }
191
+ }
192
+ } else if (dayRule.value === 'weekDay') {
193
+ // 如果指定了是星期几
194
+ // 获取当前日期是属于星期几
195
+ let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
196
+ // 校验当前星期是否在星期池(dayRuleSup)中
197
+ if (dayRuleSup.value.indexOf(thisWeek) < 0) {
198
+ // 如果到达最大值时
199
+ if (Di === DDate.length - 1) {
200
+ resetDay();
201
+ if (Mi === MDate.length - 1) {
202
+ resetMonth();
203
+ continue goYear;
204
+ }
205
+ continue goMonth;
206
+ }
207
+ continue;
208
+ }
209
+ } else if (dayRule.value === 'assWeek') {
210
+ // 如果指定了是第几周的星期几
211
+ // 获取每月1号是属于星期几
212
+ let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week');
213
+ if (dayRuleSup.value[1] >= thisWeek) {
214
+ DD = (dayRuleSup.value[0] - 1) * 7 + dayRuleSup.value[1] - thisWeek + 1;
215
+ } else {
216
+ DD = dayRuleSup.value[0] * 7 + dayRuleSup.value[1] - thisWeek + 1;
217
+ }
218
+ } else if (dayRule.value === 'lastWeek') {
219
+ // 如果指定了每月最后一个星期几
220
+ // 校验并调整如果是2月30号这种日期传进来时需调整至正常月底
221
+ if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
222
+ while (DD > 0 && checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
223
+ DD--;
224
+ thisDD = DD < 10 ? '0' + DD : DD;
225
+ }
226
+ }
227
+ // 获取月末最后一天是星期几
228
+ let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week');
229
+ // 找到要求中最近的那个星期几
230
+ if (dayRuleSup.value < thisWeek) {
231
+ DD -= thisWeek - dayRuleSup.value;
232
+ } else if (dayRuleSup.value > thisWeek) {
233
+ DD -= 7 - (dayRuleSup.value - thisWeek)
234
+ }
235
+ }
236
+ // 判断时间值是否小于10置换成“05”这种格式
237
+ DD = DD < 10 ? '0' + DD : DD;
238
+ // 循环“时”数组
239
+ goHour: for (let hi = hIdx; hi < hDate.length; hi++) {
240
+ let hh = hDate[hi] < 10 ? '0' + hDate[hi] : hDate[hi]
241
+ // 如果到达最大值时
242
+ if (nMin > mDate[mDate.length - 1]) {
243
+ resetMin();
244
+ if (hi === hDate.length - 1) {
245
+ resetHour();
246
+ if (Di === DDate.length - 1) {
247
+ resetDay();
248
+ if (Mi === MDate.length - 1) {
249
+ resetMonth();
250
+ continue goYear;
251
+ }
252
+ continue goMonth;
253
+ }
254
+ continue goDay;
255
+ }
256
+ continue;
257
+ }
258
+ // 循环"分"数组
259
+ goMin: for (let mi = mIdx; mi < mDate.length; mi++) {
260
+ let mm = mDate[mi] < 10 ? '0' + mDate[mi] : mDate[mi];
261
+ // 如果到达最大值时
262
+ if (nSecond > sDate[sDate.length - 1]) {
263
+ resetSecond();
264
+ if (mi === mDate.length - 1) {
265
+ resetMin();
266
+ if (hi === hDate.length - 1) {
267
+ resetHour();
268
+ if (Di === DDate.length - 1) {
269
+ resetDay();
270
+ if (Mi === MDate.length - 1) {
271
+ resetMonth();
272
+ continue goYear;
273
+ }
274
+ continue goMonth;
275
+ }
276
+ continue goDay;
277
+ }
278
+ continue goHour;
279
+ }
280
+ continue;
281
+ }
282
+ // 循环"秒"数组
283
+ goSecond: for (let si = sIdx; si <= sDate.length - 1; si++) {
284
+ let ss = sDate[si] < 10 ? '0' + sDate[si] : sDate[si];
285
+ // 添加当前时间(时间合法性在日期循环时已经判断)
286
+ if (MM !== '00' && DD !== '00') {
287
+ resultArr.push(YY + '-' + MM + '-' + DD + ' ' + hh + ':' + mm + ':' + ss)
288
+ nums++;
289
+ }
290
+ // 如果条数满了就退出循环
291
+ if (nums === 5) break goYear;
292
+ // 如果到达最大值时
293
+ if (si === sDate.length - 1) {
294
+ resetSecond();
295
+ if (mi === mDate.length - 1) {
296
+ resetMin();
297
+ if (hi === hDate.length - 1) {
298
+ resetHour();
299
+ if (Di === DDate.length - 1) {
300
+ resetDay();
301
+ if (Mi === MDate.length - 1) {
302
+ resetMonth();
303
+ continue goYear;
304
+ }
305
+ continue goMonth;
306
+ }
307
+ continue goDay;
308
+ }
309
+ continue goHour;
310
+ }
311
+ continue goMin;
312
+ }
313
+ } //goSecond
314
+ } //goMin
315
+ }//goHour
316
+ }//goDay
317
+ }//goMonth
318
+ }
319
+ // 判断100年内的结果条数
320
+ if (resultArr.length === 0) {
321
+ resultList.value = ['没有达到条件的结果!'];
322
+ } else {
323
+ resultList.value = resultArr;
324
+ if (resultArr.length !== 5) {
325
+ resultList.value.push('最近100年内只有上面' + resultArr.length + '条结果!')
326
+ }
327
+ }
328
+ // 计算完成-显示结果
329
+ isShow.value = true;
330
+ }
331
+ // 用于计算某位数字在数组中的索引
332
+ function getIndex(arr, value) {
333
+ if (value <= arr[0] || value > arr[arr.length - 1]) {
334
+ return 0;
335
+ } else {
336
+ for (let i = 0; i < arr.length - 1; i++) {
337
+ if (value > arr[i] && value <= arr[i + 1]) {
338
+ return i + 1;
339
+ }
340
+ }
341
+ }
342
+ }
343
+ // 获取"年"数组
344
+ function getYearArr(rule, year) {
345
+ dateArr.value[5] = getOrderArr(year, year + 100);
346
+ if (rule !== undefined) {
347
+ if (rule.indexOf('-') >= 0) {
348
+ dateArr.value[5] = getCycleArr(rule, year + 100, false)
349
+ } else if (rule.indexOf('/') >= 0) {
350
+ dateArr.value[5] = getAverageArr(rule, year + 100)
351
+ } else if (rule !== '*') {
352
+ dateArr.value[5] = getAssignArr(rule)
353
+ }
354
+ }
355
+ }
356
+ // 获取"月"数组
357
+ function getMonthArr(rule) {
358
+ dateArr.value[4] = getOrderArr(1, 12);
359
+ if (rule.indexOf('-') >= 0) {
360
+ dateArr.value[4] = getCycleArr(rule, 12, false)
361
+ } else if (rule.indexOf('/') >= 0) {
362
+ dateArr.value[4] = getAverageArr(rule, 12)
363
+ } else if (rule !== '*') {
364
+ dateArr.value[4] = getAssignArr(rule)
365
+ }
366
+ }
367
+ // 获取"日"数组-主要为日期规则
368
+ function getWeekArr(rule) {
369
+ // 只有当日期规则的两个值均为“”时则表达日期是有选项的
370
+ if (dayRule.value === '' && dayRuleSup.value === '') {
371
+ if (rule.indexOf('-') >= 0) {
372
+ dayRule.value = 'weekDay';
373
+ dayRuleSup.value = getCycleArr(rule, 7, false)
374
+ } else if (rule.indexOf('#') >= 0) {
375
+ dayRule.value = 'assWeek';
376
+ let matchRule = rule.match(/[0-9]{1}/g);
377
+ dayRuleSup.value = [Number(matchRule[1]), Number(matchRule[0])];
378
+ dateArr.value[3] = [1];
379
+ if (dayRuleSup.value[1] === 7) {
380
+ dayRuleSup.value[1] = 0;
381
+ }
382
+ } else if (rule.indexOf('L') >= 0) {
383
+ dayRule.value = 'lastWeek';
384
+ dayRuleSup.value = Number(rule.match(/[0-9]{1,2}/g)[0]);
385
+ dateArr.value[3] = [31];
386
+ if (dayRuleSup.value === 7) {
387
+ dayRuleSup.value = 0;
388
+ }
389
+ } else if (rule !== '*' && rule !== '?') {
390
+ dayRule.value = 'weekDay';
391
+ dayRuleSup.value = getAssignArr(rule)
392
+ }
393
+ }
394
+ }
395
+ // 获取"日"数组-少量为日期规则
396
+ function getDayArr(rule) {
397
+ dateArr.value[3] = getOrderArr(1, 31);
398
+ dayRule.value = '';
399
+ dayRuleSup.value = '';
400
+ if (rule.indexOf('-') >= 0) {
401
+ dateArr.value[3] = getCycleArr(rule, 31, false)
402
+ dayRuleSup.value = 'null';
403
+ } else if (rule.indexOf('/') >= 0) {
404
+ dateArr.value[3] = getAverageArr(rule, 31)
405
+ dayRuleSup.value = 'null';
406
+ } else if (rule.indexOf('W') >= 0) {
407
+ dayRule.value = 'workDay';
408
+ dayRuleSup.value = Number(rule.match(/[0-9]{1,2}/g)[0]);
409
+ dateArr.value[3] = [dayRuleSup.value];
410
+ } else if (rule.indexOf('L') >= 0) {
411
+ dayRule.value = 'lastDay';
412
+ dayRuleSup.value = 'null';
413
+ dateArr.value[3] = [31];
414
+ } else if (rule !== '*' && rule !== '?') {
415
+ dateArr.value[3] = getAssignArr(rule)
416
+ dayRuleSup.value = 'null';
417
+ } else if (rule === '*') {
418
+ dayRuleSup.value = 'null';
419
+ }
420
+ }
421
+ // 获取"时"数组
422
+ function getHourArr(rule) {
423
+ dateArr.value[2] = getOrderArr(0, 23);
424
+ if (rule.indexOf('-') >= 0) {
425
+ dateArr.value[2] = getCycleArr(rule, 24, true)
426
+ } else if (rule.indexOf('/') >= 0) {
427
+ dateArr.value[2] = getAverageArr(rule, 23)
428
+ } else if (rule !== '*') {
429
+ dateArr.value[2] = getAssignArr(rule)
430
+ }
431
+ }
432
+ // 获取"分"数组
433
+ function getMinArr(rule) {
434
+ dateArr.value[1] = getOrderArr(0, 59);
435
+ if (rule.indexOf('-') >= 0) {
436
+ dateArr.value[1] = getCycleArr(rule, 60, true)
437
+ } else if (rule.indexOf('/') >= 0) {
438
+ dateArr.value[1] = getAverageArr(rule, 59)
439
+ } else if (rule !== '*') {
440
+ dateArr.value[1] = getAssignArr(rule)
441
+ }
442
+ }
443
+ // 获取"秒"数组
444
+ function getSecondArr(rule) {
445
+ dateArr.value[0] = getOrderArr(0, 59);
446
+ if (rule.indexOf('-') >= 0) {
447
+ dateArr.value[0] = getCycleArr(rule, 60, true)
448
+ } else if (rule.indexOf('/') >= 0) {
449
+ dateArr.value[0] = getAverageArr(rule, 59)
450
+ } else if (rule !== '*') {
451
+ dateArr.value[0] = getAssignArr(rule)
452
+ }
453
+ }
454
+ // 根据传进来的min-max返回一个顺序的数组
455
+ function getOrderArr(min, max) {
456
+ let arr = [];
457
+ for (let i = min; i <= max; i++) {
458
+ arr.push(i);
459
+ }
460
+ return arr;
461
+ }
462
+ // 根据规则中指定的零散值返回一个数组
463
+ function getAssignArr(rule) {
464
+ let arr = [];
465
+ let assiginArr = rule.split(',');
466
+ for (let i = 0; i < assiginArr.length; i++) {
467
+ arr[i] = Number(assiginArr[i])
468
+ }
469
+ arr.sort(compare)
470
+ return arr;
471
+ }
472
+ // 根据一定算术规则计算返回一个数组
473
+ function getAverageArr(rule, limit) {
474
+ let arr = [];
475
+ let agArr = rule.split('/');
476
+ let min = Number(agArr[0]);
477
+ let step = Number(agArr[1]);
478
+ while (min <= limit) {
479
+ arr.push(min);
480
+ min += step;
481
+ }
482
+ return arr;
483
+ }
484
+ // 根据规则返回一个具有周期性的数组
485
+ function getCycleArr(rule, limit, status) {
486
+ // status--表示是否从0开始(则从1开始)
487
+ let arr = [];
488
+ let cycleArr = rule.split('-');
489
+ let min = Number(cycleArr[0]);
490
+ let max = Number(cycleArr[1]);
491
+ if (min > max) {
492
+ max += limit;
493
+ }
494
+ for (let i = min; i <= max; i++) {
495
+ let add = 0;
496
+ if (status === false && i % limit === 0) {
497
+ add = limit;
498
+ }
499
+ arr.push(Math.round(i % limit + add))
500
+ }
501
+ arr.sort(compare)
502
+ return arr;
503
+ }
504
+ // 比较数字大小(用于Array.sort)
505
+ function compare(value1, value2) {
506
+ if (value2 - value1 > 0) {
507
+ return -1;
508
+ } else {
509
+ return 1;
510
+ }
511
+ }
512
+ // 格式化日期格式如:2017-9-19 18:04:33
513
+ function formatDate(value, type) {
514
+ // 计算日期相关值
515
+ let time = typeof value == 'number' ? new Date(value) : value;
516
+ let Y = time.getFullYear();
517
+ let M = time.getMonth() + 1;
518
+ let D = time.getDate();
519
+ let h = time.getHours();
520
+ let m = time.getMinutes();
521
+ let s = time.getSeconds();
522
+ let week = time.getDay();
523
+ // 如果传递了type的话
524
+ if (type === undefined) {
525
+ return Y + '-' + (M < 10 ? '0' + M : M) + '-' + (D < 10 ? '0' + D : D) + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s);
526
+ } else if (type === 'week') {
527
+ // 在quartz中 1为星期日
528
+ return week + 1;
529
+ }
530
+ }
531
+ // 检查日期是否存在
532
+ function checkDate(value) {
533
+ let time = new Date(value);
534
+ let format = formatDate(time)
535
+ return value === format;
536
+ }
537
+ onMounted(() => {
538
+ expressionChange()
539
+ })
540
+ </script>