From abdb1048edb7fd54361b464492da3dcaa5c5a9da Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 13 二月 2020 10:47:14 +0800 Subject: [PATCH] 删除文件 ruoyi-ui --- /dev/null | 130 ------------------------------------------- 1 files changed, 0 insertions(+), 130 deletions(-) diff --git a/ruoyi-ui/.editorconfig b/ruoyi-ui/.editorconfig deleted file mode 100644 index 22d302e..0000000 --- a/ruoyi-ui/.editorconfig +++ /dev/null @@ -1,22 +0,0 @@ -# 鍛婅瘔EditorConfig鎻掍欢锛岃繖鏄牴鏂囦欢锛屼笉鐢ㄧ户缁線涓婃煡鎵� -root = true - -# 鍖归厤鍏ㄩ儴鏂囦欢 -[*] -# 璁剧疆瀛楃闆� -charset = utf-8 -# 缂╄繘椋庢牸锛屽彲閫塻pace銆乼ab -indent_style = space -# 缂╄繘鐨勭┖鏍兼暟 -indent_size = 2 -# 缁撳熬鎹㈣绗︼紝鍙�塴f銆乧r銆乧rlf -end_of_line = lf -# 鍦ㄦ枃浠剁粨灏炬彃鍏ユ柊琛� -insert_final_newline = true -# 鍒犻櫎涓�琛屼腑鐨勫墠鍚庣┖鏍� -trim_trailing_whitespace = true - -# 鍖归厤md缁撳熬鐨勬枃浠� -[*.md] -insert_final_newline = false -trim_trailing_whitespace = false diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development deleted file mode 100644 index 0cb1c61..0000000 --- a/ruoyi-ui/.env.development +++ /dev/null @@ -1,8 +0,0 @@ -# 寮�鍙戠幆澧冮厤缃� -ENV = 'development' - -# 鑻ヤ緷绠$悊绯荤粺/寮�鍙戠幆澧� -VUE_APP_BASE_API = '/dev-api' - -# 璺敱鎳掑姞杞� -VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production deleted file mode 100644 index a8e4af3..0000000 --- a/ruoyi-ui/.env.production +++ /dev/null @@ -1,5 +0,0 @@ -# 鐢熶骇鐜閰嶇疆 -ENV = 'production' - -# 鑻ヤ緷绠$悊绯荤粺/鐢熶骇鐜 -VUE_APP_BASE_API = '/prod-api' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging deleted file mode 100644 index 41d4817..0000000 --- a/ruoyi-ui/.env.staging +++ /dev/null @@ -1,7 +0,0 @@ -NODE_ENV = production - -# 娴嬭瘯鐜閰嶇疆 -ENV = 'staging' - -# 鑻ヤ緷绠$悊绯荤粺/娴嬭瘯鐜 -VUE_APP_BASE_API = '/stage-api' diff --git a/ruoyi-ui/.eslintignore b/ruoyi-ui/.eslintignore deleted file mode 100644 index 7dd2c2a..0000000 --- a/ruoyi-ui/.eslintignore +++ /dev/null @@ -1,10 +0,0 @@ -# 蹇界暐build鐩綍涓嬬被鍨嬩负js鐨勬枃浠剁殑璇硶妫�鏌� -build/*.js -# 蹇界暐src/assets鐩綍涓嬫枃浠剁殑璇硶妫�鏌� -src/assets -# 蹇界暐public鐩綍涓嬫枃浠剁殑璇硶妫�鏌� -public -# 蹇界暐褰撳墠鐩綍涓嬩负js鐨勬枃浠剁殑璇硶妫�鏌� -*.js -# 蹇界暐褰撳墠鐩綍涓嬩负vue鐨勬枃浠剁殑璇硶妫�鏌� -*.vue \ No newline at end of file diff --git a/ruoyi-ui/.eslintrc.js b/ruoyi-ui/.eslintrc.js deleted file mode 100644 index b321fbe..0000000 --- a/ruoyi-ui/.eslintrc.js +++ /dev/null @@ -1,199 +0,0 @@ -// 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'] - } -} diff --git a/ruoyi-ui/.gitignore b/ruoyi-ui/.gitignore deleted file mode 100644 index 2c9b3a7..0000000 --- a/ruoyi-ui/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -.DS_Store -node_modules/ -dist/ -npm-debug.log* -yarn-debug.log* -yarn-error.log* -**/*.log - -tests/**/coverage/ -tests/e2e/reports -selenium-debug.log - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.local - -package-lock.json -yarn.lock diff --git a/ruoyi-ui/README.md b/ruoyi-ui/README.md deleted file mode 100644 index 1b108f3..0000000 --- a/ruoyi-ui/README.md +++ /dev/null @@ -1,30 +0,0 @@ -## 开发 - -```bash -# 克隆项目 -git clone https://gitee.com/y_project/RuoYi-Vue - -# 进入项目目录 -cd ruoyi-ui - -# 安装依赖 -npm install - -# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 -npm install --registry=https://registry.npm.taobao.org - -# 启动服务 -npm run dev -``` - -浏览器访问 http://localhost:80 - -## 发布 - -```bash -# 构建测试环境 -npm run build:stage - -# 构建生产环境 -npm run build:prod -``` \ No newline at end of file diff --git a/ruoyi-ui/babel.config.js b/ruoyi-ui/babel.config.js deleted file mode 100644 index c8e69f5..0000000 --- a/ruoyi-ui/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/app' - ] -} diff --git a/ruoyi-ui/bin/package.bat b/ruoyi-ui/bin/package.bat deleted file mode 100644 index ecc8db4..0000000 --- a/ruoyi-ui/bin/package.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -echo. -echo [信息] 打包Web工程,生成node_modules包文件。 -echo. - -%~d0 -cd %~dp0 - -cd .. -npm install --registry=https://registry.npm.taobao.org - -pause \ No newline at end of file diff --git a/ruoyi-ui/bin/run-web.bat b/ruoyi-ui/bin/run-web.bat deleted file mode 100644 index a696280..0000000 --- a/ruoyi-ui/bin/run-web.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -echo. -echo [信息] 使用 Vue 运行 Web 工程。 -echo. - -%~d0 -cd %~dp0 - -cd .. -npm run dev - -pause \ No newline at end of file diff --git a/ruoyi-ui/build/index.js b/ruoyi-ui/build/index.js deleted file mode 100644 index 385da08..0000000 --- a/ruoyi-ui/build/index.js +++ /dev/null @@ -1,35 +0,0 @@ -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}`) -} diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json deleted file mode 100644 index ceb331e..0000000 --- a/ruoyi-ui/package.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "name": "ruoyi", - "version": "2.0.0", - "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", - "test:unit": "jest --clearCache && vue-cli-service test:unit", - "test:ci": "npm run lint && npm run test:unit", - "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", - "new": "plop" - }, - "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", - "vue-quill-editor": "3.0.6", - "vue-cropper": "0.4.9", - "axios": "0.18.1", - "echarts": "4.2.1", - "element-ui": "2.11.1", - "fuse.js": "3.4.4", - "js-cookie": "2.2.0", - "jsencrypt": "3.0.0-rc.1", - "normalize.css": "7.0.0", - "nprogress": "0.2.0", - "path-to-regexp": "2.4.0", - "screenfull": "4.2.0", - "vue": "2.6.10", - "vue-count-to": "1.0.13", - "vue-router": "3.0.2", - "vue-splitpane": "1.0.4", - "vuex": "3.1.0" - }, - "devDependencies": { - "@babel/core": "7.0.0", - "@babel/register": "7.0.0", - "@vue/cli-plugin-babel": "3.5.3", - "@vue/cli-plugin-eslint": "^3.9.1", - "@vue/cli-plugin-unit-jest": "3.5.3", - "@vue/cli-service": "3.5.3", - "@vue/test-utils": "1.0.0-beta.29", - "autoprefixer": "^9.5.1", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "10.0.1", - "babel-jest": "23.6.0", - "chalk": "2.4.2", - "chokidar": "2.1.5", - "connect": "3.6.6", - "eslint": "5.15.3", - "eslint-plugin-vue": "5.2.2", - "html-webpack-plugin": "3.2.0", - "http-proxy-middleware": "^0.19.1", - "husky": "1.3.1", - "lint-staged": "8.1.5", - "mockjs": "1.0.1-beta3", - "node-sass": "^4.9.0", - "plop": "2.3.0", - "runjs": "^4.3.2", - "sass-loader": "^7.1.0", - "script-ext-html-webpack-plugin": "2.1.3", - "script-loader": "0.7.2", - "serve-static": "^1.13.2", - "svg-sprite-loader": "4.1.3", - "svgo": "1.2.0", - "vue-template-compiler": "2.6.10" - }, - "engines": { - "node": ">=8.9", - "npm": ">= 3.0.0" - }, - "browserslist": [ - "> 1%", - "last 2 versions" - ] -} diff --git a/ruoyi-ui/public/favicon.ico b/ruoyi-ui/public/favicon.ico deleted file mode 100644 index e263760..0000000 --- a/ruoyi-ui/public/favicon.ico +++ /dev/null Binary files differ diff --git a/ruoyi-ui/public/index.html b/ruoyi-ui/public/index.html deleted file mode 100644 index 525e2ac..0000000 --- a/ruoyi-ui/public/index.html +++ /dev/null @@ -1,207 +0,0 @@ -<!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> - <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">姝e湪鍔犺浇绯荤粺璧勬簮锛岃鑰愬績绛夊緟</div> - </div> - </div> - </body> -</html> diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue deleted file mode 100644 index 1d0634c..0000000 --- a/ruoyi-ui/src/App.vue +++ /dev/null @@ -1,11 +0,0 @@ -<template> - <div id="app"> - <router-view /> - </div> -</template> - -<script> -export default { - name: 'App' -} -</script> diff --git a/ruoyi-ui/src/api/login.js b/ruoyi-ui/src/api/login.js deleted file mode 100644 index faa7bbe..0000000 --- a/ruoyi-ui/src/api/login.js +++ /dev/null @@ -1,40 +0,0 @@ -import request from '@/utils/request' - -// 鐧诲綍鏂规硶 -export function login(username, password, code, uuid) { - const data = { - username, - password, - code, - uuid - } - return request({ - url: '/login', - method: 'post', - params: 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', - method: 'get' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/menu.js b/ruoyi-ui/src/api/menu.js deleted file mode 100644 index 6e52e6e..0000000 --- a/ruoyi-ui/src/api/menu.js +++ /dev/null @@ -1,9 +0,0 @@ -import request from '@/utils/request' - -// 鑾峰彇璺敱 -export const getRouters = () => { - return request({ - url: '/getRouters', - method: 'get' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/logininfor.js b/ruoyi-ui/src/api/monitor/logininfor.js deleted file mode 100644 index 0b89cdc..0000000 --- a/ruoyi-ui/src/api/monitor/logininfor.js +++ /dev/null @@ -1,35 +0,0 @@ -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' - }) -} - -// 瀵煎嚭鐧诲綍鏃ュ織 -export function exportLogininfor(query) { - return request({ - url: '/monitor/logininfor/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/online.js b/ruoyi-ui/src/api/monitor/online.js deleted file mode 100644 index 288ebe0..0000000 --- a/ruoyi-ui/src/api/monitor/online.js +++ /dev/null @@ -1,18 +0,0 @@ -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' - }) -} diff --git a/ruoyi-ui/src/api/monitor/operlog.js b/ruoyi-ui/src/api/monitor/operlog.js deleted file mode 100644 index c519355..0000000 --- a/ruoyi-ui/src/api/monitor/operlog.js +++ /dev/null @@ -1,35 +0,0 @@ -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' - }) -} - -// 瀵煎嚭鎿嶄綔鏃ュ織 -export function exportOperlog(query) { - return request({ - url: '/monitor/operlog/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/monitor/server.js b/ruoyi-ui/src/api/monitor/server.js deleted file mode 100644 index 4991a44..0000000 --- a/ruoyi-ui/src/api/monitor/server.js +++ /dev/null @@ -1,9 +0,0 @@ -import request from '@/utils/request' - -// 鏌ヨ鏈嶅姟鍣ㄨ缁� -export function getServer() { - return request({ - url: '/monitor/server', - method: 'get' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/config.js b/ruoyi-ui/src/api/system/config.js deleted file mode 100644 index 124c981..0000000 --- a/ruoyi-ui/src/api/system/config.js +++ /dev/null @@ -1,61 +0,0 @@ -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 exportConfig(query) { - return request({ - url: '/system/config/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dept.js b/ruoyi-ui/src/api/system/dept.js deleted file mode 100644 index 2debf5a..0000000 --- a/ruoyi-ui/src/api/system/dept.js +++ /dev/null @@ -1,60 +0,0 @@ -import request from '@/utils/request' - -// 鏌ヨ閮ㄩ棬鍒楄〃 -export function listDept(query) { - return request({ - url: '/system/dept/list', - method: 'get', - params: query - }) -} - -// 鏌ヨ閮ㄩ棬璇︾粏 -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' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dict/data.js b/ruoyi-ui/src/api/system/dict/data.js deleted file mode 100644 index 6a3f418..0000000 --- a/ruoyi-ui/src/api/system/dict/data.js +++ /dev/null @@ -1,61 +0,0 @@ -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/dictType/' + 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' - }) -} - -// 瀵煎嚭瀛楀吀鏁版嵁 -export function exportData(query) { - return request({ - url: '/system/dict/data/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dict/type.js b/ruoyi-ui/src/api/system/dict/type.js deleted file mode 100644 index 4b45a35..0000000 --- a/ruoyi-ui/src/api/system/dict/type.js +++ /dev/null @@ -1,61 +0,0 @@ -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 exportType(query) { - return request({ - url: '/system/dict/type/export', - method: 'get', - params: query - }) -} - -// 鑾峰彇瀛楀吀閫夋嫨妗嗗垪琛� -export function optionselect() { - return request({ - url: '/system/dict/type/optionselect', - method: 'get' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/menu.js b/ruoyi-ui/src/api/system/menu.js deleted file mode 100644 index 97258ee..0000000 --- a/ruoyi-ui/src/api/system/menu.js +++ /dev/null @@ -1,60 +0,0 @@ -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' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/notice.js b/ruoyi-ui/src/api/system/notice.js deleted file mode 100644 index 737fc16..0000000 --- a/ruoyi-ui/src/api/system/notice.js +++ /dev/null @@ -1,44 +0,0 @@ -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' - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/post.js b/ruoyi-ui/src/api/system/post.js deleted file mode 100644 index fb124d9..0000000 --- a/ruoyi-ui/src/api/system/post.js +++ /dev/null @@ -1,53 +0,0 @@ -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' - }) -} - -// 瀵煎嚭宀椾綅 -export function exportPost(query) { - return request({ - url: '/system/post/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/role.js b/ruoyi-ui/src/api/system/role.js deleted file mode 100644 index 736708c..0000000 --- a/ruoyi-ui/src/api/system/role.js +++ /dev/null @@ -1,75 +0,0 @@ -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 exportRole(query) { - return request({ - url: '/system/role/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/user.js b/ruoyi-ui/src/api/system/user.js deleted file mode 100644 index 7f8db39..0000000 --- a/ruoyi-ui/src/api/system/user.js +++ /dev/null @@ -1,127 +0,0 @@ -import request from '@/utils/request' -import { praseStrEmpty } 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/' + praseStrEmpty(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 exportUser(query) { - return request({ - url: '/system/user/export', - method: 'get', - params: query - }) -} - -// 鐢ㄦ埛瀵嗙爜閲嶇疆 -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 importTemplate() { - return request({ - url: '/system/user/importTemplate', - method: 'get' - }) -} diff --git a/ruoyi-ui/src/api/tool/gen.js b/ruoyi-ui/src/api/tool/gen.js deleted file mode 100644 index 21b9b83..0000000 --- a/ruoyi-ui/src/api/tool/gen.js +++ /dev/null @@ -1,59 +0,0 @@ -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' - }) -} - -// 淇敼浠g爜鐢熸垚淇℃伅 -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 - }) -} -// 棰勮鐢熸垚浠g爜 -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' - }) -} - diff --git a/ruoyi-ui/src/assets/401_images/401.gif b/ruoyi-ui/src/assets/401_images/401.gif deleted file mode 100644 index cd6e0d9..0000000 --- a/ruoyi-ui/src/assets/401_images/401.gif +++ /dev/null Binary files differ diff --git a/ruoyi-ui/src/assets/404_images/404.png b/ruoyi-ui/src/assets/404_images/404.png deleted file mode 100644 index 3d8e230..0000000 --- a/ruoyi-ui/src/assets/404_images/404.png +++ /dev/null Binary files differ diff --git a/ruoyi-ui/src/assets/404_images/404_cloud.png b/ruoyi-ui/src/assets/404_images/404_cloud.png deleted file mode 100644 index c6281d0..0000000 --- a/ruoyi-ui/src/assets/404_images/404_cloud.png +++ /dev/null Binary files differ diff --git a/ruoyi-ui/src/assets/icons/index.js b/ruoyi-ui/src/assets/icons/index.js deleted file mode 100644 index d79e164..0000000 --- a/ruoyi-ui/src/assets/icons/index.js +++ /dev/null @@ -1,9 +0,0 @@ -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) diff --git a/ruoyi-ui/src/assets/icons/svg/404.svg b/ruoyi-ui/src/assets/icons/svg/404.svg deleted file mode 100644 index 6df5019..0000000 --- a/ruoyi-ui/src/assets/icons/svg/404.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/bug.svg b/ruoyi-ui/src/assets/icons/svg/bug.svg deleted file mode 100644 index 05a150d..0000000 --- a/ruoyi-ui/src/assets/icons/svg/bug.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/build.svg b/ruoyi-ui/src/assets/icons/svg/build.svg deleted file mode 100644 index 97c4688..0000000 --- a/ruoyi-ui/src/assets/icons/svg/build.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1568899741379" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2054" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 591.424V368.96c0-0.288 0.16-0.512 0.16-0.768S960 367.68 960 367.424V192a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v175.424c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768v222.464c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768V864a32 32 0 0 0 32 32h832a32 32 0 0 0 32-32v-271.04c0-0.288 0.16-0.512 0.16-0.768S960 591.68 960 591.424z m-560-31.232v-160H608v160h-208z m208 64V832h-208v-207.808H608z m-480-224h208v160H128v-160z m544 0h224v160h-224v-160zM896 224v112.192H128V224h768zM128 624.192h208V832H128v-207.808zM672 832v-207.808h224V832h-224z" p-id="2055"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/chart.svg b/ruoyi-ui/src/assets/icons/svg/chart.svg deleted file mode 100644 index 27728fb..0000000 --- a/ruoyi-ui/src/assets/icons/svg/chart.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/clipboard.svg b/ruoyi-ui/src/assets/icons/svg/clipboard.svg deleted file mode 100644 index 90923ff..0000000 --- a/ruoyi-ui/src/assets/icons/svg/clipboard.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/code.svg b/ruoyi-ui/src/assets/icons/svg/code.svg deleted file mode 100644 index ed4d23c..0000000 --- a/ruoyi-ui/src/assets/icons/svg/code.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1546567861908" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2422" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M318.577778 819.2L17.066667 512l301.511111-307.2 45.511111 45.511111L96.711111 512l267.377778 261.688889zM705.422222 819.2l-45.511111-45.511111L927.288889 512l-267.377778-261.688889 45.511111-45.511111L1006.933333 512zM540.785778 221.866667l55.751111 11.150222L483.157333 802.133333l-55.751111-11.093333z" fill="#bfbfbf" p-id="2423"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/component.svg b/ruoyi-ui/src/assets/icons/svg/component.svg deleted file mode 100644 index 207ada3..0000000 --- a/ruoyi-ui/src/assets/icons/svg/component.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/dashboard.svg b/ruoyi-ui/src/assets/icons/svg/dashboard.svg deleted file mode 100644 index 5317d37..0000000 --- a/ruoyi-ui/src/assets/icons/svg/dashboard.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/date.svg b/ruoyi-ui/src/assets/icons/svg/date.svg deleted file mode 100644 index 2a28112..0000000 --- a/ruoyi-ui/src/assets/icons/svg/date.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1567417179372" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1155" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M947.2 1024 76.8 1024C38.4 1024 0 992 0 953.6L0 172.8c0-38.4 38.4-70.4 76.8-70.4l38.4 0 0 102.4c0 38.4 38.4 70.4 76.8 70.4l76.8 0c44.8 0 76.8-32 76.8-70.4L345.6 102.4l313.6 0 0 102.4c0 38.4 38.4 70.4 76.8 70.4l76.8 0c44.8 0 76.8-32 76.8-70.4L889.6 102.4l38.4 0c44.8 0 76.8 32 76.8 70.4l0 787.2C1024 992 985.6 1024 947.2 1024zM352 339.2 115.2 339.2 115.2 512l236.8 0L352 339.2zM352 544 115.2 544l0 172.8 236.8 0L352 544zM352 748.8 115.2 748.8l0 172.8 236.8 0L352 748.8zM627.2 339.2 396.8 339.2 396.8 512l236.8 0L633.6 339.2zM627.2 544 396.8 544l0 172.8 236.8 0L633.6 544zM627.2 748.8 396.8 748.8l0 172.8 236.8 0L633.6 748.8zM908.8 339.2l-236.8 0L672 512l236.8 0L908.8 339.2zM908.8 544l-236.8 0 0 172.8 236.8 0L908.8 544zM908.8 748.8l-236.8 0 0 172.8 236.8 0L908.8 748.8zM787.2 236.8c-44.8 0-76.8-32-76.8-70.4L710.4 70.4c0-38.4 38.4-70.4 76.8-70.4s76.8 32 76.8 70.4l0 102.4C864 211.2 832 236.8 787.2 236.8zM236.8 236.8C192 236.8 160 211.2 160 172.8L160 70.4C160 32 192 0 236.8 0s76.8 32 76.8 70.4l0 102.4C313.6 211.2 281.6 236.8 236.8 236.8z" p-id="1156"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/dict.svg b/ruoyi-ui/src/assets/icons/svg/dict.svg deleted file mode 100644 index 4849377..0000000 --- a/ruoyi-ui/src/assets/icons/svg/dict.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566035680909" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3601" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M1002.0848 744.672l-33.568 10.368c0.96 7.264 2.144 14.304 2.144 21.76 0 7.328-1.184 14.432-2.368 21.568l33.792 10.56c7.936 2.24 14.496 7.616 18.336 14.752 3.84 7.328 4.672 15.808 1.952 23.552-5.376 16-23.168 24.672-39.936 19.68l-34.176-10.624c-7.136 12.8-15.776 24.672-26.208 35.2l20.8 27.488a28.96 28.96 0 0 1 5.824 22.816 29.696 29.696 0 0 1-12.704 19.616 32.544 32.544 0 0 1-44.416-6.752l-20.8-27.552c-13.696 6.56-28.192 11.2-43.008 13.888v33.632c0 16.736-14.112 30.432-31.648 30.432-17.6 0-31.872-13.696-31.872-30.432v-33.632a167.616 167.616 0 0 1-42.88-13.888l-20.928 27.552c-10.72 13.76-30.08 16.64-44.288 6.752a29.632 29.632 0 0 1-12.704-19.616 29.28 29.28 0 0 1 5.696-22.816l20.896-27.808a166.72 166.72 0 0 1-27.008-34.688l-33.376 10.432c-16.8 5.184-34.56-3.552-39.936-19.616a29.824 29.824 0 0 1 20.224-38.24l33.472-10.432c-0.8-7.264-2.016-14.304-2.016-21.824 0-7.36 1.184-14.496 2.304-21.632l-33.792-10.368c-16.672-5.376-25.632-22.496-20.224-38.432 5.376-16 23.136-24.672 39.936-19.68l34.016 10.752c7.328-12.672 15.84-24.8 26.336-35.328l-20.8-27.552a29.44 29.44 0 0 1 6.944-42.432 32.704 32.704 0 0 1 44.384 6.752l20.832 27.616c13.696-6.432 28.224-11.2 43.104-13.952v-33.568c0-16.736 14.048-30.432 31.648-30.432 17.536 0 31.808 13.568 31.808 30.432v33.504c15.072 2.688 29.344 7.808 42.848 14.016l20.992-27.616a32.48 32.48 0 0 1 44.224-6.752 29.568 29.568 0 0 1 7.136 42.432l-21.024 27.808c10.432 10.432 19.872 21.888 27.04 34.752l33.376-10.432c16.768-5.12 34.56 3.68 39.936 19.68 5.536 15.936-3.712 33.056-20.32 38.304z m-206.016-74.432c-61.344 0-111.136 47.808-111.136 106.56 0 58.88 49.792 106.496 111.136 106.496 61.312 0 111.104-47.616 111.104-106.496 0-58.752-49.792-106.56-111.104-106.56z" p-id="3602"></path><path d="M802.7888 57.152h-76.448c0-22.08-21.024-38.24-42.848-38.24H39.3968a39.68 39.68 0 0 0-39.36 40.032v795.616s41.888 120.192 110.752 120.192H673.2848a227.488 227.488 0 0 1-107.04-97.44H117.6368s-40.608-13.696-40.608-41.248l470.304-0.256 1.664 3.36a227.68 227.68 0 0 1-12.64-73.632c0-60.576 24-118.624 66.88-161.44a228.352 228.352 0 0 1 123.552-63.392l-3.2 0.288 2.144-424.672h38.208l0.576 421.024c27.04 0 52.672 4.8 76.64 13.344V101.536c0.032 0-6.304-44.384-38.368-44.384zM149.7648 514.336H72.3888v-77.408H149.7648v77.408z m0-144.32H72.3888v-77.44H149.7648v77.44z m0-137.248H72.3888v-77.44H149.7648v77.44z m501.856 281.568H206.0848v-77.408h445.536v77.408z m0-144.32H206.0848v-77.44h445.536v77.44z m0-137.248H206.0848v-77.44h445.536v77.44z" p-id="3603"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/documentation.svg b/ruoyi-ui/src/assets/icons/svg/documentation.svg deleted file mode 100644 index 7043122..0000000 --- a/ruoyi-ui/src/assets/icons/svg/documentation.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/download.svg b/ruoyi-ui/src/assets/icons/svg/download.svg deleted file mode 100644 index c896951..0000000 --- a/ruoyi-ui/src/assets/icons/svg/download.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1569915748289" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3062" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M768.35456 416a256 256 0 1 0-512 0 192 192 0 1 0 0 384v64a256 256 0 0 1-58.88-505.216 320.128 320.128 0 0 1 629.76 0A256.128 256.128 0 0 1 768.35456 864v-64a192 192 0 0 0 0-384z m-512 384h64v64H256.35456v-64z m448 0h64v64h-64v-64z" fill="#333333" p-id="3063"></path><path d="M539.04256 845.248V512.192a32.448 32.448 0 0 0-32-32.192c-17.664 0-32 14.912-32 32.192v333.056l-36.096-36.096a32.192 32.192 0 0 0-45.056 0.192 31.616 31.616 0 0 0-0.192 45.056l90.88 90.944a31.36 31.36 0 0 0 22.528 9.088 30.08 30.08 0 0 0 22.4-9.088l90.88-90.88a32.192 32.192 0 0 0-0.192-45.12 31.616 31.616 0 0 0-45.056-0.192l-36.096 36.096z" fill="#333333" p-id="3064"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/drag.svg b/ruoyi-ui/src/assets/icons/svg/drag.svg deleted file mode 100644 index 4185d3c..0000000 --- a/ruoyi-ui/src/assets/icons/svg/drag.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/druid.svg b/ruoyi-ui/src/assets/icons/svg/druid.svg deleted file mode 100644 index a2b4b4e..0000000 --- a/ruoyi-ui/src/assets/icons/svg/druid.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566036347051" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5853" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M832 128H192a64.19 64.19 0 0 0-64 64v640a64.19 64.19 0 0 0 64 64h640a64.19 64.19 0 0 0 64-64V192a64.19 64.19 0 0 0-64-64z m0 703.89l-0.11 0.11H192.11l-0.11-0.11V768h640zM832 544H720L605.6 696.54 442.18 435.07 333.25 544H192v-64h114.75l147.07-147.07L610.4 583.46 688 480h144z m0-288H192v-63.89l0.11-0.11h639.78l0.11 0.11z" p-id="5854"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/edit.svg b/ruoyi-ui/src/assets/icons/svg/edit.svg deleted file mode 100644 index d26101f..0000000 --- a/ruoyi-ui/src/assets/icons/svg/edit.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z"/><path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/education.svg b/ruoyi-ui/src/assets/icons/svg/education.svg deleted file mode 100644 index 7bfb01d..0000000 --- a/ruoyi-ui/src/assets/icons/svg/education.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M88.883 119.565c-7.284 0-19.434 2.495-21.333 8.25v.127c-4.232.13-5.222 0-7.108 0-1.895-5.76-14.045-8.256-21.333-8.256H0V0h42.523c9.179 0 17.109 5.47 21.47 13.551C68.352 5.475 76.295 0 85.478 0H128v119.57l-39.113-.005h-.004zM60.442 24.763c0-9.651-8.978-16.507-17.777-16.507H7.108V111.43H39.11c7.054-.14 18.177.082 21.333 6.12v-4.628c-.134-5.722-.004-13.522 0-13.832V27.413l.004-2.655-.004.005zm60.442-16.517h-35.55c-8.802 0-17.78 6.856-17.78 16.493v74.259c.004.32.138 8.115 0 13.813v4.627c3.155-6.022 14.279-6.26 21.333-6.114h32V8.25l-.003-.005z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/email.svg b/ruoyi-ui/src/assets/icons/svg/email.svg deleted file mode 100644 index 74d25e2..0000000 --- a/ruoyi-ui/src/assets/icons/svg/email.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="96" xmlns="http://www.w3.org/2000/svg"><path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z"/><path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/example.svg b/ruoyi-ui/src/assets/icons/svg/example.svg deleted file mode 100644 index 46f42b5..0000000 --- a/ruoyi-ui/src/assets/icons/svg/example.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/excel.svg b/ruoyi-ui/src/assets/icons/svg/excel.svg deleted file mode 100644 index 74d97b8..0000000 --- a/ruoyi-ui/src/assets/icons/svg/excel.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z"/><path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg b/ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg deleted file mode 100644 index 485c128..0000000 --- a/ruoyi-ui/src/assets/icons/svg/exit-fullscreen.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/eye-open.svg b/ruoyi-ui/src/assets/icons/svg/eye-open.svg deleted file mode 100644 index 88dcc98..0000000 --- a/ruoyi-ui/src/assets/icons/svg/eye-open.svg +++ /dev/null @@ -1 +0,0 @@ -<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/eye.svg b/ruoyi-ui/src/assets/icons/svg/eye.svg deleted file mode 100644 index 16ed2d8..0000000 --- a/ruoyi-ui/src/assets/icons/svg/eye.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/form.svg b/ruoyi-ui/src/assets/icons/svg/form.svg deleted file mode 100644 index dcbaa18..0000000 --- a/ruoyi-ui/src/assets/icons/svg/form.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/fullscreen.svg b/ruoyi-ui/src/assets/icons/svg/fullscreen.svg deleted file mode 100644 index 0e86b6f..0000000 --- a/ruoyi-ui/src/assets/icons/svg/fullscreen.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/guide.svg b/ruoyi-ui/src/assets/icons/svg/guide.svg deleted file mode 100644 index b271001..0000000 --- a/ruoyi-ui/src/assets/icons/svg/guide.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/icon.svg b/ruoyi-ui/src/assets/icons/svg/icon.svg deleted file mode 100644 index 82be8ee..0000000 --- a/ruoyi-ui/src/assets/icons/svg/icon.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/international.svg b/ruoyi-ui/src/assets/icons/svg/international.svg deleted file mode 100644 index e9b56ee..0000000 --- a/ruoyi-ui/src/assets/icons/svg/international.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/job.svg b/ruoyi-ui/src/assets/icons/svg/job.svg deleted file mode 100644 index 2a93a25..0000000 --- a/ruoyi-ui/src/assets/icons/svg/job.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566036191400" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5472" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M934.912 1016.832H192c-14.336 0-25.6-11.264-25.6-25.6v-189.44c0-14.336 11.264-25.6 25.6-25.6s25.6 11.264 25.6 25.6v163.84h691.712V64H217.6v148.48c0 14.336-11.264 25.6-25.6 25.6s-25.6-11.264-25.6-25.6v-174.08c0-14.336 11.264-25.6 25.6-25.6h742.912c14.336 0 25.6 11.264 25.6 25.6v952.832c0 14.336-11.264 25.6-25.6 25.6z" p-id="5473"></path><path d="M232.96 371.2h-117.76c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h117.76c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6zM232.96 540.16h-117.76c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h117.76c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6zM232.96 698.88h-117.76c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h117.76c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6zM574.464 762.88c-134.144 0-243.2-109.056-243.2-243.2S440.32 276.48 574.464 276.48s243.2 109.056 243.2 243.2-109.056 243.2-243.2 243.2z m0-435.2c-105.984 0-192 86.016-192 192S468.48 711.68 574.464 711.68s192-86.016 192-192S680.448 327.68 574.464 327.68z" p-id="5474"></path><path d="M663.04 545.28h-87.04c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h87.04c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6z" p-id="5475"></path><path d="M576 545.28c-14.336 0-25.6-11.264-25.6-25.6v-87.04c0-14.336 11.264-25.6 25.6-25.6s25.6 11.264 25.6 25.6v87.04c0 14.336-11.264 25.6-25.6 25.6z" p-id="5476"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/language.svg b/ruoyi-ui/src/assets/icons/svg/language.svg deleted file mode 100644 index 0082b57..0000000 --- a/ruoyi-ui/src/assets/icons/svg/language.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z"/><path d="M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/link.svg b/ruoyi-ui/src/assets/icons/svg/link.svg deleted file mode 100644 index 48197ba..0000000 --- a/ruoyi-ui/src/assets/icons/svg/link.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/list.svg b/ruoyi-ui/src/assets/icons/svg/list.svg deleted file mode 100644 index 20259ed..0000000 --- a/ruoyi-ui/src/assets/icons/svg/list.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/lock.svg b/ruoyi-ui/src/assets/icons/svg/lock.svg deleted file mode 100644 index 74fee54..0000000 --- a/ruoyi-ui/src/assets/icons/svg/lock.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/log.svg b/ruoyi-ui/src/assets/icons/svg/log.svg deleted file mode 100644 index d879d33..0000000 --- a/ruoyi-ui/src/assets/icons/svg/log.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566035943711" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4805" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M208.736 566.336H64.384v59.328h144.352v-59.328z m0-336.096H165.44V74.592c0-7.968 4.896-14.848 10.464-14.848h502.016V0.448H175.936c-38.72 1.248-69.248 34.368-68.192 74.144v155.648H64.384V289.6h144.352V230.24z m0 168.096H64.384v59.328h144.352v-59.328z m714.656 76.576h-57.76v474.496c0 7.936-4.896 14.848-10.464 14.848H175.936c-5.568 0-10.464-6.912-10.464-14.848v-155.68h43.296v-59.296H64.384v59.296h43.328v155.68c-1.024 39.776 29.472 72.896 68.192 74.144h679.232c38.72-1.184 69.248-34.368 68.256-74.144V474.912z m14.944-290.336l-83.072-85.312a71.264 71.264 0 0 0-52.544-21.728 71.52 71.52 0 0 0-51.616 23.872L386.528 507.264a30.496 30.496 0 0 0-6.176 10.72L308.16 740.512a30.016 30.016 0 0 0 6.976 30.24c7.712 7.968 19.2 10.752 29.568 7.2l216.544-74.112a28.736 28.736 0 0 0 12.128-7.936L940.448 287.456a75.552 75.552 0 0 0-2.112-102.88z m-557.12 518.272l39.104-120.64 78.336 80.416-117.44 40.224z m170.048-70.016l-103.552-106.016 200.16-222.4 103.52 106.304-200.128 222.112zM897.952 247.072l-0.256 0.224-107.136 119.168-103.52-106.528 106.432-118.624a14.144 14.144 0 0 1 10.304-4.736 13.44 13.44 0 0 1 10.464 4.288l83.264 85.696c5.472 5.6 5.664 14.72 0.448 20.512z" p-id="4806"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/logininfor.svg b/ruoyi-ui/src/assets/icons/svg/logininfor.svg deleted file mode 100644 index 267f844..0000000 --- a/ruoyi-ui/src/assets/icons/svg/logininfor.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566036016814" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5261" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M896 128h-85.333333a42.666667 42.666667 0 0 0 0 85.333333h42.666666v640H170.666667V213.333333h42.666666a42.666667 42.666667 0 0 0 0-85.333333H128a42.666667 42.666667 0 0 0-42.666667 42.666667v725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h768a42.666667 42.666667 0 0 0 42.666667-42.666667V170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667z" p-id="5262"></path><path d="M341.333333 298.666667a42.666667 42.666667 0 0 0 42.666667-42.666667V128a42.666667 42.666667 0 0 0-85.333333 0v128a42.666667 42.666667 0 0 0 42.666666 42.666667zM512 298.666667a42.666667 42.666667 0 0 0 42.666667-42.666667V128a42.666667 42.666667 0 0 0-85.333334 0v128a42.666667 42.666667 0 0 0 42.666667 42.666667zM682.666667 298.666667a42.666667 42.666667 0 0 0 42.666666-42.666667V128a42.666667 42.666667 0 0 0-85.333333 0v128a42.666667 42.666667 0 0 0 42.666667 42.666667zM341.333333 768a42.666667 42.666667 0 0 0 42.666667-42.666667 128 128 0 0 1 256 0 42.666667 42.666667 0 0 0 85.333333 0 213.333333 213.333333 0 0 0-107.52-184.32A128 128 0 0 0 640 469.333333a128 128 0 0 0-256 0 128 128 0 0 0 22.186667 71.68A213.333333 213.333333 0 0 0 298.666667 725.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z m128-298.666667a42.666667 42.666667 0 1 1 42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667-42.666667z" p-id="5263"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/message.svg b/ruoyi-ui/src/assets/icons/svg/message.svg deleted file mode 100644 index 14ca817..0000000 --- a/ruoyi-ui/src/assets/icons/svg/message.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/money.svg b/ruoyi-ui/src/assets/icons/svg/money.svg deleted file mode 100644 index c1580de..0000000 --- a/ruoyi-ui/src/assets/icons/svg/money.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/monitor.svg b/ruoyi-ui/src/assets/icons/svg/monitor.svg deleted file mode 100644 index 70db62b..0000000 --- a/ruoyi-ui/src/assets/icons/svg/monitor.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1543827393750" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4695" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: rbicon; src: url("chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2") format("woff2"); font-weight: normal; font-style: normal; } -</style></defs><path d="M64 64V640H896V64H64zM0 0h960v704H0V0z" p-id="4696"></path><path d="M192 896H768v64H192zM448 640H512v256h-64z" p-id="4697"></path><path d="M479.232 561.604267l309.9904-348.330667-47.803733-42.5472-259.566934 291.669333L303.957333 240.008533 163.208533 438.6048l52.224 37.009067 91.6224-129.28z" p-id="4698"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/nested.svg b/ruoyi-ui/src/assets/icons/svg/nested.svg deleted file mode 100644 index 06713a8..0000000 --- a/ruoyi-ui/src/assets/icons/svg/nested.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/online.svg b/ruoyi-ui/src/assets/icons/svg/online.svg deleted file mode 100644 index 330a202..0000000 --- a/ruoyi-ui/src/assets/icons/svg/online.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1568899557259" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="535" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M356.246145 681.56286c-68.156286-41.949414-107.246583-103.84102-107.246583-169.805384 0-65.966411 39.090297-127.860063 107.246583-169.809477 12.046361-7.414877 15.800871-23.190165 8.385994-35.236526-7.413853-12.046361-23.191188-15.801894-35.236526-8.387018-39.640836 24.399713-72.539106 56.044434-95.137801 91.515297-23.86657 37.461193-36.481889 79.620385-36.481889 121.917724 0 42.297338 12.615319 84.454484 36.481889 121.914654 22.598694 35.469839 55.496965 67.11456 95.137801 91.51325 4.185322 2.576685 8.821923 3.804652 13.400195 3.804652 8.598842 0 16.998139-4.329609 21.836331-12.190647C372.047016 704.752002 368.291482 688.976714 356.246145 681.56286zM263.943926 754.580874c-92.603071-61.111846-145.713686-149.623739-145.713686-242.840794 0-93.195565 53.094242-181.682899 145.667637-242.774279 11.805884-7.79043 15.061021-23.677259 7.269567-35.483142-7.79043-11.805884-23.677259-15.062044-35.483142-7.269567C128.487861 296.954249 67.006602 401.024489 67.006602 511.74008c0 110.73708 61.496609 214.830857 168.721703 285.593504 4.343935 2.867304 9.240455 4.238534 14.08274 4.238534 8.317433 0 16.476253-4.046153 21.400403-11.507078C279.003923 778.258133 275.748786 762.372328 263.943926 754.580874zM788.660552 226.213092c-11.80486-7.791453-27.692712-4.536316-35.483142 7.269567-7.79043 11.805884-4.536316 27.692712 7.269567 35.483142 92.575442 61.092403 145.670707 149.579737 145.670707 242.774279 0 93.216032-53.111638 181.727924-145.715733 242.840794-11.805884 7.79043-15.059997 23.678282-7.269567 35.484166 4.925173 7.461949 13.081946 11.507078 21.400403 11.507078 4.841262 0 9.739828-1.37123 14.083763-4.238534 107.22714-70.761624 168.724773-174.857447 168.724773-285.593504C957.341323 401.025513 895.860063 296.955272 788.660552 226.213092zM790.090111 633.67213c23.865547-37.459147 36.480866-79.617315 36.480866-121.914654 0-42.298362-12.615319-84.45653-36.480866-121.917724-22.598694-35.470863-55.496965-67.115584-95.139847-91.515297-12.047384-7.413853-27.821649-3.659343-35.236526 8.387018-7.414877 12.045337-3.659343 27.821649 8.385994 35.236526 68.156286 41.949414 107.247606 103.842043 107.247606 169.809477 0 65.964364-39.090297 127.85597-107.247606 169.804361-12.045337 7.414877-15.800871 23.190165-8.385994 35.237549 4.838192 7.861038 13.236466 12.190647 21.835308 12.190647 4.579295 0 9.215896-1.227967 13.400195-3.804652C734.591099 700.786691 767.490394 669.142993 790.090111 633.67213zM567.129086 518.274914c24.12342-17.150612 39.887452-45.305859 39.887452-77.07133 0-52.128241-42.452881-94.538143-94.634334-94.538143-52.18043 0-94.633311 42.408879-94.633311 94.538143 0 31.695886 15.696494 59.797921 39.730886 76.958766-49.875944 21.128203-84.917018 70.234621-84.917018 127.301338 0 2.366907 0.061398 4.762467 0.182149 7.119141l1.249457 24.296359 276.373515 0 1.238201-24.308639c0.119727-2.358721 0.181125-4.750187 0.181125-7.106862C651.786185 588.497255 616.865861 539.465538 567.129086 518.274914zM512.381182 397.889079c23.937179 0 43.411719 19.430538 43.411719 43.314505 0 23.882943-19.47454 43.313481-43.411719 43.313481-23.936155 0-43.409672-19.430538-43.409672-43.313481C468.971509 417.320641 488.445026 397.889079 512.381182 397.889079zM426.08884 625.656573c9.119705-38.542828 44.254923-67.337641 86.085634-67.337641s76.966952 28.794813 86.085634 67.337641L426.08884 625.656573z" p-id="536"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/password.svg b/ruoyi-ui/src/assets/icons/svg/password.svg deleted file mode 100644 index e291d85..0000000 --- a/ruoyi-ui/src/assets/icons/svg/password.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/pdf.svg b/ruoyi-ui/src/assets/icons/svg/pdf.svg deleted file mode 100644 index 957aa0c..0000000 --- a/ruoyi-ui/src/assets/icons/svg/pdf.svg +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><path d="M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/people.svg b/ruoyi-ui/src/assets/icons/svg/people.svg deleted file mode 100644 index 2bd54ae..0000000 --- a/ruoyi-ui/src/assets/icons/svg/people.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/peoples.svg b/ruoyi-ui/src/assets/icons/svg/peoples.svg deleted file mode 100644 index aab852e..0000000 --- a/ruoyi-ui/src/assets/icons/svg/peoples.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z"/><path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/phone.svg b/ruoyi-ui/src/assets/icons/svg/phone.svg deleted file mode 100644 index ab8e8c4..0000000 --- a/ruoyi-ui/src/assets/icons/svg/phone.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1567417214476" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2266" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M761.503029 2.90619 242.121921 2.90619c-32.405037 0-58.932204 26.060539-58.932204 58.527998l0 902.302287c0 32.156374 26.217105 58.216913 58.932204 58.216913l519.381108 0c32.344662 0 58.591443-26.060539 58.591443-58.216913L820.094472 61.123103C820.094472 28.966729 793.847691 2.90619 761.503029 2.90619M452.878996 61.123103l98.147344 0c6.780427 0 12.31549 5.536087 12.31549 12.253068 0 6.748704-5.535063 12.253068-12.31549 12.253068l-98.147344 0c-6.779404 0-12.345166-5.504364-12.345166-12.253068C440.532807 66.659189 446.099592 61.123103 452.878996 61.123103M501.641583 980.593398c-29.636994 0-53.987588-23.946388-53.987588-53.677527 0-29.356608 24.039509-53.614082 53.987588-53.614082 29.91738 0 53.987588 23.883967 53.987588 53.614082C555.629171 956.647009 531.559986 980.593398 501.641583 980.593398M766.35657 803.142893c0 16.23373-13.186324 29.107945-29.233811 29.107945l-470.618521 0c-16.35755 0-29.325909-13.186324-29.325909-29.107945L237.178329 163.500794c0-16.232706 13.279445-29.138644 29.325909-29.138644l470.246037 0c16.420995 0 29.357632 13.1853 29.357632 29.138644l0 639.642099L766.35657 803.142893zM766.35657 803.142893" p-id="2267"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/post.svg b/ruoyi-ui/src/assets/icons/svg/post.svg deleted file mode 100644 index 2922c61..0000000 --- a/ruoyi-ui/src/assets/icons/svg/post.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566035724641" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3998" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M136.4 434.3h77.7c21.5 0 38.9-17.4 38.9-38.9s-17.4-38.9-38.9-38.9h-77.7c-21.5 0-38.9 17.4-38.9 38.9s17.4 38.9 38.9 38.9zM252.9 628.6c0-21.5-17.4-38.9-38.9-38.9h-77.7c-21.5 0-38.9 17.4-38.9 38.9s17.4 38.9 38.9 38.9H214c21.5-0.1 38.9-17.5 38.9-38.9z" p-id="3999"></path><path d="M874.7 97.5H227c-28.6 0-51.8 23.2-51.8 51.8v194.3h38.9c28.6 0 51.8 23.2 51.8 51.8 0 28.6-23.2 51.8-51.8 51.8h-38.9v129.5h38.9c28.6 0 51.8 23.2 51.8 51.8 0 28.6-23.2 51.8-51.8 51.8h-38.9v194.3c0 28.6 23.2 51.8 51.8 51.8h647.7c28.6 0 51.8-23.2 51.8-51.8V149.3c0-28.6-23.2-51.8-51.8-51.8z m-311.3 723c-15.6 0-146.7-71.6-146.7-91 0-19.4 102-368.6 102-368.6l-83.6-104s-12.3-23.1 24.6-23.1h208.9c36.9 0 18.4 23.1 18.4 23.1l-79 104s102 351.3 102 368.6c0.1 17.3-131 91-146.6 91z m169.2-253.6l-27.9 40.2-74.5-240 103.4 171.7c4.6 7.9 4.2 20.6-1 28.1z" p-id="4000"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/qq.svg b/ruoyi-ui/src/assets/icons/svg/qq.svg deleted file mode 100644 index ee13d4e..0000000 --- a/ruoyi-ui/src/assets/icons/svg/qq.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/search.svg b/ruoyi-ui/src/assets/icons/svg/search.svg deleted file mode 100644 index 84233dd..0000000 --- a/ruoyi-ui/src/assets/icons/svg/search.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/server.svg b/ruoyi-ui/src/assets/icons/svg/server.svg deleted file mode 100644 index ca37b00..0000000 --- a/ruoyi-ui/src/assets/icons/svg/server.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1547360688278" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M890 120H134a70 70 0 0 0-70 70v500a70 70 0 0 0 70 70h756a70 70 0 0 0 70-70V190a70 70 0 0 0-70-70z m-10 520a40 40 0 0 1-40 40H712V448a40 40 0 0 0-80 0v232h-80V368a40 40 0 0 0-80 0v312h-80V512a40 40 0 0 0-80 0v168H184a40 40 0 0 1-40-40V240a40 40 0 0 1 40-40h656a40 40 0 0 1 40 40zM696 824H328a40 40 0 0 0 0 80h368a40 40 0 0 0 0-80z" fill="#bfbfbf" p-id="6718"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/shopping.svg b/ruoyi-ui/src/assets/icons/svg/shopping.svg deleted file mode 100644 index 87513e7..0000000 --- a/ruoyi-ui/src/assets/icons/svg/shopping.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/size.svg b/ruoyi-ui/src/assets/icons/svg/size.svg deleted file mode 100644 index ddb25b8..0000000 --- a/ruoyi-ui/src/assets/icons/svg/size.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/skill.svg b/ruoyi-ui/src/assets/icons/svg/skill.svg deleted file mode 100644 index a3b7312..0000000 --- a/ruoyi-ui/src/assets/icons/svg/skill.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M31.652 93.206h33.401c1.44 2.418 3.077 4.663 4.93 6.692h-38.33v-6.692zm0-10.586h28.914a44.8 44.8 0 0 1-1.264-6.688h-27.65v6.688zm0-17.27H59.39c.288-2.286.714-4.532 1.34-6.687H31.65v6.687h.003zm53.913 44.84v5.85c0 2.798-2.095 5.075-4.667 5.075h-70.07c-2.576 0-4.663-2.277-4.663-5.075V31.26l23.22-20.96v22.25H17.16v6.688h18.39V6.688h45.348c2.576 0 4.667 2.277 4.667 5.066v20.009c1.987-.675 4.053-1.128 6.17-1.445v-18.56C91.738 5.28 86.874 0 80.902 0H31.15L0 28.118v87.917c0 6.48 4.859 11.759 10.832 11.759h70.07c5.974 0 10.837-5.27 10.837-11.759v-4.41c-2.117-.312-4.183-.765-6.17-1.435h-.004zM23.279 58.667h-7.96v6.688h7.96v-6.688zm-7.956 41.23h7.96v-6.691h-7.96v6.692zm7.956-23.96h-7.96v6.687h7.96v-6.688zm89.718-15.042l-4.896-4.07-12.447 17.613-11.19-9.305-3.762 5.311 16.091 13.38 16.204-22.929zM128 70.978c0-18.632-13.97-33.782-31.147-33.782-17.168 0-31.135 15.155-31.135 33.782 0 18.628 13.97 33.783 31.135 33.783 17.172 0 31.143-15.15 31.143-33.783H128zm-6.17 0c0 14.933-11.203 27.1-24.981 27.1-13.77 0-24.987-12.158-24.987-27.1 0-14.941 11.195-27.099 24.987-27.099 13.778 0 24.982 12.158 24.982 27.1z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/star.svg b/ruoyi-ui/src/assets/icons/svg/star.svg deleted file mode 100644 index 6cf86e6..0000000 --- a/ruoyi-ui/src/assets/icons/svg/star.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/swagger.svg b/ruoyi-ui/src/assets/icons/svg/swagger.svg deleted file mode 100644 index 05d4e7b..0000000 --- a/ruoyi-ui/src/assets/icons/svg/swagger.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566036776944" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6463" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M64 223.995345h168.001164v47.997673c0 26.428509 18.878836 47.997673 41.984 47.997673h140.036654c23.095855 0 41.984-21.569164 41.984-47.997673v-47.997673h504.003491a32.004655 32.004655 0 0 0 0-64.009309H455.996509V111.988364c0-26.428509-18.878836-47.997673-41.984-47.997673H273.985164c-23.095855 0-41.984 21.569164-41.984 47.997673v47.997672H64a32.004655 32.004655 0 0 0 0 64.009309zM288.004655 128h111.997672V256H288.004655V128zM960 479.995345H791.998836v-47.997672c0-26.372655-18.878836-47.997673-41.984-47.997673H609.978182c-23.095855 0-41.984 21.634327-41.984 47.997673v47.997672H64a32.004655 32.004655 0 0 0 0 64.00931h504.003491v47.997672c0 26.363345 18.878836 47.997673 41.984 47.997673h140.036654c23.095855 0 41.984-21.634327 41.984-47.997673v-47.997672h168.001164a32.004655 32.004655 0 1 0-0.009309-64.00931zM735.995345 576H623.997673v-128h111.997672v128zM960 800.293236v-0.288581H455.996509v-47.997673c0-26.363345-18.878836-47.997673-41.984-47.997673H274.050327c-23.105164 0-41.984 21.634327-41.984 47.997673v47.997673H64v0.288581a32.004655 32.004655 0 0 0 0 64.009309c0.986764 0 1.917673-0.195491 2.885818-0.288581h165.115346v47.997672c0 26.363345 18.878836 47.997673 41.984 47.997673h140.036654c23.095855 0 41.984-21.634327 41.984-47.997673v-47.997672h501.108364c0.968145 0.093091 1.899055 0.288582 2.895127 0.288581a32.004655 32.004655 0 1 0-0.009309-64.009309zM400.002327 896H288.004655V768h111.997672v128z" fill="" p-id="6464"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/system.svg b/ruoyi-ui/src/assets/icons/svg/system.svg deleted file mode 100644 index 86cb938..0000000 --- a/ruoyi-ui/src/assets/icons/svg/system.svg +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1543827724451" class="icon" style="" viewBox="0 0 1084 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10233" xmlns:xlink="http://www.w3.org/1999/xlink" width="211.71875" height="200"><defs><style type="text/css">@font-face { font-family: rbicon; src: url("chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2") format("woff2"); font-weight: normal; font-style: normal; } -</style></defs><path d="M1080.09609 434.500756c-4.216302-23.731757-26.9241-47.945376-50.595623-53.185637l-17.648235-4.095836a175.940257 175.940257 0 0 1-101.612877-80.832531 177.807476 177.807476 0 0 1-18.732427-129.801867l5.541425-16.684509c7.10748-23.129428-2.108151-54.992624-20.599646-70.833873 0 0-16.624276-14.094495-63.244529-41.199293-46.800951-26.984332-66.858502-34.513443-66.858502-34.513443-22.76803-8.372371-54.631227-0.361397-71.255503 17.407304l-12.287509 13.251234a173.470708 173.470708 0 0 1-120.465769 48.065842A174.13327 174.13327 0 0 1 421.329029 33.590675L409.583617 20.761071C393.140039 2.99237 361.096144-4.898138 338.267881 3.353767c0 0-20.358715 7.529111-67.099434 34.513443-46.800951 27.34573-63.244529 41.440225-63.244529 41.440225-18.431263 15.66055-27.646894 47.222582-20.539413 70.592941l5.059562 16.865207a178.048407 178.048407 0 0 1-18.672194 129.621169 174.916297 174.916297 0 0 1-102.275439 81.073463l-17.045906 3.854904c-23.310126 5.42096-46.258856 29.333415-50.595623 53.185637 0 0-3.854905 21.382674-3.854905 75.712737 0 54.330062 3.854905 75.712736 3.854905 75.712736 4.216302 23.972688 26.9241 47.945376 50.595623 53.185637l16.624276 3.854905a174.253736 174.253736 0 0 1 102.395904 81.314394c23.310126 40.837896 28.911785 87.337683 18.732427 129.801867l-4.81863 16.443578c-7.10748 23.129428 2.108151 54.992624 20.599646 70.833872 0 0 16.624276 14.094495 63.244529 41.199293 46.800951 27.104798 66.918735 34.513443 66.918735 34.513443 22.707798 8.372371 54.631227 0.361397 71.255503-17.407303l11.624947-12.588673a175.096996 175.096996 0 0 1 242.256662 0.120465l11.624947 12.648906c16.383345 17.708468 48.427239 25.598976 71.255503 17.347071 0 0 20.358715-7.529111 67.159666-34.513443 46.740719-27.104798 63.124063-41.199293 63.124064-41.199293 18.491496-15.600317 27.707127-47.463513 20.599646-70.833873l-5.059562-17.106139a176.723284 176.723284 0 0 1 18.672194-129.139305 176.060722 176.060722 0 0 1 102.395904-81.314394l16.68451-3.854905c23.310126-5.42096 46.258856-29.333415 50.595623-53.185637 0 0 3.854905-21.382674 3.854904-75.712737-0.240932-54.330062-4.095836-75.833202-4.095836-75.833202z m-537.819428 293.334149c-119.261112 0-216.175824-97.336342-216.175824-217.621412a216.657687 216.657687 0 0 1 216.236057-217.320249c119.200879 0 216.115591 97.276109 216.11559 217.56118-0.240932 120.044139-96.974945 217.320248-216.175823 217.320249z" p-id="10234" fill="#bfbfbf"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tab.svg b/ruoyi-ui/src/assets/icons/svg/tab.svg deleted file mode 100644 index b4b48e4..0000000 --- a/ruoyi-ui/src/assets/icons/svg/tab.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/table.svg b/ruoyi-ui/src/assets/icons/svg/table.svg deleted file mode 100644 index 0e3dc9d..0000000 --- a/ruoyi-ui/src/assets/icons/svg/table.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/theme.svg b/ruoyi-ui/src/assets/icons/svg/theme.svg deleted file mode 100644 index 5982a2f..0000000 --- a/ruoyi-ui/src/assets/icons/svg/theme.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tool.svg b/ruoyi-ui/src/assets/icons/svg/tool.svg deleted file mode 100644 index c813067..0000000 --- a/ruoyi-ui/src/assets/icons/svg/tool.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1553828490559" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1684" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M898.831744 900.517641 103.816972 900.517641c-36.002982 0-65.363683-29.286-65.363683-65.313541l0-554.949184c0-36.041868 29.361725-65.326844 65.363683-65.326844l795.015795 0c36.002982 0 65.198931 29.284977 65.198931 65.326844l0 554.949184C964.030675 871.231641 934.834726 900.517641 898.831744 900.517641L898.831744 900.517641zM103.816972 255.593236c-13.576203 0-24.711821 11.085476-24.711821 24.662703l0 554.949184c0 13.576203 11.136641 24.662703 24.711821 24.662703l795.015795 0c13.577227 0 24.547069-11.086499 24.547069-24.662703l0-554.949184c0-13.577227-10.970866-24.662703-24.547069-24.662703L103.816972 255.593236 103.816972 255.593236zM664.346245 251.774257c-11.161201 0-20.332071-9.080819-20.332071-20.332071l0-101.278661c0-13.576203-11.047614-24.623817-24.699542-24.623817L383.181611 105.539708c-13.576203 0-24.712845 11.04659-24.712845 24.623817l0 101.278661c0 11.252275-9.041934 20.332071-20.332071 20.332071-11.20111 0-20.319791-9.080819-20.319791-20.332071l0-101.278661c0-35.989679 29.323862-65.275679 65.364707-65.275679l236.133022 0c36.06745 0 65.402569 29.284977 65.402569 65.275679l0 101.278661C684.717202 242.694461 675.636383 251.774257 664.346245 251.774257L664.346245 251.774257zM413.233044 521.725502 75.694471 521.725502c-11.163247 0-20.333094-9.117658-20.333094-20.35663 0-11.252275 9.169847-20.332071 20.333094-20.332071l337.538573 0c11.277858 0 20.319791 9.080819 20.319791 20.332071C433.552835 512.607844 424.510902 521.725502 413.233044 521.725502L413.233044 521.725502zM912.894018 521.725502 575.367725 521.725502c-11.213389 0-20.332071-9.117658-20.332071-20.35663 0-11.252275 9.118682-20.332071 20.332071-20.332071l337.526293 0c11.290137 0 20.332071 9.080819 20.332071 20.332071C933.226089 512.607844 924.184155 521.725502 912.894018 521.725502L912.894018 521.725502zM557.56322 634.217552 445.085496 634.217552c-11.213389 0-20.332071-9.079796-20.332071-20.331048l0-168.763658c0-11.251252 9.118682-20.332071 20.332071-20.332071l112.478747 0c11.290137 0 20.370956 9.080819 20.370956 20.332071l0 168.763658C577.934177 625.137757 568.853357 634.217552 557.56322 634.217552L557.56322 634.217552zM465.417567 593.514525l71.827909 0L537.245476 465.454918l-71.827909 0L465.417567 593.514525 465.417567 593.514525z" p-id="1685" fill="#bfbfbf"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tree-table.svg b/ruoyi-ui/src/assets/icons/svg/tree-table.svg deleted file mode 100644 index 8aafdb8..0000000 --- a/ruoyi-ui/src/assets/icons/svg/tree-table.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M44.8 0h79.543C126.78 0 128 1.422 128 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H44.8c-2.438 0-3.657-1.422-3.657-4.267V4.267C41.143 1.422 42.362 0 44.8 0zm22.857 48h56.686c2.438 0 3.657 1.422 3.657 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H67.657C65.22 80 64 78.578 64 75.733V52.267C64 49.422 65.219 48 67.657 48zm0 48h56.686c2.438 0 3.657 1.422 3.657 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H67.657C65.22 128 64 126.578 64 123.733v-23.466C64 97.422 65.219 96 67.657 96zM50.286 68.267c2.02 0 3.657-1.91 3.657-4.267 0-2.356-1.638-4.267-3.657-4.267H17.37V32h6.4c2.02 0 3.658-1.91 3.658-4.267V4.267C27.429 1.91 25.79 0 23.77 0H3.657C1.637 0 0 1.91 0 4.267v23.466C0 30.09 1.637 32 3.657 32h6.4v80c0 2.356 1.638 4.267 3.657 4.267h36.572c2.02 0 3.657-1.91 3.657-4.267 0-2.356-1.638-4.267-3.657-4.267H17.37V68.267h32.915z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/tree.svg b/ruoyi-ui/src/assets/icons/svg/tree.svg deleted file mode 100644 index dd4b7dd..0000000 --- a/ruoyi-ui/src/assets/icons/svg/tree.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/user.svg b/ruoyi-ui/src/assets/icons/svg/user.svg deleted file mode 100644 index 0ba0716..0000000 --- a/ruoyi-ui/src/assets/icons/svg/user.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="130" height="130" xmlns="http://www.w3.org/2000/svg"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/validCode.svg b/ruoyi-ui/src/assets/icons/svg/validCode.svg deleted file mode 100644 index cfb1021..0000000 --- a/ruoyi-ui/src/assets/icons/svg/validCode.svg +++ /dev/null @@ -1 +0,0 @@ -<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1569580729849" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1939" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M513.3 958.5c-142.2 0-397.9-222.1-401.6-440.5V268c1.7-39.6 31.7-72.3 71.1-77.3 49-4.6 97.1-16.5 142.7-35.3 47.8-14 91.9-38.3 129.4-71.1 30.3-24.4 72.9-26.3 105.3-4.6 39.9 30.7 83.8 55.9 130.5 74.6 48.6 14.7 98.2 25.9 148.4 33.7 38.5 7.6 67.1 40.3 69.5 79.5 3.3 84.9 2.5 169.9-2.6 254.7-33.7 281.6-253.7 436.4-392.7 436.3z m-0.1-813.7c-7.2-0.2-14.3 2-20 6.4-39.7 35.2-86.8 61.1-137.7 75.7-46.8 19.2-96.2 31-146.6 35.2-11 3.2-18.8 13-19.5 24.4v230.1c3.5 180.3 223.3 361 323.9 361s287.3-120.2 317.6-360.5c7.3-142.7 0-228.6 0-229.6-1.3-13.3-11-24.3-24-27.3-49.6-7.7-98.6-19-146.5-33.7-46.3-19.5-89.7-45.3-129-76.7-5.8-3.8-12.7-5.5-19.5-4.9l1.3-0.1z" fill="#C6CCDA" p-id="1940"></path><path d="M750.1 428L490.7 673.2c-11.7 11.1-29.5 12.9-43.1 4.2l-6.8-5.8-141.2-149.4c-9.3-9.3-12.7-22.9-9-35.5 3.8-12.6 14.1-22.1 27-24.8 12.9-2.7 26.1 1.9 34.6 11.9L469 597.5l233.7-221c14.6-12.8 36.8-11.6 49.9 2.7 13.2 14.2 11.5 35.3-2.5 48.8" fill="#C6CCDA" p-id="1941"></path></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/wechat.svg b/ruoyi-ui/src/assets/icons/svg/wechat.svg deleted file mode 100644 index c586e55..0000000 --- a/ruoyi-ui/src/assets/icons/svg/wechat.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="110" xmlns="http://www.w3.org/2000/svg"><path d="M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z"/><path d="M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svg/zip.svg b/ruoyi-ui/src/assets/icons/svg/zip.svg deleted file mode 100644 index f806fc4..0000000 --- a/ruoyi-ui/src/assets/icons/svg/zip.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z"/></svg> \ No newline at end of file diff --git a/ruoyi-ui/src/assets/icons/svgo.yml b/ruoyi-ui/src/assets/icons/svgo.yml deleted file mode 100644 index 14f8f5c..0000000 --- a/ruoyi-ui/src/assets/icons/svgo.yml +++ /dev/null @@ -1,22 +0,0 @@ -# replace default config - -# multipass: true -# full: true - -plugins: - - # - name - # - # or: - # - name: false - # - name: true - # - # or: - # - name: - # param1: 1 - # param2: 2 - -- removeAttrs: - attrs: - - 'fill' - - 'fill-rule' diff --git a/ruoyi-ui/src/assets/image/login-background.jpg b/ruoyi-ui/src/assets/image/login-background.jpg deleted file mode 100644 index 8a89eb8..0000000 --- a/ruoyi-ui/src/assets/image/login-background.jpg +++ /dev/null Binary files differ diff --git a/ruoyi-ui/src/assets/image/profile.jpg b/ruoyi-ui/src/assets/image/profile.jpg deleted file mode 100644 index b3a940b..0000000 --- a/ruoyi-ui/src/assets/image/profile.jpg +++ /dev/null Binary files differ diff --git a/ruoyi-ui/src/assets/logo/logo.png b/ruoyi-ui/src/assets/logo/logo.png deleted file mode 100644 index e263760..0000000 --- a/ruoyi-ui/src/assets/logo/logo.png +++ /dev/null Binary files differ diff --git a/ruoyi-ui/src/assets/styles/btn.scss b/ruoyi-ui/src/assets/styles/btn.scss deleted file mode 100644 index 1ccb57d..0000000 --- a/ruoyi-ui/src/assets/styles/btn.scss +++ /dev/null @@ -1,99 +0,0 @@ -@import './variables.scss'; - -@mixin colorBtn($color) { - background: $color; - - &:hover { - color: $color; - - &:before, - &:after { - background: $color; - } - } -} - -.blue-btn { - @include colorBtn($blue) -} - -.light-blue-btn { - @include colorBtn($light-blue) -} - -.red-btn { - @include colorBtn($red) -} - -.pink-btn { - @include colorBtn($pink) -} - -.green-btn { - @include colorBtn($green) -} - -.tiffany-btn { - @include colorBtn($tiffany) -} - -.yellow-btn { - @include colorBtn($yellow) -} - -.pan-btn { - font-size: 14px; - color: #fff; - padding: 14px 36px; - border-radius: 8px; - border: none; - outline: none; - transition: 600ms ease all; - position: relative; - display: inline-block; - - &:hover { - background: #fff; - - &:before, - &:after { - width: 100%; - transition: 600ms ease all; - } - } - - &:before, - &:after { - content: ''; - position: absolute; - top: 0; - right: 0; - height: 2px; - width: 0; - transition: 400ms ease all; - } - - &::after { - right: inherit; - top: inherit; - left: 0; - bottom: 0; - } -} - -.custom-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #fff; - color: #fff; - -webkit-appearance: none; - text-align: center; - box-sizing: border-box; - outline: 0; - margin: 0; - padding: 10px 15px; - font-size: 14px; - border-radius: 4px; -} diff --git a/ruoyi-ui/src/assets/styles/element-ui.scss b/ruoyi-ui/src/assets/styles/element-ui.scss deleted file mode 100644 index 35c224e..0000000 --- a/ruoyi-ui/src/assets/styles/element-ui.scss +++ /dev/null @@ -1,79 +0,0 @@ -// cover some element-ui styles - -.el-breadcrumb__inner, -.el-breadcrumb__inner a { - font-weight: 400 !important; -} - -.el-upload { - input[type="file"] { - display: none !important; - } -} - -.el-upload__input { - display: none; -} - -.cell { - .el-tag { - margin-right: 0px; - } -} - -.small-padding { - .cell { - padding-left: 5px; - padding-right: 5px; - } -} - -.fixed-width { - .el-button--mini { - padding: 7px 10px; - width: 60px; - } -} - -.status-col { - .cell { - padding: 0 10px; - text-align: center; - - .el-tag { - margin-right: 0px; - } - } -} - -// to fixed https://github.com/ElemeFE/element/issues/2461 -.el-dialog { - transform: none; - left: 0; - position: relative; - margin: 0 auto; -} - -// refine element ui upload -.upload-container { - .el-upload { - width: 100%; - - .el-upload-dragger { - width: 100%; - height: 200px; - } - } -} - -// dropdown -.el-dropdown-menu { - a { - display: block - } -} - -// fix date-picker ui bug in filter-item -.el-range-editor.el-input__inner { - display: inline-flex !important; -} diff --git a/ruoyi-ui/src/assets/styles/element-variables.scss b/ruoyi-ui/src/assets/styles/element-variables.scss deleted file mode 100644 index bc7697e..0000000 --- a/ruoyi-ui/src/assets/styles/element-variables.scss +++ /dev/null @@ -1,31 +0,0 @@ -/** -* I think element-ui's default theme color is too light for long-term use. -* So I modified the default color and you can modify it to your liking. -**/ - -/* theme color */ -$--color-primary: #1890ff; -$--color-success: #13ce66; -$--color-warning: #FFBA00; -$--color-danger: #ff4949; -// $--color-info: #1E1E1E; - -$--button-font-weight: 400; - -// $--color-text-regular: #1f2d3d; - -$--border-color-light: #dfe4ed; -$--border-color-lighter: #e6ebf5; - -$--table-border:1px solid#dfe6ec; - -/* icon font path, required */ -$--font-path: '~element-ui/lib/theme-chalk/fonts'; - -@import "~element-ui/packages/theme-chalk/src/index"; - -// the :export directive is the magic sauce for webpack -// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass -:export { - theme: $--color-primary; -} diff --git a/ruoyi-ui/src/assets/styles/index.scss b/ruoyi-ui/src/assets/styles/index.scss deleted file mode 100644 index 9f536ae..0000000 --- a/ruoyi-ui/src/assets/styles/index.scss +++ /dev/null @@ -1,191 +0,0 @@ -@import './variables.scss'; -@import './mixin.scss'; -@import './transition.scss'; -@import './element-ui.scss'; -@import './sidebar.scss'; -@import './btn.scss'; - -body { - height: 100%; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; -} - -label { - font-weight: 700; -} - -html { - height: 100%; - box-sizing: border-box; -} - -#app { - height: 100%; -} - -*, -*:before, -*:after { - box-sizing: inherit; -} - -.no-padding { - padding: 0px !important; -} - -.padding-content { - padding: 4px 0; -} - -a:focus, -a:active { - outline: none; -} - -a, -a:focus, -a:hover { - cursor: pointer; - color: inherit; - text-decoration: none; -} - -div:focus { - outline: none; -} - -.fr { - float: right; -} - -.fl { - float: left; -} - -.pr-5 { - padding-right: 5px; -} - -.pl-5 { - padding-left: 5px; -} - -.block { - display: block; -} - -.pointer { - cursor: pointer; -} - -.inlineBlock { - display: block; -} - -.clearfix { - &:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; - } -} - -aside { - background: #eef1f6; - padding: 8px 24px; - margin-bottom: 20px; - border-radius: 2px; - display: block; - line-height: 32px; - font-size: 16px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - color: #2c3e50; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - a { - color: #337ab7; - cursor: pointer; - - &:hover { - color: rgb(32, 160, 255); - } - } -} - -//main-container鍏ㄥ眬鏍峰紡 -.app-container { - padding: 20px; -} - -.components-container { - margin: 30px 50px; - position: relative; -} - -.pagination-container { - margin-top: 30px; -} - -.text-center { - text-align: center -} - -.sub-navbar { - height: 50px; - line-height: 50px; - position: relative; - width: 100%; - text-align: right; - padding-right: 20px; - transition: 600ms ease position; - background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); - - .subtitle { - font-size: 20px; - color: #fff; - } - - &.draft { - background: #d0d0d0; - } - - &.deleted { - background: #d0d0d0; - } -} - -.link-type, -.link-type:focus { - color: #337ab7; - cursor: pointer; - - &:hover { - color: rgb(32, 160, 255); - } -} - -.filter-container { - padding-bottom: 10px; - - .filter-item { - display: inline-block; - vertical-align: middle; - margin-bottom: 10px; - } -} - -//refine vue-multiselect plugin -.multiselect { - line-height: 16px; -} - -.multiselect--active { - z-index: 1000 !important; -} diff --git a/ruoyi-ui/src/assets/styles/mixin.scss b/ruoyi-ui/src/assets/styles/mixin.scss deleted file mode 100644 index 64d9cf6..0000000 --- a/ruoyi-ui/src/assets/styles/mixin.scss +++ /dev/null @@ -1,66 +0,0 @@ -@mixin clearfix { - &:after { - content: ""; - display: table; - clear: both; - } -} - -@mixin scrollBar { - &::-webkit-scrollbar-track-piece { - background: #d3dce6; - } - - &::-webkit-scrollbar { - width: 6px; - } - - &::-webkit-scrollbar-thumb { - background: #99a9bf; - border-radius: 20px; - } -} - -@mixin relative { - position: relative; - width: 100%; - height: 100%; -} - -@mixin pct($pct) { - width: #{$pct}; - position: relative; - margin: 0 auto; -} - -@mixin triangle($width, $height, $color, $direction) { - $width: $width/2; - $color-border-style: $height solid $color; - $transparent-border-style: $width solid transparent; - height: 0; - width: 0; - - @if $direction==up { - border-bottom: $color-border-style; - border-left: $transparent-border-style; - border-right: $transparent-border-style; - } - - @else if $direction==right { - border-left: $color-border-style; - border-top: $transparent-border-style; - border-bottom: $transparent-border-style; - } - - @else if $direction==down { - border-top: $color-border-style; - border-left: $transparent-border-style; - border-right: $transparent-border-style; - } - - @else if $direction==left { - border-right: $color-border-style; - border-top: $transparent-border-style; - border-bottom: $transparent-border-style; - } -} diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss deleted file mode 100644 index 77307e5..0000000 --- a/ruoyi-ui/src/assets/styles/ruoyi.scss +++ /dev/null @@ -1,190 +0,0 @@ - /** - * 閫氱敤css鏍峰紡甯冨眬澶勭悊 - * Copyright (c) 2019 ruoyi - */ - - /** 鍩虹閫氱敤 **/ -.pt5 { - padding-top: 5px; -} -.pr5 { - padding-right: 5px; -} -.pb5 { - padding-bottom: 5px; -} -.mt5 { - margin-top: 5px; -} -.mr5 { - margin-right: 5px; -} -.mb5 { - margin-bottom: 5px; -} -.mb8 { - margin-bottom: 8px; -} -.ml5 { - margin-left: 5px; -} -.mt10 { - margin-top: 10px; -} -.mr10 { - margin-right: 10px; -} -.mb10 { - margin-bottom: 10px; -} -.ml0 { - margin-left: 10px; -} -.mt20 { - margin-top: 20px; -} -.mr20 { - margin-right: 20px; -} -.mb20 { - margin-bottom: 20px; -} -.m20 { - margin-left: 20px; -} - -.el-dialog { - margin-top: 6vh !important; -} - -.el-table .el-table__header-wrapper th { - word-break: break-word; - background-color: #f8f8f9; - color: #515a6e; - height: 40px; - font-size: 13px; -} - -/** 琛ㄥ崟甯冨眬 **/ -.form-header { - font-size:15px; - color:#6379bb; - border-bottom:1px solid #ddd; - margin:8px 10px 25px 10px; - padding-bottom:5px -} - -/** 琛ㄦ牸甯冨眬 **/ -.pagination-container { - position: relative; - height: 25px; - margin-bottom: 10px; - margin-top: 15px; - padding: 10px 20px !important; -} - -.pagination-container .el-pagination { - right: 0; - position: absolute; -} - -.el-table .fixed-width .el-button--mini { - color: #409EFF; - padding-left: 0; - padding-right: 0; - width: inherit; -} - -.el-tree-node__content > .el-checkbox { - margin-right: 8px; -} - -.list-group-striped > .list-group-item { - border-left: 0; - border-right: 0; - border-radius: 0; - padding-left: 0; - padding-right: 0; -} - -.list-group { - padding-left: 0px; - list-style: none; -} - -.list-group-item { - border-bottom: 1px solid #e7eaec; - border-top: 1px solid #e7eaec; - margin-bottom: -1px; - padding: 11px 0px; - font-size: 13px; -} - -.pull-right { - float: right !important; -} - -.el-card__header { - padding: 14px 15px 7px; - min-height: 40px; -} - -.el-card__body { - padding: 15px 20px 20px 20px; -} - -.card-box { - padding-right: 15px; - padding-left: 15px; - margin-bottom: 10px; -} - -/* text color */ -.text-navy { - color: #1ab394; -} - -.text-primary { - color: inherit; -} - -.text-success { - color: #1c84c6; -} - -.text-info { - color: #23c6c8; -} - -.text-warning { - color: #f8ac59; -} - -.text-danger { - color: #ed5565; -} - -.text-muted { - color: #888888; -} - -/* image */ -.img-circle { - border-radius: 50%; -} - -.img-lg { - width: 120px; - height: 120px; -} - -.avatar-upload-preview { - position: absolute; - top: 50%; - transform: translate(50%, -50%); - width: 180px; - height: 180px; - border-radius: 50%; - box-shadow: 0 0 4px #ccc; - overflow: hidden; -} \ No newline at end of file diff --git a/ruoyi-ui/src/assets/styles/sidebar.scss b/ruoyi-ui/src/assets/styles/sidebar.scss deleted file mode 100644 index 9fc13e2..0000000 --- a/ruoyi-ui/src/assets/styles/sidebar.scss +++ /dev/null @@ -1,209 +0,0 @@ -#app { - - .main-container { - min-height: 100%; - transition: margin-left .28s; - margin-left: $sideBarWidth; - position: relative; - } - - .sidebar-container { - transition: width 0.28s; - width: $sideBarWidth !important; - background-color: $menuBg; - height: 100%; - position: fixed; - font-size: 0px; - top: 0; - bottom: 0; - left: 0; - z-index: 1001; - overflow: hidden; - - // reset element-ui css - .horizontal-collapse-transition { - transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; - } - - .scrollbar-wrapper { - overflow-x: hidden !important; - } - - .el-scrollbar__bar.is-vertical { - right: 0px; - } - - .el-scrollbar { - height: 100%; - } - - &.has-logo { - .el-scrollbar { - height: calc(100% - 50px); - } - } - - .is-horizontal { - display: none; - } - - a { - display: inline-block; - width: 100%; - overflow: hidden; - } - - .svg-icon { - margin-right: 16px; - } - - .el-menu { - border: none; - height: 100%; - width: 100% !important; - } - - // menu hover - .submenu-title-noDropdown, - .el-submenu__title { - &:hover { - background-color: $menuHover !important; - } - } - - .is-active>.el-submenu__title { - color: $subMenuActiveText !important; - } - - & .nest-menu .el-submenu>.el-submenu__title, - & .el-submenu .el-menu-item { - min-width: $sideBarWidth !important; - background-color: $subMenuBg !important; - - &:hover { - background-color: $subMenuHover !important; - } - } - } - - .hideSidebar { - .sidebar-container { - width: 54px !important; - } - - .main-container { - margin-left: 54px; - } - - .submenu-title-noDropdown { - padding: 0 !important; - position: relative; - - .el-tooltip { - padding: 0 !important; - - .svg-icon { - margin-left: 20px; - } - } - } - - .el-submenu { - overflow: hidden; - - &>.el-submenu__title { - padding: 0 !important; - - .svg-icon { - margin-left: 20px; - } - - .el-submenu__icon-arrow { - display: none; - } - } - } - - .el-menu--collapse { - .el-submenu { - &>.el-submenu__title { - &>span { - height: 0; - width: 0; - overflow: hidden; - visibility: hidden; - display: inline-block; - } - } - } - } - } - - .el-menu--collapse .el-menu .el-submenu { - min-width: $sideBarWidth !important; - } - - // mobile responsive - .mobile { - .main-container { - margin-left: 0px; - } - - .sidebar-container { - transition: transform .28s; - width: $sideBarWidth !important; - } - - &.hideSidebar { - .sidebar-container { - pointer-events: none; - transition-duration: 0.3s; - transform: translate3d(-$sideBarWidth, 0, 0); - } - } - } - - .withoutAnimation { - - .main-container, - .sidebar-container { - transition: none; - } - } -} - -// when menu collapsed -.el-menu--vertical { - &>.el-menu { - .svg-icon { - margin-right: 16px; - } - } - - .nest-menu .el-submenu>.el-submenu__title, - .el-menu-item { - &:hover { - // you can use $subMenuHover - background-color: $menuHover !important; - } - } - - // the scroll bar appears when the subMenu is too long - >.el-menu--popup { - max-height: 100vh; - overflow-y: auto; - - &::-webkit-scrollbar-track-piece { - background: #d3dce6; - } - - &::-webkit-scrollbar { - width: 6px; - } - - &::-webkit-scrollbar-thumb { - background: #99a9bf; - border-radius: 20px; - } - } -} diff --git a/ruoyi-ui/src/assets/styles/transition.scss b/ruoyi-ui/src/assets/styles/transition.scss deleted file mode 100644 index 25e7e18..0000000 --- a/ruoyi-ui/src/assets/styles/transition.scss +++ /dev/null @@ -1,48 +0,0 @@ -// global transition css - -/* fade */ -.fade-enter-active, -.fade-leave-active { - transition: opacity 0.28s; -} - -.fade-enter, -.fade-leave-active { - opacity: 0; -} - -/* fade-transform */ -.fade-transform-leave-active, -.fade-transform-enter-active { - transition: all .5s; -} - -.fade-transform-enter { - opacity: 0; - transform: translateX(-30px); -} - -.fade-transform-leave-to { - opacity: 0; - transform: translateX(30px); -} - -/* breadcrumb transition */ -.breadcrumb-enter-active, -.breadcrumb-leave-active { - transition: all .5s; -} - -.breadcrumb-enter, -.breadcrumb-leave-active { - opacity: 0; - transform: translateX(20px); -} - -.breadcrumb-move { - transition: all .5s; -} - -.breadcrumb-leave-active { - position: absolute; -} diff --git a/ruoyi-ui/src/assets/styles/variables.scss b/ruoyi-ui/src/assets/styles/variables.scss deleted file mode 100644 index d5f4e9f..0000000 --- a/ruoyi-ui/src/assets/styles/variables.scss +++ /dev/null @@ -1,35 +0,0 @@ -// base color -$blue:#324157; -$light-blue:#3A71A8; -$red:#C03639; -$pink: #E65D6E; -$green: #30B08F; -$tiffany: #4AB7BD; -$yellow:#FEC171; -$panGreen: #30B08F; - -// sidebar -$menuText:#bfcbd9; -$menuActiveText:#409EFF; -$subMenuActiveText:#f4f4f5; // https://github.com/ElemeFE/element/issues/12951 - -$menuBg:#304156; -$menuHover:#263445; - -$subMenuBg:#1f2d3d; -$subMenuHover:#001528; - -$sideBarWidth: 200px; - -// the :export directive is the magic sauce for webpack -// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass -:export { - menuText: $menuText; - menuActiveText: $menuActiveText; - subMenuActiveText: $subMenuActiveText; - menuBg: $menuBg; - menuHover: $menuHover; - subMenuBg: $subMenuBg; - subMenuHover: $subMenuHover; - sideBarWidth: $sideBarWidth; -} diff --git a/ruoyi-ui/src/components/Breadcrumb/index.vue b/ruoyi-ui/src/components/Breadcrumb/index.vue deleted file mode 100644 index dec8bfe..0000000 --- a/ruoyi-ui/src/components/Breadcrumb/index.vue +++ /dev/null @@ -1,81 +0,0 @@ -<template> - <el-breadcrumb class="app-breadcrumb" separator="/"> - <transition-group name="breadcrumb"> - <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path"> - <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span> - <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> - </el-breadcrumb-item> - </transition-group> - </el-breadcrumb> -</template> - -<script> -import pathToRegexp from 'path-to-regexp' - -export default { - data() { - return { - levelList: null - } - }, - watch: { - $route(route) { - // if you go to the redirect page, do not update the breadcrumbs - if (route.path.startsWith('/redirect/')) { - return - } - this.getBreadcrumb() - } - }, - created() { - this.getBreadcrumb() - }, - methods: { - getBreadcrumb() { - // only show routes with meta.title - let matched = this.$route.matched.filter(item => item.meta && item.meta.title) - const first = matched[0] - - if (!this.isDashboard(first)) { - matched = [{ path: '/index', meta: { title: '棣栭〉' }}].concat(matched) - } - - this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) - }, - isDashboard(route) { - const name = route && route.name - if (!name) { - return false - } - return name.trim() === '棣栭〉' - }, - pathCompile(path) { - const { params } = this.$route - var toPath = pathToRegexp.compile(path) - return toPath(params) - }, - handleLink(item) { - const { redirect, path } = item - if (redirect) { - this.$router.push(redirect) - return - } - this.$router.push(this.pathCompile(path)) - } - } -} -</script> - -<style lang="scss" scoped> -.app-breadcrumb.el-breadcrumb { - display: inline-block; - font-size: 14px; - line-height: 50px; - margin-left: 8px; - - .no-redirect { - color: #97a8be; - cursor: text; - } -} -</style> diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue deleted file mode 100644 index 56151f4..0000000 --- a/ruoyi-ui/src/components/Editor/index.vue +++ /dev/null @@ -1,226 +0,0 @@ -<template> - <div> - <!-- 鍥剧墖涓婁紶缁勪欢杈呭姪 --> - <el-upload - class="avatar-uploader quill-img" - :action="uploadImgUrl" - name="file" - :headers="headers" - :show-file-list="false" - :on-success="quillImgSuccess" - :on-error="uploadError" - :before-upload="quillImgBefore" - accept='.jpg,.jpeg,.png,.gif' - ></el-upload> - - <!-- 瀵屾枃鏈粍浠� --> - <quill-editor - class="editor" - v-model="content" - ref="quillEditor" - :options="editorOption" - @blur="onEditorBlur($event)" - @focus="onEditorFocus($event)" - @change="onEditorChange($event)" - ></quill-editor> - </div> -</template> - -<script> -import { getToken } from '@/utils/auth' - -// 宸ュ叿鏍忛厤缃� -const toolbarOptions = [ - ["bold", "italic", "underline", "strike"], // 鍔犵矖 鏂滀綋 涓嬪垝绾� 鍒犻櫎绾� - ["blockquote", "code-block"], // 寮曠敤 浠g爜鍧� - [{ list: "ordered" }, { list: "bullet" }], // 鏈夊簭銆佹棤搴忓垪琛� - [{ indent: "-1" }, { indent: "+1" }], // 缂╄繘 - [{ size: ["small", false, "large", "huge"] }], // 瀛椾綋澶у皬 - [{ header: [1, 2, 3, 4, 5, 6, false] }], // 鏍囬 - [{ color: [] }, { background: [] }], // 瀛椾綋棰滆壊銆佸瓧浣撹儗鏅鑹� - [{ align: [] }], // 瀵归綈鏂瑰紡 - ["clean"], // 娓呴櫎鏂囨湰鏍煎紡 - ["link", "image", "video"] // 閾炬帴銆佸浘鐗囥�佽棰� -]; - -import { quillEditor } from "vue-quill-editor"; -import "quill/dist/quill.core.css"; -import "quill/dist/quill.snow.css"; -import "quill/dist/quill.bubble.css"; - -export default { - props: { - /* 缂栬緫鍣ㄧ殑鍐呭 */ - value: { - type: String - }, - /* 鍥剧墖澶у皬 */ - maxSize: { - type: Number, - default: 4000 //kb - } - }, - components: { quillEditor }, - data() { - return { - content: this.value, - uploadImgUrl: "", - editorOption: { - placeholder: "", - theme: "snow", // or 'bubble' - placeholder: "璇疯緭鍏ュ唴瀹�", - modules: { - toolbar: { - container: toolbarOptions, - handlers: { - image: function(value) { - if (value) { - // 瑙﹀彂input妗嗛�夋嫨鍥剧墖鏂囦欢 - document.querySelector(".quill-img input").click(); - } else { - this.quill.format("image", false); - } - } - } - } - } - }, - uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 涓婁紶鐨勫浘鐗囨湇鍔″櫒鍦板潃 - headers: { - Authorization: 'Bearer ' + getToken() - } - }; - }, - watch: { - value: function() { - this.content = this.value; - } - }, - methods: { - onEditorBlur() { - //澶卞幓鐒︾偣浜嬩欢 - }, - onEditorFocus() { - //鑾峰緱鐒︾偣浜嬩欢 - }, - onEditorChange() { - //鍐呭鏀瑰彉浜嬩欢 - this.$emit("input", this.content); - }, - - // 瀵屾枃鏈浘鐗囦笂浼犲墠 - quillImgBefore(file) { - let fileType = file.type; - if(fileType === 'image/jpeg' || fileType === 'image/png'){ - return true; - }else { - this.$message.error('璇锋彃鍏ュ浘鐗囩被鍨嬫枃浠�(jpg/jpeg/png)'); - return false; - } - }, - - quillImgSuccess(res, file) { - // res涓哄浘鐗囨湇鍔″櫒杩斿洖鐨勬暟鎹� - // 鑾峰彇瀵屾枃鏈粍浠跺疄渚� - let quill = this.$refs.quillEditor.quill; - // 濡傛灉涓婁紶鎴愬姛 - if (res.code == 200) { - // 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃� - let length = quill.getSelection().index; - // 鎻掑叆鍥剧墖 res.url涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囧湴鍧� - quill.insertEmbed(length, "image", res.url); - // 璋冩暣鍏夋爣鍒版渶鍚� - quill.setSelection(length + 1); - } else { - this.$message.error("鍥剧墖鎻掑叆澶辫触"); - } - }, - // 瀵屾枃鏈浘鐗囦笂浼犲け璐� - uploadError() { - // loading鍔ㄧ敾娑堝け - this.$message.error("鍥剧墖鎻掑叆澶辫触"); - } - } -}; -</script> - -<style> -.editor { - line-height: normal !important; - height: 192px; -} -.quill-img { - display: none; -} -.ql-snow .ql-tooltip[data-mode="link"]::before { - content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:"; -} -.ql-snow .ql-tooltip.ql-editing a.ql-action::after { - border-right: 0px; - content: "淇濆瓨"; - padding-right: 0px; -} - -.ql-snow .ql-tooltip[data-mode="video"]::before { - content: "璇疯緭鍏ヨ棰戝湴鍧�:"; -} - -.ql-snow .ql-picker.ql-size .ql-picker-label::before, -.ql-snow .ql-picker.ql-size .ql-picker-item::before { - content: "14px"; -} -.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before, -.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before { - content: "10px"; -} -.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before, -.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before { - content: "18px"; -} -.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before, -.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { - content: "32px"; -} - -.ql-snow .ql-picker.ql-header .ql-picker-label::before, -.ql-snow .ql-picker.ql-header .ql-picker-item::before { - content: "鏂囨湰"; -} -.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, -.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { - content: "鏍囬1"; -} -.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, -.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { - content: "鏍囬2"; -} -.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, -.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { - content: "鏍囬3"; -} -.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, -.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { - content: "鏍囬4"; -} -.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, -.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { - content: "鏍囬5"; -} -.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, -.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { - content: "鏍囬6"; -} - -.ql-snow .ql-picker.ql-font .ql-picker-label::before, -.ql-snow .ql-picker.ql-font .ql-picker-item::before { - content: "鏍囧噯瀛椾綋"; -} -.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before, -.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { - content: "琛嚎瀛椾綋"; -} -.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before, -.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { - content: "绛夊瀛椾綋"; -} -</style> \ No newline at end of file diff --git a/ruoyi-ui/src/components/Hamburger/index.vue b/ruoyi-ui/src/components/Hamburger/index.vue deleted file mode 100644 index c6a4359..0000000 --- a/ruoyi-ui/src/components/Hamburger/index.vue +++ /dev/null @@ -1,44 +0,0 @@ -<template> - <div style="padding: 0 15px;" @click="toggleClick"> - <svg - :class="{'is-active':isActive}" - class="hamburger" - viewBox="0 0 1024 1024" - xmlns="http://www.w3.org/2000/svg" - width="64" - height="64" - > - <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" /> - </svg> - </div> -</template> - -<script> -export default { - name: 'Hamburger', - props: { - isActive: { - type: Boolean, - default: false - } - }, - methods: { - toggleClick() { - this.$emit('toggleClick') - } - } -} -</script> - -<style scoped> -.hamburger { - display: inline-block; - vertical-align: middle; - width: 20px; - height: 20px; -} - -.hamburger.is-active { - transform: rotate(180deg); -} -</style> diff --git a/ruoyi-ui/src/components/HeaderSearch/index.vue b/ruoyi-ui/src/components/HeaderSearch/index.vue deleted file mode 100644 index 8974171..0000000 --- a/ruoyi-ui/src/components/HeaderSearch/index.vue +++ /dev/null @@ -1,180 +0,0 @@ -<template> - <div :class="{'show':show}" class="header-search"> - <svg-icon class-name="search-icon" icon-class="search" @click.stop="click" /> - <el-select - ref="headerSearchSelect" - v-model="search" - :remote-method="querySearch" - filterable - default-first-option - remote - placeholder="Search" - class="header-search-select" - @change="change" - > - <el-option v-for="item in options" :key="item.path" :value="item" :label="item.title.join(' > ')" /> - </el-select> - </div> -</template> - -<script> -// fuse is a lightweight fuzzy-search module -// make search results more in line with expectations -import Fuse from 'fuse.js' -import path from 'path' - -export default { - name: 'HeaderSearch', - data() { - return { - search: '', - options: [], - searchPool: [], - show: false, - fuse: undefined - } - }, - computed: { - routes() { - return this.$store.getters.permission_routes - } - }, - watch: { - routes() { - this.searchPool = this.generateRoutes(this.routes) - }, - searchPool(list) { - this.initFuse(list) - }, - show(value) { - if (value) { - document.body.addEventListener('click', this.close) - } else { - document.body.removeEventListener('click', this.close) - } - } - }, - mounted() { - this.searchPool = this.generateRoutes(this.routes) - }, - methods: { - click() { - this.show = !this.show - if (this.show) { - this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.focus() - } - }, - close() { - this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.blur() - this.options = [] - this.show = false - }, - change(val) { - this.$router.push(val.path) - this.search = '' - this.options = [] - this.$nextTick(() => { - this.show = false - }) - }, - initFuse(list) { - this.fuse = new Fuse(list, { - shouldSort: true, - threshold: 0.4, - location: 0, - distance: 100, - maxPatternLength: 32, - minMatchCharLength: 1, - keys: [{ - name: 'title', - weight: 0.7 - }, { - name: 'path', - weight: 0.3 - }] - }) - }, - // Filter out the routes that can be displayed in the sidebar - // And generate the internationalized title - generateRoutes(routes, basePath = '/', prefixTitle = []) { - let res = [] - - for (const router of routes) { - // skip hidden router - if (router.hidden) { continue } - - const data = { - path: path.resolve(basePath, router.path), - title: [...prefixTitle] - } - - if (router.meta && router.meta.title) { - data.title = [...data.title, router.meta.title] - - if (router.redirect !== 'noRedirect') { - // only push the routes with title - // special case: need to exclude parent router without redirect - res.push(data) - } - } - - // recursive child routes - if (router.children) { - const tempRoutes = this.generateRoutes(router.children, data.path, data.title) - if (tempRoutes.length >= 1) { - res = [...res, ...tempRoutes] - } - } - } - return res - }, - querySearch(query) { - if (query !== '') { - this.options = this.fuse.search(query) - } else { - this.options = [] - } - } - } -} -</script> - -<style lang="scss" scoped> -.header-search { - font-size: 0 !important; - - .search-icon { - cursor: pointer; - font-size: 18px; - vertical-align: middle; - } - - .header-search-select { - font-size: 18px; - transition: width 0.2s; - width: 0; - overflow: hidden; - background: transparent; - border-radius: 0; - display: inline-block; - vertical-align: middle; - - /deep/ .el-input__inner { - border-radius: 0; - border: 0; - padding-left: 0; - padding-right: 0; - box-shadow: none !important; - border-bottom: 1px solid #d9d9d9; - vertical-align: middle; - } - } - - &.show { - .header-search-select { - width: 210px; - margin-left: 10px; - } - } -} -</style> diff --git a/ruoyi-ui/src/components/IconSelect/index.vue b/ruoyi-ui/src/components/IconSelect/index.vue deleted file mode 100644 index ea4c1b6..0000000 --- a/ruoyi-ui/src/components/IconSelect/index.vue +++ /dev/null @@ -1,69 +0,0 @@ -<!-- @author zhengjie --> -<template> - <div class="icon-body"> - <el-input v-model="name" style="position: relative;" clearable placeholder="璇疯緭鍏ュ浘鏍囧悕绉�" @clear="filterIcons" @input.native="filterIcons"> - <i slot="suffix" class="el-icon-search el-input__icon" /> - </el-input> - <div class="icon-list"> - <div v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)"> - <svg-icon :icon-class="item" style="height: 30px;width: 16px;" /> - <span>{{ item }}</span> - </div> - </div> - </div> -</template> - -<script> -import icons from './requireIcons' -export default { - name: 'IconSelect', - data() { - return { - name: '', - iconList: icons - } - }, - methods: { - filterIcons() { - if (this.name) { - this.iconList = this.iconList.filter(item => item.includes(this.name)) - } else { - this.iconList = icons - } - }, - selectedIcon(name) { - this.$emit('selected', name) - document.body.click() - }, - reset() { - this.name = '' - this.iconList = icons - } - } -} -</script> - -<style rel="stylesheet/scss" lang="scss" scoped> - .icon-body { - width: 100%; - padding: 10px; - .icon-list { - height: 200px; - overflow-y: scroll; - div { - height: 30px; - line-height: 30px; - margin-bottom: -5px; - cursor: pointer; - width: 33%; - float: left; - } - span { - display: inline-block; - vertical-align: -0.15em; - fill: currentColor; - overflow: hidden; - } - } - } -</style> diff --git a/ruoyi-ui/src/components/IconSelect/requireIcons.js b/ruoyi-ui/src/components/IconSelect/requireIcons.js deleted file mode 100644 index 5d3005d..0000000 --- a/ruoyi-ui/src/components/IconSelect/requireIcons.js +++ /dev/null @@ -1,11 +0,0 @@ - -const req = require.context('../../assets/icons/svg', false, /\.svg$/) -const requireAll = requireContext => requireContext.keys() - -const re = /\.\/(.*)\.svg/ - -const icons = requireAll(req).map(i => { - return i.match(re)[1] -}) - -export default icons diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue deleted file mode 100644 index 08ff090..0000000 --- a/ruoyi-ui/src/components/Pagination/index.vue +++ /dev/null @@ -1,101 +0,0 @@ -<template> - <div :class="{'hidden':hidden}" class="pagination-container"> - <el-pagination - :background="background" - :current-page.sync="currentPage" - :page-size.sync="pageSize" - :layout="layout" - :page-sizes="pageSizes" - :total="total" - v-bind="$attrs" - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - /> - </div> -</template> - -<script> -import { scrollTo } from '@/utils/scroll-to' - -export default { - name: 'Pagination', - props: { - total: { - required: true, - type: Number - }, - page: { - type: Number, - default: 1 - }, - limit: { - type: Number, - default: 20 - }, - pageSizes: { - type: Array, - default() { - return [10, 20, 30, 50] - } - }, - layout: { - type: String, - default: 'total, sizes, prev, pager, next, jumper' - }, - background: { - type: Boolean, - default: true - }, - autoScroll: { - type: Boolean, - default: true - }, - hidden: { - type: Boolean, - default: false - } - }, - computed: { - currentPage: { - get() { - return this.page - }, - set(val) { - this.$emit('update:page', val) - } - }, - pageSize: { - get() { - return this.limit - }, - set(val) { - this.$emit('update:limit', val) - } - } - }, - methods: { - handleSizeChange(val) { - this.$emit('pagination', { page: this.currentPage, limit: val }) - if (this.autoScroll) { - scrollTo(0, 800) - } - }, - handleCurrentChange(val) { - this.$emit('pagination', { page: val, limit: this.pageSize }) - if (this.autoScroll) { - scrollTo(0, 800) - } - } - } -} -</script> - -<style scoped> -.pagination-container { - background: #fff; - padding: 32px 16px; -} -.pagination-container.hidden { - display: none; -} -</style> diff --git a/ruoyi-ui/src/components/PanThumb/index.vue b/ruoyi-ui/src/components/PanThumb/index.vue deleted file mode 100644 index 796b01b..0000000 --- a/ruoyi-ui/src/components/PanThumb/index.vue +++ /dev/null @@ -1,142 +0,0 @@ -<template> - <div :style="{zIndex:zIndex,height:height,width:width}" class="pan-item"> - <div class="pan-info"> - <div class="pan-info-roles-container"> - <slot /> - </div> - </div> - <!-- eslint-disable-next-line --> - <div :style="{backgroundImage: `url(${image})`}" class="pan-thumb"></div> - </div> -</template> - -<script> -export default { - name: 'PanThumb', - props: { - image: { - type: String, - required: true - }, - zIndex: { - type: Number, - default: 1 - }, - width: { - type: String, - default: '150px' - }, - height: { - type: String, - default: '150px' - } - } -} -</script> - -<style scoped> -.pan-item { - width: 200px; - height: 200px; - border-radius: 50%; - display: inline-block; - position: relative; - cursor: default; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); -} - -.pan-info-roles-container { - padding: 20px; - text-align: center; -} - -.pan-thumb { - width: 100%; - height: 100%; - background-position: center center; - background-size: cover; - border-radius: 50%; - overflow: hidden; - position: absolute; - transform-origin: 95% 40%; - transition: all 0.3s ease-in-out; -} - -/* .pan-thumb:after { - content: ''; - width: 8px; - height: 8px; - position: absolute; - border-radius: 50%; - top: 40%; - left: 95%; - margin: -4px 0 0 -4px; - background: radial-gradient(ellipse at center, rgba(14, 14, 14, 1) 0%, rgba(125, 126, 125, 1) 100%); - box-shadow: 0 0 1px rgba(255, 255, 255, 0.9); -} */ - -.pan-info { - position: absolute; - width: inherit; - height: inherit; - border-radius: 50%; - overflow: hidden; - box-shadow: inset 0 0 0 5px rgba(0, 0, 0, 0.05); -} - -.pan-info h3 { - color: #fff; - text-transform: uppercase; - position: relative; - letter-spacing: 2px; - font-size: 18px; - margin: 0 60px; - padding: 22px 0 0 0; - height: 85px; - font-family: 'Open Sans', Arial, sans-serif; - text-shadow: 0 0 1px #fff, 0 1px 2px rgba(0, 0, 0, 0.3); -} - -.pan-info p { - color: #fff; - padding: 10px 5px; - font-style: italic; - margin: 0 30px; - font-size: 12px; - border-top: 1px solid rgba(255, 255, 255, 0.5); -} - -.pan-info p a { - display: block; - color: #333; - width: 80px; - height: 80px; - background: rgba(255, 255, 255, 0.3); - border-radius: 50%; - color: #fff; - font-style: normal; - font-weight: 700; - text-transform: uppercase; - font-size: 9px; - letter-spacing: 1px; - padding-top: 24px; - margin: 7px auto 0; - font-family: 'Open Sans', Arial, sans-serif; - opacity: 0; - transition: transform 0.3s ease-in-out 0.2s, opacity 0.3s ease-in-out 0.2s, background 0.2s linear 0s; - transform: translateX(60px) rotate(90deg); -} - -.pan-info p a:hover { - background: rgba(255, 255, 255, 0.5); -} - -.pan-item:hover .pan-thumb { - transform: rotate(-110deg); -} - -.pan-item:hover .pan-info p a { - opacity: 1; - transform: translateX(0px) rotate(0deg); -} -</style> diff --git a/ruoyi-ui/src/components/RightPanel/index.vue b/ruoyi-ui/src/components/RightPanel/index.vue deleted file mode 100644 index 1534b9b..0000000 --- a/ruoyi-ui/src/components/RightPanel/index.vue +++ /dev/null @@ -1,149 +0,0 @@ -<template> - <div ref="rightPanel" :class="{show:show}" class="rightPanel-container"> - <div class="rightPanel-background" /> - <div class="rightPanel"> - <div class="rightPanel-items"> - <slot /> - </div> - </div> - </div> -</template> - -<script> -import { addClass, removeClass } from '@/utils' - -export default { - name: 'RightPanel', - props: { - clickNotClose: { - default: false, - type: Boolean - }, - buttonTop: { - default: 250, - type: Number - } - }, - computed: { - show: { - get() { - return this.$store.state.settings.showSettings - }, - set(val) { - this.$store.dispatch('settings/changeSetting', { - key: 'showSettings', - value: val - }) - } - }, - theme() { - return this.$store.state.settings.theme - }, - }, - watch: { - show(value) { - if (value && !this.clickNotClose) { - this.addEventClick() - } - if (value) { - addClass(document.body, 'showRightPanel') - } else { - removeClass(document.body, 'showRightPanel') - } - } - }, - mounted() { - this.insertToBody() - this.addEventClick() - }, - beforeDestroy() { - const elx = this.$refs.rightPanel - elx.remove() - }, - methods: { - addEventClick() { - window.addEventListener('click', this.closeSidebar) - }, - closeSidebar(evt) { - const parent = evt.target.closest('.rightPanel') - if (!parent) { - this.show = false - window.removeEventListener('click', this.closeSidebar) - } - }, - insertToBody() { - const elx = this.$refs.rightPanel - const body = document.querySelector('body') - body.insertBefore(elx, body.firstChild) - } - } -} -</script> - -<style> -.showRightPanel { - overflow: hidden; - position: relative; - width: calc(100% - 15px); -} -</style> - -<style lang="scss" scoped> -.rightPanel-background { - position: fixed; - top: 0; - left: 0; - opacity: 0; - transition: opacity .3s cubic-bezier(.7, .3, .1, 1); - background: rgba(0, 0, 0, .2); - z-index: -1; -} - -.rightPanel { - width: 100%; - max-width: 260px; - height: 100vh; - position: fixed; - top: 0; - right: 0; - box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .05); - transition: all .25s cubic-bezier(.7, .3, .1, 1); - transform: translate(100%); - background: #fff; - z-index: 40000; -} - -.show { - transition: all .3s cubic-bezier(.7, .3, .1, 1); - - .rightPanel-background { - z-index: 20000; - opacity: 1; - width: 100%; - height: 100%; - } - - .rightPanel { - transform: translate(0); - } -} - -.handle-button { - width: 48px; - height: 48px; - position: absolute; - left: -48px; - text-align: center; - font-size: 24px; - border-radius: 6px 0 0 6px !important; - z-index: 0; - pointer-events: auto; - cursor: pointer; - color: #fff; - line-height: 48px; - i { - font-size: 24px; - line-height: 48px; - } -} -</style> diff --git a/ruoyi-ui/src/components/RuoYi/index.vue b/ruoyi-ui/src/components/RuoYi/index.vue deleted file mode 100644 index 530d57f..0000000 --- a/ruoyi-ui/src/components/RuoYi/index.vue +++ /dev/null @@ -1,21 +0,0 @@ -<template> - <div> - <svg-icon icon-class="download" @click="handleDownload"/> - </div> -</template> - -<script> -export default { - name: 'RuoYi', - data() { - return { - url: 'https://gitee.com/y_project/RuoYi-Vue' - } - }, - methods: { - handleDownload() { - window.open(this.url) - } - } -} -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/components/Screenfull/index.vue b/ruoyi-ui/src/components/Screenfull/index.vue deleted file mode 100644 index 099d74d..0000000 --- a/ruoyi-ui/src/components/Screenfull/index.vue +++ /dev/null @@ -1,60 +0,0 @@ -<template> - <div> - <svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" @click="click" /> - </div> -</template> - -<script> -import screenfull from 'screenfull' - -export default { - name: 'Screenfull', - data() { - return { - isFullscreen: false - } - }, - mounted() { - this.init() - }, - beforeDestroy() { - this.destroy() - }, - methods: { - click() { - if (!screenfull.enabled) { - this.$message({ - message: 'you browser can not work', - type: 'warning' - }) - return false - } - screenfull.toggle() - }, - change() { - this.isFullscreen = screenfull.isFullscreen - }, - init() { - if (screenfull.enabled) { - screenfull.on('change', this.change) - } - }, - destroy() { - if (screenfull.enabled) { - screenfull.off('change', this.change) - } - } - } -} -</script> - -<style scoped> -.screenfull-svg { - display: inline-block; - cursor: pointer; - fill: #5a5e66;; - width: 20px; - height: 20px; - vertical-align: 10px; -} -</style> diff --git a/ruoyi-ui/src/components/SizeSelect/index.vue b/ruoyi-ui/src/components/SizeSelect/index.vue deleted file mode 100644 index 5503b97..0000000 --- a/ruoyi-ui/src/components/SizeSelect/index.vue +++ /dev/null @@ -1,57 +0,0 @@ -<template> - <el-dropdown trigger="click" @command="handleSetSize"> - <div> - <svg-icon class-name="size-icon" icon-class="size" /> - </div> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size===item.value" :command="item.value"> - {{ - item.label }} - </el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> -</template> - -<script> -export default { - data() { - return { - sizeOptions: [ - { label: 'Default', value: 'default' }, - { label: 'Medium', value: 'medium' }, - { label: 'Small', value: 'small' }, - { label: 'Mini', value: 'mini' } - ] - } - }, - computed: { - size() { - return this.$store.getters.size - } - }, - methods: { - handleSetSize(size) { - this.$ELEMENT.size = size - this.$store.dispatch('app/setSize', size) - this.refreshView() - this.$message({ - message: 'Switch Size Success', - type: 'success' - }) - }, - refreshView() { - // In order to make the cached page re-rendered - this.$store.dispatch('tagsView/delAllCachedViews', this.$route) - - const { fullPath } = this.$route - - this.$nextTick(() => { - this.$router.replace({ - path: '/redirect' + fullPath - }) - }) - } - } - -} -</script> diff --git a/ruoyi-ui/src/components/SvgIcon/index.vue b/ruoyi-ui/src/components/SvgIcon/index.vue deleted file mode 100644 index 340ace4..0000000 --- a/ruoyi-ui/src/components/SvgIcon/index.vue +++ /dev/null @@ -1,61 +0,0 @@ -<template> - <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" /> - <svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners"> - <use :xlink:href="iconName" /> - </svg> -</template> - -<script> -import { isExternal } from '@/utils/validate' - -export default { - name: 'SvgIcon', - props: { - iconClass: { - type: String, - required: true - }, - className: { - type: String, - default: '' - } - }, - computed: { - isExternal() { - return isExternal(this.iconClass) - }, - iconName() { - return `#icon-${this.iconClass}` - }, - svgClass() { - if (this.className) { - return 'svg-icon ' + this.className - } else { - return 'svg-icon' - } - }, - styleExternalIcon() { - return { - mask: `url(${this.iconClass}) no-repeat 50% 50%`, - '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%` - } - } - } -} -</script> - -<style scoped> -.svg-icon { - width: 1em; - height: 1em; - vertical-align: -0.15em; - fill: currentColor; - overflow: hidden; -} - -.svg-external-icon { - background-color: currentColor; - mask-size: cover!important; - display: inline-block; -} -</style> diff --git a/ruoyi-ui/src/components/ThemePicker/index.vue b/ruoyi-ui/src/components/ThemePicker/index.vue deleted file mode 100644 index 9a77cd3..0000000 --- a/ruoyi-ui/src/components/ThemePicker/index.vue +++ /dev/null @@ -1,175 +0,0 @@ -<template> - <el-color-picker - v-model="theme" - :predefine="['#409EFF', '#1890ff', '#304156','#212121','#11a983', '#13c2c2', '#6959CD', '#f5222d', ]" - class="theme-picker" - popper-class="theme-picker-dropdown" - /> -</template> - -<script> -const version = require('element-ui/package.json').version // element-ui version from node_modules -const ORIGINAL_THEME = '#409EFF' // default color - -export default { - data() { - return { - chalk: '', // content of theme-chalk css - theme: '' - } - }, - computed: { - defaultTheme() { - return this.$store.state.settings.theme - } - }, - watch: { - defaultTheme: { - handler: function(val, oldVal) { - this.theme = val - }, - immediate: true - }, - async theme(val) { - const oldVal = this.chalk ? this.theme : ORIGINAL_THEME - if (typeof val !== 'string') return - const themeCluster = this.getThemeCluster(val.replace('#', '')) - const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) - console.log(themeCluster, originalCluster) - - const $message = this.$message({ - message: ' Compiling the theme', - customClass: 'theme-message', - type: 'success', - duration: 0, - iconClass: 'el-icon-loading' - }) - - const getHandler = (variable, id) => { - return () => { - const originalCluster = this.getThemeCluster(ORIGINAL_THEME.replace('#', '')) - const newStyle = this.updateStyle(this[variable], originalCluster, themeCluster) - - let styleTag = document.getElementById(id) - if (!styleTag) { - styleTag = document.createElement('style') - styleTag.setAttribute('id', id) - document.head.appendChild(styleTag) - } - styleTag.innerText = newStyle - } - } - - if (!this.chalk) { - const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css` - await this.getCSSString(url, 'chalk') - } - - const chalkHandler = getHandler('chalk', 'chalk-style') - - chalkHandler() - - const styles = [].slice.call(document.querySelectorAll('style')) - .filter(style => { - const text = style.innerText - return new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text) - }) - styles.forEach(style => { - const { innerText } = style - if (typeof innerText !== 'string') return - style.innerText = this.updateStyle(innerText, originalCluster, themeCluster) - }) - - this.$emit('change', val) - - $message.close() - } - }, - - methods: { - updateStyle(style, oldCluster, newCluster) { - let newStyle = style - oldCluster.forEach((color, index) => { - newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index]) - }) - return newStyle - }, - - getCSSString(url, variable) { - return new Promise(resolve => { - const xhr = new XMLHttpRequest() - xhr.onreadystatechange = () => { - if (xhr.readyState === 4 && xhr.status === 200) { - this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '') - resolve() - } - } - xhr.open('GET', url) - xhr.send() - }) - }, - - getThemeCluster(theme) { - const tintColor = (color, tint) => { - let red = parseInt(color.slice(0, 2), 16) - let green = parseInt(color.slice(2, 4), 16) - let blue = parseInt(color.slice(4, 6), 16) - - if (tint === 0) { // when primary color is in its rgb space - return [red, green, blue].join(',') - } else { - red += Math.round(tint * (255 - red)) - green += Math.round(tint * (255 - green)) - blue += Math.round(tint * (255 - blue)) - - red = red.toString(16) - green = green.toString(16) - blue = blue.toString(16) - - return `#${red}${green}${blue}` - } - } - - const shadeColor = (color, shade) => { - let red = parseInt(color.slice(0, 2), 16) - let green = parseInt(color.slice(2, 4), 16) - let blue = parseInt(color.slice(4, 6), 16) - - red = Math.round((1 - shade) * red) - green = Math.round((1 - shade) * green) - blue = Math.round((1 - shade) * blue) - - red = red.toString(16) - green = green.toString(16) - blue = blue.toString(16) - - return `#${red}${green}${blue}` - } - - const clusters = [theme] - for (let i = 0; i <= 9; i++) { - clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))) - } - clusters.push(shadeColor(theme, 0.1)) - return clusters - } - } -} -</script> - -<style> -.theme-message, -.theme-picker-dropdown { - z-index: 99999 !important; -} - -.theme-picker .el-color-picker__trigger { - height: 26px !important; - width: 26px !important; - padding: 2px; -} - -.theme-picker-dropdown .el-color-dropdown__link-btn { - display: none; -} -</style> diff --git a/ruoyi-ui/src/directive/permission/hasPermi.js b/ruoyi-ui/src/directive/permission/hasPermi.js deleted file mode 100644 index 74f9d32..0000000 --- a/ruoyi-ui/src/directive/permission/hasPermi.js +++ /dev/null @@ -1,28 +0,0 @@ - /** - * 鎿嶄綔鏉冮檺澶勭悊 - * Copyright (c) 2019 ruoyi - */ - -import store from '@/store' - -export default { - inserted(el, binding, vnode) { - const { value } = binding - const all_permission = "*:*:*"; - const permissions = store.getters && store.getters.permissions - - if (value && value instanceof Array && value.length > 0) { - const permissionFlag = value - - const hasPermissions = permissions.some(permission => { - return all_permission === permission || permissionFlag.includes(permission) - }) - - if (!hasPermissions) { - el.parentNode && el.parentNode.removeChild(el) - } - } else { - throw new Error(`璇疯缃搷浣滄潈闄愭爣绛惧�糮) - } - } -} diff --git a/ruoyi-ui/src/directive/permission/hasRole.js b/ruoyi-ui/src/directive/permission/hasRole.js deleted file mode 100644 index ea966a3..0000000 --- a/ruoyi-ui/src/directive/permission/hasRole.js +++ /dev/null @@ -1,28 +0,0 @@ - /** - * 瑙掕壊鏉冮檺澶勭悊 - * Copyright (c) 2019 ruoyi - */ - -import store from '@/store' - -export default { - inserted(el, binding, vnode) { - const { value } = binding - const super_admin = "admin"; - const roles = store.getters && store.getters.roles - - if (value && value instanceof Array && value.length > 0) { - const roleFlag = value - - const hasRole = roles.some(role => { - return super_admin === role || roleFlag.includes(role) - }) - - if (!hasRole) { - el.parentNode && el.parentNode.removeChild(el) - } - } else { - throw new Error(`璇疯缃鑹叉潈闄愭爣绛惧��"`) - } - } -} diff --git a/ruoyi-ui/src/directive/permission/index.js b/ruoyi-ui/src/directive/permission/index.js deleted file mode 100644 index d6f530d..0000000 --- a/ruoyi-ui/src/directive/permission/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import hasRole from './hasRole' -import hasPermi from './hasPermi' - -const install = function(Vue) { - Vue.directive('hasRole', hasRole) - Vue.directive('hasPermi', hasPermi) -} - -if (window.Vue) { - window['hasRole'] = hasRole - window['hasPermi'] = hasPermi - Vue.use(install); // eslint-disable-line -} - -export default install diff --git a/ruoyi-ui/src/layout/components/AppMain.vue b/ruoyi-ui/src/layout/components/AppMain.vue deleted file mode 100644 index 423437b..0000000 --- a/ruoyi-ui/src/layout/components/AppMain.vue +++ /dev/null @@ -1,57 +0,0 @@ -<template> - <section class="app-main"> - <transition name="fade-transform" mode="out-in"> - <keep-alive :include="cachedViews"> - <router-view :key="key" /> - </keep-alive> - </transition> - </section> -</template> - -<script> -export default { - name: 'AppMain', - computed: { - cachedViews() { - return this.$store.state.tagsView.cachedViews - }, - key() { - return this.$route.path - } - } -} -</script> - -<style lang="scss" scoped> -.app-main { - /* 50= navbar 50 */ - min-height: calc(100vh - 50px); - width: 100%; - position: relative; - overflow: hidden; -} - -.fixed-header+.app-main { - padding-top: 50px; -} - -.hasTagsView { - .app-main { - /* 84 = navbar + tags-view = 50 + 34 */ - min-height: calc(100vh - 84px); - } - - .fixed-header+.app-main { - padding-top: 84px; - } -} -</style> - -<style lang="scss"> -// fix css style bug in open el-dialog -.el-popup-parent--hidden { - .fixed-header { - padding-right: 15px; - } -} -</style> diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue deleted file mode 100644 index bafb11a..0000000 --- a/ruoyi-ui/src/layout/components/Navbar.vue +++ /dev/null @@ -1,181 +0,0 @@ -<template> - <div class="navbar"> - <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> - - <breadcrumb id="breadcrumb-container" class="breadcrumb-container" /> - - <div class="right-menu"> - <template v-if="device!=='mobile'"> - <search id="header-search" class="right-menu-item" /> - - <el-tooltip content="涓嬭浇婧愮爜" effect="dark" placement="bottom"> - <ruo-yi id="ruoyi" class="right-menu-item hover-effect" /> - </el-tooltip> - - <screenfull id="screenfull" class="right-menu-item hover-effect" /> - - <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom"> - <size-select id="size-select" class="right-menu-item hover-effect" /> - </el-tooltip> - - </template> - - <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> - <div class="avatar-wrapper"> - <img :src="avatar" class="user-avatar"> - <i class="el-icon-caret-bottom" /> - </div> - <el-dropdown-menu slot="dropdown"> - <router-link to="/user/profile"> - <el-dropdown-item>涓汉涓績</el-dropdown-item> - </router-link> - <el-dropdown-item> - <span @click="setting = true">甯冨眬璁剧疆</span> - </el-dropdown-item> - <el-dropdown-item divided> - <span @click="logout">閫�鍑虹櫥褰�</span> - </el-dropdown-item> - </el-dropdown-menu> - </el-dropdown> - </div> - </div> -</template> - -<script> -import { mapGetters } from 'vuex' -import Breadcrumb from '@/components/Breadcrumb' -import Hamburger from '@/components/Hamburger' -import Screenfull from '@/components/Screenfull' -import SizeSelect from '@/components/SizeSelect' -import Search from '@/components/HeaderSearch' -import RuoYi from '@/components/RuoYi' - -export default { - components: { - Breadcrumb, - Hamburger, - Screenfull, - SizeSelect, - Search, - RuoYi - }, - computed: { - ...mapGetters([ - 'sidebar', - 'avatar', - 'device' - ]), - setting: { - get() { - return this.$store.state.settings.showSettings - }, - set(val) { - this.$store.dispatch('settings/changeSetting', { - key: 'showSettings', - value: val - }) - } - } - }, - methods: { - toggleSideBar() { - this.$store.dispatch('app/toggleSideBar') - }, - async logout() { - this.$confirm('纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - this.$store.dispatch('LogOut').then(() => { - location.reload() - }) - }) - } - } -} -</script> - -<style lang="scss" scoped> -.navbar { - height: 50px; - overflow: hidden; - position: relative; - background: #fff; - box-shadow: 0 1px 4px rgba(0,21,41,.08); - - .hamburger-container { - line-height: 46px; - height: 100%; - float: left; - cursor: pointer; - transition: background .3s; - -webkit-tap-highlight-color:transparent; - - &:hover { - background: rgba(0, 0, 0, .025) - } - } - - .breadcrumb-container { - float: left; - } - - .errLog-container { - display: inline-block; - vertical-align: top; - } - - .right-menu { - float: right; - height: 100%; - line-height: 50px; - - &:focus { - outline: none; - } - - .right-menu-item { - display: inline-block; - padding: 0 8px; - height: 100%; - font-size: 18px; - color: #5a5e66; - vertical-align: text-bottom; - - &.hover-effect { - cursor: pointer; - transition: background .3s; - - &:hover { - background: rgba(0, 0, 0, .025) - } - } - } - - .avatar-container { - margin-right: 30px; - - .avatar-wrapper { - margin-top: 5px; - position: relative; - - .user-avatar { - cursor: pointer; - width: 40px; - height: 40px; - border-radius: 10px; - } - - .el-icon-caret-bottom { - cursor: pointer; - position: absolute; - right: -20px; - top: 25px; - font-size: 12px; - } - } - } - } -} -</style> diff --git a/ruoyi-ui/src/layout/components/Settings/index.vue b/ruoyi-ui/src/layout/components/Settings/index.vue deleted file mode 100644 index 3a9ac4a..0000000 --- a/ruoyi-ui/src/layout/components/Settings/index.vue +++ /dev/null @@ -1,108 +0,0 @@ -<template> - <div class="drawer-container"> - <div> - <h3 class="drawer-title">绯荤粺甯冨眬閰嶇疆</h3> - - <div class="drawer-item"> - <span>涓婚棰滆壊</span> - <theme-picker style="float: right;height: 26px;margin: -3px 8px 0 0;" @change="themeChange" /> - </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> - </div> -</template> - -<script> -import ThemePicker from '@/components/ThemePicker' - -export default { - components: { ThemePicker }, - data() { - return {} - }, - computed: { - fixedHeader: { - get() { - return this.$store.state.settings.fixedHeader - }, - set(val) { - this.$store.dispatch('settings/changeSetting', { - key: 'fixedHeader', - value: val - }) - } - }, - 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 - }) - } - }, - }, - methods: { - themeChange(val) { - this.$store.dispatch('settings/changeSetting', { - key: 'theme', - value: val - }) - } - } -} -</script> - -<style lang="scss" scoped> -.drawer-container { - padding: 24px; - font-size: 14px; - line-height: 1.5; - word-wrap: break-word; - - .drawer-title { - margin-bottom: 12px; - color: rgba(0, 0, 0, .85); - font-size: 14px; - line-height: 22px; - } - - .drawer-item { - color: rgba(0, 0, 0, .65); - font-size: 14px; - padding: 12px 0; - } - - .drawer-switch { - float: right - } -} -</style> diff --git a/ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js b/ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js deleted file mode 100644 index 3d8cc21..0000000 --- a/ruoyi-ui/src/layout/components/Sidebar/FixiOSBug.js +++ /dev/null @@ -1,25 +0,0 @@ -export default { - computed: { - device() { - return this.$store.state.app.device - } - }, - mounted() { - // In order to fix the click on menu on the ios device will trigger the mouseleave bug - this.fixBugIniOS() - }, - methods: { - fixBugIniOS() { - const $subMenu = this.$refs.subMenu - if ($subMenu) { - const handleMouseleave = $subMenu.handleMouseleave - $subMenu.handleMouseleave = (e) => { - if (this.device === 'mobile') { - return - } - handleMouseleave(e) - } - } - } - } -} diff --git a/ruoyi-ui/src/layout/components/Sidebar/Item.vue b/ruoyi-ui/src/layout/components/Sidebar/Item.vue deleted file mode 100644 index 1a99d63..0000000 --- a/ruoyi-ui/src/layout/components/Sidebar/Item.vue +++ /dev/null @@ -1,29 +0,0 @@ -<script> -export default { - name: 'MenuItem', - functional: true, - props: { - icon: { - type: String, - default: '' - }, - title: { - type: String, - default: '' - } - }, - render(h, context) { - const { icon, title } = context.props - const vnodes = [] - - if (icon) { - vnodes.push(<svg-icon icon-class={icon}/>) - } - - if (title) { - vnodes.push(<span slot='title'>{(title)}</span>) - } - return vnodes - } -} -</script> diff --git a/ruoyi-ui/src/layout/components/Sidebar/Link.vue b/ruoyi-ui/src/layout/components/Sidebar/Link.vue deleted file mode 100644 index 6cd6e2c..0000000 --- a/ruoyi-ui/src/layout/components/Sidebar/Link.vue +++ /dev/null @@ -1,36 +0,0 @@ - -<template> - <!-- eslint-disable vue/require-component-is --> - <component v-bind="linkProps(to)"> - <slot /> - </component> -</template> - -<script> -import { isExternal } from '@/utils/validate' - -export default { - props: { - to: { - type: String, - required: true - } - }, - methods: { - linkProps(url) { - if (isExternal(url)) { - return { - is: 'a', - href: url, - target: '_blank', - rel: 'noopener' - } - } - return { - is: 'router-link', - to: url - } - } - } -} -</script> diff --git a/ruoyi-ui/src/layout/components/Sidebar/Logo.vue b/ruoyi-ui/src/layout/components/Sidebar/Logo.vue deleted file mode 100644 index 021de8e..0000000 --- a/ruoyi-ui/src/layout/components/Sidebar/Logo.vue +++ /dev/null @@ -1,84 +0,0 @@ -<template> - <div class="sidebar-logo-container" :class="{'collapse':collapse}"> - <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">{{ 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">{{ title }} </h1> - </router-link> - </transition> - </div> -</template> - -<script> -import logoImg from '@/assets/logo/logo.png' - -export default { - name: 'SidebarLogo', - props: { - collapse: { - type: Boolean, - required: true - } - }, - 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> diff --git a/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue b/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue deleted file mode 100644 index 1ca89d2..0000000 --- a/ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue +++ /dev/null @@ -1,93 +0,0 @@ -<template> - <div v-if="!item.hidden" class="menu-wrapper"> - <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"> - <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> - <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}"> - <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" /> - </el-menu-item> - </app-link> - </template> - - <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> - <template slot="title"> - <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> - </template> - <sidebar-item - v-for="child in item.children" - :key="child.path" - :is-nest="true" - :item="child" - :base-path="resolvePath(child.path)" - class="nest-menu" - /> - </el-submenu> - </div> -</template> - -<script> -import path from 'path' -import { isExternal } from '@/utils/validate' -import Item from './Item' -import AppLink from './Link' -import FixiOSBug from './FixiOSBug' - -export default { - name: 'SidebarItem', - components: { Item, AppLink }, - mixins: [FixiOSBug], - props: { - // route object - item: { - type: Object, - required: true - }, - isNest: { - type: Boolean, - default: false - }, - basePath: { - type: String, - default: '' - } - }, - data() { - this.onlyOneChild = null - return {} - }, - methods: { - hasOneShowingChild(children = [], parent) { - const showingChildren = children.filter(item => { - if (item.hidden) { - return false - } else { - // Temp set(will be used if only has one showing child) - this.onlyOneChild = item - return true - } - }) - - // When there is only one child router, the child router is displayed by default - if (showingChildren.length === 1) { - return true - } - - // Show parent if there are no child router to display - if (showingChildren.length === 0) { - this.onlyOneChild = { ... parent, path: '', noShowingChildren: true } - return true - } - - return false - }, - resolvePath(routePath) { - if (isExternal(routePath)) { - return routePath - } - if (isExternal(this.basePath)) { - return this.basePath - } - return path.resolve(this.basePath, routePath) - } - } -} -</script> diff --git a/ruoyi-ui/src/layout/components/Sidebar/index.vue b/ruoyi-ui/src/layout/components/Sidebar/index.vue deleted file mode 100644 index 4d0c6c9..0000000 --- a/ruoyi-ui/src/layout/components/Sidebar/index.vue +++ /dev/null @@ -1,54 +0,0 @@ -<template> - <div :class="{'has-logo':showLogo}"> - <logo v-if="showLogo" :collapse="isCollapse" /> - <el-scrollbar wrap-class="scrollbar-wrapper"> - <el-menu - :default-active="activeMenu" - :collapse="isCollapse" - :background-color="variables.menuBg" - :text-color="variables.menuText" - :unique-opened="true" - :active-text-color="variables.menuActiveText" - :collapse-transition="false" - mode="vertical" - > - <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> - </el-menu> - </el-scrollbar> - </div> -</template> - -<script> -import { mapGetters } from 'vuex' -import Logo from './Logo' -import SidebarItem from './SidebarItem' -import variables from '@/assets/styles/variables.scss' - -export default { - components: { SidebarItem, Logo }, - computed: { - ...mapGetters([ - 'permission_routes', - '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> diff --git a/ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue b/ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue deleted file mode 100644 index 8be9c01..0000000 --- a/ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue +++ /dev/null @@ -1,85 +0,0 @@ -<template> - <el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll"> - <slot /> - </el-scrollbar> -</template> - -<script> -const tagAndTagSpacing = 4 // tagAndTagSpacing - -export default { - name: 'ScrollPane', - data() { - return { - left: 0 - } - }, - computed: { - scrollWrapper() { - return this.$refs.scrollContainer.$refs.wrap - } - }, - methods: { - handleScroll(e) { - const eventDelta = e.wheelDelta || -e.deltaY * 40 - const $scrollWrapper = this.scrollWrapper - $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4 - }, - moveToTarget(currentTag) { - const $container = this.$refs.scrollContainer.$el - const $containerWidth = $container.offsetWidth - const $scrollWrapper = this.scrollWrapper - const tagList = this.$parent.$refs.tag - - let firstTag = null - let lastTag = null - - // find first tag and last tag - if (tagList.length > 0) { - firstTag = tagList[0] - lastTag = tagList[tagList.length - 1] - } - - if (firstTag === currentTag) { - $scrollWrapper.scrollLeft = 0 - } else if (lastTag === currentTag) { - $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth - } else { - // find preTag and nextTag - const currentIndex = tagList.findIndex(item => item === currentTag) - const prevTag = tagList[currentIndex - 1] - const nextTag = tagList[currentIndex + 1] - - // the tag's offsetLeft after of nextTag - const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing - - // the tag's offsetLeft before of prevTag - const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing - - if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) { - $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth - } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) { - $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft - } - } - } - } -} -</script> - -<style lang="scss" scoped> -.scroll-container { - white-space: nowrap; - position: relative; - overflow: hidden; - width: 100%; - /deep/ { - .el-scrollbar__bar { - bottom: 0px; - } - .el-scrollbar__wrap { - height: 49px; - } - } -} -</style> diff --git a/ruoyi-ui/src/layout/components/TagsView/index.vue b/ruoyi-ui/src/layout/components/TagsView/index.vue deleted file mode 100644 index 9fc380f..0000000 --- a/ruoyi-ui/src/layout/components/TagsView/index.vue +++ /dev/null @@ -1,286 +0,0 @@ -<template> - <div id="tags-view-container" class="tags-view-container"> - <scroll-pane ref="scrollPane" class="tags-view-wrapper"> - <router-link - v-for="tag in visitedViews" - ref="tag" - :key="tag.path" - :class="isActive(tag)?'active':''" - :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" - tag="span" - class="tags-view-item" - @click.middle.native="closeSelectedTag(tag)" - @contextmenu.prevent.native="openMenu(tag,$event)" - > - {{ tag.title }} - <span v-if="!tag.meta.affix" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> - </router-link> - </scroll-pane> - <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu"> - <li @click="refreshSelectedTag(selectedTag)">鍒锋柊椤甸潰</li> - <li v-if="!(selectedTag.meta&&selectedTag.meta.affix)" @click="closeSelectedTag(selectedTag)">鍏抽棴褰撳墠</li> - <li @click="closeOthersTags">鍏抽棴鍏朵粬</li> - <li @click="closeAllTags(selectedTag)">鍏抽棴鎵�鏈�</li> - </ul> - </div> -</template> - -<script> -import ScrollPane from './ScrollPane' -import path from 'path' - -export default { - components: { ScrollPane }, - data() { - return { - visible: false, - top: 0, - left: 0, - selectedTag: {}, - affixTags: [] - } - }, - computed: { - visitedViews() { - return this.$store.state.tagsView.visitedViews - }, - routes() { - return this.$store.state.permission.routes - } - }, - watch: { - $route() { - this.addTags() - this.moveToCurrentTag() - }, - visible(value) { - if (value) { - document.body.addEventListener('click', this.closeMenu) - } else { - document.body.removeEventListener('click', this.closeMenu) - } - } - }, - mounted() { - this.initTags() - this.addTags() - }, - methods: { - isActive(route) { - return route.path === this.$route.path - }, - filterAffixTags(routes, basePath = '/') { - let tags = [] - routes.forEach(route => { - if (route.meta && route.meta.affix) { - const tagPath = path.resolve(basePath, route.path) - tags.push({ - fullPath: tagPath, - path: tagPath, - name: route.name, - meta: { ...route.meta } - }) - } - if (route.children) { - const tempTags = this.filterAffixTags(route.children, route.path) - if (tempTags.length >= 1) { - tags = [...tags, ...tempTags] - } - } - }) - return tags - }, - initTags() { - const affixTags = this.affixTags = this.filterAffixTags(this.routes) - for (const tag of affixTags) { - // Must have tag name - if (tag.name) { - this.$store.dispatch('tagsView/addVisitedView', tag) - } - } - }, - addTags() { - const { name } = this.$route - if (name) { - this.$store.dispatch('tagsView/addView', this.$route) - } - return false - }, - moveToCurrentTag() { - const tags = this.$refs.tag - this.$nextTick(() => { - for (const tag of tags) { - if (tag.to.path === this.$route.path) { - this.$refs.scrollPane.moveToTarget(tag) - // when query is different then update - if (tag.to.fullPath !== this.$route.fullPath) { - this.$store.dispatch('tagsView/updateVisitedView', this.$route) - } - break - } - } - }) - }, - refreshSelectedTag(view) { - this.$store.dispatch('tagsView/delCachedView', view).then(() => { - const { fullPath } = view - this.$nextTick(() => { - this.$router.replace({ - path: '/redirect' + fullPath - }) - }) - }) - }, - closeSelectedTag(view) { - this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => { - if (this.isActive(view)) { - this.toLastView(visitedViews, view) - } - }) - }, - closeOthersTags() { - this.$router.push(this.selectedTag) - this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => { - this.moveToCurrentTag() - }) - }, - closeAllTags(view) { - this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => { - if (this.affixTags.some(tag => tag.path === view.path)) { - return - } - this.toLastView(visitedViews, view) - }) - }, - toLastView(visitedViews, view) { - const latestView = visitedViews.slice(-1)[0] - if (latestView) { - this.$router.push(latestView) - } else { - // now the default is to redirect to the home page if there is no tags-view, - // you can adjust it according to your needs. - if (view.name === 'Dashboard') { - // to reload home page - this.$router.replace({ path: '/redirect' + view.fullPath }) - } else { - this.$router.push('/') - } - } - }, - openMenu(tag, e) { - const menuMinWidth = 105 - const offsetLeft = this.$el.getBoundingClientRect().left // container margin left - const offsetWidth = this.$el.offsetWidth // container width - const maxLeft = offsetWidth - menuMinWidth // left boundary - const left = e.clientX - offsetLeft + 15 // 15: margin right - - if (left > maxLeft) { - this.left = maxLeft - } else { - this.left = left - } - - this.top = e.clientY - this.visible = true - this.selectedTag = tag - }, - closeMenu() { - this.visible = false - } - } -} -</script> - -<style lang="scss" scoped> -.tags-view-container { - height: 34px; - width: 100%; - background: #fff; - border-bottom: 1px solid #d8dce5; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04); - .tags-view-wrapper { - .tags-view-item { - display: inline-block; - position: relative; - cursor: pointer; - height: 26px; - line-height: 26px; - border: 1px solid #d8dce5; - color: #495060; - background: #fff; - padding: 0 8px; - font-size: 12px; - margin-left: 5px; - margin-top: 4px; - &:first-of-type { - margin-left: 15px; - } - &:last-of-type { - margin-right: 15px; - } - &.active { - background-color: #42b983; - color: #fff; - border-color: #42b983; - &::before { - content: ''; - background: #fff; - display: inline-block; - width: 8px; - height: 8px; - border-radius: 50%; - position: relative; - margin-right: 2px; - } - } - } - } - .contextmenu { - margin: 0; - background: #fff; - z-index: 3000; - position: absolute; - list-style-type: none; - padding: 5px 0; - border-radius: 4px; - font-size: 12px; - font-weight: 400; - color: #333; - box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); - li { - margin: 0; - padding: 7px 16px; - cursor: pointer; - &:hover { - background: #eee; - } - } - } -} -</style> - -<style lang="scss"> -//reset element css of el-icon-close -.tags-view-wrapper { - .tags-view-item { - .el-icon-close { - width: 16px; - height: 16px; - vertical-align: 2px; - border-radius: 50%; - text-align: center; - transition: all .3s cubic-bezier(.645, .045, .355, 1); - transform-origin: 100% 50%; - &:before { - transform: scale(.6); - display: inline-block; - vertical-align: -3px; - } - &:hover { - background-color: #b4bccc; - color: #fff; - } - } - } -} -</style> diff --git a/ruoyi-ui/src/layout/components/index.js b/ruoyi-ui/src/layout/components/index.js deleted file mode 100644 index 7f83004..0000000 --- a/ruoyi-ui/src/layout/components/index.js +++ /dev/null @@ -1,5 +0,0 @@ -export { default as AppMain } from './AppMain' -export { default as Navbar } from './Navbar' -export { default as Settings } from './Settings' -export { default as Sidebar } from './Sidebar/index.vue' -export { default as TagsView } from './TagsView/index.vue' diff --git a/ruoyi-ui/src/layout/index.vue b/ruoyi-ui/src/layout/index.vue deleted file mode 100644 index 4e761ea..0000000 --- a/ruoyi-ui/src/layout/index.vue +++ /dev/null @@ -1,102 +0,0 @@ -<template> - <div :class="classObj" class="app-wrapper"> - <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" /> - <sidebar class="sidebar-container" /> - <div :class="{hasTagsView:needTagsView}" class="main-container"> - <div :class="{'fixed-header':fixedHeader}"> - <navbar /> - <tags-view v-if="needTagsView" /> - </div> - <app-main /> - <right-panel v-if="showSettings"> - <settings /> - </right-panel> - </div> - </div> -</template> - -<script> -import RightPanel from '@/components/RightPanel' -import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' -import ResizeMixin from './mixin/ResizeHandler' -import { mapState } from 'vuex' - -export default { - name: 'Layout', - components: { - AppMain, - Navbar, - RightPanel, - Settings, - Sidebar, - TagsView - }, - mixins: [ResizeMixin], - computed: { - ...mapState({ - sidebar: state => state.app.sidebar, - device: state => state.app.device, - showSettings: state => state.settings.showSettings, - needTagsView: state => state.settings.tagsView, - fixedHeader: state => state.settings.fixedHeader - }), - classObj() { - return { - hideSidebar: !this.sidebar.opened, - openSidebar: this.sidebar.opened, - withoutAnimation: this.sidebar.withoutAnimation, - mobile: this.device === 'mobile' - } - } - }, - methods: { - handleClickOutside() { - this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) - } - } -} -</script> - -<style lang="scss" scoped> - @import "~@/assets/styles/mixin.scss"; - @import "~@/assets/styles/variables.scss"; - - .app-wrapper { - @include clearfix; - position: relative; - height: 100%; - width: 100%; - - &.mobile.openSidebar { - position: fixed; - top: 0; - } - } - - .drawer-bg { - background: #000; - opacity: 0.3; - width: 100%; - top: 0; - height: 100%; - position: absolute; - z-index: 999; - } - - .fixed-header { - position: fixed; - top: 0; - right: 0; - z-index: 9; - width: calc(100% - #{$sideBarWidth}); - transition: width 0.28s; - } - - .hideSidebar .fixed-header { - width: calc(100% - 54px) - } - - .mobile .fixed-header { - width: 100%; - } -</style> diff --git a/ruoyi-ui/src/layout/mixin/ResizeHandler.js b/ruoyi-ui/src/layout/mixin/ResizeHandler.js deleted file mode 100644 index b3fc8b2..0000000 --- a/ruoyi-ui/src/layout/mixin/ResizeHandler.js +++ /dev/null @@ -1,45 +0,0 @@ -import store from '@/store' - -const { body } = document -const WIDTH = 992 // refer to Bootstrap's responsive design - -export default { - watch: { - $route(route) { - if (this.device === 'mobile' && this.sidebar.opened) { - store.dispatch('app/closeSideBar', { withoutAnimation: false }) - } - } - }, - beforeMount() { - window.addEventListener('resize', this.$_resizeHandler) - }, - beforeDestroy() { - window.removeEventListener('resize', this.$_resizeHandler) - }, - mounted() { - const isMobile = this.$_isMobile() - if (isMobile) { - store.dispatch('app/toggleDevice', 'mobile') - store.dispatch('app/closeSideBar', { withoutAnimation: true }) - } - }, - methods: { - // use $_ for mixins properties - // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential - $_isMobile() { - const rect = body.getBoundingClientRect() - return rect.width - 1 < WIDTH - }, - $_resizeHandler() { - if (!document.hidden) { - const isMobile = this.$_isMobile() - store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') - - if (isMobile) { - store.dispatch('app/closeSideBar', { withoutAnimation: true }) - } - } - } - } -} diff --git a/ruoyi-ui/src/main.js b/ruoyi-ui/src/main.js deleted file mode 100644 index fbd3d6d..0000000 --- a/ruoyi-ui/src/main.js +++ /dev/null @@ -1,70 +0,0 @@ -import Vue from 'vue' - -import Cookies from 'js-cookie' - -import 'normalize.css/normalize.css' // a modern alternative to CSS resets - -import Element from 'element-ui' -import './assets/styles/element-variables.scss' - -import '@/assets/styles/index.scss' // global css -import '@/assets/styles/ruoyi.scss' // ruoyi css -import App from './App' -import store from './store' -import router from './router' -import permission from './directive/permission' - -import './assets/icons' // icon -import './permission' // permission control -import { getDicts } from "@/api/system/dict/data"; -import { getConfigKey } from "@/api/system/config"; -import { parseTime, resetForm, addDateRange, selectDictLabel, download } from "@/utils/ruoyi"; -import Pagination from "@/components/Pagination"; - -// 鍏ㄥ眬鏂规硶鎸傝浇 -Vue.prototype.getDicts = getDicts -Vue.prototype.getConfigKey = getConfigKey -Vue.prototype.parseTime = parseTime -Vue.prototype.resetForm = resetForm -Vue.prototype.addDateRange = addDateRange -Vue.prototype.selectDictLabel = selectDictLabel -Vue.prototype.download = download - -Vue.prototype.msgSuccess = function (msg) { - this.$message({ showClose: true, message: msg, type: "success" }); -} - -Vue.prototype.msgError = function (msg) { - this.$message({ showClose: true, message: msg, type: "error" }); -} - -Vue.prototype.msgInfo = function (msg) { - this.$message.info(msg); -} - -// 鍏ㄥ眬缁勪欢鎸傝浇 -Vue.component('Pagination', Pagination) - -Vue.use(permission) - -/** - * If you don't want to use mock-server - * you want to use MockJs for mock api - * you can execute: mockXHR() - * - * Currently MockJs will be used in the production environment, - * please remove it before going online! ! ! - */ - -Vue.use(Element, { - size: Cookies.get('size') || 'medium' // set element-ui default size -}) - -Vue.config.productionTip = false - -new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) diff --git a/ruoyi-ui/src/permission.js b/ruoyi-ui/src/permission.js deleted file mode 100644 index 1813f42..0000000 --- a/ruoyi-ui/src/permission.js +++ /dev/null @@ -1,64 +0,0 @@ -import router from './router' -import store from './store' -import { Message } from 'element-ui' -import NProgress from 'nprogress' -import 'nprogress/nprogress.css' -import { getToken } from '@/utils/auth' - -NProgress.configure({ showSpinner: false }) - -const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] - -router.beforeEach((to, from, next) => { - NProgress.start() - if (getToken()) { - /* has token*/ - if (to.path === '/login') { - next({ path: '/' }) - NProgress.done() - } else { - if (store.getters.roles.length === 0) { - // 鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅 - store.dispatch('GetInfo').then(res => { - // 鎷夊彇user_info - const roles = res.roles - store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => { - // 娴嬭瘯 榛樿闈欐�侀〉闈� - // store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => { - // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛� - router.addRoutes(accessRoutes) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛� - next({ ...to, replace: true }) // hack鏂规硶 纭繚addRoutes宸插畬鎴� - }) - }) - .catch(err => { - store.dispatch('FedLogOut').then(() => { - Message.error(err) - next({ path: '/' }) - }) - }) - } else { - next() - // 娌℃湁鍔ㄦ�佹敼鍙樻潈闄愮殑闇�姹傚彲鐩存帴next() 鍒犻櫎涓嬫柟鏉冮檺鍒ゆ柇 鈫� - // if (hasPermission(store.getters.roles, to.meta.roles)) { - // next() - // } else { - // next({ path: '/401', replace: true, query: { noGoBack: true }}) - // } - // 鍙垹 鈫� - } - } - } else { - // 娌℃湁token - if (whiteList.indexOf(to.path) !== -1) { - // 鍦ㄥ厤鐧诲綍鐧藉悕鍗曪紝鐩存帴杩涘叆 - next() - } else { - next(`/login?redirect=${to.path}`) // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤� - NProgress.done() - } - } -}) - -router.afterEach(() => { - NProgress.done() -}) diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js deleted file mode 100644 index b265363..0000000 --- a/ruoyi-ui/src/router/index.js +++ /dev/null @@ -1,114 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' - -Vue.use(Router) - -/* Layout */ -import Layout from '@/layout' - -/** - * Note: 璺敱閰嶇疆椤� - * - * hidden: true // 褰撹缃� true 鐨勬椂鍊欒璺敱涓嶄細鍐嶄晶杈规爮鍑虹幇 濡�401锛宭ogin绛夐〉闈紝鎴栬�呭涓�浜涚紪杈戦〉闈�/edit/1 - * alwaysShow: true // 褰撲綘涓�涓矾鐢变笅闈㈢殑 children 澹版槑鐨勮矾鐢卞ぇ浜�1涓椂锛岃嚜鍔ㄤ細鍙樻垚宓屽鐨勬ā寮�--濡傜粍浠堕〉闈� - * // 鍙湁涓�涓椂锛屼細灏嗛偅涓瓙璺敱褰撳仛鏍硅矾鐢辨樉绀哄湪渚ц竟鏍�--濡傚紩瀵奸〉闈� - * // 鑻ヤ綘鎯充笉绠¤矾鐢变笅闈㈢殑 children 澹版槑鐨勪釜鏁伴兘鏄剧ず浣犵殑鏍硅矾鐢� - * // 浣犲彲浠ヨ缃� alwaysShow: true锛岃繖鏍峰畠灏变細蹇界暐涔嬪墠瀹氫箟鐨勮鍒欙紝涓�鐩存樉绀烘牴璺敱 - * redirect: noRedirect // 褰撹缃� noRedirect 鐨勬椂鍊欒璺敱鍦ㄩ潰鍖呭睉瀵艰埅涓笉鍙鐐瑰嚮 - * name:'router-name' // 璁惧畾璺敱鐨勫悕瀛楋紝涓�瀹氳濉啓涓嶇劧浣跨敤<keep-alive>鏃朵細鍑虹幇鍚勭闂 - * meta : { - roles: ['admin','editor'] // 璁剧疆璇ヨ矾鐢辫繘鍏ョ殑鏉冮檺锛屾敮鎸佸涓潈闄愬彔鍔� - title: 'title' // 璁剧疆璇ヨ矾鐢卞湪渚ц竟鏍忓拰闈㈠寘灞戜腑灞曠ず鐨勫悕瀛� - icon: 'svg-name' // 璁剧疆璇ヨ矾鐢辩殑鍥炬爣锛屽搴旇矾寰剆rc/icons/svg - breadcrumb: false // 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄細鍦╞readcrumb闈㈠寘灞戜腑鏄剧ず - } - */ - -// 鍏叡璺敱 -export const constantRoutes = [ - { - path: '/redirect', - component: Layout, - hidden: true, - children: [ - { - path: '/redirect/:path*', - component: () => import('@/views/redirect') - } - ] - }, - { - path: '/login', - component: () => import('@/views/login'), - hidden: true - }, - { - path: '/404', - component: () => import('@/views/error/404'), - hidden: true - }, - { - path: '/401', - component: () => import('@/views/error/401'), - hidden: true - }, - { - path: '', - component: Layout, - redirect: 'index', - children: [ - { - path: 'index', - component: () => import('@/views/index'), - name: '棣栭〉', - meta: { title: '棣栭〉', icon: 'dashboard', noCache: true, affix: true } - } - ] - }, - { - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [ - { - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { title: '涓汉涓績', icon: 'user' } - } - ] - }, - { - path: '/dict', - component: Layout, - hidden: true, - children: [ - { - path: 'type/data/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { title: '瀛楀吀鏁版嵁', icon: '' } - } - ] - }, - { - path: '/gen', - component: Layout, - hidden: true, - children: [ - { - path: 'edit', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '淇敼鐢熸垚閰嶇疆' } - } - ] - } -] - -export default new Router({ - mode: 'history', // 鍘绘帀url涓殑# - scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes -}) diff --git a/ruoyi-ui/src/settings.js b/ruoyi-ui/src/settings.js deleted file mode 100644 index ca6d00c..0000000 --- a/ruoyi-ui/src/settings.js +++ /dev/null @@ -1,31 +0,0 @@ -module.exports = { - title: '鑻ヤ緷绠$悊绯荤粺', - - /** - * 鏄惁绯荤粺甯冨眬閰嶇疆 - */ - showSettings: false, - - /** - * 鏄惁鏄剧ず tagsView - */ - tagsView: true, - - /** - * 鏄惁鍥哄畾澶撮儴 - */ - fixedHeader: false, - - /** - * 鏄惁鏄剧ずlogo - */ - sidebarLogo: true, - - /** - * @type {string | array} 'production' | ['production', 'development'] - * @description Need show err logs component. - * The default is only used in the production env - * If you want to also use it in dev, you can pass ['production', 'development'] - */ - errorLog: 'production' -} diff --git a/ruoyi-ui/src/store/getters.js b/ruoyi-ui/src/store/getters.js deleted file mode 100644 index b985521..0000000 --- a/ruoyi-ui/src/store/getters.js +++ /dev/null @@ -1,15 +0,0 @@ -const getters = { - sidebar: state => state.app.sidebar, - size: state => state.app.size, - device: state => state.app.device, - visitedViews: state => state.tagsView.visitedViews, - cachedViews: state => state.tagsView.cachedViews, - token: state => state.user.token, - avatar: state => state.user.avatar, - name: state => state.user.name, - introduction: state => state.user.introduction, - roles: state => state.user.roles, - permissions: state => state.user.permissions, - permission_routes: state => state.permission.routes -} -export default getters diff --git a/ruoyi-ui/src/store/index.js b/ruoyi-ui/src/store/index.js deleted file mode 100644 index eceb2cd..0000000 --- a/ruoyi-ui/src/store/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import Vue from 'vue' -import Vuex from 'vuex' -import app from './modules/app' -import user from './modules/user' -import tagsView from './modules/tagsView' -import permission from './modules/permission' -import settings from './modules/settings' -import getters from './getters' - -Vue.use(Vuex) - -const store = new Vuex.Store({ - modules: { - app, - user, - tagsView, - permission, - settings - }, - getters -}) - -export default store diff --git a/ruoyi-ui/src/store/modules/app.js b/ruoyi-ui/src/store/modules/app.js deleted file mode 100644 index c8d8ee9..0000000 --- a/ruoyi-ui/src/store/modules/app.js +++ /dev/null @@ -1,56 +0,0 @@ -import Cookies from 'js-cookie' - -const state = { - sidebar: { - opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, - withoutAnimation: false - }, - device: 'desktop', - size: Cookies.get('size') || 'medium' -} - -const mutations = { - TOGGLE_SIDEBAR: state => { - state.sidebar.opened = !state.sidebar.opened - state.sidebar.withoutAnimation = false - if (state.sidebar.opened) { - Cookies.set('sidebarStatus', 1) - } else { - Cookies.set('sidebarStatus', 0) - } - }, - CLOSE_SIDEBAR: (state, withoutAnimation) => { - Cookies.set('sidebarStatus', 0) - state.sidebar.opened = false - state.sidebar.withoutAnimation = withoutAnimation - }, - TOGGLE_DEVICE: (state, device) => { - state.device = device - }, - SET_SIZE: (state, size) => { - state.size = size - Cookies.set('size', size) - } -} - -const actions = { - toggleSideBar({ commit }) { - commit('TOGGLE_SIDEBAR') - }, - closeSideBar({ commit }, { withoutAnimation }) { - commit('CLOSE_SIDEBAR', withoutAnimation) - }, - toggleDevice({ commit }, device) { - commit('TOGGLE_DEVICE', device) - }, - setSize({ commit }, size) { - commit('SET_SIZE', size) - } -} - -export default { - namespaced: true, - state, - mutations, - actions -} diff --git a/ruoyi-ui/src/store/modules/permission.js b/ruoyi-ui/src/store/modules/permission.js deleted file mode 100644 index eb31164..0000000 --- a/ruoyi-ui/src/store/modules/permission.js +++ /dev/null @@ -1,54 +0,0 @@ -import { constantRoutes } from '@/router' -import { getRouters } from '@/api/menu' -import Layout from '@/layout/index' - -const permission = { - state: { - routes: [], - addRoutes: [] - }, - mutations: { - SET_ROUTES: (state, routes) => { - state.addRoutes = routes - state.routes = constantRoutes.concat(routes) - } - }, - actions: { - // 鐢熸垚璺敱 - GenerateRoutes({ commit }) { - return new Promise(resolve => { - // 鍚戝悗绔姹傝矾鐢辨暟鎹� - getRouters().then(res => { - const accessedRoutes = filterAsyncRouter(res.data) - accessedRoutes.push({ path: '*', redirect: '/404', hidden: true }) - commit('SET_ROUTES', accessedRoutes) - resolve(accessedRoutes) - }) - }) - } - } -} - -// 閬嶅巻鍚庡彴浼犳潵鐨勮矾鐢卞瓧绗︿覆锛岃浆鎹负缁勪欢瀵硅薄 -function filterAsyncRouter(asyncRouterMap) { - return asyncRouterMap.filter(route => { - if (route.component) { - // Layout缁勪欢鐗规畩澶勭悊 - if (route.component === 'Layout') { - route.component = Layout - } else { - route.component = loadView(route.component) - } - } - if (route.children != null && route.children && route.children.length) { - route.children = filterAsyncRouter(route.children) - } - return true - }) -} - -export const loadView = (view) => { // 璺敱鎳掑姞杞� - return () => import(`@/views/${view}`) -} - -export default permission diff --git a/ruoyi-ui/src/store/modules/settings.js b/ruoyi-ui/src/store/modules/settings.js deleted file mode 100644 index 30685e6..0000000 --- a/ruoyi-ui/src/store/modules/settings.js +++ /dev/null @@ -1,34 +0,0 @@ -import variables from '@/assets/styles/element-variables.scss' -import defaultSettings from '@/settings' - -const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings - -const state = { - theme: variables.theme, - showSettings: showSettings, - tagsView: tagsView, - fixedHeader: fixedHeader, - sidebarLogo: sidebarLogo -} - -const mutations = { - CHANGE_SETTING: (state, { key, value }) => { - if (state.hasOwnProperty(key)) { - state[key] = value - } - } -} - -const actions = { - changeSetting({ commit }, data) { - commit('CHANGE_SETTING', data) - } -} - -export default { - namespaced: true, - state, - mutations, - actions -} - diff --git a/ruoyi-ui/src/store/modules/tagsView.js b/ruoyi-ui/src/store/modules/tagsView.js deleted file mode 100644 index e128d2a..0000000 --- a/ruoyi-ui/src/store/modules/tagsView.js +++ /dev/null @@ -1,165 +0,0 @@ -const state = { - visitedViews: [], - cachedViews: [] -} - -const mutations = { - ADD_VISITED_VIEW: (state, view) => { - if (state.visitedViews.some(v => v.path === view.path)) return - state.visitedViews.push( - Object.assign({}, view, { - title: view.meta.title || 'no-name' - }) - ) - }, - ADD_CACHED_VIEW: (state, view) => { - if (state.cachedViews.includes(view.name)) return - if (!view.meta.noCache) { - state.cachedViews.push(view.name) - } - }, - - DEL_VISITED_VIEW: (state, view) => { - for (const [i, v] of state.visitedViews.entries()) { - if (v.path === view.path) { - state.visitedViews.splice(i, 1) - break - } - } - }, - DEL_CACHED_VIEW: (state, view) => { - for (const i of state.cachedViews) { - if (i === view.name) { - const index = state.cachedViews.indexOf(i) - state.cachedViews.splice(index, 1) - break - } - } - }, - - DEL_OTHERS_VISITED_VIEWS: (state, view) => { - state.visitedViews = state.visitedViews.filter(v => { - return v.meta.affix || v.path === view.path - }) - }, - DEL_OTHERS_CACHED_VIEWS: (state, view) => { - for (const i of state.cachedViews) { - if (i === view.name) { - const index = state.cachedViews.indexOf(i) - state.cachedViews = state.cachedViews.slice(index, index + 1) - break - } - } - }, - - DEL_ALL_VISITED_VIEWS: state => { - // keep affix tags - const affixTags = state.visitedViews.filter(tag => tag.meta.affix) - state.visitedViews = affixTags - }, - DEL_ALL_CACHED_VIEWS: state => { - state.cachedViews = [] - }, - - UPDATE_VISITED_VIEW: (state, view) => { - for (let v of state.visitedViews) { - if (v.path === view.path) { - v = Object.assign(v, view) - break - } - } - } -} - -const actions = { - addView({ dispatch }, view) { - dispatch('addVisitedView', view) - dispatch('addCachedView', view) - }, - addVisitedView({ commit }, view) { - commit('ADD_VISITED_VIEW', view) - }, - addCachedView({ commit }, view) { - commit('ADD_CACHED_VIEW', view) - }, - - delView({ dispatch, state }, view) { - return new Promise(resolve => { - dispatch('delVisitedView', view) - dispatch('delCachedView', view) - resolve({ - visitedViews: [...state.visitedViews], - cachedViews: [...state.cachedViews] - }) - }) - }, - delVisitedView({ commit, state }, view) { - return new Promise(resolve => { - commit('DEL_VISITED_VIEW', view) - resolve([...state.visitedViews]) - }) - }, - delCachedView({ commit, state }, view) { - return new Promise(resolve => { - commit('DEL_CACHED_VIEW', view) - resolve([...state.cachedViews]) - }) - }, - - delOthersViews({ dispatch, state }, view) { - return new Promise(resolve => { - dispatch('delOthersVisitedViews', view) - dispatch('delOthersCachedViews', view) - resolve({ - visitedViews: [...state.visitedViews], - cachedViews: [...state.cachedViews] - }) - }) - }, - delOthersVisitedViews({ commit, state }, view) { - return new Promise(resolve => { - commit('DEL_OTHERS_VISITED_VIEWS', view) - resolve([...state.visitedViews]) - }) - }, - delOthersCachedViews({ commit, state }, view) { - return new Promise(resolve => { - commit('DEL_OTHERS_CACHED_VIEWS', view) - resolve([...state.cachedViews]) - }) - }, - - delAllViews({ dispatch, state }, view) { - return new Promise(resolve => { - dispatch('delAllVisitedViews', view) - dispatch('delAllCachedViews', view) - resolve({ - visitedViews: [...state.visitedViews], - cachedViews: [...state.cachedViews] - }) - }) - }, - delAllVisitedViews({ commit, state }) { - return new Promise(resolve => { - commit('DEL_ALL_VISITED_VIEWS') - resolve([...state.visitedViews]) - }) - }, - delAllCachedViews({ commit, state }) { - return new Promise(resolve => { - commit('DEL_ALL_CACHED_VIEWS') - resolve([...state.cachedViews]) - }) - }, - - updateVisitedView({ commit }, view) { - commit('UPDATE_VISITED_VIEW', view) - } -} - -export default { - namespaced: true, - state, - mutations, - actions -} diff --git a/ruoyi-ui/src/store/modules/user.js b/ruoyi-ui/src/store/modules/user.js deleted file mode 100644 index 20f44bf..0000000 --- a/ruoyi-ui/src/store/modules/user.js +++ /dev/null @@ -1,96 +0,0 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken } from '@/utils/auth' - -const user = { - state: { - token: getToken(), - name: '', - avatar: '', - roles: [], - permissions: [] - }, - - mutations: { - SET_TOKEN: (state, token) => { - state.token = token - }, - SET_NAME: (state, name) => { - state.name = name - }, - SET_AVATAR: (state, avatar) => { - state.avatar = avatar - }, - SET_ROLES: (state, roles) => { - state.roles = roles - }, - SET_PERMISSIONS: (state, permissions) => { - state.permissions = permissions - } - }, - - actions: { - // 鐧诲綍 - Login({ commit }, userInfo) { - const username = userInfo.username.trim() - const password = userInfo.password - const code = userInfo.code - const uuid = userInfo.uuid - return new Promise((resolve, reject) => { - login(username, password, code, uuid).then(res => { - setToken(res.token) - commit('SET_TOKEN', res.token) - resolve() - }).catch(error => { - reject(error) - }) - }) - }, - - // 鑾峰彇鐢ㄦ埛淇℃伅 - GetInfo({ commit, state }) { - return new Promise((resolve, reject) => { - getInfo(state.token).then(res => { - const user = res.user - const avatar = user.avatar == "" ? require("@/assets/image/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; - if (res.roles && res.roles.length > 0) { // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁� - commit('SET_ROLES', res.roles) - commit('SET_PERMISSIONS', res.permissions) - } else { - commit('SET_ROLES', ['ROLE_DEFAULT']) - } - commit('SET_NAME', user.username) - commit('SET_AVATAR', avatar) - resolve(res) - }).catch(error => { - reject(error) - }) - }) - }, - - // 閫�鍑虹郴缁� - LogOut({ commit, state }) { - return new Promise((resolve, reject) => { - logout(state.token).then(() => { - commit('SET_TOKEN', '') - commit('SET_ROLES', []) - commit('SET_PERMISSIONS', []) - removeToken() - resolve() - }).catch(error => { - reject(error) - }) - }) - }, - - // 鍓嶇 鐧诲嚭 - FedLogOut({ commit }) { - return new Promise(resolve => { - commit('SET_TOKEN', '') - removeToken() - resolve() - }) - } - } -} - -export default user diff --git a/ruoyi-ui/src/utils/auth.js b/ruoyi-ui/src/utils/auth.js deleted file mode 100644 index 88d7b6c..0000000 --- a/ruoyi-ui/src/utils/auth.js +++ /dev/null @@ -1,15 +0,0 @@ -import Cookies from 'js-cookie' - -const TokenKey = 'Admin-Token' - -export function getToken() { - return Cookies.get(TokenKey) -} - -export function setToken(token) { - return Cookies.set(TokenKey, token) -} - -export function removeToken() { - return Cookies.remove(TokenKey) -} diff --git a/ruoyi-ui/src/utils/index.js b/ruoyi-ui/src/utils/index.js deleted file mode 100644 index 9e171eb..0000000 --- a/ruoyi-ui/src/utils/index.js +++ /dev/null @@ -1,317 +0,0 @@ -/** - * 琛ㄦ牸鏃堕棿鏍煎紡鍖� - */ -export function formatDate(cellValue) { - if (cellValue == null || cellValue == "") return ""; - var date = new Date(cellValue) - var year = date.getFullYear() - var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 - var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() - var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() - var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() - var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() - return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds -} - -/** - * @param {number} time - * @param {string} option - * @returns {string} - */ -export function formatTime(time, option) { - if (('' + time).length === 10) { - time = parseInt(time) * 1000 - } else { - time = +time - } - const d = new Date(time) - const now = Date.now() - - const diff = (now - d) / 1000 - - if (diff < 30) { - return '鍒氬垰' - } else if (diff < 3600) { - // less 1 hour - return Math.ceil(diff / 60) + '鍒嗛挓鍓�' - } else if (diff < 3600 * 24) { - return Math.ceil(diff / 3600) + '灏忔椂鍓�' - } else if (diff < 3600 * 24 * 2) { - return '1澶╁墠' - } - if (option) { - return parseTime(time, option) - } else { - return ( - d.getMonth() + - 1 + - '鏈�' + - d.getDate() + - '鏃�' + - d.getHours() + - '鏃�' + - d.getMinutes() + - '鍒�' - ) - } -} - -/** - * @param {string} url - * @returns {Object} - */ -export function getQueryObject(url) { - url = url == null ? window.location.href : url - const search = url.substring(url.lastIndexOf('?') + 1) - const obj = {} - const reg = /([^?&=]+)=([^?&=]*)/g - search.replace(reg, (rs, $1, $2) => { - const name = decodeURIComponent($1) - let val = decodeURIComponent($2) - val = String(val) - obj[name] = val - return rs - }) - return obj -} - -/** - * @param {string} input value - * @returns {number} output value - */ -export function byteLength(str) { - // returns the byte length of an utf8 string - let s = str.length - for (var i = str.length - 1; i >= 0; i--) { - const code = str.charCodeAt(i) - if (code > 0x7f && code <= 0x7ff) s++ - else if (code > 0x7ff && code <= 0xffff) s += 2 - if (code >= 0xDC00 && code <= 0xDFFF) i-- - } - return s -} - -/** - * @param {Array} actual - * @returns {Array} - */ -export function cleanArray(actual) { - const newArray = [] - for (let i = 0; i < actual.length; i++) { - if (actual[i]) { - newArray.push(actual[i]) - } - } - return newArray -} - -/** - * @param {Object} json - * @returns {Array} - */ -export function param(json) { - if (!json) return '' - return cleanArray( - Object.keys(json).map(key => { - if (json[key] === undefined) return '' - return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) - }) - ).join('&') -} - -/** - * @param {string} url - * @returns {Object} - */ -export function param2Obj(url) { - const search = url.split('?')[1] - if (!search) { - return {} - } - return JSON.parse( - '{"' + - decodeURIComponent(search) - .replace(/"/g, '\\"') - .replace(/&/g, '","') - .replace(/=/g, '":"') - .replace(/\+/g, ' ') + - '"}' - ) -} - -/** - * @param {string} val - * @returns {string} - */ -export function html2Text(val) { - const div = document.createElement('div') - div.innerHTML = val - return div.textContent || div.innerText -} - -/** - * Merges two objects, giving the last one precedence - * @param {Object} target - * @param {(Object|Array)} source - * @returns {Object} - */ -export function objectMerge(target, source) { - if (typeof target !== 'object') { - target = {} - } - if (Array.isArray(source)) { - return source.slice() - } - Object.keys(source).forEach(property => { - const sourceProperty = source[property] - if (typeof sourceProperty === 'object') { - target[property] = objectMerge(target[property], sourceProperty) - } else { - target[property] = sourceProperty - } - }) - return target -} - -/** - * @param {HTMLElement} element - * @param {string} className - */ -export function toggleClass(element, className) { - if (!element || !className) { - return - } - let classString = element.className - const nameIndex = classString.indexOf(className) - if (nameIndex === -1) { - classString += '' + className - } else { - classString = - classString.substr(0, nameIndex) + - classString.substr(nameIndex + className.length) - } - element.className = classString -} - -/** - * @param {string} type - * @returns {Date} - */ -export function getTime(type) { - if (type === 'start') { - return new Date().getTime() - 3600 * 1000 * 24 * 90 - } else { - return new Date(new Date().toDateString()) - } -} - -/** - * @param {Function} func - * @param {number} wait - * @param {boolean} immediate - * @return {*} - */ -export function debounce(func, wait, immediate) { - let timeout, args, context, timestamp, result - - const later = function() { - // 鎹笂涓�娆¤Е鍙戞椂闂撮棿闅� - const last = +new Date() - timestamp - - // 涓婃琚寘瑁呭嚱鏁拌璋冪敤鏃堕棿闂撮殧 last 灏忎簬璁惧畾鏃堕棿闂撮殧 wait - if (last < wait && last > 0) { - timeout = setTimeout(later, wait - last) - } else { - timeout = null - // 濡傛灉璁惧畾涓篿mmediate===true锛屽洜涓哄紑濮嬭竟鐣屽凡缁忚皟鐢ㄨ繃浜嗘澶勬棤闇�璋冪敤 - if (!immediate) { - result = func.apply(context, args) - if (!timeout) context = args = null - } - } - } - - return function(...args) { - context = this - timestamp = +new Date() - const callNow = immediate && !timeout - // 濡傛灉寤舵椂涓嶅瓨鍦紝閲嶆柊璁惧畾寤舵椂 - if (!timeout) timeout = setTimeout(later, wait) - if (callNow) { - result = func.apply(context, args) - context = args = null - } - - return result - } -} - -/** - * This is just a simple version of deep copy - * Has a lot of edge cases bug - * If you want to use a perfect deep copy, use lodash's _.cloneDeep - * @param {Object} source - * @returns {Object} - */ -export function deepClone(source) { - if (!source && typeof source !== 'object') { - throw new Error('error arguments', 'deepClone') - } - const targetObj = source.constructor === Array ? [] : {} - Object.keys(source).forEach(keys => { - if (source[keys] && typeof source[keys] === 'object') { - targetObj[keys] = deepClone(source[keys]) - } else { - targetObj[keys] = source[keys] - } - }) - return targetObj -} - -/** - * @param {Array} arr - * @returns {Array} - */ -export function uniqueArr(arr) { - return Array.from(new Set(arr)) -} - -/** - * @returns {string} - */ -export function createUniqueString() { - const timestamp = +new Date() + '' - const randomNum = parseInt((1 + Math.random()) * 65536) + '' - return (+(randomNum + timestamp)).toString(32) -} - -/** - * Check if an element has a class - * @param {HTMLElement} elm - * @param {string} cls - * @returns {boolean} - */ -export function hasClass(ele, cls) { - return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) -} - -/** - * Add class to element - * @param {HTMLElement} elm - * @param {string} cls - */ -export function addClass(ele, cls) { - if (!hasClass(ele, cls)) ele.className += ' ' + cls -} - -/** - * Remove class from element - * @param {HTMLElement} elm - * @param {string} cls - */ -export function removeClass(ele, cls) { - if (hasClass(ele, cls)) { - const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') - ele.className = ele.className.replace(reg, ' ') - } -} diff --git a/ruoyi-ui/src/utils/jsencrypt.js b/ruoyi-ui/src/utils/jsencrypt.js deleted file mode 100644 index 83db480..0000000 --- a/ruoyi-ui/src/utils/jsencrypt.js +++ /dev/null @@ -1,30 +0,0 @@ -import JSEncrypt from 'jsencrypt/bin/jsencrypt' - -// 瀵嗛挜瀵圭敓鎴� http://web.chacuo.net/netrsakeypair - -const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' + - '2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==' - -const privateKey = 'MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8\n' + - 'mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9p\n' + - 'B6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue\n' + - '/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZ\n' + - 'UBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6\n' + - 'vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha\n' + - '4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3\n' + - 'tTbklZkD2A==' - -// 鍔犲瘑 -export function encrypt(txt) { - const encryptor = new JSEncrypt() - encryptor.setPublicKey(publicKey) // 璁剧疆鍏挜 - return encryptor.encrypt(txt) // 瀵归渶瑕佸姞瀵嗙殑鏁版嵁杩涜鍔犲瘑 -} - -// 瑙e瘑 -export function decrypt(txt) { - const encryptor = new JSEncrypt() - encryptor.setPrivateKey(privateKey) - return encryptor.decrypt(txt) -} - diff --git a/ruoyi-ui/src/utils/permission.js b/ruoyi-ui/src/utils/permission.js deleted file mode 100644 index efb4cc8..0000000 --- a/ruoyi-ui/src/utils/permission.js +++ /dev/null @@ -1,24 +0,0 @@ -import store from '@/store' - -/** - * @param {Array} value - * @returns {Boolean} - */ -export default function checkPermission(value) { - if (value && value instanceof Array && value.length > 0) { - const roles = store.getters && store.getters.roles - const permissionRoles = value - - const hasPermission = roles.some(role => { - return permissionRoles.includes(role) - }) - - if (!hasPermission) { - return false - } - return true - } else { - console.error(`need roles! Like v-permission="['admin','editor']"`) - return false - } -} diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js deleted file mode 100644 index 4ea9568..0000000 --- a/ruoyi-ui/src/utils/request.js +++ /dev/null @@ -1,65 +0,0 @@ -import axios from 'axios' -import { Notification, MessageBox, Message } from 'element-ui' -import store from '@/store' -import { getToken } from '@/utils/auth' - -axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' -// 鍒涘缓axios瀹炰緥 -const service = axios.create({ - // axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎 - baseURL: process.env.VUE_APP_BASE_API, - // 瓒呮椂 - timeout: 10000 -}) -// request鎷︽埅鍣� -service.interceptors.request.use( - config => { - if (getToken()) { - config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀� - } - return config - }, - error => { - console.log(error) - Promise.reject(error) - } -) - -// 鍝嶅簲鎷︽埅鍣� -service.interceptors.response.use(res => { - const code = res.data.code - if (code === 401) { - MessageBox.confirm( - '鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', - '绯荤粺鎻愮ず', - { - confirmButtonText: '閲嶆柊鐧诲綍', - cancelButtonText: '鍙栨秷', - type: 'warning' - } - ).then(() => { - store.dispatch('LogOut').then(() => { - location.reload() // 涓轰簡閲嶆柊瀹炰緥鍖杤ue-router瀵硅薄 閬垮厤bug - }) - }) - } else if (code !== 200) { - Notification.error({ - title: res.data.msg - }) - return Promise.reject('error') - } else { - return res.data - } - }, - error => { - console.log('err' + error) - Message({ - message: error.message, - type: 'error', - duration: 5 * 1000 - }) - return Promise.reject(error) - } -) - -export default service diff --git a/ruoyi-ui/src/utils/ruoyi.js b/ruoyi-ui/src/utils/ruoyi.js deleted file mode 100644 index 069a1ae..0000000 --- a/ruoyi-ui/src/utils/ruoyi.js +++ /dev/null @@ -1,103 +0,0 @@ -/** - * 閫氱敤js鏂规硶灏佽澶勭悊 - * Copyright (c) 2019 ruoyi - */ - -const baseURL = process.env.VUE_APP_BASE_API - -// 鏃ユ湡鏍煎紡鍖� -export function parseTime(time, pattern) { - if (arguments.length === 0 || !time) { - return null - } - const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' - let date - if (typeof time === 'object') { - date = time - } else { - if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { - time = parseInt(time) - } - if ((typeof time === 'number') && (time.toString().length === 10)) { - time = time * 1000 - } - date = new Date(time) - } - const formatObj = { - y: date.getFullYear(), - m: date.getMonth() + 1, - d: date.getDate(), - h: date.getHours(), - i: date.getMinutes(), - s: date.getSeconds(), - a: date.getDay() - } - const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { - let value = formatObj[key] - // Note: getDay() returns 0 on Sunday - if (key === 'a') { return ['鏃�', '涓�', '浜�', '涓�', '鍥�', '浜�', '鍏�'][value] } - if (result.length > 0 && value < 10) { - value = '0' + value - } - return value || 0 - }) - return time_str -} - -// 琛ㄥ崟閲嶇疆 -export function resetForm(refName) { - if (this.$refs[refName]) { - this.$refs[refName].resetFields(); - } -} - -// 娣诲姞鏃ユ湡鑼冨洿 -export function addDateRange(params, dateRange) { - var search = params; - search.beginTime = ""; - search.endTime = ""; - if (null != dateRange && '' != dateRange) { - search.beginTime = this.dateRange[0]; - search.endTime = this.dateRange[1]; - } - return search; -} - -// 鍥炴樉鏁版嵁瀛楀吀 -export function selectDictLabel(datas, value) { - var actions = []; - Object.keys(datas).map((key) => { - if (datas[key].dictValue == ('' + value)) { - actions.push(datas[key].dictLabel); - return false; - } - }) - return actions.join(''); -} - -// 閫氱敤涓嬭浇鏂规硶 -export function download(fileName) { - window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true; -} - -// 瀛楃涓叉牸寮忓寲(%s ) -export function sprintf(str) { - var args = arguments, flag = true, i = 1; - str = str.replace(/%s/g, function () { - var arg = args[i++]; - if (typeof arg === 'undefined') { - flag = false; - return ''; - } - return arg; - }); - return flag ? str : ''; -} - -// 杞崲瀛楃涓诧紝undefined,null绛夎浆鍖栦负"" -export function praseStrEmpty(str) { - if (!str || str == "undefined" || str == "null") { - return ""; - } - return str; -} \ No newline at end of file diff --git a/ruoyi-ui/src/utils/scroll-to.js b/ruoyi-ui/src/utils/scroll-to.js deleted file mode 100644 index 709fa57..0000000 --- a/ruoyi-ui/src/utils/scroll-to.js +++ /dev/null @@ -1,58 +0,0 @@ -Math.easeInOutQuad = function(t, b, c, d) { - t /= d / 2 - if (t < 1) { - return c / 2 * t * t + b - } - t-- - return -c / 2 * (t * (t - 2) - 1) + b -} - -// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts -var requestAnimFrame = (function() { - return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } -})() - -/** - * Because it's so fucking difficult to detect the scrolling element, just move them all - * @param {number} amount - */ -function move(amount) { - document.documentElement.scrollTop = amount - document.body.parentNode.scrollTop = amount - document.body.scrollTop = amount -} - -function position() { - return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop -} - -/** - * @param {number} to - * @param {number} duration - * @param {Function} callback - */ -export function scrollTo(to, duration, callback) { - const start = position() - const change = to - start - const increment = 20 - let currentTime = 0 - duration = (typeof (duration) === 'undefined') ? 500 : duration - var animateScroll = function() { - // increment the time - currentTime += increment - // find the value with the quadratic in-out easing function - var val = Math.easeInOutQuad(currentTime, start, change, duration) - // move the document.body - move(val) - // do the animation unless its over - if (currentTime < duration) { - requestAnimFrame(animateScroll) - } else { - if (callback && typeof (callback) === 'function') { - // the animation is done so lets callback - callback() - } - } - } - animateScroll() -} diff --git a/ruoyi-ui/src/utils/validate.js b/ruoyi-ui/src/utils/validate.js deleted file mode 100644 index 9c00400..0000000 --- a/ruoyi-ui/src/utils/validate.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @param {string} path - * @returns {Boolean} - */ -export function isExternal(path) { - return /^(https?:|mailto:|tel:)/.test(path) -} - -/** - * @param {string} str - * @returns {Boolean} - */ -export function validUsername(str) { - const valid_map = ['admin', 'editor'] - return valid_map.indexOf(str.trim()) >= 0 -} - -/** - * @param {string} url - * @returns {Boolean} - */ -export function validURL(url) { - const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ - return reg.test(url) -} - -/** - * @param {string} str - * @returns {Boolean} - */ -export function validLowerCase(str) { - const reg = /^[a-z]+$/ - return reg.test(str) -} - -/** - * @param {string} str - * @returns {Boolean} - */ -export function validUpperCase(str) { - const reg = /^[A-Z]+$/ - return reg.test(str) -} - -/** - * @param {string} str - * @returns {Boolean} - */ -export function validAlphabets(str) { - const reg = /^[A-Za-z]+$/ - return reg.test(str) -} - -/** - * @param {string} email - * @returns {Boolean} - */ -export function validEmail(email) { - const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ - return reg.test(email) -} - -/** - * @param {string} str - * @returns {Boolean} - */ -export function isString(str) { - if (typeof str === 'string' || str instanceof String) { - return true - } - return false -} - -/** - * @param {Array} arg - * @returns {Boolean} - */ -export function isArray(arg) { - if (typeof Array.isArray === 'undefined') { - return Object.prototype.toString.call(arg) === '[object Array]' - } - return Array.isArray(arg) -} diff --git a/ruoyi-ui/src/utils/zipdownload.js b/ruoyi-ui/src/utils/zipdownload.js deleted file mode 100644 index 3a86814..0000000 --- a/ruoyi-ui/src/utils/zipdownload.js +++ /dev/null @@ -1,40 +0,0 @@ -import axios from 'axios' -import { getToken } from '@/utils/auth' - -const mimeMap = { - xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - zip: 'application/zip' -} - -const baseUrl = process.env.VUE_APP_BASE_API -export function downLoadZip(str, filename) { - var url = baseUrl + str - axios({ - method: 'get', - url: url, - responseType: 'blob', - headers: { 'Authorization': 'Bearer ' + getToken() } - }).then(res => { - resolveBlob(res, mimeMap.zip) - }) -} -/** - * 瑙f瀽blob鍝嶅簲鍐呭骞朵笅杞� - * @param {*} res blob鍝嶅簲鍐呭 - * @param {String} mimeType MIME绫诲瀷 - */ -export function resolveBlob(res, mimeType) { - const aLink = document.createElement('a') - var blob = new Blob([res.data], { type: mimeType }) - // //浠巖esponse鐨刪eaders涓幏鍙杅ilename, 鍚庣response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 璁剧疆鐨勬枃浠跺悕; - var patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*') - var contentDisposition = decodeURI(res.headers['content-disposition']) - var result = patt.exec(contentDisposition) - var fileName = result[1] - fileName = fileName.replace(/\"/g, '') - aLink.href = URL.createObjectURL(blob) - aLink.setAttribute('download', fileName) // 璁剧疆涓嬭浇鏂囦欢鍚嶇О - document.body.appendChild(aLink) - aLink.click() - document.body.appendChild(aLink) -} diff --git a/ruoyi-ui/src/views/components/icons/element-icons.js b/ruoyi-ui/src/views/components/icons/element-icons.js deleted file mode 100644 index d9fd628..0000000 --- a/ruoyi-ui/src/views/components/icons/element-icons.js +++ /dev/null @@ -1,74 +0,0 @@ -const elementIcons = [ - 'info', - 'error', - 'success', - 'warning', - 'question', - 'back', - 'arrow-left', - 'arrow-down', - 'arrow-right', - 'arrow-up', - 'caret-left', - 'caret-bottom', - 'caret-top', - 'caret-right', - 'd-arrow-left', - 'd-arrow-right', - 'minus', - 'plus', - 'remove', - 'circle-plus', - 'remove-outline', - 'circle-plus-outline', - 'close', - 'check', - 'circle-close', - 'circle-check', - 'circle-close-outline', - 'circle-check-outline', - 'zoom-out', - 'zoom-in', - 'd-caret', - 'sort', - 'sort-down', - 'sort-up', - 'tickets', - 'document', - 'goods', - 'sold-out', - 'news', - 'message', - 'date', - 'printer', - 'time', - 'bell', - 'mobile-phone', - 'service', - 'view', - 'menu', - 'more', - 'more-outline', - 'star-on', - 'star-off', - 'location', - 'location-outline', - 'phone', - 'phone-outline', - 'picture', - 'picture-outline', - 'delete', - 'search', - 'edit', - 'edit-outline', - 'rank', - 'refresh', - 'share', - 'setting', - 'upload', - 'upload2', - 'download', - 'loading' -] - -export default elementIcons diff --git a/ruoyi-ui/src/views/components/icons/index.vue b/ruoyi-ui/src/views/components/icons/index.vue deleted file mode 100644 index f422eee..0000000 --- a/ruoyi-ui/src/views/components/icons/index.vue +++ /dev/null @@ -1,87 +0,0 @@ -<template> - <div class="icons-container"> - <aside> - <a href="#" target="_blank">Add and use - </a> - </aside> - <el-tabs type="border-card"> - <el-tab-pane label="Icons"> - <div v-for="item of svgIcons" :key="item"> - <el-tooltip placement="top"> - <div slot="content"> - {{ generateIconCode(item) }} - </div> - <div class="icon-item"> - <svg-icon :icon-class="item" class-name="disabled" /> - <span>{{ item }}</span> - </div> - </el-tooltip> - </div> - </el-tab-pane> - <el-tab-pane label="Element-UI Icons"> - <div v-for="item of elementIcons" :key="item"> - <el-tooltip placement="top"> - <div slot="content"> - {{ generateElementIconCode(item) }} - </div> - <div class="icon-item"> - <i :class="'el-icon-' + item" /> - <span>{{ item }}</span> - </div> - </el-tooltip> - </div> - </el-tab-pane> - </el-tabs> - </div> -</template> - -<script> -import svgIcons from './svg-icons' -import elementIcons from './element-icons' - -export default { - name: 'Icons', - data() { - return { - svgIcons, - elementIcons - } - }, - methods: { - generateIconCode(symbol) { - return `<svg-icon icon-class="${symbol}" />` - }, - generateElementIconCode(symbol) { - return `<i class="el-icon-${symbol}" />` - } - } -} -</script> - -<style lang="scss" scoped> -.icons-container { - margin: 10px 20px 0; - overflow: hidden; - - .icon-item { - margin: 20px; - height: 85px; - text-align: center; - width: 100px; - float: left; - font-size: 30px; - color: #24292e; - cursor: pointer; - } - - span { - display: block; - font-size: 16px; - margin-top: 10px; - } - - .disabled { - pointer-events: none; - } -} -</style> diff --git a/ruoyi-ui/src/views/components/icons/svg-icons.js b/ruoyi-ui/src/views/components/icons/svg-icons.js deleted file mode 100644 index 9713fd8..0000000 --- a/ruoyi-ui/src/views/components/icons/svg-icons.js +++ /dev/null @@ -1,10 +0,0 @@ -const req = require.context('../../../assets/icons/svg', false, /\.svg$/) -const requireAll = requireContext => requireContext.keys() - -const re = /\.\/(.*)\.svg/ - -const svgIcons = requireAll(req).map(i => { - return i.match(re)[1] -}) - -export default svgIcons diff --git a/ruoyi-ui/src/views/dashboard/BarChart.vue b/ruoyi-ui/src/views/dashboard/BarChart.vue deleted file mode 100644 index 6b464e1..0000000 --- a/ruoyi-ui/src/views/dashboard/BarChart.vue +++ /dev/null @@ -1,102 +0,0 @@ -<template> - <div :class="className" :style="{height:height,width:width}" /> -</template> - -<script> -import echarts from 'echarts' -require('echarts/theme/macarons') // echarts theme -import resize from './mixins/resize' - -const animationDuration = 6000 - -export default { - mixins: [resize], - props: { - className: { - type: String, - default: 'chart' - }, - width: { - type: String, - default: '100%' - }, - height: { - type: String, - default: '300px' - } - }, - data() { - return { - chart: null - } - }, - mounted() { - this.$nextTick(() => { - this.initChart() - }) - }, - beforeDestroy() { - if (!this.chart) { - return - } - this.chart.dispose() - this.chart = null - }, - methods: { - initChart() { - this.chart = echarts.init(this.$el, 'macarons') - - this.chart.setOption({ - tooltip: { - trigger: 'axis', - axisPointer: { // 鍧愭爣杞存寚绀哄櫒锛屽潗鏍囪酱瑙﹀彂鏈夋晥 - type: 'shadow' // 榛樿涓虹洿绾匡紝鍙�変负锛�'line' | 'shadow' - } - }, - grid: { - top: 10, - left: '2%', - right: '2%', - bottom: '3%', - containLabel: true - }, - xAxis: [{ - type: 'category', - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], - axisTick: { - alignWithLabel: true - } - }], - yAxis: [{ - type: 'value', - axisTick: { - show: false - } - }], - series: [{ - name: 'pageA', - type: 'bar', - stack: 'vistors', - barWidth: '60%', - data: [79, 52, 200, 334, 390, 330, 220], - animationDuration - }, { - name: 'pageB', - type: 'bar', - stack: 'vistors', - barWidth: '60%', - data: [80, 52, 200, 334, 390, 330, 220], - animationDuration - }, { - name: 'pageC', - type: 'bar', - stack: 'vistors', - barWidth: '60%', - data: [30, 52, 200, 334, 390, 330, 220], - animationDuration - }] - }) - } - } -} -</script> diff --git a/ruoyi-ui/src/views/dashboard/LineChart.vue b/ruoyi-ui/src/views/dashboard/LineChart.vue deleted file mode 100644 index 4e30a37..0000000 --- a/ruoyi-ui/src/views/dashboard/LineChart.vue +++ /dev/null @@ -1,135 +0,0 @@ -<template> - <div :class="className" :style="{height:height,width:width}" /> -</template> - -<script> -import echarts from 'echarts' -require('echarts/theme/macarons') // echarts theme -import resize from './mixins/resize' - -export default { - mixins: [resize], - props: { - className: { - type: String, - default: 'chart' - }, - width: { - type: String, - default: '100%' - }, - height: { - type: String, - default: '350px' - }, - autoResize: { - type: Boolean, - default: true - }, - chartData: { - type: Object, - required: true - } - }, - data() { - return { - chart: null - } - }, - watch: { - chartData: { - deep: true, - handler(val) { - this.setOptions(val) - } - } - }, - mounted() { - this.$nextTick(() => { - this.initChart() - }) - }, - beforeDestroy() { - if (!this.chart) { - return - } - this.chart.dispose() - this.chart = null - }, - methods: { - initChart() { - this.chart = echarts.init(this.$el, 'macarons') - this.setOptions(this.chartData) - }, - setOptions({ expectedData, actualData } = {}) { - this.chart.setOption({ - xAxis: { - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], - boundaryGap: false, - axisTick: { - show: false - } - }, - grid: { - left: 10, - right: 10, - bottom: 20, - top: 30, - containLabel: true - }, - tooltip: { - trigger: 'axis', - axisPointer: { - type: 'cross' - }, - padding: [5, 10] - }, - yAxis: { - axisTick: { - show: false - } - }, - legend: { - data: ['expected', 'actual'] - }, - series: [{ - name: 'expected', itemStyle: { - normal: { - color: '#FF005A', - lineStyle: { - color: '#FF005A', - width: 2 - } - } - }, - smooth: true, - type: 'line', - data: expectedData, - animationDuration: 2800, - animationEasing: 'cubicInOut' - }, - { - name: 'actual', - smooth: true, - type: 'line', - itemStyle: { - normal: { - color: '#3888fa', - lineStyle: { - color: '#3888fa', - width: 2 - }, - areaStyle: { - color: '#f3f8ff' - } - } - }, - data: actualData, - animationDuration: 2800, - animationEasing: 'quadraticOut' - }] - }) - } - } -} -</script> diff --git a/ruoyi-ui/src/views/dashboard/PanelGroup.vue b/ruoyi-ui/src/views/dashboard/PanelGroup.vue deleted file mode 100644 index 8d3a73b..0000000 --- a/ruoyi-ui/src/views/dashboard/PanelGroup.vue +++ /dev/null @@ -1,181 +0,0 @@ -<template> - <el-row :gutter="40" class="panel-group"> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> - <div class="card-panel" @click="handleSetLineChartData('newVisitis')"> - <div class="card-panel-icon-wrapper icon-people"> - <svg-icon icon-class="peoples" class-name="card-panel-icon" /> - </div> - <div class="card-panel-description"> - <div class="card-panel-text"> - 璁垮 - </div> - <count-to :start-val="0" :end-val="102400" :duration="2600" class="card-panel-num" /> - </div> - </div> - </el-col> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> - <div class="card-panel" @click="handleSetLineChartData('messages')"> - <div class="card-panel-icon-wrapper icon-message"> - <svg-icon icon-class="message" class-name="card-panel-icon" /> - </div> - <div class="card-panel-description"> - <div class="card-panel-text"> - 娑堟伅 - </div> - <count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" /> - </div> - </div> - </el-col> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> - <div class="card-panel" @click="handleSetLineChartData('purchases')"> - <div class="card-panel-icon-wrapper icon-money"> - <svg-icon icon-class="money" class-name="card-panel-icon" /> - </div> - <div class="card-panel-description"> - <div class="card-panel-text"> - 閲戦 - </div> - <count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" /> - </div> - </div> - </el-col> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> - <div class="card-panel" @click="handleSetLineChartData('shoppings')"> - <div class="card-panel-icon-wrapper icon-shopping"> - <svg-icon icon-class="shopping" class-name="card-panel-icon" /> - </div> - <div class="card-panel-description"> - <div class="card-panel-text"> - 璁㈠崟 - </div> - <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> - </div> - </div> - </el-col> - </el-row> -</template> - -<script> -import CountTo from 'vue-count-to' - -export default { - components: { - CountTo - }, - methods: { - handleSetLineChartData(type) { - this.$emit('handleSetLineChartData', type) - } - } -} -</script> - -<style lang="scss" scoped> -.panel-group { - margin-top: 18px; - - .card-panel-col { - margin-bottom: 32px; - } - - .card-panel { - height: 108px; - cursor: pointer; - font-size: 12px; - position: relative; - overflow: hidden; - color: #666; - background: #fff; - box-shadow: 4px 4px 40px rgba(0, 0, 0, .05); - border-color: rgba(0, 0, 0, .05); - - &:hover { - .card-panel-icon-wrapper { - color: #fff; - } - - .icon-people { - background: #40c9c6; - } - - .icon-message { - background: #36a3f7; - } - - .icon-money { - background: #f4516c; - } - - .icon-shopping { - background: #34bfa3 - } - } - - .icon-people { - color: #40c9c6; - } - - .icon-message { - color: #36a3f7; - } - - .icon-money { - color: #f4516c; - } - - .icon-shopping { - color: #34bfa3 - } - - .card-panel-icon-wrapper { - float: left; - margin: 14px 0 0 14px; - padding: 16px; - transition: all 0.38s ease-out; - border-radius: 6px; - } - - .card-panel-icon { - float: left; - font-size: 48px; - } - - .card-panel-description { - float: right; - font-weight: bold; - margin: 26px; - margin-left: 0px; - - .card-panel-text { - line-height: 18px; - color: rgba(0, 0, 0, 0.45); - font-size: 16px; - margin-bottom: 12px; - } - - .card-panel-num { - font-size: 20px; - } - } - } -} - -@media (max-width:550px) { - .card-panel-description { - display: none; - } - - .card-panel-icon-wrapper { - float: none !important; - width: 100%; - height: 100%; - margin: 0 !important; - - .svg-icon { - display: block; - margin: 14px auto !important; - float: none !important; - } - } -} -</style> diff --git a/ruoyi-ui/src/views/dashboard/PieChart.vue b/ruoyi-ui/src/views/dashboard/PieChart.vue deleted file mode 100644 index d0e4f50..0000000 --- a/ruoyi-ui/src/views/dashboard/PieChart.vue +++ /dev/null @@ -1,79 +0,0 @@ -<template> - <div :class="className" :style="{height:height,width:width}" /> -</template> - -<script> -import echarts from 'echarts' -require('echarts/theme/macarons') // echarts theme -import resize from './mixins/resize' - -export default { - mixins: [resize], - props: { - className: { - type: String, - default: 'chart' - }, - width: { - type: String, - default: '100%' - }, - height: { - type: String, - default: '300px' - } - }, - data() { - return { - chart: null - } - }, - mounted() { - this.$nextTick(() => { - this.initChart() - }) - }, - beforeDestroy() { - if (!this.chart) { - return - } - this.chart.dispose() - this.chart = null - }, - methods: { - initChart() { - this.chart = echarts.init(this.$el, 'macarons') - - this.chart.setOption({ - tooltip: { - trigger: 'item', - formatter: '{a} <br/>{b} : {c} ({d}%)' - }, - legend: { - left: 'center', - bottom: '10', - data: ['Industries', 'Technology', 'Forex', 'Gold', 'Forecasts'] - }, - series: [ - { - name: 'WEEKLY WRITE ARTICLES', - type: 'pie', - roseType: 'radius', - radius: [15, 95], - center: ['50%', '38%'], - data: [ - { value: 320, name: 'Industries' }, - { value: 240, name: 'Technology' }, - { value: 149, name: 'Forex' }, - { value: 100, name: 'Gold' }, - { value: 59, name: 'Forecasts' } - ], - animationEasing: 'cubicInOut', - animationDuration: 2600 - } - ] - }) - } - } -} -</script> diff --git a/ruoyi-ui/src/views/dashboard/RaddarChart.vue b/ruoyi-ui/src/views/dashboard/RaddarChart.vue deleted file mode 100644 index 9831abf..0000000 --- a/ruoyi-ui/src/views/dashboard/RaddarChart.vue +++ /dev/null @@ -1,116 +0,0 @@ -<template> - <div :class="className" :style="{height:height,width:width}" /> -</template> - -<script> -import echarts from 'echarts' -require('echarts/theme/macarons') // echarts theme -import resize from './mixins/resize' - -const animationDuration = 3000 - -export default { - mixins: [resize], - props: { - className: { - type: String, - default: 'chart' - }, - width: { - type: String, - default: '100%' - }, - height: { - type: String, - default: '300px' - } - }, - data() { - return { - chart: null - } - }, - mounted() { - this.$nextTick(() => { - this.initChart() - }) - }, - beforeDestroy() { - if (!this.chart) { - return - } - this.chart.dispose() - this.chart = null - }, - methods: { - initChart() { - this.chart = echarts.init(this.$el, 'macarons') - - this.chart.setOption({ - tooltip: { - trigger: 'axis', - axisPointer: { // 鍧愭爣杞存寚绀哄櫒锛屽潗鏍囪酱瑙﹀彂鏈夋晥 - type: 'shadow' // 榛樿涓虹洿绾匡紝鍙�変负锛�'line' | 'shadow' - } - }, - radar: { - radius: '66%', - center: ['50%', '42%'], - splitNumber: 8, - splitArea: { - areaStyle: { - color: 'rgba(127,95,132,.3)', - opacity: 1, - shadowBlur: 45, - shadowColor: 'rgba(0,0,0,.5)', - shadowOffsetX: 0, - shadowOffsetY: 15 - } - }, - indicator: [ - { name: 'Sales', max: 10000 }, - { name: 'Administration', max: 20000 }, - { name: 'Information Techology', max: 20000 }, - { name: 'Customer Support', max: 20000 }, - { name: 'Development', max: 20000 }, - { name: 'Marketing', max: 20000 } - ] - }, - legend: { - left: 'center', - bottom: '10', - data: ['Allocated Budget', 'Expected Spending', 'Actual Spending'] - }, - series: [{ - type: 'radar', - symbolSize: 0, - areaStyle: { - normal: { - shadowBlur: 13, - shadowColor: 'rgba(0,0,0,.2)', - shadowOffsetX: 0, - shadowOffsetY: 10, - opacity: 1 - } - }, - data: [ - { - value: [5000, 7000, 12000, 11000, 15000, 14000], - name: 'Allocated Budget' - }, - { - value: [4000, 9000, 15000, 15000, 13000, 11000], - name: 'Expected Spending' - }, - { - value: [5500, 11000, 12000, 15000, 12000, 12000], - name: 'Actual Spending' - } - ], - animationDuration: animationDuration - }] - }) - } - } -} -</script> diff --git a/ruoyi-ui/src/views/dashboard/mixins/resize.js b/ruoyi-ui/src/views/dashboard/mixins/resize.js deleted file mode 100644 index 5516794..0000000 --- a/ruoyi-ui/src/views/dashboard/mixins/resize.js +++ /dev/null @@ -1,52 +0,0 @@ -import { debounce } from '@/utils' - -export default { - data() { - return { - $_sidebarElm: null - } - }, - mounted() { - this.$_initResizeEvent() - this.$_initSidebarResizeEvent() - }, - beforeDestroy() { - this.$_destroyResizeEvent() - this.$_destroySidebarResizeEvent() - }, - activated() { - this.$_initResizeEvent() - this.$_initSidebarResizeEvent() - }, - deactivated() { - this.$_destroyResizeEvent() - this.$_destroySidebarResizeEvent() - }, - methods: { - $_resizeHandler() { - return debounce(() => { - if (this.chart) { - this.chart.resize() - } - }, 100)() - }, - $_initResizeEvent() { - window.addEventListener('resize', this.$_resizeHandler) - }, - $_destroyResizeEvent() { - window.removeEventListener('resize', this.$_resizeHandler) - }, - $_sidebarResizeHandler(e) { - if (e.propertyName === 'width') { - this.$_resizeHandler() - } - }, - $_initSidebarResizeEvent() { - this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] - this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) - }, - $_destroySidebarResizeEvent() { - this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) - } - } -} diff --git a/ruoyi-ui/src/views/error/401.vue b/ruoyi-ui/src/views/error/401.vue deleted file mode 100644 index 9664fba..0000000 --- a/ruoyi-ui/src/views/error/401.vue +++ /dev/null @@ -1,88 +0,0 @@ -<template> - <div class="errPage-container"> - <el-button icon="arrow-left" class="pan-back-btn" @click="back"> - 杩斿洖 - </el-button> - <el-row> - <el-col :span="12"> - <h1 class="text-jumbo text-ginormous"> - 401閿欒! - </h1> - <h2>鎮ㄦ病鏈夎闂潈闄愶紒</h2> - <h6>瀵逛笉璧凤紝鎮ㄦ病鏈夎闂潈闄愶紝璇蜂笉瑕佽繘琛岄潪娉曟搷浣滐紒鎮ㄥ彲浠ヨ繑鍥炰富椤甸潰</h6> - <ul class="list-unstyled"> - <li class="link-type"> - <router-link to="/"> - 鍥為椤� - </router-link> - </li> - </ul> - </el-col> - <el-col :span="12"> - <img :src="errGif" width="313" height="428" alt="Girl has dropped her ice cream."> - </el-col> - </el-row> - </div> -</template> - -<script> -import errGif from '@/assets/401_images/401.gif' - -export default { - name: 'Page401', - data() { - return { - errGif: errGif + '?' + +new Date() - } - }, - methods: { - back() { - if (this.$route.query.noGoBack) { - this.$router.push({ path: '/' }) - } else { - this.$router.go(-1) - } - } - } -} -</script> - -<style lang="scss" scoped> - .errPage-container { - width: 800px; - max-width: 100%; - margin: 100px auto; - .pan-back-btn { - background: #008489; - color: #fff; - border: none!important; - } - .pan-gif { - margin: 0 auto; - display: block; - } - .pan-img { - display: block; - margin: 0 auto; - width: 100%; - } - .text-jumbo { - font-size: 60px; - font-weight: 700; - color: #484848; - } - .list-unstyled { - font-size: 14px; - li { - padding-bottom: 5px; - } - a { - color: #008489; - text-decoration: none; - &:hover { - text-decoration: underline; - } - } - } - } -</style> diff --git a/ruoyi-ui/src/views/error/404.vue b/ruoyi-ui/src/views/error/404.vue deleted file mode 100644 index 666d27c..0000000 --- a/ruoyi-ui/src/views/error/404.vue +++ /dev/null @@ -1,233 +0,0 @@ -<template> - <div class="wscn-http404-container"> - <div class="wscn-http404"> - <div class="pic-404"> - <img class="pic-404__parent" src="@/assets/404_images/404.png" alt="404"> - <img class="pic-404__child left" src="@/assets/404_images/404_cloud.png" alt="404"> - <img class="pic-404__child mid" src="@/assets/404_images/404_cloud.png" alt="404"> - <img class="pic-404__child right" src="@/assets/404_images/404_cloud.png" alt="404"> - </div> - <div class="bullshit"> - <div class="bullshit__oops"> - 404閿欒! - </div> - <div class="bullshit__headline"> - {{ message }} - </div> - <div class="bullshit__info"> - 瀵逛笉璧凤紝鎮ㄦ鍦ㄥ鎵剧殑椤甸潰涓嶅瓨鍦ㄣ�傚皾璇曟鏌RL鐨勯敊璇紝鐒跺悗鎸夋祻瑙堝櫒涓婄殑鍒锋柊鎸夐挳鎴栧皾璇曞湪鎴戜滑鐨勫簲鐢ㄧ▼搴忎腑鎵惧埌鍏朵粬鍐呭銆� - </div> - <router-link to="/" class="bullshit__return-home"> - 杩斿洖棣栭〉 - </router-link> - </div> - </div> - </div> -</template> - -<script> - -export default { - name: 'Page404', - computed: { - message() { - return '鎵句笉鍒扮綉椤碉紒' - } - } -} -</script> - -<style lang="scss" scoped> -.wscn-http404-container{ - transform: translate(-50%,-50%); - position: absolute; - top: 40%; - left: 50%; -} -.wscn-http404 { - position: relative; - width: 1200px; - padding: 0 50px; - overflow: hidden; - .pic-404 { - position: relative; - float: left; - width: 600px; - overflow: hidden; - &__parent { - width: 100%; - } - &__child { - position: absolute; - &.left { - width: 80px; - top: 17px; - left: 220px; - opacity: 0; - animation-name: cloudLeft; - animation-duration: 2s; - animation-timing-function: linear; - animation-fill-mode: forwards; - animation-delay: 1s; - } - &.mid { - width: 46px; - top: 10px; - left: 420px; - opacity: 0; - animation-name: cloudMid; - animation-duration: 2s; - animation-timing-function: linear; - animation-fill-mode: forwards; - animation-delay: 1.2s; - } - &.right { - width: 62px; - top: 100px; - left: 500px; - opacity: 0; - animation-name: cloudRight; - animation-duration: 2s; - animation-timing-function: linear; - animation-fill-mode: forwards; - animation-delay: 1s; - } - @keyframes cloudLeft { - 0% { - top: 17px; - left: 220px; - opacity: 0; - } - 20% { - top: 33px; - left: 188px; - opacity: 1; - } - 80% { - top: 81px; - left: 92px; - opacity: 1; - } - 100% { - top: 97px; - left: 60px; - opacity: 0; - } - } - @keyframes cloudMid { - 0% { - top: 10px; - left: 420px; - opacity: 0; - } - 20% { - top: 40px; - left: 360px; - opacity: 1; - } - 70% { - top: 130px; - left: 180px; - opacity: 1; - } - 100% { - top: 160px; - left: 120px; - opacity: 0; - } - } - @keyframes cloudRight { - 0% { - top: 100px; - left: 500px; - opacity: 0; - } - 20% { - top: 120px; - left: 460px; - opacity: 1; - } - 80% { - top: 180px; - left: 340px; - opacity: 1; - } - 100% { - top: 200px; - left: 300px; - opacity: 0; - } - } - } - } - .bullshit { - position: relative; - float: left; - width: 300px; - padding: 30px 0; - overflow: hidden; - &__oops { - font-size: 32px; - font-weight: bold; - line-height: 40px; - color: #1482f0; - opacity: 0; - margin-bottom: 20px; - animation-name: slideUp; - animation-duration: 0.5s; - animation-fill-mode: forwards; - } - &__headline { - font-size: 20px; - line-height: 24px; - color: #222; - font-weight: bold; - opacity: 0; - margin-bottom: 10px; - animation-name: slideUp; - animation-duration: 0.5s; - animation-delay: 0.1s; - animation-fill-mode: forwards; - } - &__info { - font-size: 13px; - line-height: 21px; - color: grey; - opacity: 0; - margin-bottom: 30px; - animation-name: slideUp; - animation-duration: 0.5s; - animation-delay: 0.2s; - animation-fill-mode: forwards; - } - &__return-home { - display: block; - float: left; - width: 110px; - height: 36px; - background: #1482f0; - border-radius: 100px; - text-align: center; - color: #ffffff; - opacity: 0; - font-size: 14px; - line-height: 36px; - cursor: pointer; - animation-name: slideUp; - animation-duration: 0.5s; - animation-delay: 0.3s; - animation-fill-mode: forwards; - } - @keyframes slideUp { - 0% { - transform: translateY(60px); - opacity: 0; - } - 100% { - transform: translateY(0); - opacity: 1; - } - } - } -} -</style> diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue deleted file mode 100644 index 4828d88..0000000 --- a/ruoyi-ui/src/views/index.vue +++ /dev/null @@ -1,98 +0,0 @@ -<template> - <div class="dashboard-editor-container"> - - <panel-group @handleSetLineChartData="handleSetLineChartData" /> - - <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;"> - <line-chart :chart-data="lineChartData" /> - </el-row> - - <el-row :gutter="32"> - <el-col :xs="24" :sm="24" :lg="8"> - <div class="chart-wrapper"> - <raddar-chart /> - </div> - </el-col> - <el-col :xs="24" :sm="24" :lg="8"> - <div class="chart-wrapper"> - <pie-chart /> - </div> - </el-col> - <el-col :xs="24" :sm="24" :lg="8"> - <div class="chart-wrapper"> - <bar-chart /> - </div> - </el-col> - </el-row> - - - </div> -</template> - -<script> -import PanelGroup from './dashboard/PanelGroup' -import LineChart from './dashboard/LineChart' -import RaddarChart from './dashboard/RaddarChart' -import PieChart from './dashboard/PieChart' -import BarChart from './dashboard/BarChart' - -const lineChartData = { - newVisitis: { - expectedData: [100, 120, 161, 134, 105, 160, 165], - actualData: [120, 82, 91, 154, 162, 140, 145] - }, - messages: { - expectedData: [200, 192, 120, 144, 160, 130, 140], - actualData: [180, 160, 151, 106, 145, 150, 130] - }, - purchases: { - expectedData: [80, 100, 121, 104, 105, 90, 100], - actualData: [120, 90, 100, 138, 142, 130, 130] - }, - shoppings: { - expectedData: [130, 140, 141, 142, 145, 150, 160], - actualData: [120, 82, 91, 154, 162, 140, 130] - } -} - -export default { - name: 'Index', - components: { - PanelGroup, - LineChart, - RaddarChart, - PieChart, - BarChart - }, - data() { - return { - lineChartData: lineChartData.newVisitis - } - }, - methods: { - handleSetLineChartData(type) { - this.lineChartData = lineChartData[type] - } - } -} -</script> - -<style lang="scss" scoped> -.dashboard-editor-container { - padding: 32px; - background-color: rgb(240, 242, 245); - position: relative; - - .chart-wrapper { - background: #fff; - padding: 16px 16px 0; - margin-bottom: 32px; - } -} - -@media (max-width:1024px) { - .chart-wrapper { - padding: 8px; - } -} -</style> diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue deleted file mode 100644 index b63d046..0000000 --- a/ruoyi-ui/src/views/login.vue +++ /dev/null @@ -1,203 +0,0 @@ -<template> - <div class="login"> - <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> - <h3 class="title">鑻ヤ緷鍚庡彴绠$悊绯荤粺</h3> - <el-form-item prop="username"> - <el-input v-model="loginForm.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"> - <el-input - v-model="loginForm.password" - type="password" - auto-complete="off" - placeholder="瀵嗙爜" - @keyup.enter.native="handleLogin" - > - <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> - </el-input> - </el-form-item> - <el-form-item prop="code"> - <el-input - v-model="loginForm.code" - auto-complete="off" - placeholder="楠岃瘉鐮�" - style="width: 63%" - @keyup.enter.native="handleLogin" - > - <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> - </el-input> - <div class="login-code"> - <img :src="codeUrl" @click="getCode" /> - </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-button - :loading="loading" - size="medium" - type="primary" - style="width:100%;" - @click.native.prevent="handleLogin" - > - <span v-if="!loading">鐧� 褰�</span> - <span v-else>鐧� 褰� 涓�...</span> - </el-button> - </el-form-item> - </el-form> - <!-- 搴曢儴 --> - <div class="el-login-footer"> - <span>Copyright 漏 2018-2019 ruoyi.vip All Rights Reserved.</span> - </div> - </div> -</template> - -<script> -import { getCodeImg } from "@/api/login"; -import Cookies from "js-cookie"; -import { encrypt, decrypt } from '@/utils/jsencrypt' - -export default { - name: "Login", - data() { - return { - codeUrl: "", - cookiePassword: "", - loginForm: { - username: "admin", - password: "admin123", - rememberMe: false, - code: "", - uuid: "" - }, - loginRules: { - username: [ - { required: true, trigger: "blur", message: "鐢ㄦ埛鍚嶄笉鑳戒负绌�" } - ], - password: [ - { required: true, trigger: "blur", message: "瀵嗙爜涓嶈兘涓虹┖" } - ], - code: [{ required: true, trigger: "change", message: "楠岃瘉鐮佷笉鑳戒负绌�" }] - }, - loading: false, - redirect: undefined - }; - }, - watch: { - $route: { - handler: function(route) { - this.redirect = route.query && route.query.redirect; - }, - immediate: true - } - }, - created() { - this.getCode(); - this.getCookie(); - }, - methods: { - getCode() { - getCodeImg().then(res => { - this.codeUrl = "data:image/gif;base64," + res.img; - this.loginForm.uuid = res.uuid; - }); - }, - getCookie() { - const username = Cookies.get("username"); - const password = Cookies.get("password"); - 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) - }; - }, - handleLogin() { - 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 }); - } else { - Cookies.remove("username"); - Cookies.remove("password"); - Cookies.remove('rememberMe'); - } - this.$store - .dispatch("Login", this.loginForm) - .then(() => { - this.$router.push({ path: this.redirect || "/" }); - }) - .catch(() => { - this.loading = false; - this.getCode(); - }); - } - }); - } - } -}; -</script> - -<style rel="stylesheet/scss" lang="scss"> -.login { - display: flex; - justify-content: center; - align-items: center; - height: 100%; - background-image: url("../assets/image/login-background.jpg"); - background-size: cover; -} -.title { - margin: 0px auto 30px auto; - text-align: center; - color: #707070; -} - -.login-form { - border-radius: 6px; - background: #ffffff; - width: 400px; - padding: 25px 25px 5px 25px; - .el-input { - height: 38px; - input { - height: 38px; - } - } - .input-icon { - height: 39px; - width: 14px; - margin-left: 2px; - } -} -.login-tip { - font-size: 13px; - text-align: center; - color: #bfbfbf; -} -.login-code { - width: 33%; - height: 38px; - float: right; - img { - cursor: pointer; - vertical-align: middle; - } -} -.el-login-footer { - height: 40px; - line-height: 40px; - position: fixed; - bottom: 0; - width: 100%; - text-align: center; - color: #fff; - font-family: Arial; - font-size: 12px; - letter-spacing: 1px; -} -</style> diff --git a/ruoyi-ui/src/views/login/auth-redirect.vue b/ruoyi-ui/src/views/login/auth-redirect.vue deleted file mode 100644 index de7bbf3..0000000 --- a/ruoyi-ui/src/views/login/auth-redirect.vue +++ /dev/null @@ -1,15 +0,0 @@ -<script> -export default { - name: 'AuthRedirect', - created() { - const hash = window.location.search.slice(1) - if (window.localStorage) { - window.localStorage.setItem('x-admin-oauth-code', hash) - window.close() - } - }, - render: function(h) { - return h() // avoid warning message - } -} -</script> diff --git a/ruoyi-ui/src/views/login/components/SocialSignin.vue b/ruoyi-ui/src/views/login/components/SocialSignin.vue deleted file mode 100644 index 17537ed..0000000 --- a/ruoyi-ui/src/views/login/components/SocialSignin.vue +++ /dev/null @@ -1,72 +0,0 @@ -<template> - <div class="social-signup-container"> - <div class="sign-btn" @click="wechatHandleClick('wechat')"> - <span class="wx-svg-container"><svg-icon icon-class="wechat" class="icon" /></span> - WeChat - </div> - <div class="sign-btn" @click="tencentHandleClick('tencent')"> - <span class="qq-svg-container"><svg-icon icon-class="qq" class="icon" /></span> - QQ - </div> - </div> -</template> - -<script> -// import openWindow from '@/utils/open-window' - -export default { - name: 'SocialSignin', - methods: { - wechatHandleClick(thirdpart) { - alert('ok') - // this.$store.commit('SET_AUTH_TYPE', thirdpart) - // const appid = 'xxxxx' - // const redirect_uri = encodeURIComponent('xxx/redirect?redirect=' + window.location.origin + '/auth-redirect') - // const url = 'https://open.weixin.qq.com/connect/qrconnect?appid=' + appid + '&redirect_uri=' + redirect_uri + '&response_type=code&scope=snsapi_login#wechat_redirect' - // openWindow(url, thirdpart, 540, 540) - }, - tencentHandleClick(thirdpart) { - alert('ok') - // this.$store.commit('SET_AUTH_TYPE', thirdpart) - // const client_id = 'xxxxx' - // const redirect_uri = encodeURIComponent('xxx/redirect?redirect=' + window.location.origin + '/auth-redirect') - // const url = 'https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=' + client_id + '&redirect_uri=' + redirect_uri - // openWindow(url, thirdpart, 540, 540) - } - } -} -</script> - -<style lang="scss" scoped> - .social-signup-container { - margin: 20px 0; - .sign-btn { - display: inline-block; - cursor: pointer; - } - .icon { - color: #fff; - font-size: 24px; - margin-top: 8px; - } - .wx-svg-container, - .qq-svg-container { - display: inline-block; - width: 40px; - height: 40px; - line-height: 40px; - text-align: center; - padding-top: 1px; - border-radius: 4px; - margin-bottom: 20px; - margin-right: 5px; - } - .wx-svg-container { - background-color: #24da70; - } - .qq-svg-container { - background-color: #6BA2D6; - margin-left: 50px; - } - } -</style> diff --git a/ruoyi-ui/src/views/monitor/druid/index.vue b/ruoyi-ui/src/views/monitor/druid/index.vue deleted file mode 100644 index 9e8e1e7..0000000 --- a/ruoyi-ui/src/views/monitor/druid/index.vue +++ /dev/null @@ -1,26 +0,0 @@ -<template> - <div v-loading="loading" :style="'height:'+ height"> - <iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto" /> - </div> -</template> -<script> -export default { - name: "Druid", - data() { - return { - src: process.env.VUE_APP_BASE_API + "/druid/index.html", - height: document.documentElement.clientHeight - 94.5 + "px;", - loading: true - }; - }, - mounted: function() { - setTimeout(() => { - this.loading = false; - }, 230); - const that = this; - window.onresize = function temp() { - that.height = document.documentElement.clientHeight - 94.5 + "px;"; - }; - } -}; -</script> diff --git a/ruoyi-ui/src/views/monitor/job/index.vue b/ruoyi-ui/src/views/monitor/job/index.vue deleted file mode 100644 index 2467772..0000000 --- a/ruoyi-ui/src/views/monitor/job/index.vue +++ /dev/null @@ -1,5 +0,0 @@ -<template> - <div class="app-container"> - 瀹氭椂浠诲姟 - </div> -</template> \ No newline at end of file diff --git a/ruoyi-ui/src/views/monitor/logininfor/index.vue b/ruoyi-ui/src/views/monitor/logininfor/index.vue deleted file mode 100644 index e2f422e..0000000 --- a/ruoyi-ui/src/views/monitor/logininfor/index.vue +++ /dev/null @@ -1,227 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="鐧诲綍鍦板潃" prop="ipaddr"> - <el-input - v-model="queryParams.ipaddr" - placeholder="璇疯緭鍏ョ櫥褰曞湴鍧�" - clearable - style="width: 240px;" - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - style="width: 240px;" - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="鐧诲綍鐘舵��" - clearable - size="small" - style="width: 240px" - > - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鐧诲綍鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:logininfor:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - @click="handleClean" - v-hasPermi="['monitor:logininfor:remove']" - >娓呯┖</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:logininfor:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="璁块棶缂栧彿" align="center" prop="infoId" /> - <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" /> - <el-table-column label="鐧诲綍鍦板潃" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" /> - <el-table-column label="鐧诲綍鍦扮偣" align="center" prop="loginLocation" /> - <el-table-column label="娴忚鍣�" align="center" prop="browser" /> - <el-table-column label="鎿嶄綔绯荤粺" align="center" prop="os" /> - <el-table-column label="鐧诲綍鐘舵��" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="鎿嶄綔淇℃伅" align="center" prop="msg" /> - <el-table-column label="鐧诲綍鏃ユ湡" align="center" prop="loginTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.loginTime) }}</span> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </div> -</template> - -<script> -import { list, delLogininfor, cleanLogininfor, exportLogininfor } from "@/api/monitor/logininfor"; - -export default { - name: "Logininfor", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ牸鏁版嵁 - list: [], - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - ipaddr: undefined, - userName: undefined, - status: undefined - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_common_status").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ鐧诲綍鏃ュ織鍒楄〃 */ - getList() { - this.loading = true; - list(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.list = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鐧诲綍鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.infoId) - this.multiple = !selection.length - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const infoIds = row.infoId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎璁块棶缂栧彿涓�"' + infoIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delLogininfor(infoIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 娓呯┖鎸夐挳鎿嶄綔 */ - handleClean() { - this.$confirm('鏄惁纭娓呯┖鎵�鏈夌櫥褰曟棩蹇楁暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return cleanLogininfor(); - }).then(() => { - this.getList(); - this.msgSuccess("娓呯┖鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夋搷浣滄棩蹇楁暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportLogininfor(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> - diff --git a/ruoyi-ui/src/views/monitor/online/index.vue b/ruoyi-ui/src/views/monitor/online/index.vue deleted file mode 100644 index 72c4a53..0000000 --- a/ruoyi-ui/src/views/monitor/online/index.vue +++ /dev/null @@ -1,128 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true"> - <el-form-item label="鐧诲綍鍦板潃" prop="ipaddr"> - <el-input - v-model="queryParams.ipaddr" - placeholder="璇疯緭鍏ョ櫥褰曞湴鍧�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-table - v-loading="loading" - :data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)" - style="width: 100%;" - > - <el-table-column label="搴忓彿" type="index" align="center"> - <template slot-scope="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> - </template> - </el-table-column> - <el-table-column label="浼氳瘽缂栧彿" align="center" prop="tokenId" :show-overflow-tooltip="true" /> - <el-table-column label="鐧诲綍鍚嶇О" align="center" prop="userName" :show-overflow-tooltip="true" /> - <el-table-column label="閮ㄩ棬鍚嶇О" align="center" prop="deptName" /> - <el-table-column label="涓绘満" align="center" prop="ipaddr" :show-overflow-tooltip="true" /> - <el-table-column label="鐧诲綍鍦扮偣" align="center" prop="loginLocation" /> - <el-table-column label="娴忚鍣�" align="center" prop="browser" /> - <el-table-column label="鎿嶄綔绯荤粺" align="center" prop="os" /> - <el-table-column label="鐧诲綍鏃堕棿" align="center" prop="loginTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.loginTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleForceLogout(scope.row)" - v-hasPermi="['monitor:online:forceLogout']" - >寮洪��</el-button> - </template> - </el-table-column> - </el-table> - - <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" /> - </div> -</template> - -<script> -import { list, forceLogout } from "@/api/monitor/online"; - -export default { - name: "Online", - data() { - return { - // 閬僵灞� - loading: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ牸鏁版嵁 - list: [], - pageNum: 1, - pageSize: 10, - // 鏌ヨ鍙傛暟 - queryParams: { - ipaddr: undefined, - userName: undefined - } - }; - }, - created() { - this.getList(); - }, - methods: { - /** 鏌ヨ鐧诲綍鏃ュ織鍒楄〃 */ - getList() { - this.loading = true; - list(this.queryParams).then(response => { - this.list = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 寮洪��鎸夐挳鎿嶄綔 */ - handleForceLogout(row) { - this.$confirm('鏄惁纭寮洪��鍚嶇О涓�"' + row.userName + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return forceLogout(row.tokenId); - }).then(() => { - this.getList(); - this.msgSuccess("寮洪��鎴愬姛"); - }).catch(function() {}); - } - } -}; -</script> - diff --git a/ruoyi-ui/src/views/monitor/operlog/index.vue b/ruoyi-ui/src/views/monitor/operlog/index.vue deleted file mode 100644 index f5e2e63..0000000 --- a/ruoyi-ui/src/views/monitor/operlog/index.vue +++ /dev/null @@ -1,315 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="绯荤粺妯″潡" prop="title"> - <el-input - v-model="queryParams.title" - placeholder="璇疯緭鍏ョ郴缁熸ā鍧�" - clearable - style="width: 240px;" - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎿嶄綔浜哄憳" prop="operName"> - <el-input - v-model="queryParams.operName" - placeholder="璇疯緭鍏ユ搷浣滀汉鍛�" - clearable - style="width: 240px;" - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="绫诲瀷" prop="businessType"> - <el-select - v-model="queryParams.businessType" - placeholder="鎿嶄綔绫诲瀷" - clearable - size="small" - style="width: 240px" - > - <el-option - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="鎿嶄綔鐘舵��" - clearable - size="small" - style="width: 240px" - > - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鎿嶄綔鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:operlog:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - @click="handleClean" - v-hasPermi="['monitor:operlog:remove']" - >娓呯┖</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:config:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鏃ュ織缂栧彿" align="center" prop="operId" /> - <el-table-column label="绯荤粺妯″潡" align="center" prop="title" /> - <el-table-column label="鎿嶄綔绫诲瀷" align="center" prop="businessType" :formatter="typeFormat" /> - <el-table-column label="璇锋眰鏂瑰紡" align="center" prop="requestMethod" /> - <el-table-column label="鎿嶄綔浜哄憳" align="center" prop="operName" /> - <el-table-column label="涓绘満" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" /> - <el-table-column label="鎿嶄綔鍦扮偣" align="center" prop="operLocation" /> - <el-table-column label="鎿嶄綔鐘舵��" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="鎿嶄綔鏃ユ湡" align="center" prop="operTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.operTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-view" - @click="handleView(scope.row,scope.index)" - v-hasPermi="['monitor:operlog:query']" - >璇︾粏</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 鎿嶄綔鏃ュ織璇︾粏 --> - <el-dialog title="鎿嶄綔鏃ュ織璇︾粏" :visible.sync="open" width="700px"> - <el-form ref="form" :model="form" label-width="100px" size="mini"> - <el-row> - <el-col :span="12"> - <el-form-item label="鎿嶄綔妯″潡锛�">{{ form.title }} / 淇敼</el-form-item> - <el-form-item - label="鐧诲綍淇℃伅锛�" - >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璇锋眰鍦板潃锛�">{{ form.operUrl }}</el-form-item> - <el-form-item label="璇锋眰鏂瑰紡锛�">{{ form.requestMethod }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鎿嶄綔鏂规硶锛�">{{ form.method }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="璇锋眰鍙傛暟锛�">{{ form.operParam }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="杩斿洖鍙傛暟锛�">{{ form.jsonResult }}</el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎿嶄綔鐘舵�侊細"> - <div v-if="form.status === 0">姝e父</div> - <div v-else-if="form.status === 1">澶辫触</div> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎿嶄綔鏃堕棿锛�">{{ parseTime(form.operTime) }}</el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="寮傚父淇℃伅锛�" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="open = false">鍏� 闂�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { list, delOperlog, cleanOperlog, exportOperlog } from "@/api/monitor/operlog"; - -export default { - name: "Operlog", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ牸鏁版嵁 - list: [], - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 绫诲瀷鏁版嵁瀛楀吀 - typeOptions: [], - // 绫诲瀷鏁版嵁瀛楀吀 - statusOptions: [], - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - title: undefined, - operName: undefined, - businessType: undefined, - status: undefined - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_oper_type").then(response => { - this.typeOptions = response.data; - }); - this.getDicts("sys_common_status").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ鐧诲綍鏃ュ織 */ - getList() { - this.loading = true; - list(this.addDateRange(this.queryParams, this.dateRange)).then( response => { - this.list = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鎿嶄綔鏃ュ織鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鎿嶄綔鏃ュ織绫诲瀷瀛楀吀缈昏瘧 - typeFormat(row, column) { - return this.selectDictLabel(this.typeOptions, row.businessType); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.operId) - this.multiple = !selection.length - }, - /** 璇︾粏鎸夐挳鎿嶄綔 */ - handleView(row) { - this.open = true; - this.form = row; - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const operIds = row.operId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎鏃ュ織缂栧彿涓�"' + operIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delOperlog(operIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 娓呯┖鎸夐挳鎿嶄綔 */ - handleClean() { - this.$confirm('鏄惁纭娓呯┖鎵�鏈夋搷浣滄棩蹇楁暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return cleanOperlog(); - }).then(() => { - this.getList(); - this.msgSuccess("娓呯┖鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夋搷浣滄棩蹇楁暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportOperlog(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> - diff --git a/ruoyi-ui/src/views/monitor/server/index.vue b/ruoyi-ui/src/views/monitor/server/index.vue deleted file mode 100644 index 6a5060d..0000000 --- a/ruoyi-ui/src/views/monitor/server/index.vue +++ /dev/null @@ -1,210 +0,0 @@ -<template> - <div class="app-container"> - <el-row> - <el-col :span="12" class="card-box"> - <el-card> - <div slot="header"><span>CPU</span></div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <thead> - <tr> - <th class="is-leaf"><div class="cell">灞炴��</div></th> - <th class="is-leaf"><div class="cell">鍊�</div></th> - </tr> - </thead> - <tbody> - <tr> - <td><div class="cell">鏍稿績鏁�</div></td> - <td><div class="cell" v-if="server.cpu">{{ server.cpu.cpuNum }}</div></td> - </tr> - <tr> - <td><div class="cell">鐢ㄦ埛浣跨敤鐜�</div></td> - <td><div class="cell" v-if="server.cpu">{{ server.cpu.used }}%</div></td> - </tr> - <tr> - <td><div class="cell">绯荤粺浣跨敤鐜�</div></td> - <td><div class="cell" v-if="server.cpu">{{ server.cpu.sys }}%</div></td> - </tr> - <tr> - <td><div class="cell">褰撳墠绌洪棽鐜�</div></td> - <td><div class="cell" v-if="server.cpu">{{ server.cpu.free }}%</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="12" class="card-box"> - <el-card> - <div slot="header"><span>鍐呭瓨</span></div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <thead> - <tr> - <th class="is-leaf"><div class="cell">灞炴��</div></th> - <th class="is-leaf"><div class="cell">鍐呭瓨</div></th> - <th class="is-leaf"><div class="cell">JVM</div></th> - </tr> - </thead> - <tbody> - <tr> - <td><div class="cell">鎬诲唴瀛�</div></td> - <td><div class="cell" v-if="server.mem">{{ server.mem.total }}G</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.total }}M</div></td> - </tr> - <tr> - <td><div class="cell">宸茬敤鍐呭瓨</div></td> - <td><div class="cell" v-if="server.mem">{{ server.mem.used}}G</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.used}}M</div></td> - </tr> - <tr> - <td><div class="cell">鍓╀綑鍐呭瓨</div></td> - <td><div class="cell" v-if="server.mem">{{ server.mem.free }}G</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.free }}M</div></td> - </tr> - <tr> - <td><div class="cell">浣跨敤鐜�</div></td> - <td><div class="cell" v-if="server.mem" :class="{'text-danger': server.mem.usage > 80}">{{ server.mem.usage }}%</div></td> - <td><div class="cell" v-if="server.jvm" :class="{'text-danger': server.jvm.usage > 80}">{{ server.jvm.usage }}%</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"> - <span>鏈嶅姟鍣ㄤ俊鎭�</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <tbody> - <tr> - <td><div class="cell">鏈嶅姟鍣ㄥ悕绉�</div></td> - <td><div class="cell" v-if="server.sys">{{ server.sys.computerName }}</div></td> - <td><div class="cell">鎿嶄綔绯荤粺</div></td> - <td><div class="cell" v-if="server.sys">{{ server.sys.osName }}</div></td> - </tr> - <tr> - <td><div class="cell">鏈嶅姟鍣↖P</div></td> - <td><div class="cell" v-if="server.sys">{{ server.sys.computerIp }}</div></td> - <td><div class="cell">绯荤粺鏋舵瀯</div></td> - <td><div class="cell" v-if="server.sys">{{ server.sys.osArch }}</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"> - <span>Java铏氭嫙鏈轰俊鎭�</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <tbody> - <tr> - <td><div class="cell">Java鍚嶇О</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.name }}</div></td> - <td><div class="cell">Java鐗堟湰</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.version }}</div></td> - </tr> - <tr> - <td><div class="cell">鍚姩鏃堕棿</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.startTime }}</div></td> - <td><div class="cell">杩愯鏃堕暱</div></td> - <td><div class="cell" v-if="server.jvm">{{ server.jvm.runTime }}</div></td> - </tr> - <tr> - <td colspan="1"><div class="cell">瀹夎璺緞</div></td> - <td colspan="3"><div class="cell" v-if="server.jvm">{{ server.jvm.home }}</div></td> - </tr> - <tr> - <td colspan="1"><div class="cell">椤圭洰璺緞</div></td> - <td colspan="3"><div class="cell" v-if="server.sys">{{ server.sys.userDir }}</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - - <el-col :span="24" class="card-box"> - <el-card> - <div slot="header"> - <span>纾佺洏鐘舵��</span> - </div> - <div class="el-table el-table--enable-row-hover el-table--medium"> - <table cellspacing="0" style="width: 100%;"> - <thead> - <tr> - <th class="is-leaf"><div class="cell">鐩樼璺緞</div></th> - <th class="is-leaf"><div class="cell">鏂囦欢绯荤粺</div></th> - <th class="is-leaf"><div class="cell">鐩樼绫诲瀷</div></th> - <th class="is-leaf"><div class="cell">鎬诲ぇ灏�</div></th> - <th class="is-leaf"><div class="cell">鍙敤澶у皬</div></th> - <th class="is-leaf"><div class="cell">宸茬敤澶у皬</div></th> - <th class="is-leaf"><div class="cell">宸茬敤鐧惧垎姣�</div></th> - </tr> - </thead> - <tbody v-if="server.sysFiles"> - <tr v-for="sysFile in server.sysFiles"> - <td><div class="cell">{{ sysFile.dirName }}</div></td> - <td><div class="cell">{{ sysFile.sysTypeName }}</div></td> - <td><div class="cell">{{ sysFile.typeName }}</div></td> - <td><div class="cell">{{ sysFile.total }}</div></td> - <td><div class="cell">{{ sysFile.free }}</div></td> - <td><div class="cell">{{ sysFile.used }}</div></td> - <td><div class="cell" :class="{'text-danger': sysFile.usage > 80}">{{ sysFile.usage }}%</div></td> - </tr> - </tbody> - </table> - </div> - </el-card> - </el-col> - </el-row> - </div> -</template> - -<script> -import { getServer } from "@/api/monitor/server"; - -export default { - name: "Server", - data() { - return { - // 鍔犺浇灞備俊鎭� - loading: [], - // 鏈嶅姟鍣ㄤ俊鎭� - server: [] - }; - }, - created() { - this.getList(); - this.openLoading(); - }, - methods: { - /** 鏌ヨ鏈嶅姟鍣ㄤ俊鎭� */ - getList() { - getServer().then(response => { - this.server = response.data; - this.loading.close(); - }); - }, - // 鎵撳紑鍔犺浇灞� - openLoading() { - this.loading = this.$loading({ - lock: true, - text: "鎷煎懡璇诲彇涓�", - spinner: "el-icon-loading", - background: "rgba(0, 0, 0, 0.7)" - }); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/redirect.vue b/ruoyi-ui/src/views/redirect.vue deleted file mode 100644 index db4c1d6..0000000 --- a/ruoyi-ui/src/views/redirect.vue +++ /dev/null @@ -1,12 +0,0 @@ -<script> -export default { - created() { - const { params, query } = this.$route - const { path } = params - this.$router.replace({ path: '/' + path, query }) - }, - render: function(h) { - return h() // avoid warning message - } -} -</script> diff --git a/ruoyi-ui/src/views/system/config/index.vue b/ruoyi-ui/src/views/system/config/index.vue deleted file mode 100644 index 354f7e0..0000000 --- a/ruoyi-ui/src/views/system/config/index.vue +++ /dev/null @@ -1,346 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="鍙傛暟鍚嶇О" prop="configName"> - <el-input - v-model="queryParams.configName" - placeholder="璇疯緭鍏ュ弬鏁板悕绉�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鍙傛暟閿悕" prop="configKey"> - <el-input - v-model="queryParams.configKey" - placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="绯荤粺鍐呯疆" prop="configType"> - <el-select v-model="queryParams.configType" placeholder="绯荤粺鍐呯疆" clearable size="small"> - <el-option - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:config:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:config:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:config:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:config:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="鍙傛暟涓婚敭" align="center" prop="configId" /> - <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="configName" :show-overflow-tooltip="true" /> - <el-table-column label="鍙傛暟閿悕" align="center" prop="configKey" :show-overflow-tooltip="true" /> - <el-table-column label="鍙傛暟閿��" align="center" prop="configValue" /> - <el-table-column label="绯荤粺鍐呯疆" align="center" prop="configType" :formatter="typeFormat" /> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:config:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:config:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="鍙傛暟鍚嶇О" prop="configName"> - <el-input v-model="form.configName" placeholder="璇疯緭鍏ュ弬鏁板悕绉�" /> - </el-form-item> - <el-form-item label="鍙傛暟閿悕" prop="configKey"> - <el-input v-model="form.configKey" placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�" /> - </el-form-item> - <el-form-item label="鍙傛暟閿��" prop="configValue"> - <el-input v-model="form.configValue" placeholder="璇疯緭鍏ュ弬鏁伴敭鍊�" /> - </el-form-item> - <el-form-item label="绯荤粺鍐呯疆" prop="configType"> - <el-radio-group v-model="form.configType"> - <el-radio - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listConfig, getConfig, delConfig, addConfig, updateConfig, exportConfig } from "@/api/system/config"; - -export default { - name: "Config", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 鍙傛暟琛ㄦ牸鏁版嵁 - configList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 绫诲瀷鏁版嵁瀛楀吀 - typeOptions: [], - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - configName: undefined, - configKey: undefined, - configType: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - configName: [ - { required: true, message: "鍙傛暟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - configKey: [ - { required: true, message: "鍙傛暟閿悕涓嶈兘涓虹┖", trigger: "blur" } - ], - configValue: [ - { required: true, message: "鍙傛暟閿�间笉鑳戒负绌�", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_yes_no").then(response => { - this.typeOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ鍙傛暟鍒楄〃 */ - getList() { - this.loading = true; - listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.configList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鍙傛暟绯荤粺鍐呯疆瀛楀吀缈昏瘧 - typeFormat(row, column) { - return this.selectDictLabel(this.typeOptions, row.configType); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - configId: undefined, - configName: undefined, - configKey: undefined, - configValue: undefined, - configType: "Y", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞鍙傛暟"; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.configId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const configId = row.configId || this.ids - getConfig(configId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼鍙傛暟"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.configId != undefined) { - updateConfig(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addConfig(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const configIds = row.configId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎鍙傛暟缂栧彿涓�"' + configIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delConfig(configIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夊弬鏁版暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportConfig(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/dept/index.vue b/ruoyi-ui/src/views/system/dept/index.vue deleted file mode 100644 index c3574b1..0000000 --- a/ruoyi-ui/src/views/system/dept/index.vue +++ /dev/null @@ -1,308 +0,0 @@ -<template> - <div class="app-container"> - <el-form :inline="true"> - <el-form-item label="閮ㄩ棬鍚嶇О"> - <el-input - v-model="queryParams.deptName" - placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��"> - <el-select v-model="queryParams.status" placeholder="閮ㄩ棬鐘舵��" clearable size="small"> - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button - class="filter-item" - type="primary" - icon="el-icon-search" - size="mini" - @click="handleQuery" - >鎼滅储</el-button> - <el-button - class="filter-item" - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dept:add']" - >鏂板</el-button> - </el-form-item> - </el-form> - - <el-table - v-loading="loading" - :data="deptList" - row-key="deptId" - default-expand-all - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" - > - <el-table-column prop="deptName" label="閮ㄩ棬鍚嶇О" width="200"></el-table-column> - <el-table-column prop="orderNum" label="鎺掑簭" width="200"></el-table-column> - <el-table-column prop="status" label="鐘舵��" :formatter="statusFormat" width="100"></el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="200"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dept:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-plus" - @click="handleAdd(scope.row)" - v-hasPermi="['system:dept:add']" - >鏂板</el-button> - <el-button - v-if="scope.row.parentId != 0" - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dept:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <!-- 娣诲姞鎴栦慨鏀归儴闂ㄥ璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="600px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="24" v-if="form.parentId !== 0"> - <el-form-item label="涓婄骇閮ㄩ棬" prop="parentId"> - <treeselect v-model="form.parentId" :options="deptOptions" placeholder="閫夋嫨涓婄骇閮ㄩ棬" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName"> - <el-input v-model="form.deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄剧ず鎺掑簭" prop="orderNum"> - <el-input-number v-model="form.orderNum" controls-position="right" :min="0" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璐熻矗浜�" prop="leader"> - <el-input v-model="form.leader" placeholder="璇疯緭鍏ヨ礋璐d汉" maxlength="20" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鑱旂郴鐢佃瘽" prop="phone"> - <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" maxlength="11" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閭" prop="email"> - <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閮ㄩ棬鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listDept, getDept, treeselect, delDept, addDept, updateDept } from "@/api/system/dept"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "Dept", - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 琛ㄦ牸鏍戞暟鎹� - deptList: [], - // 閮ㄩ棬鏍戦�夐」 - deptOptions: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - deptName: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - parentId: [ - { required: true, message: "涓婄骇閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" } - ], - deptName: [ - { required: true, message: "閮ㄩ棬鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - orderNum: [ - { required: true, message: "鑿滃崟椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ], - email: [ - { - type: "email", - message: "'璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"] - } - ], - phone: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur" - } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ閮ㄩ棬鍒楄〃 */ - getList() { - this.loading = true; - listDept(this.queryParams).then(response => { - this.deptList = response.data; - this.loading = false; - }); - }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getTreeselect() { - treeselect().then(response => { - this.deptOptions = response.data; - }); - }, - // 瀛楀吀鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - deptId: undefined, - parentId: undefined, - deptName: undefined, - orderNum: undefined, - leader: undefined, - phone: undefined, - email: undefined, - status: "0" - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.getList(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd(row) { - this.reset(); - this.getTreeselect(); - if (row != undefined) { - this.form.parentId = row.deptId; - } - this.open = true; - this.title = "娣诲姞閮ㄩ棬"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.getTreeselect(); - getDept(row.deptId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼閮ㄩ棬"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.deptId != undefined) { - updateDept(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addDept(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - this.$confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.deptName + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delDept(row.deptId); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/dict/data.vue b/ruoyi-ui/src/views/system/dict/data.vue deleted file mode 100644 index dcb8cb7..0000000 --- a/ruoyi-ui/src/views/system/dict/data.vue +++ /dev/null @@ -1,355 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictType"> - <el-select v-model="queryParams.dictType" size="small"> - <el-option - v-for="item in typeOptions" - :key="item.dictId" - :label="item.dictName" - :value="item.dictType" - /> - </el-select> - </el-form-item> - <el-form-item label="瀛楀吀鏍囩" prop="dictLabel"> - <el-input - v-model="queryParams.dictLabel" - placeholder="璇疯緭鍏ュ瓧鍏告爣绛�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="鏁版嵁鐘舵��" clearable size="small"> - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dict:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:dict:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瀛楀吀缂栫爜" align="center" prop="dictCode" /> - <el-table-column label="瀛楀吀鏍囩" align="center" prop="dictLabel" /> - <el-table-column label="瀛楀吀閿��" align="center" prop="dictValue" /> - <el-table-column label="瀛楀吀鎺掑簭" align="center" prop="dictSort" /> - <el-table-column label="鐘舵��" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="瀛楀吀绫诲瀷"> - <el-input v-model="form.dictType" :disabled="true" /> - </el-form-item> - <el-form-item label="鏁版嵁鏍囩" prop="dictLabel"> - <el-input v-model="form.dictLabel" placeholder="璇疯緭鍏ユ暟鎹爣绛�" /> - </el-form-item> - <el-form-item label="鏁版嵁閿��" prop="dictValue"> - <el-input v-model="form.dictValue" placeholder="璇疯緭鍏ユ暟鎹敭鍊�" /> - </el-form-item> - <el-form-item label="鏄剧ず鎺掑簭" prop="dictSort"> - <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listData, getData, delData, addData, updateData, exportData } from "@/api/system/dict/data"; -import { listType, getType } from "@/api/system/dict/type"; - -export default { - name: "Data", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 瀛楀吀琛ㄦ牸鏁版嵁 - dataList: [], - // 榛樿瀛楀吀绫诲瀷 - defaultDictType: "", - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 绫诲瀷鏁版嵁瀛楀吀 - typeOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - dictName: undefined, - dictType: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - dictLabel: [ - { required: true, message: "鏁版嵁鏍囩涓嶈兘涓虹┖", trigger: "blur" } - ], - dictValue: [ - { required: true, message: "鏁版嵁閿�间笉鑳戒负绌�", trigger: "blur" } - ], - dictSort: [ - { required: true, message: "鏁版嵁椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - const dictId = this.$route.params && this.$route.params.dictId; - this.getType(dictId); - this.getTypeList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ瀛楀吀绫诲瀷璇︾粏 */ - getType(dictId) { - getType(dictId).then(response => { - this.queryParams.dictType = response.data.dictType; - this.defaultDictType = response.data.dictType; - this.getList(); - }); - }, - /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ - getTypeList() { - listType().then(response => { - this.typeOptions = response.rows; - }); - }, - /** 鏌ヨ瀛楀吀鏁版嵁鍒楄〃 */ - getList() { - this.loading = true; - listData(this.queryParams).then(response => { - this.dataList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鏁版嵁鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - dictCode: undefined, - dictLabel: undefined, - dictValue: undefined, - dictSort: 0, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.queryParams.dictType = this.defaultDictType; - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞瀛楀吀鏁版嵁"; - this.form.dictType = this.queryParams.dictType; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.dictCode) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const dictCode = row.dictCode || this.ids - getData(dictCode).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼瀛楀吀鏁版嵁"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.dictCode != undefined) { - updateData(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addData(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const dictCodes = row.dictCode || this.ids; - this.$confirm('鏄惁纭鍒犻櫎瀛楀吀缂栫爜涓�"' + dictCodes + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delData(dictCodes); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夋暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportData(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/dict/index.vue b/ruoyi-ui/src/views/system/dict/index.vue deleted file mode 100644 index 44ca109..0000000 --- a/ruoyi-ui/src/views/system/dict/index.vue +++ /dev/null @@ -1,350 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictName"> - <el-input - v-model="queryParams.dictName" - placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="瀛楀吀绫诲瀷" prop="dictType"> - <el-input - v-model="queryParams.dictType" - placeholder="璇疯緭鍏ュ瓧鍏哥被鍨�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="瀛楀吀鐘舵��" - clearable - size="small" - style="width: 240px" - > - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dict:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:dict:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瀛楀吀缂栧彿" align="center" prop="dictId" /> - <el-table-column label="瀛楀吀鍚嶇О" align="center" prop="dictName" :show-overflow-tooltip="true" /> - <el-table-column label="瀛楀吀绫诲瀷" align="center" :show-overflow-tooltip="true"> - <template slot-scope="scope"> - <router-link :to="'/dict/type/data/' + scope.row.dictId" class="link-type"> - <span>{{ scope.row.dictType }}</span> - </router-link> - </template> - </el-table-column> - <el-table-column label="鐘舵��" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dict:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dict:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="瀛楀吀鍚嶇О" prop="dictName"> - <el-input v-model="form.dictName" placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" /> - </el-form-item> - <el-form-item label="瀛楀吀绫诲瀷" prop="dictType"> - <el-input v-model="form.dictType" placeholder="璇疯緭鍏ュ瓧鍏哥被鍨�" /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listType, getType, delType, addType, updateType, exportType } from "@/api/system/dict/type"; - -export default { - name: "Dict", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 瀛楀吀琛ㄦ牸鏁版嵁 - typeList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - dictName: undefined, - dictType: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - dictName: [ - { required: true, message: "瀛楀吀鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - dictType: [ - { required: true, message: "瀛楀吀绫诲瀷涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ瀛楀吀绫诲瀷鍒楄〃 */ - getList() { - this.loading = true; - listType(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.typeList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 瀛楀吀鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - dictId: undefined, - dictName: undefined, - dictType: undefined, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞瀛楀吀绫诲瀷"; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.dictId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const dictId = row.dictId || this.ids - getType(dictId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼瀛楀吀绫诲瀷"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.dictId != undefined) { - updateType(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addType(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const dictIds = row.dictId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎瀛楀吀缂栧彿涓�"' + dictIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delType(dictIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夌被鍨嬫暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportType(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/log/index.vue b/ruoyi-ui/src/views/system/log/index.vue deleted file mode 100644 index ad6360c..0000000 --- a/ruoyi-ui/src/views/system/log/index.vue +++ /dev/null @@ -1,3 +0,0 @@ -<template > - <router-view /> -</template> diff --git a/ruoyi-ui/src/views/system/menu/index.vue b/ruoyi-ui/src/views/system/menu/index.vue deleted file mode 100644 index b1a5cdb..0000000 --- a/ruoyi-ui/src/views/system/menu/index.vue +++ /dev/null @@ -1,337 +0,0 @@ -<template> - <div class="app-container"> - <el-form :inline="true"> - <el-form-item label="鑿滃崟鍚嶇О"> - <el-input - v-model="queryParams.menuName" - placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��"> - <el-select v-model="queryParams.visible" placeholder="鑿滃崟鐘舵��" clearable size="small"> - <el-option - v-for="dict in visibleOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:menu:add']">鏂板</el-button> - </el-form-item> - </el-form> - - <el-table - v-loading="loading" - :data="menuList" - row-key="menuId" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}" - > - <el-table-column prop="menuName" label="鑿滃崟鍚嶇О" :show-overflow-tooltip="true" width="130px"></el-table-column> - <el-table-column prop="icon" label="鍥炬爣" align="center" width="100px"> - <template slot-scope="scope"> - <svg-icon :icon-class="scope.row.icon" /> - </template> - </el-table-column> - <el-table-column prop="orderNum" label="鎺掑簭" width="60px"></el-table-column> - <el-table-column prop="perms" label="鏉冮檺鏍囪瘑" width="130px" :show-overflow-tooltip="true"></el-table-column> - <el-table-column prop="component" label="缁勪欢璺緞" width="180px" :show-overflow-tooltip="true"></el-table-column> - <el-table-column prop="visible" label="鍙" :formatter="visibleFormat" width="80px"></el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="180" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:menu:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-plus" - @click="handleAdd(scope.row)" - v-hasPermi="['system:menu:add']" - >鏂板</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:menu:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <!-- 娣诲姞鎴栦慨鏀硅彍鍗曞璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="600px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="24"> - <el-form-item label="涓婄骇鑿滃崟"> - <treeselect - v-model="form.parentId" - :options="menuOptions" - :show-count="true" - placeholder="閫夋嫨涓婄骇鑿滃崟" - /> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鑿滃崟绫诲瀷" prop="menuType"> - <el-radio-group v-model="form.menuType"> - <el-radio label="M">鐩綍</el-radio> - <el-radio label="C">鑿滃崟</el-radio> - <el-radio label="F">鎸夐挳</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item v-if="form.menuType != 'F'" label="鑿滃崟鍥炬爣"> - <el-popover - placement="bottom-start" - width="460" - trigger="click" - @show="$refs['iconSelect'].reset()" - > - <IconSelect ref="iconSelect" @selected="selected" /> - <el-input slot="reference" v-model="form.icon" placeholder="鐐瑰嚮閫夋嫨鍥炬爣" readonly> - <svg-icon - v-if="form.icon" - slot="prefix" - :icon-class="form.icon" - class="el-input__icon" - style="height: 32px;width: 16px;" - /> - <i v-else slot="prefix" class="el-icon-search el-input__icon" /> - </el-input> - </el-popover> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鑿滃崟鍚嶇О" prop="menuName"> - <el-input v-model="form.menuName" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄剧ず鎺掑簭" prop="orderNum"> - <el-input-number v-model="form.orderNum" controls-position="right" :min="0" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item v-if="form.menuType != 'F'" label="鏄惁澶栭摼"> - <el-radio-group v-model="form.isFrame"> - <el-radio label="0">鏄�</el-radio> - <el-radio label="1">鍚�</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item v-if="form.menuType != 'F'" label="璺敱鍦板潃" prop="path"> - <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ矾鐢卞湴鍧�" /> - </el-form-item> - </el-col> - <el-col :span="12" v-if="form.menuType == 'C'"> - <el-form-item label="缁勪欢璺緞" prop="component"> - <el-input v-model="form.component" placeholder="璇疯緭鍏ョ粍浠惰矾寰�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item v-if="form.menuType != 'M'" label="鏉冮檺鏍囪瘑"> - <el-input v-model="form.perms" placeholder="璇锋潈闄愭爣璇�" maxlength="50" /> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item v-if="form.menuType != 'F'" label="鑿滃崟鐘舵��"> - <el-radio-group v-model="form.visible"> - <el-radio - v-for="dict in visibleOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listMenu, getMenu, treeselect, delMenu, addMenu, updateMenu } from "@/api/system/menu"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import IconSelect from "@/components/IconSelect"; - -export default { - name: "Menu", - components: { Treeselect, IconSelect }, - data() { - return { - // 閬僵灞� - loading: true, - // 鑿滃崟琛ㄦ牸鏍戞暟鎹� - menuList: [], - // 鑿滃崟鏍戦�夐」 - menuOptions: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鑿滃崟鐘舵�佹暟鎹瓧鍏� - visibleOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - menuName: undefined, - visible: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - menuName: [ - { required: true, message: "鑿滃崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - orderNum: [ - { required: true, message: "鑿滃崟椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_show_hide").then(response => { - this.visibleOptions = response.data; - }); - }, - methods: { - // 閫夋嫨鍥炬爣 - selected(name) { - this.form.icon = name; - }, - /** 鏌ヨ鑿滃崟鍒楄〃 */ - getList() { - this.loading = true; - listMenu(this.queryParams).then(response => { - this.menuList = response.data; - this.loading = false; - }); - }, - /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */ - getTreeselect() { - treeselect().then(response => { - this.menuOptions = []; - const menu = { id: 0, label: '涓荤被鐩�', children: [] }; - menu.children = response.data; - this.menuOptions.push(menu); - }); - }, - // 鑿滃崟鏄剧ず鐘舵�佸瓧鍏哥炕璇� - visibleFormat(row, column) { - if (row.menuType == "F") { - return ""; - } - return this.selectDictLabel(this.visibleOptions, row.visible); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - menuId: undefined, - parentId: 0, - menuName: undefined, - icon: undefined, - menuType: "M", - orderNum: undefined, - isFrame: "1", - visible: "0" - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.getList(); - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd(row) { - this.reset(); - this.getTreeselect(); - if (row != null) { - this.form.parentId = row.menuId; - } - this.open = true; - this.title = "娣诲姞鑿滃崟"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.getTreeselect(); - getMenu(row.menuId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼鑿滃崟"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.menuId != undefined) { - updateMenu(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addMenu(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - this.$confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.menuName + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delMenu(row.menuId); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/notice/index.vue b/ruoyi-ui/src/views/system/notice/index.vue deleted file mode 100644 index 404bec3..0000000 --- a/ruoyi-ui/src/views/system/notice/index.vue +++ /dev/null @@ -1,345 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="鍏憡鏍囬" prop="noticeTitle"> - <el-input - v-model="queryParams.noticeTitle" - placeholder="璇疯緭鍏ュ叕鍛婃爣棰�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎿嶄綔浜哄憳" prop="createBy"> - <el-input - v-model="queryParams.createBy" - placeholder="璇疯緭鍏ユ搷浣滀汉鍛�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="绫诲瀷" prop="noticeType"> - <el-select v-model="queryParams.noticeType" placeholder="鍏憡绫诲瀷" clearable size="small"> - <el-option - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:notice:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:notice:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:notice:remove']" - >鍒犻櫎</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="搴忓彿" align="center" prop="noticeId" width="100" /> - <el-table-column - label="鍏憡鏍囬" - align="center" - prop="noticeTitle" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍏憡绫诲瀷" - align="center" - prop="noticeType" - :formatter="typeFormat" - width="100" - /> - <el-table-column - label="鐘舵��" - align="center" - prop="status" - :formatter="statusFormat" - width="100" - /> - <el-table-column label="鍒涘缓鑰�" align="center" prop="createBy" width="100" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="100"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:notice:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:notice:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰叕鍛婂璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="780px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="12"> - <el-form-item label="鍏憡鏍囬" prop="noticeTitle"> - <el-input v-model="form.noticeTitle" placeholder="璇疯緭鍏ュ叕鍛婃爣棰�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍏憡绫诲瀷" prop="noticeType"> - <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨"> - <el-option - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="鍐呭"> - <Editor v-model="form.noticeContent" /> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer" style="padding-top:20px"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listNotice, getNotice, delNotice, addNotice, updateNotice, exportNotice } from "@/api/system/notice"; -import Editor from '@/components/Editor'; - -export default { - name: "Notice", - components: { - Editor - }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 鍏憡琛ㄦ牸鏁版嵁 - noticeList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 绫诲瀷鏁版嵁瀛楀吀 - statusOptions: [], - // 鐘舵�佹暟鎹瓧鍏� - typeOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - noticeTitle: undefined, - createBy: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - noticeTitle: [ - { required: true, message: "鍏憡鏍囬涓嶈兘涓虹┖", trigger: "blur" } - ], - noticeType: [ - { required: true, message: "鍏憡绫诲瀷涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_notice_status").then(response => { - this.statusOptions = response.data; - }); - this.getDicts("sys_notice_type").then(response => { - this.typeOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ鍏憡鍒楄〃 */ - getList() { - this.loading = true; - listNotice(this.queryParams).then(response => { - this.noticeList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鍏憡鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鍏憡鐘舵�佸瓧鍏哥炕璇� - typeFormat(row, column) { - return this.selectDictLabel(this.typeOptions, row.noticeType); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - noticeId: undefined, - noticeTitle: undefined, - noticeType: undefined, - noticeContent: undefined, - status: "0" - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.noticeId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞鍏憡"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const noticeId = row.noticeId || this.ids - getNotice(noticeId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼鍏憡"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.noticeId != undefined) { - updateNotice(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addNotice(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const noticeIds = row.noticeId || this.ids - this.$confirm('鏄惁纭鍒犻櫎鍏憡缂栧彿涓�"' + noticeIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delNotice(noticeIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/post/index.vue b/ruoyi-ui/src/views/system/post/index.vue deleted file mode 100644 index ffd3f42..0000000 --- a/ruoyi-ui/src/views/system/post/index.vue +++ /dev/null @@ -1,327 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="宀椾綅缂栫爜" prop="postCode"> - <el-input - v-model="queryParams.postCode" - placeholder="璇疯緭鍏ュ矖浣嶇紪鐮�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="宀椾綅鍚嶇О" prop="postName"> - <el-input - v-model="queryParams.postName" - placeholder="璇疯緭鍏ュ矖浣嶅悕绉�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="宀椾綅鐘舵��" clearable size="small"> - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:post:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:post:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:post:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:post:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="宀椾綅缂栧彿" align="center" prop="postId" /> - <el-table-column label="宀椾綅缂栫爜" align="center" prop="postCode" /> - <el-table-column label="宀椾綅鍚嶇О" align="center" prop="postName" /> - <el-table-column label="宀椾綅鎺掑簭" align="center" prop="postSort" /> - <el-table-column label="鐘舵��" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:post:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:post:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀瑰矖浣嶅璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="宀椾綅鍚嶇О" prop="postName"> - <el-input v-model="form.postName" placeholder="璇疯緭鍏ュ矖浣嶅悕绉�" /> - </el-form-item> - <el-form-item label="宀椾綅缂栫爜" prop="postCode"> - <el-input v-model="form.postCode" placeholder="璇疯緭鍏ョ紪鐮佸悕绉�" /> - </el-form-item> - <el-form-item label="宀椾綅椤哄簭" prop="postSort"> - <el-input-number v-model="form.postSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="宀椾綅鐘舵��" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="澶囨敞" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listPost, getPost, delPost, addPost, updatePost, exportPost } from "@/api/system/post"; - -export default { - name: "Post", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 宀椾綅琛ㄦ牸鏁版嵁 - postList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - postCode: undefined, - postName: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - // 琛ㄥ崟鏍¢獙 - rules: { - postName: [ - { required: true, message: "宀椾綅鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - postCode: [ - { required: true, message: "宀椾綅缂栫爜涓嶈兘涓虹┖", trigger: "blur" } - ], - postSort: [ - { required: true, message: "宀椾綅椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ宀椾綅鍒楄〃 */ - getList() { - this.loading = true; - listPost(this.queryParams).then(response => { - this.postList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 宀椾綅鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - postId: undefined, - postCode: undefined, - postName: undefined, - postSort: 0, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.postId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "娣诲姞宀椾綅"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const postId = row.postId || this.ids - getPost(postId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼宀椾綅"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.postId != undefined) { - updatePost(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addPost(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const postIds = row.postId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎宀椾綅缂栧彿涓�"' + postIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delPost(postIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夊矖浣嶆暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportPost(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue deleted file mode 100644 index 49152bb..0000000 --- a/ruoyi-ui/src/views/system/role/index.vue +++ /dev/null @@ -1,548 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true"> - <el-form-item label="瑙掕壊鍚嶇О" prop="roleName"> - <el-input - v-model="queryParams.roleName" - placeholder="璇疯緭鍏ヨ鑹插悕绉�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鏉冮檺瀛楃" prop="roleKey"> - <el-input - v-model="queryParams.roleKey" - placeholder="璇疯緭鍏ユ潈闄愬瓧绗�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="瑙掕壊鐘舵��" - clearable - size="small" - style="width: 240px" - > - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:role:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:post:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" /> - <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true" width="150" /> - <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="150" /> - <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="100" /> - <el-table-column label="鐘舵��" align="center" width="100"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-circle-check" - @click="handleDataScope(scope.row)" - v-hasPermi="['system:role:edit']" - >鏁版嵁鏉冮檺</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 娣诲姞鎴栦慨鏀硅鑹查厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="瑙掕壊鍚嶇О" prop="roleName"> - <el-input v-model="form.roleName" placeholder="璇疯緭鍏ヨ鑹插悕绉�" /> - </el-form-item> - <el-form-item label="鏉冮檺瀛楃" prop="roleKey"> - <el-input v-model="form.roleKey" placeholder="璇疯緭鍏ユ潈闄愬瓧绗�" /> - </el-form-item> - <el-form-item label="瑙掕壊椤哄簭" prop="roleSort"> - <el-input-number v-model="form.roleSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="鑿滃崟鏉冮檺"> - <el-tree - :data="menuOptions" - show-checkbox - ref="menu" - node-key="id" - empty-text="鍔犺浇涓紝璇风◢鍚�" - :props="defaultProps" - ></el-tree> - </el-form-item> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="openDataScope" width="500px"> - <el-form :model="form" label-width="80px"> - <el-form-item label="瑙掕壊鍚嶇О"> - <el-input v-model="form.roleName" :disabled="true" /> - </el-form-item> - <el-form-item label="鏉冮檺瀛楃"> - <el-input v-model="form.roleKey" :disabled="true" /> - </el-form-item> - <el-form-item label="鏉冮檺鑼冨洿"> - <el-select v-model="form.dataScope"> - <el-option - v-for="item in dataScopeOptions" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="鏁版嵁鏉冮檺" v-show="form.dataScope == 2"> - <el-tree - :data="deptOptions" - show-checkbox - default-expand-all - ref="dept" - node-key="id" - empty-text="鍔犺浇涓紝璇风◢鍚�" - :props="defaultProps" - ></el-tree> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataScope">纭� 瀹�</el-button> - <el-button @click="cancelDataScope">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope, changeRoleStatus } from "@/api/system/role"; -import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; -import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/dept"; - -export default { - name: "Role", - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 瑙掕壊琛ㄦ牸鏁版嵁 - roleList: [], - // 寮瑰嚭灞傛爣棰� - title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛� - openDataScope: false, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 鏁版嵁鑼冨洿閫夐」 - dataScopeOptions: [ - { - value: "1", - label: "鍏ㄩ儴鏁版嵁鏉冮檺" - }, - { - value: "2", - label: "鑷畾鏁版嵁鏉冮檺" - }, - { - value: "3", - label: "鏈儴闂ㄦ暟鎹潈闄�" - }, - { - value: "4", - label: "鏈儴闂ㄥ強浠ヤ笅鏁版嵁鏉冮檺" - }, - { - value: "5", - label: "浠呮湰浜烘暟鎹潈闄�" - } - ], - // 鑿滃崟鍒楄〃 - menuOptions: [], - // 閮ㄩ棬鍒楄〃 - deptOptions: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - roleName: undefined, - roleKey: undefined, - status: undefined - }, - // 琛ㄥ崟鍙傛暟 - form: {}, - defaultProps: { - children: "children", - label: "label" - }, - // 琛ㄥ崟鏍¢獙 - rules: { - roleName: [ - { required: true, message: "瑙掕壊鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - roleKey: [ - { required: true, message: "鏉冮檺瀛楃涓嶈兘涓虹┖", trigger: "blur" } - ], - roleSort: [ - { required: true, message: "瑙掕壊椤哄簭涓嶈兘涓虹┖", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 鏌ヨ瑙掕壊鍒楄〃 */ - getList() { - this.loading = true; - listRole(this.addDateRange(this.queryParams, this.dateRange)).then( - response => { - this.roleList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - /** 鏌ヨ鑿滃崟鏍戠粨鏋� */ - getMenuTreeselect() { - menuTreeselect().then(response => { - this.menuOptions = response.data; - }); - }, - /** 鏌ヨ閮ㄩ棬鏍戠粨鏋� */ - getDeptTreeselect() { - deptTreeselect().then(response => { - this.deptOptions = response.data; - }); - }, - // 鎵�鏈夎彍鍗曡妭鐐规暟鎹� - getMenuAllCheckedKeys() { - // 鐩墠琚�変腑鐨勮彍鍗曡妭鐐� - let checkedKeys = this.$refs.menu.getHalfCheckedKeys(); - // 鍗婇�変腑鐨勮彍鍗曡妭鐐� - let halfCheckedKeys = this.$refs.menu.getCheckedKeys(); - checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys); - return checkedKeys; - }, - // 鎵�鏈夐儴闂ㄨ妭鐐规暟鎹� - getDeptAllCheckedKeys() { - // 鐩墠琚�変腑鐨勯儴闂ㄨ妭鐐� - let checkedKeys = this.$refs.dept.getHalfCheckedKeys(); - // 鍗婇�変腑鐨勯儴闂ㄨ妭鐐� - let halfCheckedKeys = this.$refs.dept.getCheckedKeys(); - checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys); - return checkedKeys; - }, - /** 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戠粨鏋� */ - getRoleMenuTreeselect(roleId) { - roleMenuTreeselect(roleId).then(response => { - this.menuOptions = response.menus; - this.$refs.menu.setCheckedKeys(response.checkedKeys); - }); - }, - /** 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戠粨鏋� */ - getRoleDeptTreeselect(roleId) { - roleDeptTreeselect(roleId).then(response => { - this.deptOptions = response.depts; - this.$refs.dept.setCheckedKeys(response.checkedKeys); - }); - }, - // 瑙掕壊鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$confirm('纭瑕�"' + text + '""' + row.roleName + '"瑙掕壊鍚�?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return changeRoleStatus(row.roleId, row.status); - }).then(() => { - this.msgSuccess(text + "鎴愬姛"); - }).catch(function() { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 鍙栨秷鎸夐挳锛堟暟鎹潈闄愶級 - cancelDataScope() { - this.openDataScope = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - if (this.$refs.menu != undefined) { - this.$refs.menu.setCheckedKeys([]); - } - this.form = { - roleId: undefined, - roleName: undefined, - roleKey: undefined, - roleSort: 0, - status: "0", - menuIds: [], - deptIds: [], - remark: undefined - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.roleId) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.getMenuTreeselect(); - this.open = true; - this.title = "娣诲姞瑙掕壊"; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const roleId = row.roleId || this.ids - this.$nextTick(() => { - this.getRoleMenuTreeselect(roleId); - }); - getRole(roleId).then(response => { - this.form = response.data; - this.open = true; - this.title = "淇敼瑙掕壊"; - }); - }, - /** 鍒嗛厤鏁版嵁鏉冮檺鎿嶄綔 */ - handleDataScope(row) { - this.reset(); - this.$nextTick(() => { - this.getRoleDeptTreeselect(row.roleId); - }); - getRole(row.roleId).then(response => { - this.form = response.data; - this.openDataScope = true; - this.title = "鍒嗛厤鏁版嵁鏉冮檺"; - }); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.roleId != undefined) { - this.form.menuIds = this.getMenuAllCheckedKeys(); - updateRole(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - this.form.menuIds = this.getMenuAllCheckedKeys(); - addRole(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ - submitDataScope: function() { - if (this.form.roleId != undefined) { - this.form.deptIds = this.getDeptAllCheckedKeys(); - dataScope(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.openDataScope = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const roleIds = row.roleId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎瑙掕壊缂栧彿涓�"' + roleIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delRole(roleIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夎鑹叉暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportRole(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue deleted file mode 100644 index d2cdb84..0000000 --- a/ruoyi-ui/src/views/system/user/index.vue +++ /dev/null @@ -1,663 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--閮ㄩ棬鏁版嵁--> - <el-col :span="4" :xs="24"> - <div class="head-container"> - <el-input - v-model="deptName" - placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" - clearable - size="small" - prefix-icon="el-icon-search" - style="margin-bottom: 20px" - /> - </div> - <div class="head-container"> - <el-tree - :data="deptOptions" - :props="defaultProps" - :expand-on-click-node="false" - :filter-node-method="filterNode" - ref="tree" - default-expand-all - @node-click="handleNodeClick" - /> - </div> - </el-col> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="20" :xs="24"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input - v-model="queryParams.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" - clearable - size="small" - style="width: 240px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鐘舵��" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="鐢ㄦ埛鐘舵��" - clearable - size="small" - style="width: 240px" - > - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - icon="el-icon-upload2" - size="mini" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="40" align="center" /> - <el-table-column label="鐢ㄦ埛缂栧彿" align="center" prop="userId" /> - <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" :show-overflow-tooltip="true" /> - <el-table-column label="鐢ㄦ埛鏄电О" align="center" prop="nickName" :show-overflow-tooltip="true" /> - <el-table-column label="閮ㄩ棬" align="center" prop="dept.deptName" :show-overflow-tooltip="true" /> - <el-table-column label="鎵嬫満鍙风爜" align="center" prop="phonenumber" width="120" /> - <el-table-column label="鐘舵��" align="center"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="160"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="180" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - >淇敼</el-button> - <el-button - v-if="scope.row.userId !== 1" - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-key" - @click="handleResetPwd(scope.row)" - v-hasPermi="['system:user:resetPwd']" - >閲嶇疆</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="600px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-row> - <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId"> - <treeselect v-model="form.deptId" :options="deptOptions" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input v-model="form.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="11" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="閭" prop="email"> - <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛瀵嗙爜" prop="password"> - <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鎬у埆"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> - <el-option - v-for="dict in sexOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item label="宀椾綅"> - <el-select v-model="form.postIds" multiple placeholder="璇烽�夋嫨"> - <el-option - v-for="item in postOptions" - :key="item.postId" - :label="item.postName" - :value="item.postId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="瑙掕壊"> - <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨"> - <el-option - v-for="item in roleOptions" - :key="item.roleId" - :label="item.roleName" - :value="item.roleId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px"> - <el-upload - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text"> - 灏嗘枃浠舵嫋鍒版澶勶紝鎴� - <em>鐐瑰嚮涓婁紶</em> - </div> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" />鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - <el-link type="info" style="font-size:12px" @click="importTemplate">涓嬭浇妯℃澘</el-link> - </div> - <div class="el-upload__tip" style="color:red" slot="tip">鎻愮ず锛氫粎鍏佽瀵煎叆鈥渪ls鈥濇垨鈥渪lsx鈥濇牸寮忔枃浠讹紒</div> - </el-upload> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> - <el-button @click="upload.open = false">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listUser, getUser, delUser, addUser, updateUser, exportUser, resetUserPwd, changeUserStatus, importTemplate } from "@/api/system/user"; -import { getToken } from "@/utils/auth"; -import { treeselect } from "@/api/system/dept"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 鐘舵�佹暟鎹瓧鍏� - statusOptions: [], - // 鎬у埆鐘舵�佸瓧鍏� - sexOptions: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - defaultProps: { - children: "children", - label: "label" - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData" - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined - }, - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" } - ], - deptId: [ - { required: true, message: "褰掑睘閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" } - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" } - ], - email: [ - { - type: "email", - message: "'璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"] - } - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur" - } - ] - } - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - } - }, - created() { - this.getList(); - this.getTreeselect(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - this.getDicts("sys_user_sex").then(response => { - this.sexOptions = response.data; - }); - this.getConfigKey("sys.user.initPassword").then(response => { - this.initPassword = response.data; - }); - }, - methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ - getList() { - this.loading = true; - listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getTreeselect() { - treeselect().then(response => { - this.deptOptions = response.data; - }); - }, - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.getList(); - }, - // 鐢ㄦ埛鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚�?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return changeUserStatus(row.userId, row.status); - }).then(() => { - this.msgSuccess(text + "鎴愬姛"); - }).catch(function() { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [] - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.page = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.getTreeselect(); - getUser().then(response => { - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.open = true; - this.title = "娣诲姞鐢ㄦ埛"; - this.form.password = this.initPassword; - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.getTreeselect(); - const userId = row.userId || this.ids; - getUser(userId).then(response => { - this.form = response.data; - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.form.postIds = response.postIds; - this.form.roleIds = response.roleIds; - this.open = true; - this.title = "淇敼鐢ㄦ埛"; - this.form.password = ""; - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷" - }).then(({ value }) => { - resetUserPwd(row.userId, value).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - } else { - this.msgError(response.msg); - } - }); - }).catch(() => {}); - }, - /** 鎻愪氦鎸夐挳 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.userId != undefined) { - updateUser(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addUser(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delUser(userIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夌敤鎴锋暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return exportUser(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - importTemplate().then(response => { - this.download(response.msg); - }); - }, - // 鏂囦欢涓婁紶涓鐞� - handleFileUploadProgress(event, file, fileList) { - this.upload.isUploading = true; - }, - // 鏂囦欢涓婁紶鎴愬姛澶勭悊 - handleFileSuccess(response, file, fileList) { - this.upload.open = false; - this.upload.isUploading = false; - this.$refs.upload.clearFiles(); - this.$alert(response.msg, "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true }); - this.getList(); - }, - // 鎻愪氦涓婁紶鏂囦欢 - submitFileForm() { - this.$refs.upload.submit(); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/user/profile/index.vue b/ruoyi-ui/src/views/system/user/profile/index.vue deleted file mode 100644 index 7aff197..0000000 --- a/ruoyi-ui/src/views/system/user/profile/index.vue +++ /dev/null @@ -1,91 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <el-col :span="6" :xs="24"> - <el-card class="box-card"> - <div slot="header" class="clearfix"> - <span>涓汉淇℃伅</span> - </div> - <div> - <div class="text-center"> - <userAvatar :user="user" /> - </div> - <ul class="list-group list-group-striped"> - <li class="list-group-item"> - <svg-icon icon-class="user" />鐢ㄦ埛鍚嶇О - <div class="pull-right">{{ user.userName }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="phone" />鎵嬫満鍙风爜 - <div class="pull-right">{{ user.phonenumber }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="email" />鐢ㄦ埛閭 - <div class="pull-right">{{ user.email }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="tree" />鎵�灞為儴闂� - <div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="peoples" />鎵�灞炶鑹� - <div class="pull-right">{{ roleGroup }}</div> - </li> - <li class="list-group-item"> - <svg-icon icon-class="date" />鍒涘缓鏃ユ湡 - <div class="pull-right">2018-08-23 09:11:56</div> - </li> - </ul> - </div> - </el-card> - </el-col> - <el-col :span="18" :xs="24"> - <el-card> - <div slot="header" class="clearfix"> - <span>鍩烘湰璧勬枡</span> - </div> - <el-tabs v-model="activeTab"> - <el-tab-pane label="鍩烘湰璧勬枡" name="userinfo"> - <userInfo :user="user" /> - </el-tab-pane> - <el-tab-pane label="淇敼瀵嗙爜" name="resetPwd"> - <resetPwd :user="user" /> - </el-tab-pane> - </el-tabs> - </el-card> - </el-col> - </el-row> - </div> -</template> - -<script> -import userAvatar from "./userAvatar"; -import userInfo from "./userInfo"; -import resetPwd from "./resetPwd"; -import { getUserProfile } from "@/api/system/user"; - -export default { - name: "Profile", - components: { userAvatar, userInfo, resetPwd }, - data() { - return { - user: {}, - roleGroup: {}, - postGroup: {}, - activeTab: "userinfo" - }; - }, - created() { - this.getUser(); - }, - methods: { - getUser() { - getUserProfile().then(response => { - this.user = response.data; - this.roleGroup = response.roleGroup; - this.postGroup = response.postGroup; - }); - } - } -}; -</script> diff --git a/ruoyi-ui/src/views/system/user/profile/resetPwd.vue b/ruoyi-ui/src/views/system/user/profile/resetPwd.vue deleted file mode 100644 index 380e168..0000000 --- a/ruoyi-ui/src/views/system/user/profile/resetPwd.vue +++ /dev/null @@ -1,76 +0,0 @@ -<template> - <el-form ref="form" :model="user" :rules="rules" label-width="80px"> - <el-form-item label="鏃у瘑鐮�" prop="oldPassword"> - <el-input v-model="user.oldPassword" placeholder="璇疯緭鍏ユ棫瀵嗙爜" type="password" /> - </el-form-item> - <el-form-item label="鏂板瘑鐮�" prop="newPassword"> - <el-input v-model="user.newPassword" placeholder="璇疯緭鍏ユ柊瀵嗙爜" type="password" /> - </el-form-item> - <el-form-item label="纭瀵嗙爜" prop="confirmPassword"> - <el-input v-model="user.confirmPassword" placeholder="璇风‘璁ゅ瘑鐮�" type="password" /> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> - <el-button type="danger" size="mini" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> - -<script> -import { updateUserPwd } from "@/api/system/user"; - -export default { - data() { - const equalToPassword = (rule, value, callback) => { - if (this.user.newPassword !== value) { - callback(new Error("涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�")); - } else { - callback(); - } - }; - return { - test: "1test", - user: { - oldPassword: undefined, - newPassword: undefined, - confirmPassword: undefined - }, - // 琛ㄥ崟鏍¢獙 - rules: { - oldPassword: [ - { required: true, message: "鏃у瘑鐮佷笉鑳戒负绌�", trigger: "blur" } - ], - newPassword: [ - { required: true, message: "鏂板瘑鐮佷笉鑳戒负绌�", trigger: "blur" }, - { min: 6, max: 20, message: "闀垮害鍦� 6 鍒� 20 涓瓧绗�", trigger: "blur" } - ], - confirmPassword: [ - { required: true, message: "纭瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { required: true, validator: equalToPassword, trigger: "blur" } - ] - } - }; - }, - methods: { - submit() { - this.$refs["form"].validate(valid => { - if (valid) { - updateUserPwd(this.user.oldPassword, this.user.newPassword).then( - response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - } else { - this.msgError(response.msg); - } - } - ); - } - }); - }, - close() { - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.push({ path: "/index" }); - } - } -}; -</script> diff --git a/ruoyi-ui/src/views/system/user/profile/userAvatar.vue b/ruoyi-ui/src/views/system/user/profile/userAvatar.vue deleted file mode 100644 index f9a4e74..0000000 --- a/ruoyi-ui/src/views/system/user/profile/userAvatar.vue +++ /dev/null @@ -1,138 +0,0 @@ -<template> - <div> - <img v-bind:src="options.img" @click="editCropper()" title="鐐瑰嚮涓婁紶澶村儚" class="img-circle img-lg" /> - <el-dialog :title="title" :visible.sync="open" width="800px"> - <el-row> - <el-col :xs="24" :md="12" :style="{height: '350px'}"> - <vue-cropper - ref="cropper" - :img="options.img" - :info="true" - :autoCrop="options.autoCrop" - :autoCropWidth="options.autoCropWidth" - :autoCropHeight="options.autoCropHeight" - :fixedBox="options.fixedBox" - @realTime="realTime" - /> - </el-col> - <el-col :xs="24" :md="12" :style="{height: '350px'}"> - <div class="avatar-upload-preview"> - <img :src="previews.url" :style="previews.img" /> - </div> - </el-col> - </el-row> - <br /> - <el-row> - <el-col :lg="2" :md="2"> - <el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload"> - <el-button size="small"> - 涓婁紶 - <i class="el-icon-upload el-icon--right"></i> - </el-button> - </el-upload> - </el-col> - <el-col :lg="{span: 1, offset: 2}" :md="2"> - <el-button icon="el-icon-plus" size="small" @click="changeScale(1)"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :md="2"> - <el-button icon="el-icon-minus" size="small" @click="changeScale(-1)"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :md="2"> - <el-button icon="el-icon-refresh-left" size="small" @click="rotateLeft()"></el-button> - </el-col> - <el-col :lg="{span: 1, offset: 1}" :md="2"> - <el-button icon="el-icon-refresh-right" size="small" @click="rotateRight()"></el-button> - </el-col> - <el-col :lg="{span: 2, offset: 6}" :md="2"> - <el-button type="primary" size="small" @click="uploadImg()">鎻� 浜�</el-button> - </el-col> - </el-row> - </el-dialog> - </div> -</template> - -<script> -import store from "@/store"; -import { VueCropper } from "vue-cropper"; -import { uploadAvatar } from "@/api/system/user"; - -export default { - components: { VueCropper }, - props: { - user: { - type: Object - } - }, - data() { - return { - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 寮瑰嚭灞傛爣棰� - title: "淇敼澶村儚", - options: { - img: store.getters.avatar, //瑁佸壀鍥剧墖鐨勫湴鍧� - autoCrop: true, // 鏄惁榛樿鐢熸垚鎴浘妗� - autoCropWidth: 200, // 榛樿鐢熸垚鎴浘妗嗗搴� - autoCropHeight: 200, // 榛樿鐢熸垚鎴浘妗嗛珮搴� - fixedBox: true // 鍥哄畾鎴浘妗嗗ぇ灏� 涓嶅厑璁告敼鍙� - }, - previews: {} - }; - }, - methods: { - // 缂栬緫澶村儚 - editCropper() { - this.open = true; - }, - // 瑕嗙洊榛樿鐨勪笂浼犺涓� - requestUpload() { - }, - // 鍚戝乏鏃嬭浆 - rotateLeft() { - this.$refs.cropper.rotateLeft(); - }, - // 鍚戝彸鏃嬭浆 - rotateRight() { - this.$refs.cropper.rotateRight(); - }, - // 鍥剧墖缂╂斁 - changeScale(num) { - num = num || 1; - this.$refs.cropper.changeScale(num); - }, - // 涓婁紶棰勫鐞� - beforeUpload(file) { - if (file.type.indexOf("image/") == -1) { - this.msgError("鏂囦欢鏍煎紡閿欒锛岃涓婁紶鍥剧墖绫诲瀷,濡傦細JPG锛孭NG鍚庣紑鐨勬枃浠躲��"); - } else { - const reader = new FileReader(); - reader.readAsDataURL(file); - reader.onload = () => { - this.options.img = reader.result; - }; - } - }, - // 涓婁紶鍥剧墖 - uploadImg() { - this.$refs.cropper.getCropBlob(data => { - let formData = new FormData(); - formData.append("avatarfile", data); - uploadAvatar(formData).then(response => { - if (response.code === 200) { - this.open = false; - this.options.img = process.env.VUE_APP_BASE_API + response.imgUrl; - this.msgSuccess("淇敼鎴愬姛"); - } else { - this.msgError(response.msg); - } - this.$refs.cropper.clearCrop(); - }); - }); - }, - // 瀹炴椂棰勮 - realTime(data) { - this.previews = data; - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/user/profile/userInfo.vue b/ruoyi-ui/src/views/system/user/profile/userInfo.vue deleted file mode 100644 index 2e8ef99..0000000 --- a/ruoyi-ui/src/views/system/user/profile/userInfo.vue +++ /dev/null @@ -1,80 +0,0 @@ -<template> - <el-form ref="form" :model="user" :rules="rules" label-width="80px"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="user.nickName" /> - </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input v-model="user.phonenumber" maxlength="11" /> - </el-form-item> - <el-form-item label="閭" prop="email"> - <el-input v-model="user.email" maxlength="50" /> - </el-form-item> - <el-form-item label="鎬у埆"> - <el-radio-group v-model="user.sex"> - <el-radio label="0">鐢�</el-radio> - <el-radio label="1">濂�</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item> - <el-button type="primary" size="mini" @click="submit">淇濆瓨</el-button> - <el-button type="danger" size="mini" @click="close">鍏抽棴</el-button> - </el-form-item> - </el-form> -</template> - -<script> -import { updateUserProfile } from "@/api/system/user"; - -export default { - props: { - user: { - type: Object - } - }, - data() { - return { - // 琛ㄥ崟鏍¢獙 - rules: { - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" } - ], - email: [ - { required: true, message: "閭鍦板潃涓嶈兘涓虹┖", trigger: "blur" }, - { - type: "email", - message: "'璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"] - } - ], - phonenumber: [ - { required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" }, - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur" - } - ] - } - }; - }, - methods: { - submit() { - this.$refs["form"].validate(valid => { - if (valid) { - updateUserProfile(this.user).then(response => { - if (response.code === 200) { - this.msgSuccess("淇敼鎴愬姛"); - } else { - this.msgError(response.msg); - } - }); - } - }); - }, - close() { - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.push({ path: "/index" }); - } - } -}; -</script> diff --git a/ruoyi-ui/src/views/tool/build/index.vue b/ruoyi-ui/src/views/tool/build/index.vue deleted file mode 100644 index 9d4496e..0000000 --- a/ruoyi-ui/src/views/tool/build/index.vue +++ /dev/null @@ -1,5 +0,0 @@ -<template> - <div class="app-container"> - 鏋勫缓宸ュ叿 - </div> -</template> \ No newline at end of file diff --git a/ruoyi-ui/src/views/tool/gen/basicInfoForm.vue b/ruoyi-ui/src/views/tool/gen/basicInfoForm.vue deleted file mode 100644 index f3e8717..0000000 --- a/ruoyi-ui/src/views/tool/gen/basicInfoForm.vue +++ /dev/null @@ -1,61 +0,0 @@ -<template> - <el-form ref="basicInfoForm" :model="info" :rules="rules" label-width="150px"> - <el-row> - <el-col :span="12"> - <el-form-item label="琛ㄥ悕绉�" prop="tableName"> - <el-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" v-model="info.tableName" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="琛ㄦ弿杩�" prop="tableComment"> - <el-input placeholder="璇疯緭鍏�" v-model="info.tableComment" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item label="瀹炰綋绫诲悕绉�" prop="className"> - <el-input placeholder="璇疯緭鍏�" v-model="info.className" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浣滆��" prop="functionAuthor"> - <el-input placeholder="璇疯緭鍏�" v-model="info.functionAuthor" /> - </el-form-item> - </el-col> - <el-col :span="24"> - <el-form-item label="澶囨敞" prop="remark"> - <el-input type="textarea" :rows="3" v-model="info.remark"></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> -</template> -<script> -export default { - name: "BasicInfoForm", - props: { - info: { - type: Object, - default: null - } - }, - data() { - return { - rules: { - tableName: [ - { required: true, message: "璇疯緭鍏ヨ〃鍚嶇О", trigger: "blur" } - ], - tableComment: [ - { required: true, message: "璇疯緭鍏ヨ〃鎻忚堪", trigger: "blur" } - ], - className: [ - { required: true, message: "璇疯緭鍏ュ疄浣撶被鍚嶇О", trigger: "blur" } - ], - functionAuthor: [ - { required: true, message: "璇疯緭鍏ヤ綔鑰�", trigger: "blur" } - ] - } - }; - } -}; -</script> diff --git a/ruoyi-ui/src/views/tool/gen/editTable.vue b/ruoyi-ui/src/views/tool/gen/editTable.vue deleted file mode 100644 index 84c9e75..0000000 --- a/ruoyi-ui/src/views/tool/gen/editTable.vue +++ /dev/null @@ -1,204 +0,0 @@ -<template> - <el-card> - <el-tabs v-model="activeName"> - <el-tab-pane label="鍩烘湰淇℃伅" name="basic"> - <basic-info-form ref="basicInfo" :info="info" /> - </el-tab-pane> - <el-tab-pane label="瀛楁淇℃伅" name="cloum"> - <el-table :data="cloumns" :max-height="tableHeight"> - <el-table-column label="搴忓彿" type="index" min-width="5%" /> - <el-table-column - label="瀛楁鍒楀悕" - prop="columnName" - min-width="10%" - :show-overflow-tooltip="true" - /> - <el-table-column - label="瀛楁鎻忚堪" - prop="columnComment" - min-width="10%" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鐗╃悊绫诲瀷" - prop="columnType" - min-width="10%" - :show-overflow-tooltip="true" - /> - <el-table-column label="Java绫诲瀷" min-width="11%"> - <template slot-scope="scope"> - <el-select v-model="scope.row.javaType"> - <el-option label="Long" value="Long" /> - <el-option label="String" value="String" /> - <el-option label="Integer" value="Integer" /> - <el-option label="Double" value="Double" /> - <el-option label="BigDecimal" value="BigDecimal" /> - <el-option label="Date" value="Date" /> - </el-select> - </template> - </el-table-column> - <el-table-column label="java灞炴��" min-width="10%"> - <template slot-scope="scope"> - <el-input v-model="scope.row.javaField"></el-input> - </template> - </el-table-column> - - <el-table-column label="鎻掑叆" min-width="5%"> - <template slot-scope="scope"> - <el-checkbox true-label="1" v-model="scope.row.isInsert"></el-checkbox> - </template> - </el-table-column> - <el-table-column label="缂栬緫" min-width="5%"> - <template slot-scope="scope"> - <el-checkbox true-label="1" v-model="scope.row.isEdit"></el-checkbox> - </template> - </el-table-column> - <el-table-column label="鍒楄〃" min-width="5%"> - <template slot-scope="scope"> - <el-checkbox true-label="1" v-model="scope.row.isList"></el-checkbox> - </template> - </el-table-column> - <el-table-column label="鏌ヨ" min-width="5%"> - <template slot-scope="scope"> - <el-checkbox true-label="1" v-model="scope.row.isQuery"></el-checkbox> - </template> - </el-table-column> - <el-table-column label="鏌ヨ鏂瑰紡" min-width="10%"> - <template slot-scope="scope"> - <el-select v-model="scope.row.queryType"> - <el-option label="=" value="EQ" /> - <el-option label="!=" value="NE" /> - <el-option label=">" value="GT" /> - <el-option label=">=" value="GTE" /> - <el-option label="<" value="LT" /> - <el-option label="<=" value="LTE" /> - <el-option label="LIKE" value="LIKE" /> - <el-option label="BETWEEN" value="BETWEEN" /> - </el-select> - </template> - </el-table-column> - <el-table-column label="蹇呭~" min-width="5%"> - <template slot-scope="scope"> - <el-checkbox true-label="1" v-model="scope.row.isRequired"></el-checkbox> - </template> - </el-table-column> - <el-table-column label="鏄剧ず绫诲瀷" min-width="12%"> - <template slot-scope="scope"> - <el-select v-model="scope.row.htmlType"> - <el-option label="鏂囨湰妗�" value="input" /> - <el-option label="鏂囨湰鍩�" value="textarea" /> - <el-option label="涓嬫媺妗�" value="select" /> - <el-option label="鍗曢�夋" value="radio" /> - <el-option label="澶嶉�夋" value="checkbox" /> - <el-option label="鏃ユ湡鎺т欢" value="datetime" /> - </el-select> - </template> - </el-table-column> - <el-table-column label="瀛楀吀绫诲瀷" min-width="12%"> - <template slot-scope="scope"> - <el-select v-model="scope.row.dictType" clearable filterable placeholder="璇烽�夋嫨"> - <el-option - v-for="dict in dictOptions" - :key="dict.dictType" - :label="dict.dictName" - :value="dict.dictType"> - <span style="float: left">{{ dict.dictName }}</span> - <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span> - </el-option> - </el-select> - </template> - </el-table-column> - </el-table> - </el-tab-pane> - <el-tab-pane label="鐢熸垚淇℃伅" name="genInfo"> - <gen-info-form ref="genInfo" :info="info" /> - </el-tab-pane> - </el-tabs> - <el-form label-width="100px"> - <el-form-item style="text-align: center;margin-left:-100px;margin-top:10px;"> - <el-button type="primary" @click="submitForm()">鎻愪氦</el-button> - <el-button @click="close()">杩斿洖</el-button> - </el-form-item> - </el-form> - </el-card> -</template> -<script> -import { getGenTable, updateGenTable } from "@/api/tool/gen"; -import { optionselect as getDictOptionselect } from "@/api/system/dict/type"; -import basicInfoForm from "./basicInfoForm"; -import genInfoForm from "./genInfoForm"; -export default { - name: "GenEdit", - components: { - basicInfoForm, - genInfoForm - }, - data() { - return { - // 閫変腑閫夐」鍗$殑 name - activeName: "cloum", - // 琛ㄦ牸鐨勯珮搴� - tableHeight: document.documentElement.scrollHeight - 245 + "px", - // 琛ㄥ垪淇℃伅 - cloumns: [], - // 瀛楀吀淇℃伅 - dictOptions: [], - // 琛ㄨ缁嗕俊鎭� - info: {} - }; - }, - beforeCreate() { - const { tableId } = this.$route.query; - if (tableId) { - // 鑾峰彇琛ㄨ缁嗕俊鎭� - getGenTable(tableId).then(res => { - this.cloumns = res.data.rows; - this.info = res.data.info; - }); - /** 鏌ヨ瀛楀吀涓嬫媺鍒楄〃 */ - getDictOptionselect().then(response => { - this.dictOptions = response.data; - }); - } - }, - methods: { - /** 鎻愪氦鎸夐挳 */ - submitForm() { - const basicForm = this.$refs.basicInfo.$refs.basicInfoForm; - const genForm = this.$refs.genInfo.$refs.genInfoForm; - Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => { - const validateResult = res.every(item => !!item); - if (validateResult) { - const genTable = Object.assign({}, basicForm.model, genForm.model); - genTable.columns = this.cloumns; - genTable.params = { - treeCode: genTable.treeCode, - treeName: genTable.treeName, - treeParentCode: genTable.treeParentCode - }; - updateGenTable(genTable).then(res => { - this.msgSuccess(res.msg); - if (res.code === 200) { - this.close(); - } - }); - } else { - this.msgError("琛ㄥ崟鏍¢獙鏈�氳繃锛岃閲嶆柊妫�鏌ユ彁浜ゅ唴瀹�"); - } - }); - }, - getFormPromise(form) { - return new Promise(resolve => { - form.validate(res => { - resolve(res); - }); - }); - }, - /** 鍏抽棴鎸夐挳 */ - close() { - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.push({ path: "/tool/gen", query: { t: Date.now()}}) - } - } -}; -</script> diff --git a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue b/ruoyi-ui/src/views/tool/gen/genInfoForm.vue deleted file mode 100644 index 7b9a32a..0000000 --- a/ruoyi-ui/src/views/tool/gen/genInfoForm.vue +++ /dev/null @@ -1,154 +0,0 @@ -<template> - <el-form ref="genInfoForm" :model="info" :rules="rules" label-width="150px"> - <el-row> - <el-col :span="12"> - <el-form-item prop="tplCategory"> - <span slot="label">鐢熸垚妯℃澘</span> - <el-select v-model="info.tplCategory"> - <el-option label="鍗曡〃锛堝鍒犳敼鏌ワ級" value="crud" /> - <el-option label="鏍戣〃锛堝鍒犳敼鏌ワ級" value="tree" disabled/> - </el-select> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="packageName"> - <span slot="label"> - 鐢熸垚鍖呰矾寰� - <el-tooltip content="鐢熸垚鍦ㄥ摢涓猨ava鍖呬笅锛屼緥濡� com.ruoyi.system" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-input v-model="info.packageName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="moduleName"> - <span slot="label"> - 鐢熸垚妯″潡鍚� - <el-tooltip content="鍙悊瑙d负瀛愮郴缁熷悕锛屼緥濡� system" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-input v-model="info.moduleName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="businessName"> - <span slot="label"> - 鐢熸垚涓氬姟鍚� - <el-tooltip content="鍙悊瑙d负鍔熻兘鑻辨枃鍚嶏紝渚嬪 user" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-input v-model="info.businessName" /> - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item prop="functionName"> - <span slot="label"> - 鐢熸垚鍔熻兘鍚� - <el-tooltip content="鐢ㄤ綔绫绘弿杩帮紝渚嬪 鐢ㄦ埛" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-input v-model="info.functionName" /> - </el-form-item> - </el-col> - </el-row> - - <el-row v-show="info.tplCategory == 'tree'"> - <h4 class="form-header">鍏朵粬淇℃伅</h4> - <el-col :span="12"> - <el-form-item> - <span slot="label"> - 鏍戠紪鐮佸瓧娈� - <el-tooltip content="鏍戞樉绀虹殑缂栫爜瀛楁鍚嶏紝 濡傦細dept_id" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-select v-model="info.treeCode" placeholder="璇烽�夋嫨"> - <el-option - v-for="column in info.columns" - :key="column.columnName" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item> - <span slot="label"> - 鏍戠埗缂栫爜瀛楁 - <el-tooltip content="鏍戞樉绀虹殑鐖剁紪鐮佸瓧娈靛悕锛� 濡傦細parent_Id" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-select v-model="info.treeParentCode" placeholder="璇烽�夋嫨"> - <el-option - v-for="column in info.columns" - :key="column.columnName" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item> - <span slot="label"> - 鏍戝悕绉板瓧娈� - <el-tooltip content="鏍戣妭鐐圭殑鏄剧ず鍚嶇О瀛楁鍚嶏紝 濡傦細dept_name" placement="top"> - <i class="el-icon-question"></i> - </el-tooltip> - </span> - <el-select v-model="info.treeName" placeholder="璇烽�夋嫨"> - <el-option - v-for="column in info.columns" - :key="column.columnName" - :label="column.columnName + '锛�' + column.columnComment" - :value="column.columnName" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - </el-form> -</template> -<script> -export default { - name: "BasicInfoForm", - props: { - info: { - type: Object, - default: null - } - }, - data() { - return { - rules: { - tplCategory: [ - { required: true, message: "璇烽�夋嫨鐢熸垚妯℃澘", trigger: "blur" } - ], - packageName: [ - { required: true, message: "璇疯緭鍏ョ敓鎴愬寘璺緞", trigger: "blur" } - ], - moduleName: [ - { required: true, message: "璇疯緭鍏ョ敓鎴愭ā鍧楀悕", trigger: "blur" } - ], - businessName: [ - { required: true, message: "璇疯緭鍏ョ敓鎴愪笟鍔″悕", trigger: "blur" } - ], - functionName: [ - { required: true, message: "璇疯緭鍏ョ敓鎴愬姛鑳藉悕", trigger: "blur" } - ] - } - }; - }, - created() {} -}; -</script> diff --git a/ruoyi-ui/src/views/tool/gen/importTable.vue b/ruoyi-ui/src/views/tool/gen/importTable.vue deleted file mode 100644 index e441870..0000000 --- a/ruoyi-ui/src/views/tool/gen/importTable.vue +++ /dev/null @@ -1,114 +0,0 @@ -<template> - <!-- 瀵煎叆琛� --> - <el-dialog title="瀵煎叆琛�" :visible.sync="visible" width="800px" top="5vh"> - <el-form :model="queryParams" ref="queryForm" :inline="true"> - <el-form-item label="琛ㄥ悕绉�" prop="tableName"> - <el-input - v-model="queryParams.tableName" - placeholder="璇疯緭鍏ヨ〃鍚嶇О" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="琛ㄦ弿杩�" prop="tableComment"> - <el-input - v-model="queryParams.tableComment" - placeholder="璇疯緭鍏ヨ〃鎻忚堪" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - <el-row> - <el-table :data="dbTableList" @selection-change="handleSelectionChange" height="260px"> - <el-table-column type="selection" width="55"></el-table-column> - <el-table-column prop="tableName" label="琛ㄥ悕绉�"></el-table-column> - <el-table-column prop="tableComment" label="琛ㄦ弿杩�"></el-table-column> - <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"></el-table-column> - <el-table-column prop="updateTime" label="鏇存柊鏃堕棿"></el-table-column> - </el-table> - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-row> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="handleImportTable">纭� 瀹�</el-button> - <el-button @click="visible = false">鍙� 娑�</el-button> - </div> - </el-dialog> -</template> - -<script> -import { listDbTable, importTable } from "@/api/tool/gen"; -export default { - data() { - return { - // 閬僵灞� - visible: false, - // 閫変腑鏁扮粍鍊� - tables: [], - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ暟鎹� - dbTableList: [], - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - tableName: undefined, - tableComment: undefined - } - }; - }, - methods: { - // 鏄剧ず寮规 - show() { - this.getList(); - this.visible = true; - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.tables = selection.map(item => item.tableName); - }, - // 鏌ヨ琛ㄦ暟鎹� - getList() { - listDbTable(this.queryParams).then(res => { - if (res.code === 200) { - this.dbTableList = res.rows; - this.total = res.total; - } - }); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImportTable() { - importTable({ tables: this.tables.join(",") }).then(res => { - this.msgSuccess(res.msg); - if (res.code === 200) { - this.visible = false; - this.$emit("ok"); - } - }); - } - } -}; -</script> diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue deleted file mode 100644 index 0c159a0..0000000 --- a/ruoyi-ui/src/views/tool/gen/index.vue +++ /dev/null @@ -1,287 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="琛ㄥ悕绉�" prop="tableName"> - <el-input - v-model="queryParams.tableName" - placeholder="璇疯緭鍏ヨ〃鍚嶇О" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="琛ㄦ弿杩�" prop="tableComment"> - <el-input - v-model="queryParams.tableComment" - placeholder="璇疯緭鍏ヨ〃鎻忚堪" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - size="small" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-download" - size="mini" - @click="handleGenTable" - v-hasPermi="['tool:gen:code']" - >鐢熸垚</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="info" - icon="el-icon-upload" - size="mini" - @click="openImportTable" - v-hasPermi="['tool:gen:import']" - >瀵煎叆</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleEditTable" - v-hasPermi="['tool:gen:edit']" - >淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['tool:gen:remove']" - >鍒犻櫎</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55"></el-table-column> - <el-table-column label="搴忓彿" align="center" prop="tableId" width="50px" /> - <el-table-column - label="琛ㄥ悕绉�" - align="center" - prop="tableName" - :show-overflow-tooltip="true" - width="130" - /> - <el-table-column - label="琛ㄦ弿杩�" - align="center" - prop="tableComment" - :show-overflow-tooltip="true" - width="130" - /> - <el-table-column - label="瀹炰綋" - align="center" - prop="className" - :show-overflow-tooltip="true" - width="130" - /> - <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="160" /> - <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="160" /> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - type="text" - size="small" - icon="el-icon-view" - @click="handlePreview(scope.row)" - v-hasPermi="['tool:gen:preview']" - >棰勮</el-button> - <el-button - type="text" - size="small" - icon="el-icon-edit" - @click="handleEditTable(scope.row)" - v-hasPermi="['tool:gen:edit']" - >缂栬緫</el-button> - <el-button - type="text" - size="small" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['tool:gen:remove']" - >鍒犻櫎</el-button> - <el-button - type="text" - size="small" - icon="el-icon-download" - @click="handleGenTable(scope.row)" - v-hasPermi="['tool:gen:code']" - >鐢熸垚浠g爜</el-button> - </template> - </el-table-column> - </el-table> - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - <!-- 棰勮鐣岄潰 --> - <el-dialog :title="preview.title" :visible.sync="preview.open" width="80%" top="5vh"> - <el-tabs v-model="preview.activeName"> - <el-tab-pane - v-for="(value, key) in preview.data" - :label="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))" - :name="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))" - :key="key" - > - <pre>{{ value }}</pre> - </el-tab-pane> - </el-tabs> - </el-dialog> - <import-table ref="import" @ok="handleQuery" /> - </div> -</template> - -<script> -import { listTable, previewTable, delTable } from "@/api/tool/gen"; -import importTable from "./importTable"; -import { downLoadZip } from "@/utils/zipdownload"; -export default { - name: "Gen", - components: { importTable }, - data() { - return { - // 閬僵灞� - loading: true, - // 鍞竴鏍囪瘑绗� - uniqueId: "", - // 閫変腑鏁扮粍 - ids: [], - // 閫変腑琛ㄦ暟缁� - tableNames: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鎬绘潯鏁� - total: 0, - // 琛ㄦ暟鎹� - tableList: [], - // 鏃ユ湡鑼冨洿 - dateRange: "", - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - tableName: undefined, - tableComment: undefined - }, - // 棰勮鍙傛暟 - preview: { - open: false, - title: "浠g爜棰勮", - data: {}, - activeName: "domain.java" - } - }; - }, - created() { - this.getList(); - }, - activated() { - const time = this.$route.query.t; - if (time != null && time != this.uniqueId) { - this.uniqueId = time; - this.resetQuery(); - } - }, - methods: { - /** 鏌ヨ琛ㄩ泦鍚� */ - getList() { - this.loading = true; - listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.tableList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 鐢熸垚浠g爜鎿嶄綔 */ - handleGenTable(row) { - const tableNames = row.tableName || this.tableNames; - if (tableNames == "") { - this.msgError("璇烽�夋嫨瑕佺敓鎴愮殑鏁版嵁"); - return; - } - downLoadZip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi"); - }, - /** 鎵撳紑瀵煎叆琛ㄥ脊绐� */ - openImportTable() { - this.$refs.import.show(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.handleQuery(); - }, - /** 棰勮鎸夐挳 */ - handlePreview(row) { - previewTable(row.tableId).then(response => { - this.preview.data = response.data; - this.preview.open = true; - }); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.tableId); - this.tableNames = selection.map(item => item.tableName); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleEditTable(row) { - const tableId = row.tableId || this.ids[0]; - this.$router.push({ path: "/gen/edit", query: { tableId: tableId } }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const tableIds = row.tableId || this.ids; - this.$confirm('鏄惁纭鍒犻櫎琛ㄧ紪鍙蜂负"' + tableIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delTable(tableIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/tool/swagger/index.vue b/ruoyi-ui/src/views/tool/swagger/index.vue deleted file mode 100644 index 624b59a..0000000 --- a/ruoyi-ui/src/views/tool/swagger/index.vue +++ /dev/null @@ -1,26 +0,0 @@ -<template> - <div v-loading="loading" :style="'height:'+ height"> - <iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto" /> - </div> -</template> -<script> -export default { - name: "Swagger", - data() { - return { - src: process.env.VUE_APP_BASE_API + "/swagger-ui.html", - height: document.documentElement.clientHeight - 94.5 + "px;", - loading: true - }; - }, - mounted: function() { - setTimeout(() => { - this.loading = false; - }, 230); - const that = this; - window.onresize = function temp() { - that.height = document.documentElement.clientHeight - 94.5 + "px;"; - }; - } -}; -</script> diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js deleted file mode 100644 index 5dce8d6..0000000 --- a/ruoyi-ui/vue.config.js +++ /dev/null @@ -1,130 +0,0 @@ -'use strict' -const path = require('path') -const defaultSettings = require('./src/settings.js') - -function resolve(dir) { - return path.join(__dirname, dir) -} - -const name = defaultSettings.title || '鑻ヤ緷绠$悊绯荤粺' // 鏍囬 - -const port = process.env.port || process.env.npm_config_port || 80 // 绔彛 - -// vue.config.js 閰嶇疆璇存槑 -//瀹樻柟vue.config.js 鍙傝�冩枃妗� https://cli.vuejs.org/zh/config/#css-loaderoptions -// 杩欓噷鍙垪涓�閮ㄥ垎锛屽叿浣撻厤缃弬鑰冩枃妗� -module.exports = { - // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆� - // 榛樿鎯呭喌涓嬶紝Vue CLI 浼氬亣璁句綘鐨勫簲鐢ㄦ槸琚儴缃插湪涓�涓煙鍚嶇殑鏍硅矾寰勪笂 - // 渚嬪 https://www.ruoyi.vip/銆傚鏋滃簲鐢ㄨ閮ㄧ讲鍦ㄤ竴涓瓙璺緞涓婏紝浣犲氨闇�瑕佺敤杩欎釜閫夐」鎸囧畾杩欎釜瀛愯矾寰勩�備緥濡傦紝濡傛灉浣犵殑搴旂敤琚儴缃插湪 https://www.ruoyi.vip/admin/锛屽垯璁剧疆 baseUrl 涓� /admin/銆� - publicPath: process.env.NODE_ENV === "production" ? "/" : "/", - // 鍦╪pm run build 鎴� yarn build 鏃� 锛岀敓鎴愭枃浠剁殑鐩綍鍚嶇О锛堣鍜宐aseUrl鐨勭敓浜х幆澧冭矾寰勪竴鑷达級锛堥粯璁ist锛� - outputDir: 'dist', - // 鐢ㄤ簬鏀剧疆鐢熸垚鐨勯潤鎬佽祫婧� (js銆乧ss銆乮mg銆乫onts) 鐨勶紱锛堥」鐩墦鍖呬箣鍚庯紝闈欐�佽祫婧愪細鏀惧湪杩欎釜鏂囦欢澶逛笅锛� - assetsDir: 'static', - // 鏄惁寮�鍚痚slint淇濆瓨妫�娴嬶紝鏈夋晥鍊硷細ture | false | 'error' - lintOnSave: process.env.NODE_ENV === 'development', - // 濡傛灉浣犱笉闇�瑕佺敓浜х幆澧冪殑 source map锛屽彲浠ュ皢鍏惰缃负 false 浠ュ姞閫熺敓浜х幆澧冩瀯寤恒�� - productionSourceMap: false, - // webpack-dev-server 鐩稿叧閰嶇疆 - devServer: { - host: '0.0.0.0', - port: port, - proxy: { - // detail: https://cli.vuejs.org/config/#devserver-proxy - [process.env.VUE_APP_BASE_API]: { - target: `http://localhost:8080`, - changeOrigin: true, - pathRewrite: { - ['^' + process.env.VUE_APP_BASE_API]: '' - } - } - }, - disableHostCheck: true - }, - configureWebpack: { - name: name, - resolve: { - alias: { - '@': resolve('src') - } - } - }, - chainWebpack(config) { - config.plugins.delete('preload') // TODO: need test - config.plugins.delete('prefetch') // TODO: need test - - // set svg-sprite-loader - config.module - .rule('svg') - .exclude.add(resolve('src/assets/icons')) - .end() - config.module - .rule('icons') - .test(/\.svg$/) - .include.add(resolve('src/assets/icons')) - .end() - .use('svg-sprite-loader') - .loader('svg-sprite-loader') - .options({ - symbolId: 'icon-[name]' - }) - .end() - - // set preserveWhitespace - config.module - .rule('vue') - .use('vue-loader') - .loader('vue-loader') - .tap(options => { - options.compilerOptions.preserveWhitespace = true - return options - }) - .end() - - config - // https://webpack.js.org/configuration/devtool/#development - .when(process.env.NODE_ENV === 'development', - config => config.devtool('cheap-source-map') - ) - - config - .when(process.env.NODE_ENV !== 'development', - config => { - config - .plugin('ScriptExtHtmlWebpackPlugin') - .after('html') - .use('script-ext-html-webpack-plugin', [{ - // `runtime` must same as runtimeChunk name. default is `runtime` - inline: /runtime\..*\.js$/ - }]) - .end() - config - .optimization.splitChunks({ - chunks: 'all', - cacheGroups: { - libs: { - name: 'chunk-libs', - test: /[\\/]node_modules[\\/]/, - priority: 10, - chunks: 'initial' // only package third parties that are initially dependent - }, - elementUI: { - name: 'chunk-elementUI', // split elementUI into a single package - priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app - test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm - }, - commons: { - name: 'chunk-commons', - test: resolve('src/components'), // can customize your rules - minChunks: 3, // minimum common number - priority: 5, - reuseExistingChunk: true - } - } - }) - config.optimization.runtimeChunk('single') - } - ) - } -} -- Gitblit v1.9.3