From 73b22cbe03b8f905d7150b4837af46c885bbc23e Mon Sep 17 00:00:00 2001 From: eroter <331864945@qq.com> Date: Wed, 22 May 2024 17:51:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 21 + .env.development | 32 + .env.production | 35 + .eslintignore | 17 + .eslintrc-auto-import.json | 312 ++++ .eslintrc.cjs | 51 + .gitignore | 29 + .prettierignore | 9 + .prettierrc | 20 + LICENSE | 20 + README.md | 76 + bin/build.bat | 12 + bin/package.bat | 12 + bin/run-web.bat | 12 + html/ie.html | 242 ++++ index.html | 214 +++ package.json | 101 ++ public/favicon.ico | Bin 0 -> 8131 bytes src/App.vue | 20 + src/animate.ts | 48 + src/api/demo/demo/index.ts | 62 + src/api/demo/demo/types.ts | 90 ++ src/api/demo/tree/index.ts | 62 + src/api/demo/tree/types.ts | 80 ++ src/api/login.ts | 107 ++ src/api/menu.ts | 11 + src/api/monitor/cache/index.ts | 59 + src/api/monitor/cache/types.ts | 7 + src/api/monitor/loginInfo/index.ts | 36 + src/api/monitor/loginInfo/types.ts | 20 + src/api/monitor/online/index.ts | 36 + src/api/monitor/online/types.ts | 15 + src/api/monitor/operlog/index.ts | 28 + src/api/monitor/operlog/types.ts | 53 + src/api/system/client/index.ts | 80 ++ src/api/system/client/types.ts | 135 ++ src/api/system/config/index.ts | 74 + src/api/system/config/types.ts | 23 + src/api/system/dept/index.ts | 62 + src/api/system/dept/types.ts | 48 + src/api/system/dict/data/index.ts | 53 + src/api/system/dict/data/types.ts | 26 + src/api/system/dict/type/index.ts | 62 + src/api/system/dict/type/types.ts | 18 + src/api/system/menu/index.ts | 70 + src/api/system/menu/types.ts | 69 + src/api/system/notice/index.ts | 45 + src/api/system/notice/types.ts | 26 + src/api/system/oss/index.ts | 28 + src/api/system/oss/types.ts | 22 + src/api/system/ossConfig/index.ts | 60 + src/api/system/ossConfig/types.ts | 38 + src/api/system/post/index.ts | 58 + src/api/system/post/types.ts | 31 + src/api/system/role/index.ts | 160 +++ src/api/system/role/types.ts | 52 + src/api/system/social/auth.ts | 24 + src/api/system/tenant/index.ts | 93 ++ src/api/system/tenant/types.ts | 46 + src/api/system/tenantPackage/index.ts | 67 + src/api/system/tenantPackage/types.ts | 20 + src/api/system/user/index.ts | 229 +++ src/api/system/user/types.ts | 83 ++ src/api/tool/gen/index.ts | 86 ++ src/api/tool/gen/types.ts | 180 +++ src/api/types.ts | 59 + src/api/workflow/category/index.ts | 63 + src/api/workflow/category/types.ts | 67 + src/api/workflow/definitionConfig/index.ts | 49 + src/api/workflow/definitionConfig/types.ts | 102 ++ src/api/workflow/formManage/index.ts | 76 + src/api/workflow/formManage/types.ts | 69 + src/api/workflow/leave/index.ts | 63 + src/api/workflow/leave/types.ts | 24 + src/api/workflow/model/index.ts | 104 ++ src/api/workflow/model/types.ts | 66 + src/api/workflow/nodeConfig/index.ts | 63 + src/api/workflow/nodeConfig/types.ts | 43 + src/api/workflow/processDefinition/index.ts | 114 ++ src/api/workflow/processDefinition/types.ts | 24 + src/api/workflow/processInstance/index.ts | 136 ++ src/api/workflow/processInstance/types.ts | 27 + src/api/workflow/task/index.ts | 264 ++++ src/api/workflow/task/types.ts | 49 + src/api/workflow/workflowCommon/index.ts | 29 + src/api/workflow/workflowCommon/types.ts | 16 + src/assets/401_images/401.gif | Bin 0 -> 164227 bytes src/assets/404_images/404.png | Bin 0 -> 98071 bytes src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes src/assets/icons/svg/404.svg | 1 + src/assets/icons/svg/bug.svg | 1 + src/assets/icons/svg/build.svg | 1 + src/assets/icons/svg/button.svg | 1 + src/assets/icons/svg/caret-back.svg | 1 + src/assets/icons/svg/caret-forward.svg | 1 + src/assets/icons/svg/cascader.svg | 1 + src/assets/icons/svg/category.svg | 1 + src/assets/icons/svg/chart.svg | 1 + src/assets/icons/svg/checkbox.svg | 1 + src/assets/icons/svg/clipboard.svg | 1 + src/assets/icons/svg/code.svg | 1 + src/assets/icons/svg/color.svg | 1 + src/assets/icons/svg/company.svg | 1 + src/assets/icons/svg/component.svg | 1 + src/assets/icons/svg/dashboard.svg | 1 + src/assets/icons/svg/date-range.svg | 1 + src/assets/icons/svg/date.svg | 1 + src/assets/icons/svg/dict.svg | 1 + src/assets/icons/svg/documentation.svg | 1 + src/assets/icons/svg/download.svg | 1 + src/assets/icons/svg/drag.svg | 1 + src/assets/icons/svg/druid.svg | 1 + src/assets/icons/svg/edit.svg | 1 + src/assets/icons/svg/education.svg | 1 + src/assets/icons/svg/email.svg | 1 + src/assets/icons/svg/example.svg | 1 + src/assets/icons/svg/excel.svg | 1 + src/assets/icons/svg/exit-fullscreen.svg | 1 + src/assets/icons/svg/eye-open.svg | 1 + src/assets/icons/svg/eye.svg | 1 + src/assets/icons/svg/finish.svg | 1 + src/assets/icons/svg/form.svg | 1 + src/assets/icons/svg/fullscreen.svg | 1 + src/assets/icons/svg/gitee.svg | 1 + src/assets/icons/svg/github.svg | 1 + src/assets/icons/svg/guide.svg | 1 + src/assets/icons/svg/icon.svg | 1 + src/assets/icons/svg/input.svg | 1 + src/assets/icons/svg/international.svg | 1 + src/assets/icons/svg/job.svg | 1 + src/assets/icons/svg/language.svg | 1 + src/assets/icons/svg/link.svg | 1 + src/assets/icons/svg/list.svg | 1 + src/assets/icons/svg/lock.svg | 1 + src/assets/icons/svg/log.svg | 1 + src/assets/icons/svg/logininfor.svg | 1 + src/assets/icons/svg/maxkey.svg | 3 + src/assets/icons/svg/message.svg | 1 + src/assets/icons/svg/model.svg | 1 + src/assets/icons/svg/money.svg | 1 + src/assets/icons/svg/monitor.svg | 2 + src/assets/icons/svg/my-copy.svg | 1 + src/assets/icons/svg/my-task.svg | 1 + src/assets/icons/svg/nested.svg | 1 + src/assets/icons/svg/number.svg | 1 + src/assets/icons/svg/online.svg | 1 + src/assets/icons/svg/password.svg | 1 + src/assets/icons/svg/pdf.svg | 1 + src/assets/icons/svg/people.svg | 1 + src/assets/icons/svg/peoples.svg | 1 + src/assets/icons/svg/phone.svg | 1 + src/assets/icons/svg/post.svg | 1 + src/assets/icons/svg/process-definition.svg | 1 + src/assets/icons/svg/qq.svg | 1 + src/assets/icons/svg/question.svg | 1 + src/assets/icons/svg/radio.svg | 1 + src/assets/icons/svg/rate.svg | 1 + src/assets/icons/svg/redis-list.svg | 2 + src/assets/icons/svg/redis.svg | 1 + src/assets/icons/svg/row.svg | 1 + src/assets/icons/svg/search.svg | 1 + src/assets/icons/svg/select.svg | 1 + src/assets/icons/svg/server.svg | 1 + src/assets/icons/svg/shopping.svg | 1 + src/assets/icons/svg/size.svg | 1 + src/assets/icons/svg/skill.svg | 1 + src/assets/icons/svg/slider.svg | 1 + src/assets/icons/svg/star.svg | 1 + src/assets/icons/svg/swagger.svg | 1 + src/assets/icons/svg/switch.svg | 1 + src/assets/icons/svg/system.svg | 2 + src/assets/icons/svg/tab.svg | 1 + src/assets/icons/svg/table.svg | 1 + src/assets/icons/svg/textarea.svg | 1 + src/assets/icons/svg/theme.svg | 1 + src/assets/icons/svg/time-range.svg | 1 + src/assets/icons/svg/time.svg | 1 + src/assets/icons/svg/tool.svg | 1 + src/assets/icons/svg/topiam.svg | 29 + src/assets/icons/svg/tree-table.svg | 1 + src/assets/icons/svg/tree.svg | 1 + src/assets/icons/svg/upload.svg | 1 + src/assets/icons/svg/user.svg | 1 + src/assets/icons/svg/validCode.svg | 1 + src/assets/icons/svg/waiting.svg | 1 + src/assets/icons/svg/wechat.svg | 1 + src/assets/icons/svg/workflow.svg | 1 + src/assets/icons/svg/zip.svg | 1 + src/assets/images/dark.svg | 39 + src/assets/images/light.svg | 39 + src/assets/images/login-background.jpg | Bin 0 -> 577784 bytes src/assets/images/profile.jpg | Bin 0 -> 275351 bytes src/assets/logo/logo.png | Bin 0 -> 8131 bytes src/assets/styles/btn.scss | 99 ++ src/assets/styles/element-ui.scss | 149 ++ src/assets/styles/index.scss | 215 +++ src/assets/styles/mixin.scss | 60 + src/assets/styles/ruoyi.scss | 290 ++++ src/assets/styles/sidebar.scss | 232 +++ src/assets/styles/transition.scss | 49 + src/assets/styles/variables.module.scss | 121 ++ src/bpmn/assets/defaultXML.ts | 23 + src/bpmn/assets/lang/zh.ts | 126 ++ src/bpmn/assets/moddle/flowable.ts | 1250 +++++++++++++++++ .../ContextPad/CustomContextPadProvider.ts | 138 ++ .../module/Palette/CustomPaletteProvider.ts | 109 ++ .../assets/module/Renderer/CustomRenderer.ts | 56 + src/bpmn/assets/module/Translate/index.ts | 15 + src/bpmn/assets/module/index.ts | 17 + src/bpmn/assets/showConfig.ts | 50 + src/bpmn/assets/style/index.scss | 284 ++++ src/bpmn/hooks/usePanel.ts | 145 ++ src/bpmn/hooks/useParseElement.ts | 34 + src/bpmn/index.vue | 496 +++++++ src/bpmn/panel/GatewayPanel.vue | 68 + src/bpmn/panel/ParticipantPanel.vue | 68 + src/bpmn/panel/ProcessPanel.vue | 71 + src/bpmn/panel/SequenceFlowPanel.vue | 95 ++ src/bpmn/panel/StartEndPanel.vue | 67 + src/bpmn/panel/SubProcessPanel.vue | 193 +++ src/bpmn/panel/TaskPanel.vue | 492 +++++++ src/bpmn/panel/index.vue | 110 ++ src/bpmn/panel/property/DueDate.vue | 252 ++++ src/bpmn/panel/property/ExecutionListener.vue | 308 ++++ src/bpmn/panel/property/ListenerParam.vue | 121 ++ src/bpmn/panel/property/TaskListener.vue | 310 ++++ src/components/BpmnDesign/index.vue | 71 + src/components/BpmnView/index.vue | 410 ++++++ src/components/Breadcrumb/index.vue | 63 + src/components/BuildCode/index.vue | 61 + src/components/BuildCode/render.vue | 57 + src/components/DictTag/index.vue | 94 ++ src/components/Editor/index.vue | 244 ++++ src/components/FileUpload/index.vue | 229 +++ src/components/Hamburger/index.vue | 35 + src/components/HeaderSearch/index.vue | 195 +++ src/components/IconSelect/index.vue | 104 ++ src/components/IconSelect/requireIcons.ts | 7 + src/components/ImagePreview/index.vue | 79 ++ src/components/ImageUpload/index.vue | 234 +++ src/components/LangSelect/index.vue | 39 + src/components/Pagination/index.vue | 88 ++ src/components/ParentView/index.vue | 3 + src/components/Process/approvalRecord.vue | 116 ++ src/components/Process/multiInstanceUser.vue | 368 +++++ src/components/Process/submitVerify.vue | 353 +++++ src/components/RightToolbar/index.vue | 102 ++ src/components/RoleSelect/index.vue | 250 ++++ src/components/RuoYiDoc/index.vue | 13 + src/components/RuoYiGit/index.vue | 13 + src/components/Screenfull/index.vue | 9 + src/components/SizeSelect/index.vue | 41 + src/components/SvgIcon/index.vue | 40 + src/components/TopNav/index.vue | 200 +++ src/components/TreeSelect/index.vue | 147 ++ src/components/UserSelect/index.vue | 314 +++++ src/components/iFrame/index.vue | 26 + src/directive/common/copyText.ts | 67 + src/directive/index.ts | 9 + src/directive/permission/index.ts | 44 + src/enums/LanguageEnum.ts | 5 + src/enums/MenuTypeEnum.ts | 15 + src/enums/RespEnum.ts | 90 ++ src/enums/SettingTypeEnum.ts | 16 + src/enums/SideThemeEnum.ts | 4 + src/enums/bpmn/IndexEnums.ts | 17 + src/enums/layout/LayoutEnum.ts | 4 + src/hooks/useDialog.ts | 31 + src/lang/en_US.json | 25 + src/lang/en_US.ts | 28 + src/lang/index.ts | 27 + src/lang/zh_CN.json | 25 + src/lang/zh_CN.ts | 27 + src/layout/components/AppMain.vue | 87 ++ src/layout/components/IframeToggle/index.vue | 28 + src/layout/components/InnerLink/index.vue | 15 + src/layout/components/Navbar.vue | 298 ++++ src/layout/components/Settings/index.vue | 238 ++++ src/layout/components/Sidebar/Link.vue | 40 + src/layout/components/Sidebar/Logo.vue | 95 ++ src/layout/components/Sidebar/SidebarItem.vue | 103 ++ src/layout/components/Sidebar/index.vue | 55 + .../components/SocialCallback/index.vue | 84 ++ src/layout/components/TagsView/ScrollPane.vue | 102 ++ src/layout/components/TagsView/index.vue | 341 +++++ src/layout/components/TopBar/search.vue | 158 +++ src/layout/components/index.ts | 4 + src/layout/components/notice/index.vue | 131 ++ src/layout/index.vue | 130 ++ src/main.ts | 57 + src/permission.ts | 64 + src/plugins/auth.ts | 60 + src/plugins/cache.ts | 77 + src/plugins/download.ts | 65 + src/plugins/index.ts | 43 + src/plugins/modal.ts | 81 ++ src/plugins/svgicon.ts | 10 + src/plugins/tab.ts | 96 ++ src/router/index.ts | 198 +++ src/settings.ts | 62 + src/store/index.ts | 3 + src/store/modules/app.ts | 72 + src/store/modules/dict.ts | 78 + src/store/modules/modeler.ts | 76 + src/store/modules/notice.ts | 42 + src/store/modules/permission.ts | 170 +++ src/store/modules/settings.ts | 47 + src/store/modules/tagsView.ts | 233 +++ src/store/modules/user.ts | 88 ++ src/types/axios.d.ts | 9 + src/types/bpmn/editor/global.d.ts | 13 + src/types/bpmn/index.d.ts | 15 + src/types/bpmn/moddle.d.ts | 37 + src/types/bpmn/panel.d.ts | 92 ++ src/types/element.d.ts | 35 + src/types/env.d.ts | 27 + src/types/global.d.ts | 166 +++ src/types/module.d.ts | 39 + src/types/router.d.ts | 38 + src/utils/auth.ts | 9 + src/utils/crypto.ts | 66 + src/utils/dict.ts | 27 + src/utils/dynamicTitle.ts | 14 + src/utils/errorCode.ts | 7 + src/utils/i18n.ts | 16 + src/utils/index.ts | 318 +++++ src/utils/jsencrypt.ts | 21 + src/utils/permission.ts | 51 + src/utils/propTypes.ts | 26 + src/utils/request.ts | 201 +++ src/utils/ruoyi.ts | 251 ++++ src/utils/scroll-to.ts | 65 + src/utils/theme.ts | 52 + src/utils/validate.ts | 92 ++ src/utils/websocket.ts | 139 ++ src/views/demo/demo/index.vue | 254 ++++ src/views/demo/tree/index.vue | 258 ++++ src/views/error/401.vue | 76 + src/views/error/404.vue | 223 +++ src/views/index.vue | 166 +++ src/views/login.vue | 290 ++++ src/views/monitor/admin/index.vue | 9 + src/views/monitor/cache/index.vue | 192 +++ src/views/monitor/logininfor/index.vue | 208 +++ src/views/monitor/online/index.vue | 116 ++ src/views/monitor/operlog/index.vue | 305 ++++ src/views/monitor/snailjob/index.vue | 9 + src/views/redirect/index.vue | 14 + src/views/register.vue | 230 +++ src/views/system/client/index.vue | 316 +++++ src/views/system/config/index.vue | 261 ++++ src/views/system/dept/index.vue | 319 +++++ src/views/system/dict/data.vue | 309 ++++ src/views/system/dict/index.vue | 246 ++++ src/views/system/menu/index.vue | 410 ++++++ src/views/system/notice/index.vue | 243 ++++ src/views/system/oss/config.vue | 334 +++++ src/views/system/oss/index.vue | 332 +++++ src/views/system/post/index.vue | 360 +++++ src/views/system/role/authUser.vue | 160 +++ src/views/system/role/index.vue | 502 +++++++ src/views/system/role/selectUser.vue | 132 ++ src/views/system/tenant/index.vue | 349 +++++ src/views/system/tenantPackage/index.vue | 335 +++++ src/views/system/user/authRole.vue | 139 ++ src/views/system/user/index.vue | 659 +++++++++ src/views/system/user/profile/index.vue | 122 ++ .../system/user/profile/onlineDevice.vue | 59 + src/views/system/user/profile/resetPwd.vue | 73 + src/views/system/user/profile/thirdParty.vue | 143 ++ src/views/system/user/profile/userAvatar.vue | 182 +++ src/views/system/user/profile/userInfo.vue | 69 + src/views/tool/build/index.vue | 3 + src/views/tool/gen/basicInfoForm.vue | 49 + src/views/tool/gen/editTable.vue | 198 +++ src/views/tool/gen/genInfoForm.vue | 295 ++++ src/views/tool/gen/importTable.vue | 123 ++ src/views/tool/gen/index.vue | 254 ++++ src/views/workflow/category/index.vue | 263 ++++ src/views/workflow/formManage/index.vue | 243 ++++ src/views/workflow/leave/index.vue | 251 ++++ src/views/workflow/leave/leaveEdit.vue | 273 ++++ src/views/workflow/model/index.vue | 383 +++++ .../components/processPreview.vue | 45 + .../workflow/processDefinition/index.vue | 517 +++++++ src/views/workflow/processInstance/index.vue | 361 +++++ src/views/workflow/task/allTaskWaiting.vue | 286 ++++ src/views/workflow/task/myDocument.vue | 261 ++++ src/views/workflow/task/taskCopyList.vue | 150 ++ src/views/workflow/task/taskFinish.vue | 136 ++ src/views/workflow/task/taskWaiting.vue | 149 ++ tsconfig.json | 34 + uno.config.ts | 33 + vite.config.ts | 137 ++ vite/plugins/auto-import.ts | 24 + vite/plugins/components.ts | 17 + vite/plugins/compression.ts | 28 + vite/plugins/i18n.ts | 6 + vite/plugins/icons.ts | 8 + vite/plugins/index.ts | 24 + vite/plugins/setup-extend.ts | 5 + vite/plugins/svg-icon.ts | 10 + vite/plugins/unocss.ts | 7 + 403 files changed, 34620 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .eslintignore create mode 100644 .eslintrc-auto-import.json create mode 100644 .eslintrc.cjs create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 LICENSE create mode 100644 README.md create mode 100644 bin/build.bat create mode 100644 bin/package.bat create mode 100644 bin/run-web.bat create mode 100644 html/ie.html create mode 100644 index.html create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/animate.ts create mode 100644 src/api/demo/demo/index.ts create mode 100644 src/api/demo/demo/types.ts create mode 100644 src/api/demo/tree/index.ts create mode 100644 src/api/demo/tree/types.ts create mode 100644 src/api/login.ts create mode 100644 src/api/menu.ts create mode 100644 src/api/monitor/cache/index.ts create mode 100644 src/api/monitor/cache/types.ts create mode 100644 src/api/monitor/loginInfo/index.ts create mode 100644 src/api/monitor/loginInfo/types.ts create mode 100644 src/api/monitor/online/index.ts create mode 100644 src/api/monitor/online/types.ts create mode 100644 src/api/monitor/operlog/index.ts create mode 100644 src/api/monitor/operlog/types.ts create mode 100644 src/api/system/client/index.ts create mode 100644 src/api/system/client/types.ts create mode 100644 src/api/system/config/index.ts create mode 100644 src/api/system/config/types.ts create mode 100644 src/api/system/dept/index.ts create mode 100644 src/api/system/dept/types.ts create mode 100644 src/api/system/dict/data/index.ts create mode 100644 src/api/system/dict/data/types.ts create mode 100644 src/api/system/dict/type/index.ts create mode 100644 src/api/system/dict/type/types.ts create mode 100644 src/api/system/menu/index.ts create mode 100644 src/api/system/menu/types.ts create mode 100644 src/api/system/notice/index.ts create mode 100644 src/api/system/notice/types.ts create mode 100644 src/api/system/oss/index.ts create mode 100644 src/api/system/oss/types.ts create mode 100644 src/api/system/ossConfig/index.ts create mode 100644 src/api/system/ossConfig/types.ts create mode 100644 src/api/system/post/index.ts create mode 100644 src/api/system/post/types.ts create mode 100644 src/api/system/role/index.ts create mode 100644 src/api/system/role/types.ts create mode 100644 src/api/system/social/auth.ts create mode 100644 src/api/system/tenant/index.ts create mode 100644 src/api/system/tenant/types.ts create mode 100644 src/api/system/tenantPackage/index.ts create mode 100644 src/api/system/tenantPackage/types.ts create mode 100644 src/api/system/user/index.ts create mode 100644 src/api/system/user/types.ts create mode 100644 src/api/tool/gen/index.ts create mode 100644 src/api/tool/gen/types.ts create mode 100644 src/api/types.ts create mode 100644 src/api/workflow/category/index.ts create mode 100644 src/api/workflow/category/types.ts create mode 100644 src/api/workflow/definitionConfig/index.ts create mode 100644 src/api/workflow/definitionConfig/types.ts create mode 100644 src/api/workflow/formManage/index.ts create mode 100644 src/api/workflow/formManage/types.ts create mode 100644 src/api/workflow/leave/index.ts create mode 100644 src/api/workflow/leave/types.ts create mode 100644 src/api/workflow/model/index.ts create mode 100644 src/api/workflow/model/types.ts create mode 100644 src/api/workflow/nodeConfig/index.ts create mode 100644 src/api/workflow/nodeConfig/types.ts create mode 100644 src/api/workflow/processDefinition/index.ts create mode 100644 src/api/workflow/processDefinition/types.ts create mode 100644 src/api/workflow/processInstance/index.ts create mode 100644 src/api/workflow/processInstance/types.ts create mode 100644 src/api/workflow/task/index.ts create mode 100644 src/api/workflow/task/types.ts create mode 100644 src/api/workflow/workflowCommon/index.ts create mode 100644 src/api/workflow/workflowCommon/types.ts create mode 100644 src/assets/401_images/401.gif create mode 100644 src/assets/404_images/404.png create mode 100644 src/assets/404_images/404_cloud.png create mode 100644 src/assets/icons/svg/404.svg create mode 100644 src/assets/icons/svg/bug.svg create mode 100644 src/assets/icons/svg/build.svg create mode 100644 src/assets/icons/svg/button.svg create mode 100644 src/assets/icons/svg/caret-back.svg create mode 100644 src/assets/icons/svg/caret-forward.svg create mode 100644 src/assets/icons/svg/cascader.svg create mode 100644 src/assets/icons/svg/category.svg create mode 100644 src/assets/icons/svg/chart.svg create mode 100644 src/assets/icons/svg/checkbox.svg create mode 100644 src/assets/icons/svg/clipboard.svg create mode 100644 src/assets/icons/svg/code.svg create mode 100644 src/assets/icons/svg/color.svg create mode 100644 src/assets/icons/svg/company.svg create mode 100644 src/assets/icons/svg/component.svg create mode 100644 src/assets/icons/svg/dashboard.svg create mode 100644 src/assets/icons/svg/date-range.svg create mode 100644 src/assets/icons/svg/date.svg create mode 100644 src/assets/icons/svg/dict.svg create mode 100644 src/assets/icons/svg/documentation.svg create mode 100644 src/assets/icons/svg/download.svg create mode 100644 src/assets/icons/svg/drag.svg create mode 100644 src/assets/icons/svg/druid.svg create mode 100644 src/assets/icons/svg/edit.svg create mode 100644 src/assets/icons/svg/education.svg create mode 100644 src/assets/icons/svg/email.svg create mode 100644 src/assets/icons/svg/example.svg create mode 100644 src/assets/icons/svg/excel.svg create mode 100644 src/assets/icons/svg/exit-fullscreen.svg create mode 100644 src/assets/icons/svg/eye-open.svg create mode 100644 src/assets/icons/svg/eye.svg create mode 100644 src/assets/icons/svg/finish.svg create mode 100644 src/assets/icons/svg/form.svg create mode 100644 src/assets/icons/svg/fullscreen.svg create mode 100644 src/assets/icons/svg/gitee.svg create mode 100644 src/assets/icons/svg/github.svg create mode 100644 src/assets/icons/svg/guide.svg create mode 100644 src/assets/icons/svg/icon.svg create mode 100644 src/assets/icons/svg/input.svg create mode 100644 src/assets/icons/svg/international.svg create mode 100644 src/assets/icons/svg/job.svg create mode 100644 src/assets/icons/svg/language.svg create mode 100644 src/assets/icons/svg/link.svg create mode 100644 src/assets/icons/svg/list.svg create mode 100644 src/assets/icons/svg/lock.svg create mode 100644 src/assets/icons/svg/log.svg create mode 100644 src/assets/icons/svg/logininfor.svg create mode 100644 src/assets/icons/svg/maxkey.svg create mode 100644 src/assets/icons/svg/message.svg create mode 100644 src/assets/icons/svg/model.svg create mode 100644 src/assets/icons/svg/money.svg create mode 100644 src/assets/icons/svg/monitor.svg create mode 100644 src/assets/icons/svg/my-copy.svg create mode 100644 src/assets/icons/svg/my-task.svg create mode 100644 src/assets/icons/svg/nested.svg create mode 100644 src/assets/icons/svg/number.svg create mode 100644 src/assets/icons/svg/online.svg create mode 100644 src/assets/icons/svg/password.svg create mode 100644 src/assets/icons/svg/pdf.svg create mode 100644 src/assets/icons/svg/people.svg create mode 100644 src/assets/icons/svg/peoples.svg create mode 100644 src/assets/icons/svg/phone.svg create mode 100644 src/assets/icons/svg/post.svg create mode 100644 src/assets/icons/svg/process-definition.svg create mode 100644 src/assets/icons/svg/qq.svg create mode 100644 src/assets/icons/svg/question.svg create mode 100644 src/assets/icons/svg/radio.svg create mode 100644 src/assets/icons/svg/rate.svg create mode 100644 src/assets/icons/svg/redis-list.svg create mode 100644 src/assets/icons/svg/redis.svg create mode 100644 src/assets/icons/svg/row.svg create mode 100644 src/assets/icons/svg/search.svg create mode 100644 src/assets/icons/svg/select.svg create mode 100644 src/assets/icons/svg/server.svg create mode 100644 src/assets/icons/svg/shopping.svg create mode 100644 src/assets/icons/svg/size.svg create mode 100644 src/assets/icons/svg/skill.svg create mode 100644 src/assets/icons/svg/slider.svg create mode 100644 src/assets/icons/svg/star.svg create mode 100644 src/assets/icons/svg/swagger.svg create mode 100644 src/assets/icons/svg/switch.svg create mode 100644 src/assets/icons/svg/system.svg create mode 100644 src/assets/icons/svg/tab.svg create mode 100644 src/assets/icons/svg/table.svg create mode 100644 src/assets/icons/svg/textarea.svg create mode 100644 src/assets/icons/svg/theme.svg create mode 100644 src/assets/icons/svg/time-range.svg create mode 100644 src/assets/icons/svg/time.svg create mode 100644 src/assets/icons/svg/tool.svg create mode 100644 src/assets/icons/svg/topiam.svg create mode 100644 src/assets/icons/svg/tree-table.svg create mode 100644 src/assets/icons/svg/tree.svg create mode 100644 src/assets/icons/svg/upload.svg create mode 100644 src/assets/icons/svg/user.svg create mode 100644 src/assets/icons/svg/validCode.svg create mode 100644 src/assets/icons/svg/waiting.svg create mode 100644 src/assets/icons/svg/wechat.svg create mode 100644 src/assets/icons/svg/workflow.svg create mode 100644 src/assets/icons/svg/zip.svg create mode 100644 src/assets/images/dark.svg create mode 100644 src/assets/images/light.svg create mode 100644 src/assets/images/login-background.jpg create mode 100644 src/assets/images/profile.jpg create mode 100644 src/assets/logo/logo.png create mode 100644 src/assets/styles/btn.scss create mode 100644 src/assets/styles/element-ui.scss create mode 100644 src/assets/styles/index.scss create mode 100644 src/assets/styles/mixin.scss create mode 100644 src/assets/styles/ruoyi.scss create mode 100644 src/assets/styles/sidebar.scss create mode 100644 src/assets/styles/transition.scss create mode 100644 src/assets/styles/variables.module.scss create mode 100644 src/bpmn/assets/defaultXML.ts create mode 100644 src/bpmn/assets/lang/zh.ts create mode 100644 src/bpmn/assets/moddle/flowable.ts create mode 100644 src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts create mode 100644 src/bpmn/assets/module/Palette/CustomPaletteProvider.ts create mode 100644 src/bpmn/assets/module/Renderer/CustomRenderer.ts create mode 100644 src/bpmn/assets/module/Translate/index.ts create mode 100644 src/bpmn/assets/module/index.ts create mode 100644 src/bpmn/assets/showConfig.ts create mode 100644 src/bpmn/assets/style/index.scss create mode 100644 src/bpmn/hooks/usePanel.ts create mode 100644 src/bpmn/hooks/useParseElement.ts create mode 100644 src/bpmn/index.vue create mode 100644 src/bpmn/panel/GatewayPanel.vue create mode 100644 src/bpmn/panel/ParticipantPanel.vue create mode 100644 src/bpmn/panel/ProcessPanel.vue create mode 100644 src/bpmn/panel/SequenceFlowPanel.vue create mode 100644 src/bpmn/panel/StartEndPanel.vue create mode 100644 src/bpmn/panel/SubProcessPanel.vue create mode 100644 src/bpmn/panel/TaskPanel.vue create mode 100644 src/bpmn/panel/index.vue create mode 100644 src/bpmn/panel/property/DueDate.vue create mode 100644 src/bpmn/panel/property/ExecutionListener.vue create mode 100644 src/bpmn/panel/property/ListenerParam.vue create mode 100644 src/bpmn/panel/property/TaskListener.vue create mode 100644 src/components/BpmnDesign/index.vue create mode 100644 src/components/BpmnView/index.vue create mode 100644 src/components/Breadcrumb/index.vue create mode 100644 src/components/BuildCode/index.vue create mode 100644 src/components/BuildCode/render.vue create mode 100644 src/components/DictTag/index.vue create mode 100644 src/components/Editor/index.vue create mode 100644 src/components/FileUpload/index.vue create mode 100644 src/components/Hamburger/index.vue create mode 100644 src/components/HeaderSearch/index.vue create mode 100644 src/components/IconSelect/index.vue create mode 100644 src/components/IconSelect/requireIcons.ts create mode 100644 src/components/ImagePreview/index.vue create mode 100644 src/components/ImageUpload/index.vue create mode 100644 src/components/LangSelect/index.vue create mode 100644 src/components/Pagination/index.vue create mode 100644 src/components/ParentView/index.vue create mode 100644 src/components/Process/approvalRecord.vue create mode 100644 src/components/Process/multiInstanceUser.vue create mode 100644 src/components/Process/submitVerify.vue create mode 100644 src/components/RightToolbar/index.vue create mode 100644 src/components/RoleSelect/index.vue create mode 100644 src/components/RuoYiDoc/index.vue create mode 100644 src/components/RuoYiGit/index.vue create mode 100644 src/components/Screenfull/index.vue create mode 100644 src/components/SizeSelect/index.vue create mode 100644 src/components/SvgIcon/index.vue create mode 100644 src/components/TopNav/index.vue create mode 100644 src/components/TreeSelect/index.vue create mode 100644 src/components/UserSelect/index.vue create mode 100644 src/components/iFrame/index.vue create mode 100644 src/directive/common/copyText.ts create mode 100644 src/directive/index.ts create mode 100644 src/directive/permission/index.ts create mode 100644 src/enums/LanguageEnum.ts create mode 100644 src/enums/MenuTypeEnum.ts create mode 100644 src/enums/RespEnum.ts create mode 100644 src/enums/SettingTypeEnum.ts create mode 100644 src/enums/SideThemeEnum.ts create mode 100644 src/enums/bpmn/IndexEnums.ts create mode 100644 src/enums/layout/LayoutEnum.ts create mode 100644 src/hooks/useDialog.ts create mode 100644 src/lang/en_US.json create mode 100644 src/lang/en_US.ts create mode 100644 src/lang/index.ts create mode 100644 src/lang/zh_CN.json create mode 100644 src/lang/zh_CN.ts create mode 100644 src/layout/components/AppMain.vue create mode 100644 src/layout/components/IframeToggle/index.vue create mode 100644 src/layout/components/InnerLink/index.vue create mode 100644 src/layout/components/Navbar.vue create mode 100644 src/layout/components/Settings/index.vue create mode 100644 src/layout/components/Sidebar/Link.vue create mode 100644 src/layout/components/Sidebar/Logo.vue create mode 100644 src/layout/components/Sidebar/SidebarItem.vue create mode 100644 src/layout/components/Sidebar/index.vue create mode 100644 src/layout/components/SocialCallback/index.vue create mode 100644 src/layout/components/TagsView/ScrollPane.vue create mode 100644 src/layout/components/TagsView/index.vue create mode 100644 src/layout/components/TopBar/search.vue create mode 100644 src/layout/components/index.ts create mode 100644 src/layout/components/notice/index.vue create mode 100644 src/layout/index.vue create mode 100644 src/main.ts create mode 100644 src/permission.ts create mode 100644 src/plugins/auth.ts create mode 100644 src/plugins/cache.ts create mode 100644 src/plugins/download.ts create mode 100644 src/plugins/index.ts create mode 100644 src/plugins/modal.ts create mode 100644 src/plugins/svgicon.ts create mode 100644 src/plugins/tab.ts create mode 100644 src/router/index.ts create mode 100644 src/settings.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/app.ts create mode 100644 src/store/modules/dict.ts create mode 100644 src/store/modules/modeler.ts create mode 100644 src/store/modules/notice.ts create mode 100644 src/store/modules/permission.ts create mode 100644 src/store/modules/settings.ts create mode 100644 src/store/modules/tagsView.ts create mode 100644 src/store/modules/user.ts create mode 100644 src/types/axios.d.ts create mode 100644 src/types/bpmn/editor/global.d.ts create mode 100644 src/types/bpmn/index.d.ts create mode 100644 src/types/bpmn/moddle.d.ts create mode 100644 src/types/bpmn/panel.d.ts create mode 100644 src/types/element.d.ts create mode 100644 src/types/env.d.ts create mode 100644 src/types/global.d.ts create mode 100644 src/types/module.d.ts create mode 100644 src/types/router.d.ts create mode 100644 src/utils/auth.ts create mode 100644 src/utils/crypto.ts create mode 100644 src/utils/dict.ts create mode 100644 src/utils/dynamicTitle.ts create mode 100644 src/utils/errorCode.ts create mode 100644 src/utils/i18n.ts create mode 100644 src/utils/index.ts create mode 100644 src/utils/jsencrypt.ts create mode 100644 src/utils/permission.ts create mode 100644 src/utils/propTypes.ts create mode 100644 src/utils/request.ts create mode 100644 src/utils/ruoyi.ts create mode 100644 src/utils/scroll-to.ts create mode 100644 src/utils/theme.ts create mode 100644 src/utils/validate.ts create mode 100644 src/utils/websocket.ts create mode 100644 src/views/demo/demo/index.vue create mode 100644 src/views/demo/tree/index.vue create mode 100644 src/views/error/401.vue create mode 100644 src/views/error/404.vue create mode 100644 src/views/index.vue create mode 100644 src/views/login.vue create mode 100644 src/views/monitor/admin/index.vue create mode 100644 src/views/monitor/cache/index.vue create mode 100644 src/views/monitor/logininfor/index.vue create mode 100644 src/views/monitor/online/index.vue create mode 100644 src/views/monitor/operlog/index.vue create mode 100644 src/views/monitor/snailjob/index.vue create mode 100644 src/views/redirect/index.vue create mode 100644 src/views/register.vue create mode 100644 src/views/system/client/index.vue create mode 100644 src/views/system/config/index.vue create mode 100644 src/views/system/dept/index.vue create mode 100644 src/views/system/dict/data.vue create mode 100644 src/views/system/dict/index.vue create mode 100644 src/views/system/menu/index.vue create mode 100644 src/views/system/notice/index.vue create mode 100644 src/views/system/oss/config.vue create mode 100644 src/views/system/oss/index.vue create mode 100644 src/views/system/post/index.vue create mode 100644 src/views/system/role/authUser.vue create mode 100644 src/views/system/role/index.vue create mode 100644 src/views/system/role/selectUser.vue create mode 100644 src/views/system/tenant/index.vue create mode 100644 src/views/system/tenantPackage/index.vue create mode 100644 src/views/system/user/authRole.vue create mode 100644 src/views/system/user/index.vue create mode 100644 src/views/system/user/profile/index.vue create mode 100644 src/views/system/user/profile/onlineDevice.vue create mode 100644 src/views/system/user/profile/resetPwd.vue create mode 100644 src/views/system/user/profile/thirdParty.vue create mode 100644 src/views/system/user/profile/userAvatar.vue create mode 100644 src/views/system/user/profile/userInfo.vue create mode 100644 src/views/tool/build/index.vue create mode 100644 src/views/tool/gen/basicInfoForm.vue create mode 100644 src/views/tool/gen/editTable.vue create mode 100644 src/views/tool/gen/genInfoForm.vue create mode 100644 src/views/tool/gen/importTable.vue create mode 100644 src/views/tool/gen/index.vue create mode 100644 src/views/workflow/category/index.vue create mode 100644 src/views/workflow/formManage/index.vue create mode 100644 src/views/workflow/leave/index.vue create mode 100644 src/views/workflow/leave/leaveEdit.vue create mode 100644 src/views/workflow/model/index.vue create mode 100644 src/views/workflow/processDefinition/components/processPreview.vue create mode 100644 src/views/workflow/processDefinition/index.vue create mode 100644 src/views/workflow/processInstance/index.vue create mode 100644 src/views/workflow/task/allTaskWaiting.vue create mode 100644 src/views/workflow/task/myDocument.vue create mode 100644 src/views/workflow/task/taskCopyList.vue create mode 100644 src/views/workflow/task/taskFinish.vue create mode 100644 src/views/workflow/task/taskWaiting.vue create mode 100644 tsconfig.json create mode 100644 uno.config.ts create mode 100644 vite.config.ts create mode 100644 vite/plugins/auto-import.ts create mode 100644 vite/plugins/components.ts create mode 100644 vite/plugins/compression.ts create mode 100644 vite/plugins/i18n.ts create mode 100644 vite/plugins/icons.ts create mode 100644 vite/plugins/index.ts create mode 100644 vite/plugins/setup-extend.ts create mode 100644 vite/plugins/svg-icon.ts create mode 100644 vite/plugins/unocss.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5b1a804 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +# 告诉EditorConfig插件,这是根文件,不用继续往上查找 +root = true + +# 匹配全部文件 +[*] +# 缩进风格,可选space、tab +indent_style = space +# 缩进的空格数 +indent_size = 2 +# 设置字符集 +charset = utf-8 +# 结尾换行符,可选lf、cr、crlf +end_of_line = lf +# 在文件结尾插入新行 +trim_trailing_whitespace = true +# 删除一行中的前后空格 +insert_final_newline = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..e1f7af6 --- /dev/null +++ b/.env.development @@ -0,0 +1,32 @@ +# 页面标题 +VITE_APP_TITLE = RuoYi-Vue-Plus多租户管理系统 + +# 开发环境配置 +VITE_APP_ENV = 'development' + +# 开发环境 +VITE_APP_BASE_API = '/dev-api' + +# 应用访问路径 例如使用前缀 /admin/ +VITE_APP_CONTEXT_PATH = '/' + +# 监控地址 +VITE_APP_MONITRO_ADMIN = 'http://localhost:9090/admin/applications' + +# SnailJob 控制台地址 +VITE_APP_SNAILJOB_ADMIN = 'http://localhost:8800/snail-job' + +VITE_APP_PORT = 80 + +# 接口加密功能开关(如需关闭 后端也必须对应关闭) +VITE_APP_ENCRYPT = true +# 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换 +VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==' +# 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换 +VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=' + +# 客户端id +VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e' + +# websocket 开关 +VITE_APP_WEBSOCKET = true diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..2700ee0 --- /dev/null +++ b/.env.production @@ -0,0 +1,35 @@ +# 页面标题 +VITE_APP_TITLE = RuoYi-Vue-Plus多租户管理系统 + +# 生产环境配置 +VITE_APP_ENV = 'production' + +# 应用访问路径 例如使用前缀 /admin/ +VITE_APP_CONTEXT_PATH = '/' + +# 监控地址 +VITE_APP_MONITRO_ADMIN = '/admin/applications' + +# SnailJob 控制台地址 +VITE_APP_SNAILJOB_ADMIN = 'http://localhost:8800/snail-job' + +# 生产环境 +VITE_APP_BASE_API = '/prod-api' + +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip + +VITE_APP_PORT = 80 + +# 接口加密功能开关(如需关闭 后端也必须对应关闭) +VITE_APP_ENCRYPT = true +# 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换 +VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==' +# 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换 +VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE=' + +# 客户端id +VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e' + +# websocket 开关 +VITE_APP_WEBSOCKET = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..e74db40 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,17 @@ +*.sh +node_modules +*.md +*.woff +*.ttf +.vscode +.idea +dist +/public +/docs +.husky +.local +/bin +.eslintrc.cjs +prettier.config.js +src/assets +tailwind.config.js diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json new file mode 100644 index 0000000..a6661b6 --- /dev/null +++ b/.eslintrc-auto-import.json @@ -0,0 +1,312 @@ +{ + "globals": { + "ComponentInternalInstance": true, + "TransferKey": true, + "ElFormRules": true, + "CheckboxValueType": true, + "PropType": true, + "DateModelType": true, + "UploadFile": true, + "ElFormInstance": true, + "ElTableInstance": true, + "ElTreeInstance": true, + "ElTreeSelectInstance": true, + "ElSelectInstance": true, + "ElUploadInstance": true, + "ElCardInstance": true, + "ElDialogInstance": true, + "ElInputInstance": true, + "ElInputNumberInstance": true, + "ElRadioInstance": true, + "ElRadioGroupInstance": true, + "ElRadioButtonInstance": true, + "ElCheckboxInstance": true, + "ElCheckboxGroupInstance": true, + "ElSwitchInstance": true, + "ElDatePickerInstance": true, + "ElTimePickerInstance": true, + "ElTimeSelectInstance": true, + "ElScrollbarInstance": true, + "ElCascaderInstance": true, + "ElColorPickerInstance": true, + "ElRateInstance": true, + "ElSliderInstance": true, + "useRouter": true, + "useRoute": true, + "EffectScope": true, + "ElTable": true, + "ElSelect": true, + "ElUpload": true, + "ElForm": true, + "ElTree": true, + "ElMessage": true, + "ElMessageBox": true, + "asyncComputed": true, + "autoResetRef": true, + "computed": true, + "computedAsync": true, + "computedEager": true, + "computedInject": true, + "computedWithControl": true, + "controlledComputed": true, + "controlledRef": true, + "createApp": true, + "createEventHook": true, + "createGlobalState": true, + "createInjectionState": true, + "createReactiveFn": true, + "createSharedComposable": true, + "createUnrefFn": true, + "customRef": true, + "debouncedRef": true, + "debouncedWatch": true, + "defineAsyncComponent": true, + "defineComponent": true, + "eagerComputed": true, + "effectScope": true, + "extendRef": true, + "getCurrentInstance": true, + "getCurrentScope": true, + "h": true, + "ignorableWatch": true, + "inject": true, + "isDefined": true, + "isProxy": true, + "isReactive": true, + "isReadonly": true, + "isRef": true, + "makeDestructurable": true, + "markRaw": true, + "nextTick": true, + "onActivated": true, + "onBeforeMount": true, + "onBeforeUnmount": true, + "onBeforeUpdate": true, + "onClickOutside": true, + "onDeactivated": true, + "onErrorCaptured": true, + "onKeyStroke": true, + "onLongPress": true, + "onMounted": true, + "onRenderTracked": true, + "onRenderTriggered": true, + "onScopeDispose": true, + "onServerPrefetch": true, + "onStartTyping": true, + "onUnmounted": true, + "onUpdated": true, + "pausableWatch": true, + "provide": true, + "reactify": true, + "reactifyObject": true, + "reactive": true, + "reactiveComputed": true, + "reactiveOmit": true, + "reactivePick": true, + "readonly": true, + "ref": true, + "refAutoReset": true, + "refDebounced": true, + "refDefault": true, + "refThrottled": true, + "refWithControl": true, + "resolveComponent": true, + "resolveDirective": true, + "resolveRef": true, + "resolveUnref": true, + "shallowReactive": true, + "shallowReadonly": true, + "shallowRef": true, + "syncRef": true, + "syncRefs": true, + "templateRef": true, + "throttledRef": true, + "throttledWatch": true, + "toRaw": true, + "toReactive": true, + "toRef": true, + "toRefs": true, + "triggerRef": true, + "tryOnBeforeMount": true, + "tryOnBeforeUnmount": true, + "tryOnMounted": true, + "tryOnScopeDispose": true, + "tryOnUnmounted": true, + "unref": true, + "unrefElement": true, + "until": true, + "useActiveElement": true, + "useArrayEvery": true, + "useArrayFilter": true, + "useArrayFind": true, + "useArrayFindIndex": true, + "useArrayFindLast": true, + "useArrayJoin": true, + "useArrayMap": true, + "useArrayReduce": true, + "useArraySome": true, + "useArrayUnique": true, + "useAsyncQueue": true, + "useAsyncState": true, + "useAttrs": true, + "useBase64": true, + "useBattery": true, + "useBluetooth": true, + "useBreakpoints": true, + "useBroadcastChannel": true, + "useBrowserLocation": true, + "useCached": true, + "useClipboard": true, + "useCloned": true, + "useColorMode": true, + "useConfirmDialog": true, + "useCounter": true, + "useCssModule": true, + "useCssVar": true, + "useCssVars": true, + "useCurrentElement": true, + "useCycleList": true, + "useDark": true, + "useDateFormat": true, + "useDebounce": true, + "useDebounceFn": true, + "useDebouncedRefHistory": true, + "useDeviceMotion": true, + "useDeviceOrientation": true, + "useDevicePixelRatio": true, + "useDevicesList": true, + "useDisplayMedia": true, + "useDocumentVisibility": true, + "useDraggable": true, + "useDropZone": true, + "useElementBounding": true, + "useElementByPoint": true, + "useElementHover": true, + "useElementSize": true, + "useElementVisibility": true, + "useEventBus": true, + "useEventListener": true, + "useEventSource": true, + "useEyeDropper": true, + "useFavicon": true, + "useFetch": true, + "useFileDialog": true, + "useFileSystemAccess": true, + "useFocus": true, + "useFocusWithin": true, + "useFps": true, + "useFullscreen": true, + "useGamepad": true, + "useGeolocation": true, + "useIdle": true, + "useImage": true, + "useInfiniteScroll": true, + "useIntersectionObserver": true, + "useInterval": true, + "useIntervalFn": true, + "useKeyModifier": true, + "useLastChanged": true, + "useLocalStorage": true, + "useMagicKeys": true, + "useManualRefHistory": true, + "useMediaControls": true, + "useMediaQuery": true, + "useMemoize": true, + "useMemory": true, + "useMounted": true, + "useMouse": true, + "useMouseInElement": true, + "useMousePressed": true, + "useMutationObserver": true, + "useNavigatorLanguage": true, + "useNetwork": true, + "useNow": true, + "useObjectUrl": true, + "useOffsetPagination": true, + "useOnline": true, + "usePageLeave": true, + "useParallax": true, + "usePermission": true, + "usePointer": true, + "usePointerLock": true, + "usePointerSwipe": true, + "usePreferredColorScheme": true, + "usePreferredContrast": true, + "usePreferredDark": true, + "usePreferredLanguages": true, + "usePreferredReducedMotion": true, + "usePrevious": true, + "useRafFn": true, + "useRefHistory": true, + "useResizeObserver": true, + "useScreenOrientation": true, + "useScreenSafeArea": true, + "useScriptTag": true, + "useScroll": true, + "useScrollLock": true, + "useSessionStorage": true, + "useShare": true, + "useSlots": true, + "useSorted": true, + "useSpeechRecognition": true, + "useSpeechSynthesis": true, + "useStepper": true, + "useStorage": true, + "useStorageAsync": true, + "useStyleTag": true, + "useSupported": true, + "useSwipe": true, + "useTemplateRefsList": true, + "useTextDirection": true, + "useTextSelection": true, + "useTextareaAutosize": true, + "useThrottle": true, + "useThrottleFn": true, + "useThrottledRefHistory": true, + "useTimeAgo": true, + "useTimeout": true, + "useTimeoutFn": true, + "useTimeoutPoll": true, + "useTimestamp": true, + "useTitle": true, + "useToNumber": true, + "useToString": true, + "useToggle": true, + "useTransition": true, + "useUrlSearchParams": true, + "useUserMedia": true, + "useVModel": true, + "useVModels": true, + "useVibrate": true, + "useVirtualList": true, + "useWakeLock": true, + "useWebNotification": true, + "useWebSocket": true, + "useWebWorker": true, + "useWebWorkerFn": true, + "useWindowFocus": true, + "useWindowScroll": true, + "useWindowSize": true, + "watch": true, + "watchArray": true, + "watchAtMost": true, + "watchDebounced": true, + "watchEffect": true, + "watchIgnorable": true, + "watchOnce": true, + "watchPausable": true, + "watchPostEffect": true, + "watchSyncEffect": true, + "watchThrottled": true, + "watchTriggerable": true, + "watchWithFilter": true, + "whenever": true, + "ImportOption": true, + "TreeType": true, + "FieldOption": true, + "PageData": true, + "storeToRefs": true, + "DictDataOption": true, + "UploadOption": true + } +} diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..6042c39 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,51 @@ +module.exports = { + env: { + browser: true, + node: true, + es6: true + }, + parser: 'vue-eslint-parser', + extends: [ + 'plugin:vue/vue3-recommended', + './.eslintrc-auto-import.json', + 'plugin:@typescript-eslint/recommended', + 'prettier', + 'plugin:prettier/recommended' + ], + parserOptions: { + ecmaVersion: '2020', + sourceType: 'module', + project: './tsconfig.*?.json', + parser: '@typescript-eslint/parser' + }, + plugins: ['vue', '@typescript-eslint', 'import', 'promise', 'node', 'prettier'], + rules: { + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-this-alias': 'off', + + // vue + 'vue/multi-word-component-names': 'off', + 'vue/valid-define-props': 'off', + 'vue/no-v-model-argument': 'off', + 'prefer-rest-params': 'off', + // prettier + 'prettier/prettier': 'error', + '@typescript-eslint/ban-types': [ + 'error', + { + // 关闭空类型检查 {} + extendDefaults: true, + types: { + '{}': false, + Function: false + } + } + ] + }, + globals: { + DialogOption: 'readonly', + OptionType: 'readonly' + } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1fd56f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,29 @@ +.DS_Store +.history +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock +pnpm-lock.yaml + +# 编译生成的文件 +auto-imports.d.ts +components.d.ts diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d251d2e --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +/dist/* +.local +.output.js +/node_modules/** + +**/*.svg +**/*.sh + +/public/* \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..6ca3ce5 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,20 @@ +{ + "printWidth": 150, + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": true, + "quoteProps": "preserve", + "jsxSingleQuote": false, + "bracketSameLine": false, + "trailingComma": "none", + "bracketSpacing": true, + "embeddedLanguageFormatting": "auto", + "arrowParens": "always", + "requirePragma": false, + "insertPragma": false, + "proseWrap": "preserve", + "htmlWhitespaceSensitivity": "css", + "vueIndentScriptAndStyle": false, + "endOfLine": "auto" +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..32b3071 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2019 RuoYi-Vue-Plus + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..010adb9 --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +## 平台简介 + +- 本仓库为前端技术栈 [Vue3](https://v3.cn.vuejs.org) + [TS](https://www.typescriptlang.org/) + [Element Plus](https://element-plus.org/zh-CN) + [Vite](https://cn.vitejs.dev) 版本。 +- 成员项目: 基于 vben(ant-design-vue) 的前端项目 [ruoyi-plus-vben](https://gitee.com/dapppp/ruoyi-plus-vben) +- 配套后端代码仓库地址 +- [RuoYi-Vue-Plus 5.X(注意版本号)](https://gitee.com/dromara/RuoYi-Vue-Plus) +- [RuoYi-Cloud-Plus 2.X(注意版本号)](https://gitee.com/dromara/RuoYi-Cloud-Plus) + +## 前端运行 + +```bash +# 克隆项目 +git clone https://gitee.com/JavaLionLi/plus-ui.git + +# 安装依赖 +npm install --registry=https://registry.npmmirror.com + +# 启动服务 +npm run dev + +# 构建生产环境 +npm run build:prod + +# 前端访问地址 http://localhost:80 +``` + +## 本框架与RuoYi的业务差异 + +| 业务 | 功能说明 | 本框架 | RuoYi | +| ------------ | ------------------------------------------------------------- | ------ | ----------------------------- | +| 租户管理 | 系统内租户的管理 如:租户套餐、过期时间、用户数量、企业信息等 | 支持 | 无 | +| 租户套餐管理 | 系统内租户所能使用的套餐管理 如:套餐内所包含的菜单等 | 支持 | 无 | +| 用户管理 | 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 | 支持 | 支持 | +| 部门管理 | 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 | 支持 | 支持 | +| 岗位管理 | 配置系统用户所属担任职务 | 支持 | 支持 | +| 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等 | 支持 | 支持 | +| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | 支持 | 支持 | +| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | 支持 | 支持 | +| 参数管理 | 对系统动态配置常用参数 | 支持 | 支持 | +| 通知公告 | 系统通知公告信息发布维护 | 支持 | 支持 | +| 操作日志 | 系统正常操作日志记录和查询 系统异常信息日志记录和查询 | 支持 | 支持 | +| 登录日志 | 系统登录日志记录查询包含登录异常 | 支持 | 支持 | +| 文件管理 | 系统文件展示、上传、下载、删除等管理 | 支持 | 无 | +| 文件配置管理 | 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 | 支持 | 无 | +| 在线用户管理 | 已登录系统的在线用户信息监控与强制踢出操作 | 支持 | 支持 | +| 定时任务 | 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 | 支持 | 仅支持任务与日志管理 | +| 代码生成 | 多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载 | 支持 | 仅支持单数据源 | +| 系统接口 | 根据业务代码自动生成相关的api接口文档 | 支持 | 支持 | +| 服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 | 支持 | 仅支持单机CPU、内存、磁盘监控 | +| 缓存监控 | 对系统的缓存信息查询,命令统计等。 | 支持 | 支持 | +| 在线构建器 | 拖动表单元素生成相应的HTML代码。 | 支持 | 支持 | +| 使用案例 | 系统的一些功能案例 | 支持 | 不支持 | + +## 演示图例 + +| | | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| ![输入图片说明](https://foruda.gitee.com/images/1680077524361362822/270bb429_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680077619939771291/989bf9b6_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680077681751513929/1c27c5bd_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680077721559267315/74d63e23_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680077765638904515/1b75d4a6_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078026375951297/eded7a4b_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078237104531207/0eb1b6a7_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078254306078709/5931e22f_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078287971528493/0b9af60a_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078308138770249/8d3b6696_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078352553634393/db5ef880_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078378238393374/601e4357_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078414983206024/2aae27c1_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078446738419874/ecce7d59_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078475971341775/149e8634_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078491666717143/3fadece7_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078558863188826/fb8ced2a_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078574561685461/ae68a0b2_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078594932772013/9d8bfec6_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078626493093532/fcfe4ff6_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078643608812515/0295bd4f_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078685196286463/d7612c81_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078703877318597/56fce0bc_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078716586545643/b6dbd68f_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078734103217688/eb1e6aa6_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078759131415480/73c525d8_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078779416197879/75e3ed02_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078802329118061/77e10915_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078893627848351/34a1c342_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078928175016986/f126ec4a_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078941718318363/b68a0f72_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680078963175518631/3bb769a1_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680078982294090567/b31c343d_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680079000642440444/77ca82a9_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680079020995074177/03b7d52e_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680079039367822173/76811806_1766278.png '屏幕截图') | +| ![输入图片说明](https://foruda.gitee.com/images/1680079274333484664/4dfdc7c0_1766278.png '屏幕截图') | ![输入图片说明](https://foruda.gitee.com/images/1680079290467458224/d6715fcf_1766278.png '屏幕截图') | diff --git a/bin/build.bat b/bin/build.bat new file mode 100644 index 0000000..ecbb454 --- /dev/null +++ b/bin/build.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅdistļ +echo. + +%~d0 +cd %~dp0 + +cd .. +yarn build:prod + +pause \ No newline at end of file diff --git a/bin/package.bat b/bin/package.bat new file mode 100644 index 0000000..f5b24e0 --- /dev/null +++ b/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] װWeḅnode_modulesļ +echo. + +%~d0 +cd %~dp0 + +cd .. +yarn --registry=https://registry.npmmirror.com + +pause \ No newline at end of file diff --git a/bin/run-web.bat b/bin/run-web.bat new file mode 100644 index 0000000..d2fe397 --- /dev/null +++ b/bin/run-web.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] ʹ Vite Web ̡ +echo. + +%~d0 +cd %~dp0 + +cd .. +yarn dev + +pause \ No newline at end of file diff --git a/html/ie.html b/html/ie.html new file mode 100644 index 0000000..4d2773d --- /dev/null +++ b/html/ie.html @@ -0,0 +1,242 @@ + + + + + 请升级您的浏览器 + + + + + + +

请升级您的浏览器,以便我们更好的为您提供服务!

+

您正在使用 Internet Explorer 的早期版本(IE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。

+
+

请注意:微软公司对Windows XP 及 Internet Explorer 早期版本的支持已经结束

+

+ 自 2016 年 1 月 12 日起,Microsoft 不再为 IE 11 + 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 + 微软对 Internet Explorer 早期版本的支持将于 2016 年 1 月 12 日结束的说明 + 。 +

+
+

您可以选择更先进的浏览器

+

推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。

+ +
+ + diff --git a/index.html b/index.html new file mode 100644 index 0000000..aa1c86d --- /dev/null +++ b/index.html @@ -0,0 +1,214 @@ + + + + + + + + + RuoYi-Vue-Plus多租户管理系统 + + + + + +
+
+
+
+
+
正在加载系统资源,请耐心等待
+
+
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..5154ed0 --- /dev/null +++ b/package.json @@ -0,0 +1,101 @@ +{ + "name": "ruoyi-vue-plus", + "version": "5.2.0-BETA", + "description": "RuoYi-Vue-Plus多租户管理系统", + "author": "LionLi", + "license": "MIT", + "type": "module", + "scripts": { + "dev": "vite serve --mode development", + "build:prod": "vite build --mode production", + "build:dev": "vite build --mode development", + "preview": "vite preview", + "lint:eslint": "eslint --fix --ext .ts,.js,.vue ./src ", + "prettier": "prettier --write ." + }, + "repository": { + "type": "git", + "url": "https://gitee.com/JavaLionLi/plus-ui.git" + }, + "dependencies": { + "@element-plus/icons-vue": "2.3.1", + "@highlightjs/vue-plugin": "2.1.0", + "@lezer/common": "1.2.1", + "@vueup/vue-quill": "1.2.0", + "@vueuse/core": "10.9.0", + "animate.css": "4.1.1", + "await-to-js": "3.0.0", + "axios": "1.6.8", + "bpmn-js": "16.4.0", + "camunda-bpmn-js-behaviors": "1.2.2", + "camunda-bpmn-moddle": "7.0.1", + "crypto-js": "4.2.0", + "diagram-js": "12.3.0", + "didi": "9.0.2", + "echarts": "5.5.0", + "element-plus": "2.7.2", + "file-saver": "2.0.5", + "fuse.js": "7.0.0", + "highlight.js": "11.9.0", + "image-conversion": "^2.1.1", + "js-cookie": "3.0.5", + "jsencrypt": "3.3.2", + "moddle": "6.2.3", + "nprogress": "0.2.0", + "path-browserify": "1.0.1", + "path-to-regexp": "6.2.1", + "pinia": "2.1.7", + "preact": "10.19.7", + "screenfull": "6.0.2", + "vform3-builds": "3.0.10", + "vue": "3.4.25", + "vue-cropper": "1.1.1", + "vue-i18n": "9.10.2", + "vue-router": "4.3.2", + "vue-types": "5.1.1", + "vxe-table": "4.5.22", + "zeebe-bpmn-moddle": "1.0.0" + }, + "devDependencies": { + "@iconify/json": "2.2.201", + "@intlify/unplugin-vue-i18n": "3.0.1", + "@types/crypto-js": "4.2.2", + "@types/file-saver": "2.0.7", + "@types/js-cookie": "3.0.6", + "@types/node": "18.18.2", + "@types/nprogress": "0.2.3", + "@types/path-browserify": "1.0.2", + "@typescript-eslint/eslint-plugin": "7.3.1", + "@typescript-eslint/parser": "7.3.1", + "@unocss/preset-attributify": "0.58.6", + "@unocss/preset-icons": "0.58.6", + "@unocss/preset-uno": "0.58.6", + "@vitejs/plugin-vue": "5.0.4", + "@vue/compiler-sfc": "3.4.23", + "autoprefixer": "10.4.18", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "eslint-define-config": "2.1.0", + "eslint-plugin-prettier": "5.1.3", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-vue": "9.23.0", + "fast-glob": "3.3.2", + "postcss": "8.4.36", + "prettier": "3.2.5", + "sass": "1.72.0", + "typescript": "5.4.5", + "unocss": "0.58.6", + "unplugin-auto-import": "0.17.5", + "unplugin-icons": "0.18.5", + "unplugin-vue-components": "0.26.0", + "unplugin-vue-setup-extend-plus": "1.0.1", + "vite": "5.2.10", + "vite-plugin-compression": "0.5.1", + "vite-plugin-svg-icons": "2.0.1", + "vitest": "1.5.0", + "vue-eslint-parser": "9.4.2", + "vue-tsc": "2.0.13" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3f919d85a5d1e093fd8d80ebcbe9987a3bdbb54f GIT binary patch literal 8131 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 d+2AD?_zza + + + + + + diff --git a/src/animate.ts b/src/animate.ts new file mode 100644 index 0000000..7a23df8 --- /dev/null +++ b/src/animate.ts @@ -0,0 +1,48 @@ +// 前缀 +const animatePrefix = 'animate__animated '; +// 开启随机动画 随机动画值 +const animateList: string[] = [ + animatePrefix + 'animate__pulse', + animatePrefix + 'animate__rubberBand', + animatePrefix + 'animate__bounceIn', + animatePrefix + 'animate__bounceInLeft', + animatePrefix + 'animate__fadeIn', + animatePrefix + 'animate__fadeInLeft', + animatePrefix + 'animate__fadeInDown', + animatePrefix + 'animate__fadeInUp', + animatePrefix + 'animate__flipInX', + animatePrefix + 'animate__lightSpeedInLeft', + animatePrefix + 'animate__rotateInDownLeft', + animatePrefix + 'animate__rollIn', + animatePrefix + 'animate__rotateInDownLeft', + animatePrefix + 'animate__zoomIn', + animatePrefix + 'animate__zoomInDown', + animatePrefix + 'animate__slideInLeft', + animatePrefix + 'animate__lightSpeedIn' +]; +// 关闭随机动画后的默认效果 +const defaultAnimate = animatePrefix + 'animate__fadeIn'; +// 搜索隐藏显示动画 +const searchAnimate = { + enter: '', + leave: '' +}; + +// 菜单搜索动画 +const menuSearchAnimate = { + enter: animatePrefix + 'animate__fadeIn', + leave: animatePrefix + 'animate__fadeOut' +}; +// logo动画 +const logoAnimate = { + enter: animatePrefix + 'animate__fadeIn', + leave: animatePrefix + 'animate__fadeOut' +}; + +export default { + animateList, + defaultAnimate, + searchAnimate, + menuSearchAnimate, + logoAnimate +}; diff --git a/src/api/demo/demo/index.ts b/src/api/demo/demo/index.ts new file mode 100644 index 0000000..7441720 --- /dev/null +++ b/src/api/demo/demo/index.ts @@ -0,0 +1,62 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DemoVO, DemoForm, DemoQuery } from '@/api/demo/demo/types'; + +/** + * 查询测试单列表 + * @param query + * @returns {*} + */ +export const listDemo = (query?: DemoQuery): AxiosPromise => { + return request({ + url: '/demo/demo/list', + method: 'get', + params: query + }); +}; + +/** + * 查询测试单详细 + * @param id + */ +export const getDemo = (id: string | number): AxiosPromise => { + return request({ + url: '/demo/demo/' + id, + method: 'get' + }); +}; + +/** + * 新增测试单 + * @param data + */ +export const addDemo = (data: DemoForm) => { + return request({ + url: '/demo/demo', + method: 'post', + data: data + }); +}; + +/** + * 修改测试单 + * @param data + */ +export const updateDemo = (data: DemoForm) => { + return request({ + url: '/demo/demo', + method: 'put', + data: data + }); +}; + +/** + * 删除测试单 + * @param id + */ +export const delDemo = (id: string | number | Array) => { + return request({ + url: '/demo/demo/' + id, + method: 'delete' + }); +}; diff --git a/src/api/demo/demo/types.ts b/src/api/demo/demo/types.ts new file mode 100644 index 0000000..ea51d32 --- /dev/null +++ b/src/api/demo/demo/types.ts @@ -0,0 +1,90 @@ +export interface DemoVO { + /** + * 主键 + */ + id: string | number; + + /** + * 部门id + */ + deptId: string | number; + + /** + * 用户id + */ + userId: string | number; + + /** + * 排序号 + */ + orderNum: number; + + /** + * key键 + */ + testKey: string; + + /** + * 值 + */ + value: string; +} + +export interface DemoForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 部门id + */ + deptId?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 排序号 + */ + orderNum?: number; + + /** + * key键 + */ + testKey?: string; + + /** + * 值 + */ + value?: string; +} + +export interface DemoQuery extends PageQuery { + /** + * 部门id + */ + deptId?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 排序号 + */ + orderNum?: number; + + /** + * key键 + */ + testKey?: string; + + /** + * 值 + */ + value?: string; +} diff --git a/src/api/demo/tree/index.ts b/src/api/demo/tree/index.ts new file mode 100644 index 0000000..562deb6 --- /dev/null +++ b/src/api/demo/tree/index.ts @@ -0,0 +1,62 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { TreeVO, TreeForm, TreeQuery } from '@/api/demo/tree/types'; + +/** + * 查询测试树列表 + * @param query + * @returns {*} + */ +export const listTree = (query?: TreeQuery): AxiosPromise => { + return request({ + url: '/demo/tree/list', + method: 'get', + params: query + }); +}; + +/** + * 查询测试树详细 + * @param id + */ +export const getTree = (id: string | number): AxiosPromise => { + return request({ + url: '/demo/tree/' + id, + method: 'get' + }); +}; + +/** + * 新增测试树 + * @param data + */ +export const addTree = (data: TreeForm) => { + return request({ + url: '/demo/tree', + method: 'post', + data: data + }); +}; + +/** + * 修改测试树 + * @param data + */ +export const updateTree = (data: TreeForm) => { + return request({ + url: '/demo/tree', + method: 'put', + data: data + }); +}; + +/** + * 删除测试树 + * @param id + */ +export const delTree = (id: string | number | Array) => { + return request({ + url: '/demo/tree/' + id, + method: 'delete' + }); +}; diff --git a/src/api/demo/tree/types.ts b/src/api/demo/tree/types.ts new file mode 100644 index 0000000..e164d8b --- /dev/null +++ b/src/api/demo/tree/types.ts @@ -0,0 +1,80 @@ +export interface TreeVO { + /** + * 主键 + */ + id: string | number; + + /** + * 父id + */ + parentId: string | number; + + /** + * 部门id + */ + deptId: string | number; + + /** + * 用户id + */ + userId: string | number; + + /** + * 值 + */ + treeName: string; + + /** + * 子对象 + */ + children: TreeVO[]; +} + +export interface TreeForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 父id + */ + parentId?: string | number; + + /** + * 部门id + */ + deptId?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 值 + */ + treeName?: string; +} + +export interface TreeQuery { + /** + * 父id + */ + parentId?: string | number; + + /** + * 部门id + */ + deptId?: string | number; + + /** + * 用户id + */ + userId?: string | number; + + /** + * 值 + */ + treeName?: string; +} diff --git a/src/api/login.ts b/src/api/login.ts new file mode 100644 index 0000000..b6955de --- /dev/null +++ b/src/api/login.ts @@ -0,0 +1,107 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { LoginData, LoginResult, VerifyCodeResult, TenantInfo } from './types'; +import { UserInfo } from '@/api/system/user/types'; + +// pc端固定客户端授权id +const clientId = import.meta.env.VITE_APP_CLIENT_ID; + +/** + * @param data {LoginData} + * @returns + */ +export function login(data: LoginData): AxiosPromise { + const params = { + ...data, + clientId: data.clientId || clientId, + grantType: data.grantType || 'password' + }; + return request({ + url: '/auth/login', + headers: { + isToken: false, + isEncrypt: true, + repeatSubmit: false + }, + method: 'post', + data: params + }); +} + +// 注册方法 +export function register(data: any) { + const params = { + ...data, + clientId: clientId, + grantType: 'password' + }; + return request({ + url: '/auth/register', + headers: { + isToken: false, + isEncrypt: true, + repeatSubmit: false + }, + method: 'post', + data: params + }); +} + +/** + * 注销 + */ +export function logout() { + return request({ + url: '/auth/logout', + method: 'post' + }); +} + +/** + * 获取验证码 + */ +export function getCodeImg(): AxiosPromise { + return request({ + url: '/auth/code', + headers: { + isToken: false + }, + method: 'get', + timeout: 20000 + }); +} + +/** + * 第三方登录 + */ +export function callback(data: LoginData): AxiosPromise { + const LoginData = { + ...data, + clientId: clientId, + grantType: 'social' + }; + return request({ + url: '/auth/social/callback', + method: 'post', + data: LoginData + }); +} + +// 获取用户详细信息 +export function getInfo(): AxiosPromise { + return request({ + url: '/system/user/getInfo', + method: 'get' + }); +} + +// 获取租户列表 +export function getTenantList(): AxiosPromise { + return request({ + url: '/auth/tenant/list', + headers: { + isToken: false + }, + method: 'get' + }); +} diff --git a/src/api/menu.ts b/src/api/menu.ts new file mode 100644 index 0000000..a3ae80e --- /dev/null +++ b/src/api/menu.ts @@ -0,0 +1,11 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { RouteRecordRaw } from 'vue-router'; + +// 获取路由 +export function getRouters(): AxiosPromise { + return request({ + url: '/system/menu/getRouters', + method: 'get' + }); +} diff --git a/src/api/monitor/cache/index.ts b/src/api/monitor/cache/index.ts new file mode 100644 index 0000000..e45d6fb --- /dev/null +++ b/src/api/monitor/cache/index.ts @@ -0,0 +1,59 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CacheVO } from './types'; + +// 查询缓存详细 +export function getCache(): AxiosPromise { + return request({ + url: '/monitor/cache', + method: 'get' + }); +} + +// 查询缓存名称列表 +export function listCacheName() { + return request({ + url: '/monitor/cache/getNames', + method: 'get' + }); +} + +// 查询缓存键名列表 +export function listCacheKey(cacheName: string) { + return request({ + url: '/monitor/cache/getKeys/' + cacheName, + method: 'get' + }); +} + +// 查询缓存内容 +export function getCacheValue(cacheName: string, cacheKey: string) { + return request({ + url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey, + method: 'get' + }); +} + +// 清理指定名称缓存 +export function clearCacheName(cacheName: string) { + return request({ + url: '/monitor/cache/clearCacheName/' + cacheName, + method: 'delete' + }); +} + +// 清理指定键名缓存 +export function clearCacheKey(cacheName: string, cacheKey: string) { + return request({ + url: '/monitor/cache/clearCacheKey/' + cacheName + '/' + cacheKey, + method: 'delete' + }); +} + +// 清理全部缓存 +export function clearCacheAll() { + return request({ + url: '/monitor/cache/clearCacheAll', + method: 'delete' + }); +} diff --git a/src/api/monitor/cache/types.ts b/src/api/monitor/cache/types.ts new file mode 100644 index 0000000..4017b65 --- /dev/null +++ b/src/api/monitor/cache/types.ts @@ -0,0 +1,7 @@ +export interface CacheVO { + commandStats: Array<{ name: string; value: string }>; + + dbSize: number; + + info: { [key: string]: string }; +} diff --git a/src/api/monitor/loginInfo/index.ts b/src/api/monitor/loginInfo/index.ts new file mode 100644 index 0000000..f8877c9 --- /dev/null +++ b/src/api/monitor/loginInfo/index.ts @@ -0,0 +1,36 @@ +import request from '@/utils/request'; +import { LoginInfoQuery, LoginInfoVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询登录日志列表 +export function list(query: LoginInfoQuery): AxiosPromise { + return request({ + url: '/monitor/logininfor/list', + method: 'get', + params: query + }); +} + +// 删除登录日志 +export function delLoginInfo(infoId: string | number | Array) { + return request({ + url: '/monitor/logininfor/' + infoId, + method: 'delete' + }); +} + +// 解锁用户登录状态 +export function unlockLoginInfo(userName: string | Array) { + return request({ + url: '/monitor/logininfor/unlock/' + userName, + method: 'get' + }); +} + +// 清空登录日志 +export function cleanLoginInfo() { + return request({ + url: '/monitor/logininfor/clean', + method: 'delete' + }); +} diff --git a/src/api/monitor/loginInfo/types.ts b/src/api/monitor/loginInfo/types.ts new file mode 100644 index 0000000..202c779 --- /dev/null +++ b/src/api/monitor/loginInfo/types.ts @@ -0,0 +1,20 @@ +export interface LoginInfoVO { + infoId: string | number; + tenantId: string | number; + userName: string; + status: string; + ipaddr: string; + loginLocation: string; + browser: string; + os: string; + msg: string; + loginTime: string; +} + +export interface LoginInfoQuery extends PageQuery { + ipaddr: string; + userName: string; + status: string; + orderByColumn: string; + isAsc: string; +} diff --git a/src/api/monitor/online/index.ts b/src/api/monitor/online/index.ts new file mode 100644 index 0000000..7484702 --- /dev/null +++ b/src/api/monitor/online/index.ts @@ -0,0 +1,36 @@ +import request from '@/utils/request'; +import { OnlineQuery, OnlineVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询在线用户列表 +export function list(query: OnlineQuery): AxiosPromise { + return request({ + url: '/monitor/online/list', + method: 'get', + params: query + }); +} + +// 强退用户 +export function forceLogout(tokenId: string) { + return request({ + url: '/monitor/online/' + tokenId, + method: 'delete' + }); +} + +// 获取当前用户登录在线设备 +export function getOnline() { + return request({ + url: '/monitor/online', + method: 'get' + }); +} + +// 删除当前在线设备 +export function delOnline(tokenId: string) { + return request({ + url: '/monitor/online/' + tokenId, + method: 'post' + }); +} diff --git a/src/api/monitor/online/types.ts b/src/api/monitor/online/types.ts new file mode 100644 index 0000000..8c0ec27 --- /dev/null +++ b/src/api/monitor/online/types.ts @@ -0,0 +1,15 @@ +export interface OnlineQuery extends PageQuery { + ipaddr: string; + userName: string; +} + +export interface OnlineVO extends BaseEntity { + tokenId: string; + deptName: string; + userName: string; + ipaddr: string; + loginLocation: string; + browser: string; + os: string; + loginTime: number; +} diff --git a/src/api/monitor/operlog/index.ts b/src/api/monitor/operlog/index.ts new file mode 100644 index 0000000..7ac3453 --- /dev/null +++ b/src/api/monitor/operlog/index.ts @@ -0,0 +1,28 @@ +import request from '@/utils/request'; +import { OperLogQuery, OperLogVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询操作日志列表 +export function list(query: OperLogQuery): AxiosPromise { + return request({ + url: '/monitor/operlog/list', + method: 'get', + params: query + }); +} + +// 删除操作日志 +export function delOperlog(operId: string | number | Array) { + return request({ + url: '/monitor/operlog/' + operId, + method: 'delete' + }); +} + +// 清空操作日志 +export function cleanOperlog() { + return request({ + url: '/monitor/operlog/clean', + method: 'delete' + }); +} diff --git a/src/api/monitor/operlog/types.ts b/src/api/monitor/operlog/types.ts new file mode 100644 index 0000000..10f65c7 --- /dev/null +++ b/src/api/monitor/operlog/types.ts @@ -0,0 +1,53 @@ +export interface OperLogQuery extends PageQuery { + operIp: string; + title: string; + operName: string; + businessType: string; + status: string; + orderByColumn: string; + isAsc: string; +} + +export interface OperLogVO extends BaseEntity { + operId: string | number; + tenantId: string; + title: string; + businessType: number; + businessTypes: number[] | undefined; + method: string; + requestMethod: string; + operatorType: number; + operName: string; + deptName: string; + operUrl: string; + operIp: string; + operLocation: string; + operParam: string; + jsonResult: string; + status: number; + errorMsg: string; + operTime: string; + costTime: number; +} + +export interface OperLogForm { + operId: number | string | undefined; + tenantId: string | number | undefined; + title: string; + businessType: number; + businessTypes: number[] | undefined; + method: string; + requestMethod: string; + operatorType: number; + operName: string; + deptName: string; + operUrl: string; + operIp: string; + operLocation: string; + operParam: string; + jsonResult: string; + status: number; + errorMsg: string; + operTime: string; + costTime: number; +} diff --git a/src/api/system/client/index.ts b/src/api/system/client/index.ts new file mode 100644 index 0000000..6b302b0 --- /dev/null +++ b/src/api/system/client/index.ts @@ -0,0 +1,80 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ClientVO, ClientForm, ClientQuery } from '@/api/system/client/types'; + +/** + * 查询客户端管理列表 + * @param query + * @returns {*} + */ + +export const listClient = (query?: ClientQuery): AxiosPromise => { + return request({ + url: '/system/client/list', + method: 'get', + params: query + }); +}; + +/** + * 查询客户端管理详细 + * @param id + */ +export const getClient = (id: string | number): AxiosPromise => { + return request({ + url: '/system/client/' + id, + method: 'get' + }); +}; + +/** + * 新增客户端管理 + * @param data + */ +export const addClient = (data: ClientForm) => { + return request({ + url: '/system/client', + method: 'post', + data: data + }); +}; + +/** + * 修改客户端管理 + * @param data + */ +export const updateClient = (data: ClientForm) => { + return request({ + url: '/system/client', + method: 'put', + data: data + }); +}; + +/** + * 删除客户端管理 + * @param id + */ +export const delClient = (id: string | number | Array) => { + return request({ + url: '/system/client/' + id, + method: 'delete' + }); +}; + +/** + * 状态修改 + * @param clientId 客户端id + * @param status 状态 + */ +export function changeStatus(clientId: string, status: string) { + const data = { + clientId, + status + }; + return request({ + url: '/system/client/changeStatus', + method: 'put', + data: data + }); +} diff --git a/src/api/system/client/types.ts b/src/api/system/client/types.ts new file mode 100644 index 0000000..142118d --- /dev/null +++ b/src/api/system/client/types.ts @@ -0,0 +1,135 @@ +export interface ClientVO { + /** + * id + */ + id: string | number; + + /** + * 客户端id + */ + clientId: string; + + /** + * 客户端key + */ + clientKey: string; + + /** + * 客户端秘钥 + */ + clientSecret: string; + + /** + * 授权类型 + */ + grantTypeList: string[]; + + /** + * 设备类型 + */ + deviceType: string; + + /** + * token活跃超时时间 + */ + activeTimeout: number; + + /** + * token固定超时 + */ + timeout: number; + + /** + * 状态(0正常 1停用) + */ + status: string; +} + +export interface ClientForm extends BaseEntity { + /** + * id + */ + id?: string | number; + + /** + * 客户端id + */ + clientId?: string | number; + + /** + * 客户端key + */ + clientKey?: string; + + /** + * 客户端秘钥 + */ + clientSecret?: string; + + /** + * 授权类型 + */ + grantTypeList?: string[]; + + /** + * 设备类型 + */ + deviceType?: string; + + /** + * token活跃超时时间 + */ + activeTimeout?: number; + + /** + * token固定超时 + */ + timeout?: number; + + /** + * 状态(0正常 1停用) + */ + status?: string; +} + +export interface ClientQuery extends PageQuery { + /** + * 客户端id + */ + clientId?: string | number; + + /** + * 客户端key + */ + clientKey?: string; + + /** + * 客户端秘钥 + */ + clientSecret?: string; + + /** + * 授权类型 + */ + grantType?: string; + + /** + * 设备类型 + */ + deviceType?: string; + + /** + * token活跃超时时间 + */ + activeTimeout?: number; + + /** + * token固定超时 + */ + timeout?: number; + + /** + * 状态(0正常 1停用) + */ + status?: string; +} diff --git a/src/api/system/config/index.ts b/src/api/system/config/index.ts new file mode 100644 index 0000000..1e4842d --- /dev/null +++ b/src/api/system/config/index.ts @@ -0,0 +1,74 @@ +import request from '@/utils/request'; +import { ConfigForm, ConfigQuery, ConfigVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询参数列表 +export function listConfig(query: ConfigQuery): AxiosPromise { + return request({ + url: '/system/config/list', + method: 'get', + params: query + }); +} + +// 查询参数详细 +export function getConfig(configId: string | number): AxiosPromise { + return request({ + url: '/system/config/' + configId, + method: 'get' + }); +} + +// 根据参数键名查询参数值 +export function getConfigKey(configKey: string): AxiosPromise { + return request({ + url: '/system/config/configKey/' + configKey, + method: 'get' + }); +} + +// 新增参数配置 +export function addConfig(data: ConfigForm) { + return request({ + url: '/system/config', + method: 'post', + data: data + }); +} + +// 修改参数配置 +export function updateConfig(data: ConfigForm) { + return request({ + url: '/system/config', + method: 'put', + data: data + }); +} + +// 修改参数配置 +export function updateConfigByKey(key: string, value: any) { + return request({ + url: '/system/config/updateByKey', + method: 'put', + data: { + configKey: key, + configValue: value + } + }); +} + +// 删除参数配置 +export function delConfig(configId: string | number | Array) { + return request({ + url: '/system/config/' + configId, + method: 'delete' + }); +} + +// 刷新参数缓存 +export function refreshCache() { + return request({ + url: '/system/config/refreshCache', + method: 'delete' + }); +} diff --git a/src/api/system/config/types.ts b/src/api/system/config/types.ts new file mode 100644 index 0000000..b68f073 --- /dev/null +++ b/src/api/system/config/types.ts @@ -0,0 +1,23 @@ +export interface ConfigVO extends BaseEntity { + configId: number | string; + configName: string; + configKey: string; + configValue: string; + configType: string; + remark: string; +} + +export interface ConfigForm { + configId: number | string | undefined; + configName: string; + configKey: string; + configValue: string; + configType: string; + remark: string; +} + +export interface ConfigQuery extends PageQuery { + configName: string; + configKey: string; + configType: string; +} diff --git a/src/api/system/dept/index.ts b/src/api/system/dept/index.ts new file mode 100644 index 0000000..7e097fd --- /dev/null +++ b/src/api/system/dept/index.ts @@ -0,0 +1,62 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DeptForm, DeptQuery, DeptVO } from './types'; + +// 查询部门列表 +export const listDept = (query?: DeptQuery) => { + return request({ + url: '/system/dept/list', + method: 'get', + params: query + }); +}; + +// 查询部门列表(排除节点) +export const listDeptExcludeChild = (deptId: string | number): AxiosPromise => { + return request({ + url: '/system/dept/list/exclude/' + deptId, + method: 'get' + }); +}; + +// 查询部门详细 +export const getDept = (deptId: string | number): AxiosPromise => { + return request({ + url: '/system/dept/' + deptId, + method: 'get' + }); +}; + +// 查询部门下拉树结构 +export const treeselect = (): AxiosPromise => { + return request({ + url: '/system/dept/treeselect', + method: 'get' + }); +}; + +// 新增部门 +export const addDept = (data: DeptForm) => { + return request({ + url: '/system/dept', + method: 'post', + data: data + }); +}; + +// 修改部门 +export const updateDept = (data: DeptForm) => { + return request({ + url: '/system/dept', + method: 'put', + data: data + }); +}; + +// 删除部门 +export const delDept = (deptId: number | string) => { + return request({ + url: '/system/dept/' + deptId, + method: 'delete' + }); +}; diff --git a/src/api/system/dept/types.ts b/src/api/system/dept/types.ts new file mode 100644 index 0000000..494745c --- /dev/null +++ b/src/api/system/dept/types.ts @@ -0,0 +1,48 @@ +/** + * 部门查询参数 + */ +export interface DeptQuery extends PageQuery { + deptName?: string; + deptCategory?: string; + status?: number; +} + +/** + * 部门类型 + */ +export interface DeptVO extends BaseEntity { + id: number | string; + parentName: string; + parentId: number | string; + children: DeptVO[]; + deptId: number | string; + deptName: string; + deptCategory: string; + orderNum: number; + leader: string; + phone: string; + email: string; + status: string; + delFlag: string; + ancestors: string; + menuId: string | number; +} + +/** + * 部门表单类型 + */ +export interface DeptForm { + parentName?: string; + parentId?: number | string; + children?: DeptForm[]; + deptId?: number | string; + deptName?: string; + deptCategory?: string; + orderNum?: number; + leader?: string; + phone?: string; + email?: string; + status?: string; + delFlag?: string; + ancestors?: string; +} diff --git a/src/api/system/dict/data/index.ts b/src/api/system/dict/data/index.ts new file mode 100644 index 0000000..7692abc --- /dev/null +++ b/src/api/system/dict/data/index.ts @@ -0,0 +1,53 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DictDataForm, DictDataQuery, DictDataVO } from './types'; +// 根据字典类型查询字典数据信息 +export function getDicts(dictType: string): AxiosPromise { + return request({ + url: '/system/dict/data/type/' + dictType, + method: 'get' + }); +} + +// 查询字典数据列表 +export function listData(query: DictDataQuery): AxiosPromise { + return request({ + url: '/system/dict/data/list', + method: 'get', + params: query + }); +} + +// 查询字典数据详细 +export function getData(dictCode: string | number): AxiosPromise { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'get' + }); +} + +// 新增字典数据 +export function addData(data: DictDataForm) { + return request({ + url: '/system/dict/data', + method: 'post', + data: data + }); +} + +// 修改字典数据 +export function updateData(data: DictDataForm) { + return request({ + url: '/system/dict/data', + method: 'put', + data: data + }); +} + +// 删除字典数据 +export function delData(dictCode: string | number | Array) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'delete' + }); +} diff --git a/src/api/system/dict/data/types.ts b/src/api/system/dict/data/types.ts new file mode 100644 index 0000000..e4abb9b --- /dev/null +++ b/src/api/system/dict/data/types.ts @@ -0,0 +1,26 @@ +export interface DictDataQuery extends PageQuery { + dictName: string; + dictType: string; + dictLabel: string; +} + +export interface DictDataVO extends BaseEntity { + dictCode: string; + dictLabel: string; + dictValue: string; + cssClass: string; + listClass: ElTagType; + dictSort: number; + remark: string; +} + +export interface DictDataForm { + dictType?: string; + dictCode: string | undefined; + dictLabel: string; + dictValue: string; + cssClass: string; + listClass: ElTagType; + dictSort: number; + remark: string; +} diff --git a/src/api/system/dict/type/index.ts b/src/api/system/dict/type/index.ts new file mode 100644 index 0000000..7dc3d66 --- /dev/null +++ b/src/api/system/dict/type/index.ts @@ -0,0 +1,62 @@ +import request from '@/utils/request'; +import { DictTypeForm, DictTypeVO, DictTypeQuery } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询字典类型列表 +export function listType(query: DictTypeQuery): AxiosPromise { + return request({ + url: '/system/dict/type/list', + method: 'get', + params: query + }); +} + +// 查询字典类型详细 +export function getType(dictId: number | string): AxiosPromise { + return request({ + url: '/system/dict/type/' + dictId, + method: 'get' + }); +} + +// 新增字典类型 +export function addType(data: DictTypeForm) { + return request({ + url: '/system/dict/type', + method: 'post', + data: data + }); +} + +// 修改字典类型 +export function updateType(data: DictTypeForm) { + return request({ + url: '/system/dict/type', + method: 'put', + data: data + }); +} + +// 删除字典类型 +export function delType(dictId: string | number | Array) { + return request({ + url: '/system/dict/type/' + dictId, + method: 'delete' + }); +} + +// 刷新字典缓存 +export function refreshCache() { + return request({ + url: '/system/dict/type/refreshCache', + method: 'delete' + }); +} + +// 获取字典选择框列表 +export function optionselect(): AxiosPromise { + return request({ + url: '/system/dict/type/optionselect', + method: 'get' + }); +} diff --git a/src/api/system/dict/type/types.ts b/src/api/system/dict/type/types.ts new file mode 100644 index 0000000..4987dbf --- /dev/null +++ b/src/api/system/dict/type/types.ts @@ -0,0 +1,18 @@ +export interface DictTypeVO extends BaseEntity { + dictId: number | string; + dictName: string; + dictType: string; + remark: string; +} + +export interface DictTypeForm { + dictId: number | string | undefined; + dictName: string; + dictType: string; + remark: string; +} + +export interface DictTypeQuery extends PageQuery { + dictName: string; + dictType: string; +} diff --git a/src/api/system/menu/index.ts b/src/api/system/menu/index.ts new file mode 100644 index 0000000..7a0cf74 --- /dev/null +++ b/src/api/system/menu/index.ts @@ -0,0 +1,70 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MenuQuery, MenuVO, MenuForm, MenuTreeOption, RoleMenuTree } from './types'; + +// 查询菜单列表 +export const listMenu = (query?: MenuQuery): AxiosPromise => { + return request({ + url: '/system/menu/list', + method: 'get', + params: query + }); +}; + +// 查询菜单详细 +export const getMenu = (menuId: string | number): AxiosPromise => { + return request({ + url: '/system/menu/' + menuId, + method: 'get' + }); +}; + +// 查询菜单下拉树结构 +export const treeselect = (): AxiosPromise => { + return request({ + url: '/system/menu/treeselect', + method: 'get' + }); +}; + +// 根据角色ID查询菜单下拉树结构 +export const roleMenuTreeselect = (roleId: string | number): AxiosPromise => { + return request({ + url: '/system/menu/roleMenuTreeselect/' + roleId, + method: 'get' + }); +}; + +// 根据角色ID查询菜单下拉树结构 +export const tenantPackageMenuTreeselect = (packageId: string | number): AxiosPromise => { + return request({ + url: '/system/menu/tenantPackageMenuTreeselect/' + packageId, + method: 'get' + }); +}; + +// 新增菜单 +export const addMenu = (data: MenuForm) => { + return request({ + url: '/system/menu', + method: 'post', + data: data + }); +}; + +// 修改菜单 +export const updateMenu = (data: MenuForm) => { + return request({ + url: '/system/menu', + method: 'put', + data: data + }); +}; + +// 删除菜单 +export const delMenu = (menuId: string | number) => { + return request({ + url: '/system/menu/' + menuId, + method: 'delete' + }); +}; diff --git a/src/api/system/menu/types.ts b/src/api/system/menu/types.ts new file mode 100644 index 0000000..ca19840 --- /dev/null +++ b/src/api/system/menu/types.ts @@ -0,0 +1,69 @@ +import { MenuTypeEnum } from '@/enums/MenuTypeEnum'; + +/** + * 菜单树形结构类型 + */ +export interface MenuTreeOption { + id: string | number; + label: string; + parentId: string | number; + weight: number; + children?: MenuTreeOption[]; +} + +export interface RoleMenuTree { + menus: MenuTreeOption[]; + checkedKeys: string[]; +} + +/** + * 菜单查询参数类型 + */ +export interface MenuQuery { + keywords?: string; + menuName?: string; + status?: string; +} + +/** + * 菜单视图对象类型 + */ +export interface MenuVO extends BaseEntity { + parentName: string; + parentId: string | number; + children: MenuVO[]; + menuId: string | number; + menuName: string; + orderNum: number; + path: string; + component: string; + queryParam: string; + isFrame: string; + isCache: string; + menuType: MenuTypeEnum; + visible: string; + status: string; + icon: string; + remark: string; +} + +export interface MenuForm { + parentName?: string; + parentId?: string | number; + children?: MenuForm[]; + menuId?: string | number; + menuName: string; + orderNum: number; + path: string; + component?: string; + queryParam?: string; + isFrame?: string; + isCache?: string; + menuType?: MenuTypeEnum; + visible?: string; + status?: string; + icon?: string; + remark?: string; + query?: string; + perms?: string; +} diff --git a/src/api/system/notice/index.ts b/src/api/system/notice/index.ts new file mode 100644 index 0000000..285d1f4 --- /dev/null +++ b/src/api/system/notice/index.ts @@ -0,0 +1,45 @@ +import request from '@/utils/request'; +import { NoticeForm, NoticeQuery, NoticeVO } from './types'; +import { AxiosPromise } from 'axios'; +// 查询公告列表 +export function listNotice(query: NoticeQuery): AxiosPromise { + return request({ + url: '/system/notice/list', + method: 'get', + params: query + }); +} + +// 查询公告详细 +export function getNotice(noticeId: string | number): AxiosPromise { + return request({ + url: '/system/notice/' + noticeId, + method: 'get' + }); +} + +// 新增公告 +export function addNotice(data: NoticeForm) { + return request({ + url: '/system/notice', + method: 'post', + data: data + }); +} + +// 修改公告 +export function updateNotice(data: NoticeForm) { + return request({ + url: '/system/notice', + method: 'put', + data: data + }); +} + +// 删除公告 +export function delNotice(noticeId: string | number | Array) { + return request({ + url: '/system/notice/' + noticeId, + method: 'delete' + }); +} diff --git a/src/api/system/notice/types.ts b/src/api/system/notice/types.ts new file mode 100644 index 0000000..abfd5b2 --- /dev/null +++ b/src/api/system/notice/types.ts @@ -0,0 +1,26 @@ +export interface NoticeVO extends BaseEntity { + noticeId: number; + noticeTitle: string; + noticeType: string; + noticeContent: string; + status: string; + remark: string; + createByName: string; +} + +export interface NoticeQuery extends PageQuery { + noticeTitle: string; + createByName: string; + status: string; + noticeType: string; +} + +export interface NoticeForm { + noticeId: number | string | undefined; + noticeTitle: string; + noticeType: string; + noticeContent: string; + status: string; + remark: string; + createByName: string; +} diff --git a/src/api/system/oss/index.ts b/src/api/system/oss/index.ts new file mode 100644 index 0000000..4472112 --- /dev/null +++ b/src/api/system/oss/index.ts @@ -0,0 +1,28 @@ +import request from '@/utils/request'; +import { OssQuery, OssVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询OSS对象存储列表 +export function listOss(query: OssQuery): AxiosPromise { + return request({ + url: '/resource/oss/list', + method: 'get', + params: query + }); +} + +// 查询OSS对象基于id串 +export function listByIds(ossId: string | number): AxiosPromise { + return request({ + url: '/resource/oss/listByIds/' + ossId, + method: 'get' + }); +} + +// 删除OSS对象存储 +export function delOss(ossId: string | number | Array) { + return request({ + url: '/resource/oss/' + ossId, + method: 'delete' + }); +} diff --git a/src/api/system/oss/types.ts b/src/api/system/oss/types.ts new file mode 100644 index 0000000..bc0bc1f --- /dev/null +++ b/src/api/system/oss/types.ts @@ -0,0 +1,22 @@ +export interface OssVO extends BaseEntity { + ossId: string | number; + fileName: string; + originalName: string; + fileSuffix: string; + url: string; + createByName: string; + service: string; +} + +export interface OssQuery extends PageQuery { + fileName: string; + originalName: string; + fileSuffix: string; + createTime: string; + service: string; + orderByColumn: string; + isAsc: string; +} +export interface OssForm { + file: undefined | string; +} diff --git a/src/api/system/ossConfig/index.ts b/src/api/system/ossConfig/index.ts new file mode 100644 index 0000000..d0faefe --- /dev/null +++ b/src/api/system/ossConfig/index.ts @@ -0,0 +1,60 @@ +import request from '@/utils/request'; +import { OssConfigForm, OssConfigQuery, OssConfigVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询对象存储配置列表 +export function listOssConfig(query: OssConfigQuery): AxiosPromise { + return request({ + url: '/resource/oss/config/list', + method: 'get', + params: query + }); +} + +// 查询对象存储配置详细 +export function getOssConfig(ossConfigId: string | number): AxiosPromise { + return request({ + url: '/resource/oss/config/' + ossConfigId, + method: 'get' + }); +} + +// 新增对象存储配置 +export function addOssConfig(data: OssConfigForm) { + return request({ + url: '/resource/oss/config', + method: 'post', + data: data + }); +} + +// 修改对象存储配置 +export function updateOssConfig(data: OssConfigForm) { + return request({ + url: '/resource/oss/config', + method: 'put', + data: data + }); +} + +// 删除对象存储配置 +export function delOssConfig(ossConfigId: string | number | Array) { + return request({ + url: '/resource/oss/config/' + ossConfigId, + method: 'delete' + }); +} + +// 对象存储状态修改 +export function changeOssConfigStatus(ossConfigId: string | number, status: string, configKey: string) { + const data = { + ossConfigId, + status, + configKey + }; + return request({ + url: '/resource/oss/config/changeStatus', + method: 'put', + data: data + }); +} diff --git a/src/api/system/ossConfig/types.ts b/src/api/system/ossConfig/types.ts new file mode 100644 index 0000000..d227bd0 --- /dev/null +++ b/src/api/system/ossConfig/types.ts @@ -0,0 +1,38 @@ +export interface OssConfigVO extends BaseEntity { + ossConfigId: number | string; + configKey: string; + accessKey: string; + secretKey: string; + bucketName: string; + prefix: string; + endpoint: string; + domain: string; + isHttps: string; + region: string; + status: string; + ext1: string; + remark: string; + accessPolicy: string; +} + +export interface OssConfigQuery extends PageQuery { + configKey: string; + bucketName: string; + status: string; +} + +export interface OssConfigForm { + ossConfigId: string | number | undefined; + configKey: string; + accessKey: string; + secretKey: string; + bucketName: string; + prefix: string; + endpoint: string; + domain: string; + isHttps: string; + accessPolicy: string; + region: string; + status: string; + remark: string; +} diff --git a/src/api/system/post/index.ts b/src/api/system/post/index.ts new file mode 100644 index 0000000..5f6ab18 --- /dev/null +++ b/src/api/system/post/index.ts @@ -0,0 +1,58 @@ +import request from '@/utils/request'; +import { PostForm, PostQuery, PostVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询岗位列表 +export function listPost(query: PostQuery): AxiosPromise { + return request({ + url: '/system/post/list', + method: 'get', + params: query + }); +} + +// 查询岗位详细 +export function getPost(postId: string | number): AxiosPromise { + return request({ + url: '/system/post/' + postId, + method: 'get' + }); +} + +// 获取岗位选择框列表 +export function optionselect(deptId?: number | string, postIds?: (number | string)[]): AxiosPromise { + return request({ + url: '/system/post/optionselect', + method: 'get', + params: { + postIds: postIds, + deptId: deptId + } + }); +} + +// 新增岗位 +export function addPost(data: PostForm) { + return request({ + url: '/system/post', + method: 'post', + data: data + }); +} + +// 修改岗位 +export function updatePost(data: PostForm) { + return request({ + url: '/system/post', + method: 'put', + data: data + }); +} + +// 删除岗位 +export function delPost(postId: string | number | (string | number)[]) { + return request({ + url: '/system/post/' + postId, + method: 'delete' + }); +} diff --git a/src/api/system/post/types.ts b/src/api/system/post/types.ts new file mode 100644 index 0000000..45a0540 --- /dev/null +++ b/src/api/system/post/types.ts @@ -0,0 +1,31 @@ +export interface PostVO extends BaseEntity { + postId: number | string; + deptId: number | string; + postCode: string; + postName: string; + postCategory: string; + deptName: string; + postSort: number; + status: string; + remark: string; +} + +export interface PostForm { + postId: number | string | undefined; + deptId: number | string | undefined; + postCode: string; + postName: string; + postCategory: string; + postSort: number; + status: string; + remark: string; +} + +export interface PostQuery extends PageQuery { + deptId: number | string; + belongDeptId: number | string; + postCode: string; + postName: string; + postCategory: string; + status: string; +} diff --git a/src/api/system/role/index.ts b/src/api/system/role/index.ts new file mode 100644 index 0000000..fb0fcab --- /dev/null +++ b/src/api/system/role/index.ts @@ -0,0 +1,160 @@ +import { UserVO } from '@/api/system/user/types'; +import { UserQuery } from '@/api/system/user/types'; +import { AxiosPromise } from 'axios'; +import { RoleQuery, RoleVO, RoleDeptTree } from './types'; +import request from '@/utils/request'; + +export const listRole = (query: RoleQuery): AxiosPromise => { + return request({ + url: '/system/role/list', + method: 'get', + params: query + }); +}; + +/** + * 通过roleIds查询角色 + * @param roleIds + */ +export const optionSelect = (roleIds: (number | string)[]): AxiosPromise => { + return request({ + url: '/system/role/optionselect?roleIds=' + roleIds, + method: 'get' + }); +}; + +/** + * 查询角色详细 + */ +export const getRole = (roleId: string | number): AxiosPromise => { + return request({ + url: '/system/role/' + roleId, + method: 'get' + }); +}; + +/** + * 新增角色 + */ +export const addRole = (data: any) => { + return request({ + url: '/system/role', + method: 'post', + data: data + }); +}; + +/** + * 修改角色 + * @param data + */ +export const updateRole = (data: any) => { + return request({ + url: '/system/role', + method: 'put', + data: data + }); +}; + +/** + * 角色数据权限 + */ +export const dataScope = (data: any) => { + return request({ + url: '/system/role/dataScope', + method: 'put', + data: data + }); +}; + +/** + * 角色状态修改 + */ +export const changeRoleStatus = (roleId: string | number, status: string) => { + const data = { + roleId, + status + }; + return request({ + url: '/system/role/changeStatus', + method: 'put', + data: data + }); +}; + +/** + * 删除角色 + */ +export const delRole = (roleId: Array | string | number) => { + return request({ + url: '/system/role/' + roleId, + method: 'delete' + }); +}; + +/** + * 查询角色已授权用户列表 + */ +export const allocatedUserList = (query: UserQuery): AxiosPromise => { + return request({ + url: '/system/role/authUser/allocatedList', + method: 'get', + params: query + }); +}; + +/** + * 查询角色未授权用户列表 + */ +export const unallocatedUserList = (query: UserQuery): AxiosPromise => { + return request({ + url: '/system/role/authUser/unallocatedList', + method: 'get', + params: query + }); +}; + +/** + * 取消用户授权角色 + */ +export const authUserCancel = (data: any) => { + return request({ + url: '/system/role/authUser/cancel', + method: 'put', + data: data + }); +}; + +/** + * 批量取消用户授权角色 + */ +export const authUserCancelAll = (data: any) => { + return request({ + url: '/system/role/authUser/cancelAll', + method: 'put', + params: data + }); +}; + +/** + * 授权用户选择 + */ +export const authUserSelectAll = (data: any) => { + return request({ + url: '/system/role/authUser/selectAll', + method: 'put', + params: data + }); +}; +// 根据角色ID查询部门树结构 +export const deptTreeSelect = (roleId: string | number): AxiosPromise => { + return request({ + url: '/system/role/deptTree/' + roleId, + method: 'get' + }); +}; + +export default { + optionSelect, + listRole +}; diff --git a/src/api/system/role/types.ts b/src/api/system/role/types.ts new file mode 100644 index 0000000..7dbb6ff --- /dev/null +++ b/src/api/system/role/types.ts @@ -0,0 +1,52 @@ +/** + * 菜单树形结构类型 + */ +export interface DeptTreeOption { + id: string; + label: string; + parentId: string; + weight: number; + children?: DeptTreeOption[]; +} + +export interface RoleDeptTree { + checkedKeys: string[]; + depts: DeptTreeOption[]; +} + +export interface RoleVO extends BaseEntity { + roleId: string | number; + roleName: string; + roleKey: string; + roleSort: number; + dataScope: string; + menuCheckStrictly: boolean; + deptCheckStrictly: boolean; + status: string; + delFlag: string; + remark?: any; + flag: boolean; + menuIds?: Array; + deptIds?: Array; + admin: boolean; +} + +export interface RoleQuery extends PageQuery { + roleName: string; + roleKey: string; + status: string; +} + +export interface RoleForm { + roleName: string; + roleKey: string; + roleSort: number; + status: string; + menuCheckStrictly: boolean; + deptCheckStrictly: boolean; + remark: string; + dataScope?: string; + roleId: string | undefined; + menuIds: Array; + deptIds: Array; +} diff --git a/src/api/system/social/auth.ts b/src/api/system/social/auth.ts new file mode 100644 index 0000000..17a46d3 --- /dev/null +++ b/src/api/system/social/auth.ts @@ -0,0 +1,24 @@ +import request from '@/utils/request'; + +// 绑定账号 +export function authBinding(source: string) { + return request({ + url: '/auth/binding/' + source, + method: 'get' + }); +} + +// 解绑账号 +export function authUnlock(authId: string) { + return request({ + url: '/auth/unlock/' + authId, + method: 'delete' + }); +} +//获取授权列表 +export function getAuthList() { + return request({ + url: '/system/social/list', + method: 'get' + }); +} diff --git a/src/api/system/tenant/index.ts b/src/api/system/tenant/index.ts new file mode 100644 index 0000000..4380dbe --- /dev/null +++ b/src/api/system/tenant/index.ts @@ -0,0 +1,93 @@ +import request from '@/utils/request'; +import { TenantForm, TenantQuery, TenantVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询租户列表 +export function listTenant(query: TenantQuery): AxiosPromise { + return request({ + url: '/system/tenant/list', + method: 'get', + params: query + }); +} + +// 查询租户详细 +export function getTenant(id: string | number): AxiosPromise { + return request({ + url: '/system/tenant/' + id, + method: 'get' + }); +} + +// 新增租户 +export function addTenant(data: TenantForm) { + return request({ + url: '/system/tenant', + method: 'post', + headers: { + isEncrypt: true, + repeatSubmit: false + }, + data: data + }); +} + +// 修改租户 +export function updateTenant(data: TenantForm) { + return request({ + url: '/system/tenant', + method: 'put', + data: data + }); +} + +// 租户状态修改 +export function changeTenantStatus(id: string | number, tenantId: string | number, status: string) { + const data = { + id, + tenantId, + status + }; + return request({ + url: '/system/tenant/changeStatus', + method: 'put', + data: data + }); +} + +// 删除租户 +export function delTenant(id: string | number | Array) { + return request({ + url: '/system/tenant/' + id, + method: 'delete' + }); +} + +// 动态切换租户 +export function dynamicTenant(tenantId: string | number) { + return request({ + url: '/system/tenant/dynamic/' + tenantId, + method: 'get' + }); +} + +// 清除动态租户 +export function dynamicClear() { + return request({ + url: '/system/tenant/dynamic/clear', + method: 'get' + }); +} + +// 同步租户套餐 +export function syncTenantPackage(tenantId: string | number, packageId: string | number) { + const data = { + tenantId, + packageId + }; + return request({ + url: '/system/tenant/syncTenantPackage', + method: 'get', + params: data + }); +} diff --git a/src/api/system/tenant/types.ts b/src/api/system/tenant/types.ts new file mode 100644 index 0000000..25395fa --- /dev/null +++ b/src/api/system/tenant/types.ts @@ -0,0 +1,46 @@ +export interface TenantVO extends BaseEntity { + id: number | string; + tenantId: number | string; + username: string; + contactUserName: string; + contactPhone: string; + companyName: string; + licenseNumber: string; + address: string; + domain: string; + intro: string; + remark: string; + packageId: string | number; + expireTime: string; + accountCount: number; + status: string; +} + +export interface TenantQuery extends PageQuery { + tenantId: string | number; + + contactUserName: string; + + contactPhone: string; + + companyName: string; +} + +export interface TenantForm { + id: number | string | undefined; + tenantId: number | string | undefined; + username: string; + password: string; + contactUserName: string; + contactPhone: string; + companyName: string; + licenseNumber: string; + domain: string; + address: string; + intro: string; + remark: string; + packageId: string | number; + expireTime: string; + accountCount: number; + status: string; +} diff --git a/src/api/system/tenantPackage/index.ts b/src/api/system/tenantPackage/index.ts new file mode 100644 index 0000000..70d0dab --- /dev/null +++ b/src/api/system/tenantPackage/index.ts @@ -0,0 +1,67 @@ +import request from '@/utils/request'; +import { TenantPkgForm, TenantPkgQuery, TenantPkgVO } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询租户套餐列表 +export function listTenantPackage(query?: TenantPkgQuery): AxiosPromise { + return request({ + url: '/system/tenant/package/list', + method: 'get', + params: query + }); +} + +// 查询租户套餐下拉选列表 +export function selectTenantPackage(): AxiosPromise { + return request({ + url: '/system/tenant/package/selectList', + method: 'get' + }); +} + +// 查询租户套餐详细 +export function getTenantPackage(packageId: string | number): AxiosPromise { + return request({ + url: '/system/tenant/package/' + packageId, + method: 'get' + }); +} + +// 新增租户套餐 +export function addTenantPackage(data: TenantPkgForm) { + return request({ + url: '/system/tenant/package', + method: 'post', + data: data + }); +} + +// 修改租户套餐 +export function updateTenantPackage(data: TenantPkgForm) { + return request({ + url: '/system/tenant/package', + method: 'put', + data: data + }); +} + +// 租户套餐状态修改 +export function changePackageStatus(packageId: number | string, status: string) { + const data = { + packageId, + status + }; + return request({ + url: '/system/tenant/package/changeStatus', + method: 'put', + data: data + }); +} + +// 删除租户套餐 +export function delTenantPackage(packageId: string | number | Array) { + return request({ + url: '/system/tenant/package/' + packageId, + method: 'delete' + }); +} diff --git a/src/api/system/tenantPackage/types.ts b/src/api/system/tenantPackage/types.ts new file mode 100644 index 0000000..c24b8fc --- /dev/null +++ b/src/api/system/tenantPackage/types.ts @@ -0,0 +1,20 @@ +export interface TenantPkgVO extends BaseEntity { + packageId: string | number; + packageName: string; + menuIds: string; + remark: string; + menuCheckStrictly: boolean; + status: string; +} + +export interface TenantPkgQuery extends PageQuery { + packageName: string; +} + +export interface TenantPkgForm { + packageId: string | number | undefined; + packageName: string; + menuIds: string; + remark: string; + menuCheckStrictly: boolean; +} diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts new file mode 100644 index 0000000..25c7884 --- /dev/null +++ b/src/api/system/user/index.ts @@ -0,0 +1,229 @@ +import { DeptVO } from './../dept/types'; +import { RoleVO } from '@/api/system/role/types'; +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { UserForm, UserQuery, UserVO, UserInfoVO } from './types'; +import { parseStrEmpty } from '@/utils/ruoyi'; + +/** + * 查询用户列表 + * @param query + */ +export const listUser = (query: UserQuery): AxiosPromise => { + return request({ + url: '/system/user/list', + method: 'get', + params: query + }); +}; + +/** + * 通过用户ids查询用户 + * @param userIds + */ +export const optionSelect = (userIds: (number | string)[]): AxiosPromise => { + return request({ + url: '/system/user/optionselect?userIds=' + userIds, + method: 'get' + }); +}; + +/** + * 获取用户详情 + * @param userId + */ +export const getUser = (userId?: string | number): AxiosPromise => { + return request({ + url: '/system/user/' + parseStrEmpty(userId), + method: 'get' + }); +}; + +/** + * 新增用户 + */ +export const addUser = (data: UserForm) => { + return request({ + url: '/system/user', + method: 'post', + data: data + }); +}; + +/** + * 修改用户 + */ +export const updateUser = (data: UserForm) => { + return request({ + url: '/system/user', + method: 'put', + data: data + }); +}; + +/** + * 删除用户 + * @param userId 用户ID + */ +export const delUser = (userId: Array | string | number) => { + return request({ + url: '/system/user/' + userId, + method: 'delete' + }); +}; + +/** + * 用户密码重置 + * @param userId 用户ID + * @param password 密码 + */ +export const resetUserPwd = (userId: string | number, password: string) => { + const data = { + userId, + password + }; + return request({ + url: '/system/user/resetPwd', + method: 'put', + headers: { + isEncrypt: true, + repeatSubmit: false + }, + data: data + }); +}; + +/** + * 用户状态修改 + * @param userId 用户ID + * @param status 用户状态 + */ +export const changeUserStatus = (userId: number | string, status: string) => { + const data = { + userId, + status + }; + return request({ + url: '/system/user/changeStatus', + method: 'put', + data: data + }); +}; + +/** + * 查询用户个人信息 + */ +export const getUserProfile = (): AxiosPromise => { + return request({ + url: '/system/user/profile', + method: 'get' + }); +}; + +/** + * 修改用户个人信息 + * @param data 用户信息 + */ +export const updateUserProfile = (data: UserForm) => { + return request({ + url: '/system/user/profile', + method: 'put', + data: data + }); +}; + +/** + * 用户密码重置 + * @param oldPassword 旧密码 + * @param newPassword 新密码 + */ +export const updateUserPwd = (oldPassword: string, newPassword: string) => { + const data = { + oldPassword, + newPassword + }; + return request({ + url: '/system/user/profile/updatePwd', + method: 'put', + headers: { + isEncrypt: true, + repeatSubmit: false + }, + data: data + }); +}; + +/** + * 用户头像上传 + * @param data 头像文件 + */ +export const uploadAvatar = (data: FormData) => { + return request({ + url: '/system/user/profile/avatar', + method: 'post', + data: data + }); +}; + +/** + * 查询授权角色 + * @param userId 用户ID + */ +export const getAuthRole = (userId: string | number): AxiosPromise<{ user: UserVO; roles: RoleVO[] }> => { + return request({ + url: '/system/user/authRole/' + userId, + method: 'get' + }); +}; + +/** + * 保存授权角色 + * @param data 用户ID + */ +export const updateAuthRole = (data: { userId: string; roleIds: string }) => { + return request({ + url: '/system/user/authRole', + method: 'put', + params: data + }); +}; + +/** + * 查询当前部门的所有用户信息 + * @param deptId + */ +export const listUserByDeptId = (deptId: string | number): AxiosPromise => { + return request({ + url: '/system/user/list/dept/' + deptId, + method: 'get' + }); +}; + +/** + * 查询部门下拉树结构 + */ +export const deptTreeSelect = (): AxiosPromise => { + return request({ + url: '/system/user/deptTree', + method: 'get' + }); +}; + +export default { + listUser, + getUser, + optionSelect, + addUser, + updateUser, + delUser, + resetUserPwd, + changeUserStatus, + getUserProfile, + updateUserProfile, + updateUserPwd, + uploadAvatar, + getAuthRole, + updateAuthRole, + deptTreeSelect, + listUserByDeptId +}; diff --git a/src/api/system/user/types.ts b/src/api/system/user/types.ts new file mode 100644 index 0000000..3488e9f --- /dev/null +++ b/src/api/system/user/types.ts @@ -0,0 +1,83 @@ +import { RoleVO } from '@/api/system/role/types'; +import { PostVO } from '@/api/system/post/types'; + +/** + * 用户信息 + */ +export interface UserInfo { + user: UserVO; + roles: string[]; + permissions: string[]; +} + +/** + * 用户查询对象类型 + */ +export interface UserQuery extends PageQuery { + userName?: string; + phonenumber?: string; + status?: string; + deptId?: string | number; + roleId?: string | number; +} + +/** + * 用户返回对象 + */ +export interface UserVO extends BaseEntity { + userId: string | number; + deptId: number; + userName: string; + nickName: string; + userType: string; + email: string; + phonenumber: string; + sex: string; + avatar: string; + status: string; + delFlag: string; + loginIp: string; + loginDate: string; + remark: string; + deptName: string; + roles: RoleVO[]; + roleIds: any; + postIds: any; + roleId: any; + admin: boolean; +} + +/** + * 用户表单类型 + */ +export interface UserForm { + id?: string; + userId?: string; + deptId?: number; + userName: string; + nickName?: string; + password: string; + phonenumber?: string; + email?: string; + sex?: string; + status: string; + remark?: string; + postIds: string[]; + roleIds: string[]; +} + +export interface UserInfoVO { + user: UserVO; + roles: RoleVO[]; + roleIds: string[]; + posts: PostVO[]; + postIds: string[]; + roleGroup: string; + postGroup: string; +} + +export interface ResetPwdForm { + oldPassword: string; + newPassword: string; + confirmPassword: string; +} diff --git a/src/api/tool/gen/index.ts b/src/api/tool/gen/index.ts new file mode 100644 index 0000000..efe079c --- /dev/null +++ b/src/api/tool/gen/index.ts @@ -0,0 +1,86 @@ +import request from '@/utils/request'; +import { DbTableQuery, DbTableVO, TableQuery, TableVO, GenTableVO, DbTableForm } from './types'; +import { AxiosPromise } from 'axios'; + +// 查询生成表数据 +export const listTable = (query: TableQuery): AxiosPromise => { + return request({ + url: '/tool/gen/list', + method: 'get', + params: query + }); +}; +// 查询db数据库列表 +export const listDbTable = (query: DbTableQuery): AxiosPromise => { + return request({ + url: '/tool/gen/db/list', + method: 'get', + params: query + }); +}; + +// 查询表详细信息 +export const getGenTable = (tableId: string | number): AxiosPromise => { + return request({ + url: '/tool/gen/' + tableId, + method: 'get' + }); +}; + +// 修改代码生成信息 +export const updateGenTable = (data: DbTableForm): AxiosPromise => { + return request({ + url: '/tool/gen', + method: 'put', + data: data + }); +}; + +// 导入表 +export const importTable = (data: { tables: string; dataName: string }): AxiosPromise => { + return request({ + url: '/tool/gen/importTable', + method: 'post', + params: data + }); +}; + +// 预览生成代码 +export const previewTable = (tableId: string | number) => { + return request({ + url: '/tool/gen/preview/' + tableId, + method: 'get' + }); +}; + +// 删除表数据 +export const delTable = (tableId: string | number | Array) => { + return request({ + url: '/tool/gen/' + tableId, + method: 'delete' + }); +}; + +// 生成代码(自定义路径) +export const genCode = (tableId: string | number) => { + return request({ + url: '/tool/gen/genCode/' + tableId, + method: 'get' + }); +}; + +// 同步数据库 +export const synchDb = (tableId: string | number) => { + return request({ + url: '/tool/gen/synchDb/' + tableId, + method: 'get' + }); +}; + +// 获取数据源名称 +export const getDataNames = () => { + return request({ + url: '/tool/gen/getDataNames', + method: 'get' + }); +}; diff --git a/src/api/tool/gen/types.ts b/src/api/tool/gen/types.ts new file mode 100644 index 0000000..7f7b62f --- /dev/null +++ b/src/api/tool/gen/types.ts @@ -0,0 +1,180 @@ +export interface TableVO extends BaseEntity { + createDept: number | string; + tableId: string | number; + dataName: string; + tableName: string; + tableComment: string; + subTableName?: any; + subTableFkName?: any; + className: string; + tplCategory: string; + packageName: string; + moduleName: string; + businessName: string; + functionName: string; + functionAuthor: string; + genType: string; + genPath: string; + pkColumn?: any; + columns?: any; + options?: any; + remark?: any; + treeCode?: any; + treeParentCode?: any; + treeName?: any; + menuIds?: any; + parentMenuId?: any; + parentMenuName?: any; + tree: boolean; + crud: boolean; +} + +export interface TableQuery extends PageQuery { + tableName: string; + tableComment: string; + dataName: string; +} + +export interface DbColumnVO extends BaseEntity { + createDept?: any; + columnId?: any; + tableId?: any; + columnName?: any; + columnComment?: any; + columnType?: any; + javaType?: any; + javaField?: any; + isPk?: any; + isIncrement?: any; + isRequired?: any; + isInsert?: any; + isEdit?: any; + isList?: any; + isQuery?: any; + queryType?: any; + htmlType?: any; + dictType?: any; + sort?: any; + increment: boolean; + capJavaField?: any; + usableColumn: boolean; + superColumn: boolean; + list: boolean; + pk: boolean; + insert: boolean; + edit: boolean; + query: boolean; + required: boolean; +} + +export interface DbTableVO { + createDept?: any; + tableId?: any; + tableName: string; + tableComment: string; + subTableName?: any; + subTableFkName?: any; + className?: any; + tplCategory?: any; + packageName?: any; + moduleName?: any; + businessName?: any; + functionName?: any; + functionAuthor?: any; + genType?: any; + genPath?: any; + pkColumn?: any; + columns: DbColumnVO[]; + options?: any; + remark?: any; + treeCode?: any; + treeParentCode?: any; + treeName?: any; + menuIds?: any; + parentMenuId?: any; + parentMenuName?: any; + tree: boolean; + crud: boolean; +} + +export interface DbTableQuery extends PageQuery { + dataName: string; + tableName: string; + tableComment: string; +} + +export interface GenTableVO { + info: DbTableVO; + rows: DbColumnVO[]; + tables: DbTableVO[]; +} + +export interface DbColumnForm extends BaseEntity { + createDept: number; + columnId: string; + tableId: string; + columnName: string; + columnComment: string; + columnType: string; + javaType: string; + javaField: string; + isPk: string; + isIncrement: string; + isRequired: string; + isInsert?: any; + isEdit: string; + isList: string; + isQuery?: any; + queryType: string; + htmlType: string; + dictType: string; + sort: number; + increment: boolean; + capJavaField: string; + usableColumn: boolean; + superColumn: boolean; + list: boolean; + pk: boolean; + insert: boolean; + edit: boolean; + query: boolean; + required: boolean; +} + +export interface DbParamForm { + treeCode?: any; + treeName?: any; + treeParentCode?: any; + parentMenuId: string; +} + +export interface DbTableForm extends BaseEntity { + createDept?: any; + tableId: string | string; + tableName: string; + tableComment: string; + subTableName?: any; + subTableFkName?: any; + className: string; + tplCategory: string; + packageName: string; + moduleName: string; + businessName: string; + functionName: string; + functionAuthor: string; + genType: string; + genPath: string; + pkColumn?: any; + columns: DbColumnForm[]; + options: string; + remark?: any; + treeCode?: any; + treeParentCode?: any; + treeName?: any; + menuIds?: any; + parentMenuId: string; + parentMenuName?: any; + tree: boolean; + crud: boolean; + params: DbParamForm; +} diff --git a/src/api/types.ts b/src/api/types.ts new file mode 100644 index 0000000..617286c --- /dev/null +++ b/src/api/types.ts @@ -0,0 +1,59 @@ +/** + * 注册 + */ +export type RegisterForm = { + tenantId: string; + username: string; + password: string; + confirmPassword?: string; + code?: string; + uuid?: string; + userType?: string; +}; + +/** + * 登录请求 + */ +export interface LoginData { + tenantId?: string; + username?: string; + password?: string; + rememberMe?: boolean; + socialCode?: string; + socialState?: string; + source?: string; + code?: string; + uuid?: string; + clientId: string; + grantType: string; +} + +/** + * 登录响应 + */ +export interface LoginResult { + access_token: string; +} + +/** + * 验证码返回 + */ +export interface VerifyCodeResult { + captchaEnabled: boolean; + uuid?: string; + img?: string; +} + +/** + * 租户 + */ +export interface TenantVO { + companyName: string; + domain: any; + tenantId: string; +} + +export interface TenantInfo { + tenantEnabled: boolean; + voList: TenantVO[]; +} diff --git a/src/api/workflow/category/index.ts b/src/api/workflow/category/index.ts new file mode 100644 index 0000000..e9723b0 --- /dev/null +++ b/src/api/workflow/category/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CategoryVO, CategoryForm, CategoryQuery } from '@/api/workflow/category/types'; + +/** + * 查询流程分类列表 + * @param query + * @returns {*} + */ + +export const listCategory = (query?: CategoryQuery): AxiosPromise => { + return request({ + url: '/workflow/category/list', + method: 'get', + params: query + }); +}; + +/** + * 查询流程分类详细 + * @param id + */ +export const getCategory = (id: string | number): AxiosPromise => { + return request({ + url: '/workflow/category/' + id, + method: 'get' + }); +}; + +/** + * 新增流程分类 + * @param data + */ +export const addCategory = (data: CategoryForm) => { + return request({ + url: '/workflow/category', + method: 'post', + data: data + }); +}; + +/** + * 修改流程分类 + * @param data + */ +export const updateCategory = (data: CategoryForm) => { + return request({ + url: '/workflow/category', + method: 'put', + data: data + }); +}; + +/** + * 删除流程分类 + * @param id + */ +export const delCategory = (id: string | number | Array) => { + return request({ + url: '/workflow/category/' + id, + method: 'delete' + }); +}; diff --git a/src/api/workflow/category/types.ts b/src/api/workflow/category/types.ts new file mode 100644 index 0000000..414fa55 --- /dev/null +++ b/src/api/workflow/category/types.ts @@ -0,0 +1,67 @@ +export interface CategoryVO { + /** + * 主键 + */ + id: string; + + /** + * 分类名称 + */ + categoryName: string; + + /** + * 分类编码 + */ + categoryCode: string; + + /** + * 父级id + */ + parentId: string | number; + + /** + * 排序 + */ + sortNum: number; + + children?: CategoryVO[]; +} + +export interface CategoryForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 分类名称 + */ + categoryName?: string; + + /** + * 分类编码 + */ + categoryCode?: string; + + /** + * 父级id + */ + parentId?: string | number; + + /** + * 排序 + */ + sortNum?: number; +} + +export interface CategoryQuery extends PageQuery { + /** + * 分类名称 + */ + categoryName?: string; + + /** + * 分类编码 + */ + categoryCode?: string; +} diff --git a/src/api/workflow/definitionConfig/index.ts b/src/api/workflow/definitionConfig/index.ts new file mode 100644 index 0000000..d34bf05 --- /dev/null +++ b/src/api/workflow/definitionConfig/index.ts @@ -0,0 +1,49 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DefinitionConfigVO, DefinitionConfigForm } from '@/api/workflow/definitionConfig/types'; + +/** + * 查询表单配置详细 + * @param definitionId + */ +export const getByDefId = (definitionId: string | number): AxiosPromise => { + return request({ + url: '/workflow/definitionConfig/getByDefId/' + definitionId, + method: 'get' + }); +}; + +/** + * 新增表单配置 + * @param data + */ +export const saveOrUpdate = (data: DefinitionConfigForm) => { + return request({ + url: '/workflow/definitionConfig/saveOrUpdate', + method: 'post', + data: data + }); +}; + +/** + * 删除表单配置 + * @param id + */ +export const deldefinitionConfig = (id: string | number | Array) => { + return request({ + url: '/workflow/definitionConfig/' + id, + method: 'delete' + }); +}; + +/** + * 查询流程定义配置排除当前查询的流程定义 + * @param tableName + * @param definitionId + */ +export const getByTableNameNotDefId = (tableName: string, definitionId: string | number) => { + return request({ + url: `/workflow/definitionConfig/getByTableNameNotDefId/${tableName}/${definitionId}`, + method: 'get' + }); +}; diff --git a/src/api/workflow/definitionConfig/types.ts b/src/api/workflow/definitionConfig/types.ts new file mode 100644 index 0000000..7627403 --- /dev/null +++ b/src/api/workflow/definitionConfig/types.ts @@ -0,0 +1,102 @@ +import { FormManageVO } from '@/api/workflow/formManage/types'; + +export interface DefinitionConfigVO { + /** + * 主键 + */ + id: string | number; + + /** + * 表名 + */ + tableName?: string; + + /** + * 流程定义ID + */ + definitionId: string | number; + + /** + * 流程KEY + */ + processKey: string; + + /** + * 流程版本 + */ + version?: string | number; + + /** + * 备注 + */ + remark: string; + + /** + * 表单管理 + */ + wfFormManageVo: FormManageVO; +} + +export interface DefinitionConfigForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 表名 + */ + tableName?: string; + + /** + * 流程定义ID + */ + definitionId?: string | number; + + /** + * 流程KEY + */ + processKey?: string; + + /** + * 流程版本 + */ + version?: string | number; + + /** + * 备注 + */ + remark?: string; + + /** + * 表单管理 + */ + wfFormManageVo?: FormManageVO; +} + +export interface DefinitionConfigQuery extends PageQuery { + /** + * 表名 + */ + tableName?: string; + + /** + * 流程定义ID + */ + definitionId?: string | number; + + /** + * 流程KEY + */ + processKey?: string; + + /** + * 流程版本 + */ + version?: string | number; + + /** + * 表单管理 + */ + wfFormManageVo: FormManageVO; +} diff --git a/src/api/workflow/formManage/index.ts b/src/api/workflow/formManage/index.ts new file mode 100644 index 0000000..c2930cf --- /dev/null +++ b/src/api/workflow/formManage/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { FormManageVO, FormManageForm, FormManageQuery } from '@/api/workflow/formManage/types'; + +/** + * 查询表单管理列表 + * @param query + * @returns {*} + */ + +export const listFormManage = (query?: FormManageQuery): AxiosPromise => { + return request({ + url: '/workflow/formManage/list', + method: 'get', + params: query + }); +}; + +/** + * 查询表单管理列表 + * @param query + * @returns {*} + */ + +export const selectListFormManage = (): AxiosPromise => { + return request({ + url: '/workflow/formManage/list/selectList', + method: 'get', + }); +}; + +/** + * 查询表单管理详细 + * @param id + */ +export const getFormManage = (id: string | number): AxiosPromise => { + return request({ + url: '/workflow/formManage/' + id, + method: 'get' + }); +}; + +/** + * 新增表单管理 + * @param data + */ +export const addFormManage = (data: FormManageForm) => { + return request({ + url: '/workflow/formManage', + method: 'post', + data: data + }); +}; + +/** + * 修改表单管理 + * @param data + */ +export const updateFormManage = (data: FormManageForm) => { + return request({ + url: '/workflow/formManage', + method: 'put', + data: data + }); +}; + +/** + * 删除表单管理 + * @param id + */ +export const delFormManage = (id: string | number | Array) => { + return request({ + url: '/workflow/formManage/' + id, + method: 'delete' + }); +}; diff --git a/src/api/workflow/formManage/types.ts b/src/api/workflow/formManage/types.ts new file mode 100644 index 0000000..6554f55 --- /dev/null +++ b/src/api/workflow/formManage/types.ts @@ -0,0 +1,69 @@ +export interface FormManageVO { + /** + * 主键 + */ + id: string | number; + + /** + * 表单名称 + */ + formName: string; + + /** + * 表单类型 + */ + formType: string; + /** + * 表单类型名称 + */ + formTypeName: string; + + /** + * 路由地址/表单ID + */ + router: string; + + /** + * 备注 + */ + remork: string; +} + +export interface FormManageForm extends BaseEntity { + /** + * 主键 + */ + id?: string | number; + + /** + * 表单名称 + */ + formName?: string; + + /** + * 表单类型 + */ + formType?: string; + + /** + * 路由地址/表单ID + */ + router?: string; + + /** + * 备注 + */ + remork?: string; +} + +export interface FormManageQuery extends PageQuery { + /** + * 表单名称 + */ + formName?: string; + + /** + * 表单类型 + */ + formType?: string; +} diff --git a/src/api/workflow/leave/index.ts b/src/api/workflow/leave/index.ts new file mode 100644 index 0000000..36c6fdf --- /dev/null +++ b/src/api/workflow/leave/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { LeaveVO, LeaveQuery, LeaveForm } from '@/api/workflow/leave/types'; + +/** + * 查询请假列表 + * @param query + * @returns {*} + */ + +export const listLeave = (query?: LeaveQuery): AxiosPromise => { + return request({ + url: '/demo/leave/list', + method: 'get', + params: query + }); +}; + +/** + * 查询请假详细 + * @param id + */ +export const getLeave = (id: string | number): AxiosPromise => { + return request({ + url: '/demo/leave/' + id, + method: 'get' + }); +}; + +/** + * 新增请假 + * @param data + */ +export const addLeave = (data: LeaveForm): AxiosPromise => { + return request({ + url: '/demo/leave', + method: 'post', + data: data + }); +}; + +/** + * 修改请假 + * @param data + */ +export const updateLeave = (data: LeaveForm): AxiosPromise => { + return request({ + url: '/demo/leave', + method: 'put', + data: data + }); +}; + +/** + * 删除请假 + * @param id + */ +export const delLeave = (id: string | number | Array) => { + return request({ + url: '/demo/leave/' + id, + method: 'delete' + }); +}; diff --git a/src/api/workflow/leave/types.ts b/src/api/workflow/leave/types.ts new file mode 100644 index 0000000..b093546 --- /dev/null +++ b/src/api/workflow/leave/types.ts @@ -0,0 +1,24 @@ +export interface LeaveVO { + id: string | number; + leaveType: string; + startDate: string; + endDate: string; + leaveDays: number; + remark: string; + processInstanceVo: any; +} + +export interface LeaveForm extends BaseEntity { + id?: string | number; + leaveType?: string; + startDate?: string; + endDate?: string; + leaveDays?: number; + remark?: string; + processInstanceVo?: any; +} + +export interface LeaveQuery extends PageQuery { + startLeaveDays?: number; + endLeaveDays?: number; +} diff --git a/src/api/workflow/model/index.ts b/src/api/workflow/model/index.ts new file mode 100644 index 0000000..56f7fed --- /dev/null +++ b/src/api/workflow/model/index.ts @@ -0,0 +1,104 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { ModelForm, ModelQuery, ModelVO } from '@/api/workflow/model/types'; + +/** + * 查询模型列表 + * @param query + * @returns {*} + */ +export const listModel = (query: ModelQuery): AxiosPromise => { + return request({ + url: '/workflow/model/list', + method: 'get', + params: query + }); +}; + +/** + * 查询模型信息 + * @param query + * @returns {*} + */ +export const getInfo = (id: string): AxiosPromise => { + return request({ + url: '/workflow/model/getInfo/'+id, + method: 'get' + }); +}; + +/** + * 新增模型 + * @param data + * @returns {*} + */ +export const addModel = (data: ModelForm): AxiosPromise => { + return request({ + url: '/workflow/model/save', + method: 'post', + data: data + }); +}; + +/** + * 修改模型信息 + * @param data + * @returns {*} + */ +export function update(data: ModelForm): AxiosPromise { + return request({ + url: '/workflow/model/update', + method: 'put', + data: data + }); +} + +/** + * 修改模型信息 + * @param data + * @returns {*} + */ +export function editModelXml(data: ModelForm): AxiosPromise { + return request({ + url: '/workflow/model/editModelXml', + method: 'put', + data: data + }); +} + +/** + * 按id删除模型 + * @returns {*} + * @param id 模型id + */ +export function delModel(id: string | string[]): AxiosPromise { + return request({ + url: '/workflow/model/' + id, + method: 'delete' + }); +} + +/** + * 模型部署 + * @returns {*} + * @param id 模型id + */ +export const modelDeploy = (id: string): AxiosPromise => { + return request({ + url: `/workflow/model/modelDeploy/${id}`, + method: 'post' + }); +}; + +/** + * 复制模型 + * @param data + * @returns {*} + */ +export const copyModel = (data: ModelForm): AxiosPromise => { + return request({ + url: '/workflow/model/copyModel', + method: 'post', + data: data + }); +}; \ No newline at end of file diff --git a/src/api/workflow/model/types.ts b/src/api/workflow/model/types.ts new file mode 100644 index 0000000..40a0faa --- /dev/null +++ b/src/api/workflow/model/types.ts @@ -0,0 +1,66 @@ +export interface ModelForm { + id: string, + name: string; + key: string; + categoryCode: string; + xml:string, + svg:string, + description: string; +} + +export interface ModelQuery extends PageQuery { + name?: string; + key?: string; + categoryCode?: string; +} + +export interface OriginalPersistentState { + metaInfo: string; + editorSourceValueId: string; + createTime: string; + deploymentId?: string; + name: string; + tenantId: string; + category?: string; + version: number; + editorSourceExtraValueId?: string; + key: string; + lastUpdateTime: string; +} + +export interface PersistentState { + metaInfo: string; + editorSourceValueId: string; + createTime: string; + deploymentId?: string; + name: string; + tenantId: string; + category?: string; + version: number; + editorSourceExtraValueId?: string; + key: string; + lastUpdateTime: string; +} + +export interface ModelVO { + id: string; + revision: number; + originalPersistentState: OriginalPersistentState; + name: string; + key: string; + category?: string; + createTime: string; + lastUpdateTime: string; + version: number; + metaInfo: string; + deploymentId?: string; + editorSourceValueId: string; + editorSourceExtraValueId?: string; + tenantId: string; + persistentState: PersistentState; + revisionNext: number; + idPrefix: string; + inserted: boolean; + updated: boolean; + deleted: boolean; +} diff --git a/src/api/workflow/nodeConfig/index.ts b/src/api/workflow/nodeConfig/index.ts new file mode 100644 index 0000000..3270c17 --- /dev/null +++ b/src/api/workflow/nodeConfig/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { NodeConfigVO, NodeConfigForm, NodeConfigQuery } from '@/api/workflow/nodeConfig/types'; + +/** + * 查询节点配置列表 + * @param query + * @returns {*} + */ + +export const listNodeConfig = (query?: NodeConfigQuery): AxiosPromise => { + return request({ + url: '/workflow/nodeConfig/list', + method: 'get', + params: query + }); +}; + +/** + * 查询节点配置详细 + * @param id + */ +export const getNodeConfig = (id: string | number): AxiosPromise => { + return request({ + url: '/workflow/nodeConfig/' + id, + method: 'get' + }); +}; + +/** + * 新增节点配置 + * @param data + */ +export const addNodeConfig = (data: NodeConfigForm) => { + return request({ + url: '/workflow/nodeConfig', + method: 'post', + data: data + }); +}; + +/** + * 修改节点配置 + * @param data + */ +export const updateNodeConfig = (data: NodeConfigForm) => { + return request({ + url: '/workflow/nodeConfig', + method: 'put', + data: data + }); +}; + +/** + * 删除节点配置 + * @param id + */ +export const delNodeConfig = (id: string | number | Array) => { + return request({ + url: '/workflow/nodeConfig/' + id, + method: 'delete' + }); +}; diff --git a/src/api/workflow/nodeConfig/types.ts b/src/api/workflow/nodeConfig/types.ts new file mode 100644 index 0000000..4e3a60b --- /dev/null +++ b/src/api/workflow/nodeConfig/types.ts @@ -0,0 +1,43 @@ +import { FormManageVO } from '@/api/workflow/formManage/types'; + +export interface NodeConfigVO { + /** + * 主键 + */ + id: string | number; + + /** + * 表单id + */ + formId: string | number; + + /** + * 表单类型 + */ + formType: string; + + /** + * 节点名称 + */ + nodeName: string; + + /** + * 节点id + */ + nodeId: string | number; + + /** + * 流程定义id + */ + definitionId: string | number; + + /** + * 表单管理 + */ + wfFormManageVo: FormManageVO; + +} + + + + diff --git a/src/api/workflow/processDefinition/index.ts b/src/api/workflow/processDefinition/index.ts new file mode 100644 index 0000000..c063120 --- /dev/null +++ b/src/api/workflow/processDefinition/index.ts @@ -0,0 +1,114 @@ +import request from '@/utils/request'; +import { ProcessDefinitionQuery, ProcessDefinitionVO, definitionXmlVO } from '@/api/workflow/processDefinition/types'; +import { AxiosPromise } from 'axios'; + +/** + * 获取流程定义列表 + * @param query 流程实例id + * @returns + */ +export const listProcessDefinition = (query: ProcessDefinitionQuery): AxiosPromise => { + return request({ + url: `/workflow/processDefinition/list`, + method: 'get', + params: query + }); +}; +/** + * 按照流程定义key获取流程定义 + * @param processInstanceId 流程实例id + * @returns + */ +export const getListByKey = (key: string) => { + return request({ + url: `/workflow/processDefinition/getListByKey/${key}`, + method: 'get' + }); +}; + +/** + * 通过流程定义id获取流程图 + */ +export const definitionImage = (processDefinitionId: string): AxiosPromise => { + return request({ + url: `/workflow/processDefinition/definitionImage/${processDefinitionId}` + '?t' + Math.random(), + method: 'get' + }); +}; + +/** + * 通过流程定义id获取xml + * @param processDefinitionId 流程定义id + * @returns + */ +export const definitionXml = (processDefinitionId: string): AxiosPromise => { + return request({ + url: `/workflow/processDefinition/definitionXml/${processDefinitionId}`, + method: 'get' + }); +}; + +/** + * 删除流程定义 + * @param deploymentId 部署id + * @param processDefinitionId 流程定义id + * @returns + */ +export const deleteProcessDefinition = (deploymentId: string | string[], processDefinitionId: string | string[]) => { + return request({ + url: `/workflow/processDefinition/${deploymentId}/${processDefinitionId}`, + method: 'delete' + }); +}; + +/** + * 挂起/激活 + * @param processDefinitionId 流程定义id + * @returns + */ +export const updateDefinitionState = (processDefinitionId: string) => { + return request({ + url: `/workflow/processDefinition/updateDefinitionState/${processDefinitionId}`, + method: 'put' + }); +}; + +/** + * 流程定义转换为模型 + * @param processDefinitionId 流程定义id + * @returns + */ +export const convertToModel = (processDefinitionId: string) => { + return request({ + url: `/workflow/processDefinition/convertToModel/${processDefinitionId}`, + method: 'put' + }); +}; + +/** + * 通过zip或xml部署流程定义 + * @returns + */ +export function deployProcessFile(data: any) { + return request({ + url: '/workflow/processDefinition/deployByFile', + method: 'post', + data: data, + headers: { + repeatSubmit: false + } + }); +} + +/** + * 迁移流程 + * @param currentProcessDefinitionId + * @param fromProcessDefinitionId + * @returns + */ +export const migrationDefinition = (currentProcessDefinitionId: string, fromProcessDefinitionId: string) => { + return request({ + url: `/workflow/processDefinition/migrationDefinition/${currentProcessDefinitionId}/${fromProcessDefinitionId}`, + method: 'put' + }); +}; diff --git a/src/api/workflow/processDefinition/types.ts b/src/api/workflow/processDefinition/types.ts new file mode 100644 index 0000000..979ec25 --- /dev/null +++ b/src/api/workflow/processDefinition/types.ts @@ -0,0 +1,24 @@ +import { DefinitionConfigVO } from '@/api/workflow/definitionConfig/types'; +export interface ProcessDefinitionQuery extends PageQuery { + key?: string; + name?: string; + categoryCode?: string; +} + +export interface ProcessDefinitionVO extends BaseEntity { + id: string; + name: string; + key: string; + version: number; + suspensionState: number; + resourceName: string; + diagramResourceName: string; + deploymentId: string; + deploymentTime: string; + wfDefinitionConfigVo: DefinitionConfigVO; +} + +export interface definitionXmlVO { + xml: string[]; + xmlStr: string; +} diff --git a/src/api/workflow/processInstance/index.ts b/src/api/workflow/processInstance/index.ts new file mode 100644 index 0000000..80f122f --- /dev/null +++ b/src/api/workflow/processInstance/index.ts @@ -0,0 +1,136 @@ +import request from '@/utils/request'; +import { ProcessInstanceQuery, ProcessInstanceVO } from '@/api/workflow/processInstance/types'; +import { AxiosPromise } from 'axios'; + +/** + * 查询运行中实例列表 + * @param query + * @returns {*} + */ +export const getPageByRunning = (query: ProcessInstanceQuery): AxiosPromise => { + return request({ + url: '/workflow/processInstance/getPageByRunning', + method: 'get', + params: query + }); +}; + +/** + * 查询已完成实例列表 + * @param query + * @returns {*} + */ +export const getPageByFinish = (query: ProcessInstanceQuery): AxiosPromise => { + return request({ + url: '/workflow/processInstance/getPageByFinish', + method: 'get', + params: query + }); +}; + +/** + * 通过流程实例id获取历史流程图 + */ +export const getHistoryImage = (processInstanceId: string) => { + return request({ + url: `/workflow/processInstance/getHistoryImage/${processInstanceId}` + '?t' + Math.random(), + method: 'get' + }); +}; + +/** + * 通过流程实例id获取历史流程图运行中,历史等节点 + */ +export const getHistoryList = (instanceId: string): AxiosPromise> => { + return request({ + url: `/workflow/processInstance/getHistoryList/${instanceId}` + '?t' + Math.random(), + method: 'get' + }); +}; + +/** + * 获取审批记录 + * @param processInstanceId 流程实例id + * @returns + */ +export const getHistoryRecord = (processInstanceId: string) => { + return request({ + url: `/workflow/processInstance/getHistoryRecord/${processInstanceId}`, + method: 'get' + }); +}; + +/** + * 作废 + * @param data 参数 + * @returns + */ +export const deleteRunInstance = (data: object) => { + return request({ + url: `/workflow/processInstance/deleteRunInstance`, + method: 'post', + data: data + }); +}; + +/** + * 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息 + * @param processInstanceId 流程实例id + * @returns + */ +export const deleteRunAndHisInstance = (processInstanceId: string | string[]) => { + return request({ + url: `/workflow/processInstance/deleteRunAndHisInstance/${processInstanceId}`, + method: 'delete' + }); +}; + +/** + * 已完成的实例 删除程实例,删除历史记录,删除业务与流程关联信息 + * @param processInstanceId 流程实例id + * @returns + */ +export const deleteFinishAndHisInstance = (processInstanceId: string | string[]) => { + return request({ + url: `/workflow/processInstance/deleteFinishAndHisInstance/${processInstanceId}`, + method: 'delete' + }); +}; + +/** + * 分页查询当前登录人单据 + * @param query + * @returns {*} + */ +export const getPageByCurrent = (query: ProcessInstanceQuery): AxiosPromise => { + return request({ + url: '/workflow/processInstance/getPageByCurrent', + method: 'get', + params: query + }); +}; + +/** + * 撤销流程 + * @param processInstanceId 流程实例id + * @returns + */ +export const cancelProcessApply = (processInstanceId: string) => { + return request({ + url: `/workflow/processInstance/cancelProcessApply/${processInstanceId}`, + method: 'post' + }); +}; + +export default { + getPageByRunning, + getPageByFinish, + getHistoryImage, + getHistoryList, + getHistoryRecord, + deleteRunInstance, + deleteRunAndHisInstance, + deleteFinishAndHisInstance, + getPageByCurrent, + cancelProcessApply +}; diff --git a/src/api/workflow/processInstance/types.ts b/src/api/workflow/processInstance/types.ts new file mode 100644 index 0000000..99d0511 --- /dev/null +++ b/src/api/workflow/processInstance/types.ts @@ -0,0 +1,27 @@ +import { TaskVO } from '@/api/workflow/task/types'; + +export interface ProcessInstanceQuery extends PageQuery { + categoryCode?: string; + name?: string; + key?: string; + startUserId?: string; + businessKey?: string; +} + +export interface ProcessInstanceVO extends BaseEntity { + id: string; + processDefinitionId: string; + processDefinitionName: string; + processDefinitionKey: string; + processDefinitionVersion: string; + deploymentId: string; + businessKey: string; + isSuspended?: any; + tenantId: string; + startTime: string; + endTime?: string; + startUserId: string; + businessStatus: string; + businessStatusName: string; + taskVoList: TaskVO[]; +} diff --git a/src/api/workflow/task/index.ts b/src/api/workflow/task/index.ts new file mode 100644 index 0000000..d29de30 --- /dev/null +++ b/src/api/workflow/task/index.ts @@ -0,0 +1,264 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { TaskQuery, TaskVO } from '@/api/workflow/task/types'; + +/** + * 查询待办列表 + * @param query + * @returns {*} + */ +export const getPageByTaskWait = (query: TaskQuery): AxiosPromise => { + return request({ + url: '/workflow/task/getPageByTaskWait', + method: 'get', + params: query + }); +}; + +/** + * 查询已办列表 + * @param query + * @returns {*} + */ +export const getPageByTaskFinish = (query: TaskQuery): AxiosPromise => { + return request({ + url: '/workflow/task/getPageByTaskFinish', + method: 'get', + params: query + }); +}; + +/** + * 查询当前用户的抄送列表 + * @param query + * @returns {*} + */ +export const getPageByTaskCopy = (query: TaskQuery): AxiosPromise => { + return request({ + url: '/workflow/task/getPageByTaskCopy', + method: 'get', + params: query + }); +}; + +/** + * 当前租户所有待办任务 + * @param query + * @returns {*} + */ +export const getPageByAllTaskWait = (query: TaskQuery): AxiosPromise => { + return request({ + url: '/workflow/task/getPageByAllTaskWait', + method: 'get', + params: query + }); +}; + +/** + * 当前租户所有已办任务 + * @param query + * @returns {*} + */ +export const getPageByAllTaskFinish = (query: TaskQuery): AxiosPromise => { + return request({ + url: '/workflow/task/getPageByAllTaskFinish', + method: 'get', + params: query + }); +}; + +/** + * 启动流程 + * @param data + * @returns {*} + */ +export const startWorkFlow = (data: object): any => { + return request({ + url: '/workflow/task/startWorkFlow', + method: 'post', + data: data + }); +}; + +/** + * 办理流程 + * @param data + * @returns {*} + */ +export const completeTask = (data: object) => { + return request({ + url: '/workflow/task/completeTask', + method: 'post', + data: data + }); +}; + +/** + * 认领任务 + * @param taskId + * @returns {*} + */ +export const claim = (taskId: string): any => { + return request({ + url: '/workflow/task/claim/' + taskId, + method: 'post' + }); +}; + +/** + * 归还任务 + * @param taskId + * @returns {*} + */ +export const returnTask = (taskId: string): any => { + return request({ + url: '/workflow/task/returnTask/' + taskId, + method: 'post' + }); +}; + +/** + * 任务驳回 + * @param data + * @returns {*} + */ +export const backProcess = (data: any): any => { + return request({ + url: '/workflow/task/backProcess', + method: 'post', + data: data + }); +}; + +/** + * 获取当前任务 + * @param taskId + * @returns + */ +export const getTaskById = (taskId: string) => { + return request({ + url: '/workflow/task/getTaskById/' + taskId, + method: 'get' + }); +}; + +/** + * 加签 + * @param data + * @returns + */ +export const addMultiInstanceExecution = (data: any) => { + return request({ + url: '/workflow/task/addMultiInstanceExecution', + method: 'post', + data: data + }); +}; + +/** + * 减签 + * @param data + * @returns + */ +export const deleteMultiInstanceExecution = (data: any) => { + return request({ + url: '/workflow/task/deleteMultiInstanceExecution', + method: 'post', + data: data + }); +}; + +/** + * 修改任务办理人 + * @param taskIds + * @param userId + * @returns + */ +export const updateAssignee = (taskIds: Array, userId: string) => { + return request({ + url: `/workflow/task/updateAssignee/${taskIds}/${userId}`, + method: 'put' + }); +}; + +/** + * 转办任务 + * @returns + */ +export const transferTask = (data: any) => { + return request({ + url: `/workflow/task/transferTask`, + method: 'post', + data: data + }); +}; + +/** + * 终止任务 + * @returns + */ +export const terminationTask = (data: any) => { + return request({ + url: `/workflow/task/terminationTask`, + method: 'post', + data: data + }); +}; + +/** + * 查询流程变量 + * @returns + */ +export const getInstanceVariable = (taskId: string) => { + return request({ + url: `/workflow/task/getInstanceVariable/${taskId}`, + method: 'get' + }); +}; + +/** + * 获取可驳回得任务节点 + * @returns + */ +export const getTaskNodeList = (processInstanceId: string) => { + return request({ + url: `/workflow/task/getTaskNodeList/${processInstanceId}`, + method: 'get' + }); +}; + +/** + * 委托任务 + * @returns + */ +export const delegateTask = (data: any) => { + return request({ + url: `/workflow/task/delegateTask`, + method: 'post', + data: data + }); +}; + +/** + * 查询工作流任务用户选择加签人员 + * @param taskId + * @returns {*} + */ +export const getTaskUserIdsByAddMultiInstance = (taskId: string) => { + return request({ + url: '/workflow/task/getTaskUserIdsByAddMultiInstance/' + taskId, + method: 'get' + }); +}; + +/** + * 查询工作流选择减签人员 + * @param taskId + * @returns {*} + */ +export const getListByDeleteMultiInstance = (taskId: string) => { + return request({ + url: '/workflow/task/getListByDeleteMultiInstance/' + taskId, + method: 'get' + }); +}; diff --git a/src/api/workflow/task/types.ts b/src/api/workflow/task/types.ts new file mode 100644 index 0000000..0425a1a --- /dev/null +++ b/src/api/workflow/task/types.ts @@ -0,0 +1,49 @@ +import { NodeConfigVO } from '@/api/workflow/nodeConfig/types'; +import { DefinitionConfigVO } from '@/api/workflow/definitionConfig/types'; +export interface TaskQuery extends PageQuery { + name?: string; + processDefinitionKey?: string; + processDefinitionName?: string; +} + +export interface ParticipantVo { + groupIds?: string[] | number[]; + candidate: string[] | number[]; + candidateName: string[]; + claim: boolean; +} + +export interface TaskVO extends BaseEntity { + id: string; + name: string; + description?: string; + priority: number; + owner?: string; + assignee?: string | number; + assigneeName?: string; + processInstanceId: string; + executionId: string; + taskDefinitionId?: any; + processDefinitionId: string; + endTime?: string; + taskDefinitionKey: string; + dueDate?: string; + category?: any; + parentTaskId?: any; + tenantId: string; + claimTime?: string; + businessStatus?: string; + businessStatusName?: string; + processDefinitionName?: string; + processDefinitionKey?: string; + participantVo?: ParticipantVo; + multiInstance?: boolean; + businessKey?: string; + wfNodeConfigVo?: NodeConfigVO; + wfDefinitionConfigVo?: DefinitionConfigVO; +} + +export interface VariableVo { + key: string; + value: string; +} diff --git a/src/api/workflow/workflowCommon/index.ts b/src/api/workflow/workflowCommon/index.ts new file mode 100644 index 0000000..a90216a --- /dev/null +++ b/src/api/workflow/workflowCommon/index.ts @@ -0,0 +1,29 @@ +import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; + +export default { + routerJump(routerJumpVo: RouterJumpVo,proxy){ + if (routerJumpVo.wfNodeConfigVo && routerJumpVo.wfNodeConfigVo.formType === 'static' && routerJumpVo.wfNodeConfigVo.wfFormManageVo) { + proxy.$tab.closePage(proxy.$route); + proxy.$router.push({ + path: `${routerJumpVo.wfNodeConfigVo.wfFormManageVo.router}`, + query: { + id: routerJumpVo.businessKey, + type: routerJumpVo.type, + taskId: routerJumpVo.taskId + } + }); + } else if (routerJumpVo.wfNodeConfigVo && routerJumpVo.wfNodeConfigVo.formType === 'dynamic' && routerJumpVo.wfNodeConfigVo.wfFormManageVo) { + proxy.$tab.closePage(proxy.$route); + proxy.$router.push({ + path: `${routerJumpVo.wfNodeConfigVo.wfFormManageVo.router}`, + query: { + id: routerJumpVo.businessKey, + type: routerJumpVo.type, + taskId: routerJumpVo.taskId + } + }); + }else { + proxy?.$modal.msgError('请到模型配置菜单!'); + } + } +} \ No newline at end of file diff --git a/src/api/workflow/workflowCommon/types.ts b/src/api/workflow/workflowCommon/types.ts new file mode 100644 index 0000000..0f1ef1f --- /dev/null +++ b/src/api/workflow/workflowCommon/types.ts @@ -0,0 +1,16 @@ +import { NodeConfigVO } from '@/api/workflow/nodeConfig/types'; +import { DefinitionConfigVO } from '@/api/workflow/definitionConfig/types'; + +export interface RouterJumpVo { + wfNodeConfigVo: NodeConfigVO; + wfDefinitionConfigVo: DefinitionConfigVO; + businessKey: string; + taskId: string; + type: string; +} + +export interface StartProcessBo { + businessKey: string | number; + tableName: string; + variables: any; +} diff --git a/src/assets/401_images/401.gif b/src/assets/401_images/401.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd6e0d9433421b3f29d0ec0c40f755e354728000 GIT binary patch literal 164227 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⋘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 GY5fOuZZib{ literal 0 HcmV?d00001 diff --git a/src/assets/404_images/404.png b/src/assets/404_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8e2305cc973ad2121403aee4bf08728f76c461 GIT binary patch literal 98071 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 literal 0 HcmV?d00001 diff --git a/src/assets/404_images/404_cloud.png b/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..c6281d09013e0a2c5f8e699a0a6038d9480291e5 GIT binary patch literal 4766 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 literal 0 HcmV?d00001 diff --git a/src/assets/icons/svg/404.svg b/src/assets/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/src/assets/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/bug.svg b/src/assets/icons/svg/bug.svg new file mode 100644 index 0000000..05a150d --- /dev/null +++ b/src/assets/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/build.svg b/src/assets/icons/svg/build.svg new file mode 100644 index 0000000..97c4688 --- /dev/null +++ b/src/assets/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/button.svg b/src/assets/icons/svg/button.svg new file mode 100644 index 0000000..904fddc --- /dev/null +++ b/src/assets/icons/svg/button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/caret-back.svg b/src/assets/icons/svg/caret-back.svg new file mode 100644 index 0000000..9bae722 --- /dev/null +++ b/src/assets/icons/svg/caret-back.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/caret-forward.svg b/src/assets/icons/svg/caret-forward.svg new file mode 100644 index 0000000..1ec3f7d --- /dev/null +++ b/src/assets/icons/svg/caret-forward.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/cascader.svg b/src/assets/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/src/assets/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/category.svg b/src/assets/icons/svg/category.svg new file mode 100644 index 0000000..df92526 --- /dev/null +++ b/src/assets/icons/svg/category.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/chart.svg b/src/assets/icons/svg/chart.svg new file mode 100644 index 0000000..27728fb --- /dev/null +++ b/src/assets/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/checkbox.svg b/src/assets/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/src/assets/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/clipboard.svg b/src/assets/icons/svg/clipboard.svg new file mode 100644 index 0000000..90923ff --- /dev/null +++ b/src/assets/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/code.svg b/src/assets/icons/svg/code.svg new file mode 100644 index 0000000..5f9c5ab --- /dev/null +++ b/src/assets/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/color.svg b/src/assets/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/src/assets/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/company.svg b/src/assets/icons/svg/company.svg new file mode 100644 index 0000000..fcf1394 --- /dev/null +++ b/src/assets/icons/svg/company.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/component.svg b/src/assets/icons/svg/component.svg new file mode 100644 index 0000000..29c3458 --- /dev/null +++ b/src/assets/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/dashboard.svg b/src/assets/icons/svg/dashboard.svg new file mode 100644 index 0000000..5317d37 --- /dev/null +++ b/src/assets/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date-range.svg b/src/assets/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/src/assets/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/date.svg b/src/assets/icons/svg/date.svg new file mode 100644 index 0000000..52dc73e --- /dev/null +++ b/src/assets/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/dict.svg b/src/assets/icons/svg/dict.svg new file mode 100644 index 0000000..4849377 --- /dev/null +++ b/src/assets/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/documentation.svg b/src/assets/icons/svg/documentation.svg new file mode 100644 index 0000000..7043122 --- /dev/null +++ b/src/assets/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/download.svg b/src/assets/icons/svg/download.svg new file mode 100644 index 0000000..c896951 --- /dev/null +++ b/src/assets/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/drag.svg b/src/assets/icons/svg/drag.svg new file mode 100644 index 0000000..4185d3c --- /dev/null +++ b/src/assets/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/druid.svg b/src/assets/icons/svg/druid.svg new file mode 100644 index 0000000..a2b4b4e --- /dev/null +++ b/src/assets/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/edit.svg b/src/assets/icons/svg/edit.svg new file mode 100644 index 0000000..d26101f --- /dev/null +++ b/src/assets/icons/svg/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/education.svg b/src/assets/icons/svg/education.svg new file mode 100644 index 0000000..7bfb01d --- /dev/null +++ b/src/assets/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/email.svg b/src/assets/icons/svg/email.svg new file mode 100644 index 0000000..74d25e2 --- /dev/null +++ b/src/assets/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/example.svg b/src/assets/icons/svg/example.svg new file mode 100644 index 0000000..46f42b5 --- /dev/null +++ b/src/assets/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/excel.svg b/src/assets/icons/svg/excel.svg new file mode 100644 index 0000000..74d97b8 --- /dev/null +++ b/src/assets/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/exit-fullscreen.svg b/src/assets/icons/svg/exit-fullscreen.svg new file mode 100644 index 0000000..485c128 --- /dev/null +++ b/src/assets/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/eye-open.svg b/src/assets/icons/svg/eye-open.svg new file mode 100644 index 0000000..88dcc98 --- /dev/null +++ b/src/assets/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/eye.svg b/src/assets/icons/svg/eye.svg new file mode 100644 index 0000000..16ed2d8 --- /dev/null +++ b/src/assets/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/finish.svg b/src/assets/icons/svg/finish.svg new file mode 100644 index 0000000..4685c23 --- /dev/null +++ b/src/assets/icons/svg/finish.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/form.svg b/src/assets/icons/svg/form.svg new file mode 100644 index 0000000..dcbaa18 --- /dev/null +++ b/src/assets/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/fullscreen.svg b/src/assets/icons/svg/fullscreen.svg new file mode 100644 index 0000000..0e86b6f --- /dev/null +++ b/src/assets/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/gitee.svg b/src/assets/icons/svg/gitee.svg new file mode 100644 index 0000000..6324608 --- /dev/null +++ b/src/assets/icons/svg/gitee.svg @@ -0,0 +1 @@ + diff --git a/src/assets/icons/svg/github.svg b/src/assets/icons/svg/github.svg new file mode 100644 index 0000000..db0a0d4 --- /dev/null +++ b/src/assets/icons/svg/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/guide.svg b/src/assets/icons/svg/guide.svg new file mode 100644 index 0000000..b271001 --- /dev/null +++ b/src/assets/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/icon.svg b/src/assets/icons/svg/icon.svg new file mode 100644 index 0000000..82be8ee --- /dev/null +++ b/src/assets/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/input.svg b/src/assets/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/src/assets/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/international.svg b/src/assets/icons/svg/international.svg new file mode 100644 index 0000000..e9b56ee --- /dev/null +++ b/src/assets/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/job.svg b/src/assets/icons/svg/job.svg new file mode 100644 index 0000000..2a93a25 --- /dev/null +++ b/src/assets/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/language.svg b/src/assets/icons/svg/language.svg new file mode 100644 index 0000000..0082b57 --- /dev/null +++ b/src/assets/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/link.svg b/src/assets/icons/svg/link.svg new file mode 100644 index 0000000..48197ba --- /dev/null +++ b/src/assets/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/list.svg b/src/assets/icons/svg/list.svg new file mode 100644 index 0000000..20259ed --- /dev/null +++ b/src/assets/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/lock.svg b/src/assets/icons/svg/lock.svg new file mode 100644 index 0000000..74fee54 --- /dev/null +++ b/src/assets/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/log.svg b/src/assets/icons/svg/log.svg new file mode 100644 index 0000000..d879d33 --- /dev/null +++ b/src/assets/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/logininfor.svg b/src/assets/icons/svg/logininfor.svg new file mode 100644 index 0000000..267f844 --- /dev/null +++ b/src/assets/icons/svg/logininfor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/maxkey.svg b/src/assets/icons/svg/maxkey.svg new file mode 100644 index 0000000..f8f8a7d --- /dev/null +++ b/src/assets/icons/svg/maxkey.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/svg/message.svg b/src/assets/icons/svg/message.svg new file mode 100644 index 0000000..14ca817 --- /dev/null +++ b/src/assets/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/model.svg b/src/assets/icons/svg/model.svg new file mode 100644 index 0000000..0c57d70 --- /dev/null +++ b/src/assets/icons/svg/model.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/money.svg b/src/assets/icons/svg/money.svg new file mode 100644 index 0000000..c1580de --- /dev/null +++ b/src/assets/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/monitor.svg b/src/assets/icons/svg/monitor.svg new file mode 100644 index 0000000..bc308cb --- /dev/null +++ b/src/assets/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/my-copy.svg b/src/assets/icons/svg/my-copy.svg new file mode 100644 index 0000000..49f69fa --- /dev/null +++ b/src/assets/icons/svg/my-copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/my-task.svg b/src/assets/icons/svg/my-task.svg new file mode 100644 index 0000000..1f1ea44 --- /dev/null +++ b/src/assets/icons/svg/my-task.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/nested.svg b/src/assets/icons/svg/nested.svg new file mode 100644 index 0000000..06713a8 --- /dev/null +++ b/src/assets/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/number.svg b/src/assets/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/src/assets/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/online.svg b/src/assets/icons/svg/online.svg new file mode 100644 index 0000000..330a202 --- /dev/null +++ b/src/assets/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/password.svg b/src/assets/icons/svg/password.svg new file mode 100644 index 0000000..6c64def --- /dev/null +++ b/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/pdf.svg b/src/assets/icons/svg/pdf.svg new file mode 100644 index 0000000..957aa0c --- /dev/null +++ b/src/assets/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/people.svg b/src/assets/icons/svg/people.svg new file mode 100644 index 0000000..2bd54ae --- /dev/null +++ b/src/assets/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/peoples.svg b/src/assets/icons/svg/peoples.svg new file mode 100644 index 0000000..aab852e --- /dev/null +++ b/src/assets/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/phone.svg b/src/assets/icons/svg/phone.svg new file mode 100644 index 0000000..ab8e8c4 --- /dev/null +++ b/src/assets/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/post.svg b/src/assets/icons/svg/post.svg new file mode 100644 index 0000000..2922c61 --- /dev/null +++ b/src/assets/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/process-definition.svg b/src/assets/icons/svg/process-definition.svg new file mode 100644 index 0000000..202d200 --- /dev/null +++ b/src/assets/icons/svg/process-definition.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/qq.svg b/src/assets/icons/svg/qq.svg new file mode 100644 index 0000000..ee13d4e --- /dev/null +++ b/src/assets/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/question.svg b/src/assets/icons/svg/question.svg new file mode 100644 index 0000000..cf75bd4 --- /dev/null +++ b/src/assets/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/radio.svg b/src/assets/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/src/assets/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/rate.svg b/src/assets/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/src/assets/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redis-list.svg b/src/assets/icons/svg/redis-list.svg new file mode 100644 index 0000000..98a15b2 --- /dev/null +++ b/src/assets/icons/svg/redis-list.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redis.svg b/src/assets/icons/svg/redis.svg new file mode 100644 index 0000000..2f1d62d --- /dev/null +++ b/src/assets/icons/svg/redis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/row.svg b/src/assets/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/src/assets/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/search.svg b/src/assets/icons/svg/search.svg new file mode 100644 index 0000000..84233dd --- /dev/null +++ b/src/assets/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/select.svg b/src/assets/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/src/assets/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/server.svg b/src/assets/icons/svg/server.svg new file mode 100644 index 0000000..eb287e3 --- /dev/null +++ b/src/assets/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/shopping.svg b/src/assets/icons/svg/shopping.svg new file mode 100644 index 0000000..87513e7 --- /dev/null +++ b/src/assets/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/size.svg b/src/assets/icons/svg/size.svg new file mode 100644 index 0000000..ddb25b8 --- /dev/null +++ b/src/assets/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/skill.svg b/src/assets/icons/svg/skill.svg new file mode 100644 index 0000000..a3b7312 --- /dev/null +++ b/src/assets/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/slider.svg b/src/assets/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/src/assets/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/star.svg b/src/assets/icons/svg/star.svg new file mode 100644 index 0000000..6cf86e6 --- /dev/null +++ b/src/assets/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/swagger.svg b/src/assets/icons/svg/swagger.svg new file mode 100644 index 0000000..05d4e7b --- /dev/null +++ b/src/assets/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/switch.svg b/src/assets/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/src/assets/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/system.svg b/src/assets/icons/svg/system.svg new file mode 100644 index 0000000..5992593 --- /dev/null +++ b/src/assets/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tab.svg b/src/assets/icons/svg/tab.svg new file mode 100644 index 0000000..b4b48e4 --- /dev/null +++ b/src/assets/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/table.svg b/src/assets/icons/svg/table.svg new file mode 100644 index 0000000..0e3dc9d --- /dev/null +++ b/src/assets/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/textarea.svg b/src/assets/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/src/assets/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/theme.svg b/src/assets/icons/svg/theme.svg new file mode 100644 index 0000000..5982a2f --- /dev/null +++ b/src/assets/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time-range.svg b/src/assets/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/src/assets/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/time.svg b/src/assets/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/src/assets/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tool.svg b/src/assets/icons/svg/tool.svg new file mode 100644 index 0000000..48e0e35 --- /dev/null +++ b/src/assets/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/topiam.svg b/src/assets/icons/svg/topiam.svg new file mode 100644 index 0000000..e7ea057 --- /dev/null +++ b/src/assets/icons/svg/topiam.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/icons/svg/tree-table.svg b/src/assets/icons/svg/tree-table.svg new file mode 100644 index 0000000..8aafdb8 --- /dev/null +++ b/src/assets/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/tree.svg b/src/assets/icons/svg/tree.svg new file mode 100644 index 0000000..dd4b7dd --- /dev/null +++ b/src/assets/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/upload.svg b/src/assets/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/src/assets/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/user.svg b/src/assets/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/src/assets/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/validCode.svg b/src/assets/icons/svg/validCode.svg new file mode 100644 index 0000000..cfb1021 --- /dev/null +++ b/src/assets/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/waiting.svg b/src/assets/icons/svg/waiting.svg new file mode 100644 index 0000000..2c2042d --- /dev/null +++ b/src/assets/icons/svg/waiting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/wechat.svg b/src/assets/icons/svg/wechat.svg new file mode 100644 index 0000000..c586e55 --- /dev/null +++ b/src/assets/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/workflow.svg b/src/assets/icons/svg/workflow.svg new file mode 100644 index 0000000..2f7423a --- /dev/null +++ b/src/assets/icons/svg/workflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/zip.svg b/src/assets/icons/svg/zip.svg new file mode 100644 index 0000000..f806fc4 --- /dev/null +++ b/src/assets/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/dark.svg b/src/assets/images/dark.svg new file mode 100644 index 0000000..f646bd7 --- /dev/null +++ b/src/assets/images/dark.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/light.svg b/src/assets/images/light.svg new file mode 100644 index 0000000..ab7cc08 --- /dev/null +++ b/src/assets/images/light.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/login-background.jpg b/src/assets/images/login-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa6408b957751a83555eeb7c0466675af3d15de2 GIT binary patch literal 577784 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%0DtsWKe*LzpVNfzaDsoy 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

oRt6ALg264%5t;z%q5kAQ1p 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%0AcPBwle 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

5&=UtbuKTL=BWHY7GRauRiSAxrLG}5M#ZArZ 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

0$o8F+R=5!FD=A%y_mApk^?G#?2e6>5yb$|0Oj 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 G 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 d+2AD?_zza div > .el-submenu > .el-submenu__title .el-submenu__icon-arrow { + display: none; +} + +.el-dropdown .el-dropdown-link { + color: var(--el-color-primary) !important; +} + +/* 当 el-form 的 inline 属性为 true 时 */ +/* 设置 label 的宽度默认为 68px */ +.el-form--inline .el-form-item__label { + width: 68px; +} + +/* 设置 el-select 的宽度默认为 240px */ +.el-form--inline .el-select { + width: 240px; +} + +/* 设置 el-input 的宽度默认为 240px */ +.el-form--inline .el-input { + width: 240px; +} diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss new file mode 100644 index 0000000..bdf9b03 --- /dev/null +++ b/src/assets/styles/index.scss @@ -0,0 +1,215 @@ +@import './variables.module.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; +@import './btn.scss'; +@import './ruoyi.scss'; +@import 'animate.css'; +@import 'element-plus/dist/index.css'; + +body { + height: 100%; + margin: 0; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: + Helvetica Neue, + Helvetica, + PingFang SC, + Hiragino Sans GB, + Microsoft YaHei, + Arial, + sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +html.dark .svg-icon, +html.dark svg { + fill: var(--el-text-color-regular); +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.pointer { + cursor: pointer; +} + +.inlineBlock { + display: block; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: ' '; + clear: both; + height: 0; + } +} + +aside { + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + a { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } + } +} + +//main-container全局样式 +.app-container { + padding: 20px; +} + +// search面板样式 +.panel, +.search { + margin-bottom: 0.75rem; + border-radius: 0.25rem; + border: 1px solid var(--el-border-color-light); + background-color: var(--el-bg-color-overlay); + padding: 0.75rem; + transition: all ease 0.3s; + + &:hover { + box-shadow: 0 2px 12px #0000001a; + transition: all ease 0.3s; + } +} + +.components-container { + margin: 30px 50px; + position: relative; +} + +.pagination-container { + margin-top: 30px; +} + +.text-center { + text-align: center; +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + + .subtitle { + font-size: 20px; + color: #fff; + } + + &.draft { + background: #d0d0d0; + } + + &.deleted { + background: #d0d0d0; + } +} + +.link-type, +.link-type:focus { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } +} + +.filter-container { + padding-bottom: 10px; + + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} diff --git a/src/assets/styles/mixin.scss b/src/assets/styles/mixin.scss new file mode 100644 index 0000000..5250e71 --- /dev/null +++ b/src/assets/styles/mixin.scss @@ -0,0 +1,60 @@ +@mixin clearfix { + &:after { + content: ''; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss new file mode 100644 index 0000000..d2ecb24 --- /dev/null +++ b/src/assets/styles/ruoyi.scss @@ -0,0 +1,290 @@ +/** + * 通用css样式布局处理 + * Copyright (c) 2019 ruoyi + */ + +/** 基础通用 **/ +.pt5 { + padding-top: 5px; +} +.pr5 { + padding-right: 5px; +} +.pb5 { + padding-bottom: 5px; +} +.mt5 { + margin-top: 5px; +} +.mr5 { + margin-right: 5px; +} +.mb5 { + margin-bottom: 5px; +} +.mb8 { + margin-bottom: 8px; +} +.ml5 { + margin-left: 5px; +} +.mt10 { + margin-top: 10px; +} +.mr10 { + margin-right: 10px; +} +.mb10 { + margin-bottom: 10px; +} +.ml10 { + margin-left: 10px; +} +.mt20 { + margin-top: 20px; +} +.mr20 { + margin-right: 20px; +} +.mb20 { + margin-bottom: 20px; +} +.ml20 { + margin-left: 20px; +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} + +.el-form .el-form-item__label { + font-weight: 700; +} +.el-dialog:not(.is-fullscreen) { + margin-top: 6vh !important; +} + +.el-dialog.scrollbar .el-dialog__body { + overflow: auto; + overflow-x: hidden; + max-height: 70vh; + padding: 10px 20px 0; +} + +.el-table { + .el-table__header-wrapper, + .el-table__fixed-header-wrapper { + th { + word-break: break-word; + background-color: $table-header-bg !important; + color: $table-header-text-color; + height: 40px !important; + font-size: 13px; + } + } + .el-table__body-wrapper { + .el-button [class*='el-icon-'] + span { + margin-left: 1px; + } + } +} + +/** 表单布局 **/ +.form-header { + font-size: 15px; + color: #6379bb; + border-bottom: 1px solid #ddd; + margin: 8px 10px 25px 10px; + padding-bottom: 5px; +} + +/** 表格布局 **/ +.pagination-container { + // position: relative; + height: 25px; + margin-bottom: 10px; + margin-top: 15px; + padding: 10px 20px !important; +} + +/* tree border */ +.tree-border { + margin-top: 5px; + border: 1px solid #e5e6e7; + background: #ffffff none; + border-radius: 4px; + width: 100%; +} + +.pagination-container .el-pagination { + //right: 0; + //position: absolute; +} + +@media (max-width: 768px) { + .pagination-container .el-pagination > .el-pagination__jump { + display: none !important; + } + .pagination-container .el-pagination > .el-pagination__sizes { + display: none !important; + } +} + +.el-table .fixed-width .el-button--small { + padding-left: 0; + padding-right: 0; + width: inherit; +} + +/** 表格更多操作下拉样式 */ +.el-table .el-dropdown-link { + cursor: pointer; + color: #409eff; + margin-left: 10px; +} + +.el-table .el-dropdown, +.el-icon-arrow-down { + font-size: 12px; +} + +.el-tree-node__content > .el-checkbox { + margin-right: 8px; +} + +.list-group-striped > .list-group-item { + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; +} + +.list-group { + padding-left: 0px; + list-style: none; +} + +.list-group-item { + border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + margin-bottom: -1px; + padding: 11px 0px; + font-size: 13px; +} + +.pull-right { + float: right !important; +} + +.el-card__header { + padding: 14px 15px 7px !important; + min-height: 40px; +} + +.el-card__body { + padding: 15px 20px 20px 20px !important; +} + +.card-box { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 10px; +} + +/* button color */ +.el-button--cyan.is-active, +.el-button--cyan:active { + background: #20b2aa; + border-color: #20b2aa; + color: #ffffff; +} + +.el-button--cyan:focus, +.el-button--cyan:hover { + background: #48d1cc; + border-color: #48d1cc; + color: #ffffff; +} + +.el-button--cyan { + background-color: #20b2aa; + border-color: #20b2aa; + color: #ffffff; +} + +/* text color */ +.text-navy { + color: #1ab394; +} + +.text-primary { + color: inherit; +} + +.text-success { + color: #1c84c6; +} + +.text-info { + color: #23c6c8; +} + +.text-warning { + color: #f8ac59; +} + +.text-danger { + color: #ed5565; +} + +.text-muted { + color: #888888; +} + +/* image */ +.img-circle { + border-radius: 50%; +} + +.img-lg { + width: 120px; + height: 120px; +} + +.avatar-upload-preview { + position: absolute; + top: 50%; + transform: translate(50%, -50%); + width: 200px; + height: 200px; + border-radius: 50%; + box-shadow: 0 0 4px #ccc; + overflow: hidden; +} + +/* 拖拽列样式 */ +.sortable-ghost { + opacity: 0.8; + color: #fff !important; + background: #42b983 !important; +} + +/* 表格右侧工具栏样式 */ +.top-right-btn { + margin-left: auto; +} diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss new file mode 100644 index 0000000..d85da55 --- /dev/null +++ b/src/assets/styles/sidebar.scss @@ -0,0 +1,232 @@ +#app { + .main-container { + height: 100%; + transition: margin-left 0.28s; + margin-left: $base-sidebar-width; + position: relative; + } + + .sidebarHide { + margin-left: 0 !important; + } + + .sidebar-container { + -webkit-transition: width 0.28s; + transition: width 0.28s; + width: $base-sidebar-width !important; + background-color: $base-menu-background; + height: 100%; + position: fixed; + font-size: 0; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + overflow: hidden; + -webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + + // reset element-ui css + .horizontal-collapse-transition { + transition: + 0s width ease-in-out, + 0s padding-left ease-in-out, + 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 50px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + } + + .el-menu-item, + .menu-title { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + } + + .el-menu-item .el-menu-tooltip__trigger { + display: inline-block !important; + } + + // menu hover + .theme-dark .sub-menu-title-noDropdown, + .theme-dark .el-sub-menu__title { + &:hover { + background-color: $base-sub-menu-title-hover !important; + } + } + .sub-menu-title-noDropdown, + .el-sub-menu__title { + &:hover { + background-color: rgba(0, 0, 0, 0.05) !important; + } + } + + & .theme-dark .is-active > .el-sub-menu__title { + color: $base-menu-color-active !important; + } + + & .nest-menu .el-sub-menu > .el-sub-menu__title, + & .el-sub-menu .el-menu-item { + min-width: $base-sidebar-width !important; + &:hover { + background-color: rgba(0, 0, 0, 0.1) !important; + } + } + + & .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title, + & .theme-dark .el-sub-menu .el-menu-item { + background-color: $base-sub-menu-background !important; + + &:hover { + background-color: $base-sub-menu-hover !important; + } + } + + & .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title, + & .theme-dark .el-menu-item { + &:hover { + // you can use $sub-menuHover + background-color: $base-menu-hover !important; + } + } + & .nest-menu .el-sub-menu > .el-sub-menu__title, + & .el-menu-item { + &:hover { + // you can use $sub-menuHover + background-color: rgba(0, 0, 0, 0.04) !important; + } + } + } + + .hideSidebar { + .sidebar-container { + width: 54px !important; + } + + .main-container { + margin-left: 54px; + } + + .sub-menu-title-noDropdown { + padding: 0 !important; + position: relative; + + .el-tooltip { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-sub-menu { + overflow: hidden; + + & > .el-sub-menu__title { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-menu--collapse { + .el-sub-menu { + & > .el-sub-menu__title { + & > span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + & > i { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + } + } + } + + .el-menu--collapse .el-menu .el-sub-menu { + min-width: $base-sidebar-width !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform 0.28s; + width: $base-sidebar-width !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$base-sidebar-width, 0, 0); + } + } + } + + .withoutAnimation { + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + & > .el-menu { + .svg-icon { + margin-right: 16px; + } + } +} diff --git a/src/assets/styles/transition.scss b/src/assets/styles/transition.scss new file mode 100644 index 0000000..468ad3c --- /dev/null +++ b/src/assets/styles/transition.scss @@ -0,0 +1,49 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform--move, +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all 0.5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all 0.5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all 0.5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/src/assets/styles/variables.module.scss b/src/assets/styles/variables.module.scss new file mode 100644 index 0000000..92fc34d --- /dev/null +++ b/src/assets/styles/variables.module.scss @@ -0,0 +1,121 @@ +// 全局SCSS变量 +:root { + --menuBg: #304156; + --menuColor: #bfcbd9; + --menuActiveText: #f4f4f5; + --menuHover: #263445; + + --subMenuBg: #1f2d3d; + --subMenuActiveText: #f4f4f5; + --subMenuHover: #001528; + --subMenuTitleHover: #293444; + + --fixedHeaderBg: #ffffff; + --tableHeaderBg: #f8f8f9; + --tableHeaderTextColor: #515a6e; + + // 工作流 + --bpmn-panel-border: #eeeeee; + --bpmn-panel-box-shadow: #cccccc; + --bpmn-panel-bar-background-color: #f5f7fa; + + // ele + --brder-color: #e8e8e8 +} +html.dark { + --menuBg: #1d1e1f; + --menuColor: #bfcbd9; + --menuActiveText: #f4f4f5; + --menuHover: #171819; + + --subMenuBg: #1d1e1f; + --subMenuActiveText: #1d1e1f; + --subMenuHover: #171819; + --subMenuTitleHover: #171819; + + --fixedHeaderBg: #171819; + --tableHeaderBg: var(--el-bg-color); + --tableHeaderTextColor: var(--el-text-color); + + // 覆盖ele 高亮当前行的标准暗色 + .el-tree-node__content { + --el-color-primary-light-9: #262727; + } + // vxe-table 主题 + --vxe-font-color: #98989E; + --vxe-primary-color: #2C7ECF; + --vxe-icon-background-color: #98989E; + --vxe-table-font-color: #98989E; + --vxe-table-resizable-color: #95969a; + --vxe-table-header-background-color: #28282A; + --vxe-table-body-background-color: #151518; + --vxe-table-background-color: #4a5663; + --vxe-table-border-width: 1px; + --vxe-table-border-color: #37373A; + --vxe-toolbar-background-color: #37373A; + + // 工作流 + --bpmn-panel-border: #37373A; + --bpmn-panel-box-shadow: #37373A; + --bpmn-panel-bar-background-color: #37373A; + + // ele + --brder-color: #37373A +} + +// base color +$blue: #324157; +$light-blue: #3a71a8; +$red: #c03639; +$pink: #e65d6e; +$green: #30b08f; +$tiffany: #4ab7bd; +$yellow: #fec171; +$panGreen: #30b08f; + +// 默认菜单主题风格 +$base-menu-color: var(--menuColor); +$base-menu-hover: var(--menuHover); +$base-menu-color-active: var(--menuActiveText); +$base-menu-background: var(--menuBg); +$base-logo-title-color: #ffffff; + +$base-menu-light-color: rgba(0, 0, 0, 0.7); +$base-menu-light-background: #ffffff; +$base-logo-light-title-color: #001529; + +$base-sub-menu-background: var(--subMenuBg); +$base-sub-menu-hover: var(--subMenuHover); +$base-sub-menu-title-hover: var(--subMenuTitleHover); +// 表单头背景色和标题颜色 +$fixed-header-bg: var(--fixedHeaderBg); +$table-header-bg: var(--tableHeaderBg); +$table-header-text-color: var(--tableHeaderTextColor); + +$--color-primary: #409eff; +$--color-success: #67c23a; +$--color-warning: #e6a23c; +$--color-danger: #f56c6c; +$--color-info: #909399; + +$base-sidebar-width: 200px; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + menuColor: $base-menu-color; + menuLightColor: $base-menu-light-color; + menuColorActive: $base-menu-color-active; + menuBackground: $base-menu-background; + menuLightBackground: $base-menu-light-background; + subMenuBackground: $base-sub-menu-background; + subMenuHover: $base-sub-menu-hover; + sideBarWidth: $base-sidebar-width; + logoTitleColor: $base-logo-title-color; + logoLightTitleColor: $base-logo-light-title-color; + primaryColor: $--color-primary; + successColor: $--color-success; + dangerColor: $--color-danger; + infoColor: $--color-info; + warningColor: $--color-warning; +} diff --git a/src/bpmn/assets/defaultXML.ts b/src/bpmn/assets/defaultXML.ts new file mode 100644 index 0000000..dff0349 --- /dev/null +++ b/src/bpmn/assets/defaultXML.ts @@ -0,0 +1,23 @@ +function generateRandomValue() { + // 生成一个随机数 + const randomValue = Math.random().toString(36).slice(2, 12); + return `Process_${randomValue}`; +} + +const cartage: string = 'default'; +export default ` + + + + + + + + + + + + + + +`; diff --git a/src/bpmn/assets/lang/zh.ts b/src/bpmn/assets/lang/zh.ts new file mode 100644 index 0000000..ee0c5de --- /dev/null +++ b/src/bpmn/assets/lang/zh.ts @@ -0,0 +1,126 @@ +export const NodeName = { + 'bpmn:Process': '流程', + 'bpmn:StartEvent': '开始事件', + 'bpmn:IntermediateThrowEvent': '中间事件', + 'bpmn:Task': '任务', + 'bpmn:SendTask': '发送任务', + 'bpmn:ReceiveTask': '接收任务', + 'bpmn:UserTask': '用户任务', + 'bpmn:ManualTask': '手工任务', + 'bpmn:BusinessRuleTask': '业务规则任务', + 'bpmn:ServiceTask': '服务任务', + 'bpmn:ScriptTask': '脚本任务', + 'bpmn:EndEvent': '结束事件', + 'bpmn:SequenceFlow': '流程线', + 'bpmn:ExclusiveGateway': '互斥网关', + 'bpmn:ParallelGateway': '并行网关', + 'bpmn:InclusiveGateway': '相容网关', + 'bpmn:ComplexGateway': '复杂网关', + 'bpmn:EventBasedGateway': '事件网关', + 'bpmn:Participant': '池/参与者', + 'bpmn:SubProcess': '子流程', + 'bpmn:DataObjectReference': '数据对象引用', + 'bpmn:DataStoreReference': '数据存储引用', + 'bpmn:Group': '组' +}; + +export default { + 'Activate hand tool': '启动手动工具', + 'Activate lasso tool': '启动 Lasso 工具', + 'Activate create/remove space tool': '启动创建/删除空间工具', + 'Activate global connect tool': '启动全局连接工具', + 'Ad-hoc': 'Ad-hoc', + 'Add lane above': '在上方添加泳道', + 'Add lane below': '在下方添加泳道', + 'Business rule task': '规则任务', + 'Call activity': '引用流程', + 'Compensation end event': '结束补偿事件', + 'Compensation intermediate throw event': '中间补偿抛出事件', + 'Complex gateway': '复杂网关', + 'Conditional intermediate catch event': '中间条件捕获事件', + 'Conditional start event (non-interrupting)': '条件启动事件 (非中断)', + 'Conditional start event': '条件启动事件', + 'Connect using association': '文本关联', + 'Connect using sequence/message flow or association': '消息关联', + 'Change element': '更改元素', + 'Change type': '更改类型', + 'Create data object reference': '创建数据对象引用', + 'Create data store reference': '创建数据存储引用', + 'Create expanded sub-process': '创建可折叠子流程', + 'Create pool/participant': '创建池/参与者', + 'Collection': '集合', + 'Connect using data input association': '数据输入关联', + 'Data store reference': '数据存储引用', + 'Data object reference': '数据对象引用', + 'Divide into two lanes': '分成两个泳道', + 'Divide into three lanes': '分成三个泳道', + 'End event': '结束事件', + 'Error end event': '结束错误事件', + 'Escalation end event': '结束升级事件', + 'Escalation intermediate throw event': '中间升级抛出事件', + 'Event sub-process': '事件子流程', + 'Event-based gateway': '事件网关', + 'Exclusive gateway': '互斥网关', + 'Empty pool/participant (removes content)': '清空池/参与者 (删除内容)', + 'Empty pool/participant': '清空池/参与者', + 'Expanded pool/participant': '展开池/参与者', + 'Inclusive gateway': '相容网关', + 'Intermediate throw event': '中间抛出事件', + 'Loop': '循环', + 'Link intermediate catch event': '中间链接捕获事件', + 'Link intermediate throw event': '中间链接抛出事件', + 'Manual task': '手动任务', + 'Message end event': '结束消息事件', + 'Message intermediate catch event': '中间消息捕获事件', + 'Message intermediate throw event': '中间消息抛出事件', + 'Message start event': '消息启动事件', + 'Parallel gateway': '并行网关', + 'Parallel multi-instance': '并行多实例', + 'Participant multiplicity': '参与者多重性', + 'Receive task': '接受任务', + 'Remove': '移除', + 'Script task': '脚本任务', + 'Send task': '发送任务', + 'Sequential multi-instance': '串行多实例', + 'Service task': '服务任务', + 'Signal end event': '结束信号事件', + 'Signal intermediate catch event': '中间信号捕获事件', + 'Signal intermediate throw event': '中间信号抛出事件', + 'Signal start event (non-interrupting)': '信号启动事件 (非中断)', + 'Signal start event': '信号启动事件', + 'Start event': '开始事件', + 'Sub-process (collapsed)': '可折叠子流程', + 'Sub-process (expanded)': '可展开子流程', + 'Sub rocess': '子流程', + 'Task': '任务', + 'Transaction': '事务', + 'Terminate end event': '终止边界事件', + 'Timer intermediate catch event': '中间定时捕获事件', + 'Timer start event (non-interrupting)': '定时启动事件 (非中断)', + 'Timer start event': '定时启动事件', + 'User task': '用户任务', + 'Create start event': '创建开始事件', + 'Create gateway': '创建网关', + 'Create intermediate/boundary event': '创建中间/边界事件', + 'Create end event': '创建结束事件', + 'Create group': '创建组', + 'Create startEvent': '开始节点', + 'Create endEvent': '结束节点', + 'Create exclusiveGateway': '互斥网关', + 'Create parallelGateway': '并行网关', + 'Create task': '任务节点', + 'Create userTask': '用户任务节点', + 'Condition type': '条件类型', + 'Append end event': '追加结束事件节点', + 'Append gateway': '追加网关节点', + 'Append task': '追加任务', + 'Append user task': '追加用户任务节点', + 'Append text annotation': '追加文本注释', + 'Append intermediate/boundary event': '追加中间或边界事件', + 'Append receive task': '追加接收任务节点', + 'Append message intermediate catch event': '追加中间消息捕获事件', + 'Append timer intermediate catch event': '追加中间定时捕获事件', + 'Append conditional intermediate catch event': '追加中间条件捕获事件', + 'Append signal intermediate catch event': '追加中间信号捕获事件', + 'flow elements must be children of pools/participants': '流程元素必须是池/参与者的子元素' +}; diff --git a/src/bpmn/assets/moddle/flowable.ts b/src/bpmn/assets/moddle/flowable.ts new file mode 100644 index 0000000..de959a6 --- /dev/null +++ b/src/bpmn/assets/moddle/flowable.ts @@ -0,0 +1,1250 @@ +export default { + 'name': 'Flowable', + 'uri': 'http://flowable.org/bpmn', + 'prefix': 'flowable', + 'xml': { + 'tagAlias': 'lowerCase' + }, + 'associations': [], + 'types': [ + { + 'name': 'flowable:extCandidateUsers', + 'isAbstract': true, + 'extends': [], + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['*'] + }, + 'properties': [ + { + 'name': 'body', + 'type': 'String', + 'isBody': true + } + ] + }, + { + 'name': 'flowable:extAssignee', + 'isAbstract': true, + 'extends': [], + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['*'] + }, + 'properties': [ + { + 'name': 'body', + 'type': 'String', + 'isBody': true + } + ] + }, + { + 'name': 'flowable:property', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'id', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'name', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'value', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'flowable:properties', + 'isAbstract': true, + 'extends': [], + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['*'] + }, + 'properties': [ + { + 'name': 'values', + 'type': 'flowable:property', + 'isMany': true + } + ] + }, + { + 'name': 'InOutBinding', + 'superClass': ['Element'], + 'isAbstract': true, + 'properties': [ + { + 'name': 'source', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'sourceExpression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'target', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'businessKey', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'local', + 'isAttr': true, + 'type': 'Boolean', + 'default': false + }, + { + 'name': 'variables', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'In', + 'superClass': ['InOutBinding'], + 'meta': { + 'allowedIn': ['bpmn:CallActivity'] + } + }, + { + 'name': 'Out', + 'superClass': ['InOutBinding'], + 'meta': { + 'allowedIn': ['bpmn:CallActivity'] + } + }, + { + 'name': 'AsyncCapable', + 'isAbstract': true, + 'extends': ['bpmn:Activity', 'bpmn:Gateway', 'bpmn:Event'], + 'properties': [ + { + 'name': 'async', + 'isAttr': true, + 'type': 'Boolean', + 'default': false + }, + { + 'name': 'asyncBefore', + 'isAttr': true, + 'type': 'Boolean', + 'default': false + }, + { + 'name': 'asyncAfter', + 'isAttr': true, + 'type': 'Boolean', + 'default': false + }, + { + 'name': 'exclusive', + 'isAttr': true, + 'type': 'Boolean', + 'default': true + } + ] + }, + { + 'name': 'flowable:in', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'source', + 'type': 'string', + 'isAttr': true + }, + { + 'name': 'target', + 'type': 'string', + 'isAttr': true + } + ] + }, + { + 'name': 'flowable:out', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'source', + 'type': 'string', + 'isAttr': true + }, + { + 'name': 'target', + 'type': 'string', + 'isAttr': true + } + ] + }, + { + 'name': 'BoundaryEvent', + 'superClass': ['CatchEvent'], + 'properties': [ + { + 'name': 'cancelActivity', + 'default': true, + 'isAttr': true, + 'type': 'Boolean' + }, + { + 'name': 'attachedToRef', + 'type': 'Activity', + 'isAttr': true, + 'isReference': true + } + ] + }, + { + 'name': 'JobPriorized', + 'isAbstract': true, + 'extends': ['bpmn:Process', 'flowable:AsyncCapable'], + 'properties': [ + { + 'name': 'jobPriority', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'SignalEventDefinition', + 'isAbstract': true, + 'extends': ['bpmn:SignalEventDefinition'], + 'properties': [ + { + 'name': 'async', + 'isAttr': true, + 'type': 'Boolean', + 'default': false + } + ] + }, + { + 'name': 'ErrorEventDefinition', + 'isAbstract': true, + 'extends': ['bpmn:ErrorEventDefinition'], + 'properties': [ + { + 'name': 'errorCodeVariable', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'errorMessageVariable', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Error', + 'isAbstract': true, + 'extends': ['bpmn:Error'], + 'properties': [ + { + 'name': 'flowable:errorMessage', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'PotentialStarter', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'resourceAssignmentExpression', + 'type': 'bpmn:ResourceAssignmentExpression' + } + ] + }, + { + 'name': 'UserTask', + 'isAbstract': true, + 'extends': ['bpmn:UserTask'], + 'properties': [ + { + 'name': 'timerEventDefinition', + 'type': 'Expression' + }, + { + 'name': 'multiInstanceLoopCharacteristics', + 'type': 'MultiInstanceLoopCharacteristics' + } + ] + }, + { + 'name': 'StartEvent', + 'isAbstract': true, + 'extends': ['bpmn:StartEvent'], + 'properties': [ + { + 'name': 'timerEventDefinition', + 'type': 'Expression' + } + ] + }, + { + 'name': 'FormSupported', + 'isAbstract': true, + 'extends': ['bpmn:StartEvent', 'bpmn:UserTask'], + 'properties': [ + { + 'name': 'formHandlerClass', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'formKey', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'TemplateSupported', + 'isAbstract': true, + 'extends': ['bpmn:Process', 'bpmn:FlowElement'], + 'properties': [ + { + 'name': 'modelerTemplate', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Initiator', + 'isAbstract': true, + 'extends': ['bpmn:StartEvent'], + 'properties': [ + { + 'name': 'initiator', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'ScriptTask', + 'isAbstract': true, + 'extends': ['bpmn:ScriptTask'], + 'properties': [ + { + 'name': 'resultVariable', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'resource', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Process', + 'isAbstract': true, + 'extends': ['bpmn:Process'], + 'properties': [ + { + 'name': 'candidateStarterGroups', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'candidateStarterUsers', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'versionTag', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'historyTimeToLive', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'isStartableInTasklist', + 'isAttr': true, + 'type': 'Boolean', + 'default': true + } + ] + }, + { + 'name': 'EscalationEventDefinition', + 'isAbstract': true, + 'extends': ['bpmn:EscalationEventDefinition'], + 'properties': [ + { + 'name': 'escalationCodeVariable', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'FormalExpression', + 'isAbstract': true, + 'extends': ['bpmn:FormalExpression'], + 'properties': [ + { + 'name': 'resource', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Assignable', + 'extends': ['bpmn:UserTask'], + 'properties': [ + { + 'name': 'candidateGroups', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'dueDate', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'followUpDate', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'priority', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'CallActivity', + 'extends': ['bpmn:CallActivity'], + 'properties': [ + { + 'name': 'calledElementBinding', + 'isAttr': true, + 'type': 'String', + 'default': 'latest' + }, + { + 'name': 'calledElementVersion', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'calledElementVersionTag', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'calledElementTenantId', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'caseRef', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'caseBinding', + 'isAttr': true, + 'type': 'String', + 'default': 'latest' + }, + { + 'name': 'caseVersion', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'caseTenantId', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'variableMappingClass', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'variableMappingDelegateExpression', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'ServiceTaskLike', + 'extends': ['bpmn:ServiceTask', 'bpmn:BusinessRuleTask', 'bpmn:SendTask', 'bpmn:MessageEventDefinition'], + 'properties': [ + { + 'name': 'expression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'class', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'delegateExpression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'resultVariable', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'ExclusiveGateway', + 'isAbstract': true, + 'extends': ['bpmn:ExclusiveGateway'], + 'properties': [ + { + 'name': 'serviceClass', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'DmnCapable', + 'extends': ['bpmn:BusinessRuleTask'], + 'properties': [ + { + 'name': 'decisionRef', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'decisionRefBinding', + 'isAttr': true, + 'type': 'String', + 'default': 'latest' + }, + { + 'name': 'decisionRefVersion', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'mapDecisionResult', + 'isAttr': true, + 'type': 'String', + 'default': 'resultList' + }, + { + 'name': 'decisionRefTenantId', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'ExternalCapable', + 'extends': ['flowable:ServiceTaskLike'], + 'properties': [ + { + 'name': 'type', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'topic', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'TaskPriorized', + 'extends': ['bpmn:Process', 'flowable:ExternalCapable'], + 'properties': [ + { + 'name': 'taskPriority', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Properties', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['*'] + }, + 'properties': [ + { + 'name': 'values', + 'type': 'Property', + 'isMany': true + } + ] + }, + { + 'name': 'Property', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'id', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'name', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'value', + 'type': 'String', + 'isAttr': true + } + ] + }, + { + 'name': 'Connector', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['flowable:ServiceTaskLike'] + }, + 'properties': [ + { + 'name': 'inputOutput', + 'type': 'InputOutput' + }, + { + 'name': 'connectorId', + 'type': 'String' + } + ] + }, + { + 'name': 'InputOutput', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['bpmn:FlowNode', 'flowable:Connector'] + }, + 'properties': [ + { + 'name': 'inputOutput', + 'type': 'InputOutput' + }, + { + 'name': 'connectorId', + 'type': 'String' + }, + { + 'name': 'inputParameters', + 'isMany': true, + 'type': 'InputParameter' + }, + { + 'name': 'outputParameters', + 'isMany': true, + 'type': 'OutputParameter' + } + ] + }, + { + 'name': 'InputOutputParameter', + 'properties': [ + { + 'name': 'name', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'value', + 'isBody': true, + 'type': 'String' + }, + { + 'name': 'definition', + 'type': 'InputOutputParameterDefinition' + } + ] + }, + { + 'name': 'InputOutputParameterDefinition', + 'isAbstract': true + }, + { + 'name': 'List', + 'superClass': ['InputOutputParameterDefinition'], + 'properties': [ + { + 'name': 'items', + 'isMany': true, + 'type': 'InputOutputParameterDefinition' + } + ] + }, + { + 'name': 'Map', + 'superClass': ['InputOutputParameterDefinition'], + 'properties': [ + { + 'name': 'entries', + 'isMany': true, + 'type': 'Entry' + } + ] + }, + { + 'name': 'Entry', + 'properties': [ + { + 'name': 'key', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'value', + 'isBody': true, + 'type': 'String' + }, + { + 'name': 'definition', + 'type': 'InputOutputParameterDefinition' + } + ] + }, + { + 'name': 'Value', + 'superClass': ['InputOutputParameterDefinition'], + 'properties': [ + { + 'name': 'id', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'name', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'value', + 'isBody': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Script', + 'superClass': ['InputOutputParameterDefinition'], + 'properties': [ + { + 'name': 'scriptFormat', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'resource', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'value', + 'isBody': true, + 'type': 'String' + } + ] + }, + { + 'name': 'Field', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['flowable:ServiceTaskLike', 'flowable:ExecutionListener', 'flowable:TaskListener'] + }, + 'properties': [ + { + 'name': 'name', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'expression', + 'isAttr': true, + 'type': 'expression' + }, + { + 'name': 'string', + 'type': 'string' + }, + { + 'name': 'stringValue', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'string', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['flowable:Field'] + }, + 'properties': [ + { + 'name': 'body', + 'isBody': true, + 'type': 'String' + } + ] + }, + { + 'name': 'expression', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['flowable:Field'] + }, + 'properties': [ + { + 'name': 'body', + 'isBody': true, + 'type': 'String' + } + ] + }, + { + 'name': 'InputParameter', + 'superClass': ['InputOutputParameter'] + }, + { + 'name': 'OutputParameter', + 'superClass': ['InputOutputParameter'] + }, + { + 'name': 'Collectable', + 'isAbstract': true, + 'extends': ['bpmn:MultiInstanceLoopCharacteristics'], + 'superClass': ['flowable:AsyncCapable'], + 'properties': [ + { + 'name': 'collection', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'elementVariable', + 'isAttr': true, + 'type': 'String' + } + ] + }, + { + 'name': 'SequenceFlow', + 'superClass': ['FlowElement'], + 'properties': [ + { + 'name': 'isImmediate', + 'isAttr': true, + 'type': 'Boolean' + }, + { + 'name': 'conditionExpression', + 'type': 'Expression' + }, + { + 'name': 'sourceRef', + 'type': 'FlowNode', + 'isAttr': true, + 'isReference': true + }, + { + 'name': 'targetRef', + 'type': 'FlowNode', + 'isAttr': true, + 'isReference': true + } + ] + }, + { + 'name': 'MultiInstanceLoopCharacteristics', + 'superClass': ['LoopCharacteristics'], + 'properties': [ + { + 'name': 'isSequential', + 'default': false, + 'isAttr': true, + 'type': 'Boolean' + }, + { + 'name': 'behavior', + 'type': 'MultiInstanceBehavior', + 'default': 'All', + 'isAttr': true + }, + { + 'name': 'loopCardinality', + 'type': 'Expression', + 'xml': { + 'serialize': 'xsi:type' + } + }, + { + 'name': 'loopDataInputRef', + 'type': 'ItemAwareElement', + 'isReference': true + }, + { + 'name': 'loopDataOutputRef', + 'type': 'ItemAwareElement', + 'isReference': true + }, + { + 'name': 'inputDataItem', + 'type': 'DataInput', + 'xml': { + 'serialize': 'property' + } + }, + { + 'name': 'outputDataItem', + 'type': 'DataOutput', + 'xml': { + 'serialize': 'property' + } + }, + { + 'name': 'complexBehaviorDefinition', + 'type': 'ComplexBehaviorDefinition', + 'isMany': true + }, + { + 'name': 'completionCondition', + 'type': 'Expression', + 'xml': { + 'serialize': 'xsi:type' + } + }, + { + 'name': 'oneBehaviorEventRef', + 'type': 'EventDefinition', + 'isAttr': true, + 'isReference': true + }, + { + 'name': 'noneBehaviorEventRef', + 'type': 'EventDefinition', + 'isAttr': true, + 'isReference': true + } + ] + }, + { + 'name': 'FailedJobRetryTimeCycle', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['flowable:AsyncCapable', 'bpmn:MultiInstanceLoopCharacteristics'] + }, + 'properties': [ + { + 'name': 'body', + 'isBody': true, + 'type': 'String' + } + ] + }, + { + 'name': 'ExecutionListener', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': [ + 'bpmn:Task', + 'bpmn:ServiceTask', + 'bpmn:UserTask', + 'bpmn:BusinessRuleTask', + 'bpmn:ScriptTask', + 'bpmn:ReceiveTask', + 'bpmn:ManualTask', + 'bpmn:ExclusiveGateway', + 'bpmn:SequenceFlow', + 'bpmn:ParallelGateway', + 'bpmn:InclusiveGateway', + 'bpmn:EventBasedGateway', + 'bpmn:StartEvent', + 'bpmn:IntermediateCatchEvent', + 'bpmn:IntermediateThrowEvent', + 'bpmn:EndEvent', + 'bpmn:BoundaryEvent', + 'bpmn:CallActivity', + 'bpmn:SubProcess', + 'bpmn:Process' + ] + }, + 'properties': [ + { + 'name': 'expression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'class', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'delegateExpression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'event', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'script', + 'type': 'Script' + }, + { + 'name': 'fields', + 'type': 'Field', + 'isMany': true + } + ] + }, + { + 'name': 'TaskListener', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['bpmn:UserTask'] + }, + 'properties': [ + { + 'name': 'expression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'class', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'delegateExpression', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'event', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'script', + 'type': 'Script' + }, + { + 'name': 'fields', + 'type': 'Field', + 'isMany': true + } + ] + }, + { + 'name': 'FormProperty', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['bpmn:StartEvent', 'bpmn:UserTask'] + }, + 'properties': [ + { + 'name': 'id', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'name', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'type', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'required', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'readable', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'writable', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'variable', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'expression', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'datePattern', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'default', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'values', + 'type': 'Value', + 'isMany': true + } + ] + }, + { + 'name': 'FormData', + 'superClass': ['Element'], + 'meta': { + 'allowedIn': ['bpmn:StartEvent', 'bpmn:UserTask'] + }, + 'properties': [ + { + 'name': 'fields', + 'type': 'FormField', + 'isMany': true + }, + { + 'name': 'businessKey', + 'type': 'String', + 'isAttr': true + } + ] + }, + { + 'name': 'FormField', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'id', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'label', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'type', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'datePattern', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'defaultValue', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'properties', + 'type': 'Properties' + }, + { + 'name': 'validation', + 'type': 'Validation' + }, + { + 'name': 'values', + 'type': 'Value', + 'isMany': true + } + ] + }, + { + 'name': 'Validation', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'constraints', + 'type': 'Constraint', + 'isMany': true + } + ] + }, + { + 'name': 'Constraint', + 'superClass': ['Element'], + 'properties': [ + { + 'name': 'name', + 'type': 'String', + 'isAttr': true + }, + { + 'name': 'config', + 'type': 'String', + 'isAttr': true + } + ] + }, + { + 'name': 'ConditionalEventDefinition', + 'isAbstract': true, + 'extends': ['bpmn:ConditionalEventDefinition'], + 'properties': [ + { + 'name': 'variableName', + 'isAttr': true, + 'type': 'String' + }, + { + 'name': 'variableEvent', + 'isAttr': true, + 'type': 'String' + } + ] + } + ], + 'emumerations': [] +}; diff --git a/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts b/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts new file mode 100644 index 0000000..9f12ff2 --- /dev/null +++ b/src/bpmn/assets/module/ContextPad/CustomContextPadProvider.ts @@ -0,0 +1,138 @@ +import ContextPadProvider from 'bpmn-js/lib/features/context-pad/ContextPadProvider'; +import { Injector } from 'didi'; +import EventBus from 'diagram-js/lib/core/EventBus'; +import ContextPad from 'diagram-js/lib/features/context-pad/ContextPad'; +import Modeling from 'bpmn-js/lib/features/modeling/Modeling.js'; +import ElementFactory from 'bpmn-js/lib/features/modeling/ElementFactory'; +import Connect from 'diagram-js/lib/features/connect/Connect'; +import Create from 'diagram-js/lib/features/create/Create'; +import PopupMenu from 'diagram-js/lib/features/popup-menu/PopupMenu'; +import Canvas from 'diagram-js/lib/core/Canvas'; +import Rules from 'diagram-js/lib/features/rules/Rules'; +import { Element, Shape } from 'diagram-js/lib/model/Types'; +import BpmnFactory from 'bpmn-js/lib/features/modeling/BpmnFactory'; +import modeler from '@/store/modules/modeler'; + +// @Description: 增强元素连线事件 + +class CustomContextPadProvider extends ContextPadProvider { + private _contextPad: ContextPad; + private _modeling: Modeling; + private _elementFactory: ElementFactory; + private _autoPlace: any; + private _connect: Connect; + private _create: Create; + private _popupMenu: PopupMenu; + private _canvas: Canvas; + private _rules: Rules; + + constructor( + config: any, + injector: Injector, + eventBus: EventBus, + contextPad: ContextPad, + modeling: Modeling, + elementFactory: ElementFactory, + connect: Connect, + create: Create, + popupMenu: PopupMenu, + canvas: Canvas, + rules: Rules, + translate + ) { + // @ts-ignore + super(config, injector, eventBus, contextPad, modeling, elementFactory, connect, create, popupMenu, canvas, rules, translate); + + this._contextPad = contextPad; + this._modeling = modeling; + this._elementFactory = elementFactory; + this._connect = connect; + this._create = create; + this._popupMenu = popupMenu; + this._canvas = canvas; + this._rules = rules; + + this._autoPlace = injector.get('autoPlace', false); + } + + getContextPadEntries(element: Element) { + const actions: Record = {}; + + const appendUserTask = (event: Event, element: Shape) => { + const shape = this._elementFactory.createShape({ type: 'bpmn:UserTask' }); + this._create.start(event, shape, { + source: element + }); + }; + + const appendMultiInstanceUserTask = (event: Event, element: Shape) => { + const store = modeler(); + const bpmnFactory = store.getModeler().get('bpmnFactory') as BpmnFactory; + const businessObject = bpmnFactory.create('bpmn:UserTask', { + // name: '多实例用户任务', + isForCompensation: false + }); + businessObject.loopCharacteristics = bpmnFactory.create('bpmn:MultiInstanceLoopCharacteristics'); + // 创建 Shape + const shape = this._elementFactory.createShape({ + type: 'bpmn:UserTask', + businessObject: businessObject + }); + this._create.start(event, shape, { source: element }); + }; + + const appendTask = this._autoPlace + ? (event, element) => { + const bpmnFactory: BpmnFactory | undefined = modeler().getModeler().get('bpmnFactory'); + const businessObject = bpmnFactory.create('bpmn:UserTask', { + // name: '多实例用户任务',// 右键创建显示 + isForCompensation: false + }); + + // 创建多实例属性并分配给用户任务的 loopCharacteristics + businessObject.loopCharacteristics = bpmnFactory.create('bpmn:MultiInstanceLoopCharacteristics'); + + // 创建 Shape + const shape = this._elementFactory.createShape({ + type: 'bpmn:UserTask', + businessObject: businessObject + }); + + this._autoPlace.append(element, shape); + } + : appendMultiInstanceUserTask; + + const append = this._autoPlace + ? (event: Event, element: Shape) => { + const shape = this._elementFactory.createShape({ type: 'bpmn:UserTask' }); + this._autoPlace.append(element, shape); + } + : appendUserTask; + + // // 添加创建用户任务按钮 + actions['append.append-user-task'] = { + group: 'model', + className: 'bpmn-icon-user-task', + title: '用户任务', + action: { + dragstart: appendUserTask, + click: append + } + }; + + // 添加创建多实例用户任务按钮 + actions['append.append-multi-instance-user-task'] = { + group: 'model', + className: 'bpmn-icon-user', // 你可以使用多实例用户任务的图标 bpmn-icon-user bpmn-icon-user-task + title: '多实例用户任务', + action: { + dragstart: appendMultiInstanceUserTask, + click: appendTask + } + }; + + return actions; + } +} + +export default CustomContextPadProvider; diff --git a/src/bpmn/assets/module/Palette/CustomPaletteProvider.ts b/src/bpmn/assets/module/Palette/CustomPaletteProvider.ts new file mode 100644 index 0000000..8556d9b --- /dev/null +++ b/src/bpmn/assets/module/Palette/CustomPaletteProvider.ts @@ -0,0 +1,109 @@ +import { assign } from 'min-dash'; +import PaletteProvider from 'bpmn-js/lib/features/palette/PaletteProvider'; +import ElementFactory from 'bpmn-js/lib/features/modeling/ElementFactory'; +import Create from 'diagram-js/lib/features/create/Create'; +import SpaceTool from 'diagram-js/lib/features/space-tool/SpaceTool'; +import LassoTool from 'diagram-js/lib/features/lasso-tool/LassoTool'; +import HandTool from 'diagram-js/lib/features/hand-tool/HandTool'; +import GlobalConnect from 'diagram-js/lib/features/global-connect/GlobalConnect'; +import Palette from 'diagram-js/lib/features/palette/Palette'; +import modeler from '@/store/modules/modeler'; +import BpmnFactory from 'bpmn-js/lib/features/modeling/BpmnFactory'; + +// @Description: 增强左侧面板 +class CustomPaletteProvider extends PaletteProvider { + private readonly _palette: Palette; + private readonly _create: Create; + private readonly _elementFactory: ElementFactory; + private readonly _spaceTool: SpaceTool; + private readonly _lassoTool: LassoTool; + private readonly _handTool: HandTool; + private readonly _globalConnect: GlobalConnect; + private readonly _translate: any; + + constructor(palette, create, elementFactory, spaceTool, lassoTool, handTool, globalConnect, translate) { + super(palette, create, elementFactory, spaceTool, lassoTool, handTool, globalConnect, translate); + this._palette = palette; + this._create = create; + this._elementFactory = elementFactory; + this._spaceTool = spaceTool; + this._lassoTool = lassoTool; + this._handTool = handTool; + this._globalConnect = globalConnect; + this._translate = translate; + } + + getPaletteEntries() { + const actions = {}, + create = this._create, + elementFactory = this._elementFactory, + translate = this._translate; + + function createAction(type: string, group: string, className: string, title: string, options?: object) { + function createListener(event) { + const shape = elementFactory.createShape(assign({ type: type }, options)); + if (options) { + !shape.businessObject.di && (shape.businessObject.di = {}); + shape.businessObject.di.isExpanded = (options as { [key: string]: any }).isExpanded; + } + create.start(event, shape, null); + } + const shortType = type.replace(/^bpmn:/, ''); + return { + group: group, + className: className, + title: title || translate('Create {type}', { type: shortType }), + action: { + dragstart: createListener, + click: createListener + } + }; + } + + function createMultiInstanceUserTask(event) { + const bpmnFactory: BpmnFactory | undefined = modeler().getBpmnFactory(); + // 创建一个 bpmn:UserTask + const userTask = bpmnFactory.create('bpmn:UserTask', { + // name: '多实例用户任务', // 在画板中显示字段 + isForCompensation: false + }); + // 将多实例属性分配给 bpmn:UserTask 的 loopCharacteristics + userTask.loopCharacteristics = bpmnFactory.create('bpmn:MultiInstanceLoopCharacteristics'); + const customUserTask = elementFactory.createShape({ + type: 'bpmn:UserTask', + businessObject: userTask // 分配创建的 userTask 到 businessObject + }); + create.start(event, customUserTask, {}); + } + + assign(actions, { + 'create.parallel-gateway': createAction('bpmn:ParallelGateway', 'gateway', 'bpmn-icon-gateway-parallel', '并行网关'), + 'create.event-base-gateway': createAction('bpmn:EventBasedGateway', 'gateway', 'bpmn-icon-gateway-eventbased', '事件网关'), + // 分组线 + 'gateway-separator': { + group: 'gateway', + separator: true + }, + 'create.user-task': createAction('bpmn:UserTask', 'activity', 'bpmn-icon-user-task', '创建用户任务'), + 'create.multi-instance-user-task': { + group: 'activity', + type: 'bpmn:UserTask', + className: 'bpmn-icon-user task-multi-instance', + title: '创建多实例用户任务', + action: { + click: createMultiInstanceUserTask, + dragstart: createMultiInstanceUserTask + } + }, + 'task-separator': { + group: 'activity', + separator: true + } + }); + return actions; + } +} + +CustomPaletteProvider['$inject'] = ['palette', 'create', 'elementFactory', 'spaceTool', 'lassoTool', 'handTool', 'globalConnect', 'translate']; + +export default CustomPaletteProvider; diff --git a/src/bpmn/assets/module/Renderer/CustomRenderer.ts b/src/bpmn/assets/module/Renderer/CustomRenderer.ts new file mode 100644 index 0000000..6a4eb1a --- /dev/null +++ b/src/bpmn/assets/module/Renderer/CustomRenderer.ts @@ -0,0 +1,56 @@ +import BaseRenderer from 'diagram-js/lib/draw/BaseRenderer'; +import { + append as svgAppend, + attr as svgAttr, + create as svgCreate, + select as svgSelect, + selectAll as svgSelectAll, + clone as svgClone, + clear as svgClear, + remove as svgRemove +} from 'tiny-svg'; + +const HIGH_PRIORITY = 1500; +export default class CustomRenderer extends BaseRenderer { + bpmnRenderer: BaseRenderer; + modeling: any; + constructor(eventBus, bpmnRenderer, modeling) { + super(eventBus, HIGH_PRIORITY); + this.bpmnRenderer = bpmnRenderer; + this.modeling = modeling; + } + canRender(element) { + // ignore labels + return !element.labelTarget; + } + + /** + * 自定义节点图形 + * @param {*} parentNode 当前元素的svgNode + * @param {*} element + * @returns + */ + drawShape(parentNode, element) { + const shape = this.bpmnRenderer.drawShape(parentNode, element); + const { type, width, height } = element; + // 开始 填充绿色 + if (type === 'bpmn:StartEvent') { + svgAttr(shape, { fill: '#77DF6D' }); + return shape; + } + if (type === 'bpmn:EndEvent') { + svgAttr(shape, { fill: '#EE7B77' }); + return shape; + } + if (type === 'bpmn:UserTask') { + svgAttr(shape, { fill: '#A9C4F8' }); + return shape; + } + return shape; + } + + getShapePath(shape) { + return this.bpmnRenderer.getShapePath(shape); + } +} +CustomRenderer['$inject'] = ['eventBus', 'bpmnRenderer']; diff --git a/src/bpmn/assets/module/Translate/index.ts b/src/bpmn/assets/module/Translate/index.ts new file mode 100644 index 0000000..6b52dae --- /dev/null +++ b/src/bpmn/assets/module/Translate/index.ts @@ -0,0 +1,15 @@ +import zh from '../../lang/zh'; + +const customTranslate = (template: any, replacements: any) => { + replacements = replacements || {}; + template = zh[template] || template; + return template.replace(/{([^}]+)}/g, function (_: any, key: any) { + return replacements[key] || '{' + key + '}'; + }); +}; + +export const translateModule = { + translate: ['value', customTranslate] +}; + +export default translateModule; diff --git a/src/bpmn/assets/module/index.ts b/src/bpmn/assets/module/index.ts new file mode 100644 index 0000000..55f6b9f --- /dev/null +++ b/src/bpmn/assets/module/index.ts @@ -0,0 +1,17 @@ +// 翻译模块 +import TranslationModule from './Translate'; +import { ModuleDeclaration } from 'didi'; +import CustomPaletteProvider from './Palette/CustomPaletteProvider'; +import CustomRenderer from './Renderer/CustomRenderer'; +import CustomContextPadProvider from './ContextPad/CustomContextPadProvider'; + +const Module: ModuleDeclaration[] = [ + { + __init__: ['customPaletteProvider', 'customContextPadProvider', 'customRenderer'], + customPaletteProvider: ['type', CustomPaletteProvider], + customRenderer: ['type', CustomRenderer], + customContextPadProvider: ['type', CustomContextPadProvider] + }, + TranslationModule +]; +export default Module; diff --git a/src/bpmn/assets/showConfig.ts b/src/bpmn/assets/showConfig.ts new file mode 100644 index 0000000..853eb35 --- /dev/null +++ b/src/bpmn/assets/showConfig.ts @@ -0,0 +1,50 @@ +export default { + 'bpmn:EndEvent': {}, + 'bpmn:StartEvent': { + initiator: true, + formKey: true + }, + 'bpmn:UserTask': { + allocationType: true, + specifyDesc: true, + multipleUserAuditType: true, + async: true, + priority: true, + skipExpression: true, + dueDate: true, + taskListener: true, + executionListener: true + }, + 'bpmn:ServiceTask': { + async: true, + skipExpression: true, + isForCompensation: true, + triggerable: true, + class: true + }, + 'bpmn:ScriptTask': { + async: true, + isForCompensation: true, + autoStoreVariables: true + }, + 'bpmn:ManualTask': { + async: true, + isForCompensation: true + }, + 'bpmn:ReceiveTask': { + async: true, + isForCompensation: true + }, + 'bpmn:SendTask': { + async: true, + isForCompensation: true + }, + 'bpmn:BusinessRuleTask': { + async: true, + isForCompensation: true, + ruleVariablesInput: true, + rules: true, + resultVariable: true, + exclude: true + } +}; diff --git a/src/bpmn/assets/style/index.scss b/src/bpmn/assets/style/index.scss new file mode 100644 index 0000000..3c92792 --- /dev/null +++ b/src/bpmn/assets/style/index.scss @@ -0,0 +1,284 @@ +.djs-palette { + width: 300px; + + .bpmn-icon-hand-tool:hover { + &:after { + content: '启动手动工具'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-lasso-tool:hover { + &:after { + content: '启动套索工具'; + position: absolute; + left: 100px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-space-tool:hover { + &:after { + content: '启动创建/删除空间工具'; + position: absolute; + left: 45px; + width: 170px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-connection-multi:hover { + &:after { + content: '启动全局连接工具'; + position: absolute; + left: 100px; + width: 140px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-start-event-none:hover { + &:after { + content: '创建开始事件'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-intermediate-event-none:hover { + &:after { + content: '创建中间/边界事件'; + position: absolute; + left: 100px; + width: 140px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-end-event-none:hover { + &:after { + content: '创建结束事件'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-gateway-none:hover { + &:after { + content: '创建网关'; + position: absolute; + left: 100px; + width: 90px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-gateway-parallel:hover { + &:after { + content: '创建并行网关'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-gateway-eventbased:hover { + &:after { + content: '创建事件网关'; + position: absolute; + left: 100px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-task:hover { + &:after { + content: '创建任务'; + position: absolute; + left: 45px; + width: 80px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-subprocess-expanded:hover { + &:after { + content: '创建可折叠子流程'; + position: absolute; + left: 100px; + width: 140px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-user-task:hover { + &:after { + content: '创建用户任务'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + + .task-multi-instance:hover { + &:after { + content: '创建多实例用户任务'; + position: absolute; + left: 100px; + width: 160px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-participant:hover { + &:after { + content: '创建泳池/泳道'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + .bpmn-icon-data-object { + display: none; + &:hover { + &:after { + content: '创建数据对象'; + position: absolute; + left: 45px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + } + .bpmn-icon-data-store { + display: none; + &:hover { + &:after { + content: '创建数据存储'; + position: absolute; + left: 100px; + width: 120px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + } + .bpmn-icon-group { + display: none; + &:hover { + &:after { + content: '创建分组'; + position: absolute; + left: 100px; + width: 100px; + font-size: 15px; + font-weight: bold; + color: #3a84de; + border-radius: 2px; + border: 1px solid #cccccc; + background-color: #fafafa; + opacity: 0.8; + } + } + } +} diff --git a/src/bpmn/hooks/usePanel.ts b/src/bpmn/hooks/usePanel.ts new file mode 100644 index 0000000..d92b7d7 --- /dev/null +++ b/src/bpmn/hooks/usePanel.ts @@ -0,0 +1,145 @@ +import showConfig from '../assets/showConfig'; +import { ModdleElement } from 'bpmn'; +import useModelerStore from '@/store/modules/modeler'; +import { MultiInstanceTypeEnum } from '@/enums/bpmn/IndexEnums'; +interface Options { + element: ModdleElement; +} + +export default (ops: Options) => { + const { element } = ops; + const { getModeling, getModdle } = useModelerStore(); + const modeling = getModeling(); + const moddle = getModdle(); + + /** + * 当前节点类型 + */ + const elementType = computed(() => { + const bizObj = element.businessObject; + return bizObj.eventDefinitions ? bizObj.eventDefinitions[0].$type : bizObj.$type; + }); + + /** + * 用于控制面板字段显示与隐藏的配置 + */ + const config = computed(() => showConfig[elementType.value] || {}); + + /** + * 创建一个节点 + * @param elementType 节点类型 + * @param properties 属性 + * @param parent 父节点 + */ + const createModdleElement = (elementType: string, properties: any, parent: ModdleElement) => { + const element = moddle.create(elementType, properties); + parent && (element.$parent = parent); + return element; + }; + + /** + * 获取扩展属性,如果不存在会自动创建 + */ + const getExtensionElements = (create = true) => { + let extensionElements = element.businessObject.get('extensionElements'); + if (!extensionElements && create) { + extensionElements = createModdleElement('bpmn:ExtensionElements', { values: [] }, element.businessObject); + modeling.updateModdleProperties(element, element.businessObject, { extensionElements }); + } + return extensionElements; + }; + + /** + * 获取extensionElements下的properties + * @param extensionElements 可选参数,默认获取当前Element下的extensionElements下的Properties + */ + const getPropertiesElements = (extensionElements?: ModdleElement) => { + if (!extensionElements) { + extensionElements = getExtensionElements(); + } + let propertiesElements = extensionElements.values.find((item) => item.$type === 'flowable:properties'); + if (!propertiesElements) { + propertiesElements = createModdleElement('flowable:properties', { values: [] }, extensionElements); + modeling.updateModdleProperties(element, extensionElements, { + values: [...extensionElements.get<[]>('values'), propertiesElements] + }); + } + return propertiesElements; + }; + + /** + * 更新节点属性 + * @param properties 属性值 + */ + const updateProperties = (properties: any) => { + modeling.updateProperties(element, properties); + }; + + /** + * 更新节点信息 + * @param updateElement 需要更新的节点 + * @param properties 属性 + */ + const updateModdleProperties = (updateElement, properties: any) => { + modeling.updateModdleProperties(element, updateElement, properties); + }; + + /** + * 更新Property属性 + * @param name key值 + * @param value 值 + */ + const updateProperty = (name: string, value: string) => { + const propertiesElements = getPropertiesElements(); + + let propertyElements = propertiesElements.values.find((item) => item.name === name); + if (!propertyElements) { + propertyElements = createModdleElement('flowable:property', { name: name, value: value }, propertiesElements); + modeling.updateModdleProperties(element, propertiesElements, { + values: [...propertiesElements.get('values'), propertyElements] + }); + } else { + propertyElements.name = name; + propertyElements.value = value; + } + return propertyElements; + }; + + const idChange = (newVal: string) => { + if (newVal) { + updateProperties({ id: newVal }); + } + }; + const nameChange = (newVal: string) => { + if (newVal) { + updateProperties({ name: newVal }); + } + }; + const formKeyChange = (newVal: string) => { + updateProperties({ formKey: newVal }); + }; + const constant = { + MultiInstanceType: [ + { id: '373d4b81-a0d1-4eb8-8685-0d2fb1b468e2', label: '无', value: MultiInstanceTypeEnum.NONE }, + { id: 'b5acea7c-b7e5-46b0-8778-390db091bdab', label: '串行', value: MultiInstanceTypeEnum.SERIAL }, + { id: 'b4f0c683-1ccc-43c4-8380-e1b998986caf', label: '并行', value: MultiInstanceTypeEnum.PARALLEL } + ] + }; + + return { + elementType, + constant, + showConfig: config, + + updateProperties, + updateProperty, + updateModdleProperties, + + createModdleElement, + idChange, + nameChange, + formKeyChange, + getExtensionElements, + getPropertiesElements + }; +}; diff --git a/src/bpmn/hooks/useParseElement.ts b/src/bpmn/hooks/useParseElement.ts new file mode 100644 index 0000000..a5a255d --- /dev/null +++ b/src/bpmn/hooks/useParseElement.ts @@ -0,0 +1,34 @@ +import { ModdleElement } from 'bpmn'; + +interface Options { + element: ModdleElement; +} + +interface Data { + id: string; +} + +export default (ops: Options) => { + const { element } = ops; + + const parseData = (): T => { + const result = { + ...element.businessObject, + ...element.businessObject.$attrs + }; + + // 移除flowable前缀,格式化数组 + for (const key in result) { + if (key.indexOf('flowable:') === 0) { + const newKey = key.replace('flowable:', ''); + result[newKey] = result[key]; + delete result[key]; + } + } + return { ...result } as T; + }; + + return { + parseData + }; +}; diff --git a/src/bpmn/index.vue b/src/bpmn/index.vue new file mode 100644 index 0000000..924a838 --- /dev/null +++ b/src/bpmn/index.vue @@ -0,0 +1,496 @@ + + + + + diff --git a/src/bpmn/panel/GatewayPanel.vue b/src/bpmn/panel/GatewayPanel.vue new file mode 100644 index 0000000..5931539 --- /dev/null +++ b/src/bpmn/panel/GatewayPanel.vue @@ -0,0 +1,68 @@ + + + + diff --git a/src/bpmn/panel/ParticipantPanel.vue b/src/bpmn/panel/ParticipantPanel.vue new file mode 100644 index 0000000..cca28bd --- /dev/null +++ b/src/bpmn/panel/ParticipantPanel.vue @@ -0,0 +1,68 @@ + + + + diff --git a/src/bpmn/panel/ProcessPanel.vue b/src/bpmn/panel/ProcessPanel.vue new file mode 100644 index 0000000..7d9a359 --- /dev/null +++ b/src/bpmn/panel/ProcessPanel.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/bpmn/panel/SequenceFlowPanel.vue b/src/bpmn/panel/SequenceFlowPanel.vue new file mode 100644 index 0000000..fd8ad3c --- /dev/null +++ b/src/bpmn/panel/SequenceFlowPanel.vue @@ -0,0 +1,95 @@ + + + + diff --git a/src/bpmn/panel/StartEndPanel.vue b/src/bpmn/panel/StartEndPanel.vue new file mode 100644 index 0000000..d43ed80 --- /dev/null +++ b/src/bpmn/panel/StartEndPanel.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/bpmn/panel/SubProcessPanel.vue b/src/bpmn/panel/SubProcessPanel.vue new file mode 100644 index 0000000..e0cedcb --- /dev/null +++ b/src/bpmn/panel/SubProcessPanel.vue @@ -0,0 +1,193 @@ + + + + diff --git a/src/bpmn/panel/TaskPanel.vue b/src/bpmn/panel/TaskPanel.vue new file mode 100644 index 0000000..bc037ee --- /dev/null +++ b/src/bpmn/panel/TaskPanel.vue @@ -0,0 +1,492 @@ + + + + diff --git a/src/bpmn/panel/index.vue b/src/bpmn/panel/index.vue new file mode 100644 index 0000000..eecb0cb --- /dev/null +++ b/src/bpmn/panel/index.vue @@ -0,0 +1,110 @@ + + + + diff --git a/src/bpmn/panel/property/DueDate.vue b/src/bpmn/panel/property/DueDate.vue new file mode 100644 index 0000000..882766b --- /dev/null +++ b/src/bpmn/panel/property/DueDate.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/bpmn/panel/property/ExecutionListener.vue b/src/bpmn/panel/property/ExecutionListener.vue new file mode 100644 index 0000000..7620cf3 --- /dev/null +++ b/src/bpmn/panel/property/ExecutionListener.vue @@ -0,0 +1,308 @@ + + + + diff --git a/src/bpmn/panel/property/ListenerParam.vue b/src/bpmn/panel/property/ListenerParam.vue new file mode 100644 index 0000000..334249b --- /dev/null +++ b/src/bpmn/panel/property/ListenerParam.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/src/bpmn/panel/property/TaskListener.vue b/src/bpmn/panel/property/TaskListener.vue new file mode 100644 index 0000000..db774e4 --- /dev/null +++ b/src/bpmn/panel/property/TaskListener.vue @@ -0,0 +1,310 @@ + + + + diff --git a/src/components/BpmnDesign/index.vue b/src/components/BpmnDesign/index.vue new file mode 100644 index 0000000..1f84516 --- /dev/null +++ b/src/components/BpmnDesign/index.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/components/BpmnView/index.vue b/src/components/BpmnView/index.vue new file mode 100644 index 0000000..a79f084 --- /dev/null +++ b/src/components/BpmnView/index.vue @@ -0,0 +1,410 @@ + + + + + diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..9502e60 --- /dev/null +++ b/src/components/Breadcrumb/index.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/components/BuildCode/index.vue b/src/components/BuildCode/index.vue new file mode 100644 index 0000000..0b8e3f4 --- /dev/null +++ b/src/components/BuildCode/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/BuildCode/render.vue b/src/components/BuildCode/render.vue new file mode 100644 index 0000000..aeb9312 --- /dev/null +++ b/src/components/BuildCode/render.vue @@ -0,0 +1,57 @@ + + + + diff --git a/src/components/DictTag/index.vue b/src/components/DictTag/index.vue new file mode 100644 index 0000000..ad326c2 --- /dev/null +++ b/src/components/DictTag/index.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue new file mode 100644 index 0000000..fc30c85 --- /dev/null +++ b/src/components/Editor/index.vue @@ -0,0 +1,244 @@ + + + + + diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue new file mode 100644 index 0000000..aaaa45c --- /dev/null +++ b/src/components/FileUpload/index.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/src/components/Hamburger/index.vue b/src/components/Hamburger/index.vue new file mode 100644 index 0000000..f9f5e62 --- /dev/null +++ b/src/components/Hamburger/index.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/HeaderSearch/index.vue b/src/components/HeaderSearch/index.vue new file mode 100644 index 0000000..a785958 --- /dev/null +++ b/src/components/HeaderSearch/index.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue new file mode 100644 index 0000000..3bfde4d --- /dev/null +++ b/src/components/IconSelect/index.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/components/IconSelect/requireIcons.ts b/src/components/IconSelect/requireIcons.ts new file mode 100644 index 0000000..9f06d69 --- /dev/null +++ b/src/components/IconSelect/requireIcons.ts @@ -0,0 +1,7 @@ +const icons: string[] = []; +const modules = import.meta.glob('./../../assets/icons/svg/*.svg'); +for (const path in modules) { + const p = path.split('assets/icons/svg/')[1].split('.svg')[0]; + icons.push(p); +} +export default icons; diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue new file mode 100644 index 0000000..349f729 --- /dev/null +++ b/src/components/ImagePreview/index.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue new file mode 100644 index 0000000..1c6dcd1 --- /dev/null +++ b/src/components/ImageUpload/index.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/src/components/LangSelect/index.vue b/src/components/LangSelect/index.vue new file mode 100644 index 0000000..b5fafd3 --- /dev/null +++ b/src/components/LangSelect/index.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue new file mode 100644 index 0000000..ac02193 --- /dev/null +++ b/src/components/Pagination/index.vue @@ -0,0 +1,88 @@ + + + + + + + diff --git a/src/components/ParentView/index.vue b/src/components/ParentView/index.vue new file mode 100644 index 0000000..98240ae --- /dev/null +++ b/src/components/ParentView/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/components/Process/approvalRecord.vue b/src/components/Process/approvalRecord.vue new file mode 100644 index 0000000..cbce87a --- /dev/null +++ b/src/components/Process/approvalRecord.vue @@ -0,0 +1,116 @@ + + + diff --git a/src/components/Process/multiInstanceUser.vue b/src/components/Process/multiInstanceUser.vue new file mode 100644 index 0000000..b2039b9 --- /dev/null +++ b/src/components/Process/multiInstanceUser.vue @@ -0,0 +1,368 @@ + + + diff --git a/src/components/Process/submitVerify.vue b/src/components/Process/submitVerify.vue new file mode 100644 index 0000000..d71b855 --- /dev/null +++ b/src/components/Process/submitVerify.vue @@ -0,0 +1,353 @@ + + + diff --git a/src/components/RightToolbar/index.vue b/src/components/RightToolbar/index.vue new file mode 100644 index 0000000..e8c9d65 --- /dev/null +++ b/src/components/RightToolbar/index.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/components/RoleSelect/index.vue b/src/components/RoleSelect/index.vue new file mode 100644 index 0000000..6ba2076 --- /dev/null +++ b/src/components/RoleSelect/index.vue @@ -0,0 +1,250 @@ + + + diff --git a/src/components/RuoYiDoc/index.vue b/src/components/RuoYiDoc/index.vue new file mode 100644 index 0000000..1e27d89 --- /dev/null +++ b/src/components/RuoYiDoc/index.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/RuoYiGit/index.vue b/src/components/RuoYiGit/index.vue new file mode 100644 index 0000000..ad27808 --- /dev/null +++ b/src/components/RuoYiGit/index.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue new file mode 100644 index 0000000..ce0b373 --- /dev/null +++ b/src/components/Screenfull/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue new file mode 100644 index 0000000..abf72cc --- /dev/null +++ b/src/components/SizeSelect/index.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..05dfe87 --- /dev/null +++ b/src/components/SvgIcon/index.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue new file mode 100644 index 0000000..e93e005 --- /dev/null +++ b/src/components/TopNav/index.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/components/TreeSelect/index.vue b/src/components/TreeSelect/index.vue new file mode 100644 index 0000000..7accd6b --- /dev/null +++ b/src/components/TreeSelect/index.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/components/UserSelect/index.vue b/src/components/UserSelect/index.vue new file mode 100644 index 0000000..f6e552e --- /dev/null +++ b/src/components/UserSelect/index.vue @@ -0,0 +1,314 @@ + + + + + diff --git a/src/components/iFrame/index.vue b/src/components/iFrame/index.vue new file mode 100644 index 0000000..98f2224 --- /dev/null +++ b/src/components/iFrame/index.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue new file mode 100644 index 0000000..fd4eb8c --- /dev/null +++ b/src/layout/components/Navbar.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..3082beb --- /dev/null +++ b/src/layout/components/Settings/index.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..fd75f35 --- /dev/null +++ b/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue new file mode 100644 index 0000000..631c261 --- /dev/null +++ b/src/layout/components/Sidebar/Logo.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..3720062 --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,103 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..a4f20d0 --- /dev/null +++ b/src/layout/components/Sidebar/index.vue @@ -0,0 +1,55 @@ + + + diff --git a/src/layout/components/SocialCallback/index.vue b/src/layout/components/SocialCallback/index.vue new file mode 100644 index 0000000..eac66bc --- /dev/null +++ b/src/layout/components/SocialCallback/index.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..3b30043 --- /dev/null +++ b/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..1e12ca4 --- /dev/null +++ b/src/layout/components/TagsView/index.vue @@ -0,0 +1,341 @@ + + + + + + + diff --git a/src/layout/components/TopBar/search.vue b/src/layout/components/TopBar/search.vue new file mode 100644 index 0000000..cf4b024 --- /dev/null +++ b/src/layout/components/TopBar/search.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/layout/components/index.ts b/src/layout/components/index.ts new file mode 100644 index 0000000..47c83e1 --- /dev/null +++ b/src/layout/components/index.ts @@ -0,0 +1,4 @@ +export { default as AppMain } from './AppMain.vue'; +export { default as Navbar } from './Navbar.vue'; +export { default as Settings } from './Settings/index.vue'; +export { default as TagsView } from './TagsView/index.vue'; diff --git a/src/layout/components/notice/index.vue b/src/layout/components/notice/index.vue new file mode 100644 index 0000000..e43b2b8 --- /dev/null +++ b/src/layout/components/notice/index.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 0000000..29fb5ff --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..592de58 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,57 @@ +import { createApp } from 'vue'; +// global css +import 'virtual:uno.css'; +import '@/assets/styles/index.scss'; +import 'element-plus/theme-chalk/dark/css-vars.css'; + +// App、router、store +import App from './App.vue'; +import store from './store'; +import router from './router'; + +// 自定义指令 +import directive from './directive'; + +// 注册插件 +import plugins from './plugins/index'; // plugins + +// 高亮组件 +// import 'highlight.js/styles/a11y-light.css'; +import 'highlight.js/styles/atom-one-dark.css'; +import 'highlight.js/lib/common'; +import HighLight from '@highlightjs/vue-plugin'; + +// svg图标 +import 'virtual:svg-icons-register'; +import ElementIcons from '@/plugins/svgicon'; + +// permission control +import './permission'; + +// 国际化 +import i18n from '@/lang/index'; + +// vxeTable +import VXETable from 'vxe-table'; +import 'vxe-table/lib/style.css'; +VXETable.config({ + zIndex: 999999 +}); + +// 修改 el-dialog 默认点击遮照为不关闭 +import { ElDialog } from 'element-plus'; +ElDialog.props.closeOnClickModal.default = false; + +const app = createApp(App); + +app.use(HighLight); +app.use(ElementIcons); +app.use(router); +app.use(store); +app.use(i18n); +app.use(VXETable); +app.use(plugins); +// 自定义指令 +directive(app); + +app.mount('#app'); diff --git a/src/permission.ts b/src/permission.ts new file mode 100644 index 0000000..1123738 --- /dev/null +++ b/src/permission.ts @@ -0,0 +1,64 @@ +import { to as tos } from 'await-to-js'; +import router from './router'; +import NProgress from 'nprogress'; +import 'nprogress/nprogress.css'; +import { getToken } from '@/utils/auth'; +import { isHttp } from '@/utils/validate'; +import { isRelogin } from '@/utils/request'; +import useUserStore from '@/store/modules/user'; +import useSettingsStore from '@/store/modules/settings'; +import usePermissionStore from '@/store/modules/permission'; + +NProgress.configure({ showSpinner: false }); +const whiteList = ['/login', '/register', '/social-callback']; + +router.beforeEach(async (to, from, next) => { + NProgress.start(); + if (getToken()) { + to.meta.title && useSettingsStore().setTitle(to.meta.title); + /* has token*/ + if (to.path === '/login') { + next({ path: '/' }); + NProgress.done(); + } else if (whiteList.indexOf(to.path as string) !== -1) { + next(); + } else { + if (useUserStore().roles.length === 0) { + isRelogin.show = true; + // 判断当前用户是否已拉取完user_info信息 + const [err] = await tos(useUserStore().getInfo()); + if (err) { + await useUserStore().logout(); + ElMessage.error(err); + next({ path: '/' }); + } else { + isRelogin.show = false; + const accessRoutes = await usePermissionStore().generateRoutes(); + // 根据roles权限生成可访问的路由表 + accessRoutes.forEach((route) => { + if (!isHttp(route.path)) { + router.addRoute(route); // 动态添加可访问路由表 + } + }); + next({ path: to.path, replace: true, params: to.params, query: to.query, hash: to.hash, name: to.name as string }); // hack方法 确保addRoutes已完成 + } + } else { + next(); + } + } + } else { + // 没有token + if (whiteList.indexOf(to.path as string) !== -1) { + // 在免登录白名单,直接进入 + next(); + } else { + const redirect = encodeURIComponent(to.fullPath || '/'); + next(`/login?redirect=${redirect}`) // 否则全部重定向到登录页 + NProgress.done(); + } + } +}); + +router.afterEach(() => { + NProgress.done(); +}); diff --git a/src/plugins/auth.ts b/src/plugins/auth.ts new file mode 100644 index 0000000..74c91ee --- /dev/null +++ b/src/plugins/auth.ts @@ -0,0 +1,60 @@ +import useUserStore from '@/store/modules/user'; + +const authPermission = (permission: string): boolean => { + const all_permission = '*:*:*'; + const permissions: string[] = useUserStore().permissions; + if (permission && permission.length > 0) { + return permissions.some((v) => { + return all_permission === v || v === permission; + }); + } else { + return false; + } +}; + +const authRole = (role: string): boolean => { + const super_admin = 'admin'; + const roles = useUserStore().roles; + if (role && role.length > 0) { + return roles.some((v) => { + return super_admin === v || v === role; + }); + } else { + return false; + } +}; + +export default { + // 验证用户是否具备某权限 + hasPermi(permission: string): boolean { + return authPermission(permission); + }, + // 验证用户是否含有指定权限,只需包含其中一个 + hasPermiOr(permissions: string[]): boolean { + return permissions.some((item) => { + return authPermission(item); + }); + }, + // 验证用户是否含有指定权限,必须全部拥有 + hasPermiAnd(permissions: string[]): boolean { + return permissions.every((item) => { + return authPermission(item); + }); + }, + // 验证用户是否具备某角色 + hasRole(role: string): boolean { + return authRole(role); + }, + // 验证用户是否含有指定角色,只需包含其中一个 + hasRoleOr(roles: string[]): boolean { + return roles.some((item) => { + return authRole(item); + }); + }, + // 验证用户是否含有指定角色,必须全部拥有 + hasRoleAnd(roles: string[]): boolean { + return roles.every((item) => { + return authRole(item); + }); + } +}; diff --git a/src/plugins/cache.ts b/src/plugins/cache.ts new file mode 100644 index 0000000..cf43680 --- /dev/null +++ b/src/plugins/cache.ts @@ -0,0 +1,77 @@ +const sessionCache = { + set(key: string, value: any) { + if (!sessionStorage) { + return; + } + if (key != null && value != null) { + sessionStorage.setItem(key, value); + } + }, + get(key: string) { + if (!sessionStorage) { + return null; + } + if (key == null) { + return null; + } + return sessionStorage.getItem(key); + }, + setJSON(key: string, jsonValue: any) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)); + } + }, + getJSON(key: string) { + const value = this.get(key); + if (value != null) { + return JSON.parse(value); + } + }, + remove(key: string) { + sessionStorage.removeItem(key); + } +}; +const localCache = { + set(key: string, value: any) { + if (!localStorage) { + return; + } + if (key != null && value != null) { + localStorage.setItem(key, value); + } + }, + get(key: string) { + if (!localStorage) { + return null; + } + if (key == null) { + return null; + } + return localStorage.getItem(key); + }, + setJSON(key: string, jsonValue: any) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)); + } + }, + getJSON(key: string) { + const value = this.get(key); + if (value != null) { + return JSON.parse(value); + } + }, + remove(key: string) { + localStorage.removeItem(key); + } +}; + +export default { + /** + * 会话级缓存 + */ + session: sessionCache, + /** + * 本地缓存 + */ + local: localCache +}; diff --git a/src/plugins/download.ts b/src/plugins/download.ts new file mode 100644 index 0000000..ef66b3a --- /dev/null +++ b/src/plugins/download.ts @@ -0,0 +1,65 @@ +import axios from 'axios'; +import FileSaver from 'file-saver'; +import errorCode from '@/utils/errorCode'; +import { blobValidate } from '@/utils/ruoyi'; +import { LoadingInstance } from 'element-plus/es/components/loading/src/loading'; +import { globalHeaders } from '@/utils/request'; + +const baseURL = import.meta.env.VITE_APP_BASE_API; +let downloadLoadingInstance: LoadingInstance; +export default { + async oss(ossId: string | number) { + const url = baseURL + '/resource/oss/download/' + ossId; + downloadLoadingInstance = ElLoading.service({ text: '正在下载数据,请稍候', background: 'rgba(0, 0, 0, 0.7)' }); + try { + const res = await axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: globalHeaders() + }); + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/octet-stream' }); + FileSaver.saveAs(blob, decodeURIComponent(res.headers['download-filename'] as string)); + } else { + this.printErrMsg(res.data); + } + downloadLoadingInstance.close(); + } catch (r) { + console.error(r); + ElMessage.error('下载文件出现错误,请联系管理员!'); + downloadLoadingInstance.close(); + } + }, + async zip(url: string, name: string) { + url = baseURL + url; + downloadLoadingInstance = ElLoading.service({ text: '正在下载数据,请稍候', background: 'rgba(0, 0, 0, 0.7)' }); + try { + const res = await axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: globalHeaders() + }); + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/zip' }); + FileSaver.saveAs(blob, name); + } else { + this.printErrMsg(res.data); + } + downloadLoadingInstance.close(); + } catch (r) { + console.error(r); + ElMessage.error('下载文件出现错误,请联系管理员!'); + downloadLoadingInstance.close(); + } + }, + async printErrMsg(data: any) { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']; + ElMessage.error(errMsg); + } +}; diff --git a/src/plugins/index.ts b/src/plugins/index.ts new file mode 100644 index 0000000..6c5e0c3 --- /dev/null +++ b/src/plugins/index.ts @@ -0,0 +1,43 @@ +import modal from './modal'; +import tab from './tab'; +import download from './download'; +import cache from './cache'; +import auth from './auth'; +// 预设动画 +import animate from '@/animate'; + +import { download as dl } from '@/utils/request'; +import { useDict } from '@/utils/dict'; +import { getConfigKey, updateConfigByKey } from '@/api/system/config'; +import { parseTime, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi'; + +import { App } from 'vue'; + +export default function installPlugin(app: App) { + // 页签操作 + app.config.globalProperties.$tab = tab; + + // 模态框对象 + app.config.globalProperties.$modal = modal; + + // 缓存对象 + app.config.globalProperties.$cache = cache; + + // 下载文件 + app.config.globalProperties.$download = download; + + // 认证对象 + app.config.globalProperties.$auth = auth; + + // 全局方法挂载 + app.config.globalProperties.useDict = useDict; + app.config.globalProperties.getConfigKey = getConfigKey; + app.config.globalProperties.updateConfigByKey = updateConfigByKey; + app.config.globalProperties.download = dl; + app.config.globalProperties.parseTime = parseTime; + app.config.globalProperties.handleTree = handleTree; + app.config.globalProperties.addDateRange = addDateRange; + app.config.globalProperties.selectDictLabel = selectDictLabel; + app.config.globalProperties.selectDictLabels = selectDictLabels; + app.config.globalProperties.animate = animate; +} diff --git a/src/plugins/modal.ts b/src/plugins/modal.ts new file mode 100644 index 0000000..a8b0548 --- /dev/null +++ b/src/plugins/modal.ts @@ -0,0 +1,81 @@ +import { MessageBoxData } from 'element-plus'; +import { LoadingInstance } from 'element-plus/es/components/loading/src/loading'; +let loadingInstance: LoadingInstance; +export default { + // 消息提示 + msg(content: any) { + ElMessage.info(content); + }, + // 错误消息 + msgError(content: any) { + ElMessage.error(content); + }, + // 成功消息 + msgSuccess(content: any) { + ElMessage.success(content); + }, + // 警告消息 + msgWarning(content: any) { + ElMessage.warning(content); + }, + // 弹出提示 + alert(content: any) { + ElMessageBox.alert(content, '系统提示'); + }, + // 错误提示 + alertError(content: any) { + ElMessageBox.alert(content, '系统提示', { type: 'error' }); + }, + // 成功提示 + alertSuccess(content: any) { + ElMessageBox.alert(content, '系统提示', { type: 'success' }); + }, + // 警告提示 + alertWarning(content: any) { + ElMessageBox.alert(content, '系统提示', { type: 'warning' }); + }, + // 通知提示 + notify(content: any) { + ElNotification.info(content); + }, + // 错误通知 + notifyError(content: any) { + ElNotification.error(content); + }, + // 成功通知 + notifySuccess(content: any) { + ElNotification.success(content); + }, + // 警告通知 + notifyWarning(content: any) { + ElNotification.warning(content); + }, + // 确认窗体 + confirm(content: any): Promise { + return ElMessageBox.confirm(content, '系统提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }); + }, + // 提交内容 + prompt(content: any) { + return ElMessageBox.prompt(content, '系统提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }); + }, + // 打开遮罩层 + loading(content: string) { + loadingInstance = ElLoading.service({ + lock: true, + text: content, + background: 'rgba(0, 0, 0, 0.7)' + }); + }, + // 关闭遮罩层 + closeLoading() { + loadingInstance.close(); + } +}; diff --git a/src/plugins/svgicon.ts b/src/plugins/svgicon.ts new file mode 100644 index 0000000..8c68609 --- /dev/null +++ b/src/plugins/svgicon.ts @@ -0,0 +1,10 @@ +import * as ElementPlusIconsVue from '@element-plus/icons-vue'; +import { App } from 'vue'; + +export default { + install: (app: App) => { + for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component); + } + } +}; diff --git a/src/plugins/tab.ts b/src/plugins/tab.ts new file mode 100644 index 0000000..dd240cd --- /dev/null +++ b/src/plugins/tab.ts @@ -0,0 +1,96 @@ +import router from '@/router'; +import { RouteLocationMatched, RouteLocationNormalized } from 'vue-router'; +import useTagsViewStore from '@/store/modules/tagsView'; + +export default { + /** + * 刷新当前tab页签 + * @param obj 标签对象 + */ + async refreshPage(obj?: RouteLocationNormalized): Promise { + const { path, query, matched } = router.currentRoute.value; + if (obj === undefined) { + matched.forEach((m: RouteLocationMatched) => { + if (m.components && m.components.default && m.components.default.name) { + if (!['Layout', 'ParentView'].includes(m.components.default.name)) { + obj = { + name: m.components.default.name, + path: path, + query: query, + matched: undefined, + fullPath: undefined, + hash: undefined, + params: undefined, + redirectedFrom: undefined, + meta: undefined + }; + } + } + }); + } + let query1: undefined | {} = {}; + let path1: undefined | string = ''; + if (obj) { + query1 = obj.query; + path1 = obj.path; + } + await useTagsViewStore().delCachedView(obj); + await router.replace({ + path: '/redirect' + path1, + query: query1 + }); + }, + // 关闭当前tab页签,打开新页签 + closeOpenPage(obj: RouteLocationNormalized): void { + useTagsViewStore().delView(router.currentRoute.value); + if (obj !== undefined) { + router.push(obj); + } + }, + // 关闭指定tab页签 + async closePage(obj?: RouteLocationNormalized): Promise<{ visitedViews: RouteLocationNormalized[]; cachedViews: string[] } | any> { + if (obj === undefined) { + // prettier-ignore + const { visitedViews } = await useTagsViewStore().delView(router.currentRoute.value) + const latestView = visitedViews.slice(-1)[0]; + if (latestView) { + return router.push(latestView.fullPath); + } + return router.push('/'); + } + return useTagsViewStore().delView(obj); + }, + // 关闭所有tab页签 + closeAllPage() { + return useTagsViewStore().delAllViews(); + }, + // 关闭左侧tab页签 + closeLeftPage(obj?: RouteLocationNormalized) { + return useTagsViewStore().delLeftTags(obj || router.currentRoute.value); + }, + // 关闭右侧tab页签 + closeRightPage(obj?: RouteLocationNormalized) { + return useTagsViewStore().delRightTags(obj || router.currentRoute.value); + }, + // 关闭其他tab页签 + closeOtherPage(obj?: RouteLocationNormalized) { + return useTagsViewStore().delOthersViews(obj || router.currentRoute.value); + }, + /** + * 打开tab页签 + * @param url 路由地址 + * @param title 标题 + * @param query 参数 + */ + openPage(url: string, title?: string, query?: any) { + const obj = { path: url, query: { ...query, title } }; + return router.push(obj); + }, + /** + * 修改tab页签 + * @param obj 标签对象 + */ + updatePage(obj: RouteLocationNormalized) { + return useTagsViewStore().updateVisitedView(obj); + } +}; diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..2343685 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,198 @@ +import { createWebHistory, createRouter, RouteRecordRaw } from 'vue-router'; +/* Layout */ +import Layout from '@/layout/index.vue'; + +/** + * Note: 路由配置项 + * + * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1 + * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 + * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面 + * // 若你想不管路由下面的 children 声明的个数都显示你的根路由 + * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由 + * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 + * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题 + * query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数 + * roles: ['admin', 'common'] // 访问路由的角色权限 + * permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限 + * meta : { + noCache: true // 如果设置为true,则不会被 缓存(默认 false) + title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 + icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg + breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 + activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。 + } + */ + +// 公共路由 +export const constantRoutes: RouteRecordRaw[] = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect/index.vue') + } + ] + }, + { + path: '/social-callback', + hidden: true, + component: () => import('@/layout/components/SocialCallback/index.vue') + }, + { + path: '/login', + component: () => import('@/views/login.vue'), + hidden: true + }, + { + path: '/register', + component: () => import('@/views/register.vue'), + hidden: true + }, + { + path: '/:pathMatch(.*)*', + component: () => import('@/views/error/404.vue'), + hidden: true + }, + { + path: '/401', + component: () => import('@/views/error/401.vue'), + hidden: true + }, + { + path: '', + component: Layout, + redirect: '/index', + children: [ + { + path: '/index', + component: () => import('@/views/index.vue'), + name: 'Index', + meta: { title: '首页', icon: 'dashboard', affix: true } + } + ] + }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [ + { + path: 'profile', + component: () => import('@/views/system/user/profile/index.vue'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' } + } + ] + } +]; + +// 动态路由,基于用户权限动态去加载 +export const dynamicRoutes: RouteRecordRaw[] = [ + { + path: '/system/user-auth', + component: Layout, + hidden: true, + permissions: ['system:user:edit'], + children: [ + { + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole.vue'), + name: 'AuthRole', + meta: { title: '分配角色', activeMenu: '/system/user', icon: '' } + } + ] + }, + { + path: '/system/role-auth', + component: Layout, + hidden: true, + permissions: ['system:role:edit'], + children: [ + { + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser.vue'), + name: 'AuthUser', + meta: { title: '分配用户', activeMenu: '/system/role', icon: '' } + } + ] + }, + { + path: '/system/dict-data', + component: Layout, + hidden: true, + permissions: ['system:dict:list'], + children: [ + { + path: 'index/:dictId(\\d+)', + component: () => import('@/views/system/dict/data.vue'), + name: 'Data', + meta: { title: '字典数据', activeMenu: '/system/dict', icon: '' } + } + ] + }, + { + path: '/system/oss-config', + component: Layout, + hidden: true, + permissions: ['system:ossConfig:list'], + children: [ + { + path: 'index', + component: () => import('@/views/system/oss/config.vue'), + name: 'OssConfig', + meta: { title: '配置管理', activeMenu: '/system/oss', icon: '' } + } + ] + }, + { + path: '/tool/gen-edit', + component: Layout, + hidden: true, + permissions: ['tool:gen:edit'], + children: [ + { + path: 'index/:tableId(\\d+)', + component: () => import('@/views/tool/gen/editTable.vue'), + name: 'GenEdit', + meta: { title: '修改生成配置', activeMenu: '/tool/gen', icon: '' } + } + ] + }, + { + path: '/demo/leaveEdit', + component: Layout, + hidden: true, + permissions: ['demo:leave:edit'], + children: [ + { + path: 'index', + component: () => import('@/views/workflow/leave/leaveEdit.vue'), + name: 'leaveEdit', + meta: { title: '请假申请', activeMenu: '/demo/leave', noCache: true } + } + ] + } +]; + +/** + * 创建路由 + */ +const router = createRouter({ + history: createWebHistory(import.meta.env.VITE_APP_CONTEXT_PATH), + routes: constantRoutes, + // 刷新时,滚动条位置还原 + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition; + } else { + return { top: 0 }; + } + } +}); + +export default router; diff --git a/src/settings.ts b/src/settings.ts new file mode 100644 index 0000000..4b62c75 --- /dev/null +++ b/src/settings.ts @@ -0,0 +1,62 @@ +import { LanguageEnum } from '@/enums/LanguageEnum'; + +const setting: DefaultSettings = { + /** + * 网页标题 + */ + title: import.meta.env.VITE_APP_TITLE, + + theme: '#409EFF', + + /** + * 侧边栏主题 深色主题theme-dark,浅色主题theme-light + */ + sideTheme: 'theme-dark', + /** + * 是否系统布局配置 + */ + showSettings: true, + + /** + * 是否显示顶部导航 + */ + topNav: false, + + /** + * 是否显示 tagsView + */ + tagsView: true, + + /** + * 是否固定头部 + */ + fixedHeader: false, + + /** + * 是否显示logo + */ + sidebarLogo: true, + + /** + * 是否显示动态标题 + */ + dynamicTitle: false, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production', + + animationEnable: false, + + dark: false, + language: LanguageEnum.zh_CN, + + size: 'default', + + layout: '' +}; +export default setting; diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..069d54e --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,3 @@ +const store = createPinia(); + +export default store; diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts new file mode 100644 index 0000000..0205fab --- /dev/null +++ b/src/store/modules/app.ts @@ -0,0 +1,72 @@ +import zhCN from 'element-plus/es/locale/lang/zh-cn'; +import enUS from 'element-plus/es/locale/lang/en'; + +export const useAppStore = defineStore('app', () => { + const sidebarStatus = useStorage('sidebarStatus', '1'); + const sidebar = reactive({ + opened: sidebarStatus.value ? !!+sidebarStatus.value : true, + withoutAnimation: false, + hide: false + }); + const device = ref('desktop'); + const size = useStorage<'large' | 'default' | 'small'>('size', 'default'); + + // 语言 + const language = useStorage('language', 'zh_CN'); + const languageObj: any = { + en_US: enUS, + zh_CN: zhCN + }; + const locale = computed(() => { + return languageObj[language.value]; + }); + + const toggleSideBar = (withoutAnimation: boolean) => { + if (sidebar.hide) { + return false; + } + + sidebar.opened = !sidebar.opened; + sidebar.withoutAnimation = withoutAnimation; + if (sidebar.opened) { + sidebarStatus.value = '1'; + } else { + sidebarStatus.value = '0'; + } + }; + + const closeSideBar = ({ withoutAnimation }: any): void => { + sidebarStatus.value = '0'; + sidebar.opened = false; + sidebar.withoutAnimation = withoutAnimation; + }; + const toggleDevice = (d: string): void => { + device.value = d; + }; + const setSize = (s: 'large' | 'default' | 'small'): void => { + size.value = s; + }; + const toggleSideBarHide = (status: boolean): void => { + sidebar.hide = status; + }; + + const changeLanguage = (val: string): void => { + language.value = val; + }; + + return { + device, + sidebar, + language, + locale, + size, + changeLanguage, + toggleSideBar, + closeSideBar, + toggleDevice, + setSize, + toggleSideBarHide + }; +}); + +export default useAppStore; diff --git a/src/store/modules/dict.ts b/src/store/modules/dict.ts new file mode 100644 index 0000000..2f937b9 --- /dev/null +++ b/src/store/modules/dict.ts @@ -0,0 +1,78 @@ +export const useDictStore = defineStore('dict', () => { + const dict = ref< + Array<{ + key: string; + value: DictDataOption[]; + }> + >([]); + + /** + * 获取字典 + * @param _key 字典key + */ + const getDict = (_key: string): DictDataOption[] | null => { + if (_key == null && _key == '') { + return null; + } + try { + for (let i = 0; i < dict.value.length; i++) { + if (dict.value[i].key == _key) { + return dict.value[i].value; + } + } + } catch (e) { + return null; + } + return null; + }; + + /** + * 设置字典 + * @param _key 字典key + * @param _value 字典value + */ + const setDict = (_key: string, _value: DictDataOption[]) => { + if (_key !== null && _key !== '') { + dict.value.push({ + key: _key, + value: _value + }); + } + }; + + /** + * 删除字典 + * @param _key + */ + const removeDict = (_key: string): boolean => { + let bln = false; + try { + for (let i = 0; i < dict.value.length; i++) { + if (dict.value[i].key == _key) { + dict.value.splice(i, 1); + return true; + } + } + } catch (e) { + bln = false; + } + return bln; + }; + + /** + * 清空字典 + */ + const cleanDict = (): void => { + dict.value = []; + }; + + return { + dict, + getDict, + setDict, + removeDict, + cleanDict + }; +}); + +export default useDictStore; diff --git a/src/store/modules/modeler.ts b/src/store/modules/modeler.ts new file mode 100644 index 0000000..7b19c1a --- /dev/null +++ b/src/store/modules/modeler.ts @@ -0,0 +1,76 @@ +import { Modeler, Modeling, Canvas, ElementRegistry, Moddle, BpmnFactory } from 'bpmn'; + +type ModelerStore = { + modeler: Modeler | undefined; + moddle: Moddle | undefined; + modeling: Modeling | undefined; + canvas: Canvas | undefined; + elementRegistry: ElementRegistry | undefined; + bpmnFactory: BpmnFactory | undefined; + // 流程定义根节点信息 + procDefId: string | undefined; + procDefName: string | undefined; +}; + +const defaultState: ModelerStore = { + modeler: undefined, + moddle: undefined, + modeling: undefined, + canvas: undefined, + elementRegistry: undefined, + bpmnFactory: undefined, + procDefId: undefined, + procDefName: undefined +}; +export const useModelerStore = defineStore('modeler', () => { + let modeler = defaultState.modeler; + let moddle = defaultState.moddle; + let modeling = defaultState.modeling; + let canvas = defaultState.canvas; + let elementRegistry = defaultState.elementRegistry; + let bpmnFactory = defaultState.bpmnFactory; + const procDefId = ref(defaultState.procDefId); + const procDefName = ref(defaultState.procDefName); + + const getModeler = () => modeler; + const getModdle = () => moddle; + const getModeling = (): Modeling | undefined => modeling; + const getCanvas = (): Canvas | undefined => canvas; + const getElRegistry = (): ElementRegistry | undefined => elementRegistry; + const getBpmnFactory = (): BpmnFactory | undefined => bpmnFactory; + const getProcDefId = (): string | undefined => procDefId.value; + const getProcDefName = (): string | undefined => procDefName.value; + + // 设置根节点 + const setModeler = (modelers: Modeler | undefined) => { + if (modelers) { + modeler = modelers; + modeling = modelers.get('modeling'); + moddle = modelers.get('moddle'); + canvas = modelers.get('canvas'); + bpmnFactory = modelers.get('bpmnFactory'); + elementRegistry = modelers.get('elementRegistry'); + } else { + modeling = moddle = canvas = elementRegistry = bpmnFactory = undefined; + } + }; + // 设置流程定义根节点信息 + const setProcDef = (modeler: Modeler | undefined) => { + procDefId.value = modeler.get('canvas').getRootElement().businessObject.get('id'); + procDefName.value = modeler.get('canvas').getRootElement().businessObject.get('name'); + }; + + return { + getModeler, + getModdle, + getModeling, + getCanvas, + getElRegistry, + getBpmnFactory, + getProcDefId, + getProcDefName, + setModeler, + setProcDef + }; +}); +export default useModelerStore; diff --git a/src/store/modules/notice.ts b/src/store/modules/notice.ts new file mode 100644 index 0000000..de980b6 --- /dev/null +++ b/src/store/modules/notice.ts @@ -0,0 +1,42 @@ +import { defineStore } from 'pinia'; + +interface NoticeItem { + title?: string; + read: boolean; + message: any; + time: string; +} + +export const useNoticeStore = defineStore('notice', () => { + const state = reactive({ + notices: [] as NoticeItem[] + }); + + const addNotice = (notice: NoticeItem) => { + state.notices.push(notice); + }; + + const removeNotice = (notice: NoticeItem) => { + state.notices.splice(state.notices.indexOf(notice), 1); + }; + + //实现全部已读 + const readAll = () => { + state.notices.forEach((item: any) => { + item.read = true; + }); + }; + + const clearNotice = () => { + state.notices = []; + }; + return { + state, + addNotice, + removeNotice, + readAll, + clearNotice + }; +}); + +export default useNoticeStore; diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts new file mode 100644 index 0000000..cf12a73 --- /dev/null +++ b/src/store/modules/permission.ts @@ -0,0 +1,170 @@ +import { defineStore } from 'pinia'; +import router, { constantRoutes, dynamicRoutes } from '@/router'; +import store from '@/store'; +import { getRouters } from '@/api/menu'; +import auth from '@/plugins/auth'; +import { RouteRecordRaw } from 'vue-router'; + +import Layout from '@/layout/index.vue'; +import ParentView from '@/components/ParentView/index.vue'; +import InnerLink from '@/layout/components/InnerLink/index.vue'; + +// 匹配views里面所有的.vue文件 +const modules = import.meta.glob('./../../views/**/*.vue'); +export const usePermissionStore = defineStore('permission', () => { + const routes = ref([]); + const addRoutes = ref([]); + const defaultRoutes = ref([]); + const topbarRouters = ref([]); + const sidebarRouters = ref([]); + + const getRoutes = (): RouteRecordRaw[] => { + return routes.value; + }; + const getSidebarRoutes = (): RouteRecordRaw[] => { + return sidebarRouters.value; + }; + const getTopbarRoutes = (): RouteRecordRaw[] => { + return topbarRouters.value; + }; + + const setRoutes = (newRoutes: RouteRecordRaw[]): void => { + addRoutes.value = newRoutes; + routes.value = constantRoutes.concat(newRoutes); + }; + const setDefaultRoutes = (routes: RouteRecordRaw[]): void => { + defaultRoutes.value = constantRoutes.concat(routes); + }; + const setTopbarRoutes = (routes: RouteRecordRaw[]): void => { + topbarRouters.value = routes; + }; + const setSidebarRouters = (routes: RouteRecordRaw[]): void => { + sidebarRouters.value = routes; + }; + const generateRoutes = async (): Promise => { + const res = await getRouters(); + const { data } = res; + const sdata = JSON.parse(JSON.stringify(data)); + const rdata = JSON.parse(JSON.stringify(data)); + const defaultData = JSON.parse(JSON.stringify(data)); + const sidebarRoutes = filterAsyncRouter(sdata); + const rewriteRoutes = filterAsyncRouter(rdata, undefined, true); + const defaultRoutes = filterAsyncRouter(defaultData); + const asyncRoutes = filterDynamicRoutes(dynamicRoutes); + asyncRoutes.forEach((route) => { + router.addRoute(route); + }); + setRoutes(rewriteRoutes); + setSidebarRouters(constantRoutes.concat(sidebarRoutes)); + setDefaultRoutes(sidebarRoutes); + setTopbarRoutes(defaultRoutes); + return new Promise((resolve) => resolve(rewriteRoutes)); + }; + + /** + * 遍历后台传来的路由字符串,转换为组件对象 + * @param asyncRouterMap 后台传来的路由字符串 + * @param lastRouter 上一级路由 + * @param type 是否是重写路由 + */ + const filterAsyncRouter = (asyncRouterMap: RouteRecordRaw[], lastRouter?: RouteRecordRaw, type = false): RouteRecordRaw[] => { + return asyncRouterMap.filter((route) => { + if (type && route.children) { + route.children = filterChildren(route.children, undefined); + } + // Layout ParentView 组件特殊处理 + if (route.component?.toString() === 'Layout') { + route.component = Layout; + } else if (route.component?.toString() === 'ParentView') { + route.component = ParentView; + } else if (route.component?.toString() === 'InnerLink') { + route.component = InnerLink; + } else { + route.component = loadView(route.component); + } + if (route.children != null && route.children && route.children.length) { + route.children = filterAsyncRouter(route.children, route, type); + } else { + delete route.children; + delete route.redirect; + } + return true; + }); + }; + const filterChildren = (childrenMap: RouteRecordRaw[], lastRouter?: RouteRecordRaw): RouteRecordRaw[] => { + let children: RouteRecordRaw[] = []; + childrenMap.forEach((el) => { + if (el.children && el.children.length) { + if (el.component?.toString() === 'ParentView' && !lastRouter) { + el.children.forEach((c) => { + c.path = el.path + '/' + c.path; + if (c.children && c.children.length) { + children = children.concat(filterChildren(c.children, c)); + return; + } + children.push(c); + }); + return; + } + } + if (lastRouter) { + el.path = lastRouter.path + '/' + el.path; + if (el.children && el.children.length) { + children = children.concat(filterChildren(el.children, el)); + return; + } + } + children = children.concat(el); + }); + return children; + }; + return { + routes, + topbarRouters, + sidebarRouters, + defaultRoutes, + + getRoutes, + getSidebarRoutes, + getTopbarRoutes, + + setRoutes, + generateRoutes, + setSidebarRouters + }; +}); + +// 动态路由遍历,验证是否具备权限 +export const filterDynamicRoutes = (routes: RouteRecordRaw[]) => { + const res: RouteRecordRaw[] = []; + routes.forEach((route) => { + if (route.permissions) { + if (auth.hasPermiOr(route.permissions)) { + res.push(route); + } + } else if (route.roles) { + if (auth.hasRoleOr(route.roles)) { + res.push(route); + } + } + }); + return res; +}; + +export const loadView = (view: any) => { + let res; + for (const path in modules) { + const dir = path.split('views/')[1].split('.vue')[0]; + if (dir === view) { + res = () => modules[path](); + } + } + return res; +}; + +// 非setup +export const usePermissionStoreHook = () => { + return usePermissionStore(store); +}; + +export default usePermissionStore; diff --git a/src/store/modules/settings.ts b/src/store/modules/settings.ts new file mode 100644 index 0000000..ef49b3c --- /dev/null +++ b/src/store/modules/settings.ts @@ -0,0 +1,47 @@ +import { defineStore } from 'pinia'; +import defaultSettings from '@/settings'; +import { useDynamicTitle } from '@/utils/dynamicTitle'; + +export const useSettingsStore = defineStore('setting', () => { + const storageSetting = useStorage('layout-setting', { + topNav: defaultSettings.topNav, + tagsView: defaultSettings.tagsView, + fixedHeader: defaultSettings.fixedHeader, + sidebarLogo: defaultSettings.sidebarLogo, + dynamicTitle: defaultSettings.dynamicTitle, + sideTheme: defaultSettings.sideTheme, + theme: defaultSettings.theme + }); + const title = ref(defaultSettings.title); + const theme = ref(storageSetting.value.theme); + const sideTheme = ref(storageSetting.value.sideTheme); + const showSettings = ref(defaultSettings.showSettings); + const topNav = ref(storageSetting.value.topNav); + const tagsView = ref(storageSetting.value.tagsView); + const fixedHeader = ref(storageSetting.value.fixedHeader); + const sidebarLogo = ref(storageSetting.value.sidebarLogo); + const dynamicTitle = ref(storageSetting.value.dynamicTitle); + const animationEnable = ref(defaultSettings.animationEnable); + const dark = ref(defaultSettings.dark); + + const setTitle = (value: string) => { + title.value = value; + useDynamicTitle(); + }; + return { + title, + theme, + sideTheme, + showSettings, + topNav, + tagsView, + fixedHeader, + sidebarLogo, + dynamicTitle, + animationEnable, + dark, + setTitle + }; +}); + +export default useSettingsStore; diff --git a/src/store/modules/tagsView.ts b/src/store/modules/tagsView.ts new file mode 100644 index 0000000..b9502eb --- /dev/null +++ b/src/store/modules/tagsView.ts @@ -0,0 +1,233 @@ +import { RouteLocationNormalized } from 'vue-router'; + +export const useTagsViewStore = defineStore('tagsView', () => { + const visitedViews = ref([]); + const cachedViews = ref([]); + const iframeViews = ref([]); + + const getVisitedViews = (): RouteLocationNormalized[] => { + return visitedViews.value; + }; + const getIframeViews = (): RouteLocationNormalized[] => { + return iframeViews.value; + }; + const getCachedViews = (): string[] => { + return cachedViews.value; + }; + + const addView = (view: RouteLocationNormalized) => { + addVisitedView(view); + addCachedView(view); + }; + + const addIframeView = (view: RouteLocationNormalized): void => { + if (iframeViews.value.some((v: RouteLocationNormalized) => v.path === view.path)) return; + iframeViews.value.push( + Object.assign({}, view, { + title: view.meta?.title || 'no-name' + }) + ); + }; + const delIframeView = (view: RouteLocationNormalized): Promise => { + return new Promise((resolve) => { + iframeViews.value = iframeViews.value.filter((item: RouteLocationNormalized) => item.path !== view.path); + resolve([...iframeViews.value]); + }); + }; + const addVisitedView = (view: RouteLocationNormalized): void => { + if (visitedViews.value.some((v: RouteLocationNormalized) => v.path === view.path)) return; + visitedViews.value.push( + Object.assign({}, view, { + title: view.meta?.title || 'no-name' + }) + ); + }; + const delView = ( + view: RouteLocationNormalized + ): Promise<{ + visitedViews: RouteLocationNormalized[]; + cachedViews: string[]; + }> => { + return new Promise((resolve) => { + delVisitedView(view); + if (!isDynamicRoute(view)) { + delCachedView(view); + } + resolve({ + visitedViews: [...visitedViews.value], + cachedViews: [...cachedViews.value] + }); + }); + }; + + const delVisitedView = (view: RouteLocationNormalized): Promise => { + return new Promise((resolve) => { + for (const [i, v] of visitedViews.value.entries()) { + if (v.path === view.path) { + visitedViews.value.splice(i, 1); + break; + } + } + resolve([...visitedViews.value]); + }); + }; + const delCachedView = (view?: RouteLocationNormalized): Promise => { + let viewName = ''; + if (view) { + viewName = view.name as string; + } + return new Promise((resolve) => { + const index = cachedViews.value.indexOf(viewName); + index > -1 && cachedViews.value.splice(index, 1); + resolve([...cachedViews.value]); + }); + }; + const delOthersViews = ( + view: RouteLocationNormalized + ): Promise<{ + visitedViews: RouteLocationNormalized[]; + cachedViews: string[]; + }> => { + return new Promise((resolve) => { + delOthersVisitedViews(view); + delOthersCachedViews(view); + resolve({ + visitedViews: [...visitedViews.value], + cachedViews: [...cachedViews.value] + }); + }); + }; + + const delOthersVisitedViews = (view: RouteLocationNormalized): Promise => { + return new Promise((resolve) => { + visitedViews.value = visitedViews.value.filter((v: RouteLocationNormalized) => { + return v.meta?.affix || v.path === view.path; + }); + resolve([...visitedViews.value]); + }); + }; + const delOthersCachedViews = (view: RouteLocationNormalized): Promise => { + const viewName = view.name as string; + return new Promise((resolve) => { + const index = cachedViews.value.indexOf(viewName); + if (index > -1) { + cachedViews.value = cachedViews.value.slice(index, index + 1); + } else { + cachedViews.value = []; + } + resolve([...cachedViews.value]); + }); + }; + + const delAllViews = (): Promise<{ visitedViews: RouteLocationNormalized[]; cachedViews: string[] }> => { + return new Promise((resolve) => { + delAllVisitedViews(); + delAllCachedViews(); + resolve({ + visitedViews: [...visitedViews.value], + cachedViews: [...cachedViews.value] + }); + }); + }; + const delAllVisitedViews = (): Promise => { + return new Promise((resolve) => { + visitedViews.value = visitedViews.value.filter((tag: RouteLocationNormalized) => tag.meta?.affix); + resolve([...visitedViews.value]); + }); + }; + + const delAllCachedViews = (): Promise => { + return new Promise((resolve) => { + cachedViews.value = []; + resolve([...cachedViews.value]); + }); + }; + + const updateVisitedView = (view: RouteLocationNormalized): void => { + for (let v of visitedViews.value) { + if (v.path === view.path) { + v = Object.assign(v, view); + break; + } + } + }; + const delRightTags = (view: RouteLocationNormalized): Promise => { + return new Promise((resolve) => { + const index = visitedViews.value.findIndex((v: RouteLocationNormalized) => v.path === view.path); + if (index === -1) { + return; + } + visitedViews.value = visitedViews.value.filter((item: RouteLocationNormalized, idx: number) => { + if (idx <= index || (item.meta && item.meta.affix)) { + return true; + } + const i = cachedViews.value.indexOf(item.name as string); + if (i > -1) { + cachedViews.value.splice(i, 1); + } + return false; + }); + resolve([...visitedViews.value]); + }); + }; + const delLeftTags = (view: RouteLocationNormalized): Promise => { + return new Promise((resolve) => { + const index = visitedViews.value.findIndex((v: RouteLocationNormalized) => v.path === view.path); + if (index === -1) { + return; + } + visitedViews.value = visitedViews.value.filter((item: RouteLocationNormalized, idx: number) => { + if (idx >= index || (item.meta && item.meta.affix)) { + return true; + } + const i = cachedViews.value.indexOf(item.name as string); + if (i > -1) { + cachedViews.value.splice(i, 1); + } + return false; + }); + resolve([...visitedViews.value]); + }); + }; + + const addCachedView = (view: RouteLocationNormalized): void => { + const viewName = view.name as string; + if (!viewName) return; + if (cachedViews.value.includes(viewName)) return; + if (!view.meta?.noCache) { + cachedViews.value.push(viewName); + } + }; + + const isDynamicRoute = (view: RouteLocationNormalized): boolean => { + // 检查匹配的路由记录中是否有动态段 + return view.matched.some((m) => m.path.includes(':')); + }; + + return { + visitedViews, + cachedViews, + iframeViews, + + getVisitedViews, + getIframeViews, + getCachedViews, + + addVisitedView, + addCachedView, + delVisitedView, + delCachedView, + updateVisitedView, + addView, + delView, + delAllViews, + delAllVisitedViews, + delAllCachedViews, + delOthersViews, + delRightTags, + delLeftTags, + addIframeView, + delIframeView + }; +}); +export default useTagsViewStore; diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts new file mode 100644 index 0000000..4122294 --- /dev/null +++ b/src/store/modules/user.ts @@ -0,0 +1,88 @@ +import { to } from 'await-to-js'; +import { getToken, removeToken, setToken } from '@/utils/auth'; +import { login as loginApi, logout as logoutApi, getInfo as getUserInfo } from '@/api/login'; +import { LoginData } from '@/api/types'; +import defAva from '@/assets/images/profile.jpg'; +import store from '@/store'; + +export const useUserStore = defineStore('user', () => { + const token = ref(getToken()); + const name = ref(''); + const nickname = ref(''); + const userId = ref(''); + const avatar = ref(''); + const roles = ref>([]); // 用户角色编码集合 → 判断路由权限 + const permissions = ref>([]); // 用户权限编码集合 → 判断按钮权限 + + /** + * 登录 + * @param userInfo + * @returns + */ + const login = async (userInfo: LoginData): Promise => { + const [err, res] = await to(loginApi(userInfo)); + if (res) { + const data = res.data; + setToken(data.access_token); + token.value = data.access_token; + return Promise.resolve(); + } + return Promise.reject(err); + }; + + // 获取用户信息 + const getInfo = async (): Promise => { + const [err, res] = await to(getUserInfo()); + if (res) { + const data = res.data; + const user = data.user; + const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar; + + if (data.roles && data.roles.length > 0) { + // 验证返回的roles是否是一个非空数组 + roles.value = data.roles; + permissions.value = data.permissions; + } else { + roles.value = ['ROLE_DEFAULT']; + } + name.value = user.userName; + nickname.value = user.nickName; + avatar.value = profile; + userId.value = user.userId; + return Promise.resolve(); + } + return Promise.reject(err); + }; + + // 注销 + const logout = async (): Promise => { + await logoutApi(); + token.value = ''; + roles.value = []; + permissions.value = []; + removeToken(); + }; + + const setAvatar = (value: string) => { + avatar.value = value; + }; + + return { + userId, + token, + nickname, + avatar, + roles, + permissions, + login, + getInfo, + logout, + setAvatar + }; +}); + +export default useUserStore; +// 非setup +export function useUserStoreHook() { + return useUserStore(store); +} diff --git a/src/types/axios.d.ts b/src/types/axios.d.ts new file mode 100644 index 0000000..9f2c6d2 --- /dev/null +++ b/src/types/axios.d.ts @@ -0,0 +1,9 @@ +export {}; +declare module 'axios' { + interface AxiosResponse { + code: number; + msg: string; + rows: T; + total: number; + } +} diff --git a/src/types/bpmn/editor/global.d.ts b/src/types/bpmn/editor/global.d.ts new file mode 100644 index 0000000..1b9a634 --- /dev/null +++ b/src/types/bpmn/editor/global.d.ts @@ -0,0 +1,13 @@ +import { MessageApiInjection } from 'naive-ui/lib/message/src/MessageProvider'; + +declare global { + interface Window { + bpmnInstances: any; + __messageBox: MessageApiInjection; + URL: any; + } +} + +declare interface Window { + bpmnInstances: any; +} diff --git a/src/types/bpmn/index.d.ts b/src/types/bpmn/index.d.ts new file mode 100644 index 0000000..f8e8d15 --- /dev/null +++ b/src/types/bpmn/index.d.ts @@ -0,0 +1,15 @@ +declare module 'bpmn' { + import type modeler from 'bpmn-js/lib/Modeler'; + import type modeling from 'bpmn-js/lib/features/modeling/Modeling'; + import type canvas from 'diagram-js/lib/core/Canvas'; + import type elementRegistry from 'diagram-js/lib/core/ElementRegistry'; + import type bpmnFactory from 'bpmn-js/lib/features/modeling/BpmnFactory'; + + export type Modeler = modeler; + export type Modeling = modeling; + export type Canvas = canvas; + export type ElementRegistry = elementRegistry; + export type Moddle = import('moddle').Moddle; + export type ModdleElement = import('moddle').ModdleElement; + export type BpmnFactory = bpmnFactory; +} diff --git a/src/types/bpmn/moddle.d.ts b/src/types/bpmn/moddle.d.ts new file mode 100644 index 0000000..1ed7933 --- /dev/null +++ b/src/types/bpmn/moddle.d.ts @@ -0,0 +1,37 @@ +declare module 'moddle' { + import type { Element as element } from 'bpmn-js/lib/model/Types'; + + export type Element = { + get(name: string): T; + + set(name: string, value: any): void; + } & element; + + export interface ModdleElement extends Element { + $model: Moddle; + readonly $type: string; + $attrs: object | {}; + $parent: any; + businessObject: ModdleElement; + type: string; + + [field: string]: any; + + hasType(element: ModdleElement, type?: string): boolean; + } + + export interface Package { + name: string; + prefix: string; + } + + export interface Moddle { + typeCache: Record; + + getPackage: typeof Registry.prototype.getPackage; + + getPackages: typeof Registry.prototype.getPackages; + + create(type: string, attrs?: any): ModdleElement; + } +} diff --git a/src/types/bpmn/panel.d.ts b/src/types/bpmn/panel.d.ts new file mode 100644 index 0000000..3179261 --- /dev/null +++ b/src/types/bpmn/panel.d.ts @@ -0,0 +1,92 @@ +declare module 'bpmnDesign' { + import { AllocationTypeEnum, SpecifyDescEnum, MultiInstanceTypeEnum } from '@/enums/bpmn/IndexEnums'; + + export interface ParamVO { + type: string; + name: string; + value: string; + } + + export interface TaskListenerVO { + event: string; + type: string; + name: string; + className: string; + params: ParamVO[]; + } + + export interface ExecutionListenerVO { + event: string; + type: string; + className: string; + params: ParamVO[]; + } + + interface BasePanel { + id: string; + name: string; + } + export interface ProcessPanel extends BasePanel {} + + export interface TaskPanel extends BasePanel { + allocationType: AllocationTypeEnum; + specifyDesc: SpecifyDescEnum; + multiInstanceType: MultiInstanceTypeEnum; + async?: boolean; + priority?: number; + formKey?: string; + skipExpression?: string; + isForCompensation?: boolean; + triggerServiceTask?: boolean; + autoStoreVariables?: boolean; + ruleVariablesInput?: string; + excludeTaskListener?: boolean; + exclude?: boolean; + class?: string; + dueDate?: string; + fixedAssignee?: string; + + candidateUsers?: string; + assignee?: string; + candidateGroups?: string; + collection?: string; + elementVariable?: string; + completionCondition?: string; + isSequential?: boolean; + + loopCharacteristics?: { + collection: string; + elementVariable: string; + isSequential: boolean; + completionCondition: { + body: string; + }; + }; + } + + export interface StartEndPanel extends BasePanel {} + export interface GatewayPanel extends BasePanel {} + export interface SequenceFlowPanel extends BasePanel { + conditionExpression: { + body: string; + }; + conditionExpressionValue: string; + skipExpression: string; + } + + export interface ParticipantPanel extends BasePanel {} + export interface SubProcessPanel extends BasePanel { + multiInstanceType: MultiInstanceTypeEnum; + collection?: string; + elementVariable?: string; + completionCondition?: string; + loopCharacteristics?: { + collection: string; + elementVariable: string; + isSequential: boolean; + completionCondition: { + body: string; + }; + }; + } +} diff --git a/src/types/element.d.ts b/src/types/element.d.ts new file mode 100644 index 0000000..ae6ecfc --- /dev/null +++ b/src/types/element.d.ts @@ -0,0 +1,35 @@ +import type * as ep from 'element-plus'; +declare global { + declare type ElTagType = 'primary' | 'success' | 'info' | 'warning' | 'danger'; + declare type ElFormInstance = ep.FormInstance; + declare type ElTableInstance = ep.TableInstance; + declare type ElUploadInstance = ep.UploadInstance; + declare type ElScrollbarInstance = ep.ScrollbarInstance; + declare type ElInputInstance = ep.InputInstance; + declare type ElInputNumberInstance = ep.InputNumberInstance; + declare type ElRadioInstance = ep.RadioInstance; + declare type ElRadioGroupInstance = ep.RadioGroupInstance; + declare type ElRadioButtonInstance = ep.RadioButtonInstance; + declare type ElCheckboxInstance = ep.CheckboxInstance; + declare type ElSwitchInstance = ep.SwitchInstance; + declare type ElCascaderInstance = ep.CascaderInstance; + declare type ElColorPickerInstance = ep.ColorPickerInstance; + declare type ElRateInstance = ep.RateInstance; + declare type ElSliderInstance = ep.SliderInstance; + + declare type ElTreeInstance = InstanceType; + declare type ElTreeSelectInstance = InstanceType; + declare type ElSelectInstance = InstanceType; + declare type ElCardInstance = InstanceType; + declare type ElDialogInstance = InstanceType; + declare type ElCheckboxGroupInstance = InstanceType; + declare type ElDatePickerInstance = InstanceType; + declare type ElTimePickerInstance = InstanceType; + declare type ElTimeSelectInstance = InstanceType; + + declare type TransferKey = ep.TransferKey; + declare type CheckboxValueType = ep.CheckboxValueType; + declare type ElFormRules = ep.FormRules; + declare type DateModelType = ep.DateModelType; + declare type UploadFile = ep.UploadFile; +} diff --git a/src/types/env.d.ts b/src/types/env.d.ts new file mode 100644 index 0000000..bfc37cc --- /dev/null +++ b/src/types/env.d.ts @@ -0,0 +1,27 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue'; + const Component: DefineComponent<{}, {}, any>; + export default Component; +} + +// 环境变量 +interface ImportMetaEnv { + VITE_APP_TITLE: string; + VITE_APP_PORT: number; + VITE_APP_BASE_API: string; + VITE_APP_BASE_URL: string; + VITE_APP_CONTEXT_PATH: string; + VITE_APP_MONITRO_ADMIN: string; + VITE_APP_POWERJOB_ADMIN: string; + VITE_APP_EASYRETRY_ADMIN: string; + VITE_APP_ENV: string; + VITE_APP_ENCRYPT: string; + VITE_APP_RSA_PUBLIC_KEY: string; + VITE_APP_RSA_PRIVATE_KEY: string; + VITE_APP_CLIENT_ID: string; + VITE_APP_WEBSOCKET: string; +} +interface ImportMeta { + readonly env: ImportMetaEnv; + // readonly glob: any; +} diff --git a/src/types/global.d.ts b/src/types/global.d.ts new file mode 100644 index 0000000..17476a3 --- /dev/null +++ b/src/types/global.d.ts @@ -0,0 +1,166 @@ +import type { PropType as VuePropType, ComponentInternalInstance as ComponentInstance } from 'vue'; +import { LanguageEnum } from '@/enums/LanguageEnum'; + +declare global { + /** vue Instance */ + declare type ComponentInternalInstance = ComponentInstance; + /**vue */ + declare type PropType = VuePropType; + + /** + * 界面字段隐藏属性 + */ + declare interface FieldOption { + key: number; + label: string; + visible: boolean; + children?: Array; + } + + /** + * 弹窗属性 + */ + declare interface DialogOption { + /** + * 弹窗标题 + */ + title?: string; + /** + * 是否显示 + */ + visible: boolean; + } + + declare interface UploadOption { + /** 设置上传的请求头部 */ + headers: { [key: string]: any }; + + /** 上传的地址 */ + url: string; + } + + /** + * 导入属性 + */ + declare interface ImportOption extends UploadOption { + /** 是否显示弹出层 */ + open: boolean; + /** 弹出层标题 */ + title: string; + /** 是否禁用上传 */ + isUploading: boolean; + + updateSupport: number; + + /** 其他参数 */ + [key: string]: any; + } + /** + * 字典数据 数据配置 + */ + declare interface DictDataOption { + label: string; + value: string; + elTagType?: ElTagType; + elTagClass?: string; + } + + declare interface BaseEntity { + createBy?: any; + createDept?: any; + createTime?: string; + updateBy?: any; + updateTime?: any; + } + + /** + * 分页数据 + * T : 表单数据 + * D : 查询参数 + */ + declare interface PageData { + form: T; + queryParams: D; + rules: ElFormRules; + } + /** + * 分页查询参数 + */ + declare interface PageQuery { + pageNum: number; + pageSize: number; + } + declare interface LayoutSetting { + /** + * 是否显示顶部导航 + */ + topNav: boolean; + + /** + * 是否显示多标签导航 + */ + tagsView: boolean; + /** + * 是否固定头部 + */ + fixedHeader: boolean; + /** + * 是否显示侧边栏Logo + */ + sidebarLogo: boolean; + /** + * 是否显示动态标题 + */ + dynamicTitle: boolean; + /** + * 侧边栏主题 theme-dark | theme-light + */ + sideTheme: string; + /** + * 主题模式 + */ + theme: string; + } + + declare interface DefaultSettings extends LayoutSetting { + /** + * 网页标题 + */ + title: string; + + /** + * 是否显示系统布局设置 + */ + showSettings: boolean; + + /** + * 导航栏布局 + */ + layout: string; + + /** + * 布局大小 + */ + size: 'large' | 'default' | 'small'; + + /** + * 语言 + */ + language: LanguageEnum; + + /** + * 是否启用动画效果 + */ + animationEnable: boolean; + /** + * 是否启用暗黑模式 + * + * true:暗黑模式 + * false: 明亮模式 + */ + dark: boolean; + + errorLog: string; + } +} +export {}; diff --git a/src/types/module.d.ts b/src/types/module.d.ts new file mode 100644 index 0000000..984df9f --- /dev/null +++ b/src/types/module.d.ts @@ -0,0 +1,39 @@ +import modal from '@/plugins/modal'; +import tab from '@/plugins/tab'; +import download from '@/plugins/download'; +import auth from '@/plugins/auth'; +import cache from '@/plugins/cache'; +import animate from '@/animate'; +import { useDict } from '@/utils/dict'; +import { handleTree, addDateRange, selectDictLabel, selectDictLabels, parseTime } from '@/utils/ruoyi'; +import { getConfigKey, updateConfigByKey } from '@/api/system/config'; +import { download as rd } from '@/utils/request'; + +export {}; + +declare module 'vue' { + interface ComponentCustomProperties { + // 全局方法声明 + $modal: typeof modal; + $tab: typeof tab; + $download: typeof download; + $auth: typeof auth; + $cache: typeof cache; + animate: typeof animate; + + useDict: typeof useDict; + addDateRange: typeof addDateRange; + download: typeof rd; + handleTree: typeof handleTree; + getConfigKey: typeof getConfigKey; + updateConfigByKey: typeof updateConfigByKey; + selectDictLabel: typeof selectDictLabel; + selectDictLabels: typeof selectDictLabels; + parseTime: typeof parseTime; + } +} + +declare module 'vform3-builds' { + const content: any; + export = content; +} diff --git a/src/types/router.d.ts b/src/types/router.d.ts new file mode 100644 index 0000000..11a60a0 --- /dev/null +++ b/src/types/router.d.ts @@ -0,0 +1,38 @@ +import { LocationQuery, type RouteMeta as VRouteMeta } from 'vue-router'; +declare module 'vue-router' { + interface RouteMeta extends VRouteMeta { + link?: string; + title?: string; + affix?: boolean; + noCache?: boolean; + activeMenu?: string; + icon?: string; + breadcrumb?: boolean; + } + + interface _RouteRecordBase { + hidden?: boolean | string | number; + permissions?: string[]; + roles?: string[]; + alwaysShow?: boolean; + query?: string; + parentPath?: string; + } + + interface _RouteLocationBase { + children?: _RouteRecordBase[]; + path?: string; + title?: string; + } + + interface TagView { + fullPath?: string; + name?: string; + path?: string; + title?: string; + meta?: RouteMeta; + query?: LocationQuery; + } +} + +export {}; diff --git a/src/utils/auth.ts b/src/utils/auth.ts new file mode 100644 index 0000000..db50ac9 --- /dev/null +++ b/src/utils/auth.ts @@ -0,0 +1,9 @@ +const TokenKey = 'Admin-Token'; + +const tokenStorage = useStorage(TokenKey, null); + +export const getToken = () => tokenStorage.value; + +export const setToken = (access_token: string) => (tokenStorage.value = access_token); + +export const removeToken = () => (tokenStorage.value = null); diff --git a/src/utils/crypto.ts b/src/utils/crypto.ts new file mode 100644 index 0000000..8217146 --- /dev/null +++ b/src/utils/crypto.ts @@ -0,0 +1,66 @@ +import CryptoJS from 'crypto-js'; + +/** + * 随机生成32位的字符串 + * @returns {string} + */ +const generateRandomString = () => { + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + let result = ''; + const charactersLength = characters.length; + for (let i = 0; i < 32; i++) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + } + return result; +}; + +/** + * 随机生成aes 密钥 + * @returns {string} + */ +export const generateAesKey = () => { + return CryptoJS.enc.Utf8.parse(generateRandomString()); +}; + +/** + * 加密base64 + * @returns {string} + */ +export const encryptBase64 = (str: CryptoJS.lib.WordArray) => { + return CryptoJS.enc.Base64.stringify(str); +}; + +/** + * 解密base64 + */ +export const decryptBase64 = (str: string) => { + return CryptoJS.enc.Base64.parse(str); +}; + +/** + * 使用密钥对数据进行加密 + * @param message + * @param aesKey + * @returns {string} + */ +export const encryptWithAes = (message: string, aesKey: CryptoJS.lib.WordArray) => { + const encrypted = CryptoJS.AES.encrypt(message, aesKey, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return encrypted.toString(); +}; + +/** + * 使用密钥对数据进行解密 + * @param message + * @param aesKey + * @returns {string} + */ +export const decryptWithAes = (message: string, aesKey: CryptoJS.lib.WordArray) => { + const decrypted = CryptoJS.AES.decrypt(message, aesKey, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return decrypted.toString(CryptoJS.enc.Utf8); +}; diff --git a/src/utils/dict.ts b/src/utils/dict.ts new file mode 100644 index 0000000..0575072 --- /dev/null +++ b/src/utils/dict.ts @@ -0,0 +1,27 @@ +import { getDicts } from '@/api/system/dict/data'; +import { useDictStore } from '@/store/modules/dict'; +/** + * 获取字典数据 + */ +export const useDict = (...args: string[]): { [key: string]: DictDataOption[] } => { + const res = ref<{ + [key: string]: DictDataOption[]; + }>({}); + return (() => { + args.forEach(async (dictType) => { + res.value[dictType] = []; + const dicts = useDictStore().getDict(dictType); + if (dicts) { + res.value[dictType] = dicts; + } else { + await getDicts(dictType).then((resp) => { + res.value[dictType] = resp.data.map( + (p): DictDataOption => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }) + ); + useDictStore().setDict(dictType, res.value[dictType]); + }); + } + }); + return res.value; + })(); +}; diff --git a/src/utils/dynamicTitle.ts b/src/utils/dynamicTitle.ts new file mode 100644 index 0000000..8e23ef8 --- /dev/null +++ b/src/utils/dynamicTitle.ts @@ -0,0 +1,14 @@ +import defaultSettings from '@/settings'; +import { useSettingsStore } from '@/store/modules/settings'; + +/** + * 动态修改标题 + */ +export const useDynamicTitle = () => { + const settingsStore = useSettingsStore(); + if (settingsStore.dynamicTitle) { + document.title = settingsStore.title + ' - ' + import.meta.env.VITE_APP_TITLE; + } else { + document.title = defaultSettings.title as string; + } +}; diff --git a/src/utils/errorCode.ts b/src/utils/errorCode.ts new file mode 100644 index 0000000..d85914e --- /dev/null +++ b/src/utils/errorCode.ts @@ -0,0 +1,7 @@ +export const errorCode: any = { + '401': '认证失败,无法访问系统资源', + '403': '当前操作没有权限', + '404': '访问资源不存在', + default: '系统未知错误,请反馈给管理员' +}; +export default errorCode; diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts new file mode 100644 index 0000000..ab77af0 --- /dev/null +++ b/src/utils/i18n.ts @@ -0,0 +1,16 @@ +// translate router.meta.title, be used in breadcrumb sidebar tagsview +import i18n from '@/lang/index'; + +/** + * 获取国际化路由,如果不存在则原生返回 + * @param title 路由名称 + * @returns {string} + */ +export const translateRouteTitle = (title: string): string => { + const hasKey = i18n.global.te('route.' + title); + if (hasKey) { + const translatedTitle = i18n.global.t('route.' + title); + return translatedTitle; + } + return title; +}; diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..2b0aad5 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,318 @@ +import { parseTime } from '@/utils/ruoyi'; + +/** + * 表格时间格式化 + */ +export const formatDate = (cellValue: string) => { + if (cellValue == null || cellValue == '') return ''; + const date = new Date(cellValue); + const year = date.getFullYear(); + const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; + const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + const hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); + const minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); + return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds; +}; + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export const formatTime = (time: string, option: string) => { + let t: number; + if (('' + time).length === 10) { + t = parseInt(time) * 1000; + } else { + t = +time; + } + const d: any = new Date(t); + const now = Date.now(); + + const diff = (now - d) / 1000; + + if (diff < 30) { + return '刚刚'; + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前'; + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前'; + } else if (diff < 3600 * 24 * 2) { + return '1天前'; + } + if (option) { + return parseTime(t, option); + } else { + return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分'; + } +}; + +/** + * @param {string} url + * @returns {Object} + */ +export const getQueryObject = (url: string) => { + url = url == null ? window.location.href : url; + const search = url.substring(url.lastIndexOf('?') + 1); + const obj: { [key: string]: string } = {}; + const reg = /([^?&=]+)=([^?&=]*)/g; + search.replace(reg, (rs, $1, $2) => { + const name = decodeURIComponent($1); + let val = decodeURIComponent($2); + val = String(val); + obj[name] = val; + return rs; + }); + return obj; +}; + +/** + * @param {string} input value + * @returns {number} output value + */ +export const byteLength = (str: string) => { + // returns the byte length of an utf8 string + let s = str.length; + for (let i = str.length - 1; i >= 0; i--) { + const code = str.charCodeAt(i); + if (code > 0x7f && code <= 0x7ff) s++; + else if (code > 0x7ff && code <= 0xffff) s += 2; + if (code >= 0xdc00 && code <= 0xdfff) i--; + } + return s; +}; + +/** + * @param {Array} actual + * @returns {Array} + */ +export const cleanArray = (actual: Array) => { + const newArray: any[] = []; + for (let i = 0; i < actual.length; i++) { + if (actual[i]) { + newArray.push(actual[i]); + } + } + return newArray; +}; + +/** + * @param {Object} json + * @returns {Array} + */ +export const param = (json: any) => { + if (!json) return ''; + return cleanArray( + Object.keys(json).map((key) => { + if (json[key] === undefined) return ''; + return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]); + }) + ).join('&'); +}; + +/** + * @param {string} url + * @returns {Object} + */ +export const param2Obj = (url: string) => { + const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' '); + if (!search) { + return {}; + } + const obj: any = {}; + const searchArr = search.split('&'); + searchArr.forEach((v) => { + const index = v.indexOf('='); + if (index !== -1) { + const name = v.substring(0, index); + const val = v.substring(index + 1, v.length); + obj[name] = val; + } + }); + return obj; +}; + +/** + * @param {string} val + * @returns {string} + */ +export const html2Text = (val: string) => { + const div = document.createElement('div'); + div.innerHTML = val; + return div.textContent || div.innerText; +}; + +/** + * Merges two objects, giving the last one precedence + * @param {Object} target + * @param {(Object|Array)} source + * @returns {Object} + */ +export const objectMerge = (target: any, source: any | any[]) => { + if (typeof target !== 'object') { + target = {}; + } + if (Array.isArray(source)) { + return source.slice(); + } + Object.keys(source).forEach((property) => { + const sourceProperty = source[property]; + if (typeof sourceProperty === 'object') { + target[property] = objectMerge(target[property], sourceProperty); + } else { + target[property] = sourceProperty; + } + }); + return target; +}; + +/** + * @param {HTMLElement} element + * @param {string} className + */ +export const toggleClass = (element: HTMLElement, className: string) => { + if (!element || !className) { + return; + } + let classString = element.className; + const nameIndex = classString.indexOf(className); + if (nameIndex === -1) { + classString += '' + className; + } else { + classString = classString.substring(0, nameIndex) + classString.substring(nameIndex + className.length); + } + element.className = classString; +}; + +/** + * @param {string} type + * @returns {Date} + */ +export const getTime = (type: string) => { + if (type === 'start') { + return new Date().getTime() - 3600 * 1000 * 24 * 90; + } else { + return new Date(new Date().toDateString()); + } +}; + +/** + * @param {Function} func + * @param {number} wait + * @param {boolean} immediate + * @return {*} + */ +export const debounce = (func: any, wait: number, immediate: boolean) => { + let timeout: any, args: any, context: any, timestamp: any, result: any; + + const later = function () { + // 据上一次触发时间间隔 + const last = +new Date() - timestamp; + + // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait + if (last < wait && last > 0) { + timeout = setTimeout(later, wait - last); + } else { + timeout = null; + // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用 + if (!immediate) { + result = func.apply(context, args); + if (!timeout) context = args = null; + } + } + }; + + return (...args: any) => { + context = this; + timestamp = +new Date(); + const callNow = immediate && !timeout; + // 如果延时不存在,重新设定延时 + if (!timeout) timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + context = args = null; + } + return result; + }; +}; + +/** + * This is just a simple version of deep copy + * Has a lot of edge cases bug + * If you want to use a perfect deep copy, use lodash's _.cloneDeep + * @param {Object} source + * @returns {Object} + */ +export const deepClone = (source: any) => { + if (!source && typeof source !== 'object') { + throw new Error('error arguments', 'deepClone' as any); + } + const targetObj: any = source.constructor === Array ? [] : {}; + Object.keys(source).forEach((keys) => { + if (source[keys] && typeof source[keys] === 'object') { + targetObj[keys] = deepClone(source[keys]); + } else { + targetObj[keys] = source[keys]; + } + }); + return targetObj; +}; + +/** + * @param {Array} arr + * @returns {Array} + */ +export const uniqueArr = (arr: any) => { + return Array.from(new Set(arr)); +}; + +/** + * @returns {string} + */ +export const createUniqueString = (): string => { + const timestamp = +new Date() + ''; + const num = (1 + Math.random()) * 65536; + const randomNum = parseInt(num + ''); + return (+(randomNum + timestamp)).toString(32); +}; + +/** + * Check if an element has a class + * @param ele + * @param {string} cls + * @returns {boolean} + */ +export const hasClass = (ele: HTMLElement, cls: string): boolean => { + return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')); +}; + +/** + * Add class to element + * @param ele + * @param {string} cls + */ +export const addClass = (ele: HTMLElement, cls: string) => { + if (!hasClass(ele, cls)) ele.className += ' ' + cls; +}; + +/** + * Remove class from element + * @param ele + * @param {string} cls + */ +export const removeClass = (ele: HTMLElement, cls: string) => { + if (hasClass(ele, cls)) { + const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)'); + ele.className = ele.className.replace(reg, ' '); + } +}; + +/** + * @param {string} path + * @returns {Boolean} + */ +export const isExternal = (path: string) => { + return /^(https?:|http?:|mailto:|tel:)/.test(path); +}; diff --git a/src/utils/jsencrypt.ts b/src/utils/jsencrypt.ts new file mode 100644 index 0000000..42de5a0 --- /dev/null +++ b/src/utils/jsencrypt.ts @@ -0,0 +1,21 @@ +import JSEncrypt from 'jsencrypt'; +// 密钥对生成 http://web.chacuo.net/netrsakeypair + +const publicKey = import.meta.env.VITE_APP_RSA_PUBLIC_KEY; + +// 前端不建议存放私钥 不建议解密数据 因为都是透明的意义不大 +const privateKey = import.meta.env.VITE_APP_RSA_PRIVATE_KEY; + +// 加密 +export const encrypt = (txt: string) => { + const encryptor = new JSEncrypt(); + encryptor.setPublicKey(publicKey); // 设置公钥 + return encryptor.encrypt(txt); // 对数据进行加密 +}; + +// 解密 +export const decrypt = (txt: string) => { + const encryptor = new JSEncrypt(); + encryptor.setPrivateKey(privateKey); // 设置私钥 + return encryptor.decrypt(txt); // 对数据进行解密 +}; diff --git a/src/utils/permission.ts b/src/utils/permission.ts new file mode 100644 index 0000000..eb3838a --- /dev/null +++ b/src/utils/permission.ts @@ -0,0 +1,51 @@ +import useUserStore from '@/store/modules/user'; + +/** + * 字符权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export const checkPermi = (value: any) => { + if (value && value instanceof Array && value.length > 0) { + const permissions = useUserStore().permissions; + const permissionDatas = value; + const all_permission = '*:*:*'; + + const hasPermission = permissions.some((permission) => { + return all_permission === permission || permissionDatas.includes(permission); + }); + + if (!hasPermission) { + return false; + } + return true; + } else { + console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`); + return false; + } +}; + +/** + * 角色权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export const checkRole = (value: any): boolean => { + if (value && value instanceof Array && value.length > 0) { + const roles = useUserStore().roles; + const permissionRoles = value; + const super_admin = 'admin'; + + const hasRole = roles.some((role) => { + return super_admin === role || permissionRoles.includes(role); + }); + + if (!hasRole) { + return false; + } + return true; + } else { + console.error(`need roles! Like checkRole="['admin','editor']"`); + return false; + } +}; diff --git a/src/utils/propTypes.ts b/src/utils/propTypes.ts new file mode 100644 index 0000000..24d861d --- /dev/null +++ b/src/utils/propTypes.ts @@ -0,0 +1,26 @@ +import { CSSProperties } from 'vue'; +import VueTypes, { createTypes, toValidableType, VueTypeValidableDef, VueTypesInterface } from 'vue-types'; + +type PropTypes = VueTypesInterface & { + readonly style: VueTypeValidableDef; + readonly fieldOption: VueTypeValidableDef>; +}; + +const propTypes = createTypes({ + func: undefined, + bool: undefined, + string: undefined, + number: undefined, + object: undefined, + integer: undefined +}) as PropTypes; + +export default class ProjectTypes extends VueTypes { + static get style() { + return toValidableType('style', { + type: [String, Object], + default: undefined + }); + } +} +export { propTypes }; diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..f2a69f0 --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,201 @@ +import axios, { AxiosResponse, InternalAxiosRequestConfig } from 'axios'; +import { useUserStore } from '@/store/modules/user'; +import { getToken } from '@/utils/auth'; +import { tansParams, blobValidate } from '@/utils/ruoyi'; +import cache from '@/plugins/cache'; +import { HttpStatus } from '@/enums/RespEnum'; +import { errorCode } from '@/utils/errorCode'; +import { LoadingInstance } from 'element-plus/es/components/loading/src/loading'; +import FileSaver from 'file-saver'; +import { getLanguage } from '@/lang'; +import { encryptBase64, encryptWithAes, generateAesKey, decryptWithAes, decryptBase64 } from '@/utils/crypto'; +import { encrypt, decrypt } from '@/utils/jsencrypt'; + +const encryptHeader = 'encrypt-key'; +let downloadLoadingInstance: LoadingInstance; +// 是否显示重新登录 +export const isRelogin = { show: false }; +export const globalHeaders = () => { + return { + Authorization: 'Bearer ' + getToken(), + clientid: import.meta.env.VITE_APP_CLIENT_ID + }; +}; + +axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'; +axios.defaults.headers['clientid'] = import.meta.env.VITE_APP_CLIENT_ID; +// 创建 axios 实例 +const service = axios.create({ + baseURL: import.meta.env.VITE_APP_BASE_API, + timeout: 50000 +}); + +// 请求拦截器 +service.interceptors.request.use( + (config: InternalAxiosRequestConfig) => { + // 对应国际化资源文件后缀 + config.headers['Content-Language'] = getLanguage(); + + const isToken = config.headers?.isToken === false; + // 是否需要防止数据重复提交 + const isRepeatSubmit = config.headers?.repeatSubmit === false; + // 是否需要加密 + const isEncrypt = config.headers?.isEncrypt === 'true'; + + if (getToken() && !isToken) { + config.headers['Authorization'] = 'Bearer ' + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改 + } + // get请求映射params参数 + if (config.method === 'get' && config.params) { + let url = config.url + '?' + tansParams(config.params); + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + + if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { + const requestObj = { + url: config.url, + data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, + time: new Date().getTime() + }; + const sessionObj = cache.session.getJSON('sessionObj'); + if (sessionObj === undefined || sessionObj === null || sessionObj === '') { + cache.session.setJSON('sessionObj', requestObj); + } else { + const s_url = sessionObj.url; // 请求地址 + const s_data = sessionObj.data; // 请求数据 + const s_time = sessionObj.time; // 请求时间 + const interval = 500; // 间隔时间(ms),小于此时间视为重复提交 + if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { + const message = '数据正在处理,请勿重复提交'; + console.warn(`[${s_url}]: ` + message); + return Promise.reject(new Error(message)); + } else { + cache.session.setJSON('sessionObj', requestObj); + } + } + } + if (import.meta.env.VITE_APP_ENCRYPT === 'true') { + // 当开启参数加密 + if (isEncrypt && (config.method === 'post' || config.method === 'put')) { + // 生成一个 AES 密钥 + const aesKey = generateAesKey(); + config.headers[encryptHeader] = encrypt(encryptBase64(aesKey)); + config.data = typeof config.data === 'object' ? encryptWithAes(JSON.stringify(config.data), aesKey) : encryptWithAes(config.data, aesKey); + } + } + // FormData数据去请求头Content-Type + if (config.data instanceof FormData) { + delete config.headers['Content-Type']; + } + return config; + }, + (error: any) => { + return Promise.reject(error); + } +); + +// 响应拦截器 +service.interceptors.response.use( + (res: AxiosResponse) => { + if (import.meta.env.VITE_APP_ENCRYPT === 'true') { + // 加密后的 AES 秘钥 + const keyStr = res.headers[encryptHeader]; + // 加密 + if (keyStr != null && keyStr != '') { + const data = res.data; + // 请求体 AES 解密 + const base64Str = decrypt(keyStr); + // base64 解码 得到请求头的 AES 秘钥 + const aesKey = decryptBase64(base64Str.toString()); + // aesKey 解码 data + const decryptData = decryptWithAes(data, aesKey); + // 将结果 (得到的是 JSON 字符串) 转为 JSON + res.data = JSON.parse(decryptData); + } + } + // 未设置状态码则默认成功状态 + const code = res.data.code || HttpStatus.SUCCESS; + // 获取错误信息 + const msg = errorCode[code] || res.data.msg || errorCode['default']; + // 二进制数据则直接返回 + if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { + return res.data; + } + if (code === 401) { + // prettier-ignore + if (!isRelogin.show) { + isRelogin.show = true; + ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + isRelogin.show = false; + useUserStore().logout().then(() => { + location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index'; + }); + }).catch(() => { + isRelogin.show = false; + }); + } + return Promise.reject('无效的会话,或者会话已过期,请重新登录。'); + } else if (code === HttpStatus.SERVER_ERROR) { + ElMessage({ message: msg, type: 'error' }); + return Promise.reject(new Error(msg)); + } else if (code === HttpStatus.WARN) { + ElMessage({ message: msg, type: 'warning' }); + return Promise.reject(new Error(msg)); + } else if (code !== HttpStatus.SUCCESS) { + ElNotification.error({ title: msg }); + return Promise.reject('error'); + } else { + return Promise.resolve(res.data); + } + }, + (error: any) => { + let { message } = error; + if (message == 'Network Error') { + message = '后端接口连接异常'; + } else if (message.includes('timeout')) { + message = '系统接口请求超时'; + } else if (message.includes('Request failed with status code')) { + message = '系统接口' + message.substr(message.length - 3) + '异常'; + } + ElMessage({ message: message, type: 'error', duration: 5 * 1000 }); + return Promise.reject(error); + } +); +// 通用下载方法 +export function download(url: string, params: any, fileName: string) { + downloadLoadingInstance = ElLoading.service({ text: '正在下载数据,请稍候', background: 'rgba(0, 0, 0, 0.7)' }); + // prettier-ignore + return service.post(url, params, { + transformRequest: [ + (params: any) => { + return tansParams(params); + } + ], + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + responseType: 'blob' + }).then(async (resp: any) => { + const isLogin = blobValidate(resp); + if (isLogin) { + const blob = new Blob([resp]); + FileSaver.saveAs(blob, fileName); + } else { + const resText = await resp.data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']; + ElMessage.error(errMsg); + } + downloadLoadingInstance.close(); + }).catch((r: any) => { + console.error(r); + ElMessage.error('下载文件出现错误,请联系管理员!'); + downloadLoadingInstance.close(); + }); +} +// 导出 axios 实例 +export default service; diff --git a/src/utils/ruoyi.ts b/src/utils/ruoyi.ts new file mode 100644 index 0000000..8efd12c --- /dev/null +++ b/src/utils/ruoyi.ts @@ -0,0 +1,251 @@ +// 日期格式化 +export function parseTime(time: any, pattern?: string) { + if (arguments.length === 0 || !time) { + return null; + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'; + let date; + if (typeof time === 'object') { + date = time; + } else { + if (typeof time === 'string' && /^[0-9]+$/.test(time)) { + time = parseInt(time); + } else if (typeof time === 'string') { + time = time + .replace(new RegExp(/-/gm), '/') + .replace('T', ' ') + .replace(new RegExp(/\.[\d]{3}/gm), ''); + } + if (typeof time === 'number' && time.toString().length === 10) { + time = time * 1000; + } + date = new Date(time); + } + const formatObj: { [key: string]: any } = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + }; + return format.replace(/{(y|m|d|h|i|s|a)+}/g, (result: string, key: string) => { + let value = formatObj[key]; + // Note: getDay() returns 0 on Sunday + if (key === 'a') { + return ['日', '一', '二', '三', '四', '五', '六'][value]; + } + if (result.length > 0 && value < 10) { + value = '0' + value; + } + return value || 0; + }); +} + +/** + * 添加日期范围 + * @param params + * @param dateRange + * @param propName + */ +export const addDateRange = (params: any, dateRange: any[], propName?: string) => { + const search = params; + search.params = typeof search.params === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {}; + dateRange = Array.isArray(dateRange) ? dateRange : []; + if (typeof propName === 'undefined') { + search.params['beginTime'] = dateRange[0]; + search.params['endTime'] = dateRange[1]; + } else { + search.params['begin' + propName] = dateRange[0]; + search.params['end' + propName] = dateRange[1]; + } + return search; +}; + +// 回显数据字典 +export const selectDictLabel = (datas: any, value: number | string) => { + if (value === undefined) { + return ''; + } + const actions: Array = []; + Object.keys(datas).some((key) => { + if (datas[key].value == '' + value) { + actions.push(datas[key].label); + return true; + } + }); + if (actions.length === 0) { + actions.push(value); + } + return actions.join(''); +}; + +// 回显数据字典(字符串数组) +export const selectDictLabels = (datas: any, value: any, separator: any) => { + if (value === undefined || value.length === 0) { + return ''; + } + if (Array.isArray(value)) { + value = value.join(','); + } + const actions: any[] = []; + const currentSeparator = undefined === separator ? ',' : separator; + const temp = value.split(currentSeparator); + Object.keys(value.split(currentSeparator)).some((val) => { + let match = false; + Object.keys(datas).some((key) => { + if (datas[key].value == '' + temp[val]) { + actions.push(datas[key].label + currentSeparator); + match = true; + } + }); + if (!match) { + actions.push(temp[val] + currentSeparator); + } + }); + return actions.join('').substring(0, actions.join('').length - 1); +}; + +// 字符串格式化(%s ) +export function sprintf(str: string) { + if (arguments.length !== 0) { + let flag = true, + i = 1; + str = str.replace(/%s/g, function () { + const arg = arguments[i++]; + if (typeof arg === 'undefined') { + flag = false; + return ''; + } + return arg; + }); + return flag ? str : ''; + } +} + +// 转换字符串,undefined,null等转化为"" +export const parseStrEmpty = (str: any) => { + if (!str || str == 'undefined' || str == 'null') { + return ''; + } + return str; +}; + +// 数据合并 +export const mergeRecursive = (source: any, target: any) => { + for (const p in target) { + try { + if (target[p].constructor == Object) { + source[p] = mergeRecursive(source[p], target[p]); + } else { + source[p] = target[p]; + } + } catch (e) { + source[p] = target[p]; + } + } + return source; +}; + +/** + * 构造树型结构数据 + * @param {*} data 数据源 + * @param {*} id id字段 默认 'id' + * @param {*} parentId 父节点字段 默认 'parentId' + * @param {*} children 孩子节点字段 默认 'children' + */ +export const handleTree = (data: any[], id?: string, parentId?: string, children?: string): T[] => { + const config: { + id: string; + parentId: string; + childrenList: string; + } = { + id: id || 'id', + parentId: parentId || 'parentId', + childrenList: children || 'children' + }; + + const childrenListMap: any = {}; + const nodeIds: any = {}; + const tree: T[] = []; + + for (const d of data) { + const parentId = d[config.parentId]; + if (childrenListMap[parentId] == null) { + childrenListMap[parentId] = []; + } + nodeIds[d[config.id]] = d; + childrenListMap[parentId].push(d); + } + + for (const d of data) { + const parentId = d[config.parentId]; + if (nodeIds[parentId] == null) { + tree.push(d); + } + } + const adaptToChildrenList = (o: any) => { + if (childrenListMap[o[config.id]] !== null) { + o[config.childrenList] = childrenListMap[o[config.id]]; + } + if (o[config.childrenList]) { + for (const c of o[config.childrenList]) { + adaptToChildrenList(c); + } + } + }; + + for (const t of tree) { + adaptToChildrenList(t); + } + + return tree; +}; + +/** + * 参数处理 + * @param {*} params 参数 + */ +export const tansParams = (params: any) => { + let result = ''; + for (const propName of Object.keys(params)) { + const value = params[propName]; + const part = encodeURIComponent(propName) + '='; + if (value !== null && value !== '' && typeof value !== 'undefined') { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + if (value[key] !== null && value[key] !== '' && typeof value[key] !== 'undefined') { + const params = propName + '[' + key + ']'; + const subPart = encodeURIComponent(params) + '='; + result += subPart + encodeURIComponent(value[key]) + '&'; + } + } + } else { + result += part + encodeURIComponent(value) + '&'; + } + } + } + return result; +}; + +// 返回项目路径 +export const getNormalPath = (p: string): string => { + if (p.length === 0 || !p || p === 'undefined') { + return p; + } + const res = p.replace('//', '/'); + if (res[res.length - 1] === '/') { + return res.slice(0, res.length - 1); + } + return res; +}; + +// 验证是否为blob格式 +export const blobValidate = (data: any) => { + return data.type !== 'application/json'; +}; + +export default { + handleTree +}; diff --git a/src/utils/scroll-to.ts b/src/utils/scroll-to.ts new file mode 100644 index 0000000..c2fa379 --- /dev/null +++ b/src/utils/scroll-to.ts @@ -0,0 +1,65 @@ +const easeInOutQuad = (t: number, b: number, c: number, d: number) => { + t /= d / 2; + if (t < 1) { + return (c / 2) * t * t + b; + } + t--; + return (-c / 2) * (t * (t - 2) - 1) + b; +}; + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +const requestAnimFrame = (function () { + return ( + window.requestAnimationFrame || + (window as any).webkitRequestAnimationFrame || + (window as any).mozRequestAnimationFrame || + function (callback) { + window.setTimeout(callback, 1000 / 60); + } + ); +})(); + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +const move = (amount: number) => { + document.documentElement.scrollTop = amount; + (document.body.parentNode as HTMLElement).scrollTop = amount; + document.body.scrollTop = amount; +}; + +const position = () => { + return document.documentElement.scrollTop || (document.body.parentNode as HTMLElement).scrollTop || document.body.scrollTop; +}; + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export const scrollTo = (to: number, duration: number, callback?: any) => { + const start = position(); + const change = to - start; + const increment = 20; + let currentTime = 0; + duration = typeof duration === 'undefined' ? 500 : duration; + const animateScroll = function () { + // increment the time + currentTime += increment; + // find the value with the quadratic in-out easing function + const val = easeInOutQuad(currentTime, start, change, duration); + // move the document.body + move(val); + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll); + } else { + if (callback && typeof callback === 'function') { + // the animation is done so lets callback + callback(); + } + } + }; + animateScroll(); +}; diff --git a/src/utils/theme.ts b/src/utils/theme.ts new file mode 100644 index 0000000..3936248 --- /dev/null +++ b/src/utils/theme.ts @@ -0,0 +1,52 @@ +// 处理主题样式 +export const handleThemeStyle = (theme: string) => { + document.documentElement.style.setProperty('--el-color-primary', theme); + for (let i = 1; i <= 9; i++) { + document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, `${getLightColor(theme, i / 10)}`); + } + for (let i = 1; i <= 9; i++) { + document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, `${getDarkColor(theme, i / 10)}`); + } +}; + +// hex颜色转rgb颜色 +export const hexToRgb = (str: string): string[] => { + str = str.replace('#', ''); + const hexs = str.match(/../g); + for (let i = 0; i < 3; i++) { + if (hexs) { + hexs[i] = String(parseInt(hexs[i], 16)); + } + } + return hexs ? hexs : []; +}; + +// rgb颜色转Hex颜色 +export const rgbToHex = (r: string, g: string, b: string) => { + const hexs = [Number(r).toString(16), Number(g).toString(16), Number(b).toString(16)]; + for (let i = 0; i < 3; i++) { + if (hexs[i].length == 1) { + hexs[i] = `0${hexs[i]}`; + } + } + return `#${hexs.join('')}`; +}; + +// 变浅颜色值 +export const getLightColor = (color: string, level: number) => { + const rgb = hexToRgb(color); + for (let i = 0; i < 3; i++) { + const s = (255 - Number(rgb[i])) * level + Number(rgb[i]); + rgb[i] = String(Math.floor(s)); + } + return rgbToHex(rgb[0], rgb[1], rgb[2]); +}; + +// 变深颜色值 +export const getDarkColor = (color: string, level: number) => { + const rgb = hexToRgb(color); + for (let i = 0; i < 3; i++) { + rgb[i] = String(Math.floor(Number(rgb[i]) * (1 - level))); + } + return rgbToHex(rgb[0], rgb[1], rgb[2]); +}; diff --git a/src/utils/validate.ts b/src/utils/validate.ts new file mode 100644 index 0000000..4d57894 --- /dev/null +++ b/src/utils/validate.ts @@ -0,0 +1,92 @@ +/** + * 判断url是否是http或https + * @returns {Boolean} + * @param url + */ +export const isHttp = (url: string): boolean => { + return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1; +}; + +/** + * 判断path是否为外链 + * @param {string} path + * @returns {Boolean} + */ +export const isExternal = (path: string) => { + return /^(https?:|mailto:|tel:)/.test(path); +}; + +/** + * @param {string} str + * @returns {Boolean} + */ +export const validUsername = (str: string) => { + const valid_map = ['admin', 'editor']; + return valid_map.indexOf(str.trim()) >= 0; +}; + +/** + * @param {string} url + * @returns {Boolean} + */ +export const validURL = (url: string) => { + const reg = + /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/; + return reg.test(url); +}; + +/** + * @param {string} str + * @returns {Boolean} + */ +export const validLowerCase = (str: string) => { + const reg = /^[a-z]+$/; + return reg.test(str); +}; + +/** + * @param {string} str + * @returns {Boolean} + */ +export const validUpperCase = (str: string) => { + const reg = /^[A-Z]+$/; + return reg.test(str); +}; + +/** + * @param {string} str + * @returns {Boolean} + */ +export const validAlphabets = (str: string) => { + const reg = /^[A-Za-z]+$/; + return reg.test(str); +}; + +/** + * @param {string} email + * @returns {Boolean} + */ +export const validEmail = (email: string) => { + const reg = + /^(([^<>()\]\\.,;:\s@"]+(\.[^<>()\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return reg.test(email); +}; + +/** + * @param {string} str + * @returns {Boolean} + */ +export const isString = (str: any) => { + return typeof str === 'string' || str instanceof String; +}; + +/** + * @param {Array} arg + * @returns {Boolean} + */ +export const isArray = (arg: string | string[]) => { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]'; + } + return Array.isArray(arg); +}; diff --git a/src/utils/websocket.ts b/src/utils/websocket.ts new file mode 100644 index 0000000..d4dd8a8 --- /dev/null +++ b/src/utils/websocket.ts @@ -0,0 +1,139 @@ +/** + * @module initWebSocket 初始化 + * @module websocketonopen 连接成功 + * @module websocketonerror 连接失败 + * @module websocketclose 断开连接 + * @module resetHeart 重置心跳 + * @module sendSocketHeart 心跳发送 + * @module reconnect 重连 + * @module sendMsg 发送数据 + * @module websocketonmessage 接收数据 + * @module test 测试收到消息传递 + * @description socket 通信 + * @param {any} url socket地址 + * @param {any} websocket websocket 实例 + * @param {any} heartTime 心跳定时器实例 + * @param {number} socketHeart 心跳次数 + * @param {number} HeartTimeOut 心跳超时时间 + * @param {number} socketError 错误次数 + */ + +import { getToken } from '@/utils/auth'; +import { ElNotification } from 'element-plus'; +import useNoticeStore from '@/store/modules/notice'; + +let socketUrl: any = ''; // socket地址 +let websocket: any = null; // websocket 实例 +let heartTime: any = null; // 心跳定时器实例 +let socketHeart = 0 as number; // 心跳次数 +const HeartTimeOut = 10000; // 心跳超时时间 10000 = 10s +let socketError = 0 as number; // 错误次数 + +// 初始化socket +export const initWebSocket = (url: any) => { + if (import.meta.env.VITE_APP_WEBSOCKET === 'false') { + return; + } + socketUrl = url; + // 初始化 websocket + websocket = new WebSocket(url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID); + websocketonopen(); + websocketonmessage(); + websocketonerror(); + websocketclose(); + sendSocketHeart(); + return websocket; +}; + +// socket 连接成功 +export const websocketonopen = () => { + websocket.onopen = function () { + console.log('连接 websocket 成功'); + resetHeart(); + }; +}; + +// socket 连接失败 +export const websocketonerror = () => { + websocket.onerror = function (e: any) { + console.log('连接 websocket 失败', e); + }; +}; + +// socket 断开链接 +export const websocketclose = () => { + websocket.onclose = function (e: any) { + console.log('断开连接', e); + }; +}; + +// socket 重置心跳 +export const resetHeart = () => { + socketHeart = 0; + socketError = 0; + clearInterval(heartTime); + sendSocketHeart(); +}; + +// socket心跳发送 +export const sendSocketHeart = () => { + heartTime = setInterval(() => { + // 如果连接正常则发送心跳 + if (websocket.readyState == 1) { + // if (socketHeart <= 30) { + websocket.send( + JSON.stringify({ + type: 'ping' + }) + ); + socketHeart = socketHeart + 1; + } else { + // 重连 + reconnect(); + } + }, HeartTimeOut); +}; + +// socket重连 +export const reconnect = () => { + if (socketError <= 2) { + clearInterval(heartTime); + initWebSocket(socketUrl); + socketError = socketError + 1; + // eslint-disable-next-line prettier/prettier + console.log('socket重连', socketError); + } else { + // eslint-disable-next-line prettier/prettier + console.log('重试次数已用完'); + clearInterval(heartTime); + } +}; + +// socket 发送数据 +export const sendMsg = (data: any) => { + websocket.send(data); +}; + +// socket 接收数据 +export const websocketonmessage = () => { + websocket.onmessage = function (e: any) { + if (e.data.indexOf('heartbeat') > 0) { + resetHeart(); + } + if (e.data.indexOf('ping') > 0) { + return; + } + useNoticeStore().addNotice({ + message: e.data, + read: false, + time: new Date().toLocaleString() + }); + ElNotification({ + title: '消息', + message: e.data, + type: 'success', + duration: 3000 + }); + return e.data; + }; +}; diff --git a/src/views/demo/demo/index.vue b/src/views/demo/demo/index.vue new file mode 100644 index 0000000..523deff --- /dev/null +++ b/src/views/demo/demo/index.vue @@ -0,0 +1,254 @@ + + + diff --git a/src/views/demo/tree/index.vue b/src/views/demo/tree/index.vue new file mode 100644 index 0000000..921ddd9 --- /dev/null +++ b/src/views/demo/tree/index.vue @@ -0,0 +1,258 @@ + + + diff --git a/src/views/error/401.vue b/src/views/error/401.vue new file mode 100644 index 0000000..968550c --- /dev/null +++ b/src/views/error/401.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/views/error/404.vue b/src/views/error/404.vue new file mode 100644 index 0000000..b9a9ea3 --- /dev/null +++ b/src/views/error/404.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/src/views/index.vue b/src/views/index.vue new file mode 100644 index 0000000..249a41b --- /dev/null +++ b/src/views/index.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/src/views/login.vue b/src/views/login.vue new file mode 100644 index 0000000..7e1394e --- /dev/null +++ b/src/views/login.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/src/views/monitor/admin/index.vue b/src/views/monitor/admin/index.vue new file mode 100644 index 0000000..04c63b5 --- /dev/null +++ b/src/views/monitor/admin/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/views/monitor/cache/index.vue b/src/views/monitor/cache/index.vue new file mode 100644 index 0000000..81bbf2d --- /dev/null +++ b/src/views/monitor/cache/index.vue @@ -0,0 +1,192 @@ + + + diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue new file mode 100644 index 0000000..27c0a85 --- /dev/null +++ b/src/views/monitor/logininfor/index.vue @@ -0,0 +1,208 @@ + + + diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue new file mode 100644 index 0000000..eb12364 --- /dev/null +++ b/src/views/monitor/online/index.vue @@ -0,0 +1,116 @@ + + + diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue new file mode 100644 index 0000000..1442984 --- /dev/null +++ b/src/views/monitor/operlog/index.vue @@ -0,0 +1,305 @@ + + + diff --git a/src/views/monitor/snailjob/index.vue b/src/views/monitor/snailjob/index.vue new file mode 100644 index 0000000..89e3b23 --- /dev/null +++ b/src/views/monitor/snailjob/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/src/views/redirect/index.vue b/src/views/redirect/index.vue new file mode 100644 index 0000000..97a6556 --- /dev/null +++ b/src/views/redirect/index.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/views/register.vue b/src/views/register.vue new file mode 100644 index 0000000..c3d1930 --- /dev/null +++ b/src/views/register.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/src/views/system/client/index.vue b/src/views/system/client/index.vue new file mode 100644 index 0000000..af8696b --- /dev/null +++ b/src/views/system/client/index.vue @@ -0,0 +1,316 @@ + + + diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue new file mode 100644 index 0000000..138068e --- /dev/null +++ b/src/views/system/config/index.vue @@ -0,0 +1,261 @@ + + + diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue new file mode 100644 index 0000000..71aeff1 --- /dev/null +++ b/src/views/system/dept/index.vue @@ -0,0 +1,319 @@ + + + diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue new file mode 100644 index 0000000..33c7fc8 --- /dev/null +++ b/src/views/system/dict/data.vue @@ -0,0 +1,309 @@ + + + diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue new file mode 100644 index 0000000..d44a04a --- /dev/null +++ b/src/views/system/dict/index.vue @@ -0,0 +1,246 @@ + + + diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue new file mode 100644 index 0000000..9e5b5c3 --- /dev/null +++ b/src/views/system/menu/index.vue @@ -0,0 +1,410 @@ + + + diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue new file mode 100644 index 0000000..7d4bbe0 --- /dev/null +++ b/src/views/system/notice/index.vue @@ -0,0 +1,243 @@ + + + diff --git a/src/views/system/oss/config.vue b/src/views/system/oss/config.vue new file mode 100644 index 0000000..41766f6 --- /dev/null +++ b/src/views/system/oss/config.vue @@ -0,0 +1,334 @@ + + + diff --git a/src/views/system/oss/index.vue b/src/views/system/oss/index.vue new file mode 100644 index 0000000..a2f1f1b --- /dev/null +++ b/src/views/system/oss/index.vue @@ -0,0 +1,332 @@ + + + diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue new file mode 100644 index 0000000..49b735b --- /dev/null +++ b/src/views/system/post/index.vue @@ -0,0 +1,360 @@ + + + diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue new file mode 100644 index 0000000..6394804 --- /dev/null +++ b/src/views/system/role/authUser.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue new file mode 100644 index 0000000..bd84af3 --- /dev/null +++ b/src/views/system/role/index.vue @@ -0,0 +1,502 @@ + + + diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue new file mode 100644 index 0000000..ec7a257 --- /dev/null +++ b/src/views/system/role/selectUser.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/views/system/tenant/index.vue b/src/views/system/tenant/index.vue new file mode 100644 index 0000000..fabe18d --- /dev/null +++ b/src/views/system/tenant/index.vue @@ -0,0 +1,349 @@ + + + diff --git a/src/views/system/tenantPackage/index.vue b/src/views/system/tenantPackage/index.vue new file mode 100644 index 0000000..55cc7d7 --- /dev/null +++ b/src/views/system/tenantPackage/index.vue @@ -0,0 +1,335 @@ + + + diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue new file mode 100644 index 0000000..87d2334 --- /dev/null +++ b/src/views/system/user/authRole.vue @@ -0,0 +1,139 @@ + + + diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue new file mode 100644 index 0000000..c1bdcf9 --- /dev/null +++ b/src/views/system/user/index.vue @@ -0,0 +1,659 @@ + + + + + diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue new file mode 100644 index 0000000..426fca8 --- /dev/null +++ b/src/views/system/user/profile/index.vue @@ -0,0 +1,122 @@ + + + diff --git a/src/views/system/user/profile/onlineDevice.vue b/src/views/system/user/profile/onlineDevice.vue new file mode 100644 index 0000000..8da96f6 --- /dev/null +++ b/src/views/system/user/profile/onlineDevice.vue @@ -0,0 +1,59 @@ + + + diff --git a/src/views/system/user/profile/resetPwd.vue b/src/views/system/user/profile/resetPwd.vue new file mode 100644 index 0000000..6d536da --- /dev/null +++ b/src/views/system/user/profile/resetPwd.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/system/user/profile/thirdParty.vue b/src/views/system/user/profile/thirdParty.vue new file mode 100644 index 0000000..40daa86 --- /dev/null +++ b/src/views/system/user/profile/thirdParty.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue new file mode 100644 index 0000000..32b6f5c --- /dev/null +++ b/src/views/system/user/profile/userAvatar.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue new file mode 100644 index 0000000..d5b8a4c --- /dev/null +++ b/src/views/system/user/profile/userInfo.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/views/tool/build/index.vue b/src/views/tool/build/index.vue new file mode 100644 index 0000000..ef0c079 --- /dev/null +++ b/src/views/tool/build/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/tool/gen/basicInfoForm.vue b/src/views/tool/gen/basicInfoForm.vue new file mode 100644 index 0000000..5412088 --- /dev/null +++ b/src/views/tool/gen/basicInfoForm.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/views/tool/gen/editTable.vue b/src/views/tool/gen/editTable.vue new file mode 100644 index 0000000..bbb0889 --- /dev/null +++ b/src/views/tool/gen/editTable.vue @@ -0,0 +1,198 @@ + + + diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue new file mode 100644 index 0000000..0ee9f1d --- /dev/null +++ b/src/views/tool/gen/genInfoForm.vue @@ -0,0 +1,295 @@ + + + diff --git a/src/views/tool/gen/importTable.vue b/src/views/tool/gen/importTable.vue new file mode 100644 index 0000000..50ec0ee --- /dev/null +++ b/src/views/tool/gen/importTable.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue new file mode 100644 index 0000000..2618a20 --- /dev/null +++ b/src/views/tool/gen/index.vue @@ -0,0 +1,254 @@ + + + diff --git a/src/views/workflow/category/index.vue b/src/views/workflow/category/index.vue new file mode 100644 index 0000000..fd3bfc5 --- /dev/null +++ b/src/views/workflow/category/index.vue @@ -0,0 +1,263 @@ + + + diff --git a/src/views/workflow/formManage/index.vue b/src/views/workflow/formManage/index.vue new file mode 100644 index 0000000..5057b3a --- /dev/null +++ b/src/views/workflow/formManage/index.vue @@ -0,0 +1,243 @@ + + + diff --git a/src/views/workflow/leave/index.vue b/src/views/workflow/leave/index.vue new file mode 100644 index 0000000..23d5442 --- /dev/null +++ b/src/views/workflow/leave/index.vue @@ -0,0 +1,251 @@ + + + diff --git a/src/views/workflow/leave/leaveEdit.vue b/src/views/workflow/leave/leaveEdit.vue new file mode 100644 index 0000000..e978ad8 --- /dev/null +++ b/src/views/workflow/leave/leaveEdit.vue @@ -0,0 +1,273 @@ + + + diff --git a/src/views/workflow/model/index.vue b/src/views/workflow/model/index.vue new file mode 100644 index 0000000..e83cd94 --- /dev/null +++ b/src/views/workflow/model/index.vue @@ -0,0 +1,383 @@ + + + diff --git a/src/views/workflow/processDefinition/components/processPreview.vue b/src/views/workflow/processDefinition/components/processPreview.vue new file mode 100644 index 0000000..19a95df --- /dev/null +++ b/src/views/workflow/processDefinition/components/processPreview.vue @@ -0,0 +1,45 @@ + + + diff --git a/src/views/workflow/processDefinition/index.vue b/src/views/workflow/processDefinition/index.vue new file mode 100644 index 0000000..1dacb80 --- /dev/null +++ b/src/views/workflow/processDefinition/index.vue @@ -0,0 +1,517 @@ + + + diff --git a/src/views/workflow/processInstance/index.vue b/src/views/workflow/processInstance/index.vue new file mode 100644 index 0000000..4f994af --- /dev/null +++ b/src/views/workflow/processInstance/index.vue @@ -0,0 +1,361 @@ + + + diff --git a/src/views/workflow/task/allTaskWaiting.vue b/src/views/workflow/task/allTaskWaiting.vue new file mode 100644 index 0000000..fe530b8 --- /dev/null +++ b/src/views/workflow/task/allTaskWaiting.vue @@ -0,0 +1,286 @@ + + + diff --git a/src/views/workflow/task/myDocument.vue b/src/views/workflow/task/myDocument.vue new file mode 100644 index 0000000..e8592f8 --- /dev/null +++ b/src/views/workflow/task/myDocument.vue @@ -0,0 +1,261 @@ + + + diff --git a/src/views/workflow/task/taskCopyList.vue b/src/views/workflow/task/taskCopyList.vue new file mode 100644 index 0000000..7784a08 --- /dev/null +++ b/src/views/workflow/task/taskCopyList.vue @@ -0,0 +1,150 @@ + + + diff --git a/src/views/workflow/task/taskFinish.vue b/src/views/workflow/task/taskFinish.vue new file mode 100644 index 0000000..155bd4f --- /dev/null +++ b/src/views/workflow/task/taskFinish.vue @@ -0,0 +1,136 @@ + + + diff --git a/src/views/workflow/task/taskWaiting.vue b/src/views/workflow/task/taskWaiting.vue new file mode 100644 index 0000000..dc6546a --- /dev/null +++ b/src/views/workflow/task/taskWaiting.vue @@ -0,0 +1,149 @@ + + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e4bf3ac --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", +// "useDefineForClassFields": true, + "moduleResolution": "bundler", + "strict": true, + "jsx": "preserve", + "strictNullChecks": false, + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "strictFunctionTypes": false, + "lib": ["esnext", "dom"], + "noImplicitAny": false, + "baseUrl": ".", + "allowJs": true, + "experimentalDecorators": true, + "paths": { + "@/*": ["src/*"] + }, + "compilerOptions": { + "types": ["element-plus/global"] + }, + "types": ["vite/client"], + "skipLibCheck": true, + "removeComments": true, + // 允许默认导入 + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true + }, + "include": ["src/**/*.ts", "src/**/*.vue", "src/types/**/*.d.ts", "vite.config.ts"], + "exclude": ["node_modules", "dist", "**/*.js", "**/*.md", "src/**/*.md"] +} diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 0000000..0c60a22 --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,33 @@ +import { + defineConfig, + presetAttributify, + presetIcons, + presetTypography, + presetUno, + presetWebFonts, + transformerDirectives, + transformerVariantGroup +} from 'unocss'; + +export default defineConfig({ + shortcuts: { + 'panel-title': + 'pb-[5px] font-sans leading-[1.1] font-medium text-base text-[#6379bb] border-b border-b-solid border-[var(--el-border-color-light)] mb-5 mt-0' + }, + theme: { + colors: { + primary: 'var(--el-color-primary)', + primary_dark: 'var(--el-color-primary-light-5)' + } + }, + presets: [ + presetUno(), + presetAttributify(), + presetIcons(), + presetTypography(), + presetWebFonts({ + fonts: {} + }) + ], + transformers: [transformerDirectives(), transformerVariantGroup()] +}); diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..eea111e --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,137 @@ +import { UserConfig, ConfigEnv, loadEnv, defineConfig } from 'vite'; + +import createPlugins from './vite/plugins'; + +import path from 'path'; +export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => { + const env = loadEnv(mode, process.cwd()); + return { + // 部署生产环境和开发环境下的URL。 + // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 + base: env.VITE_APP_CONTEXT_PATH, + resolve: { + alias: { + '~': path.resolve(__dirname, './'), + '@': path.resolve(__dirname, './src') + }, + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] + }, + // https://cn.vitejs.dev/config/#resolve-extensions + plugins: createPlugins(env, command === 'build'), + server: { + host: '0.0.0.0', + port: Number(env.VITE_APP_PORT), + open: true, + proxy: { + [env.VITE_APP_BASE_API]: { + target: 'http://localhost:8080', + changeOrigin: true, + ws: true, + rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '') + } + } + }, + css: { + preprocessorOptions: { + scss: { + javascriptEnabled: true + } + }, + postcss: { + plugins: [ + { + postcssPlugin: 'internal:charset-removal', + AtRule: { + charset: (atRule) => { + if (atRule.name === 'charset') { + atRule.remove(); + } + } + } + } + ] + } + }, + // 预编译 + optimizeDeps: { + include: [ + 'vue', + 'vue-router', + 'pinia', + 'axios', + '@vueuse/core', + 'path-to-regexp', + 'echarts', + 'vue-i18n', + '@vueup/vue-quill', + 'bpmn-js/lib/Viewer', + 'bpmn-js/lib/Modeler.js', + 'bpmn-js-properties-panel', + 'min-dash', + 'diagram-js/lib/navigation/movecanvas', + 'diagram-js/lib/navigation/zoomscroll', + 'bpmn-js/lib/features/palette/PaletteProvider', + 'bpmn-js/lib/features/context-pad/ContextPadProvider', + 'diagram-js/lib/draw/BaseRenderer', + 'tiny-svg', + 'image-conversion', + + 'element-plus/es/components/text/style/css', + 'element-plus/es/components/collapse-item/style/css', + 'element-plus/es/components/collapse/style/css', + 'element-plus/es/components/space/style/css', + 'element-plus/es/components/container/style/css', + 'element-plus/es/components/aside/style/css', + 'element-plus/es/components/main/style/css', + 'element-plus/es/components/header/style/css', + 'element-plus/es/components/button-group/style/css', + 'element-plus/es/components/radio-button/style/css', + 'element-plus/es/components/checkbox-group/style/css', + 'element-plus/es/components/form/style/css', + 'element-plus/es/components/form-item/style/css', + 'element-plus/es/components/button/style/css', + 'element-plus/es/components/input/style/css', + 'element-plus/es/components/input-number/style/css', + 'element-plus/es/components/switch/style/css', + 'element-plus/es/components/upload/style/css', + 'element-plus/es/components/menu/style/css', + 'element-plus/es/components/col/style/css', + 'element-plus/es/components/icon/style/css', + 'element-plus/es/components/row/style/css', + 'element-plus/es/components/tag/style/css', + 'element-plus/es/components/dialog/style/css', + 'element-plus/es/components/loading/style/css', + 'element-plus/es/components/radio/style/css', + 'element-plus/es/components/radio-group/style/css', + 'element-plus/es/components/popover/style/css', + 'element-plus/es/components/scrollbar/style/css', + 'element-plus/es/components/tooltip/style/css', + 'element-plus/es/components/dropdown/style/css', + 'element-plus/es/components/dropdown-menu/style/css', + 'element-plus/es/components/dropdown-item/style/css', + 'element-plus/es/components/sub-menu/style/css', + 'element-plus/es/components/menu-item/style/css', + 'element-plus/es/components/divider/style/css', + 'element-plus/es/components/card/style/css', + 'element-plus/es/components/link/style/css', + 'element-plus/es/components/breadcrumb/style/css', + 'element-plus/es/components/breadcrumb-item/style/css', + 'element-plus/es/components/table/style/css', + 'element-plus/es/components/tree-select/style/css', + 'element-plus/es/components/table-column/style/css', + 'element-plus/es/components/select/style/css', + 'element-plus/es/components/option/style/css', + 'element-plus/es/components/pagination/style/css', + 'element-plus/es/components/tree/style/css', + 'element-plus/es/components/alert/style/css', + 'element-plus/es/components/checkbox/style/css', + 'element-plus/es/components/date-picker/style/css', + 'element-plus/es/components/transfer/style/css', + 'element-plus/es/components/tabs/style/css', + 'element-plus/es/components/image/style/css', + 'element-plus/es/components/tab-pane/style/css' + ] + } + }; +}); diff --git a/vite/plugins/auto-import.ts b/vite/plugins/auto-import.ts new file mode 100644 index 0000000..072ef61 --- /dev/null +++ b/vite/plugins/auto-import.ts @@ -0,0 +1,24 @@ +import AutoImport from 'unplugin-auto-import/vite'; +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; +import IconsResolver from 'unplugin-icons/resolver'; + +export default (path: any) => { + return AutoImport({ + // 自动导入 Vue 相关函数 + imports: ['vue', 'vue-router', '@vueuse/core', 'pinia'], + eslintrc: { + enabled: false, + filepath: './.eslintrc-auto-import.json', + globalsPropValue: true + }, + resolvers: [ + // 自动导入 Element Plus 相关函数ElMessage, ElMessageBox... (带样式) + ElementPlusResolver(), + IconsResolver({ + prefix: 'Icon' + }) + ], + vueTemplate: true, // 是否在 vue 模板中自动导入 + dts: path.resolve(path.resolve(__dirname, '../../src'), 'types', 'auto-imports.d.ts') + }); +}; diff --git a/vite/plugins/components.ts b/vite/plugins/components.ts new file mode 100644 index 0000000..336f5cf --- /dev/null +++ b/vite/plugins/components.ts @@ -0,0 +1,17 @@ +import Components from 'unplugin-vue-components/vite'; +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; +import IconsResolver from 'unplugin-icons/resolver'; + +export default (path: any) => { + return Components({ + resolvers: [ + // 自动导入 Element Plus 组件 + ElementPlusResolver(), + // 自动注册图标组件 + IconsResolver({ + enabledCollections: ['ep'] + }) + ], + dts: path.resolve(path.resolve(__dirname, '../../src'), 'types', 'components.d.ts') + }); +}; diff --git a/vite/plugins/compression.ts b/vite/plugins/compression.ts new file mode 100644 index 0000000..aa8c779 --- /dev/null +++ b/vite/plugins/compression.ts @@ -0,0 +1,28 @@ +import compression from 'vite-plugin-compression'; + +export default (env: any) => { + const { VITE_BUILD_COMPRESS } = env; + const plugin: any[] = []; + if (VITE_BUILD_COMPRESS) { + const compressList = VITE_BUILD_COMPRESS.split(','); + if (compressList.includes('gzip')) { + // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 + plugin.push( + compression({ + ext: '.gz', + deleteOriginFile: false + }) + ); + } + if (compressList.includes('brotli')) { + plugin.push( + compression({ + ext: '.br', + algorithm: 'brotliCompress', + deleteOriginFile: false + }) + ); + } + } + return plugin; +}; diff --git a/vite/plugins/i18n.ts b/vite/plugins/i18n.ts new file mode 100644 index 0000000..8777d1a --- /dev/null +++ b/vite/plugins/i18n.ts @@ -0,0 +1,6 @@ +import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'; +export default (path: any) => { + return VueI18nPlugin({ + include: [path.resolve(__dirname, '../../src/lang/**.json')] + }); +}; diff --git a/vite/plugins/icons.ts b/vite/plugins/icons.ts new file mode 100644 index 0000000..883f230 --- /dev/null +++ b/vite/plugins/icons.ts @@ -0,0 +1,8 @@ +import Icons from 'unplugin-icons/vite'; + +export default () => { + return Icons({ + // 自动安装图标库 + autoInstall: true + }); +}; diff --git a/vite/plugins/index.ts b/vite/plugins/index.ts new file mode 100644 index 0000000..0ec5b8d --- /dev/null +++ b/vite/plugins/index.ts @@ -0,0 +1,24 @@ +import vue from '@vitejs/plugin-vue'; +import createUnoCss from './unocss'; +import createAutoImport from './auto-import'; +import createComponents from './components'; +import createIcons from './icons'; +import createSvgIconsPlugin from './svg-icon'; +import createCompression from './compression'; +import createSetupExtend from './setup-extend'; +import createI18n from './i18n'; +import path from 'path'; + +export default (viteEnv: any, isBuild = false): [] => { + const vitePlugins: any = []; + vitePlugins.push(vue()); + vitePlugins.push(createUnoCss()); + vitePlugins.push(createAutoImport(path)); + vitePlugins.push(createComponents(path)); + vitePlugins.push(createCompression(viteEnv)); + vitePlugins.push(createIcons()); + vitePlugins.push(createSvgIconsPlugin(path, isBuild)); + vitePlugins.push(createSetupExtend()); + vitePlugins.push(createI18n(path)); + return vitePlugins; +}; diff --git a/vite/plugins/setup-extend.ts b/vite/plugins/setup-extend.ts new file mode 100644 index 0000000..ed3423f --- /dev/null +++ b/vite/plugins/setup-extend.ts @@ -0,0 +1,5 @@ +import setupExtend from 'unplugin-vue-setup-extend-plus/vite'; + +export default () => { + return setupExtend({}); +}; diff --git a/vite/plugins/svg-icon.ts b/vite/plugins/svg-icon.ts new file mode 100644 index 0000000..70296da --- /dev/null +++ b/vite/plugins/svg-icon.ts @@ -0,0 +1,10 @@ +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; +export default (path: any, isBuild: boolean) => { + return createSvgIconsPlugin({ + // 指定需要缓存的图标文件夹 + iconDirs: [path.resolve(path.resolve(__dirname, '../../src'), 'assets/icons/svg')], + // 指定symbolId格式 + symbolId: 'icon-[dir]-[name]', + svgoOptions: isBuild + }); +}; diff --git a/vite/plugins/unocss.ts b/vite/plugins/unocss.ts new file mode 100644 index 0000000..08e186b --- /dev/null +++ b/vite/plugins/unocss.ts @@ -0,0 +1,7 @@ +import UnoCss from 'unocss/vite'; + +export default () => { + return UnoCss({ + hmrTopLevelAwait: false // unocss默认是true,低版本浏览器是不支持的,启动后会报错 + }); +};