heimawl
2023-06-02 4de052a45e3b18f4bb3316079f5d4bcaae04e30b
吴龙分支初始提交
已删除3个文件
已添加3个文件
已重命名429个文件
1178 ■■■■■ 文件已修改
.editorconfig 补丁 | 查看 | 原始文档 | blame | 历史
.env.development 补丁 | 查看 | 原始文档 | blame | 历史
.env.production 补丁 | 查看 | 原始文档 | blame | 历史
.env.staging 补丁 | 查看 | 原始文档 | blame | 历史
.eslintignore 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc.js 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore 补丁 | 查看 | 原始文档 | blame | 历史
README.md 补丁 | 查看 | 原始文档 | blame | 历史
babel.config.js 补丁 | 查看 | 原始文档 | blame | 历史
bin/build.bat 补丁 | 查看 | 原始文档 | blame | 历史
bin/fix.txt 补丁 | 查看 | 原始文档 | blame | 历史
bin/package.bat 补丁 | 查看 | 原始文档 | blame | 历史
bin/run-web.bat 补丁 | 查看 | 原始文档 | blame | 历史
build/index.js 补丁 | 查看 | 原始文档 | blame | 历史
package.json 补丁 | 查看 | 原始文档 | blame | 历史
public/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
public/html/ie.html 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html 补丁 | 查看 | 原始文档 | blame | 历史
public/robots.txt 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/layout/components/Settings/index.vue 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/layout/components/Sidebar/Logo.vue 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/layout/components/Sidebar/index.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/api/login.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/menu.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/cache.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/job.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/jobLog.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/logininfor.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/online.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/operlog.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/monitor/server.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/hecategory.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/helibrary.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrexecuteconfig.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrextemplate.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrextemplatescript.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrflow.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrflownode.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrflownodebranch.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrglobalconfig.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrintent.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrlibascript.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrlibintent.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrlibintentcategory.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrlibscript.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrlibscriptcategory.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrlibscriptmodel.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrrecall.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrscene.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrscenecategory.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrscript.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrscriptmodel.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrscripttarget.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtarget.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtask.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtaskcall.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtaskcalldetail.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtaskcallrecord.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtasksms.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtemplate.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtemplatescript.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtemplatetarget.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/patarchive.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/patinhosp.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/patouthosp.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/patphysical.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemeautofinshrule.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemecalldetail.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemecategory.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemelibrary.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemeplan.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemetask.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemetaskconfig.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemetaskrecord.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemetaskrepeatconfig.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemetriggerrule.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/schemetriggerscene.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/smsaccount.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/smsparam.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/smsrecords.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/smstemplet.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svycategory.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svyexception.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svyfinish.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svyfinishoption.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svyfinishtopic.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svyresult.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svytitle.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svytopic.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/svytopicoption.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/category.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/config.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/dept.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/dict/data.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/dict/type.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/menu.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/notice.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/post.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/role.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/user.js 补丁 | 查看 | 原始文档 | blame | 历史
src/api/tool/gen.js 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/401_images/401.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/404_images/404.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/404_images/404_cloud.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/404.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/bug.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/build.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/button.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/cascader.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/chart.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/checkbox.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/clipboard.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/code.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/color.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/component.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/dashboard.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/date-range.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/date.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/dict.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/documentation.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/download.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/drag.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/druid.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/edit.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/education.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/email.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/example.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/excel.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/exit-fullscreen.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/eye-open.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/eye.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/form.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/fullscreen.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/github.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/guide.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/icon.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/input.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/international.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/job.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/language.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/link.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/list.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/lock.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/log.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/logininfor.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/message.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/money.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/monitor.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/nested.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/number.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/online.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/password.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/pdf.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/people.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/peoples.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/phone.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/post.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/qq.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/question.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/radio.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/rate.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/redis-list.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/redis.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/row.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/search.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/select.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/server.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/shopping.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/size.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/skill.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/slider.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/star.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/swagger.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/switch.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/system.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/tab.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/table.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/textarea.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/theme.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/time-range.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/time.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/tool.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/tree-table.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/tree.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/upload.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/user.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/validCode.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/wechat.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svg/zip.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/icons/svgo.yml 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/dark.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/light.svg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/login-background.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/profile.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/logo/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/btn.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/element-ui.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/element-variables.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/index.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/mixin.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/ruoyi.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/sidebar.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/transition.scss 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/variables.scss 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Breadcrumb/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/day.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/hour.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/min.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/month.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/result.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/second.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/week.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Crontab/year.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/DictData/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/components/DictTag/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Editor/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/FileUpload/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Hamburger/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/HeaderSearch/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/IconSelect/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/IconSelect/requireIcons.js 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ImagePreview/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ImageUpload/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Pagination/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/PanThumb/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ParentView/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/RightPanel/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/RightToolbar/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/RuoYi/Doc/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/RuoYi/Git/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Screenfull/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/SizeSelect/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/SvgIcon/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ThemePicker/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/TopNav/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/components/iFrame/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/dialog/drag.js 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/dialog/dragHeight.js 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/dialog/dragWidth.js 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/module/clipboard.js 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/permission/hasPermi.js 补丁 | 查看 | 原始文档 | blame | 历史
src/directive/permission/hasRole.js 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/AppMain.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/IframeToggle/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/InnerLink/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Navbar.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Settings/index.vue 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/FixiOSBug.js 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/Item.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/Link.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/Logo.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/SidebarItem.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/ScrollPane.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/mixin/ResizeHandler.js 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 补丁 | 查看 | 原始文档 | blame | 历史
src/permission.js 补丁 | 查看 | 原始文档 | blame | 历史
src/plugins/auth.js 补丁 | 查看 | 原始文档 | blame | 历史
src/plugins/cache.js 补丁 | 查看 | 原始文档 | blame | 历史
src/plugins/download.js 补丁 | 查看 | 原始文档 | blame | 历史
src/plugins/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/plugins/modal.js 补丁 | 查看 | 原始文档 | blame | 历史
src/plugins/tab.js 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/settings.js 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/components/dataview/xformview/xformview.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/components/dataview/xgridview/xgridview.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patarchive_base.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patarchive_list.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patinhosp_base.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patinhosp_list.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patouthosp_base.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patouthosp_list.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_svytopic_maint.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_svytopic_view.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_svytopicoption_list.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_svytopicoption_maint.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/store/getters.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/app.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/dict.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/permission.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/settings.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/tagsView.js 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/user.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/auth.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict/Dict.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict/DictConverter.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict/DictData.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict/DictMeta.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict/DictOptions.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/errorCode.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/config.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/css.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/drawingDefault.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/html.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/icon.json 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/js.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/generator/render.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/index.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/jsencrypt.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/permission.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/ruoyi.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/scroll-to.js 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/validate.js 补丁 | 查看 | 原始文档 | blame | 历史
src/views/components/icons/element-icons.js 补丁 | 查看 | 原始文档 | blame | 历史
src/views/components/icons/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/components/icons/svg-icons.js 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/BarChart.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/LineChart.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/PanelGroup.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/PieChart.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/RaddarChart.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/mixins/resize.js 补丁 | 查看 | 原始文档 | blame | 历史
src/views/error/401.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/error/404.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index_v1.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/cache/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/cache/list.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/druid/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/job/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/job/log.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/logininfor/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/online/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/operlog/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/server/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/redirect.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/register.vue 121 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/hecategory/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/helibrary/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrexecuteconfig/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrextemplate/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrextemplatescript/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrflow/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrflownode/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrflownodebranch/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrglobalconfig/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrintent/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrlibascript/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrlibintent/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrlibintentcategory/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrlibscript/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrlibscriptcategory/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrlibscriptmodel/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrquestionlib/QuestionMaint.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrrecall/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrscene/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrscenecategory/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrscript/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrscriptmodel/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrscripttarget/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtarget/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtask/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtaskcall/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtaskcalldetail/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtaskcallrecord/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtasksms/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtemplate/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtemplatescript/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/ivrtemplatetarget/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/patarchive/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/patarchive/index0.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/patinhosp/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/patouthosp/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/patphysical/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemeautofinshrule/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemecalldetail/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemecategory/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemelibrary/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemeplan/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemetask/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemetaskconfig/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemetaskrecord/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemetaskrepeatconfig/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemetriggerrule/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/schemetriggerscene/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/smsaccount/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/smsparam/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/smsrecords/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/smstemplet/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svycategory/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svyexception/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svyfinish/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svyfinishoption/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svyfinishtopic/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svyresult/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytitle/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytitle/index0.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytitle/index1.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytopic/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytopic/index1.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytopic/maint.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytopicoption/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/smartor/svytopicoption/index1.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/category/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/config/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/dept/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/dict/data.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/dict/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/menu/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/notice/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/post/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/role/authUser.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/role/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/role/selectUser.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/authRole.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/profile/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/profile/resetPwd.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/profile/userAvatar.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/profile/userInfo.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/CodeTypeDialog.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/DraggableItem.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/IconsDialog.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/RightPanel.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/TreeNodeDialog.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/gen/basicInfoForm.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/gen/editTable.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/gen/genInfoForm.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/gen/importTable.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/gen/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/swagger/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 补丁 | 查看 | 原始文档 | blame | 历史
.editorconfig
.env.development
.env.production
.env.staging
.eslintignore
.eslintrc.js
.gitignore
README.md
babel.config.js
bin/build.bat
bin/fix.txt
bin/package.bat
bin/run-web.bat
build/index.js
package.json
public/favicon.ico

public/html/ie.html
public/index.html
public/robots.txt
ruoyi-ui/src/layout/components/Settings/index.vue
ÎļþÒÑɾ³ý
ruoyi-ui/src/layout/components/Sidebar/Logo.vue
ÎļþÒÑɾ³ý
ruoyi-ui/src/layout/components/Sidebar/index.vue
ÎļþÒÑɾ³ý
src/App.vue
src/api/login.js
src/api/menu.js
src/api/monitor/cache.js
src/api/monitor/job.js
src/api/monitor/jobLog.js
src/api/monitor/logininfor.js
src/api/monitor/online.js
src/api/monitor/operlog.js
src/api/monitor/server.js
src/api/smartor/hecategory.js
src/api/smartor/helibrary.js
src/api/smartor/ivrexecuteconfig.js
src/api/smartor/ivrextemplate.js
src/api/smartor/ivrextemplatescript.js
src/api/smartor/ivrflow.js
src/api/smartor/ivrflownode.js
src/api/smartor/ivrflownodebranch.js
src/api/smartor/ivrglobalconfig.js
src/api/smartor/ivrintent.js
src/api/smartor/ivrlibascript.js
src/api/smartor/ivrlibintent.js
src/api/smartor/ivrlibintentcategory.js
src/api/smartor/ivrlibscript.js
src/api/smartor/ivrlibscriptcategory.js
src/api/smartor/ivrlibscriptmodel.js
src/api/smartor/ivrrecall.js
src/api/smartor/ivrscene.js
src/api/smartor/ivrscenecategory.js
src/api/smartor/ivrscript.js
src/api/smartor/ivrscriptmodel.js
src/api/smartor/ivrscripttarget.js
src/api/smartor/ivrtarget.js
src/api/smartor/ivrtask.js
src/api/smartor/ivrtaskcall.js
src/api/smartor/ivrtaskcalldetail.js
src/api/smartor/ivrtaskcallrecord.js
src/api/smartor/ivrtasksms.js
src/api/smartor/ivrtemplate.js
src/api/smartor/ivrtemplatescript.js
src/api/smartor/ivrtemplatetarget.js
src/api/smartor/patarchive.js
src/api/smartor/patinhosp.js
src/api/smartor/patouthosp.js
src/api/smartor/patphysical.js
src/api/smartor/schemeautofinshrule.js
src/api/smartor/schemecalldetail.js
src/api/smartor/schemecategory.js
src/api/smartor/schemelibrary.js
src/api/smartor/schemeplan.js
src/api/smartor/schemetask.js
src/api/smartor/schemetaskconfig.js
src/api/smartor/schemetaskrecord.js
src/api/smartor/schemetaskrepeatconfig.js
src/api/smartor/schemetriggerrule.js
src/api/smartor/schemetriggerscene.js
src/api/smartor/smsaccount.js
src/api/smartor/smsparam.js
src/api/smartor/smsrecords.js
src/api/smartor/smstemplet.js
src/api/smartor/svycategory.js
src/api/smartor/svyexception.js
src/api/smartor/svyfinish.js
src/api/smartor/svyfinishoption.js
src/api/smartor/svyfinishtopic.js
src/api/smartor/svyresult.js
src/api/smartor/svytitle.js
src/api/smartor/svytopic.js
src/api/smartor/svytopicoption.js
src/api/system/category.js
src/api/system/config.js
src/api/system/dept.js
src/api/system/dict/data.js
src/api/system/dict/type.js
src/api/system/menu.js
src/api/system/notice.js
src/api/system/post.js
src/api/system/role.js
src/api/system/user.js
src/api/tool/gen.js
src/assets/401_images/401.gif

src/assets/404_images/404.png

src/assets/404_images/404_cloud.png

src/assets/icons/index.js
src/assets/icons/svg/404.svg
src/assets/icons/svg/bug.svg
src/assets/icons/svg/build.svg
src/assets/icons/svg/button.svg
src/assets/icons/svg/cascader.svg
src/assets/icons/svg/chart.svg
src/assets/icons/svg/checkbox.svg
src/assets/icons/svg/clipboard.svg
src/assets/icons/svg/code.svg
src/assets/icons/svg/color.svg
src/assets/icons/svg/component.svg
src/assets/icons/svg/dashboard.svg
src/assets/icons/svg/date-range.svg
src/assets/icons/svg/date.svg
src/assets/icons/svg/dict.svg
src/assets/icons/svg/documentation.svg
src/assets/icons/svg/download.svg
src/assets/icons/svg/drag.svg
src/assets/icons/svg/druid.svg
src/assets/icons/svg/edit.svg
src/assets/icons/svg/education.svg
src/assets/icons/svg/email.svg
src/assets/icons/svg/example.svg
src/assets/icons/svg/excel.svg
src/assets/icons/svg/exit-fullscreen.svg
src/assets/icons/svg/eye-open.svg
src/assets/icons/svg/eye.svg
src/assets/icons/svg/form.svg
src/assets/icons/svg/fullscreen.svg
src/assets/icons/svg/github.svg
src/assets/icons/svg/guide.svg
src/assets/icons/svg/icon.svg
src/assets/icons/svg/input.svg
src/assets/icons/svg/international.svg
src/assets/icons/svg/job.svg
src/assets/icons/svg/language.svg
src/assets/icons/svg/link.svg
src/assets/icons/svg/list.svg
src/assets/icons/svg/lock.svg
src/assets/icons/svg/log.svg
src/assets/icons/svg/logininfor.svg
src/assets/icons/svg/message.svg
src/assets/icons/svg/money.svg
src/assets/icons/svg/monitor.svg
src/assets/icons/svg/nested.svg
src/assets/icons/svg/number.svg
src/assets/icons/svg/online.svg
src/assets/icons/svg/password.svg
src/assets/icons/svg/pdf.svg
src/assets/icons/svg/people.svg
src/assets/icons/svg/peoples.svg
src/assets/icons/svg/phone.svg
src/assets/icons/svg/post.svg
src/assets/icons/svg/qq.svg
src/assets/icons/svg/question.svg
src/assets/icons/svg/radio.svg
src/assets/icons/svg/rate.svg
src/assets/icons/svg/redis-list.svg
src/assets/icons/svg/redis.svg
src/assets/icons/svg/row.svg
src/assets/icons/svg/search.svg
src/assets/icons/svg/select.svg
src/assets/icons/svg/server.svg
src/assets/icons/svg/shopping.svg
src/assets/icons/svg/size.svg
src/assets/icons/svg/skill.svg
src/assets/icons/svg/slider.svg
src/assets/icons/svg/star.svg
src/assets/icons/svg/swagger.svg
src/assets/icons/svg/switch.svg
src/assets/icons/svg/system.svg
src/assets/icons/svg/tab.svg
src/assets/icons/svg/table.svg
src/assets/icons/svg/textarea.svg
src/assets/icons/svg/theme.svg
src/assets/icons/svg/time-range.svg
src/assets/icons/svg/time.svg
src/assets/icons/svg/tool.svg
src/assets/icons/svg/tree-table.svg
src/assets/icons/svg/tree.svg
src/assets/icons/svg/upload.svg
src/assets/icons/svg/user.svg
src/assets/icons/svg/validCode.svg
src/assets/icons/svg/wechat.svg
src/assets/icons/svg/zip.svg
src/assets/icons/svgo.yml
src/assets/images/dark.svg
src/assets/images/light.svg
src/assets/images/login-background.jpg

src/assets/images/profile.jpg

src/assets/logo/logo.png

src/assets/styles/btn.scss
src/assets/styles/element-ui.scss
src/assets/styles/element-variables.scss
ÎļþÃû´Ó ruoyi-ui/src/assets/styles/element-variables.scss ÐÞ¸Ä
@@ -4,7 +4,7 @@
**/
/* theme color */
$--color-primary: #1890ff;
$--color-primary: #3a80c2;
$--color-success: #13ce66;
$--color-warning: #ffba00;
$--color-danger: #ff4949;
src/assets/styles/index.scss
src/assets/styles/mixin.scss
src/assets/styles/ruoyi.scss
src/assets/styles/sidebar.scss
src/assets/styles/transition.scss
src/assets/styles/variables.scss
ÎļþÃû´Ó ruoyi-ui/src/assets/styles/variables.scss ÐÞ¸Ä
@@ -7,18 +7,20 @@
$tiffany: #4AB7BD;
$yellow:#FEC171;
$panGreen: #30B08F;
$menuActiveText:#4fa8db;
// é»˜è®¤èœå•主题风格
$base-menu-color:#bfcbd9;
$base-menu-color:#f7f8f8;
$base-menu-color-active:#f4f4f5;
$base-menu-background:#304156;
$base-menu-background:#4780d4;
$base-logo-title-color: #ffffff;
$base-menu-light-color:rgba(0,0,0,.70);
$base-menu-light-background:#ffffff;
$base-logo-light-title-color: #001529;
$base-sub-menu-background:#1f2d3d;
$base-sub-menu-background:#82afe4;
$base-sub-menu-hover:#001528;
// è‡ªå®šä¹‰æš—色菜单风格
src/components/Breadcrumb/index.vue
src/components/Crontab/day.vue
src/components/Crontab/hour.vue
src/components/Crontab/index.vue
src/components/Crontab/min.vue
src/components/Crontab/month.vue
src/components/Crontab/result.vue
src/components/Crontab/second.vue
src/components/Crontab/week.vue
src/components/Crontab/year.vue
src/components/DictData/index.js
src/components/DictTag/index.vue
src/components/Editor/index.vue
src/components/FileUpload/index.vue
src/components/Hamburger/index.vue
src/components/HeaderSearch/index.vue
src/components/IconSelect/index.vue
src/components/IconSelect/requireIcons.js
src/components/ImagePreview/index.vue
src/components/ImageUpload/index.vue
src/components/Pagination/index.vue
src/components/PanThumb/index.vue
src/components/ParentView/index.vue
src/components/RightPanel/index.vue
src/components/RightToolbar/index.vue
src/components/RuoYi/Doc/index.vue
src/components/RuoYi/Git/index.vue
src/components/Screenfull/index.vue
src/components/SizeSelect/index.vue
src/components/SvgIcon/index.vue
src/components/ThemePicker/index.vue
src/components/TopNav/index.vue
src/components/iFrame/index.vue
src/directive/dialog/drag.js
src/directive/dialog/dragHeight.js
src/directive/dialog/dragWidth.js
src/directive/index.js
src/directive/module/clipboard.js
src/directive/permission/hasPermi.js
src/directive/permission/hasRole.js
src/layout/components/AppMain.vue
src/layout/components/IframeToggle/index.vue
src/layout/components/InnerLink/index.vue
src/layout/components/Navbar.vue
src/layout/components/Settings/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,322 @@
<template>
  <el-drawer
    size="280px"
    :visible="visible"
    :with-header="false"
    :append-to-body="true"
    :show-close="false"
  >
    <div class="drawer-container">
      <div>
        <div class="setting-drawer-content">
          <div class="setting-drawer-title">
            <h3 class="drawer-title">主题风格设置</h3>
          </div>
          <div class="setting-drawer-block-checbox">
            <div
              class="setting-drawer-block-checbox-item"
              @click="handleTheme('theme-dark')"
            >
              <img src="@/assets/images/dark.svg" alt="dark" />
              <div
                v-if="sideTheme === 'theme-dark'"
                class="setting-drawer-block-checbox-selectIcon"
                style="display: block"
              >
                <i aria-label="图标: check" class="anticon anticon-check">
                  <svg
                    viewBox="64 64 896 896"
                    data-icon="check"
                    width="1em"
                    height="1em"
                    :fill="theme"
                    aria-hidden="true"
                    focusable="false"
                    class=""
                  >
                    <path
                      d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"
                    />
                  </svg>
                </i>
              </div>
            </div>
            <div
              class="setting-drawer-block-checbox-item"
              @click="handleTheme('theme-light')"
            >
              <img src="@/assets/images/light.svg" alt="light" />
              <div
                v-if="sideTheme === 'theme-light'"
                class="setting-drawer-block-checbox-selectIcon"
                style="display: block"
              >
                <i aria-label="图标: check" class="anticon anticon-check">
                  <svg
                    viewBox="64 64 896 896"
                    data-icon="check"
                    width="1em"
                    height="1em"
                    :fill="theme"
                    aria-hidden="true"
                    focusable="false"
                    class=""
                  >
                    <path
                      d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"
                    />
                  </svg>
                </i>
              </div>
            </div>
          </div>
          <div class="drawer-item">
            <span>主题颜色</span>
            <theme-picker
              style="float: right; height: 26px; margin: -3px 8px 0 0"
              @change="themeChange"
            />
          </div>
        </div>
        <el-divider />
        <h3 class="drawer-title">系统布局配置</h3>
        <div class="drawer-item">
          <span>开启 TopNav</span>
          <el-switch v-model="topNav" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>开启 Tags-Views</span>
          <el-switch v-model="tagsView" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>固定 Header</span>
          <el-switch v-model="fixedHeader" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>显示 Logo</span>
          <el-switch v-model="sidebarLogo" class="drawer-switch" />
        </div>
        <div class="drawer-item">
          <span>动态标题</span>
          <el-switch v-model="dynamicTitle" class="drawer-switch" />
        </div>
        <el-divider />
        <el-button
          size="small"
          type="primary"
          plain
          icon="el-icon-document-add"
          @click="saveSetting"
          >保存配置</el-button
        >
        <el-button
          size="small"
          plain
          icon="el-icon-refresh"
          @click="resetSetting"
          >重置配置</el-button
        >
      </div>
    </div>
  </el-drawer>
</template>
<script>
import ThemePicker from "@/components/ThemePicker";
export default {
  components: { ThemePicker },
  data() {
    return {
      theme: this.$store.state.settings.theme,
      sideTheme: this.$store.state.settings.sideTheme,
    };
  },
  computed: {
    visible: {
      get() {
        return this.$store.state.settings.showSettings;
      },
    },
    fixedHeader: {
      get() {
        return this.$store.state.settings.fixedHeader;
      },
      set(val) {
        this.$store.dispatch("settings/changeSetting", {
          key: "fixedHeader",
          value: val,
        });
      },
    },
    topNav: {
      get() {
        return this.$store.state.settings.topNav;
      },
      set(val) {
        this.$store.dispatch("settings/changeSetting", {
          key: "topNav",
          value: val,
        });
        if (!val) {
          this.$store.dispatch("app/toggleSideBarHide", false);
          this.$store.commit(
            "SET_SIDEBAR_ROUTERS",
            this.$store.state.permission.defaultRoutes
          );
        }
      },
    },
    tagsView: {
      get() {
        return this.$store.state.settings.tagsView;
      },
      set(val) {
        this.$store.dispatch("settings/changeSetting", {
          key: "tagsView",
          value: val,
        });
      },
    },
    sidebarLogo: {
      get() {
        return this.$store.state.settings.sidebarLogo;
      },
      set(val) {
        this.$store.dispatch("settings/changeSetting", {
          key: "sidebarLogo",
          value: val,
        });
      },
    },
    dynamicTitle: {
      get() {
        return this.$store.state.settings.dynamicTitle;
      },
      set(val) {
        this.$store.dispatch("settings/changeSetting", {
          key: "dynamicTitle",
          value: val,
        });
      },
    },
  },
  methods: {
    themeChange(val) {
      this.$store.dispatch("settings/changeSetting", {
        key: "theme",
        value: val,
      });
      this.theme = val;
    },
    handleTheme(val) {
      this.$store.dispatch("settings/changeSetting", {
        key: "sideTheme",
        value: val,
      });
      this.sideTheme = val;
    },
    saveSetting() {
      this.$modal.loading("正在保存到本地,请稍候...");
      //存储本地数据
      this.$cache.local.set(
        "layout-setting",
        `{
            "topNav":${this.topNav},
            "tagsView":${this.tagsView},
            "fixedHeader":${this.fixedHeader},
            "sidebarLogo":${this.sidebarLogo},
            "dynamicTitle":${this.dynamicTitle},
            "sideTheme":"${this.sideTheme}",
            "theme":"${this.theme}"
          }`
      );
      setTimeout(this.$modal.closeLoading(), 1000);
    },
    resetSetting() {
      this.$modal.loading("正在清除设置缓存并刷新,请稍候...");
      this.$cache.local.remove("layout-setting");
      setTimeout("window.location.reload()", 1000);
    },
  },
};
</script>
<style lang="scss" scoped>
.setting-drawer-content {
  .setting-drawer-title {
    margin-bottom: 12px;
    color: rgba(0, 0, 0, 0.85);
    font-size: 14px;
    line-height: 22px;
    font-weight: bold;
  }
  .setting-drawer-block-checbox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 20px;
    .setting-drawer-block-checbox-item {
      position: relative;
      margin-right: 16px;
      border-radius: 2px;
      cursor: pointer;
      img {
        width: 48px;
        height: 48px;
      }
      .setting-drawer-block-checbox-selectIcon {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        padding-top: 15px;
        padding-left: 24px;
        color: #1890ff;
        font-weight: 700;
        font-size: 14px;
      }
    }
  }
}
.drawer-container {
  padding: 20px;
  font-size: 14px;
  line-height: 1.5;
  word-wrap: break-word;
  .drawer-title {
    margin-bottom: 12px;
    color: rgba(0, 0, 0, 0.85);
    font-size: 14px;
    line-height: 22px;
  }
  .drawer-item {
    color: rgba(0, 0, 0, 0.65);
    font-size: 14px;
    padding: 12px 0;
  }
  .drawer-switch {
    float: right;
  }
}
</style>
src/layout/components/Sidebar/FixiOSBug.js
src/layout/components/Sidebar/Item.vue
src/layout/components/Sidebar/Link.vue
src/layout/components/Sidebar/Logo.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,128 @@
<template>
  <div
    class="sidebar-logo-container"
    :class="{ collapse: collapse }"
    :style="{
      backgroundColor:
        sideTheme === 'theme-dark'
          ? variables.menuBackground
          : variables.menuLightBackground,
    }"
  >
    <transition name="sidebarLogoFade">
      <router-link
        v-if="collapse"
        key="collapse"
        class="sidebar-logo-link"
        to="/"
      >
        <img v-if="logo" :src="logo" class="sidebar-logo" />
        <h1
          v-else
          class="sidebar-title"
          :style="{
            color:
              sideTheme === 'theme-dark'
                ? variables.logoTitleColor
                : variables.logoLightTitleColor,
          }"
        >
          {{ title }}
        </h1>
      </router-link>
      <router-link v-else key="expand" class="sidebar-logo-link" to="/">
        <img v-if="logo" :src="logo" class="sidebar-logo" />
        <h1
          class="sidebar-title"
          :style="{
            color:
              sideTheme === 'theme-dark'
                ? variables.logoTitleColor
                : variables.logoLightTitleColor,
          }"
        >
          {{ title }}
        </h1>
      </router-link>
    </transition>
  </div>
</template>
<script>
import logoImg from "@/assets/logo/logo.png";
import variables from "@/assets/styles/variables.scss";
export default {
  name: "SidebarLogo",
  props: {
    collapse: {
      type: Boolean,
      required: true,
    },
  },
  computed: {
    variables() {
      return variables;
    },
    sideTheme() {
      return this.$store.state.settings.sideTheme;
    },
  },
  data() {
    return {
      title: "智慧随访管理系统",
      logo: logoImg,
    };
  },
};
</script>
<style lang="scss" scoped>
.sidebarLogoFade-enter-active {
  transition: opacity 1.5s;
}
.sidebarLogoFade-enter,
.sidebarLogoFade-leave-to {
  opacity: 0;
}
.sidebar-logo-container {
  position: relative;
  width: 100%;
  height: 50px;
  line-height: 50px;
  background: #2b2f3a;
  text-align: center;
  overflow: hidden;
  & .sidebar-logo-link {
    height: 100%;
    width: 100%;
    & .sidebar-logo {
      width: 32px;
      height: 32px;
      vertical-align: middle;
      margin-right: 12px;
    }
    & .sidebar-title {
      display: inline-block;
      margin: 0;
      color: #fff;
      font-weight: 600;
      line-height: 50px;
      font-size: 14px;
      font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
      vertical-align: middle;
    }
  }
  &.collapse {
    .sidebar-logo {
      margin-right: 0px;
    }
  }
}
</style>
src/layout/components/Sidebar/SidebarItem.vue
src/layout/components/Sidebar/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
<template>
  <div
    :class="{ 'has-logo': showLogo }"
    :style="{
      backgroundColor:
        settings.sideTheme === 'theme-dark'
          ? variables.menuBackground
          : variables.menuLightBackground,
    }"
  >
    <logo v-if="showLogo" :collapse="isCollapse" />
    <el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
      <el-menu
        :default-active="activeMenu"
        :collapse="isCollapse"
        :background-color="
          settings.sideTheme === 'theme-dark'
            ? variables.menuBackground
            : variables.menuLightBackground
        "
        :text-color="
          settings.sideTheme === 'theme-dark'
            ? variables.menuColor
            : variables.menuLightColor
        "
        :unique-opened="true"
        :active-text-color="variables.menuActiveText"
        :collapse-transition="false"
        mode="vertical"
      >
        <sidebar-item
          v-for="(route, index) in sidebarRouters"
          :key="route.path + index"
          :item="route"
          :base-path="route.path"
        />
      </el-menu>
    </el-scrollbar>
  </div>
</template>
<script>
import { mapGetters, mapState } from "vuex";
import Logo from "./Logo";
import SidebarItem from "./SidebarItem";
import variables from "@/assets/styles/variables.scss";
export default {
  components: { SidebarItem, Logo },
  computed: {
    ...mapState(["settings"]),
    ...mapGetters(["sidebarRouters", "sidebar"]),
    activeMenu() {
      const route = this.$route;
      const { meta, path } = route;
      // if set path, the sidebar will highlight the path you set
      if (meta.activeMenu) {
        return meta.activeMenu;
      }
      return path;
    },
    showLogo() {
      return this.$store.state.settings.sidebarLogo;
    },
    variables() {
      return variables;
    },
    isCollapse() {
      return !this.sidebar.opened;
    },
  },
};
</script>
<style lang="scss" scoped>
.el-menu-demo {
  font-size: 28px;
}
</style>
src/layout/components/TagsView/ScrollPane.vue
src/layout/components/TagsView/index.vue
src/layout/components/index.js
src/layout/index.vue
src/layout/mixin/ResizeHandler.js
src/main.js
src/permission.js
src/plugins/auth.js
src/plugins/cache.js
src/plugins/download.js
src/plugins/index.js
src/plugins/modal.js
src/plugins/tab.js
src/router/index.js
src/settings.js
src/smartor/components/dataview/xformview/xformview.vue
src/smartor/components/dataview/xgridview/xgridview.vue
src/smartor/dataobject/dw_patarchive_base.vue
src/smartor/dataobject/dw_patarchive_list.vue
src/smartor/dataobject/dw_patinhosp_base.vue
src/smartor/dataobject/dw_patinhosp_list.vue
src/smartor/dataobject/dw_patouthosp_base.vue
src/smartor/dataobject/dw_patouthosp_list.vue
src/smartor/dataobject/dw_svytopic_maint.vue
src/smartor/dataobject/dw_svytopic_view.vue
src/smartor/dataobject/dw_svytopicoption_list.vue
src/smartor/dataobject/dw_svytopicoption_maint.vue
src/store/getters.js
src/store/index.js
src/store/modules/app.js
src/store/modules/dict.js
src/store/modules/permission.js
src/store/modules/settings.js
src/store/modules/tagsView.js
src/store/modules/user.js
src/utils/auth.js
src/utils/dict/Dict.js
src/utils/dict/DictConverter.js
src/utils/dict/DictData.js
src/utils/dict/DictMeta.js
src/utils/dict/DictOptions.js
src/utils/dict/index.js
src/utils/errorCode.js
src/utils/generator/config.js
src/utils/generator/css.js
src/utils/generator/drawingDefault.js
src/utils/generator/html.js
src/utils/generator/icon.json
src/utils/generator/js.js
src/utils/generator/render.js
src/utils/index.js
src/utils/jsencrypt.js
src/utils/permission.js
src/utils/request.js
src/utils/ruoyi.js
src/utils/scroll-to.js
src/utils/validate.js
src/views/components/icons/element-icons.js
src/views/components/icons/index.vue
src/views/components/icons/svg-icons.js
src/views/dashboard/BarChart.vue
src/views/dashboard/LineChart.vue
src/views/dashboard/PanelGroup.vue
src/views/dashboard/PieChart.vue
src/views/dashboard/RaddarChart.vue
src/views/dashboard/mixins/resize.js
src/views/error/401.vue
src/views/error/404.vue
src/views/index.vue
src/views/index_v1.vue
src/views/login.vue
ÎļþÃû´Ó ruoyi-ui/src/views/login.vue ÐÞ¸Ä
@@ -1,6 +1,11 @@
<template>
  <div class="login">
    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
    <el-form
      ref="loginForm"
      :model="loginForm"
      :rules="loginRules"
      class="login-form"
    >
      <h3 class="title">智慧随访管理系统</h3>
      <el-form-item prop="username">
        <el-input
@@ -9,7 +14,11 @@
          auto-complete="off"
          placeholder="账号"
        >
          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
          <svg-icon
            slot="prefix"
            icon-class="user"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <el-form-item prop="password">
@@ -20,7 +29,11 @@
          placeholder="密码"
          @keyup.enter.native="handleLogin"
        >
          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
          <svg-icon
            slot="prefix"
            icon-class="password"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <el-form-item prop="code" v-if="captchaEnabled">
@@ -31,26 +44,36 @@
          style="width: 63%"
          @keyup.enter.native="handleLogin"
        >
          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
          <svg-icon
            slot="prefix"
            icon-class="validCode"
            class="el-input__icon input-icon"
          />
        </el-input>
        <div class="login-code">
          <img :src="codeUrl" @click="getCode" class="login-code-img"/>
          <img :src="codeUrl" @click="getCode" class="login-code-img" />
        </div>
      </el-form-item>
      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
      <el-form-item style="width:100%;">
      <el-checkbox
        v-model="loginForm.rememberMe"
        style="margin: 0px 0px 25px 0px"
        >记住密码</el-checkbox
      >
      <el-form-item style="width: 100%">
        <el-button
          :loading="loading"
          size="medium"
          type="primary"
          style="width:100%;"
          style="width: 100%"
          @click.native.prevent="handleLogin"
        >
          <span v-if="!loading">登 å½•</span>
          <span v-else>登 å½• ä¸­...</span>
        </el-button>
        <div style="float: right;" v-if="register">
          <router-link class="link-type" :to="'/register'">立即注册1</router-link>
        <div style="float: right" v-if="register">
          <router-link class="link-type" :to="'/register'"
            >立即注册1</router-link
          >
        </div>
      </el-form-item>
    </el-form>
@@ -64,7 +87,7 @@
<script>
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
import { encrypt, decrypt } from "@/utils/jsencrypt";
export default {
  name: "Login",
@@ -76,32 +99,32 @@
        password: "admin123",
        rememberMe: false,
        code: "",
        uuid: ""
        uuid: "",
      },
      loginRules: {
        username: [
          { required: true, trigger: "blur", message: "请输入您的账号" }
          { required: true, trigger: "blur", message: "请输入您的账号" },
        ],
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" }
          { required: true, trigger: "blur", message: "请输入您的密码" },
        ],
        code: [{ required: true, trigger: "change", message: "请输入验证码" }]
        code: [{ required: true, trigger: "change", message: "请输入验证码" }],
      },
      loading: false,
      // éªŒè¯ç å¼€å…³
      captchaEnabled: true,
      // æ³¨å†Œå¼€å…³
      register: false,
      redirect: undefined
      redirect: undefined,
    };
  },
  watch: {
    $route: {
      handler: function(route) {
      handler: function (route) {
        this.redirect = route.query && route.query.redirect;
      },
      immediate: true
    }
      immediate: true,
    },
  },
  created() {
    this.getCode();
@@ -109,8 +132,9 @@
  },
  methods: {
    getCode() {
      getCodeImg().then(res => {
        this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
      getCodeImg().then((res) => {
        this.captchaEnabled =
          res.captchaEnabled === undefined ? true : res.captchaEnabled;
        if (this.captchaEnabled) {
          this.codeUrl = "data:image/gif;base64," + res.img;
          this.loginForm.uuid = res.uuid;
@@ -120,38 +144,46 @@
    getCookie() {
      const username = Cookies.get("username");
      const password = Cookies.get("password");
      const rememberMe = Cookies.get('rememberMe')
      const rememberMe = Cookies.get("rememberMe");
      this.loginForm = {
        username: username === undefined ? this.loginForm.username : username,
        password: password === undefined ? this.loginForm.password : decrypt(password),
        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
        password:
          password === undefined ? this.loginForm.password : decrypt(password),
        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
      };
    },
    handleLogin() {
      this.$refs.loginForm.validate(valid => {
      this.$refs.loginForm.validate((valid) => {
        if (valid) {
          this.loading = true;
          if (this.loginForm.rememberMe) {
            Cookies.set("username", this.loginForm.username, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), {
              expires: 30,
            });
            Cookies.set("rememberMe", this.loginForm.rememberMe, {
              expires: 30,
            });
          } else {
            Cookies.remove("username");
            Cookies.remove("password");
            Cookies.remove('rememberMe');
            Cookies.remove("rememberMe");
          }
          this.$store.dispatch("Login", this.loginForm).then(() => {
            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
          }).catch(() => {
            this.loading = false;
            if (this.captchaEnabled) {
              this.getCode();
            }
          });
          this.$store
            .dispatch("Login", this.loginForm)
            .then(() => {
              this.$router.push({ path: this.redirect || "/" }).catch(() => {});
            })
            .catch(() => {
              this.loading = false;
              if (this.captchaEnabled) {
                this.getCode();
              }
            });
        }
      });
    }
  }
    },
  },
};
</script>
src/views/monitor/cache/index.vue
src/views/monitor/cache/list.vue
src/views/monitor/druid/index.vue
src/views/monitor/job/index.vue
src/views/monitor/job/log.vue
src/views/monitor/logininfor/index.vue
src/views/monitor/online/index.vue
src/views/monitor/operlog/index.vue
src/views/monitor/server/index.vue
src/views/redirect.vue
src/views/register.vue
ÎļþÃû´Ó ruoyi-ui/src/views/register.vue ÐÞ¸Ä
@@ -1,10 +1,24 @@
<template>
  <div class="register">
    <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
    <el-form
      ref="registerForm"
      :model="registerForm"
      :rules="registerRules"
      class="register-form"
    >
      <h3 class="title">智慧随访管理系统</h3>
      <el-form-item prop="username">
        <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
        <el-input
          v-model="registerForm.username"
          type="text"
          auto-complete="off"
          placeholder="账号"
        >
          <svg-icon
            slot="prefix"
            icon-class="user"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <el-form-item prop="password">
@@ -15,7 +29,11 @@
          placeholder="密码"
          @keyup.enter.native="handleRegister"
        >
          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
          <svg-icon
            slot="prefix"
            icon-class="password"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <el-form-item prop="confirmPassword">
@@ -26,7 +44,11 @@
          placeholder="确认密码"
          @keyup.enter.native="handleRegister"
        >
          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
          <svg-icon
            slot="prefix"
            icon-class="password"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <el-form-item prop="code" v-if="captchaEnabled">
@@ -37,25 +59,31 @@
          style="width: 63%"
          @keyup.enter.native="handleRegister"
        >
          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
          <svg-icon
            slot="prefix"
            icon-class="validCode"
            class="el-input__icon input-icon"
          />
        </el-input>
        <div class="register-code">
          <img :src="codeUrl" @click="getCode" class="register-code-img"/>
          <img :src="codeUrl" @click="getCode" class="register-code-img" />
        </div>
      </el-form-item>
      <el-form-item style="width:100%;">
      <el-form-item style="width: 100%">
        <el-button
          :loading="loading"
          size="medium"
          type="primary"
          style="width:100%;"
          style="width: 100%"
          @click.native.prevent="handleRegister"
        >
          <span v-if="!loading">注 å†Œ</span>
          <span v-else>注 å†Œ ä¸­...</span>
        </el-button>
        <div style="float: right;">
          <router-link class="link-type" :to="'/login'">使用已有账户登录</router-link>
        <div style="float: right">
          <router-link class="link-type" :to="'/login'"
            >使用已有账户登录</router-link
          >
        </div>
      </el-form-item>
    </el-form>
@@ -86,25 +114,35 @@
        password: "",
        confirmPassword: "",
        code: "",
        uuid: ""
        uuid: "",
      },
      registerRules: {
        username: [
          { required: true, trigger: "blur", message: "请输入您的账号" },
          { min: 2, max: 20, message: '用户账号长度必须介于 2 å’Œ 20 ä¹‹é—´', trigger: 'blur' }
          {
            min: 2,
            max: 20,
            message: "用户账号长度必须介于 2 å’Œ 20 ä¹‹é—´",
            trigger: "blur",
          },
        ],
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" },
          { min: 5, max: 20, message: '用户密码长度必须介于 5 å’Œ 20 ä¹‹é—´', trigger: 'blur' }
          {
            min: 5,
            max: 20,
            message: "用户密码长度必须介于 5 å’Œ 20 ä¹‹é—´",
            trigger: "blur",
          },
        ],
        confirmPassword: [
          { required: true, trigger: "blur", message: "请再次输入您的密码" },
          { required: true, validator: equalToPassword, trigger: "blur" }
          { required: true, validator: equalToPassword, trigger: "blur" },
        ],
        code: [{ required: true, trigger: "change", message: "请输入验证码" }]
        code: [{ required: true, trigger: "change", message: "请输入验证码" }],
      },
      loading: false,
      captchaEnabled: true
      captchaEnabled: true,
    };
  },
  created() {
@@ -112,8 +150,9 @@
  },
  methods: {
    getCode() {
      getCodeImg().then(res => {
        this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
      getCodeImg().then((res) => {
        this.captchaEnabled =
          res.captchaEnabled === undefined ? true : res.captchaEnabled;
        if (this.captchaEnabled) {
          this.codeUrl = "data:image/gif;base64," + res.img;
          this.registerForm.uuid = res.uuid;
@@ -121,27 +160,37 @@
      });
    },
    handleRegister() {
      this.$refs.registerForm.validate(valid => {
      this.$refs.registerForm.validate((valid) => {
        if (valid) {
          this.loading = true;
          register(this.registerForm).then(res => {
            const username = this.registerForm.username;
            this.$alert("<font color='red'>恭喜你,您的账号 " + username + " æ³¨å†ŒæˆåŠŸï¼</font>", '系统提示', {
              dangerouslyUseHTMLString: true,
              type: 'success'
            }).then(() => {
              this.$router.push("/login");
            }).catch(() => {});
          }).catch(() => {
            this.loading = false;
            if (this.captchaEnabled) {
              this.getCode();
            }
          })
          register(this.registerForm)
            .then((res) => {
              const username = this.registerForm.username;
              this.$alert(
                "<font color='red'>恭喜你,您的账号 " +
                  username +
                  " æ³¨å†ŒæˆåŠŸï¼</font>",
                "系统提示",
                {
                  dangerouslyUseHTMLString: true,
                  type: "success",
                }
              )
                .then(() => {
                  this.$router.push("/login");
                })
                .catch(() => {});
            })
            .catch(() => {
              this.loading = false;
              if (this.captchaEnabled) {
                this.getCode();
              }
            });
        }
      });
    }
  }
    },
  },
};
</script>
src/views/smartor/hecategory/index.vue
src/views/smartor/helibrary/index.vue
src/views/smartor/ivrexecuteconfig/index.vue
src/views/smartor/ivrextemplate/index.vue
src/views/smartor/ivrextemplatescript/index.vue
src/views/smartor/ivrflow/index.vue
src/views/smartor/ivrflownode/index.vue
src/views/smartor/ivrflownodebranch/index.vue
src/views/smartor/ivrglobalconfig/index.vue
src/views/smartor/ivrintent/index.vue
src/views/smartor/ivrlibascript/index.vue
src/views/smartor/ivrlibintent/index.vue
src/views/smartor/ivrlibintentcategory/index.vue
src/views/smartor/ivrlibscript/index.vue
src/views/smartor/ivrlibscriptcategory/index.vue
src/views/smartor/ivrlibscriptmodel/index.vue
src/views/smartor/ivrquestionlib/QuestionMaint.vue
src/views/smartor/ivrrecall/index.vue
src/views/smartor/ivrscene/index.vue
src/views/smartor/ivrscenecategory/index.vue
src/views/smartor/ivrscript/index.vue
src/views/smartor/ivrscriptmodel/index.vue
src/views/smartor/ivrscripttarget/index.vue
src/views/smartor/ivrtarget/index.vue
src/views/smartor/ivrtask/index.vue
src/views/smartor/ivrtaskcall/index.vue
src/views/smartor/ivrtaskcalldetail/index.vue
src/views/smartor/ivrtaskcallrecord/index.vue
src/views/smartor/ivrtasksms/index.vue
src/views/smartor/ivrtemplate/index.vue
src/views/smartor/ivrtemplatescript/index.vue
src/views/smartor/ivrtemplatetarget/index.vue
src/views/smartor/patarchive/index.vue
src/views/smartor/patarchive/index0.vue
src/views/smartor/patinhosp/index.vue
src/views/smartor/patouthosp/index.vue
src/views/smartor/patphysical/index.vue
src/views/smartor/schemeautofinshrule/index.vue
src/views/smartor/schemecalldetail/index.vue
src/views/smartor/schemecategory/index.vue
src/views/smartor/schemelibrary/index.vue
src/views/smartor/schemeplan/index.vue
src/views/smartor/schemetask/index.vue
src/views/smartor/schemetaskconfig/index.vue
src/views/smartor/schemetaskrecord/index.vue
src/views/smartor/schemetaskrepeatconfig/index.vue
src/views/smartor/schemetriggerrule/index.vue
src/views/smartor/schemetriggerscene/index.vue
src/views/smartor/smsaccount/index.vue
src/views/smartor/smsparam/index.vue
src/views/smartor/smsrecords/index.vue
src/views/smartor/smstemplet/index.vue
src/views/smartor/svycategory/index.vue
src/views/smartor/svyexception/index.vue
src/views/smartor/svyfinish/index.vue
src/views/smartor/svyfinishoption/index.vue
src/views/smartor/svyfinishtopic/index.vue
src/views/smartor/svyresult/index.vue
src/views/smartor/svytitle/index.vue
src/views/smartor/svytitle/index0.vue
src/views/smartor/svytitle/index1.vue
src/views/smartor/svytopic/index.vue
src/views/smartor/svytopic/index1.vue
src/views/smartor/svytopic/maint.vue
src/views/smartor/svytopicoption/index.vue
src/views/smartor/svytopicoption/index1.vue
src/views/system/category/index.vue
src/views/system/config/index.vue
src/views/system/dept/index.vue
src/views/system/dict/data.vue
src/views/system/dict/index.vue
src/views/system/menu/index.vue
src/views/system/notice/index.vue
src/views/system/post/index.vue
src/views/system/role/authUser.vue
src/views/system/role/index.vue
src/views/system/role/selectUser.vue
src/views/system/user/authRole.vue
src/views/system/user/index.vue
src/views/system/user/profile/index.vue
src/views/system/user/profile/resetPwd.vue
src/views/system/user/profile/userAvatar.vue
src/views/system/user/profile/userInfo.vue
src/views/tool/build/CodeTypeDialog.vue
src/views/tool/build/DraggableItem.vue
src/views/tool/build/IconsDialog.vue
src/views/tool/build/RightPanel.vue
src/views/tool/build/TreeNodeDialog.vue
src/views/tool/build/index.vue
src/views/tool/gen/basicInfoForm.vue
src/views/tool/gen/editTable.vue
src/views/tool/gen/genInfoForm.vue
src/views/tool/gen/importTable.vue
src/views/tool/gen/index.vue
src/views/tool/swagger/index.vue
vue.config.js