@k3000/s1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -0
- package/RuoYi-Vue3/.env.development +8 -0
- package/RuoYi-Vue3/.env.production +11 -0
- package/RuoYi-Vue3/.env.staging +11 -0
- package/RuoYi-Vue3/.github/FUNDING.yml +1 -0
- package/RuoYi-Vue3/LICENSE +20 -0
- package/RuoYi-Vue3/README.md +109 -0
- package/RuoYi-Vue3/bin/build.bat +12 -0
- package/RuoYi-Vue3/bin/package.bat +12 -0
- package/RuoYi-Vue3/bin/run-web.bat +12 -0
- package/RuoYi-Vue3/html/ie.html +46 -0
- package/RuoYi-Vue3/index.html +215 -0
- package/RuoYi-Vue3/package.json +44 -0
- package/RuoYi-Vue3/public/favicon.ico +0 -0
- package/RuoYi-Vue3/src/App.vue +15 -0
- package/RuoYi-Vue3/src/api/login.js +60 -0
- package/RuoYi-Vue3/src/api/menu.js +9 -0
- package/RuoYi-Vue3/src/api/monitor/cache.js +57 -0
- package/RuoYi-Vue3/src/api/monitor/job.js +71 -0
- package/RuoYi-Vue3/src/api/monitor/jobLog.js +26 -0
- package/RuoYi-Vue3/src/api/monitor/logininfor.js +34 -0
- package/RuoYi-Vue3/src/api/monitor/online.js +18 -0
- package/RuoYi-Vue3/src/api/monitor/operlog.js +26 -0
- package/RuoYi-Vue3/src/api/monitor/server.js +9 -0
- package/RuoYi-Vue3/src/api/system/config.js +60 -0
- package/RuoYi-Vue3/src/api/system/dept.js +52 -0
- package/RuoYi-Vue3/src/api/system/dict/data.js +52 -0
- package/RuoYi-Vue3/src/api/system/dict/type.js +60 -0
- package/RuoYi-Vue3/src/api/system/menu.js +60 -0
- package/RuoYi-Vue3/src/api/system/notice.js +44 -0
- package/RuoYi-Vue3/src/api/system/post.js +44 -0
- package/RuoYi-Vue3/src/api/system/role.js +119 -0
- package/RuoYi-Vue3/src/api/system/user.js +136 -0
- package/RuoYi-Vue3/src/api/tool/gen.js +85 -0
- package/RuoYi-Vue3/src/assets/401_images/401.gif +0 -0
- package/RuoYi-Vue3/src/assets/404_images/404.png +0 -0
- package/RuoYi-Vue3/src/assets/404_images/404_cloud.png +0 -0
- package/RuoYi-Vue3/src/assets/icons/svg/404.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/bug.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/build.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/button.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/cascader.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/chart.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/checkbox.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/clipboard.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/code.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/color.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/component.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/dashboard.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/date-range.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/date.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/dict.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/documentation.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/download.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/drag.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/druid.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/edit.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/education.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/email.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/example.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/excel.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/exit-fullscreen.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/eye-open.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/eye.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/form.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/fullscreen.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/github.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/guide.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/icon.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/input.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/international.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/job.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/language.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/link.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/list.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/lock.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/log.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/logininfor.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/message.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/money.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/monitor.svg +2 -0
- package/RuoYi-Vue3/src/assets/icons/svg/nested.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/number.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/online.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/password.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/pdf.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/people.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/peoples.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/phone.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/post.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/qq.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/question.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/radio.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/rate.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/redis-list.svg +2 -0
- package/RuoYi-Vue3/src/assets/icons/svg/redis.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/row.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/search.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/select.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/server.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/shopping.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/size.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/skill.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/slider.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/star.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/swagger.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/switch.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/system.svg +2 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tab.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/table.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/textarea.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/theme.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/time-range.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/time.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tool.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tree-table.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/tree.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/upload.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/user.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/validCode.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/wechat.svg +1 -0
- package/RuoYi-Vue3/src/assets/icons/svg/zip.svg +1 -0
- package/RuoYi-Vue3/src/assets/images/dark.svg +39 -0
- package/RuoYi-Vue3/src/assets/images/light.svg +39 -0
- package/RuoYi-Vue3/src/assets/images/login-background.jpg +0 -0
- package/RuoYi-Vue3/src/assets/images/pay.png +0 -0
- package/RuoYi-Vue3/src/assets/images/profile.jpg +0 -0
- package/RuoYi-Vue3/src/assets/logo/logo.png +0 -0
- package/RuoYi-Vue3/src/assets/styles/btn.scss +99 -0
- package/RuoYi-Vue3/src/assets/styles/element-ui.scss +96 -0
- package/RuoYi-Vue3/src/assets/styles/index.scss +184 -0
- package/RuoYi-Vue3/src/assets/styles/mixin.scss +66 -0
- package/RuoYi-Vue3/src/assets/styles/ruoyi.scss +281 -0
- package/RuoYi-Vue3/src/assets/styles/sidebar.scss +238 -0
- package/RuoYi-Vue3/src/assets/styles/transition.scss +49 -0
- package/RuoYi-Vue3/src/assets/styles/variables.module.scss +65 -0
- package/RuoYi-Vue3/src/components/Breadcrumb/index.vue +66 -0
- package/RuoYi-Vue3/src/components/Crontab/day.vue +174 -0
- package/RuoYi-Vue3/src/components/Crontab/hour.vue +133 -0
- package/RuoYi-Vue3/src/components/Crontab/index.vue +310 -0
- package/RuoYi-Vue3/src/components/Crontab/min.vue +126 -0
- package/RuoYi-Vue3/src/components/Crontab/month.vue +141 -0
- package/RuoYi-Vue3/src/components/Crontab/result.vue +540 -0
- package/RuoYi-Vue3/src/components/Crontab/second.vue +128 -0
- package/RuoYi-Vue3/src/components/Crontab/week.vue +197 -0
- package/RuoYi-Vue3/src/components/Crontab/year.vue +149 -0
- package/RuoYi-Vue3/src/components/DictTag/index.vue +82 -0
- package/RuoYi-Vue3/src/components/Editor/index.vue +251 -0
- package/RuoYi-Vue3/src/components/FileUpload/index.vue +207 -0
- package/RuoYi-Vue3/src/components/Hamburger/index.vue +41 -0
- package/RuoYi-Vue3/src/components/HeaderSearch/index.vue +187 -0
- package/RuoYi-Vue3/src/components/IconSelect/index.vue +111 -0
- package/RuoYi-Vue3/src/components/IconSelect/requireIcons.js +8 -0
- package/RuoYi-Vue3/src/components/ImagePreview/index.vue +92 -0
- package/RuoYi-Vue3/src/components/ImageUpload/index.vue +213 -0
- package/RuoYi-Vue3/src/components/Pagination/index.vue +105 -0
- package/RuoYi-Vue3/src/components/ParentView/index.vue +3 -0
- package/RuoYi-Vue3/src/components/RightToolbar/index.vue +134 -0
- package/RuoYi-Vue3/src/components/RuoYi/Doc/index.vue +13 -0
- package/RuoYi-Vue3/src/components/RuoYi/Git/index.vue +13 -0
- package/RuoYi-Vue3/src/components/Screenfull/index.vue +22 -0
- package/RuoYi-Vue3/src/components/SizeSelect/index.vue +45 -0
- package/RuoYi-Vue3/src/components/SvgIcon/index.vue +53 -0
- package/RuoYi-Vue3/src/components/SvgIcon/svgicon.js +10 -0
- package/RuoYi-Vue3/src/components/TopNav/index.vue +214 -0
- package/RuoYi-Vue3/src/components/TreeSelect/index.vue +156 -0
- package/RuoYi-Vue3/src/components/iFrame/index.vue +31 -0
- package/RuoYi-Vue3/src/directive/common/copyText.js +66 -0
- package/RuoYi-Vue3/src/directive/index.js +9 -0
- package/RuoYi-Vue3/src/directive/permission/hasPermi.js +28 -0
- package/RuoYi-Vue3/src/directive/permission/hasRole.js +28 -0
- package/RuoYi-Vue3/src/layout/components/AppMain.vue +68 -0
- package/RuoYi-Vue3/src/layout/components/IframeToggle/index.vue +25 -0
- package/RuoYi-Vue3/src/layout/components/InnerLink/index.vue +24 -0
- package/RuoYi-Vue3/src/layout/components/Navbar.vue +191 -0
- package/RuoYi-Vue3/src/layout/components/Settings/index.vue +209 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/Link.vue +40 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/Logo.vue +81 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/SidebarItem.vue +102 -0
- package/RuoYi-Vue3/src/layout/components/Sidebar/index.vue +54 -0
- package/RuoYi-Vue3/src/layout/components/TagsView/ScrollPane.vue +107 -0
- package/RuoYi-Vue3/src/layout/components/TagsView/index.vue +358 -0
- package/RuoYi-Vue3/src/layout/components/index.js +4 -0
- package/RuoYi-Vue3/src/layout/index.vue +114 -0
- package/RuoYi-Vue3/src/main.js +84 -0
- package/RuoYi-Vue3/src/permission.js +65 -0
- package/RuoYi-Vue3/src/plugins/auth.js +60 -0
- package/RuoYi-Vue3/src/plugins/cache.js +77 -0
- package/RuoYi-Vue3/src/plugins/download.js +79 -0
- package/RuoYi-Vue3/src/plugins/index.js +18 -0
- package/RuoYi-Vue3/src/plugins/modal.js +82 -0
- package/RuoYi-Vue3/src/plugins/tab.js +69 -0
- package/RuoYi-Vue3/src/router/index.js +175 -0
- package/RuoYi-Vue3/src/settings.js +47 -0
- package/RuoYi-Vue3/src/store/index.js +3 -0
- package/RuoYi-Vue3/src/store/modules/app.js +46 -0
- package/RuoYi-Vue3/src/store/modules/dict.js +57 -0
- package/RuoYi-Vue3/src/store/modules/permission.js +142 -0
- package/RuoYi-Vue3/src/store/modules/settings.js +38 -0
- package/RuoYi-Vue3/src/store/modules/tagsView.js +182 -0
- package/RuoYi-Vue3/src/store/modules/user.js +72 -0
- package/RuoYi-Vue3/src/utils/auth.js +15 -0
- package/RuoYi-Vue3/src/utils/dict.js +24 -0
- package/RuoYi-Vue3/src/utils/dynamicTitle.js +15 -0
- package/RuoYi-Vue3/src/utils/errorCode.js +6 -0
- package/RuoYi-Vue3/src/utils/index.js +390 -0
- package/RuoYi-Vue3/src/utils/jsencrypt.js +30 -0
- package/RuoYi-Vue3/src/utils/permission.js +51 -0
- package/RuoYi-Vue3/src/utils/request.js +152 -0
- package/RuoYi-Vue3/src/utils/ruoyi.js +246 -0
- package/RuoYi-Vue3/src/utils/scroll-to.js +58 -0
- package/RuoYi-Vue3/src/utils/theme.js +49 -0
- package/RuoYi-Vue3/src/utils/validate.js +93 -0
- package/RuoYi-Vue3/src/views/error/401.vue +82 -0
- package/RuoYi-Vue3/src/views/error/404.vue +227 -0
- package/RuoYi-Vue3/src/views/index.vue +1092 -0
- package/RuoYi-Vue3/src/views/login.vue +227 -0
- package/RuoYi-Vue3/src/views/monitor/cache/index.vue +132 -0
- package/RuoYi-Vue3/src/views/monitor/cache/list.vue +246 -0
- package/RuoYi-Vue3/src/views/monitor/druid/index.vue +13 -0
- package/RuoYi-Vue3/src/views/monitor/job/index.vue +501 -0
- package/RuoYi-Vue3/src/views/monitor/job/log.vue +283 -0
- package/RuoYi-Vue3/src/views/monitor/logininfor/index.vue +233 -0
- package/RuoYi-Vue3/src/views/monitor/online/index.vue +109 -0
- package/RuoYi-Vue3/src/views/monitor/operlog/index.vue +310 -0
- package/RuoYi-Vue3/src/views/monitor/server/index.vue +187 -0
- package/RuoYi-Vue3/src/views/redirect/index.vue +14 -0
- package/RuoYi-Vue3/src/views/register.vue +219 -0
- package/RuoYi-Vue3/src/views/system/config/index.vue +316 -0
- package/RuoYi-Vue3/src/views/system/dept/index.vue +283 -0
- package/RuoYi-Vue3/src/views/system/dict/data.vue +362 -0
- package/RuoYi-Vue3/src/views/system/dict/index.vue +323 -0
- package/RuoYi-Vue3/src/views/system/menu/index.vue +452 -0
- package/RuoYi-Vue3/src/views/system/notice/index.vue +292 -0
- package/RuoYi-Vue3/src/views/system/post/index.vue +287 -0
- package/RuoYi-Vue3/src/views/system/role/authUser.vue +179 -0
- package/RuoYi-Vue3/src/views/system/role/index.vue +584 -0
- package/RuoYi-Vue3/src/views/system/role/selectUser.vue +144 -0
- package/RuoYi-Vue3/src/views/system/user/authRole.vue +116 -0
- package/RuoYi-Vue3/src/views/system/user/index.vue +635 -0
- package/RuoYi-Vue3/src/views/system/user/profile/index.vue +87 -0
- package/RuoYi-Vue3/src/views/system/user/profile/resetPwd.vue +59 -0
- package/RuoYi-Vue3/src/views/system/user/profile/userAvatar.vue +180 -0
- package/RuoYi-Vue3/src/views/system/user/profile/userInfo.vue +67 -0
- package/RuoYi-Vue3/src/views/tool/build/index.vue +3 -0
- package/RuoYi-Vue3/src/views/tool/gen/basicInfoForm.vue +48 -0
- package/RuoYi-Vue3/src/views/tool/gen/createTable.vue +46 -0
- package/RuoYi-Vue3/src/views/tool/gen/editTable.vue +200 -0
- package/RuoYi-Vue3/src/views/tool/gen/genInfoForm.vue +306 -0
- package/RuoYi-Vue3/src/views/tool/gen/importTable.vue +126 -0
- package/RuoYi-Vue3/src/views/tool/gen/index.vue +310 -0
- package/RuoYi-Vue3/src/views/tool/swagger/index.vue +9 -0
- package/RuoYi-Vue3/vite/plugins/auto-import.js +12 -0
- package/RuoYi-Vue3/vite/plugins/compression.js +28 -0
- package/RuoYi-Vue3/vite/plugins/index.js +15 -0
- package/RuoYi-Vue3/vite/plugins/setup-extend.js +5 -0
- package/RuoYi-Vue3/vite/plugins/svg-icon.js +10 -0
- package/RuoYi-Vue3/vite.config.js +58 -0
- package/admin/README.MD +0 -0
- package/admin/base.mjs +447 -0
- package/admin/index.mjs +19 -0
- package/admin/monitor/job.mjs +24 -0
- package/admin/monitor/jobLog.mjs +8 -0
- package/admin/monitor/logininfor.mjs +23 -0
- package/admin/monitor/operlog.mjs +9 -0
- package/admin/monitor/server.mjs +54 -0
- package/admin/service.mjs +10 -0
- package/admin/system/component.mjs +16 -0
- package/admin/system/config.mjs +8 -0
- package/admin/system/dept.mjs +24 -0
- package/admin/system/dict.mjs +34 -0
- package/admin/system/login.mjs +119 -0
- package/admin/system/menu.mjs +33 -0
- package/admin/system/notice.mjs +8 -0
- package/admin/system/path.mjs +53 -0
- package/admin/system/post.mjs +8 -0
- package/admin/system/role.mjs +105 -0
- package/admin/system/user.mjs +93 -0
- package/admin/tool/gen.mjs +95 -0
- package/admin/tool/helper.mjs +1335 -0
- package/admin/tool/pm2.mjs +71 -0
- package/admin/tool/store.mjs +84 -0
- package/admin/tool/upload.mjs +112 -0
- package/app/README.MD +0 -0
- package/app/index.mjs +9 -0
- package/bin.mjs +211 -0
- package/build.mjs +25 -0
- package/common/README.MD +0 -0
- package/common/config.mjs +40 -0
- package/common/pm2.mjs +145 -0
- package/common/service.mjs +79 -0
- package/common/service0.mjs +468 -0
- package/common/tools.mjs +314 -0
- package/common/type.ts +498 -0
- package/file/README.MD +0 -0
- package/files/.env.production +11 -0
- package/files/gen.js +76 -0
- package/files/genImportTable.vue +120 -0
- package/files/genIndex.vue +309 -0
- package/files/genInfoForm.vue +302 -0
- package/files/login.vue +237 -0
- package/files/menu.js +68 -0
- package/files/menuIndex.vue +447 -0
- package/files/pm2.js +88 -0
- package/files/pm2Data.vue +335 -0
- package/files/pm2Index.vue +343 -0
- package/files/routerIndex.js +204 -0
- package/files/serverIndex.vue +215 -0
- package/files/store.js +96 -0
- package/files/storeData.vue +294 -0
- package/files/storeIndex.vue +245 -0
- package/files/upload.js +47 -0
- package/files/uploadIndex.vue +240 -0
- package/files/vite.config.js +58 -0
- package/index.mjs +28 -0
- package/jwt/README.MD +12 -0
- package/jwt/index.mjs +17 -0
- package/package.json +22 -0
- package/proxy/README.MD +0 -0
- package/proxy/index.mjs +16 -0
- package/static/README.MD +0 -0
- package/static/admin/assets/401-CYieuz9-.js +1 -0
- package/static/admin/assets/401-CYieuz9-.js.gz +0 -0
- package/static/admin/assets/401-DmT2Eyz6.css +1 -0
- package/static/admin/assets/401-HGF6Q5qM.gif +0 -0
- package/static/admin/assets/404-DFv5Zpvm.js +1 -0
- package/static/admin/assets/404-DFv5Zpvm.js.gz +0 -0
- package/static/admin/assets/404-Dy3nURRX.js +1 -0
- package/static/admin/assets/404-Dy3nURRX.js.gz +0 -0
- package/static/admin/assets/404-N4aRkdWY.png +0 -0
- package/static/admin/assets/404-uZCOR2Ze.css +1 -0
- package/static/admin/assets/404-uZCOR2Ze.css.gz +0 -0
- package/static/admin/assets/404_cloud-CPexjtDj.png +0 -0
- package/static/admin/assets/authRole-ma37t91O.js +1 -0
- package/static/admin/assets/authRole-ma37t91O.js.gz +0 -0
- package/static/admin/assets/authUser-C2Y6gkW3.js +1 -0
- package/static/admin/assets/authUser-C2Y6gkW3.js.gz +0 -0
- package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js +1 -0
- package/static/admin/assets/basicInfoForm-Cqv-g0Vq.js.gz +0 -0
- package/static/admin/assets/bug-10dePVta.js +1 -0
- package/static/admin/assets/bug-10dePVta.js.gz +0 -0
- package/static/admin/assets/build-2jMyI6eP.js +1 -0
- package/static/admin/assets/build-2jMyI6eP.js.gz +0 -0
- package/static/admin/assets/button-BlSCM_GH.js +1 -0
- package/static/admin/assets/button-BlSCM_GH.js.gz +0 -0
- package/static/admin/assets/cache-CRGI5LFU.js +1 -0
- package/static/admin/assets/cascader-CXIOcY1C.js +1 -0
- package/static/admin/assets/cascader-CXIOcY1C.js.gz +0 -0
- package/static/admin/assets/chart-BsLMrzXU.js +1 -0
- package/static/admin/assets/checkbox-Bpiun3bf.js +1 -0
- package/static/admin/assets/checkbox-Bpiun3bf.js.gz +0 -0
- package/static/admin/assets/clipboard-DaV3cn7f.js +1 -0
- package/static/admin/assets/clipboard-DaV3cn7f.js.gz +0 -0
- package/static/admin/assets/code-DgJ8cT4a.js +1 -0
- package/static/admin/assets/color-y1Sshoou.js +1 -0
- package/static/admin/assets/color-y1Sshoou.js.gz +0 -0
- package/static/admin/assets/component-Djp9s69L.js +1 -0
- package/static/admin/assets/component-Djp9s69L.js.gz +0 -0
- package/static/admin/assets/createTable-CpixhIJI.js +1 -0
- package/static/admin/assets/createTable-CpixhIJI.js.gz +0 -0
- package/static/admin/assets/dashboard-Dy7qt_a2.js +1 -0
- package/static/admin/assets/dashboard-Dy7qt_a2.js.gz +0 -0
- package/static/admin/assets/data-B6ExfNCI.js +1 -0
- package/static/admin/assets/data-B6ExfNCI.js.gz +0 -0
- package/static/admin/assets/data-BNwnwlkO.js +34 -0
- package/static/admin/assets/data-BNwnwlkO.js.gz +0 -0
- package/static/admin/assets/data-C3FuPwta.css +1 -0
- package/static/admin/assets/data-DmSA0HcO.js +1 -0
- package/static/admin/assets/data-DmSA0HcO.js.gz +0 -0
- package/static/admin/assets/date-B1FSITvi.js +1 -0
- package/static/admin/assets/date-B1FSITvi.js.gz +0 -0
- package/static/admin/assets/date-range-B8MgYLb1.js +1 -0
- package/static/admin/assets/date-range-B8MgYLb1.js.gz +0 -0
- package/static/admin/assets/dict-Bi_GqSXR.js +1 -0
- package/static/admin/assets/dict-Bi_GqSXR.js.gz +0 -0
- package/static/admin/assets/documentation-uH9BvL5U.js +1 -0
- package/static/admin/assets/download-DeIzgQWH.js +1 -0
- package/static/admin/assets/download-DeIzgQWH.js.gz +0 -0
- package/static/admin/assets/drag-BG1_I1vT.js +1 -0
- package/static/admin/assets/druid-BybW_S_B.js +1 -0
- package/static/admin/assets/edit-D0DI9pAq.js +1 -0
- package/static/admin/assets/editTable-zr5bdAM7.js +1 -0
- package/static/admin/assets/editTable-zr5bdAM7.js.gz +0 -0
- package/static/admin/assets/education-47KsSYIl.js +1 -0
- package/static/admin/assets/email-Dig28Vt2.js +1 -0
- package/static/admin/assets/example-CnLLAFb9.js +1 -0
- package/static/admin/assets/excel-D3hj5F35.js +1 -0
- package/static/admin/assets/exit-fullscreen-dXhGKlQm.js +1 -0
- package/static/admin/assets/exit-fullscreen-dXhGKlQm.js.gz +0 -0
- package/static/admin/assets/eye-DqRz4sMZ.js +1 -0
- package/static/admin/assets/eye-DqRz4sMZ.js.gz +0 -0
- package/static/admin/assets/eye-open-BxlshWqB.js +1 -0
- package/static/admin/assets/eye-open-BxlshWqB.js.gz +0 -0
- package/static/admin/assets/form-BDTA_i-I.js +1 -0
- package/static/admin/assets/form-BDTA_i-I.js.gz +0 -0
- package/static/admin/assets/fullscreen-0JHt5yWX.js +1 -0
- package/static/admin/assets/gen-DLNrNhtb.js +1 -0
- package/static/admin/assets/genInfoForm-CMDsV5QX.js +1 -0
- package/static/admin/assets/genInfoForm-CMDsV5QX.js.gz +0 -0
- package/static/admin/assets/github-AJ0WQBa2.js +1 -0
- package/static/admin/assets/github-AJ0WQBa2.js.gz +0 -0
- package/static/admin/assets/guide-DZWUPi2j.js +1 -0
- package/static/admin/assets/icon-BtMv6Od8.js +1 -0
- package/static/admin/assets/icon-BtMv6Od8.js.gz +0 -0
- package/static/admin/assets/importTable-BsBsGfWB.js +1 -0
- package/static/admin/assets/importTable-BsBsGfWB.js.gz +0 -0
- package/static/admin/assets/index-1Gtzb1EG.css +1 -0
- package/static/admin/assets/index-1Gtzb1EG.css.gz +0 -0
- package/static/admin/assets/index-22TxXV_H.js +1 -0
- package/static/admin/assets/index-2PS_9Njt.js +1 -0
- package/static/admin/assets/index-2PS_9Njt.js.gz +0 -0
- package/static/admin/assets/index-2QWdVCKT.js +1 -0
- package/static/admin/assets/index-BH2yis6M.js +1 -0
- package/static/admin/assets/index-BYiWbDzj.js +137 -0
- package/static/admin/assets/index-BYiWbDzj.js.gz +0 -0
- package/static/admin/assets/index-BcoIBYYg.js +1 -0
- package/static/admin/assets/index-BcoIBYYg.js.gz +0 -0
- package/static/admin/assets/index-BdfyYxZX.css +1 -0
- package/static/admin/assets/index-BdfyYxZX.css.gz +0 -0
- package/static/admin/assets/index-BpFFXMK5.js +1 -0
- package/static/admin/assets/index-BpFFXMK5.js.gz +0 -0
- package/static/admin/assets/index-CKPU_AaL.js +1 -0
- package/static/admin/assets/index-CKPU_AaL.js.gz +0 -0
- package/static/admin/assets/index-CXsykB0X.js +1 -0
- package/static/admin/assets/index-CXsykB0X.js.gz +0 -0
- package/static/admin/assets/index-CfHRKVJR.js +1 -0
- package/static/admin/assets/index-CfHRKVJR.js.gz +0 -0
- package/static/admin/assets/index-ChrWcM7o.js +1 -0
- package/static/admin/assets/index-ChrWcM7o.js.gz +0 -0
- package/static/admin/assets/index-CyGqJLpz.css +1 -0
- package/static/admin/assets/index-Czuq8j-W.js +1 -0
- package/static/admin/assets/index-D5kEXJN3.js +1 -0
- package/static/admin/assets/index-D5kEXJN3.js.gz +0 -0
- package/static/admin/assets/index-D7sjRL--.js +1 -0
- package/static/admin/assets/index-D7sjRL--.js.gz +0 -0
- package/static/admin/assets/index-D9JRAPr4.js +1 -0
- package/static/admin/assets/index-D9JRAPr4.js.gz +0 -0
- package/static/admin/assets/index-DADWjT7Y.js +1 -0
- package/static/admin/assets/index-DADWjT7Y.js.gz +0 -0
- package/static/admin/assets/index-DUTtT4NU.js +1 -0
- package/static/admin/assets/index-DUTtT4NU.js.gz +0 -0
- package/static/admin/assets/index-DZR__uIb.js +1 -0
- package/static/admin/assets/index-DZR__uIb.js.gz +0 -0
- package/static/admin/assets/index-Da2r8G2b.js +1 -0
- package/static/admin/assets/index-Da2r8G2b.js.gz +0 -0
- package/static/admin/assets/index-DakybE_b.js +1 -0
- package/static/admin/assets/index-DakybE_b.js.gz +0 -0
- package/static/admin/assets/index-DdnU2rJ0.css +1 -0
- package/static/admin/assets/index-H21xXZr5.js +60 -0
- package/static/admin/assets/index-H21xXZr5.js.gz +0 -0
- package/static/admin/assets/index-PGDGQEbD.js +1 -0
- package/static/admin/assets/index-PGDGQEbD.js.gz +0 -0
- package/static/admin/assets/index-Rm6qYhrO.js +1 -0
- package/static/admin/assets/index-VG6ZkdYt.js +1 -0
- package/static/admin/assets/index-VG6ZkdYt.js.gz +0 -0
- package/static/admin/assets/index-YVnsjgTq.js +1 -0
- package/static/admin/assets/index-YVnsjgTq.js.gz +0 -0
- package/static/admin/assets/index-t3XJ47us.css +1 -0
- package/static/admin/assets/index-t3XJ47us.css.gz +0 -0
- package/static/admin/assets/index-xfai-fRy.js +1 -0
- package/static/admin/assets/index-xfai-fRy.js.gz +0 -0
- package/static/admin/assets/input-BJoPMnBW.js +1 -0
- package/static/admin/assets/international-CmzG1OHg.js +1 -0
- package/static/admin/assets/international-CmzG1OHg.js.gz +0 -0
- package/static/admin/assets/job-BcmuINx7.js +1 -0
- package/static/admin/assets/job-BcmuINx7.js.gz +0 -0
- package/static/admin/assets/job-COdMvNx2.js +1 -0
- package/static/admin/assets/language-CaW1LMEk.js +1 -0
- package/static/admin/assets/language-CaW1LMEk.js.gz +0 -0
- package/static/admin/assets/link-C93f4PgI.js +1 -0
- package/static/admin/assets/list-C7O8B4zW.js +1 -0
- package/static/admin/assets/list-C7O8B4zW.js.gz +0 -0
- package/static/admin/assets/list-DUaPnccL.js +1 -0
- package/static/admin/assets/list-DUaPnccL.js.gz +0 -0
- package/static/admin/assets/lock-Bexeb9hp.js +1 -0
- package/static/admin/assets/log-CF2F-nSs.js +1 -0
- package/static/admin/assets/log-CF2F-nSs.js.gz +0 -0
- package/static/admin/assets/log-g6qirYnf.js +1 -0
- package/static/admin/assets/log-g6qirYnf.js.gz +0 -0
- package/static/admin/assets/login-1ezV0PC1.css +1 -0
- package/static/admin/assets/login-1ezV0PC1.css.gz +0 -0
- package/static/admin/assets/login-BnkuYS6J.js +22 -0
- package/static/admin/assets/login-BnkuYS6J.js.gz +0 -0
- package/static/admin/assets/login-background-Yn3y1TP_.jpg +0 -0
- package/static/admin/assets/logininfor-Bm9ZYYR7.js +1 -0
- package/static/admin/assets/logininfor-Bm9ZYYR7.js.gz +0 -0
- package/static/admin/assets/logo-BjsPc2xl.png +0 -0
- package/static/admin/assets/menu-BIu3IsSF.js +1 -0
- package/static/admin/assets/message-UkR-VIBB.js +1 -0
- package/static/admin/assets/money-B1qqPuhn.js +1 -0
- package/static/admin/assets/monitor-gwnnVq4l.js +1 -0
- package/static/admin/assets/monitor-gwnnVq4l.js.gz +0 -0
- package/static/admin/assets/nested-B4d5u3hW.js +1 -0
- package/static/admin/assets/number-D4hB_nHC.js +1 -0
- package/static/admin/assets/number-D4hB_nHC.js.gz +0 -0
- package/static/admin/assets/online-C2ZP8pdY.js +1 -0
- package/static/admin/assets/online-C2ZP8pdY.js.gz +0 -0
- package/static/admin/assets/password-DfGvqQpB.js +1 -0
- package/static/admin/assets/password-DfGvqQpB.js.gz +0 -0
- package/static/admin/assets/pay-2ZbgPnxn.png +0 -0
- package/static/admin/assets/pdf-CD9mOGjJ.js +1 -0
- package/static/admin/assets/pdf-CD9mOGjJ.js.gz +0 -0
- package/static/admin/assets/people-CdGMHN63.js +1 -0
- package/static/admin/assets/people-CdGMHN63.js.gz +0 -0
- package/static/admin/assets/peoples-BRYsIqmI.js +1 -0
- package/static/admin/assets/phone-BpAUIz0g.js +1 -0
- package/static/admin/assets/phone-BpAUIz0g.js.gz +0 -0
- package/static/admin/assets/pm2-BkmkkE2A.js +1 -0
- package/static/admin/assets/post-DrLDyPY9.js +1 -0
- package/static/admin/assets/post-DrLDyPY9.js.gz +0 -0
- package/static/admin/assets/profile-DruvkrZU.jpg +0 -0
- package/static/admin/assets/qq-D8j4O83Y.js +1 -0
- package/static/admin/assets/qq-D8j4O83Y.js.gz +0 -0
- package/static/admin/assets/question-CvYWQbyW.js +1 -0
- package/static/admin/assets/question-CvYWQbyW.js.gz +0 -0
- package/static/admin/assets/radio-B0t9wPBQ.js +1 -0
- package/static/admin/assets/radio-B0t9wPBQ.js.gz +0 -0
- package/static/admin/assets/rate-CgnHQvKS.js +1 -0
- package/static/admin/assets/rate-CgnHQvKS.js.gz +0 -0
- package/static/admin/assets/redis-D4ECyT6a.js +1 -0
- package/static/admin/assets/redis-D4ECyT6a.js.gz +0 -0
- package/static/admin/assets/redis-list-BtKGPnqO.js +1 -0
- package/static/admin/assets/redis-list-BtKGPnqO.js.gz +0 -0
- package/static/admin/assets/register-B9RmZvjt.js +1 -0
- package/static/admin/assets/register-B9RmZvjt.js.gz +0 -0
- package/static/admin/assets/register-n3u7gqca.css +1 -0
- package/static/admin/assets/resetPwd-M0EIDnQk.js +1 -0
- package/static/admin/assets/resetPwd-M0EIDnQk.js.gz +0 -0
- package/static/admin/assets/role-XbHkNxnW.js +1 -0
- package/static/admin/assets/role-XbHkNxnW.js.gz +0 -0
- package/static/admin/assets/row-CRXKIHjm.js +1 -0
- package/static/admin/assets/row-CRXKIHjm.js.gz +0 -0
- package/static/admin/assets/search-CUfclCsR.js +1 -0
- package/static/admin/assets/select-DhuHHMxz.js +1 -0
- package/static/admin/assets/select-DhuHHMxz.js.gz +0 -0
- package/static/admin/assets/selectUser-DA_rE9J_.js +1 -0
- package/static/admin/assets/selectUser-DA_rE9J_.js.gz +0 -0
- package/static/admin/assets/server-unS7EyF7.js +1 -0
- package/static/admin/assets/shopping-CU1IRvxM.js +1 -0
- package/static/admin/assets/shopping-CU1IRvxM.js.gz +0 -0
- package/static/admin/assets/size-Cj9fB5Rp.js +1 -0
- package/static/admin/assets/skill-B8f_I4m_.js +1 -0
- package/static/admin/assets/skill-B8f_I4m_.js.gz +0 -0
- package/static/admin/assets/slider-BGfehM6X.js +1 -0
- package/static/admin/assets/star-kST8a72V.js +1 -0
- package/static/admin/assets/store-CX7IRN8X.js +1 -0
- package/static/admin/assets/swagger-BHGXZ2Jt.js +1 -0
- package/static/admin/assets/swagger-BHGXZ2Jt.js.gz +0 -0
- package/static/admin/assets/switch-CvaargRJ.js +1 -0
- package/static/admin/assets/system-DcNSH_Fq.js +1 -0
- package/static/admin/assets/system-DcNSH_Fq.js.gz +0 -0
- package/static/admin/assets/tab-nA3f0aBt.js +1 -0
- package/static/admin/assets/table-5PRh60AQ.js +1 -0
- package/static/admin/assets/test-CEJIIaDM.js +1 -0
- package/static/admin/assets/test-CEJIIaDM.js.gz +0 -0
- package/static/admin/assets/textarea-CJWXlgbJ.js +1 -0
- package/static/admin/assets/theme-CyGq941x.js +1 -0
- package/static/admin/assets/time-BVERp0sU.js +1 -0
- package/static/admin/assets/time-BVERp0sU.js.gz +0 -0
- package/static/admin/assets/time-range-D3dxgtLj.js +1 -0
- package/static/admin/assets/time-range-D3dxgtLj.js.gz +0 -0
- package/static/admin/assets/tool-D8kXk1l-.js +1 -0
- package/static/admin/assets/tool-D8kXk1l-.js.gz +0 -0
- package/static/admin/assets/tree-BCtS3oPD.js +1 -0
- package/static/admin/assets/tree-BCtS3oPD.js.gz +0 -0
- package/static/admin/assets/tree-table-CnOS99I9.js +1 -0
- package/static/admin/assets/tree-table-CnOS99I9.js.gz +0 -0
- package/static/admin/assets/type-BU7MsCG8.js +1 -0
- package/static/admin/assets/upload-BueI-Il1.js +1 -0
- package/static/admin/assets/upload-BueI-Il1.js.gz +0 -0
- package/static/admin/assets/user-DCGYGA9G.js +1 -0
- package/static/admin/assets/user-DCGYGA9G.js.gz +0 -0
- package/static/admin/assets/user-DqMuW5cU.js +1 -0
- package/static/admin/assets/userAvatar-BAmwMY1G.css +1 -0
- package/static/admin/assets/userAvatar-BAmwMY1G.css.gz +0 -0
- package/static/admin/assets/userAvatar-Bax34kaQ.js +7 -0
- package/static/admin/assets/userAvatar-Bax34kaQ.js.gz +0 -0
- package/static/admin/assets/userInfo-OvdBjEQX.js +1 -0
- package/static/admin/assets/userInfo-OvdBjEQX.js.gz +0 -0
- package/static/admin/assets/validCode-COB1iLxa.js +1 -0
- package/static/admin/assets/validCode-COB1iLxa.js.gz +0 -0
- package/static/admin/assets/wechat-lmQOcPZu.js +1 -0
- package/static/admin/assets/wechat-lmQOcPZu.js.gz +0 -0
- package/static/admin/assets/zip-DIOSZc69.js +1 -0
- package/static/admin/assets/zip-DIOSZc69.js.gz +0 -0
- package/static/admin/favicon.ico +0 -0
- package/static/admin/index.html +216 -0
- package/static/admin/index.html.gz +0 -0
- package/store1/README.MD +0 -0
- package/store1/generic.mjs +102 -0
- package/store1/index.mjs +30 -0
- package/store1/monitor.mjs +13 -0
- package/store1/role.mjs +137 -0
- package/store1/store/0/data +0 -0
- package/store1/store/0/index +0 -0
- package/store1/store/0/index.mjs +15 -0
- package/store1/store/1/buffer/464135 +1 -0
- package/store1/store/1/buffer/464587 +1 -0
- package/store1/store/1/data +0 -0
- package/store1/store/1/data-LAPTOP-S8G0S6EH +0 -0
- package/store1/store/1/index +0 -0
- package/store1/store/1/index-LAPTOP-S8G0S6EH +0 -0
- package/store1/store/1/index.mjs +4045 -0
- package/store1/store/1/type.ts +1492 -0
- package/store1/store/index.mjs +23 -0
- package/store1/store2/0/data +0 -0
- package/store1/store2/0/index +0 -0
- package/store1/store2/0/index.mjs +15 -0
- package/store1/store2/1/buffer/464135 +1 -0
- package/store1/store2/1/buffer/464587 +1 -0
- package/store1/store2/1/data +0 -0
- package/store1/store2/1/data-LAPTOP-S8G0S6EH +0 -0
- package/store1/store2/1/index +0 -0
- package/store1/store2/1/index-LAPTOP-S8G0S6EH +0 -0
- package/store1/store2/1/index.mjs +4045 -0
- package/store1/store2/1/type.ts +1492 -0
- package/store1/store2/index.mjs +23 -0
- package/store1/system.mjs +67 -0
- package/store1/tool.mjs +472 -0
- 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>
|