commit
					7876ad5daa
				
				 305 changed files with 89461 additions and 0 deletions
			
			
		| @ -0,0 +1,22 @@@@ -0,0 +1,22 @@ | ||||
| # 告诉EditorConfig插件,这是根文件,不用继续往上查找 | ||||
| root = true | ||||
| 
 | ||||
| # 匹配全部文件 | ||||
| [*] | ||||
| # 设置字符集 | ||||
| charset = utf-8 | ||||
| # 缩进风格,可选space、tab | ||||
| indent_style = space | ||||
| # 缩进的空格数 | ||||
| indent_size = 2 | ||||
| # 结尾换行符,可选lf、cr、crlf | ||||
| end_of_line = lf | ||||
| # 在文件结尾插入新行 | ||||
| insert_final_newline = true | ||||
| # 删除一行中的前后空格 | ||||
| trim_trailing_whitespace = true | ||||
| 
 | ||||
| # 匹配md结尾的文件 | ||||
| [*.md] | ||||
| insert_final_newline = false | ||||
| trim_trailing_whitespace = false | ||||
| @ -0,0 +1,11 @@@@ -0,0 +1,11 @@ | ||||
| # 页面标题 | ||||
| VUE_APP_TITLE = 若依管理系统 | ||||
| 
 | ||||
| # 开发环境配置 | ||||
| ENV = 'development' | ||||
| 
 | ||||
| # 若依管理系统/开发环境 | ||||
| VUE_APP_BASE_API = '/dev-api' | ||||
| 
 | ||||
| # 路由懒加载 | ||||
| VUE_CLI_BABEL_TRANSPILE_MODULES = true | ||||
| @ -0,0 +1,8 @@@@ -0,0 +1,8 @@ | ||||
| # 页面标题 | ||||
| VUE_APP_TITLE = 若依管理系统 | ||||
| 
 | ||||
| # 生产环境配置 | ||||
| ENV = 'production' | ||||
| 
 | ||||
| # 若依管理系统/生产环境 | ||||
| VUE_APP_BASE_API = '/prod-api' | ||||
| @ -0,0 +1,10 @@@@ -0,0 +1,10 @@ | ||||
| # 页面标题 | ||||
| VUE_APP_TITLE = 若依管理系统 | ||||
| 
 | ||||
| NODE_ENV = production | ||||
| 
 | ||||
| # 测试环境配置 | ||||
| ENV = 'staging' | ||||
| 
 | ||||
| # 若依管理系统/测试环境 | ||||
| VUE_APP_BASE_API = '/stage-api' | ||||
| @ -0,0 +1,10 @@@@ -0,0 +1,10 @@ | ||||
| # 忽略build目录下类型为js的文件的语法检查 | ||||
| build/*.js | ||||
| # 忽略src/assets目录下文件的语法检查 | ||||
| src/assets | ||||
| # 忽略public目录下文件的语法检查 | ||||
| public | ||||
| # 忽略当前目录下为js的文件的语法检查 | ||||
| *.js | ||||
| # 忽略当前目录下为vue的文件的语法检查 | ||||
| *.vue | ||||
| @ -0,0 +1,199 @@@@ -0,0 +1,199 @@ | ||||
| // ESlint 检查配置
 | ||||
| module.exports = { | ||||
|   root: true, | ||||
|   parserOptions: { | ||||
|     parser: 'babel-eslint', | ||||
|     sourceType: 'module' | ||||
|   }, | ||||
|   env: { | ||||
|     browser: true, | ||||
|     node: true, | ||||
|     es6: true, | ||||
|   }, | ||||
|   extends: ['plugin:vue/recommended', 'eslint:recommended'], | ||||
| 
 | ||||
|   // add your custom rules here
 | ||||
|   //it is base on https://github.com/vuejs/eslint-config-vue
 | ||||
|   rules: { | ||||
|     "vue/max-attributes-per-line": [2, { | ||||
|       "singleline": 10, | ||||
|       "multiline": { | ||||
|         "max": 1, | ||||
|         "allowFirstLine": false | ||||
|       } | ||||
|     }], | ||||
|     "vue/singleline-html-element-content-newline": "off", | ||||
|     "vue/multiline-html-element-content-newline":"off", | ||||
|     "vue/name-property-casing": ["error", "PascalCase"], | ||||
|     "vue/no-v-html": "off", | ||||
|     'accessor-pairs': 2, | ||||
|     'arrow-spacing': [2, { | ||||
|       'before': true, | ||||
|       'after': true | ||||
|     }], | ||||
|     'block-spacing': [2, 'always'], | ||||
|     'brace-style': [2, '1tbs', { | ||||
|       'allowSingleLine': true | ||||
|     }], | ||||
|     'camelcase': [0, { | ||||
|       'properties': 'always' | ||||
|     }], | ||||
|     'comma-dangle': [2, 'never'], | ||||
|     'comma-spacing': [2, { | ||||
|       'before': false, | ||||
|       'after': true | ||||
|     }], | ||||
|     'comma-style': [2, 'last'], | ||||
|     'constructor-super': 2, | ||||
|     'curly': [2, 'multi-line'], | ||||
|     'dot-location': [2, 'property'], | ||||
|     'eol-last': 2, | ||||
|     'eqeqeq': ["error", "always", {"null": "ignore"}], | ||||
|     'generator-star-spacing': [2, { | ||||
|       'before': true, | ||||
|       'after': true | ||||
|     }], | ||||
|     'handle-callback-err': [2, '^(err|error)$'], | ||||
|     'indent': [2, 2, { | ||||
|       'SwitchCase': 1 | ||||
|     }], | ||||
|     'jsx-quotes': [2, 'prefer-single'], | ||||
|     'key-spacing': [2, { | ||||
|       'beforeColon': false, | ||||
|       'afterColon': true | ||||
|     }], | ||||
|     'keyword-spacing': [2, { | ||||
|       'before': true, | ||||
|       'after': true | ||||
|     }], | ||||
|     'new-cap': [2, { | ||||
|       'newIsCap': true, | ||||
|       'capIsNew': false | ||||
|     }], | ||||
|     'new-parens': 2, | ||||
|     'no-array-constructor': 2, | ||||
|     'no-caller': 2, | ||||
|     'no-console': 'off', | ||||
|     'no-class-assign': 2, | ||||
|     'no-cond-assign': 2, | ||||
|     'no-const-assign': 2, | ||||
|     'no-control-regex': 0, | ||||
|     'no-delete-var': 2, | ||||
|     'no-dupe-args': 2, | ||||
|     'no-dupe-class-members': 2, | ||||
|     'no-dupe-keys': 2, | ||||
|     'no-duplicate-case': 2, | ||||
|     'no-empty-character-class': 2, | ||||
|     'no-empty-pattern': 2, | ||||
|     'no-eval': 2, | ||||
|     'no-ex-assign': 2, | ||||
|     'no-extend-native': 2, | ||||
|     'no-extra-bind': 2, | ||||
|     'no-extra-boolean-cast': 2, | ||||
|     'no-extra-parens': [2, 'functions'], | ||||
|     'no-fallthrough': 2, | ||||
|     'no-floating-decimal': 2, | ||||
|     'no-func-assign': 2, | ||||
|     'no-implied-eval': 2, | ||||
|     'no-inner-declarations': [2, 'functions'], | ||||
|     'no-invalid-regexp': 2, | ||||
|     'no-irregular-whitespace': 2, | ||||
|     'no-iterator': 2, | ||||
|     'no-label-var': 2, | ||||
|     'no-labels': [2, { | ||||
|       'allowLoop': false, | ||||
|       'allowSwitch': false | ||||
|     }], | ||||
|     'no-lone-blocks': 2, | ||||
|     'no-mixed-spaces-and-tabs': 2, | ||||
|     'no-multi-spaces': 2, | ||||
|     'no-multi-str': 2, | ||||
|     'no-multiple-empty-lines': [2, { | ||||
|       'max': 1 | ||||
|     }], | ||||
|     'no-native-reassign': 2, | ||||
|     'no-negated-in-lhs': 2, | ||||
|     'no-new-object': 2, | ||||
|     'no-new-require': 2, | ||||
|     'no-new-symbol': 2, | ||||
|     'no-new-wrappers': 2, | ||||
|     'no-obj-calls': 2, | ||||
|     'no-octal': 2, | ||||
|     'no-octal-escape': 2, | ||||
|     'no-path-concat': 2, | ||||
|     'no-proto': 2, | ||||
|     'no-redeclare': 2, | ||||
|     'no-regex-spaces': 2, | ||||
|     'no-return-assign': [2, 'except-parens'], | ||||
|     'no-self-assign': 2, | ||||
|     'no-self-compare': 2, | ||||
|     'no-sequences': 2, | ||||
|     'no-shadow-restricted-names': 2, | ||||
|     'no-spaced-func': 2, | ||||
|     'no-sparse-arrays': 2, | ||||
|     'no-this-before-super': 2, | ||||
|     'no-throw-literal': 2, | ||||
|     'no-trailing-spaces': 2, | ||||
|     'no-undef': 2, | ||||
|     'no-undef-init': 2, | ||||
|     'no-unexpected-multiline': 2, | ||||
|     'no-unmodified-loop-condition': 2, | ||||
|     'no-unneeded-ternary': [2, { | ||||
|       'defaultAssignment': false | ||||
|     }], | ||||
|     'no-unreachable': 2, | ||||
|     'no-unsafe-finally': 2, | ||||
|     'no-unused-vars': [2, { | ||||
|       'vars': 'all', | ||||
|       'args': 'none' | ||||
|     }], | ||||
|     'no-useless-call': 2, | ||||
|     'no-useless-computed-key': 2, | ||||
|     'no-useless-constructor': 2, | ||||
|     'no-useless-escape': 0, | ||||
|     'no-whitespace-before-property': 2, | ||||
|     'no-with': 2, | ||||
|     'one-var': [2, { | ||||
|       'initialized': 'never' | ||||
|     }], | ||||
|     'operator-linebreak': [2, 'after', { | ||||
|       'overrides': { | ||||
|         '?': 'before', | ||||
|         ':': 'before' | ||||
|       } | ||||
|     }], | ||||
|     'padded-blocks': [2, 'never'], | ||||
|     'quotes': [2, 'single', { | ||||
|       'avoidEscape': true, | ||||
|       'allowTemplateLiterals': true | ||||
|     }], | ||||
|     'semi': [2, 'never'], | ||||
|     'semi-spacing': [2, { | ||||
|       'before': false, | ||||
|       'after': true | ||||
|     }], | ||||
|     'space-before-blocks': [2, 'always'], | ||||
|     'space-before-function-paren': [2, 'never'], | ||||
|     'space-in-parens': [2, 'never'], | ||||
|     'space-infix-ops': 2, | ||||
|     'space-unary-ops': [2, { | ||||
|       'words': true, | ||||
|       'nonwords': false | ||||
|     }], | ||||
|     'spaced-comment': [2, 'always', { | ||||
|       'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] | ||||
|     }], | ||||
|     'template-curly-spacing': [2, 'never'], | ||||
|     'use-isnan': 2, | ||||
|     'valid-typeof': 2, | ||||
|     'wrap-iife': [2, 'any'], | ||||
|     'yield-star-spacing': [2, 'both'], | ||||
|     'yoda': [2, 'never'], | ||||
|     'prefer-const': 2, | ||||
|     'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, | ||||
|     'object-curly-spacing': [2, 'always', { | ||||
|       objectsInObjects: false | ||||
|     }], | ||||
|     'array-bracket-spacing': [2, 'never'] | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,8 @@@@ -0,0 +1,8 @@ | ||||
| # Default ignored files | ||||
| /shelf/ | ||||
| /workspace.xml | ||||
| # Editor-based HTTP Client requests | ||||
| /httpRequests/ | ||||
| # Datasource local storage ignored files | ||||
| /dataSources/ | ||||
| /dataSources.local.xml | ||||
| @ -0,0 +1,6 @@@@ -0,0 +1,6 @@ | ||||
| <component name="InspectionProjectProfileManager"> | ||||
|   <profile version="1.0"> | ||||
|     <option name="myName" value="Project Default" /> | ||||
|     <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" /> | ||||
|   </profile> | ||||
| </component> | ||||
| @ -0,0 +1,6 @@@@ -0,0 +1,6 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="ProjectRootManager"> | ||||
|     <output url="file://$PROJECT_DIR$/out" /> | ||||
|   </component> | ||||
| </project> | ||||
| @ -0,0 +1,8 @@@@ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project version="4"> | ||||
|   <component name="ProjectModuleManager"> | ||||
|     <modules> | ||||
|       <module fileurl="file://$PROJECT_DIR$/.idea/ruoyi-ui.iml" filepath="$PROJECT_DIR$/.idea/ruoyi-ui.iml" /> | ||||
|     </modules> | ||||
|   </component> | ||||
| </project> | ||||
| @ -0,0 +1,9 @@@@ -0,0 +1,9 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <module type="JAVA_MODULE" version="4"> | ||||
|   <component name="NewModuleRootManager" inherit-compiler-output="true"> | ||||
|     <exclude-output /> | ||||
|     <content url="file://$MODULE_DIR$" /> | ||||
|     <orderEntry type="inheritedJdk" /> | ||||
|     <orderEntry type="sourceFolder" forTests="false" /> | ||||
|   </component> | ||||
| </module> | ||||
| @ -0,0 +1,30 @@@@ -0,0 +1,30 @@ | ||||
| ## 开发 | ||||
| 
 | ||||
| ```bash | ||||
| # 克隆项目 | ||||
| git clone https://gitee.com/y_project/RuoYi-Vue | ||||
| 
 | ||||
| # 进入项目目录 | ||||
| cd ruoyi-ui | ||||
| 
 | ||||
| # 安装依赖 | ||||
| npm install | ||||
| 
 | ||||
| # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 | ||||
| npm install --registry=https://registry.npmmirror.com | ||||
| 
 | ||||
| # 启动服务 | ||||
| npm run dev | ||||
| ``` | ||||
| 
 | ||||
| 浏览器访问 http://localhost:80 | ||||
| 
 | ||||
| ## 发布 | ||||
| 
 | ||||
| ```bash | ||||
| # 构建测试环境 | ||||
| npm run build:stage | ||||
| 
 | ||||
| # 构建生产环境 | ||||
| npm run build:prod | ||||
| ``` | ||||
| @ -0,0 +1,13 @@@@ -0,0 +1,13 @@ | ||||
| module.exports = { | ||||
|   presets: [ | ||||
|     // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
 | ||||
|     '@vue/cli-plugin-babel/preset' | ||||
|   ], | ||||
|   'env': { | ||||
|     'development': { | ||||
|       // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
 | ||||
|       // This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
 | ||||
|       'plugins': ['dynamic-import-node'] | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,12 @@@@ -0,0 +1,12 @@ | ||||
| @echo off | ||||
| echo. | ||||
| echo [信息] 打包Web工程,生成dist文件。 | ||||
| echo. | ||||
| 
 | ||||
| %~d0 | ||||
| cd %~dp0 | ||||
| 
 | ||||
| cd .. | ||||
| npm run build:prod | ||||
| 
 | ||||
| pause | ||||
| @ -0,0 +1,12 @@@@ -0,0 +1,12 @@ | ||||
| @echo off | ||||
| echo. | ||||
| echo [信息] 安装Web工程,生成node_modules文件。 | ||||
| echo. | ||||
| 
 | ||||
| %~d0 | ||||
| cd %~dp0 | ||||
| 
 | ||||
| cd .. | ||||
| npm install --registry=https://registry.npmmirror.com | ||||
| 
 | ||||
| pause | ||||
| @ -0,0 +1,12 @@@@ -0,0 +1,12 @@ | ||||
| @echo off | ||||
| echo. | ||||
| echo [信息] 使用 Vue CLI 命令运行 Web 工程。 | ||||
| echo. | ||||
| 
 | ||||
| %~d0 | ||||
| cd %~dp0 | ||||
| 
 | ||||
| cd .. | ||||
| npm run dev | ||||
| 
 | ||||
| pause | ||||
| @ -0,0 +1,35 @@@@ -0,0 +1,35 @@ | ||||
| const { run } = require('runjs') | ||||
| const chalk = require('chalk') | ||||
| const config = require('../vue.config.js') | ||||
| const rawArgv = process.argv.slice(2) | ||||
| const args = rawArgv.join(' ') | ||||
| 
 | ||||
| if (process.env.npm_config_preview || rawArgv.includes('--preview')) { | ||||
|   const report = rawArgv.includes('--report') | ||||
| 
 | ||||
|   run(`vue-cli-service build ${args}`) | ||||
| 
 | ||||
|   const port = 9526 | ||||
|   const publicPath = config.publicPath | ||||
| 
 | ||||
|   var connect = require('connect') | ||||
|   var serveStatic = require('serve-static') | ||||
|   const app = connect() | ||||
| 
 | ||||
|   app.use( | ||||
|     publicPath, | ||||
|     serveStatic('./dist', { | ||||
|       index: ['index.html', '/'] | ||||
|     }) | ||||
|   ) | ||||
| 
 | ||||
|   app.listen(port, function () { | ||||
|     console.log(chalk.green(`> Preview at  http://localhost:${port}${publicPath}`)) | ||||
|     if (report) { | ||||
|       console.log(chalk.green(`> Report at  http://localhost:${port}${publicPath}report.html`)) | ||||
|     } | ||||
| 
 | ||||
|   }) | ||||
| } else { | ||||
|   run(`vue-cli-service build ${args}`) | ||||
| } | ||||
| @ -0,0 +1,90 @@@@ -0,0 +1,90 @@ | ||||
| { | ||||
|   "name": "ruoyi", | ||||
|   "version": "3.8.2", | ||||
|   "description": "若依管理系统", | ||||
|   "author": "若依", | ||||
|   "license": "MIT", | ||||
|   "scripts": { | ||||
|     "dev": "vue-cli-service serve", | ||||
|     "build:prod": "vue-cli-service build", | ||||
|     "build:stage": "vue-cli-service build --mode staging", | ||||
|     "preview": "node build/index.js --preview", | ||||
|     "lint": "eslint --ext .js,.vue src" | ||||
|   }, | ||||
|   "husky": { | ||||
|     "hooks": { | ||||
|       "pre-commit": "lint-staged" | ||||
|     } | ||||
|   }, | ||||
|   "lint-staged": { | ||||
|     "src/**/*.{js,vue}": [ | ||||
|       "eslint --fix", | ||||
|       "git add" | ||||
|     ] | ||||
|   }, | ||||
|   "keywords": [ | ||||
|     "vue", | ||||
|     "admin", | ||||
|     "dashboard", | ||||
|     "element-ui", | ||||
|     "boilerplate", | ||||
|     "admin-template", | ||||
|     "management-system" | ||||
|   ], | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "https://gitee.com/y_project/RuoYi-Vue.git" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@riophae/vue-treeselect": "0.4.0", | ||||
|     "axios": "0.24.0", | ||||
|     "clipboard": "2.0.8", | ||||
|     "core-js": "3.19.1", | ||||
|     "echarts": "^4.9.0", | ||||
|     "element-ui": "2.15.8", | ||||
|     "file-saver": "2.0.5", | ||||
|     "fuse.js": "6.4.3", | ||||
|     "highlight.js": "9.18.5", | ||||
|     "js-beautify": "1.13.0", | ||||
|     "js-cookie": "3.0.1", | ||||
|     "jsencrypt": "3.0.0-rc.1", | ||||
|     "nprogress": "0.2.0", | ||||
|     "quill": "1.3.7", | ||||
|     "screenfull": "5.0.2", | ||||
|     "sortablejs": "1.10.2", | ||||
|     "vue": "2.6.12", | ||||
|     "vue-count-to": "1.0.13", | ||||
|     "vue-cropper": "0.5.5", | ||||
|     "vue-meta": "2.4.0", | ||||
|     "vue-router": "3.4.9", | ||||
|     "vuedraggable": "2.24.3", | ||||
|     "vuex": "3.6.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@vue/cli-plugin-babel": "4.4.6", | ||||
|     "@vue/cli-plugin-eslint": "4.4.6", | ||||
|     "@vue/cli-service": "4.4.6", | ||||
|     "babel-eslint": "10.1.0", | ||||
|     "babel-plugin-dynamic-import-node": "2.3.3", | ||||
|     "chalk": "4.1.0", | ||||
|     "compression-webpack-plugin": "5.0.2", | ||||
|     "connect": "3.6.6", | ||||
|     "eslint": "7.15.0", | ||||
|     "eslint-plugin-vue": "7.2.0", | ||||
|     "lint-staged": "10.5.3", | ||||
|     "runjs": "4.4.2", | ||||
|     "sass": "1.32.13", | ||||
|     "sass-loader": "10.1.1", | ||||
|     "script-ext-html-webpack-plugin": "2.1.5", | ||||
|     "svg-sprite-loader": "5.1.1", | ||||
|     "vue-template-compiler": "2.6.12" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">=8.9", | ||||
|     "npm": ">= 3.0.0" | ||||
|   }, | ||||
|   "browserslist": [ | ||||
|     "> 1%", | ||||
|     "last 2 versions" | ||||
|   ] | ||||
| } | ||||
| After Width: | Height: | Size: 5.5 KiB | 
									
										
											File diff suppressed because one or more lines are too long
										
									
								
							
						| @ -0,0 +1,208 @@@@ -0,0 +1,208 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||||
|     <meta name="renderer" content="webkit"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | ||||
|     <link rel="icon" href="<%= BASE_URL %>favicon.ico"> | ||||
|     <title><%= webpackConfig.name %></title> | ||||
|     <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> | ||||
| 	  <style> | ||||
|     html, | ||||
|     body, | ||||
|     #app { | ||||
|       height: 100%; | ||||
|       margin: 0px; | ||||
|       padding: 0px; | ||||
|     } | ||||
|     .chromeframe { | ||||
|       margin: 0.2em 0; | ||||
|       background: #ccc; | ||||
|       color: #000; | ||||
|       padding: 0.2em 0; | ||||
|     } | ||||
| 
 | ||||
|     #loader-wrapper { | ||||
|       position: fixed; | ||||
|       top: 0; | ||||
|       left: 0; | ||||
|       width: 100%; | ||||
|       height: 100%; | ||||
|       z-index: 999999; | ||||
|     } | ||||
| 
 | ||||
|     #loader { | ||||
|       display: block; | ||||
|       position: relative; | ||||
|       left: 50%; | ||||
|       top: 50%; | ||||
|       width: 150px; | ||||
|       height: 150px; | ||||
|       margin: -75px 0 0 -75px; | ||||
|       border-radius: 50%; | ||||
|       border: 3px solid transparent; | ||||
|       border-top-color: #FFF; | ||||
|       -webkit-animation: spin 2s linear infinite; | ||||
|       -ms-animation: spin 2s linear infinite; | ||||
|       -moz-animation: spin 2s linear infinite; | ||||
|       -o-animation: spin 2s linear infinite; | ||||
|       animation: spin 2s linear infinite; | ||||
|       z-index: 1001; | ||||
|     } | ||||
| 
 | ||||
|     #loader:before { | ||||
|       content: ""; | ||||
|       position: absolute; | ||||
|       top: 5px; | ||||
|       left: 5px; | ||||
|       right: 5px; | ||||
|       bottom: 5px; | ||||
|       border-radius: 50%; | ||||
|       border: 3px solid transparent; | ||||
|       border-top-color: #FFF; | ||||
|       -webkit-animation: spin 3s linear infinite; | ||||
|       -moz-animation: spin 3s linear infinite; | ||||
|       -o-animation: spin 3s linear infinite; | ||||
|       -ms-animation: spin 3s linear infinite; | ||||
|       animation: spin 3s linear infinite; | ||||
|     } | ||||
| 
 | ||||
|     #loader:after { | ||||
|       content: ""; | ||||
|       position: absolute; | ||||
|       top: 15px; | ||||
|       left: 15px; | ||||
|       right: 15px; | ||||
|       bottom: 15px; | ||||
|       border-radius: 50%; | ||||
|       border: 3px solid transparent; | ||||
|       border-top-color: #FFF; | ||||
|       -moz-animation: spin 1.5s linear infinite; | ||||
|       -o-animation: spin 1.5s linear infinite; | ||||
|       -ms-animation: spin 1.5s linear infinite; | ||||
|       -webkit-animation: spin 1.5s linear infinite; | ||||
|       animation: spin 1.5s linear infinite; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     @-webkit-keyframes spin { | ||||
|       0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         -ms-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|       } | ||||
|       100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         -ms-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     @keyframes spin { | ||||
|       0% { | ||||
|         -webkit-transform: rotate(0deg); | ||||
|         -ms-transform: rotate(0deg); | ||||
|         transform: rotate(0deg); | ||||
|       } | ||||
|       100% { | ||||
|         -webkit-transform: rotate(360deg); | ||||
|         -ms-transform: rotate(360deg); | ||||
|         transform: rotate(360deg); | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     #loader-wrapper .loader-section { | ||||
|       position: fixed; | ||||
|       top: 0; | ||||
|       width: 51%; | ||||
|       height: 100%; | ||||
|       background: #7171C6; | ||||
|       z-index: 1000; | ||||
|       -webkit-transform: translateX(0); | ||||
|       -ms-transform: translateX(0); | ||||
|       transform: translateX(0); | ||||
|     } | ||||
| 
 | ||||
|     #loader-wrapper .loader-section.section-left { | ||||
|       left: 0; | ||||
|     } | ||||
| 
 | ||||
|     #loader-wrapper .loader-section.section-right { | ||||
|       right: 0; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     .loaded #loader-wrapper .loader-section.section-left { | ||||
|       -webkit-transform: translateX(-100%); | ||||
|       -ms-transform: translateX(-100%); | ||||
|       transform: translateX(-100%); | ||||
|       -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); | ||||
|       transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); | ||||
|     } | ||||
| 
 | ||||
|     .loaded #loader-wrapper .loader-section.section-right { | ||||
|       -webkit-transform: translateX(100%); | ||||
|       -ms-transform: translateX(100%); | ||||
|       transform: translateX(100%); | ||||
|       -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); | ||||
|       transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); | ||||
|     } | ||||
| 
 | ||||
|     .loaded #loader { | ||||
|       opacity: 0; | ||||
|       -webkit-transition: all 0.3s ease-out; | ||||
|       transition: all 0.3s ease-out; | ||||
|     } | ||||
| 
 | ||||
|     .loaded #loader-wrapper { | ||||
|       visibility: hidden; | ||||
|       -webkit-transform: translateY(-100%); | ||||
|       -ms-transform: translateY(-100%); | ||||
|       transform: translateY(-100%); | ||||
|       -webkit-transition: all 0.3s 1s ease-out; | ||||
|       transition: all 0.3s 1s ease-out; | ||||
|     } | ||||
| 
 | ||||
|     .no-js #loader-wrapper { | ||||
|       display: none; | ||||
|     } | ||||
| 
 | ||||
|     .no-js h1 { | ||||
|       color: #222222; | ||||
|     } | ||||
| 
 | ||||
|     #loader-wrapper .load_title { | ||||
|       font-family: 'Open Sans'; | ||||
|       color: #FFF; | ||||
|       font-size: 19px; | ||||
|       width: 100%; | ||||
|       text-align: center; | ||||
|       z-index: 9999999999999; | ||||
|       position: absolute; | ||||
|       top: 60%; | ||||
|       opacity: 1; | ||||
|       line-height: 30px; | ||||
|     } | ||||
| 
 | ||||
|     #loader-wrapper .load_title span { | ||||
|       font-weight: normal; | ||||
|       font-style: italic; | ||||
|       font-size: 13px; | ||||
|       color: #FFF; | ||||
|       opacity: 0.5; | ||||
|     } | ||||
|   </style> | ||||
|   </head> | ||||
|   <body> | ||||
|     <div id="app"> | ||||
| 	    <div id="loader-wrapper"> | ||||
| 		    <div id="loader"></div> | ||||
| 		    <div class="loader-section section-left"></div> | ||||
| 		    <div class="loader-section section-right"></div> | ||||
| 		    <div class="load_title">正在加载系统资源,请耐心等待</div> | ||||
|         </div> | ||||
| 	</div> | ||||
|   </body> | ||||
| </html> | ||||
| @ -0,0 +1,19 @@@@ -0,0 +1,19 @@ | ||||
| <template> | ||||
|   <div id="app"> | ||||
|     <router-view /> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| export default  { | ||||
|   name:  'App', | ||||
|     metaInfo() { | ||||
|         return { | ||||
|             title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title, | ||||
|             titleTemplate: title => { | ||||
|                 return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| </script> | ||||
| @ -0,0 +1,59 @@@@ -0,0 +1,59 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 登录方法
 | ||||
| export function login(username, password, code, uuid) { | ||||
|   const data = { | ||||
|     username, | ||||
|     password, | ||||
|     code, | ||||
|     uuid | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/login', | ||||
|     headers: { | ||||
|       isToken: false | ||||
|     }, | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 注册方法
 | ||||
| export function register(data) { | ||||
|   return request({ | ||||
|     url: '/register', | ||||
|     headers: { | ||||
|       isToken: false | ||||
|     }, | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 获取用户详细信息
 | ||||
| export function getInfo() { | ||||
|   return request({ | ||||
|     url: '/getInfo', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 退出方法
 | ||||
| export function logout() { | ||||
|   return request({ | ||||
|     url: '/logout', | ||||
|     method: 'post' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 获取验证码
 | ||||
| export function getCodeImg() { | ||||
|   return request({ | ||||
|     url: '/captchaImage', | ||||
|     headers: { | ||||
|       isToken: false | ||||
|     }, | ||||
|     method: 'get', | ||||
|     timeout: 20000 | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,9 @@@@ -0,0 +1,9 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 获取路由
 | ||||
| export const getRouters = () => { | ||||
|   return request({ | ||||
|     url: '/getRouters', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,9 @@@@ -0,0 +1,9 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询缓存详细
 | ||||
| export function getCache() { | ||||
|   return request({ | ||||
|     url: '/monitor/cache', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,71 @@@@ -0,0 +1,71 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询定时任务调度列表
 | ||||
| export function listJob(query) { | ||||
|   return request({ | ||||
|     url: '/monitor/job/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询定时任务调度详细
 | ||||
| export function getJob(jobId) { | ||||
|   return request({ | ||||
|     url: '/monitor/job/' + jobId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增定时任务调度
 | ||||
| export function addJob(data) { | ||||
|   return request({ | ||||
|     url: '/monitor/job', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改定时任务调度
 | ||||
| export function updateJob(data) { | ||||
|   return request({ | ||||
|     url: '/monitor/job', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除定时任务调度
 | ||||
| export function delJob(jobId) { | ||||
|   return request({ | ||||
|     url: '/monitor/job/' + jobId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 任务状态修改
 | ||||
| export function changeJobStatus(jobId, status) { | ||||
|   const data = { | ||||
|     jobId, | ||||
|     status | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/monitor/job/changeStatus', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // 定时任务立即执行一次
 | ||||
| export function runJob(jobId, jobGroup) { | ||||
|   const data = { | ||||
|     jobId, | ||||
|     jobGroup | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/monitor/job/run', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,26 @@@@ -0,0 +1,26 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询调度日志列表
 | ||||
| export function listJobLog(query) { | ||||
|   return request({ | ||||
|     url: '/monitor/jobLog/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除调度日志
 | ||||
| export function delJobLog(jobLogId) { | ||||
|   return request({ | ||||
|     url: '/monitor/jobLog/' + jobLogId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 清空调度日志
 | ||||
| export function cleanJobLog() { | ||||
|   return request({ | ||||
|     url: '/monitor/jobLog/clean', | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,26 @@@@ -0,0 +1,26 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询登录日志列表
 | ||||
| export function list(query) { | ||||
|   return request({ | ||||
|     url: '/monitor/logininfor/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除登录日志
 | ||||
| export function delLogininfor(infoId) { | ||||
|   return request({ | ||||
|     url: '/monitor/logininfor/' + infoId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 清空登录日志
 | ||||
| export function cleanLogininfor() { | ||||
|   return request({ | ||||
|     url: '/monitor/logininfor/clean', | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,18 @@@@ -0,0 +1,18 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询在线用户列表
 | ||||
| export function list(query) { | ||||
|   return request({ | ||||
|     url: '/monitor/online/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 强退用户
 | ||||
| export function forceLogout(tokenId) { | ||||
|   return request({ | ||||
|     url: '/monitor/online/' + tokenId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,26 @@@@ -0,0 +1,26 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询操作日志列表
 | ||||
| export function list(query) { | ||||
|   return request({ | ||||
|     url: '/monitor/operlog/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除操作日志
 | ||||
| export function delOperlog(operId) { | ||||
|   return request({ | ||||
|     url: '/monitor/operlog/' + operId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 清空操作日志
 | ||||
| export function cleanOperlog() { | ||||
|   return request({ | ||||
|     url: '/monitor/operlog/clean', | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,9 @@@@ -0,0 +1,9 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 获取服务信息
 | ||||
| export function getServer() { | ||||
|   return request({ | ||||
|     url: '/monitor/server', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,60 @@@@ -0,0 +1,60 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询参数列表
 | ||||
| export function listConfig(query) { | ||||
|   return request({ | ||||
|     url: '/system/config/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询参数详细
 | ||||
| export function getConfig(configId) { | ||||
|   return request({ | ||||
|     url: '/system/config/' + configId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 根据参数键名查询参数值
 | ||||
| export function getConfigKey(configKey) { | ||||
|   return request({ | ||||
|     url: '/system/config/configKey/' + configKey, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增参数配置
 | ||||
| export function addConfig(data) { | ||||
|   return request({ | ||||
|     url: '/system/config', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改参数配置
 | ||||
| export function updateConfig(data) { | ||||
|   return request({ | ||||
|     url: '/system/config', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除参数配置
 | ||||
| export function delConfig(configId) { | ||||
|   return request({ | ||||
|     url: '/system/config/' + configId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 刷新参数缓存
 | ||||
| export function refreshCache() { | ||||
|   return request({ | ||||
|     url: '/system/config/refreshCache', | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,68 @@@@ -0,0 +1,68 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询部门列表
 | ||||
| export function listDept(query) { | ||||
|   return request({ | ||||
|     url: '/system/dept/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询部门列表(排除节点)
 | ||||
| export function listDeptExcludeChild(deptId) { | ||||
|   return request({ | ||||
|     url: '/system/dept/list/exclude/' + deptId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询部门详细
 | ||||
| export function getDept(deptId) { | ||||
|   return request({ | ||||
|     url: '/system/dept/' + deptId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询部门下拉树结构
 | ||||
| export function treeselect() { | ||||
|   return request({ | ||||
|     url: '/system/dept/treeselect', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 根据角色ID查询部门树结构
 | ||||
| export function roleDeptTreeselect(roleId) { | ||||
|   return request({ | ||||
|     url: '/system/dept/roleDeptTreeselect/' + roleId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增部门
 | ||||
| export function addDept(data) { | ||||
|   return request({ | ||||
|     url: '/system/dept', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改部门
 | ||||
| export function updateDept(data) { | ||||
|   return request({ | ||||
|     url: '/system/dept', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除部门
 | ||||
| export function delDept(deptId) { | ||||
|   return request({ | ||||
|     url: '/system/dept/' + deptId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,52 @@@@ -0,0 +1,52 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询字典数据列表
 | ||||
| export function listData(query) { | ||||
|   return request({ | ||||
|     url: '/system/dict/data/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询字典数据详细
 | ||||
| export function getData(dictCode) { | ||||
|   return request({ | ||||
|     url: '/system/dict/data/' + dictCode, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 根据字典类型查询字典数据信息
 | ||||
| export function getDicts(dictType) { | ||||
|   return request({ | ||||
|     url: '/system/dict/data/type/' + dictType, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增字典数据
 | ||||
| export function addData(data) { | ||||
|   return request({ | ||||
|     url: '/system/dict/data', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改字典数据
 | ||||
| export function updateData(data) { | ||||
|   return request({ | ||||
|     url: '/system/dict/data', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除字典数据
 | ||||
| export function delData(dictCode) { | ||||
|   return request({ | ||||
|     url: '/system/dict/data/' + dictCode, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,60 @@@@ -0,0 +1,60 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询字典类型列表
 | ||||
| export function listType(query) { | ||||
|   return request({ | ||||
|     url: '/system/dict/type/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询字典类型详细
 | ||||
| export function getType(dictId) { | ||||
|   return request({ | ||||
|     url: '/system/dict/type/' + dictId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增字典类型
 | ||||
| export function addType(data) { | ||||
|   return request({ | ||||
|     url: '/system/dict/type', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改字典类型
 | ||||
| export function updateType(data) { | ||||
|   return request({ | ||||
|     url: '/system/dict/type', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除字典类型
 | ||||
| export function delType(dictId) { | ||||
|   return request({ | ||||
|     url: '/system/dict/type/' + dictId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 刷新字典缓存
 | ||||
| export function refreshCache() { | ||||
|   return request({ | ||||
|     url: '/system/dict/type/refreshCache', | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 获取字典选择框列表
 | ||||
| export function optionselect() { | ||||
|   return request({ | ||||
|     url: '/system/dict/type/optionselect', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,60 @@@@ -0,0 +1,60 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询菜单列表
 | ||||
| export function listMenu(query) { | ||||
|   return request({ | ||||
|     url: '/system/menu/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询菜单详细
 | ||||
| export function getMenu(menuId) { | ||||
|   return request({ | ||||
|     url: '/system/menu/' + menuId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询菜单下拉树结构
 | ||||
| export function treeselect() { | ||||
|   return request({ | ||||
|     url: '/system/menu/treeselect', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 根据角色ID查询菜单下拉树结构
 | ||||
| export function roleMenuTreeselect(roleId) { | ||||
|   return request({ | ||||
|     url: '/system/menu/roleMenuTreeselect/' + roleId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增菜单
 | ||||
| export function addMenu(data) { | ||||
|   return request({ | ||||
|     url: '/system/menu', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改菜单
 | ||||
| export function updateMenu(data) { | ||||
|   return request({ | ||||
|     url: '/system/menu', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除菜单
 | ||||
| export function delMenu(menuId) { | ||||
|   return request({ | ||||
|     url: '/system/menu/' + menuId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,44 @@@@ -0,0 +1,44 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询公告列表
 | ||||
| export function listNotice(query) { | ||||
|   return request({ | ||||
|     url: '/system/notice/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询公告详细
 | ||||
| export function getNotice(noticeId) { | ||||
|   return request({ | ||||
|     url: '/system/notice/' + noticeId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增公告
 | ||||
| export function addNotice(data) { | ||||
|   return request({ | ||||
|     url: '/system/notice', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改公告
 | ||||
| export function updateNotice(data) { | ||||
|   return request({ | ||||
|     url: '/system/notice', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除公告
 | ||||
| export function delNotice(noticeId) { | ||||
|   return request({ | ||||
|     url: '/system/notice/' + noticeId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,44 @@@@ -0,0 +1,44 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询岗位列表
 | ||||
| export function listPost(query) { | ||||
|   return request({ | ||||
|     url: '/system/post/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询岗位详细
 | ||||
| export function getPost(postId) { | ||||
|   return request({ | ||||
|     url: '/system/post/' + postId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增岗位
 | ||||
| export function addPost(data) { | ||||
|   return request({ | ||||
|     url: '/system/post', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改岗位
 | ||||
| export function updatePost(data) { | ||||
|   return request({ | ||||
|     url: '/system/post', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除岗位
 | ||||
| export function delPost(postId) { | ||||
|   return request({ | ||||
|     url: '/system/post/' + postId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,111 @@@@ -0,0 +1,111 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询角色列表
 | ||||
| export function listRole(query) { | ||||
|   return request({ | ||||
|     url: '/system/role/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询角色详细
 | ||||
| export function getRole(roleId) { | ||||
|   return request({ | ||||
|     url: '/system/role/' + roleId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增角色
 | ||||
| export function addRole(data) { | ||||
|   return request({ | ||||
|     url: '/system/role', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改角色
 | ||||
| export function updateRole(data) { | ||||
|   return request({ | ||||
|     url: '/system/role', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 角色数据权限
 | ||||
| export function dataScope(data) { | ||||
|   return request({ | ||||
|     url: '/system/role/dataScope', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 角色状态修改
 | ||||
| export function changeRoleStatus(roleId, status) { | ||||
|   const data = { | ||||
|     roleId, | ||||
|     status | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/system/role/changeStatus', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除角色
 | ||||
| export function delRole(roleId) { | ||||
|   return request({ | ||||
|     url: '/system/role/' + roleId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询角色已授权用户列表
 | ||||
| export function allocatedUserList(query) { | ||||
|   return request({ | ||||
|     url: '/system/role/authUser/allocatedList', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询角色未授权用户列表
 | ||||
| export function unallocatedUserList(query) { | ||||
|   return request({ | ||||
|     url: '/system/role/authUser/unallocatedList', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 取消用户授权角色
 | ||||
| export function authUserCancel(data) { | ||||
|   return request({ | ||||
|     url: '/system/role/authUser/cancel', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 批量取消用户授权角色
 | ||||
| export function authUserCancelAll(data) { | ||||
|   return request({ | ||||
|     url: '/system/role/authUser/cancelAll', | ||||
|     method: 'put', | ||||
|     params: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 授权用户选择
 | ||||
| export function authUserSelectAll(data) { | ||||
|   return request({ | ||||
|     url: '/system/role/authUser/selectAll', | ||||
|     method: 'put', | ||||
|     params: data | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,127 @@@@ -0,0 +1,127 @@ | ||||
| import request from '@/utils/request' | ||||
| import { parseStrEmpty } from "@/utils/ruoyi"; | ||||
| 
 | ||||
| // 查询用户列表
 | ||||
| export function listUser(query) { | ||||
|   return request({ | ||||
|     url: '/system/user/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询用户详细
 | ||||
| export function getUser(userId) { | ||||
|   return request({ | ||||
|     url: '/system/user/' + parseStrEmpty(userId), | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 新增用户
 | ||||
| export function addUser(data) { | ||||
|   return request({ | ||||
|     url: '/system/user', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改用户
 | ||||
| export function updateUser(data) { | ||||
|   return request({ | ||||
|     url: '/system/user', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除用户
 | ||||
| export function delUser(userId) { | ||||
|   return request({ | ||||
|     url: '/system/user/' + userId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 用户密码重置
 | ||||
| export function resetUserPwd(userId, password) { | ||||
|   const data = { | ||||
|     userId, | ||||
|     password | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/system/user/resetPwd', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 用户状态修改
 | ||||
| export function changeUserStatus(userId, status) { | ||||
|   const data = { | ||||
|     userId, | ||||
|     status | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/system/user/changeStatus', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询用户个人信息
 | ||||
| export function getUserProfile() { | ||||
|   return request({ | ||||
|     url: '/system/user/profile', | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改用户个人信息
 | ||||
| export function updateUserProfile(data) { | ||||
|   return request({ | ||||
|     url: '/system/user/profile', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 用户密码重置
 | ||||
| export function updateUserPwd(oldPassword, newPassword) { | ||||
|   const data = { | ||||
|     oldPassword, | ||||
|     newPassword | ||||
|   } | ||||
|   return request({ | ||||
|     url: '/system/user/profile/updatePwd', | ||||
|     method: 'put', | ||||
|     params: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 用户头像上传
 | ||||
| export function uploadAvatar(data) { | ||||
|   return request({ | ||||
|     url: '/system/user/profile/avatar', | ||||
|     method: 'post', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询授权角色
 | ||||
| export function getAuthRole(userId) { | ||||
|   return request({ | ||||
|     url: '/system/user/authRole/' + userId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 保存授权角色
 | ||||
| export function updateAuthRole(data) { | ||||
|   return request({ | ||||
|     url: '/system/user/authRole', | ||||
|     method: 'put', | ||||
|     params: data | ||||
|   }) | ||||
| } | ||||
| @ -0,0 +1,76 @@@@ -0,0 +1,76 @@ | ||||
| import request from '@/utils/request' | ||||
| 
 | ||||
| // 查询生成表数据
 | ||||
| export function listTable(query) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| // 查询db数据库列表
 | ||||
| export function listDbTable(query) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/db/list', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 查询表详细信息
 | ||||
| export function getGenTable(tableId) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/' + tableId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 修改代码生成信息
 | ||||
| export function updateGenTable(data) { | ||||
|   return request({ | ||||
|     url: '/tool/gen', | ||||
|     method: 'put', | ||||
|     data: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 导入表
 | ||||
| export function importTable(data) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/importTable', | ||||
|     method: 'post', | ||||
|     params: data | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 预览生成代码
 | ||||
| export function previewTable(tableId) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/preview/' + tableId, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 删除表数据
 | ||||
| export function delTable(tableId) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/' + tableId, | ||||
|     method: 'delete' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 生成代码(自定义路径)
 | ||||
| export function genCode(tableName) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/genCode/' + tableName, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| // 同步数据库
 | ||||
| export function synchDb(tableName) { | ||||
|   return request({ | ||||
|     url: '/tool/gen/synchDb/' + tableName, | ||||
|     method: 'get' | ||||
|   }) | ||||
| } | ||||
| After Width: | Height: | Size: 160 KiB | 
| After Width: | Height: | Size: 96 KiB | 
| After Width: | Height: | Size: 4.7 KiB | 
| @ -0,0 +1,9 @@@@ -0,0 +1,9 @@ | ||||
| import Vue from 'vue' | ||||
| import SvgIcon from '@/components/SvgIcon'// svg component
 | ||||
| 
 | ||||
| // register globally
 | ||||
| Vue.component('svg-icon', SvgIcon) | ||||
| 
 | ||||
| const req = require.context('./svg', false, /\.svg$/) | ||||
| const requireAll = requireContext => requireContext.keys().map(requireContext) | ||||
| requireAll(req) | ||||
| After Width: | Height: | Size: 1.8 KiB | 
Some files were not shown because too many files have changed in this diff Show More
					Loading…
					
					
				
		Reference in new issue