diff --git a/vue/.editorconfig b/vue/.editorconfig
deleted file mode 100644
index 7034f9bf..00000000
--- a/vue/.editorconfig
+++ /dev/null
@@ -1,22 +0,0 @@
-# 告诉EditorConfig插件,这是根文件,不用继续往上查找
-root = true
-
-# 匹配全部文件
-[*]
-# 设置字符集
-charset = utf-8
-# 缩进风格,可选space、tab
-indent_style = space
-# 缩进的空格数
-indent_size = 2
-# 结尾换行符,可选lf、cr、crlf
-end_of_line = lf
-# 在文件结尾插入新行
-insert_final_newline = true
-# 删除一行中的前后空格
-trim_trailing_whitespace = true
-
-# 匹配md结尾的文件
-[*.md]
-insert_final_newline = false
-trim_trailing_whitespace = false
diff --git a/vue/.env.development b/vue/.env.development
deleted file mode 100644
index 65b74607..00000000
--- a/vue/.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/vue/.env.production b/vue/.env.production
deleted file mode 100644
index d7601f06..00000000
--- a/vue/.env.production
+++ /dev/null
@@ -1,5 +0,0 @@
-# 生产环境配置
-ENV = 'production'
-
-# 物美智能/生产环境
-VUE_APP_BASE_API = '/prod-api'
diff --git a/vue/.env.staging b/vue/.env.staging
deleted file mode 100644
index 8e468b23..00000000
--- a/vue/.env.staging
+++ /dev/null
@@ -1,7 +0,0 @@
-NODE_ENV = production
-
-# 测试环境配置
-ENV = 'staging'
-
-# 物美智能/测试环境
-VUE_APP_BASE_API = '/stage-api'
diff --git a/vue/.eslintignore b/vue/.eslintignore
deleted file mode 100644
index 89be6f65..00000000
--- a/vue/.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/vue/.eslintrc.js b/vue/.eslintrc.js
deleted file mode 100644
index 82bbdeea..00000000
--- a/vue/.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/vue/.gitignore b/vue/.gitignore
deleted file mode 100644
index 78a752d8..00000000
--- a/vue/.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/vue/README.md b/vue/README.md
deleted file mode 100644
index a857617b..00000000
--- a/vue/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/vue/babel.config.js b/vue/babel.config.js
deleted file mode 100644
index b99f0014..00000000
--- a/vue/babel.config.js
+++ /dev/null
@@ -1,13 +0,0 @@
-module.exports = {
- presets: [
- // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
- '@vue/cli-plugin-babel/preset'
- ],
- 'env': {
- 'development': {
- // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
- // This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
- 'plugins': ['dynamic-import-node']
- }
- }
-}
diff --git a/vue/bin/build.bat b/vue/bin/build.bat
deleted file mode 100644
index dda590d2..00000000
--- a/vue/bin/build.bat
+++ /dev/null
@@ -1,12 +0,0 @@
-@echo off
-echo.
-echo [Ϣ] Weḅdistļ
-echo.
-
-%~d0
-cd %~dp0
-
-cd ..
-npm run build:prod
-
-pause
\ No newline at end of file
diff --git a/vue/bin/package.bat b/vue/bin/package.bat
deleted file mode 100644
index 82817497..00000000
--- a/vue/bin/package.bat
+++ /dev/null
@@ -1,12 +0,0 @@
-@echo off
-echo.
-echo [Ϣ] װWeḅ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/vue/bin/run-web.bat b/vue/bin/run-web.bat
deleted file mode 100644
index a938e892..00000000
--- a/vue/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/vue/build/index.js b/vue/build/index.js
deleted file mode 100644
index 0c57de2a..00000000
--- a/vue/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/vue/package.json b/vue/package.json
deleted file mode 100644
index e3d3fa35..00000000
--- a/vue/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "name": "ruoyi",
- "version": "3.4.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"
- },
- "husky": {
- "hooks": {
- "pre-commit": "lint-staged"
- }
- },
- "lint-staged": {
- "src/**/*.{js,vue}": [
- "eslint --fix",
- "git add"
- ]
- },
- "keywords": [
- "vue",
- "admin",
- "dashboard",
- "element-ui",
- "boilerplate",
- "admin-template",
- "management-system"
- ],
- "repository": {
- "type": "git",
- "url": "https://gitee.com/y_project/RuoYi-Vue.git"
- },
- "dependencies": {
- "@riophae/vue-treeselect": "0.4.0",
- "axios": "0.21.0",
- "clipboard": "2.0.6",
- "core-js": "3.8.1",
- "echarts": "4.9.0",
- "element-ui": "2.15.0",
- "file-saver": "2.0.4",
- "fuse.js": "6.4.3",
- "highlight.js": "9.18.5",
- "js-beautify": "1.13.0",
- "js-cookie": "2.2.1",
- "jsencrypt": "3.0.0-rc.1",
- "nprogress": "0.2.0",
- "quill": "1.3.7",
- "screenfull": "5.0.2",
- "sortablejs": "1.10.2",
- "vue": "2.6.12",
- "vue-count-to": "1.0.13",
- "vue-cropper": "0.5.5",
- "vue-router": "3.4.9",
- "vuedraggable": "2.24.3",
- "vuex": "3.6.0"
- },
- "devDependencies": {
- "@vue/cli-plugin-babel": "4.4.6",
- "@vue/cli-plugin-eslint": "4.4.6",
- "@vue/cli-service": "4.4.6",
- "babel-eslint": "10.1.0",
- "chalk": "4.1.0",
- "connect": "3.6.6",
- "eslint": "7.15.0",
- "eslint-plugin-vue": "7.2.0",
- "lint-staged": "10.5.3",
- "runjs": "4.4.2",
- "sass": "1.32.0",
- "sass-loader": "10.1.0",
- "script-ext-html-webpack-plugin": "2.1.5",
- "svg-sprite-loader": "5.1.1",
- "vue-template-compiler": "2.6.12"
- },
- "engines": {
- "node": ">=8.9",
- "npm": ">= 3.0.0"
- },
- "browserslist": [
- "> 1%",
- "last 2 versions"
- ]
-}
diff --git a/vue/public/favicon.ico b/vue/public/favicon.ico
deleted file mode 100644
index afbba6f0..00000000
Binary files a/vue/public/favicon.ico and /dev/null differ
diff --git a/vue/public/index.html b/vue/public/index.html
deleted file mode 100644
index 6d64bf95..00000000
--- a/vue/public/index.html
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-
-
-
-
-
-
- <%= webpackConfig.name %>
-
-
-
-
-
-
diff --git a/vue/public/robots.txt b/vue/public/robots.txt
deleted file mode 100644
index 77470cb3..00000000
--- a/vue/public/robots.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-User-agent: *
-Disallow: /
\ No newline at end of file
diff --git a/vue/src/App.vue b/vue/src/App.vue
deleted file mode 100644
index e448b113..00000000
--- a/vue/src/App.vue
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/api/login.js b/vue/src/api/login.js
deleted file mode 100644
index 869cd9fd..00000000
--- a/vue/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',
- data: data
- })
-}
-
-// 获取用户详细信息
-export function getInfo() {
- return request({
- url: '/getInfo',
- method: 'get'
- })
-}
-
-// 退出方法
-export function logout() {
- return request({
- url: '/logout',
- method: 'post'
- })
-}
-
-// 获取验证码
-export function getCodeImg() {
- return request({
- url: '/captchaImage',
- method: 'get'
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/menu.js b/vue/src/api/menu.js
deleted file mode 100644
index faef101c..00000000
--- a/vue/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/vue/src/api/monitor/cache.js b/vue/src/api/monitor/cache.js
deleted file mode 100644
index 59d3505a..00000000
--- a/vue/src/api/monitor/cache.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import request from '@/utils/request'
-
-// 查询缓存详细
-export function getCache() {
- return request({
- url: '/monitor/cache',
- method: 'get'
- })
-}
diff --git a/vue/src/api/monitor/job.js b/vue/src/api/monitor/job.js
deleted file mode 100644
index 58c43434..00000000
--- a/vue/src/api/monitor/job.js
+++ /dev/null
@@ -1,80 +0,0 @@
-import request from '@/utils/request'
-
-// 查询定时任务调度列表
-export function listJob(query) {
- return request({
- url: '/monitor/job/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询定时任务调度详细
-export function getJob(jobId) {
- return request({
- url: '/monitor/job/' + jobId,
- method: 'get'
- })
-}
-
-// 新增定时任务调度
-export function addJob(data) {
- return request({
- url: '/monitor/job',
- method: 'post',
- data: data
- })
-}
-
-// 修改定时任务调度
-export function updateJob(data) {
- return request({
- url: '/monitor/job',
- method: 'put',
- data: data
- })
-}
-
-// 删除定时任务调度
-export function delJob(jobId) {
- return request({
- url: '/monitor/job/' + jobId,
- method: 'delete'
- })
-}
-
-// 导出定时任务调度
-export function exportJob(query) {
- return request({
- url: '/monitor/job/export',
- method: 'get',
- params: query
- })
-}
-
-// 任务状态修改
-export function changeJobStatus(jobId, status) {
- const data = {
- jobId,
- status
- }
- return request({
- url: '/monitor/job/changeStatus',
- method: 'put',
- data: data
- })
-}
-
-
-// 定时任务立即执行一次
-export function runJob(jobId, jobGroup) {
- const data = {
- jobId,
- jobGroup
- }
- return request({
- url: '/monitor/job/run',
- method: 'put',
- data: data
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/monitor/jobLog.js b/vue/src/api/monitor/jobLog.js
deleted file mode 100644
index be1fffdf..00000000
--- a/vue/src/api/monitor/jobLog.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import request from '@/utils/request'
-
-// 查询调度日志列表
-export function listJobLog(query) {
- return request({
- url: '/monitor/jobLog/list',
- method: 'get',
- params: query
- })
-}
-
-// 删除调度日志
-export function delJobLog(jobLogId) {
- return request({
- url: '/monitor/jobLog/' + jobLogId,
- method: 'delete'
- })
-}
-
-// 清空调度日志
-export function cleanJobLog() {
- return request({
- url: '/monitor/jobLog/clean',
- method: 'delete'
- })
-}
-
-// 导出调度日志
-export function exportJobLog(query) {
- return request({
- url: '/monitor/jobLog/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/monitor/logininfor.js b/vue/src/api/monitor/logininfor.js
deleted file mode 100644
index 383d61f3..00000000
--- a/vue/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/vue/src/api/monitor/online.js b/vue/src/api/monitor/online.js
deleted file mode 100644
index bd221378..00000000
--- a/vue/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/vue/src/api/monitor/operlog.js b/vue/src/api/monitor/operlog.js
deleted file mode 100644
index f09b8ed8..00000000
--- a/vue/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/vue/src/api/monitor/server.js b/vue/src/api/monitor/server.js
deleted file mode 100644
index feed7836..00000000
--- a/vue/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/vue/src/api/system/category.js b/vue/src/api/system/category.js
deleted file mode 100644
index 299ab5da..00000000
--- a/vue/src/api/system/category.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-import request from '@/utils/request'
-
-// 查询设备分类列表
-export function listCategory(query) {
- return request({
- url: '/system/category/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询设备分类详细
-export function getCategory(categoryId) {
- return request({
- url: '/system/category/' + categoryId,
- method: 'get'
- })
-}
-
-// 新增设备分类
-export function addCategory(data) {
- return request({
- url: '/system/category',
- method: 'post',
- data: data
- })
-}
-
-// 修改设备分类
-export function updateCategory(data) {
- return request({
- url: '/system/category',
- method: 'put',
- data: data
- })
-}
-
-// 删除设备分类
-export function delCategory(categoryId) {
- return request({
- url: '/system/category/' + categoryId,
- method: 'delete'
- })
-}
-
-// 导出设备分类
-export function exportCategory(query) {
- return request({
- url: '/system/category/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/config.js b/vue/src/api/system/config.js
deleted file mode 100644
index 8f8a0a77..00000000
--- a/vue/src/api/system/config.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-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 clearCache() {
- return request({
- url: '/system/config/clearCache',
- 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/vue/src/api/system/dept.js b/vue/src/api/system/dept.js
deleted file mode 100644
index 2804676f..00000000
--- a/vue/src/api/system/dept.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import request from '@/utils/request'
-
-// 查询部门列表
-export function listDept(query) {
- return request({
- url: '/system/dept/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询部门列表(排除节点)
-export function listDeptExcludeChild(deptId) {
- return request({
- url: '/system/dept/list/exclude/' + deptId,
- method: 'get'
- })
-}
-
-// 查询部门详细
-export function getDept(deptId) {
- return request({
- url: '/system/dept/' + deptId,
- method: 'get'
- })
-}
-
-// 查询部门下拉树结构
-export function treeselect() {
- return request({
- url: '/system/dept/treeselect',
- method: 'get'
- })
-}
-
-// 根据角色ID查询部门树结构
-export function roleDeptTreeselect(roleId) {
- return request({
- url: '/system/dept/roleDeptTreeselect/' + roleId,
- method: 'get'
- })
-}
-
-// 新增部门
-export function addDept(data) {
- return request({
- url: '/system/dept',
- method: 'post',
- data: data
- })
-}
-
-// 修改部门
-export function updateDept(data) {
- return request({
- url: '/system/dept',
- method: 'put',
- data: data
- })
-}
-
-// 删除部门
-export function delDept(deptId) {
- return request({
- url: '/system/dept/' + deptId,
- method: 'delete'
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/device.js b/vue/src/api/system/device.js
deleted file mode 100644
index ea984a1e..00000000
--- a/vue/src/api/system/device.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-import request from '@/utils/request'
-
-// 查询设备列表
-export function listDevice(query) {
- return request({
- url: '/system/device/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询设备详细
-export function getDevice(deviceId) {
- return request({
- url: '/system/device/' + deviceId,
- method: 'get'
- })
-}
-
-// 新增设备
-export function addDevice(data) {
- return request({
- url: '/system/device',
- method: 'post',
- data: data
- })
-}
-
-// 修改设备
-export function updateDevice(data) {
- return request({
- url: '/system/device',
- method: 'put',
- data: data
- })
-}
-
-// 删除设备
-export function delDevice(deviceId) {
- return request({
- url: '/system/device/' + deviceId,
- method: 'delete'
- })
-}
-
-// 导出设备
-export function exportDevice(query) {
- return request({
- url: '/system/device/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/dict/data.js b/vue/src/api/system/dict/data.js
deleted file mode 100644
index d7aca892..00000000
--- a/vue/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/type/' + dictType,
- method: 'get'
- })
-}
-
-// 新增字典数据
-export function addData(data) {
- return request({
- url: '/system/dict/data',
- method: 'post',
- data: data
- })
-}
-
-// 修改字典数据
-export function updateData(data) {
- return request({
- url: '/system/dict/data',
- method: 'put',
- data: data
- })
-}
-
-// 删除字典数据
-export function delData(dictCode) {
- return request({
- url: '/system/dict/data/' + dictCode,
- method: 'delete'
- })
-}
-
-// 导出字典数据
-export function exportData(query) {
- return request({
- url: '/system/dict/data/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/dict/type.js b/vue/src/api/system/dict/type.js
deleted file mode 100644
index bc776926..00000000
--- a/vue/src/api/system/dict/type.js
+++ /dev/null
@@ -1,69 +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 clearCache() {
- return request({
- url: '/system/dict/type/clearCache',
- 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/vue/src/api/system/group.js b/vue/src/api/system/group.js
deleted file mode 100644
index c006fedf..00000000
--- a/vue/src/api/system/group.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-import request from '@/utils/request'
-
-// 查询分组列表
-export function listGroup(query) {
- return request({
- url: '/system/group/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询分组详细
-export function getGroup(groupId) {
- return request({
- url: '/system/group/' + groupId,
- method: 'get'
- })
-}
-
-// 新增分组
-export function addGroup(data) {
- return request({
- url: '/system/group',
- method: 'post',
- data: data
- })
-}
-
-// 修改分组
-export function updateGroup(data) {
- return request({
- url: '/system/group',
- method: 'put',
- data: data
- })
-}
-
-// 删除分组
-export function delGroup(groupId) {
- return request({
- url: '/system/group/' + groupId,
- method: 'delete'
- })
-}
-
-// 导出分组
-export function exportGroup(query) {
- return request({
- url: '/system/group/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/menu.js b/vue/src/api/system/menu.js
deleted file mode 100644
index f6415c65..00000000
--- a/vue/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/vue/src/api/system/notice.js b/vue/src/api/system/notice.js
deleted file mode 100644
index c274ea5b..00000000
--- a/vue/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/vue/src/api/system/post.js b/vue/src/api/system/post.js
deleted file mode 100644
index 434cd351..00000000
--- a/vue/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/vue/src/api/system/role.js b/vue/src/api/system/role.js
deleted file mode 100644
index 463501ce..00000000
--- a/vue/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/vue/src/api/system/set.js b/vue/src/api/system/set.js
deleted file mode 100644
index 6c4cabee..00000000
--- a/vue/src/api/system/set.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-import request from '@/utils/request'
-
-// 查询设备配置列表
-export function listSet(query) {
- return request({
- url: '/system/set/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询设备配置详细
-export function getSet(deviceSetId) {
- return request({
- url: '/system/set/' + deviceSetId,
- method: 'get'
- })
-}
-
-// 查询设备最新配置
-export function getNewSet(deviceId){
- return request({
- url:'system/set/new/'+deviceId,
- method:'get'
- })
-}
-
-// 新增设备配置
-export function addSet(data) {
- return request({
- url: '/system/set',
- method: 'post',
- data: data
- })
-}
-
-// 修改设备配置
-export function updateSet(data) {
- return request({
- url: '/system/set',
- method: 'put',
- data: data
- })
-}
-
-// 删除设备配置
-export function delSet(deviceConfigId) {
- return request({
- url: '/system/set/' + deviceConfigId,
- method: 'delete'
- })
-}
-
-// 导出设备配置
-export function exportSet(query) {
- return request({
- url: '/system/set/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/status.js b/vue/src/api/system/status.js
deleted file mode 100644
index c641b114..00000000
--- a/vue/src/api/system/status.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-import request from '@/utils/request'
-
-// 查询设备状态列表
-export function listStatus(query) {
- return request({
- url: '/system/status/list',
- method: 'get',
- params: query
- })
-}
-
-// 查询设备状态详细
-export function getStatus(deviceStatusId) {
- return request({
- url: '/system/status/' + deviceStatusId,
- method: 'get'
- })
-}
-
-// 查询设备最新状态
-export function getNewStatus(deviceId){
- return request({
- url:'/system/status/new/'+deviceId,
- method:'get'
- })
-}
-
-// 新增设备状态
-export function addStatus(data) {
- return request({
- url: '/system/status',
- method: 'post',
- data: data
- })
-}
-
-// 修改设备状态
-export function updateStatus(data) {
- return request({
- url: '/system/status',
- method: 'put',
- data: data
- })
-}
-
-// 删除设备状态
-export function delStatus(deviceStatusId) {
- return request({
- url: '/system/status/' + deviceStatusId,
- method: 'delete'
- })
-}
-
-// 导出设备状态
-export function exportStatus(query) {
- return request({
- url: '/system/status/export',
- method: 'get',
- params: query
- })
-}
\ No newline at end of file
diff --git a/vue/src/api/system/user.js b/vue/src/api/system/user.js
deleted file mode 100644
index 3b9a776a..00000000
--- a/vue/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/vue/src/api/tool/gen.js b/vue/src/api/tool/gen.js
deleted file mode 100644
index 45069278..00000000
--- a/vue/src/api/tool/gen.js
+++ /dev/null
@@ -1,76 +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'
- })
-}
-
-// 修改代码生成信息
-export function updateGenTable(data) {
- return request({
- url: '/tool/gen',
- method: 'put',
- data: data
- })
-}
-
-// 导入表
-export function importTable(data) {
- return request({
- url: '/tool/gen/importTable',
- method: 'post',
- params: data
- })
-}
-
-// 预览生成代码
-export function previewTable(tableId) {
- return request({
- url: '/tool/gen/preview/' + tableId,
- method: 'get'
- })
-}
-
-// 删除表数据
-export function delTable(tableId) {
- return request({
- url: '/tool/gen/' + tableId,
- method: 'delete'
- })
-}
-
-// 生成代码(自定义路径)
-export function genCode(tableName) {
- return request({
- url: '/tool/gen/genCode/' + tableName,
- method: 'get'
- })
-}
-
-// 同步数据库
-export function synchDb(tableName) {
- return request({
- url: '/tool/gen/synchDb/' + tableName,
- method: 'get'
- })
-}
diff --git a/vue/src/assets/401_images/401.gif b/vue/src/assets/401_images/401.gif
deleted file mode 100644
index cd6e0d94..00000000
Binary files a/vue/src/assets/401_images/401.gif and /dev/null differ
diff --git a/vue/src/assets/404_images/404.png b/vue/src/assets/404_images/404.png
deleted file mode 100644
index 3d8e2305..00000000
Binary files a/vue/src/assets/404_images/404.png and /dev/null differ
diff --git a/vue/src/assets/404_images/404_cloud.png b/vue/src/assets/404_images/404_cloud.png
deleted file mode 100644
index c6281d09..00000000
Binary files a/vue/src/assets/404_images/404_cloud.png and /dev/null differ
diff --git a/vue/src/assets/icons/index.js b/vue/src/assets/icons/index.js
deleted file mode 100644
index 2c6b309c..00000000
--- a/vue/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/vue/src/assets/icons/svg/404.svg b/vue/src/assets/icons/svg/404.svg
deleted file mode 100644
index 6df50190..00000000
--- a/vue/src/assets/icons/svg/404.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/bug.svg b/vue/src/assets/icons/svg/bug.svg
deleted file mode 100644
index 05a150dc..00000000
--- a/vue/src/assets/icons/svg/bug.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/build.svg b/vue/src/assets/icons/svg/build.svg
deleted file mode 100644
index 97c46886..00000000
--- a/vue/src/assets/icons/svg/build.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/button.svg b/vue/src/assets/icons/svg/button.svg
deleted file mode 100644
index 904fddc8..00000000
--- a/vue/src/assets/icons/svg/button.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/cascader.svg b/vue/src/assets/icons/svg/cascader.svg
deleted file mode 100644
index e256024f..00000000
--- a/vue/src/assets/icons/svg/cascader.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/category.svg b/vue/src/assets/icons/svg/category.svg
deleted file mode 100644
index a106063e..00000000
--- a/vue/src/assets/icons/svg/category.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/chart.svg b/vue/src/assets/icons/svg/chart.svg
deleted file mode 100644
index 27728fb0..00000000
--- a/vue/src/assets/icons/svg/chart.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/checkbox.svg b/vue/src/assets/icons/svg/checkbox.svg
deleted file mode 100644
index 013fd3a2..00000000
--- a/vue/src/assets/icons/svg/checkbox.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/clipboard.svg b/vue/src/assets/icons/svg/clipboard.svg
deleted file mode 100644
index 90923ff6..00000000
--- a/vue/src/assets/icons/svg/clipboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/code.svg b/vue/src/assets/icons/svg/code.svg
deleted file mode 100644
index ed4d23cf..00000000
--- a/vue/src/assets/icons/svg/code.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/color.svg b/vue/src/assets/icons/svg/color.svg
deleted file mode 100644
index 44a81aab..00000000
--- a/vue/src/assets/icons/svg/color.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/component.svg b/vue/src/assets/icons/svg/component.svg
deleted file mode 100644
index 29c34580..00000000
--- a/vue/src/assets/icons/svg/component.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/config.svg b/vue/src/assets/icons/svg/config.svg
deleted file mode 100644
index 5106ed4c..00000000
--- a/vue/src/assets/icons/svg/config.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/dashboard.svg b/vue/src/assets/icons/svg/dashboard.svg
deleted file mode 100644
index 5317d370..00000000
--- a/vue/src/assets/icons/svg/dashboard.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/date-range.svg b/vue/src/assets/icons/svg/date-range.svg
deleted file mode 100644
index fda571e7..00000000
--- a/vue/src/assets/icons/svg/date-range.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/date.svg b/vue/src/assets/icons/svg/date.svg
deleted file mode 100644
index 52dc73ee..00000000
--- a/vue/src/assets/icons/svg/date.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/device.svg b/vue/src/assets/icons/svg/device.svg
deleted file mode 100644
index 8f2124ad..00000000
--- a/vue/src/assets/icons/svg/device.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/dict.svg b/vue/src/assets/icons/svg/dict.svg
deleted file mode 100644
index 48493773..00000000
--- a/vue/src/assets/icons/svg/dict.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/documentation.svg b/vue/src/assets/icons/svg/documentation.svg
deleted file mode 100644
index 70431228..00000000
--- a/vue/src/assets/icons/svg/documentation.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/download.svg b/vue/src/assets/icons/svg/download.svg
deleted file mode 100644
index c8969513..00000000
--- a/vue/src/assets/icons/svg/download.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/drag.svg b/vue/src/assets/icons/svg/drag.svg
deleted file mode 100644
index 4185d3ce..00000000
--- a/vue/src/assets/icons/svg/drag.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/druid.svg b/vue/src/assets/icons/svg/druid.svg
deleted file mode 100644
index a2b4b4ed..00000000
--- a/vue/src/assets/icons/svg/druid.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/edit.svg b/vue/src/assets/icons/svg/edit.svg
deleted file mode 100644
index d26101f2..00000000
--- a/vue/src/assets/icons/svg/edit.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/education.svg b/vue/src/assets/icons/svg/education.svg
deleted file mode 100644
index 7bfb01d1..00000000
--- a/vue/src/assets/icons/svg/education.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/email.svg b/vue/src/assets/icons/svg/email.svg
deleted file mode 100644
index 74d25e21..00000000
--- a/vue/src/assets/icons/svg/email.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/example.svg b/vue/src/assets/icons/svg/example.svg
deleted file mode 100644
index 46f42b53..00000000
--- a/vue/src/assets/icons/svg/example.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/excel.svg b/vue/src/assets/icons/svg/excel.svg
deleted file mode 100644
index 74d97b80..00000000
--- a/vue/src/assets/icons/svg/excel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/exit-fullscreen.svg b/vue/src/assets/icons/svg/exit-fullscreen.svg
deleted file mode 100644
index 485c128b..00000000
--- a/vue/src/assets/icons/svg/exit-fullscreen.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/eye-open.svg b/vue/src/assets/icons/svg/eye-open.svg
deleted file mode 100644
index 88dcc98e..00000000
--- a/vue/src/assets/icons/svg/eye-open.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/eye.svg b/vue/src/assets/icons/svg/eye.svg
deleted file mode 100644
index 16ed2d87..00000000
--- a/vue/src/assets/icons/svg/eye.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/form.svg b/vue/src/assets/icons/svg/form.svg
deleted file mode 100644
index dcbaa185..00000000
--- a/vue/src/assets/icons/svg/form.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/fullscreen.svg b/vue/src/assets/icons/svg/fullscreen.svg
deleted file mode 100644
index 0e86b6fa..00000000
--- a/vue/src/assets/icons/svg/fullscreen.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/github.svg b/vue/src/assets/icons/svg/github.svg
deleted file mode 100644
index db0a0d43..00000000
--- a/vue/src/assets/icons/svg/github.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/group.svg b/vue/src/assets/icons/svg/group.svg
deleted file mode 100644
index 66eba4b8..00000000
--- a/vue/src/assets/icons/svg/group.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/guide.svg b/vue/src/assets/icons/svg/guide.svg
deleted file mode 100644
index b2710017..00000000
--- a/vue/src/assets/icons/svg/guide.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/icon.svg b/vue/src/assets/icons/svg/icon.svg
deleted file mode 100644
index 82be8eee..00000000
--- a/vue/src/assets/icons/svg/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/input.svg b/vue/src/assets/icons/svg/input.svg
deleted file mode 100644
index ab91381e..00000000
--- a/vue/src/assets/icons/svg/input.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/international.svg b/vue/src/assets/icons/svg/international.svg
deleted file mode 100644
index e9b56eee..00000000
--- a/vue/src/assets/icons/svg/international.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/iot.svg b/vue/src/assets/icons/svg/iot.svg
deleted file mode 100644
index e3ab00d5..00000000
--- a/vue/src/assets/icons/svg/iot.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/job.svg b/vue/src/assets/icons/svg/job.svg
deleted file mode 100644
index 2a93a251..00000000
--- a/vue/src/assets/icons/svg/job.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/language.svg b/vue/src/assets/icons/svg/language.svg
deleted file mode 100644
index 0082b577..00000000
--- a/vue/src/assets/icons/svg/language.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/link.svg b/vue/src/assets/icons/svg/link.svg
deleted file mode 100644
index 48197ba4..00000000
--- a/vue/src/assets/icons/svg/link.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/list.svg b/vue/src/assets/icons/svg/list.svg
deleted file mode 100644
index 20259edd..00000000
--- a/vue/src/assets/icons/svg/list.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/lock.svg b/vue/src/assets/icons/svg/lock.svg
deleted file mode 100644
index 74fee543..00000000
--- a/vue/src/assets/icons/svg/lock.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/log.svg b/vue/src/assets/icons/svg/log.svg
deleted file mode 100644
index d879d33b..00000000
--- a/vue/src/assets/icons/svg/log.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/logininfor.svg b/vue/src/assets/icons/svg/logininfor.svg
deleted file mode 100644
index 267f8447..00000000
--- a/vue/src/assets/icons/svg/logininfor.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/message.svg b/vue/src/assets/icons/svg/message.svg
deleted file mode 100644
index 14ca8172..00000000
--- a/vue/src/assets/icons/svg/message.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/money.svg b/vue/src/assets/icons/svg/money.svg
deleted file mode 100644
index c1580de1..00000000
--- a/vue/src/assets/icons/svg/money.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/monitor.svg b/vue/src/assets/icons/svg/monitor.svg
deleted file mode 100644
index bc308cb0..00000000
--- a/vue/src/assets/icons/svg/monitor.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/mqtt.svg b/vue/src/assets/icons/svg/mqtt.svg
deleted file mode 100644
index 9874d2ff..00000000
--- a/vue/src/assets/icons/svg/mqtt.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/nested.svg b/vue/src/assets/icons/svg/nested.svg
deleted file mode 100644
index 06713a86..00000000
--- a/vue/src/assets/icons/svg/nested.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/number.svg b/vue/src/assets/icons/svg/number.svg
deleted file mode 100644
index ad5ce9af..00000000
--- a/vue/src/assets/icons/svg/number.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/online.svg b/vue/src/assets/icons/svg/online.svg
deleted file mode 100644
index 330a2029..00000000
--- a/vue/src/assets/icons/svg/online.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/password.svg b/vue/src/assets/icons/svg/password.svg
deleted file mode 100644
index 6c64defe..00000000
--- a/vue/src/assets/icons/svg/password.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/pdf.svg b/vue/src/assets/icons/svg/pdf.svg
deleted file mode 100644
index 957aa0cc..00000000
--- a/vue/src/assets/icons/svg/pdf.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/people.svg b/vue/src/assets/icons/svg/people.svg
deleted file mode 100644
index 2bd54aeb..00000000
--- a/vue/src/assets/icons/svg/people.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/peoples.svg b/vue/src/assets/icons/svg/peoples.svg
deleted file mode 100644
index aab852e5..00000000
--- a/vue/src/assets/icons/svg/peoples.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/phone.svg b/vue/src/assets/icons/svg/phone.svg
deleted file mode 100644
index ab8e8c4e..00000000
--- a/vue/src/assets/icons/svg/phone.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/post.svg b/vue/src/assets/icons/svg/post.svg
deleted file mode 100644
index 2922c613..00000000
--- a/vue/src/assets/icons/svg/post.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/qq.svg b/vue/src/assets/icons/svg/qq.svg
deleted file mode 100644
index ee13d4ec..00000000
--- a/vue/src/assets/icons/svg/qq.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/question.svg b/vue/src/assets/icons/svg/question.svg
deleted file mode 100644
index cf75bd4b..00000000
--- a/vue/src/assets/icons/svg/question.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/radio.svg b/vue/src/assets/icons/svg/radio.svg
deleted file mode 100644
index 0cde3452..00000000
--- a/vue/src/assets/icons/svg/radio.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/rate.svg b/vue/src/assets/icons/svg/rate.svg
deleted file mode 100644
index aa3b14d7..00000000
--- a/vue/src/assets/icons/svg/rate.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/redis.svg b/vue/src/assets/icons/svg/redis.svg
deleted file mode 100644
index 2f1d62df..00000000
--- a/vue/src/assets/icons/svg/redis.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/row.svg b/vue/src/assets/icons/svg/row.svg
deleted file mode 100644
index 07809922..00000000
--- a/vue/src/assets/icons/svg/row.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/search.svg b/vue/src/assets/icons/svg/search.svg
deleted file mode 100644
index 84233dda..00000000
--- a/vue/src/assets/icons/svg/search.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/select.svg b/vue/src/assets/icons/svg/select.svg
deleted file mode 100644
index d6283828..00000000
--- a/vue/src/assets/icons/svg/select.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/server.svg b/vue/src/assets/icons/svg/server.svg
deleted file mode 100644
index ca37b001..00000000
--- a/vue/src/assets/icons/svg/server.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/shopping.svg b/vue/src/assets/icons/svg/shopping.svg
deleted file mode 100644
index 87513e7c..00000000
--- a/vue/src/assets/icons/svg/shopping.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/size.svg b/vue/src/assets/icons/svg/size.svg
deleted file mode 100644
index ddb25b8d..00000000
--- a/vue/src/assets/icons/svg/size.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/skill.svg b/vue/src/assets/icons/svg/skill.svg
deleted file mode 100644
index a3b73121..00000000
--- a/vue/src/assets/icons/svg/skill.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/slider.svg b/vue/src/assets/icons/svg/slider.svg
deleted file mode 100644
index fbe4f39f..00000000
--- a/vue/src/assets/icons/svg/slider.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/star.svg b/vue/src/assets/icons/svg/star.svg
deleted file mode 100644
index 6cf86e66..00000000
--- a/vue/src/assets/icons/svg/star.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/status.svg b/vue/src/assets/icons/svg/status.svg
deleted file mode 100644
index dbad9258..00000000
--- a/vue/src/assets/icons/svg/status.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/swagger.svg b/vue/src/assets/icons/svg/swagger.svg
deleted file mode 100644
index 05d4e7bc..00000000
--- a/vue/src/assets/icons/svg/swagger.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/switch.svg b/vue/src/assets/icons/svg/switch.svg
deleted file mode 100644
index 0ba61e38..00000000
--- a/vue/src/assets/icons/svg/switch.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/system.svg b/vue/src/assets/icons/svg/system.svg
deleted file mode 100644
index dba28cf6..00000000
--- a/vue/src/assets/icons/svg/system.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/tab.svg b/vue/src/assets/icons/svg/tab.svg
deleted file mode 100644
index b4b48e48..00000000
--- a/vue/src/assets/icons/svg/tab.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/table.svg b/vue/src/assets/icons/svg/table.svg
deleted file mode 100644
index 0e3dc9de..00000000
--- a/vue/src/assets/icons/svg/table.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/textarea.svg b/vue/src/assets/icons/svg/textarea.svg
deleted file mode 100644
index 2709f292..00000000
--- a/vue/src/assets/icons/svg/textarea.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/theme.svg b/vue/src/assets/icons/svg/theme.svg
deleted file mode 100644
index 5982a2f7..00000000
--- a/vue/src/assets/icons/svg/theme.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/time-range.svg b/vue/src/assets/icons/svg/time-range.svg
deleted file mode 100644
index 13c1202b..00000000
--- a/vue/src/assets/icons/svg/time-range.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/time.svg b/vue/src/assets/icons/svg/time.svg
deleted file mode 100644
index b376e32a..00000000
--- a/vue/src/assets/icons/svg/time.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/tool.svg b/vue/src/assets/icons/svg/tool.svg
deleted file mode 100644
index c813067e..00000000
--- a/vue/src/assets/icons/svg/tool.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/tree-table.svg b/vue/src/assets/icons/svg/tree-table.svg
deleted file mode 100644
index 8aafdb82..00000000
--- a/vue/src/assets/icons/svg/tree-table.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/tree.svg b/vue/src/assets/icons/svg/tree.svg
deleted file mode 100644
index dd4b7dd2..00000000
--- a/vue/src/assets/icons/svg/tree.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/upload.svg b/vue/src/assets/icons/svg/upload.svg
deleted file mode 100644
index bae49c0a..00000000
--- a/vue/src/assets/icons/svg/upload.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/user.svg b/vue/src/assets/icons/svg/user.svg
deleted file mode 100644
index 0ba0716a..00000000
--- a/vue/src/assets/icons/svg/user.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/validCode.svg b/vue/src/assets/icons/svg/validCode.svg
deleted file mode 100644
index cfb10214..00000000
--- a/vue/src/assets/icons/svg/validCode.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/wechat.svg b/vue/src/assets/icons/svg/wechat.svg
deleted file mode 100644
index c586e551..00000000
--- a/vue/src/assets/icons/svg/wechat.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/wifi_0.svg b/vue/src/assets/icons/svg/wifi_0.svg
deleted file mode 100644
index 92af0481..00000000
--- a/vue/src/assets/icons/svg/wifi_0.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/wifi_1.svg b/vue/src/assets/icons/svg/wifi_1.svg
deleted file mode 100644
index ebb2d4ec..00000000
--- a/vue/src/assets/icons/svg/wifi_1.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/wifi_2.svg b/vue/src/assets/icons/svg/wifi_2.svg
deleted file mode 100644
index ca1ae185..00000000
--- a/vue/src/assets/icons/svg/wifi_2.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/wifi_3.svg b/vue/src/assets/icons/svg/wifi_3.svg
deleted file mode 100644
index e4a05f87..00000000
--- a/vue/src/assets/icons/svg/wifi_3.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/wifi_4.svg b/vue/src/assets/icons/svg/wifi_4.svg
deleted file mode 100644
index 761c124e..00000000
--- a/vue/src/assets/icons/svg/wifi_4.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svg/zip.svg b/vue/src/assets/icons/svg/zip.svg
deleted file mode 100644
index f806fc48..00000000
--- a/vue/src/assets/icons/svg/zip.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vue/src/assets/icons/svgo.yml b/vue/src/assets/icons/svgo.yml
deleted file mode 100644
index d11906ae..00000000
--- a/vue/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/vue/src/assets/images/dark.svg b/vue/src/assets/images/dark.svg
deleted file mode 100644
index f646bd7e..00000000
--- a/vue/src/assets/images/dark.svg
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
\ No newline at end of file
diff --git a/vue/src/assets/images/light.svg b/vue/src/assets/images/light.svg
deleted file mode 100644
index ab7cc088..00000000
--- a/vue/src/assets/images/light.svg
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
\ No newline at end of file
diff --git a/vue/src/assets/images/login-background.jpg b/vue/src/assets/images/login-background.jpg
deleted file mode 100644
index 8a89eb82..00000000
Binary files a/vue/src/assets/images/login-background.jpg and /dev/null differ
diff --git a/vue/src/assets/images/profile.jpg b/vue/src/assets/images/profile.jpg
deleted file mode 100644
index b3a940b2..00000000
Binary files a/vue/src/assets/images/profile.jpg and /dev/null differ
diff --git a/vue/src/assets/logo/logo.png b/vue/src/assets/logo/logo.png
deleted file mode 100644
index 3e8e9cb6..00000000
Binary files a/vue/src/assets/logo/logo.png and /dev/null differ
diff --git a/vue/src/assets/styles/btn.scss b/vue/src/assets/styles/btn.scss
deleted file mode 100644
index e6ba1a8e..00000000
--- a/vue/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/vue/src/assets/styles/element-ui.scss b/vue/src/assets/styles/element-ui.scss
deleted file mode 100644
index 955d3cab..00000000
--- a/vue/src/assets/styles/element-ui.scss
+++ /dev/null
@@ -1,84 +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;
-}
-
-// to fix el-date-picker css style
-.el-range-separator {
- box-sizing: content-box;
-}
diff --git a/vue/src/assets/styles/element-variables.scss b/vue/src/assets/styles/element-variables.scss
deleted file mode 100644
index 8b7a48e9..00000000
--- a/vue/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/vue/src/assets/styles/index.scss b/vue/src/assets/styles/index.scss
deleted file mode 100644
index 96095ef6..00000000
--- a/vue/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/vue/src/assets/styles/mixin.scss b/vue/src/assets/styles/mixin.scss
deleted file mode 100644
index 06fa0612..00000000
--- a/vue/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/vue/src/assets/styles/ruoyi.scss b/vue/src/assets/styles/ruoyi.scss
deleted file mode 100644
index b1a16615..00000000
--- a/vue/src/assets/styles/ruoyi.scss
+++ /dev/null
@@ -1,240 +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:not(.is-fullscreen){
- margin-top: 6vh !important;
-}
-
-.el-table {
- .el-table__header-wrapper, .el-table__fixed-header-wrapper {
- th {
- word-break: break-word;
- background-color: #f8f8f9;
- color: #515a6e;
- height: 40px;
- font-size: 13px;
- }
- }
- .el-table__body-wrapper {
- .el-button [class*="el-icon-"] + span {
- margin-left: 1px;
- }
- }
-}
-
-/** 表单布局 **/
-.form-header {
- font-size:15px;
- color:#6379bb;
- border-bottom:1px solid #ddd;
- margin:8px 10px 25px 10px;
- padding-bottom:5px
-}
-
-/** 表格布局 **/
-.pagination-container {
- position: relative;
- height: 25px;
- margin-bottom: 10px;
- margin-top: 15px;
- padding: 10px 20px !important;
-}
-
-/* tree border */
-.tree-border {
- margin-top: 5px;
- border: 1px solid #e5e6e7;
- background: #FFFFFF none;
- border-radius:4px;
-}
-
-.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;
-}
-
-/* button color */
-.el-button--cyan.is-active,
-.el-button--cyan:active {
- background: #20B2AA;
- border-color: #20B2AA;
- color: #FFFFFF;
-}
-
-.el-button--cyan:focus,
-.el-button--cyan:hover {
- background: #48D1CC;
- border-color: #48D1CC;
- color: #FFFFFF;
-}
-
-.el-button--cyan {
- background-color: #20B2AA;
- border-color: #20B2AA;
- color: #FFFFFF;
-}
-
-/* text color */
-.text-navy {
- color: #1ab394;
-}
-
-.text-primary {
- color: inherit;
-}
-
-.text-success {
- color: #1c84c6;
-}
-
-.text-info {
- color: #23c6c8;
-}
-
-.text-warning {
- color: #f8ac59;
-}
-
-.text-danger {
- color: #ed5565;
-}
-
-.text-muted {
- color: #888888;
-}
-
-/* image */
-.img-circle {
- border-radius: 50%;
-}
-
-.img-lg {
- width: 120px;
- height: 120px;
-}
-
-.avatar-upload-preview {
- position: absolute;
- top: 50%;
- transform: translate(50%, -50%);
- width: 200px;
- height: 200px;
- border-radius: 50%;
- box-shadow: 0 0 4px #ccc;
- overflow: hidden;
-}
-
-/* 拖拽列样式 */
-.sortable-ghost{
- opacity: .8;
- color: #fff!important;
- background: #42b983!important;
-}
-
-.top-right-btn {
- position: relative;
- float: right;
-}
diff --git a/vue/src/assets/styles/sidebar.scss b/vue/src/assets/styles/sidebar.scss
deleted file mode 100644
index 0eb8e78d..00000000
--- a/vue/src/assets/styles/sidebar.scss
+++ /dev/null
@@ -1,226 +0,0 @@
-#app {
-
- .main-container {
- min-height: 100%;
- transition: margin-left .28s;
- margin-left: $sideBarWidth;
- position: relative;
- }
-
- .sidebar-container {
- -webkit-transition: width .28s;
- 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;
- -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
- box-shadow: 2px 0 6px rgba(0,21,41,.35);
-
- // reset element-ui css
- .horizontal-collapse-transition {
- transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
- }
-
- .scrollbar-wrapper {
- overflow-x: hidden !important;
- }
-
- .el-scrollbar__bar.is-vertical {
- right: 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;
- }
-
- .el-menu-item, .el-submenu__title {
- overflow: hidden !important;
- text-overflow: ellipsis !important;
- white-space: nowrap !important;
- }
-
- // menu hover
- .submenu-title-noDropdown,
- .el-submenu__title {
- &:hover {
- background-color: rgba(0, 0, 0, 0.06) !important;
- }
- }
-
- & .theme-dark .is-active > .el-submenu__title {
- color: $subMenuActiveText !important;
- }
-
- & .nest-menu .el-submenu>.el-submenu__title,
- & .el-submenu .el-menu-item {
- min-width: $sideBarWidth !important;
-
- &:hover {
- background-color: rgba(0, 0, 0, 0.06) !important;
- }
- }
-
- & .theme-dark .nest-menu .el-submenu>.el-submenu__title,
- & .theme-dark .el-submenu .el-menu-item {
- 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: rgba(0, 0, 0, 0.06) !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/vue/src/assets/styles/transition.scss b/vue/src/assets/styles/transition.scss
deleted file mode 100644
index 4cb27cc8..00000000
--- a/vue/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/vue/src/assets/styles/variables.scss b/vue/src/assets/styles/variables.scss
deleted file mode 100644
index 452a1ece..00000000
--- a/vue/src/assets/styles/variables.scss
+++ /dev/null
@@ -1,44 +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;
-$sidebarTitle: #ffffff;
-
-$menuLightBg:#ffffff;
-$menuLightHover:#f0f1f5;
-$sidebarLightTitle: #001529;
-
-$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;
- menuLightBg: $menuLightBg;
- menuLightHover: $menuLightHover;
- subMenuBg: $subMenuBg;
- subMenuHover: $subMenuHover;
- sideBarWidth: $sideBarWidth;
- sidebarTitle: $sidebarTitle;
- sidebarLightTitle: $sidebarLightTitle
-}
diff --git a/vue/src/components/Breadcrumb/index.vue b/vue/src/components/Breadcrumb/index.vue
deleted file mode 100644
index b313fdd6..00000000
--- a/vue/src/components/Breadcrumb/index.vue
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
- {{ item.meta.title }}
- {{ item.meta.title }}
-
-
-
-
-
-
-
-
diff --git a/vue/src/components/Editor/index.vue b/vue/src/components/Editor/index.vue
deleted file mode 100644
index ad35bbf5..00000000
--- a/vue/src/components/Editor/index.vue
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/components/FileUpload/index.vue b/vue/src/components/FileUpload/index.vue
deleted file mode 100644
index 69942aa0..00000000
--- a/vue/src/components/FileUpload/index.vue
+++ /dev/null
@@ -1,179 +0,0 @@
-
-
-
-
- 选取文件
-
-
- 请上传
- 大小不超过 {{ fileSize }}MB
- 格式为 {{ fileType.join("/") }}
- 的文件
-
-
-
-
-
-
-
- {{ getFileName(file.name) }}
-
-
- 删除
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/components/Hamburger/index.vue b/vue/src/components/Hamburger/index.vue
deleted file mode 100644
index 368b0021..00000000
--- a/vue/src/components/Hamburger/index.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/components/HeaderSearch/index.vue b/vue/src/components/HeaderSearch/index.vue
deleted file mode 100644
index ce9f305f..00000000
--- a/vue/src/components/HeaderSearch/index.vue
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/components/IconSelect/index.vue b/vue/src/components/IconSelect/index.vue
deleted file mode 100644
index b0ec9fa1..00000000
--- a/vue/src/components/IconSelect/index.vue
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/vue/src/components/IconSelect/requireIcons.js b/vue/src/components/IconSelect/requireIcons.js
deleted file mode 100644
index 99e5c54c..00000000
--- a/vue/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/vue/src/components/ImageUpload/index.vue b/vue/src/components/ImageUpload/index.vue
deleted file mode 100644
index 8996329a..00000000
--- a/vue/src/components/ImageUpload/index.vue
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/components/Pagination/index.vue b/vue/src/components/Pagination/index.vue
deleted file mode 100644
index c815e132..00000000
--- a/vue/src/components/Pagination/index.vue
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/components/PanThumb/index.vue b/vue/src/components/PanThumb/index.vue
deleted file mode 100644
index 1bcf4170..00000000
--- a/vue/src/components/PanThumb/index.vue
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/components/ParentView/index.vue b/vue/src/components/ParentView/index.vue
deleted file mode 100644
index 7bf61489..00000000
--- a/vue/src/components/ParentView/index.vue
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/vue/src/components/RightPanel/index.vue b/vue/src/components/RightPanel/index.vue
deleted file mode 100644
index fbf27eb4..00000000
--- a/vue/src/components/RightPanel/index.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/components/RightToolbar/index.vue b/vue/src/components/RightToolbar/index.vue
deleted file mode 100644
index 92c65a53..00000000
--- a/vue/src/components/RightToolbar/index.vue
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/components/RuoYi/Doc/index.vue b/vue/src/components/RuoYi/Doc/index.vue
deleted file mode 100644
index a6187f30..00000000
--- a/vue/src/components/RuoYi/Doc/index.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/components/RuoYi/Git/index.vue b/vue/src/components/RuoYi/Git/index.vue
deleted file mode 100644
index 1d09a774..00000000
--- a/vue/src/components/RuoYi/Git/index.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/components/Screenfull/index.vue b/vue/src/components/Screenfull/index.vue
deleted file mode 100644
index d4e539c2..00000000
--- a/vue/src/components/Screenfull/index.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/components/SizeSelect/index.vue b/vue/src/components/SizeSelect/index.vue
deleted file mode 100644
index e88065b4..00000000
--- a/vue/src/components/SizeSelect/index.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
- {{
- item.label }}
-
-
-
-
-
-
diff --git a/vue/src/components/SvgIcon/index.vue b/vue/src/components/SvgIcon/index.vue
deleted file mode 100644
index e4bf5ade..00000000
--- a/vue/src/components/SvgIcon/index.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/vue/src/components/ThemePicker/index.vue b/vue/src/components/ThemePicker/index.vue
deleted file mode 100644
index 3879c5ad..00000000
--- a/vue/src/components/ThemePicker/index.vue
+++ /dev/null
@@ -1,175 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/directive/permission/hasPermi.js b/vue/src/directive/permission/hasPermi.js
deleted file mode 100644
index d7107cec..00000000
--- a/vue/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/vue/src/directive/permission/hasRole.js b/vue/src/directive/permission/hasRole.js
deleted file mode 100644
index 13038099..00000000
--- a/vue/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/vue/src/directive/permission/index.js b/vue/src/directive/permission/index.js
deleted file mode 100644
index e3d76d38..00000000
--- a/vue/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/vue/src/layout/components/AppMain.vue b/vue/src/layout/components/AppMain.vue
deleted file mode 100644
index a8976380..00000000
--- a/vue/src/layout/components/AppMain.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/Navbar.vue b/vue/src/layout/components/Navbar.vue
deleted file mode 100644
index b11460a3..00000000
--- a/vue/src/layout/components/Navbar.vue
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/Settings/index.vue b/vue/src/layout/components/Settings/index.vue
deleted file mode 100644
index 9d42790a..00000000
--- a/vue/src/layout/components/Settings/index.vue
+++ /dev/null
@@ -1,197 +0,0 @@
-
-
-
-
-
-
主题风格设置
-
-
-
-

-
-
-
-

-
-
-
-
-
- 主题颜色
-
-
-
-
-
-
-
系统布局配置
-
-
- 开启 Tags-Views
-
-
-
-
- 固定 Header
-
-
-
-
- 显示 Logo
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/Sidebar/FixiOSBug.js b/vue/src/layout/components/Sidebar/FixiOSBug.js
deleted file mode 100644
index 68237269..00000000
--- a/vue/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/vue/src/layout/components/Sidebar/Item.vue b/vue/src/layout/components/Sidebar/Item.vue
deleted file mode 100644
index b515f615..00000000
--- a/vue/src/layout/components/Sidebar/Item.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
diff --git a/vue/src/layout/components/Sidebar/Link.vue b/vue/src/layout/components/Sidebar/Link.vue
deleted file mode 100644
index 530b3d5b..00000000
--- a/vue/src/layout/components/Sidebar/Link.vue
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/Sidebar/Logo.vue b/vue/src/layout/components/Sidebar/Logo.vue
deleted file mode 100644
index b286685b..00000000
--- a/vue/src/layout/components/Sidebar/Logo.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/Sidebar/SidebarItem.vue b/vue/src/layout/components/Sidebar/SidebarItem.vue
deleted file mode 100644
index c4febee2..00000000
--- a/vue/src/layout/components/Sidebar/SidebarItem.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/Sidebar/index.vue b/vue/src/layout/components/Sidebar/index.vue
deleted file mode 100644
index 9e5d2bb3..00000000
--- a/vue/src/layout/components/Sidebar/index.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/TagsView/ScrollPane.vue b/vue/src/layout/components/TagsView/ScrollPane.vue
deleted file mode 100644
index bb753a12..00000000
--- a/vue/src/layout/components/TagsView/ScrollPane.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/TagsView/index.vue b/vue/src/layout/components/TagsView/index.vue
deleted file mode 100644
index d1e059ea..00000000
--- a/vue/src/layout/components/TagsView/index.vue
+++ /dev/null
@@ -1,303 +0,0 @@
-
-
-
-
- {{ tag.title }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/layout/components/index.js b/vue/src/layout/components/index.js
deleted file mode 100644
index 104bd3ac..00000000
--- a/vue/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/vue/src/layout/index.vue b/vue/src/layout/index.vue
deleted file mode 100644
index d4907719..00000000
--- a/vue/src/layout/index.vue
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
-
diff --git a/vue/src/layout/mixin/ResizeHandler.js b/vue/src/layout/mixin/ResizeHandler.js
deleted file mode 100644
index e8d0df8c..00000000
--- a/vue/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/vue/src/main.js b/vue/src/main.js
deleted file mode 100644
index 5668d91e..00000000
--- a/vue/src/main.js
+++ /dev/null
@@ -1,73 +0,0 @@
-import Vue from 'vue'
-
-import Cookies from 'js-cookie'
-
-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, selectDictLabels, download, handleTree } from "@/utils/ruoyi";
-import Pagination from "@/components/Pagination";
-// 自定义表格工具扩展
-import RightToolbar from "@/components/RightToolbar"
-
-// 全局方法挂载
-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.selectDictLabels = selectDictLabels
-Vue.prototype.download = download
-Vue.prototype.handleTree = handleTree
-
-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.component('RightToolbar', RightToolbar)
-
-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/vue/src/permission.js b/vue/src/permission.js
deleted file mode 100644
index 6a2ec212..00000000
--- a/vue/src/permission.js
+++ /dev/null
@@ -1,54 +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 => {
- // 根据roles权限生成可访问的路由表
- router.addRoutes(accessRoutes) // 动态添加可访问路由表
- next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
- })
- }).catch(err => {
- store.dispatch('LogOut').then(() => {
- Message.error(err)
- next({ path: '/' })
- })
- })
- } else {
- next()
- }
- }
- } else {
- // 没有token
- if (whiteList.indexOf(to.path) !== -1) {
- // 在免登录白名单,直接进入
- next()
- } else {
- next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
- NProgress.done()
- }
- }
-})
-
-router.afterEach(() => {
- NProgress.done()
-})
diff --git a/vue/src/router/index.js b/vue/src/router/index.js
deleted file mode 100644
index ffb12e7d..00000000
--- a/vue/src/router/index.js
+++ /dev/null
@@ -1,128 +0,0 @@
-import Vue from 'vue'
-import Router from 'vue-router'
-
-Vue.use(Router)
-
-/* Layout */
-import Layout from '@/layout'
-import ParentView from '@/components/ParentView';
-
-/**
- * Note: 路由配置项
- *
- * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1
- * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
- * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
- * // 若你想不管路由下面的 children 声明的个数都显示你的根路由
- * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由
- * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
- * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题
- * meta : {
- noCache: true // 如果设置为true,则不会被 缓存(默认 false)
- title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
- icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg
- breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示
- }
- */
-
-// 公共路由
-export const constantRoutes = [
- {
- path: '/redirect',
- component: Layout,
- hidden: true,
- children: [
- {
- path: '/redirect/:path(.*)',
- component: (resolve) => require(['@/views/redirect'], resolve)
- }
- ]
- },
- {
- path: '/login',
- component: (resolve) => require(['@/views/login'], resolve),
- hidden: true
- },
- {
- path: '/404',
- component: (resolve) => require(['@/views/error/404'], resolve),
- hidden: true
- },
- {
- path: '/401',
- component: (resolve) => require(['@/views/error/401'], resolve),
- hidden: true
- },
- {
- path: '',
- component: Layout,
- redirect: 'index',
- children: [
- {
- path: 'index',
- component: (resolve) => require(['@/views/index'], resolve),
- name: '首页',
- meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true }
- }
- ]
- },
- {
- path: '/user',
- component: Layout,
- hidden: true,
- redirect: 'noredirect',
- children: [
- {
- path: 'profile',
- component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
- name: 'Profile',
- meta: { title: '个人中心', icon: 'user' }
- }
- ]
- },
- {
- path: '/dict',
- component: Layout,
- hidden: true,
- children: [
- {
- path: 'type/data/:dictId(\\d+)',
- component: (resolve) => require(['@/views/system/dict/data'], resolve),
- name: 'Data',
- meta: { title: '字典数据', icon: '' }
- }
- ]
- },
- {
- path: '/job',
- component: Layout,
- hidden: true,
- children: [
- {
- path: 'log',
- component: (resolve) => require(['@/views/monitor/job/log'], resolve),
- name: 'JobLog',
- meta: { title: '调度日志' }
- }
- ]
- },
- {
- path: '/gen',
- component: Layout,
- hidden: true,
- children: [
- {
- path: 'edit/:tableId(\\d+)',
- component: (resolve) => require(['@/views/tool/gen/editTable'], resolve),
- name: 'GenEdit',
- meta: { title: '修改生成配置' }
- }
- ]
- }
-]
-
-export default new Router({
- mode: 'history', // 去掉url中的#
- scrollBehavior: () => ({ y: 0 }),
- routes: constantRoutes
-})
diff --git a/vue/src/settings.js b/vue/src/settings.js
deleted file mode 100644
index 3dd380c4..00000000
--- a/vue/src/settings.js
+++ /dev/null
@@ -1,36 +0,0 @@
-module.exports = {
- title: '物美智能',
-
- /**
- * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
- */
- sideTheme: 'theme-dark',
-
- /**
- * 是否系统布局配置
- */
- 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/vue/src/store/getters.js b/vue/src/store/getters.js
deleted file mode 100644
index 00c4ebf3..00000000
--- a/vue/src/store/getters.js
+++ /dev/null
@@ -1,16 +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,
- sidebarRouters:state => state.permission.sidebarRouters,
-}
-export default getters
diff --git a/vue/src/store/index.js b/vue/src/store/index.js
deleted file mode 100644
index 53b8437a..00000000
--- a/vue/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/vue/src/store/modules/app.js b/vue/src/store/modules/app.js
deleted file mode 100644
index 45d89bb9..00000000
--- a/vue/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/vue/src/store/modules/permission.js b/vue/src/store/modules/permission.js
deleted file mode 100644
index 80015b06..00000000
--- a/vue/src/store/modules/permission.js
+++ /dev/null
@@ -1,95 +0,0 @@
-import { constantRoutes } from '@/router'
-import { getRouters } from '@/api/menu'
-import Layout from '@/layout/index'
-import ParentView from '@/components/ParentView';
-
-const permission = {
- state: {
- routes: [],
- addRoutes: [],
- sidebarRouters: []
- },
- mutations: {
- SET_ROUTES: (state, routes) => {
- state.addRoutes = routes
- state.routes = constantRoutes.concat(routes)
- },
- SET_SIDEBAR_ROUTERS: (state, routers) => {
- state.sidebarRouters = constantRoutes.concat(routers)
- },
- },
- actions: {
- // 生成路由
- GenerateRoutes({ commit }) {
- return new Promise(resolve => {
- // 向后端请求路由数据
- getRouters().then(res => {
- const sdata = JSON.parse(JSON.stringify(res.data))
- const rdata = JSON.parse(JSON.stringify(res.data))
- const sidebarRoutes = filterAsyncRouter(sdata)
- const rewriteRoutes = filterAsyncRouter(rdata, false, true)
- rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true })
- commit('SET_ROUTES', rewriteRoutes)
- commit('SET_SIDEBAR_ROUTERS', sidebarRoutes)
- resolve(rewriteRoutes)
- })
- })
- }
- }
-}
-
-// 遍历后台传来的路由字符串,转换为组件对象
-function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
- return asyncRouterMap.filter(route => {
- if (type && route.children) {
- route.children = filterChildren(route.children)
- }
- if (route.component) {
- // Layout ParentView 组件特殊处理
- if (route.component === 'Layout') {
- route.component = Layout
- } else if (route.component === 'ParentView') {
- route.component = ParentView
- } else {
- route.component = loadView(route.component)
- }
- }
- if (route.children != null && route.children && route.children.length) {
- route.children = filterAsyncRouter(route.children, route, type)
- } else {
- delete route['children']
- delete route['redirect']
- }
- return true
- })
-}
-
-function filterChildren(childrenMap, lastRouter = false) {
- var children = []
- childrenMap.forEach((el, index) => {
- if (el.children && el.children.length) {
- if (el.component === 'ParentView') {
- el.children.forEach(c => {
- c.path = el.path + '/' + c.path
- if (c.children && c.children.length) {
- children = children.concat(filterChildren(c.children, c))
- return
- }
- children.push(c)
- })
- return
- }
- }
- if (lastRouter) {
- el.path = lastRouter.path + '/' + el.path
- }
- children = children.concat(el)
- })
- return children
-}
-
-export const loadView = (view) => { // 路由懒加载
- return (resolve) => require([`@/views/${view}`], resolve)
-}
-
-export default permission
diff --git a/vue/src/store/modules/settings.js b/vue/src/store/modules/settings.js
deleted file mode 100644
index 8bd81a38..00000000
--- a/vue/src/store/modules/settings.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import variables from '@/assets/styles/element-variables.scss'
-import defaultSettings from '@/settings'
-
-const { sideTheme, showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings
-
-const state = {
- theme: variables.theme,
- sideTheme: sideTheme,
- 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/vue/src/store/modules/tagsView.js b/vue/src/store/modules/tagsView.js
deleted file mode 100644
index 2e30d156..00000000
--- a/vue/src/store/modules/tagsView.js
+++ /dev/null
@@ -1,159 +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) => {
- const index = state.cachedViews.indexOf(view.name)
- index > -1 && state.cachedViews.splice(index, 1)
- },
-
- 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) => {
- const index = state.cachedViews.indexOf(view.name)
- if (index > -1) {
- state.cachedViews = state.cachedViews.slice(index, index + 1)
- } else {
- state.cachedViews = []
- }
- },
-
- 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/vue/src/store/modules/user.js b/vue/src/store/modules/user.js
deleted file mode 100644
index f3eb658b..00000000
--- a/vue/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/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
- if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
- 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/vue/src/utils/auth.js b/vue/src/utils/auth.js
deleted file mode 100644
index 08a43d6e..00000000
--- a/vue/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/vue/src/utils/errorCode.js b/vue/src/utils/errorCode.js
deleted file mode 100644
index d2111ee1..00000000
--- a/vue/src/utils/errorCode.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- '401': '认证失败,无法访问系统资源',
- '403': '当前操作没有权限',
- '404': '访问资源不存在',
- 'default': '系统未知错误,请反馈给管理员'
-}
diff --git a/vue/src/utils/generator/config.js b/vue/src/utils/generator/config.js
deleted file mode 100644
index 7abf227d..00000000
--- a/vue/src/utils/generator/config.js
+++ /dev/null
@@ -1,438 +0,0 @@
-export const formConf = {
- formRef: 'elForm',
- formModel: 'formData',
- size: 'medium',
- labelPosition: 'right',
- labelWidth: 100,
- formRules: 'rules',
- gutter: 15,
- disabled: false,
- span: 24,
- formBtns: true
-}
-
-export const inputComponents = [
- {
- label: '单行文本',
- tag: 'el-input',
- tagIcon: 'input',
- placeholder: '请输入',
- defaultValue: undefined,
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- clearable: true,
- prepend: '',
- append: '',
- 'prefix-icon': '',
- 'suffix-icon': '',
- maxlength: null,
- 'show-word-limit': false,
- readonly: false,
- disabled: false,
- required: true,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/input'
- },
- {
- label: '多行文本',
- tag: 'el-input',
- tagIcon: 'textarea',
- type: 'textarea',
- placeholder: '请输入',
- defaultValue: undefined,
- span: 24,
- labelWidth: null,
- autosize: {
- minRows: 4,
- maxRows: 4
- },
- style: { width: '100%' },
- maxlength: null,
- 'show-word-limit': false,
- readonly: false,
- disabled: false,
- required: true,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/input'
- },
- {
- label: '密码',
- tag: 'el-input',
- tagIcon: 'password',
- placeholder: '请输入',
- defaultValue: undefined,
- span: 24,
- 'show-password': true,
- labelWidth: null,
- style: { width: '100%' },
- clearable: true,
- prepend: '',
- append: '',
- 'prefix-icon': '',
- 'suffix-icon': '',
- maxlength: null,
- 'show-word-limit': false,
- readonly: false,
- disabled: false,
- required: true,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/input'
- },
- {
- label: '计数器',
- tag: 'el-input-number',
- tagIcon: 'number',
- placeholder: '',
- defaultValue: undefined,
- span: 24,
- labelWidth: null,
- min: undefined,
- max: undefined,
- step: undefined,
- 'step-strictly': false,
- precision: undefined,
- 'controls-position': '',
- disabled: false,
- required: true,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/input-number'
- }
-]
-
-export const selectComponents = [
- {
- label: '下拉选择',
- tag: 'el-select',
- tagIcon: 'select',
- placeholder: '请选择',
- defaultValue: undefined,
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- clearable: true,
- disabled: false,
- required: true,
- filterable: false,
- multiple: false,
- options: [{
- label: '选项一',
- value: 1
- }, {
- label: '选项二',
- value: 2
- }],
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/select'
- },
- {
- label: '级联选择',
- tag: 'el-cascader',
- tagIcon: 'cascader',
- placeholder: '请选择',
- defaultValue: [],
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- props: {
- props: {
- multiple: false
- }
- },
- 'show-all-levels': true,
- disabled: false,
- clearable: true,
- filterable: false,
- required: true,
- options: [{
- id: 1,
- value: 1,
- label: '选项1',
- children: [{
- id: 2,
- value: 2,
- label: '选项1-1'
- }]
- }],
- dataType: 'dynamic',
- labelKey: 'label',
- valueKey: 'value',
- childrenKey: 'children',
- separator: '/',
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/cascader'
- },
- {
- label: '单选框组',
- tag: 'el-radio-group',
- tagIcon: 'radio',
- defaultValue: undefined,
- span: 24,
- labelWidth: null,
- style: {},
- optionType: 'default',
- border: false,
- size: 'medium',
- disabled: false,
- required: true,
- options: [{
- label: '选项一',
- value: 1
- }, {
- label: '选项二',
- value: 2
- }],
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/radio'
- },
- {
- label: '多选框组',
- tag: 'el-checkbox-group',
- tagIcon: 'checkbox',
- defaultValue: [],
- span: 24,
- labelWidth: null,
- style: {},
- optionType: 'default',
- border: false,
- size: 'medium',
- disabled: false,
- required: true,
- options: [{
- label: '选项一',
- value: 1
- }, {
- label: '选项二',
- value: 2
- }],
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/checkbox'
- },
- {
- label: '开关',
- tag: 'el-switch',
- tagIcon: 'switch',
- defaultValue: false,
- span: 24,
- labelWidth: null,
- style: {},
- disabled: false,
- required: true,
- 'active-text': '',
- 'inactive-text': '',
- 'active-color': null,
- 'inactive-color': null,
- 'active-value': true,
- 'inactive-value': false,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/switch'
- },
- {
- label: '滑块',
- tag: 'el-slider',
- tagIcon: 'slider',
- defaultValue: null,
- span: 24,
- labelWidth: null,
- disabled: false,
- required: true,
- min: 0,
- max: 100,
- step: 1,
- 'show-stops': false,
- range: false,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/slider'
- },
- {
- label: '时间选择',
- tag: 'el-time-picker',
- tagIcon: 'time',
- placeholder: '请选择',
- defaultValue: null,
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- disabled: false,
- clearable: true,
- required: true,
- 'picker-options': {
- selectableRange: '00:00:00-23:59:59'
- },
- format: 'HH:mm:ss',
- 'value-format': 'HH:mm:ss',
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
- },
- {
- label: '时间范围',
- tag: 'el-time-picker',
- tagIcon: 'time-range',
- defaultValue: null,
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- disabled: false,
- clearable: true,
- required: true,
- 'is-range': true,
- 'range-separator': '至',
- 'start-placeholder': '开始时间',
- 'end-placeholder': '结束时间',
- format: 'HH:mm:ss',
- 'value-format': 'HH:mm:ss',
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
- },
- {
- label: '日期选择',
- tag: 'el-date-picker',
- tagIcon: 'date',
- placeholder: '请选择',
- defaultValue: null,
- type: 'date',
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- disabled: false,
- clearable: true,
- required: true,
- format: 'yyyy-MM-dd',
- 'value-format': 'yyyy-MM-dd',
- readonly: false,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'
- },
- {
- label: '日期范围',
- tag: 'el-date-picker',
- tagIcon: 'date-range',
- defaultValue: null,
- span: 24,
- labelWidth: null,
- style: { width: '100%' },
- type: 'daterange',
- 'range-separator': '至',
- 'start-placeholder': '开始日期',
- 'end-placeholder': '结束日期',
- disabled: false,
- clearable: true,
- required: true,
- format: 'yyyy-MM-dd',
- 'value-format': 'yyyy-MM-dd',
- readonly: false,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'
- },
- {
- label: '评分',
- tag: 'el-rate',
- tagIcon: 'rate',
- defaultValue: 0,
- span: 24,
- labelWidth: null,
- style: {},
- max: 5,
- 'allow-half': false,
- 'show-text': false,
- 'show-score': false,
- disabled: false,
- required: true,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/rate'
- },
- {
- label: '颜色选择',
- tag: 'el-color-picker',
- tagIcon: 'color',
- defaultValue: null,
- labelWidth: null,
- 'show-alpha': false,
- 'color-format': '',
- disabled: false,
- required: true,
- size: 'medium',
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/color-picker'
- },
- {
- label: '上传',
- tag: 'el-upload',
- tagIcon: 'upload',
- action: 'https://jsonplaceholder.typicode.com/posts/',
- defaultValue: null,
- labelWidth: null,
- disabled: false,
- required: true,
- accept: '',
- name: 'file',
- 'auto-upload': true,
- showTip: false,
- buttonText: '点击上传',
- fileSize: 2,
- sizeUnit: 'MB',
- 'list-type': 'text',
- multiple: false,
- regList: [],
- changeTag: true,
- document: 'https://element.eleme.cn/#/zh-CN/component/upload'
- }
-]
-
-export const layoutComponents = [
- {
- layout: 'rowFormItem',
- tagIcon: 'row',
- type: 'default',
- justify: 'start',
- align: 'top',
- label: '行容器',
- layoutTree: true,
- children: [],
- document: 'https://element.eleme.cn/#/zh-CN/component/layout'
- },
- {
- layout: 'colFormItem',
- label: '按钮',
- changeTag: true,
- labelWidth: null,
- tag: 'el-button',
- tagIcon: 'button',
- span: 24,
- default: '主要按钮',
- type: 'primary',
- icon: 'el-icon-search',
- size: 'medium',
- disabled: false,
- document: 'https://element.eleme.cn/#/zh-CN/component/button'
- }
-]
-
-// 组件rule的触发方式,无触发方式的组件不生成rule
-export const trigger = {
- 'el-input': 'blur',
- 'el-input-number': 'blur',
- 'el-select': 'change',
- 'el-radio-group': 'change',
- 'el-checkbox-group': 'change',
- 'el-cascader': 'change',
- 'el-time-picker': 'change',
- 'el-date-picker': 'change',
- 'el-rate': 'change'
-}
diff --git a/vue/src/utils/generator/css.js b/vue/src/utils/generator/css.js
deleted file mode 100644
index c1c62e60..00000000
--- a/vue/src/utils/generator/css.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const styles = {
- 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}',
- 'el-upload': '.el-upload__tip{line-height: 1.2;}'
-}
-
-function addCss(cssList, el) {
- const css = styles[el.tag]
- css && cssList.indexOf(css) === -1 && cssList.push(css)
- if (el.children) {
- el.children.forEach(el2 => addCss(cssList, el2))
- }
-}
-
-export function makeUpCss(conf) {
- const cssList = []
- conf.fields.forEach(el => addCss(cssList, el))
- return cssList.join('\n')
-}
diff --git a/vue/src/utils/generator/drawingDefalut.js b/vue/src/utils/generator/drawingDefalut.js
deleted file mode 100644
index 09f133ca..00000000
--- a/vue/src/utils/generator/drawingDefalut.js
+++ /dev/null
@@ -1,29 +0,0 @@
-export default [
- {
- layout: 'colFormItem',
- tagIcon: 'input',
- label: '手机号',
- vModel: 'mobile',
- formId: 6,
- tag: 'el-input',
- placeholder: '请输入手机号',
- defaultValue: '',
- span: 24,
- style: { width: '100%' },
- clearable: true,
- prepend: '',
- append: '',
- 'prefix-icon': 'el-icon-mobile',
- 'suffix-icon': '',
- maxlength: 11,
- 'show-word-limit': true,
- readonly: false,
- disabled: false,
- required: true,
- changeTag: true,
- regList: [{
- pattern: '/^1(3|4|5|7|8|9)\\d{9}$/',
- message: '手机号格式错误'
- }]
- }
-]
diff --git a/vue/src/utils/generator/html.js b/vue/src/utils/generator/html.js
deleted file mode 100644
index ebf628d2..00000000
--- a/vue/src/utils/generator/html.js
+++ /dev/null
@@ -1,359 +0,0 @@
-/* eslint-disable max-len */
-import { trigger } from './config'
-
-let confGlobal
-let someSpanIsNot24
-
-export function dialogWrapper(str) {
- return `
- ${str}
-
- 取消
- 确定
-
- `
-}
-
-export function vueTemplate(str) {
- return `
-
- ${str}
-
- `
-}
-
-export function vueScript(str) {
- return ``
-}
-
-export function cssStyle(cssStr) {
- return ``
-}
-
-function buildFormTemplate(conf, child, type) {
- let labelPosition = ''
- if (conf.labelPosition !== 'right') {
- labelPosition = `label-position="${conf.labelPosition}"`
- }
- const disabled = conf.disabled ? `:disabled="${conf.disabled}"` : ''
- let str = `
- ${child}
- ${buildFromBtns(conf, type)}
- `
- if (someSpanIsNot24) {
- str = `
- ${str}
- `
- }
- return str
-}
-
-function buildFromBtns(conf, type) {
- let str = ''
- if (conf.formBtns && type === 'file') {
- str = `
- 提交
- 重置
- `
- if (someSpanIsNot24) {
- str = `
- ${str}
- `
- }
- }
- return str
-}
-
-// span不为24的用el-col包裹
-function colWrapper(element, str) {
- if (someSpanIsNot24 || element.span !== 24) {
- return `
- ${str}
- `
- }
- return str
-}
-
-const layouts = {
- colFormItem(element) {
- let labelWidth = ''
- if (element.labelWidth && element.labelWidth !== confGlobal.labelWidth) {
- labelWidth = `label-width="${element.labelWidth}px"`
- }
- const required = !trigger[element.tag] && element.required ? 'required' : ''
- const tagDom = tags[element.tag] ? tags[element.tag](element) : null
- let str = `
- ${tagDom}
- `
- str = colWrapper(element, str)
- return str
- },
- rowFormItem(element) {
- const type = element.type === 'default' ? '' : `type="${element.type}"`
- const justify = element.type === 'default' ? '' : `justify="${element.justify}"`
- const align = element.type === 'default' ? '' : `align="${element.align}"`
- const gutter = element.gutter ? `gutter="${element.gutter}"` : ''
- const children = element.children.map(el => layouts[el.layout](el))
- let str = `
- ${children.join('\n')}
- `
- str = colWrapper(element, str)
- return str
- }
-}
-
-const tags = {
- 'el-button': el => {
- const {
- tag, disabled
- } = attrBuilder(el)
- const type = el.type ? `type="${el.type}"` : ''
- const icon = el.icon ? `icon="${el.icon}"` : ''
- const size = el.size ? `size="${el.size}"` : ''
- let child = buildElButtonChild(el)
-
- if (child) child = `\n${child}\n` // 换行
- return `<${el.tag} ${type} ${icon} ${size} ${disabled}>${child}${el.tag}>`
- },
- 'el-input': el => {
- const {
- disabled, vModel, clearable, placeholder, width
- } = attrBuilder(el)
- const maxlength = el.maxlength ? `:maxlength="${el.maxlength}"` : ''
- const showWordLimit = el['show-word-limit'] ? 'show-word-limit' : ''
- const readonly = el.readonly ? 'readonly' : ''
- const prefixIcon = el['prefix-icon'] ? `prefix-icon='${el['prefix-icon']}'` : ''
- const suffixIcon = el['suffix-icon'] ? `suffix-icon='${el['suffix-icon']}'` : ''
- const showPassword = el['show-password'] ? 'show-password' : ''
- const type = el.type ? `type="${el.type}"` : ''
- const autosize = el.autosize && el.autosize.minRows
- ? `:autosize="{minRows: ${el.autosize.minRows}, maxRows: ${el.autosize.maxRows}}"`
- : ''
- let child = buildElInputChild(el)
-
- if (child) child = `\n${child}\n` // 换行
- return `<${el.tag} ${vModel} ${type} ${placeholder} ${maxlength} ${showWordLimit} ${readonly} ${disabled} ${clearable} ${prefixIcon} ${suffixIcon} ${showPassword} ${autosize} ${width}>${child}${el.tag}>`
- },
- 'el-input-number': el => {
- const { disabled, vModel, placeholder } = attrBuilder(el)
- const controlsPosition = el['controls-position'] ? `controls-position=${el['controls-position']}` : ''
- const min = el.min ? `:min='${el.min}'` : ''
- const max = el.max ? `:max='${el.max}'` : ''
- const step = el.step ? `:step='${el.step}'` : ''
- const stepStrictly = el['step-strictly'] ? 'step-strictly' : ''
- const precision = el.precision ? `:precision='${el.precision}'` : ''
-
- return `<${el.tag} ${vModel} ${placeholder} ${step} ${stepStrictly} ${precision} ${controlsPosition} ${min} ${max} ${disabled}>${el.tag}>`
- },
- 'el-select': el => {
- const {
- disabled, vModel, clearable, placeholder, width
- } = attrBuilder(el)
- const filterable = el.filterable ? 'filterable' : ''
- const multiple = el.multiple ? 'multiple' : ''
- let child = buildElSelectChild(el)
-
- if (child) child = `\n${child}\n` // 换行
- return `<${el.tag} ${vModel} ${placeholder} ${disabled} ${multiple} ${filterable} ${clearable} ${width}>${child}${el.tag}>`
- },
- 'el-radio-group': el => {
- const { disabled, vModel } = attrBuilder(el)
- const size = `size="${el.size}"`
- let child = buildElRadioGroupChild(el)
-
- if (child) child = `\n${child}\n` // 换行
- return `<${el.tag} ${vModel} ${size} ${disabled}>${child}${el.tag}>`
- },
- 'el-checkbox-group': el => {
- const { disabled, vModel } = attrBuilder(el)
- const size = `size="${el.size}"`
- const min = el.min ? `:min="${el.min}"` : ''
- const max = el.max ? `:max="${el.max}"` : ''
- let child = buildElCheckboxGroupChild(el)
-
- if (child) child = `\n${child}\n` // 换行
- return `<${el.tag} ${vModel} ${min} ${max} ${size} ${disabled}>${child}${el.tag}>`
- },
- 'el-switch': el => {
- const { disabled, vModel } = attrBuilder(el)
- const activeText = el['active-text'] ? `active-text="${el['active-text']}"` : ''
- const inactiveText = el['inactive-text'] ? `inactive-text="${el['inactive-text']}"` : ''
- const activeColor = el['active-color'] ? `active-color="${el['active-color']}"` : ''
- const inactiveColor = el['inactive-color'] ? `inactive-color="${el['inactive-color']}"` : ''
- const activeValue = el['active-value'] !== true ? `:active-value='${JSON.stringify(el['active-value'])}'` : ''
- const inactiveValue = el['inactive-value'] !== false ? `:inactive-value='${JSON.stringify(el['inactive-value'])}'` : ''
-
- return `<${el.tag} ${vModel} ${activeText} ${inactiveText} ${activeColor} ${inactiveColor} ${activeValue} ${inactiveValue} ${disabled}>${el.tag}>`
- },
- 'el-cascader': el => {
- const {
- disabled, vModel, clearable, placeholder, width
- } = attrBuilder(el)
- const options = el.options ? `:options="${el.vModel}Options"` : ''
- const props = el.props ? `:props="${el.vModel}Props"` : ''
- const showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels="false"'
- const filterable = el.filterable ? 'filterable' : ''
- const separator = el.separator === '/' ? '' : `separator="${el.separator}"`
-
- return `<${el.tag} ${vModel} ${options} ${props} ${width} ${showAllLevels} ${placeholder} ${separator} ${filterable} ${clearable} ${disabled}>${el.tag}>`
- },
- 'el-slider': el => {
- const { disabled, vModel } = attrBuilder(el)
- const min = el.min ? `:min='${el.min}'` : ''
- const max = el.max ? `:max='${el.max}'` : ''
- const step = el.step ? `:step='${el.step}'` : ''
- const range = el.range ? 'range' : ''
- const showStops = el['show-stops'] ? `:show-stops="${el['show-stops']}"` : ''
-
- return `<${el.tag} ${min} ${max} ${step} ${vModel} ${range} ${showStops} ${disabled}>${el.tag}>`
- },
- 'el-time-picker': el => {
- const {
- disabled, vModel, clearable, placeholder, width
- } = attrBuilder(el)
- const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : ''
- const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : ''
- const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : ''
- const isRange = el['is-range'] ? 'is-range' : ''
- const format = el.format ? `format="${el.format}"` : ''
- const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : ''
- const pickerOptions = el['picker-options'] ? `:picker-options='${JSON.stringify(el['picker-options'])}'` : ''
-
- return `<${el.tag} ${vModel} ${isRange} ${format} ${valueFormat} ${pickerOptions} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${disabled}>${el.tag}>`
- },
- 'el-date-picker': el => {
- const {
- disabled, vModel, clearable, placeholder, width
- } = attrBuilder(el)
- const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : ''
- const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : ''
- const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : ''
- const format = el.format ? `format="${el.format}"` : ''
- const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : ''
- const type = el.type === 'date' ? '' : `type="${el.type}"`
- const readonly = el.readonly ? 'readonly' : ''
-
- return `<${el.tag} ${type} ${vModel} ${format} ${valueFormat} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${readonly} ${disabled}>${el.tag}>`
- },
- 'el-rate': el => {
- const { disabled, vModel } = attrBuilder(el)
- const max = el.max ? `:max='${el.max}'` : ''
- const allowHalf = el['allow-half'] ? 'allow-half' : ''
- const showText = el['show-text'] ? 'show-text' : ''
- const showScore = el['show-score'] ? 'show-score' : ''
-
- return `<${el.tag} ${vModel} ${allowHalf} ${showText} ${showScore} ${disabled}>${el.tag}>`
- },
- 'el-color-picker': el => {
- const { disabled, vModel } = attrBuilder(el)
- const size = `size="${el.size}"`
- const showAlpha = el['show-alpha'] ? 'show-alpha' : ''
- const colorFormat = el['color-format'] ? `color-format="${el['color-format']}"` : ''
-
- return `<${el.tag} ${vModel} ${size} ${showAlpha} ${colorFormat} ${disabled}>${el.tag}>`
- },
- 'el-upload': el => {
- const disabled = el.disabled ? ':disabled=\'true\'' : ''
- const action = el.action ? `:action="${el.vModel}Action"` : ''
- const multiple = el.multiple ? 'multiple' : ''
- const listType = el['list-type'] !== 'text' ? `list-type="${el['list-type']}"` : ''
- const accept = el.accept ? `accept="${el.accept}"` : ''
- const name = el.name !== 'file' ? `name="${el.name}"` : ''
- const autoUpload = el['auto-upload'] === false ? ':auto-upload="false"' : ''
- const beforeUpload = `:before-upload="${el.vModel}BeforeUpload"`
- const fileList = `:file-list="${el.vModel}fileList"`
- const ref = `ref="${el.vModel}"`
- let child = buildElUploadChild(el)
-
- if (child) child = `\n${child}\n` // 换行
- return `<${el.tag} ${ref} ${fileList} ${action} ${autoUpload} ${multiple} ${beforeUpload} ${listType} ${accept} ${name} ${disabled}>${child}${el.tag}>`
- }
-}
-
-function attrBuilder(el) {
- return {
- vModel: `v-model="${confGlobal.formModel}.${el.vModel}"`,
- clearable: el.clearable ? 'clearable' : '',
- placeholder: el.placeholder ? `placeholder="${el.placeholder}"` : '',
- width: el.style && el.style.width ? ':style="{width: \'100%\'}"' : '',
- disabled: el.disabled ? ':disabled=\'true\'' : ''
- }
-}
-
-// el-buttin 子级
-function buildElButtonChild(conf) {
- const children = []
- if (conf.default) {
- children.push(conf.default)
- }
- return children.join('\n')
-}
-
-// el-input innerHTML
-function buildElInputChild(conf) {
- const children = []
- if (conf.prepend) {
- children.push(`${conf.prepend}`)
- }
- if (conf.append) {
- children.push(`${conf.append}`)
- }
- return children.join('\n')
-}
-
-function buildElSelectChild(conf) {
- const children = []
- if (conf.options && conf.options.length) {
- children.push(``)
- }
- return children.join('\n')
-}
-
-function buildElRadioGroupChild(conf) {
- const children = []
- if (conf.options && conf.options.length) {
- const tag = conf.optionType === 'button' ? 'el-radio-button' : 'el-radio'
- const border = conf.border ? 'border' : ''
- children.push(`<${tag} v-for="(item, index) in ${conf.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}${tag}>`)
- }
- return children.join('\n')
-}
-
-function buildElCheckboxGroupChild(conf) {
- const children = []
- if (conf.options && conf.options.length) {
- const tag = conf.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox'
- const border = conf.border ? 'border' : ''
- children.push(`<${tag} v-for="(item, index) in ${conf.vModel}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}${tag}>`)
- }
- return children.join('\n')
-}
-
-function buildElUploadChild(conf) {
- const list = []
- if (conf['list-type'] === 'picture-card') list.push('')
- else list.push(`${conf.buttonText}`)
- if (conf.showTip) list.push(`只能上传不超过 ${conf.fileSize}${conf.sizeUnit} 的${conf.accept}文件
`)
- return list.join('\n')
-}
-
-export function makeUpHtml(conf, type) {
- const htmlList = []
- confGlobal = conf
- someSpanIsNot24 = conf.fields.some(item => item.span !== 24)
- conf.fields.forEach(el => {
- htmlList.push(layouts[el.layout](el))
- })
- const htmlStr = htmlList.join('\n')
-
- let temp = buildFormTemplate(conf, htmlStr, type)
- if (type === 'dialog') {
- temp = dialogWrapper(temp)
- }
- confGlobal = null
- return temp
-}
diff --git a/vue/src/utils/generator/icon.json b/vue/src/utils/generator/icon.json
deleted file mode 100644
index 2d9999a3..00000000
--- a/vue/src/utils/generator/icon.json
+++ /dev/null
@@ -1 +0,0 @@
-["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"]
\ No newline at end of file
diff --git a/vue/src/utils/generator/js.js b/vue/src/utils/generator/js.js
deleted file mode 100644
index c6c06a99..00000000
--- a/vue/src/utils/generator/js.js
+++ /dev/null
@@ -1,236 +0,0 @@
-import { isArray } from 'util'
-import { exportDefault, titleCase } from '@/utils/index'
-import { trigger } from './config'
-
-const units = {
- KB: '1024',
- MB: '1024 / 1024',
- GB: '1024 / 1024 / 1024'
-}
-let confGlobal
-const inheritAttrs = {
- file: '',
- dialog: 'inheritAttrs: false,'
-}
-
-
-export function makeUpJs(conf, type) {
- confGlobal = conf = JSON.parse(JSON.stringify(conf))
- const dataList = []
- const ruleList = []
- const optionsList = []
- const propsList = []
- const methodList = mixinMethod(type)
- const uploadVarList = []
-
- conf.fields.forEach(el => {
- buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList)
- })
-
- const script = buildexport(
- conf,
- type,
- dataList.join('\n'),
- ruleList.join('\n'),
- optionsList.join('\n'),
- uploadVarList.join('\n'),
- propsList.join('\n'),
- methodList.join('\n')
- )
- confGlobal = null
- return script
-}
-
-function buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) {
- buildData(el, dataList)
- buildRules(el, ruleList)
-
- if (el.options && el.options.length) {
- buildOptions(el, optionsList)
- if (el.dataType === 'dynamic') {
- const model = `${el.vModel}Options`
- const options = titleCase(model)
- buildOptionMethod(`get${options}`, model, methodList)
- }
- }
-
- if (el.props && el.props.props) {
- buildProps(el, propsList)
- }
-
- if (el.action && el.tag === 'el-upload') {
- uploadVarList.push(
- `${el.vModel}Action: '${el.action}',
- ${el.vModel}fileList: [],`
- )
- methodList.push(buildBeforeUpload(el))
- if (!el['auto-upload']) {
- methodList.push(buildSubmitUpload(el))
- }
- }
-
- if (el.children) {
- el.children.forEach(el2 => {
- buildAttributes(el2, dataList, ruleList, optionsList, methodList, propsList, uploadVarList)
- })
- }
-}
-
-function mixinMethod(type) {
- const list = []; const
- minxins = {
- file: confGlobal.formBtns ? {
- submitForm: `submitForm() {
- this.$refs['${confGlobal.formRef}'].validate(valid => {
- if(!valid) return
- // TODO 提交表单
- })
- },`,
- resetForm: `resetForm() {
- this.$refs['${confGlobal.formRef}'].resetFields()
- },`
- } : null,
- dialog: {
- onOpen: 'onOpen() {},',
- onClose: `onClose() {
- this.$refs['${confGlobal.formRef}'].resetFields()
- },`,
- close: `close() {
- this.$emit('update:visible', false)
- },`,
- handelConfirm: `handelConfirm() {
- this.$refs['${confGlobal.formRef}'].validate(valid => {
- if(!valid) return
- this.close()
- })
- },`
- }
- }
-
- const methods = minxins[type]
- if (methods) {
- Object.keys(methods).forEach(key => {
- list.push(methods[key])
- })
- }
-
- return list
-}
-
-function buildData(conf, dataList) {
- if (conf.vModel === undefined) return
- let defaultValue
- if (typeof (conf.defaultValue) === 'string' && !conf.multiple) {
- defaultValue = `'${conf.defaultValue}'`
- } else {
- defaultValue = `${JSON.stringify(conf.defaultValue)}`
- }
- dataList.push(`${conf.vModel}: ${defaultValue},`)
-}
-
-function buildRules(conf, ruleList) {
- if (conf.vModel === undefined) return
- const rules = []
- if (trigger[conf.tag]) {
- if (conf.required) {
- const type = isArray(conf.defaultValue) ? 'type: \'array\',' : ''
- let message = isArray(conf.defaultValue) ? `请至少选择一个${conf.vModel}` : conf.placeholder
- if (message === undefined) message = `${conf.label}不能为空`
- rules.push(`{ required: true, ${type} message: '${message}', trigger: '${trigger[conf.tag]}' }`)
- }
- if (conf.regList && isArray(conf.regList)) {
- conf.regList.forEach(item => {
- if (item.pattern) {
- rules.push(`{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${trigger[conf.tag]}' }`)
- }
- })
- }
- ruleList.push(`${conf.vModel}: [${rules.join(',')}],`)
- }
-}
-
-function buildOptions(conf, optionsList) {
- if (conf.vModel === undefined) return
- if (conf.dataType === 'dynamic') { conf.options = [] }
- const str = `${conf.vModel}Options: ${JSON.stringify(conf.options)},`
- optionsList.push(str)
-}
-
-function buildProps(conf, propsList) {
- if (conf.dataType === 'dynamic') {
- conf.valueKey !== 'value' && (conf.props.props.value = conf.valueKey)
- conf.labelKey !== 'label' && (conf.props.props.label = conf.labelKey)
- conf.childrenKey !== 'children' && (conf.props.props.children = conf.childrenKey)
- }
- const str = `${conf.vModel}Props: ${JSON.stringify(conf.props.props)},`
- propsList.push(str)
-}
-
-function buildBeforeUpload(conf) {
- const unitNum = units[conf.sizeUnit]; let rightSizeCode = ''; let acceptCode = ''; const
- returnList = []
- if (conf.fileSize) {
- rightSizeCode = `let isRightSize = file.size / ${unitNum} < ${conf.fileSize}
- if(!isRightSize){
- this.$message.error('文件大小超过 ${conf.fileSize}${conf.sizeUnit}')
- }`
- returnList.push('isRightSize')
- }
- if (conf.accept) {
- acceptCode = `let isAccept = new RegExp('${conf.accept}').test(file.type)
- if(!isAccept){
- this.$message.error('应该选择${conf.accept}类型的文件')
- }`
- returnList.push('isAccept')
- }
- const str = `${conf.vModel}BeforeUpload(file) {
- ${rightSizeCode}
- ${acceptCode}
- return ${returnList.join('&&')}
- },`
- return returnList.length ? str : ''
-}
-
-function buildSubmitUpload(conf) {
- const str = `submitUpload() {
- this.$refs['${conf.vModel}'].submit()
- },`
- return str
-}
-
-function buildOptionMethod(methodName, model, methodList) {
- const str = `${methodName}() {
- // TODO 发起请求获取数据
- this.${model}
- },`
- methodList.push(str)
-}
-
-function buildexport(conf, type, data, rules, selectOptions, uploadVar, props, methods) {
- const str = `${exportDefault}{
- ${inheritAttrs[type]}
- components: {},
- props: [],
- data () {
- return {
- ${conf.formModel}: {
- ${data}
- },
- ${conf.formRules}: {
- ${rules}
- },
- ${uploadVar}
- ${selectOptions}
- ${props}
- }
- },
- computed: {},
- watch: {},
- created () {},
- mounted () {},
- methods: {
- ${methods}
- }
-}`
- return str
-}
diff --git a/vue/src/utils/generator/render.js b/vue/src/utils/generator/render.js
deleted file mode 100644
index e8640f0a..00000000
--- a/vue/src/utils/generator/render.js
+++ /dev/null
@@ -1,126 +0,0 @@
-import { makeMap } from '@/utils/index'
-
-// 参考https://github.com/vuejs/vue/blob/v2.6.10/src/platforms/web/server/util.js
-const isAttr = makeMap(
- 'accept,accept-charset,accesskey,action,align,alt,async,autocomplete,'
- + 'autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,'
- + 'checked,cite,class,code,codebase,color,cols,colspan,content,http-equiv,'
- + 'name,contenteditable,contextmenu,controls,coords,data,datetime,default,'
- + 'defer,dir,dirname,disabled,download,draggable,dropzone,enctype,method,for,'
- + 'form,formaction,headers,height,hidden,high,href,hreflang,http-equiv,'
- + 'icon,id,ismap,itemprop,keytype,kind,label,lang,language,list,loop,low,'
- + 'manifest,max,maxlength,media,method,GET,POST,min,multiple,email,file,'
- + 'muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,'
- + 'preload,radiogroup,readonly,rel,required,reversed,rows,rowspan,sandbox,'
- + 'scope,scoped,seamless,selected,shape,size,type,text,password,sizes,span,'
- + 'spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,'
- + 'target,title,type,usemap,value,width,wrap'
-)
-
-function vModel(self, dataObject, defaultValue) {
- dataObject.props.value = defaultValue
-
- dataObject.on.input = val => {
- self.$emit('input', val)
- }
-}
-
-const componentChild = {
- 'el-button': {
- default(h, conf, key) {
- return conf[key]
- },
- },
- 'el-input': {
- prepend(h, conf, key) {
- return {conf[key]}
- },
- append(h, conf, key) {
- return {conf[key]}
- }
- },
- 'el-select': {
- options(h, conf, key) {
- const list = []
- conf.options.forEach(item => {
- list.push()
- })
- return list
- }
- },
- 'el-radio-group': {
- options(h, conf, key) {
- const list = []
- conf.options.forEach(item => {
- if (conf.optionType === 'button') list.push({item.label})
- else list.push({item.label})
- })
- return list
- }
- },
- 'el-checkbox-group': {
- options(h, conf, key) {
- const list = []
- conf.options.forEach(item => {
- if (conf.optionType === 'button') {
- list.push({item.label})
- } else {
- list.push({item.label})
- }
- })
- return list
- }
- },
- 'el-upload': {
- 'list-type': (h, conf, key) => {
- const list = []
- if (conf['list-type'] === 'picture-card') {
- list.push()
- } else {
- list.push({conf.buttonText})
- }
- if (conf.showTip) {
- list.push(只能上传不超过 {conf.fileSize}{conf.sizeUnit} 的{conf.accept}文件
)
- }
- return list
- }
- }
-}
-
-export default {
- render(h) {
- const dataObject = {
- attrs: {},
- props: {},
- on: {},
- style: {}
- }
- const confClone = JSON.parse(JSON.stringify(this.conf))
- const children = []
-
- const childObjs = componentChild[confClone.tag]
- if (childObjs) {
- Object.keys(childObjs).forEach(key => {
- const childFunc = childObjs[key]
- if (confClone[key]) {
- children.push(childFunc(h, confClone, key))
- }
- })
- }
-
- Object.keys(confClone).forEach(key => {
- const val = confClone[key]
- if (key === 'vModel') {
- vModel(this, dataObject, confClone.defaultValue)
- } else if (dataObject[key]) {
- dataObject[key] = val
- } else if (!isAttr(key)) {
- dataObject.props[key] = val
- } else {
- dataObject.attrs[key] = val
- }
- })
- return h(this.conf.tag, dataObject, children)
- },
- props: ['conf']
-}
diff --git a/vue/src/utils/index.js b/vue/src/utils/index.js
deleted file mode 100644
index 918580f7..00000000
--- a/vue/src/utils/index.js
+++ /dev/null
@@ -1,390 +0,0 @@
-import { parseTime } from './ruoyi'
-
-/**
- * 表格时间格式化
- */
-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 = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
- if (!search) {
- return {}
- }
- const obj = {}
- const searchArr = search.split('&')
- searchArr.forEach(v => {
- const index = v.indexOf('=')
- if (index !== -1) {
- const name = v.substring(0, index)
- const val = v.substring(index + 1, v.length)
- obj[name] = val
- }
- })
- return obj
-}
-
-/**
- * @param {string} val
- * @returns {string}
- */
-export 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
- // 如果设定为immediate===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, ' ')
- }
-}
-
-export function makeMap(str, expectsLowerCase) {
- const map = Object.create(null)
- const list = str.split(',')
- for (let i = 0; i < list.length; i++) {
- map[list[i]] = true
- }
- return expectsLowerCase
- ? val => map[val.toLowerCase()]
- : val => map[val]
-}
-
-export const exportDefault = 'export default '
-
-export const beautifierConf = {
- html: {
- indent_size: '2',
- indent_char: ' ',
- max_preserve_newlines: '-1',
- preserve_newlines: false,
- keep_array_indentation: false,
- break_chained_methods: false,
- indent_scripts: 'separate',
- brace_style: 'end-expand',
- space_before_conditional: true,
- unescape_strings: false,
- jslint_happy: false,
- end_with_newline: true,
- wrap_line_length: '110',
- indent_inner_html: true,
- comma_first: false,
- e4x: true,
- indent_empty_lines: true
- },
- js: {
- indent_size: '2',
- indent_char: ' ',
- max_preserve_newlines: '-1',
- preserve_newlines: false,
- keep_array_indentation: false,
- break_chained_methods: false,
- indent_scripts: 'normal',
- brace_style: 'end-expand',
- space_before_conditional: true,
- unescape_strings: false,
- jslint_happy: true,
- end_with_newline: true,
- wrap_line_length: '110',
- indent_inner_html: true,
- comma_first: false,
- e4x: true,
- indent_empty_lines: true
- }
-}
-
-// 首字母大小
-export function titleCase(str) {
- return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
-}
-
-// 下划转驼峰
-export function camelCase(str) {
- return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase())
-}
-
-export function isNumberStr(str) {
- return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
-}
-
diff --git a/vue/src/utils/jsencrypt.js b/vue/src/utils/jsencrypt.js
deleted file mode 100644
index 78d95234..00000000
--- a/vue/src/utils/jsencrypt.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
-
-// 密钥对生成 http://web.chacuo.net/netrsakeypair
-
-const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdH\n' +
- 'nzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
-
-const privateKey = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY\n' +
- '7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKN\n' +
- 'PuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gA\n' +
- 'kM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWow\n' +
- 'cSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99Ecv\n' +
- 'DQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthh\n' +
- 'YhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3\n' +
- 'UP8iWi1Qw0Y='
-
-// 加密
-export function encrypt(txt) {
- const encryptor = new JSEncrypt()
- encryptor.setPublicKey(publicKey) // 设置公钥
- return encryptor.encrypt(txt) // 对数据进行加密
-}
-
-// 解密
-export function decrypt(txt) {
- const encryptor = new JSEncrypt()
- encryptor.setPrivateKey(privateKey) // 设置私钥
- return encryptor.decrypt(txt) // 对数据进行解密
-}
-
diff --git a/vue/src/utils/permission.js b/vue/src/utils/permission.js
deleted file mode 100644
index 1730e332..00000000
--- a/vue/src/utils/permission.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import store from '@/store'
-
-/**
- * 字符权限校验
- * @param {Array} value 校验值
- * @returns {Boolean}
- */
-export function checkPermi(value) {
- if (value && value instanceof Array && value.length > 0) {
- const permissions = store.getters && store.getters.permissions
- const permissionDatas = value
- const all_permission = "*:*:*";
-
- const hasPermission = permissions.some(permission => {
- return all_permission === permission || permissionDatas.includes(permission)
- })
-
- if (!hasPermission) {
- return false
- }
- return true
- } else {
- console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
- return false
- }
-}
-
-/**
- * 角色权限校验
- * @param {Array} value 校验值
- * @returns {Boolean}
- */
-export function checkRole(value) {
- if (value && value instanceof Array && value.length > 0) {
- const roles = store.getters && store.getters.roles
- const permissionRoles = value
- const super_admin = "admin";
-
- const hasRole = roles.some(role => {
- return super_admin === role || permissionRoles.includes(role)
- })
-
- if (!hasRole) {
- return false
- }
- return true
- } else {
- console.error(`need roles! Like checkRole="['admin','editor']"`)
- return false
- }
-}
\ No newline at end of file
diff --git a/vue/src/utils/request.js b/vue/src/utils/request.js
deleted file mode 100644
index ae89f24d..00000000
--- a/vue/src/utils/request.js
+++ /dev/null
@@ -1,103 +0,0 @@
-import axios from 'axios'
-import { Notification, MessageBox, Message } from 'element-ui'
-import store from '@/store'
-import { getToken } from '@/utils/auth'
-import errorCode from '@/utils/errorCode'
-
-axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
-// 创建axios实例
-const service = axios.create({
- // axios中请求配置有baseURL选项,表示请求URL公共部分
- baseURL: process.env.VUE_APP_BASE_API,
- // 超时
- timeout: 10000
-})
-// request拦截器
-service.interceptors.request.use(config => {
- // 是否需要设置 token
- const isToken = (config.headers || {}).isToken === false
- if (getToken() && !isToken) {
- config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
- }
- // get请求映射params参数
- if (config.method === 'get' && config.params) {
- let url = config.url + '?';
- for (const propName of Object.keys(config.params)) {
- const value = config.params[propName];
- var part = encodeURIComponent(propName) + "=";
- if (value !== null && typeof(value) !== "undefined") {
- if (typeof value === 'object') {
- for (const key of Object.keys(value)) {
- let params = propName + '[' + key + ']';
- var subPart = encodeURIComponent(params) + "=";
- url += subPart + encodeURIComponent(value[key]) + "&";
- }
- } else {
- url += part + encodeURIComponent(value) + "&";
- }
- }
- }
- url = url.slice(0, -1);
- config.params = {};
- config.url = url;
- }
- return config
-}, error => {
- console.log(error)
- Promise.reject(error)
-})
-
-// 响应拦截器
-service.interceptors.response.use(res => {
- // 未设置状态码则默认成功状态
- const code = res.data.code || 200;
- // 获取错误信息
- const msg = errorCode[code] || res.data.msg || errorCode['default']
- if (code === 401) {
- MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
- confirmButtonText: '重新登录',
- cancelButtonText: '取消',
- type: 'warning'
- }
- ).then(() => {
- store.dispatch('LogOut').then(() => {
- location.href = '/index';
- })
- })
- } else if (code === 500) {
- Message({
- message: msg,
- type: 'error'
- })
- return Promise.reject(new Error(msg))
- } else if (code !== 200) {
- Notification.error({
- title: msg
- })
- return Promise.reject('error')
- } else {
- return res.data
- }
- },
- error => {
- console.log('err' + error)
- let { message } = error;
- if (message == "Network Error") {
- message = "后端接口连接异常";
- }
- else if (message.includes("timeout")) {
- message = "系统接口请求超时";
- }
- else if (message.includes("Request failed with status code")) {
- message = "系统接口" + message.substr(message.length - 3) + "异常";
- }
- Message({
- message: message,
- type: 'error',
- duration: 5 * 1000
- })
- return Promise.reject(error)
- }
-)
-
-export default service
diff --git a/vue/src/utils/ruoyi.js b/vue/src/utils/ruoyi.js
deleted file mode 100644
index 81ee9c70..00000000
--- a/vue/src/utils/ruoyi.js
+++ /dev/null
@@ -1,152 +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)
- } else if (typeof time === 'string') {
- time = time.replace(new RegExp(/-/gm), '/');
- }
- 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, propName) {
- var search = params;
- search.params = {};
- if (null != dateRange && '' != dateRange) {
- if (typeof(propName) === "undefined") {
- search.params["beginTime"] = dateRange[0];
- search.params["endTime"] = dateRange[1];
- } else {
- search.params["begin" + propName] = dateRange[0];
- search.params["end" + propName] = dateRange[1];
- }
- }
- return search;
-}
-
-// 回显数据字典
-export function selectDictLabel(datas, value) {
- var actions = [];
- Object.keys(datas).some((key) => {
- if (datas[key].dictValue == ('' + value)) {
- actions.push(datas[key].dictLabel);
- return true;
- }
- })
- return actions.join('');
-}
-
-// 回显数据字典(字符串数组)
-export function selectDictLabels(datas, value, separator) {
- var actions = [];
- var currentSeparator = undefined === separator ? "," : separator;
- var temp = value.split(currentSeparator);
- Object.keys(value.split(currentSeparator)).some((val) => {
- Object.keys(datas).some((key) => {
- if (datas[key].dictValue == ('' + temp[val])) {
- actions.push(datas[key].dictLabel + currentSeparator);
- }
- })
- })
- return actions.join('').substring(0, actions.join('').length - 1);
-}
-
-// 通用下载方法
-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;
-}
-
-/**
- * 构造树型结构数据
- * @param {*} data 数据源
- * @param {*} id id字段 默认 'id'
- * @param {*} parentId 父节点字段 默认 'parentId'
- * @param {*} children 孩子节点字段 默认 'children'
- * @param {*} rootId 根Id 默认 0
- */
-export function handleTree(data, id, parentId, children, rootId) {
- id = id || 'id'
- parentId = parentId || 'parentId'
- children = children || 'children'
- rootId = rootId || Math.min.apply(Math, data.map(item => { return item[parentId] })) || 0
- //对源数据深度克隆
- const cloneData = JSON.parse(JSON.stringify(data))
- //循环所有项
- const treeData = cloneData.filter(father => {
- let branchArr = cloneData.filter(child => {
- //返回每一项的子级数组
- return father[id] === child[parentId]
- });
- branchArr.length > 0 ? father.children = branchArr : '';
- //返回第一层
- return father[parentId] === rootId;
- });
- return treeData != '' ? treeData : data;
-}
diff --git a/vue/src/utils/scroll-to.js b/vue/src/utils/scroll-to.js
deleted file mode 100644
index c5d8e04e..00000000
--- a/vue/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/vue/src/utils/validate.js b/vue/src/utils/validate.js
deleted file mode 100644
index adfa2542..00000000
--- a/vue/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/vue/src/utils/zipdownload.js b/vue/src/utils/zipdownload.js
deleted file mode 100644
index 363c45aa..00000000
--- a/vue/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)
- })
-}
-/**
- * 解析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 })
- // //从response的headers中获取filename, 后端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/vue/src/views/components/icons/element-icons.js b/vue/src/views/components/icons/element-icons.js
deleted file mode 100644
index 9ea4d63f..00000000
--- a/vue/src/views/components/icons/element-icons.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const elementIcons = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round']
-
-export default elementIcons
diff --git a/vue/src/views/components/icons/index.vue b/vue/src/views/components/icons/index.vue
deleted file mode 100644
index d3c9a719..00000000
--- a/vue/src/views/components/icons/index.vue
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
- {{ generateIconCode(item) }}
-
-
-
- {{ item }}
-
-
-
-
-
-
-
-
- {{ generateElementIconCode(item) }}
-
-
-
- {{ item }}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/components/icons/svg-icons.js b/vue/src/views/components/icons/svg-icons.js
deleted file mode 100644
index 724cd8e9..00000000
--- a/vue/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/vue/src/views/dashboard/BarChart.vue b/vue/src/views/dashboard/BarChart.vue
deleted file mode 100644
index be0af34f..00000000
--- a/vue/src/views/dashboard/BarChart.vue
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
-
diff --git a/vue/src/views/dashboard/LineChart.vue b/vue/src/views/dashboard/LineChart.vue
deleted file mode 100644
index e654168d..00000000
--- a/vue/src/views/dashboard/LineChart.vue
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
diff --git a/vue/src/views/dashboard/PanelGroup.vue b/vue/src/views/dashboard/PanelGroup.vue
deleted file mode 100644
index 1a1081fc..00000000
--- a/vue/src/views/dashboard/PanelGroup.vue
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/dashboard/PieChart.vue b/vue/src/views/dashboard/PieChart.vue
deleted file mode 100644
index 4d2ef32a..00000000
--- a/vue/src/views/dashboard/PieChart.vue
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
diff --git a/vue/src/views/dashboard/RaddarChart.vue b/vue/src/views/dashboard/RaddarChart.vue
deleted file mode 100644
index 6823af31..00000000
--- a/vue/src/views/dashboard/RaddarChart.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
diff --git a/vue/src/views/dashboard/mixins/resize.js b/vue/src/views/dashboard/mixins/resize.js
deleted file mode 100644
index b1e76e94..00000000
--- a/vue/src/views/dashboard/mixins/resize.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import { debounce } from '@/utils'
-
-export default {
- data() {
- return {
- $_sidebarElm: null,
- $_resizeHandler: null
- }
- },
- mounted() {
- this.initListener()
- },
- activated() {
- if (!this.$_resizeHandler) {
- // avoid duplication init
- this.initListener()
- }
-
- // when keep-alive chart activated, auto resize
- this.resize()
- },
- beforeDestroy() {
- this.destroyListener()
- },
- deactivated() {
- this.destroyListener()
- },
- methods: {
- // use $_ for mixins properties
- // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
- $_sidebarResizeHandler(e) {
- if (e.propertyName === 'width') {
- this.$_resizeHandler()
- }
- },
- initListener() {
- this.$_resizeHandler = debounce(() => {
- this.resize()
- }, 100)
- window.addEventListener('resize', this.$_resizeHandler)
-
- this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
- this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
- },
- destroyListener() {
- window.removeEventListener('resize', this.$_resizeHandler)
- this.$_resizeHandler = null
-
- this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
- },
- resize() {
- const { chart } = this
- chart && chart.resize()
- }
- }
-}
diff --git a/vue/src/views/error/401.vue b/vue/src/views/error/401.vue
deleted file mode 100644
index 448b6ecd..00000000
--- a/vue/src/views/error/401.vue
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- 返回
-
-
-
-
- 401错误!
-
- 您没有访问权限!
- 对不起,您没有访问权限,请不要进行非法操作!您可以返回主页面
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/error/404.vue b/vue/src/views/error/404.vue
deleted file mode 100644
index 96f075c1..00000000
--- a/vue/src/views/error/404.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
-
- 404错误!
-
-
- {{ message }}
-
-
- 对不起,您正在寻找的页面不存在。尝试检查URL的错误,然后按浏览器上的刷新按钮或尝试在我们的应用程序中找到其他内容。
-
-
- 返回首页
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/index.vue b/vue/src/views/index.vue
deleted file mode 100644
index b07aec10..00000000
--- a/vue/src/views/index.vue
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
-
-
- wumei-smart
- 物美智能是一套开源的软硬件系统,可用于二次开发和学习,快速搭建自己的智能家居系统。 硬件工程师可以把自己的设备集成到系统;软件工程师可以使用项目中的设备熟悉软硬件交互。
- 服务端使用spring boot、前端vue、移动端android、数据库mysql、硬件交互基于mqtt协议使用EMQ代理服务器。
-
-
- 访问码云
- 访问主页
-
-
-
-
-
-
- 技术选型
-
-
-
-
- 后端技术
-
- - SpringBoot
- - Spring Security
- - JWT
- - MyBatis
- - Druid
- - Fastjson
- - ...
-
-
-
- 前端技术
-
- - Vue
- - Vuex
- - Element-ui
- - Axios
- - Sass
- - Quill
- - ...
-
-
-
- 安卓端技术
-
- - Xui
- - Xpage
- - XHttp2
- - XAOP
- - XUtil
- - XUpdate
- - ...
-
-
-
- 硬件端技术
-
- - ESP-IDF
- - Arduino
- - FreeRTOS
- - ...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/index_v1.vue b/vue/src/views/index_v1.vue
deleted file mode 100644
index d2d2ec63..00000000
--- a/vue/src/views/index_v1.vue
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/login.vue b/vue/src/views/login.vue
deleted file mode 100644
index a742bfad..00000000
--- a/vue/src/views/login.vue
+++ /dev/null
@@ -1,203 +0,0 @@
-
-
-
- 物美智能管理系统
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
![]()
-
-
- 记住密码
-
-
- 登 录
- 登 录 中...
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/monitor/cache/index.vue b/vue/src/views/monitor/cache/index.vue
deleted file mode 100644
index df0cb1e4..00000000
--- a/vue/src/views/monitor/cache/index.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
- 基本信息
-
-
-
-
- Redis版本 |
- {{ cache.info.redis_version }} |
- 运行模式 |
- {{ cache.info.redis_mode == "standalone" ? "单机" : "集群" }} |
- 端口 |
- {{ cache.info.tcp_port }} |
- 客户端数 |
- {{ cache.info.connected_clients }} |
-
-
- 运行时间(天) |
- {{ cache.info.uptime_in_days }} |
- 使用内存 |
- {{ cache.info.used_memory_human }} |
- 使用CPU |
- {{ parseFloat(cache.info.used_cpu_user_children).toFixed(2) }} |
- 内存配置 |
- {{ cache.info.maxmemory_human }} |
-
-
- AOF是否开启 |
- {{ cache.info.aof_enabled == "0" ? "否" : "是" }} |
- RDB是否成功 |
- {{ cache.info.rdb_last_bgsave_status }} |
- Key数量 |
- {{ cache.dbSize }} |
- 网络入口/出口 |
- {{ cache.info.instantaneous_input_kbps }}kps/{{cache.info.instantaneous_output_kbps}}kps |
-
-
-
-
-
-
-
-
-
- 命令统计
-
-
-
-
-
-
-
- 内存信息
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/monitor/druid/index.vue b/vue/src/views/monitor/druid/index.vue
deleted file mode 100644
index da5b08f3..00000000
--- a/vue/src/views/monitor/druid/index.vue
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
diff --git a/vue/src/views/monitor/job/index.vue b/vue/src/views/monitor/job/index.vue
deleted file mode 100644
index a5dc8c7d..00000000
--- a/vue/src/views/monitor/job/index.vue
+++ /dev/null
@@ -1,488 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 日志
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 执行一次
- 详细
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 调用方法
-
-
- Bean调用示例:ryTask.ryParams('ry')
-
Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
-
参数说明:支持字符串,布尔类型,长整型,浮点型,整型
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 允许
- 禁止
-
-
-
-
-
-
- 立即执行
- 执行一次
- 放弃执行
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ form.jobId }}
- {{ form.jobName }}
-
-
- {{ jobGroupFormat(form) }}
- {{ form.createTime }}
-
-
- {{ form.cronExpression }}
-
-
- {{ parseTime(form.nextValidTime) }}
-
-
- {{ form.invokeTarget }}
-
-
-
- 正常
- 失败
-
-
-
-
- 允许
- 禁止
-
-
-
-
- 默认策略
- 立即执行
- 执行一次
- 放弃执行
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/monitor/job/log.vue b/vue/src/views/monitor/job/log.vue
deleted file mode 100644
index e34b6355..00000000
--- a/vue/src/views/monitor/job/log.vue
+++ /dev/null
@@ -1,299 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 删除
-
-
- 清空
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 详细
-
-
-
-
-
-
-
-
-
-
-
- {{ form.jobLogId }}
- {{ form.jobName }}
-
-
- {{ form.jobGroup }}
- {{ form.createTime }}
-
-
- {{ form.invokeTarget }}
-
-
- {{ form.jobMessage }}
-
-
-
- 正常
- 失败
-
-
-
- {{ form.exceptionInfo }}
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/monitor/logininfor/index.vue b/vue/src/views/monitor/logininfor/index.vue
deleted file mode 100644
index a7402d68..00000000
--- a/vue/src/views/monitor/logininfor/index.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 删除
-
-
- 清空
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.loginTime) }}
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/monitor/online/index.vue b/vue/src/views/monitor/online/index.vue
deleted file mode 100644
index fc18a5ed..00000000
--- a/vue/src/views/monitor/online/index.vue
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
-
- {{(pageNum - 1) * pageSize + scope.$index + 1}}
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.loginTime) }}
-
-
-
-
- 强退
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/monitor/operlog/index.vue b/vue/src/views/monitor/operlog/index.vue
deleted file mode 100644
index 1fc77423..00000000
--- a/vue/src/views/monitor/operlog/index.vue
+++ /dev/null
@@ -1,321 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 删除
-
-
- 清空
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.operTime) }}
-
-
-
-
- 详细
-
-
-
-
-
-
-
-
-
-
-
- {{ form.title }} / {{ typeFormat(form) }}
- {{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}
-
-
- {{ form.operUrl }}
- {{ form.requestMethod }}
-
-
- {{ form.method }}
-
-
- {{ form.operParam }}
-
-
- {{ form.jsonResult }}
-
-
-
- 正常
- 失败
-
-
-
- {{ parseTime(form.operTime) }}
-
-
- {{ form.errorMsg }}
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/monitor/server/index.vue b/vue/src/views/monitor/server/index.vue
deleted file mode 100644
index 8ba30823..00000000
--- a/vue/src/views/monitor/server/index.vue
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-
-
-
- CPU
-
-
-
-
- 属性 |
- 值 |
-
-
-
-
- 核心数 |
- {{ server.cpu.cpuNum }} |
-
-
- 用户使用率 |
- {{ server.cpu.used }}% |
-
-
- 系统使用率 |
- {{ server.cpu.sys }}% |
-
-
- 当前空闲率 |
- {{ server.cpu.free }}% |
-
-
-
-
-
-
-
-
-
- 内存
-
-
-
-
- 属性 |
- 内存 |
- JVM |
-
-
-
-
- 总内存 |
- {{ server.mem.total }}G |
- {{ server.jvm.total }}M |
-
-
- 已用内存 |
- {{ server.mem.used}}G |
- {{ server.jvm.used}}M |
-
-
- 剩余内存 |
- {{ server.mem.free }}G |
- {{ server.jvm.free }}M |
-
-
- 使用率 |
- {{ server.mem.usage }}% |
- {{ server.jvm.usage }}% |
-
-
-
-
-
-
-
-
-
-
- 服务器信息
-
-
-
-
-
- 服务器名称 |
- {{ server.sys.computerName }} |
- 操作系统 |
- {{ server.sys.osName }} |
-
-
- 服务器IP |
- {{ server.sys.computerIp }} |
- 系统架构 |
- {{ server.sys.osArch }} |
-
-
-
-
-
-
-
-
-
-
- Java虚拟机信息
-
-
-
-
-
- Java名称 |
- {{ server.jvm.name }} |
- Java版本 |
- {{ server.jvm.version }} |
-
-
- 启动时间 |
- {{ server.jvm.startTime }} |
- 运行时长 |
- {{ server.jvm.runTime }} |
-
-
- 安装路径 |
- {{ server.jvm.home }} |
-
-
- 项目路径 |
- {{ server.sys.userDir }} |
-
-
-
-
-
-
-
-
-
-
- 磁盘状态
-
-
-
-
-
- 盘符路径 |
- 文件系统 |
- 盘符类型 |
- 总大小 |
- 可用大小 |
- 已用大小 |
- 已用百分比 |
-
-
-
-
- {{ sysFile.dirName }} |
- {{ sysFile.sysTypeName }} |
- {{ sysFile.typeName }} |
- {{ sysFile.total }} |
- {{ sysFile.free }} |
- {{ sysFile.used }} |
- {{ sysFile.usage }}% |
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/redirect.vue b/vue/src/views/redirect.vue
deleted file mode 100644
index db4c1d66..00000000
--- a/vue/src/views/redirect.vue
+++ /dev/null
@@ -1,12 +0,0 @@
-
diff --git a/vue/src/views/system/category/index.vue b/vue/src/views/system/category/index.vue
deleted file mode 100644
index 327eae84..00000000
--- a/vue/src/views/system/category/index.vue
+++ /dev/null
@@ -1,281 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/system/config/index.vue b/vue/src/views/system/config/index.vue
deleted file mode 100644
index ee9043aa..00000000
--- a/vue/src/views/system/config/index.vue
+++ /dev/null
@@ -1,371 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 清理缓存
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/dept/index.vue b/vue/src/views/system/dept/index.vue
deleted file mode 100644
index 1d864254..00000000
--- a/vue/src/views/system/dept/index.vue
+++ /dev/null
@@ -1,317 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 新增
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/device/index.vue b/vue/src/views/system/device/index.vue
deleted file mode 100644
index 70783f2c..00000000
--- a/vue/src/views/system/device/index.vue
+++ /dev/null
@@ -1,1041 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}
-
-
-
-
-
- 状态
- 配置
- 修改
- 升级
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ statusForm.airTemperature }} ℃
-
-
-
-
-
-
- {{ statusForm.airHumidity }} %RH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/system/dict/data.vue b/vue/src/views/system/dict/data.vue
deleted file mode 100644
index 3101b668..00000000
--- a/vue/src/views/system/dict/data.vue
+++ /dev/null
@@ -1,354 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/dict/index.vue b/vue/src/views/system/dict/index.vue
deleted file mode 100644
index c7697e3a..00000000
--- a/vue/src/views/system/dict/index.vue
+++ /dev/null
@@ -1,365 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 清理缓存
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.dictType }}
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/group/index.vue b/vue/src/views/system/group/index.vue
deleted file mode 100644
index 9cef66f0..00000000
--- a/vue/src/views/system/group/index.vue
+++ /dev/null
@@ -1,331 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/system/menu/index.vue b/vue/src/views/system/menu/index.vue
deleted file mode 100644
index 63cecc06..00000000
--- a/vue/src/views/system/menu/index.vue
+++ /dev/null
@@ -1,400 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 新增
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 目录
- 菜单
- 按钮
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 是
- 否
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
- 缓存
- 不缓存
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/notice/index.vue b/vue/src/views/system/notice/index.vue
deleted file mode 100644
index 1f570a82..00000000
--- a/vue/src/views/system/notice/index.vue
+++ /dev/null
@@ -1,343 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/post/index.vue b/vue/src/views/system/post/index.vue
deleted file mode 100644
index 65323552..00000000
--- a/vue/src/views/system/post/index.vue
+++ /dev/null
@@ -1,326 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/role/index.vue b/vue/src/views/system/role/index.vue
deleted file mode 100644
index 3cb6df90..00000000
--- a/vue/src/views/system/role/index.vue
+++ /dev/null
@@ -1,610 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 数据权限
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
- 展开/折叠
- 全选/全不选
- 父子联动
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 展开/折叠
- 全选/全不选
- 父子联动
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/set/index.vue b/vue/src/views/system/set/index.vue
deleted file mode 100644
index 455649af..00000000
--- a/vue/src/views/system/set/index.vue
+++ /dev/null
@@ -1,618 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/system/status/index.vue b/vue/src/views/system/status/index.vue
deleted file mode 100644
index f5e7f03d..00000000
--- a/vue/src/views/system/status/index.vue
+++ /dev/null
@@ -1,515 +0,0 @@
-/******************************************************************************
- * 作者:kerwincui
- * 时间:2021-06-08
- * 邮箱:164770707@qq.com
- * 源码地址:https://gitee.com/kerwincui/wumei-smart
- * author: kerwincui
- * create: 2021-06-08
- * email:164770707@qq.com
- * source:https://github.com/kerwincui/wumei-smart
- ******************************************************************************/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/system/user/index.vue b/vue/src/views/system/user/index.vue
deleted file mode 100644
index 62256408..00000000
--- a/vue/src/views/system/user/index.vue
+++ /dev/null
@@ -1,675 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导入
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{dict.dictLabel}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 将文件拖到此处,或
- 点击上传
-
-
- 是否更新已经存在的用户数据
- 下载模板
-
- 提示:仅允许导入“xls”或“xlsx”格式文件!
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/user/profile/index.vue b/vue/src/views/system/user/profile/index.vue
deleted file mode 100644
index 8993cab7..00000000
--- a/vue/src/views/system/user/profile/index.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
- 个人信息
-
-
-
-
-
-
-
- 基本资料
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/system/user/profile/resetPwd.vue b/vue/src/views/system/user/profile/resetPwd.vue
deleted file mode 100644
index ee652405..00000000
--- a/vue/src/views/system/user/profile/resetPwd.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 保存
- 关闭
-
-
-
-
-
diff --git a/vue/src/views/system/user/profile/userAvatar.vue b/vue/src/views/system/user/profile/userAvatar.vue
deleted file mode 100644
index edc15e36..00000000
--- a/vue/src/views/system/user/profile/userAvatar.vue
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
![]()
-
-
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 提 交
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/system/user/profile/userInfo.vue b/vue/src/views/system/user/profile/userInfo.vue
deleted file mode 100644
index 3627a286..00000000
--- a/vue/src/views/system/user/profile/userInfo.vue
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 男
- 女
-
-
-
- 保存
- 关闭
-
-
-
-
-
diff --git a/vue/src/views/tool/build/CodeTypeDialog.vue b/vue/src/views/tool/build/CodeTypeDialog.vue
deleted file mode 100644
index 941ec362..00000000
--- a/vue/src/views/tool/build/CodeTypeDialog.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
-
-
-
-
- 取消
-
-
- 确定
-
-
-
-
-
-
diff --git a/vue/src/views/tool/build/DraggableItem.vue b/vue/src/views/tool/build/DraggableItem.vue
deleted file mode 100644
index e881778f..00000000
--- a/vue/src/views/tool/build/DraggableItem.vue
+++ /dev/null
@@ -1,100 +0,0 @@
-
diff --git a/vue/src/views/tool/build/IconsDialog.vue b/vue/src/views/tool/build/IconsDialog.vue
deleted file mode 100644
index 958be50c..00000000
--- a/vue/src/views/tool/build/IconsDialog.vue
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
diff --git a/vue/src/views/tool/build/RightPanel.vue b/vue/src/views/tool/build/RightPanel.vue
deleted file mode 100644
index abaec431..00000000
--- a/vue/src/views/tool/build/RightPanel.vue
+++ /dev/null
@@ -1,944 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
- {{ activeData.componentName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 默认
-
-
- 右侧
-
-
-
-
-
-
- 个字符
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text
-
-
- picture
-
-
- picture-card
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 选项
-
-
-
-
-
- 添加选项
-
-
-
-
-
-
- 选项
-
-
-
- 动态数据
-
-
- 静态数据
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 添加父级
-
-
-
-
-
-
-
-
- 默认
-
-
- 按钮
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 中等
-
-
- 较小
-
-
- 迷你
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 布局结构树
-
-
-
-
- {{ node.label }}
-
-
-
-
-
-
- 正则校验
-
-
-
-
-
-
-
-
-
-
-
-
-
- 添加规则
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 中等
-
-
- 较小
-
-
- 迷你
-
-
-
-
-
-
- 左对齐
-
-
- 右对齐
-
-
- 顶部对齐
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/tool/build/TreeNodeDialog.vue b/vue/src/views/tool/build/TreeNodeDialog.vue
deleted file mode 100644
index c225c4cc..00000000
--- a/vue/src/views/tool/build/TreeNodeDialog.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 确定
-
-
- 取消
-
-
-
-
-
-
diff --git a/vue/src/views/tool/build/index.vue b/vue/src/views/tool/build/index.vue
deleted file mode 100644
index 92291e98..00000000
--- a/vue/src/views/tool/build/index.vue
+++ /dev/null
@@ -1,789 +0,0 @@
-
-
-
-
-
-
![logo]()
Form Generator
-
-
-
-
-
- 输入型组件
-
-
-
-
-
- {{ element.label }}
-
-
-
-
- 选择型组件
-
-
-
-
-
- {{ element.label }}
-
-
-
-
- 布局型组件
-
-
-
-
-
- {{ element.label }}
-
-
-
-
-
-
-
-
-
-
- 导出vue文件
-
-
- 复制代码
-
-
- 清空
-
-
-
-
-
-
-
-
-
- 从左侧拖入或点选组件进行表单设计
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/tool/gen/basicInfoForm.vue b/vue/src/views/tool/gen/basicInfoForm.vue
deleted file mode 100644
index 757962c4..00000000
--- a/vue/src/views/tool/gen/basicInfoForm.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/tool/gen/editTable.vue b/vue/src/views/tool/gen/editTable.vue
deleted file mode 100644
index 94d0ef33..00000000
--- a/vue/src/views/tool/gen/editTable.vue
+++ /dev/null
@@ -1,232 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.dictName }}
- {{ dict.dictType }}
-
-
-
-
-
-
-
-
-
-
-
-
- 提交
- 返回
-
-
-
-
-
diff --git a/vue/src/views/tool/gen/genInfoForm.vue b/vue/src/views/tool/gen/genInfoForm.vue
deleted file mode 100644
index 27d6a22b..00000000
--- a/vue/src/views/tool/gen/genInfoForm.vue
+++ /dev/null
@@ -1,300 +0,0 @@
-
-
-
-
-
- 生成模板
-
-
-
-
-
-
-
-
-
-
-
- 生成包路径
-
-
-
-
-
-
-
-
-
-
-
- 生成模块名
-
-
-
-
-
-
-
-
-
-
-
- 生成业务名
-
-
-
-
-
-
-
-
-
-
-
- 生成功能名
-
-
-
-
-
-
-
-
-
-
-
- 上级菜单
-
-
-
-
-
-
-
-
-
-
-
- 生成代码方式
-
-
-
-
- zip压缩包
- 自定义路径
-
-
-
-
-
-
- 自定义路径
-
-
-
-
-
-
-
- 最近路径快速选择
-
-
-
- 恢复默认的生成基础路径
-
-
-
-
-
-
-
-
-
-
-
-
- 树编码字段
-
-
-
-
-
-
-
-
-
-
-
-
- 树父编码字段
-
-
-
-
-
-
-
-
-
-
-
-
- 树名称字段
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 关联子表的表名
-
-
-
-
-
-
-
-
-
-
-
-
- 子表关联的外键名
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/tool/gen/importTable.vue b/vue/src/views/tool/gen/importTable.vue
deleted file mode 100644
index 56b2c0ca..00000000
--- a/vue/src/views/tool/gen/importTable.vue
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vue/src/views/tool/gen/index.vue b/vue/src/views/tool/gen/index.vue
deleted file mode 100644
index 8e9b513c..00000000
--- a/vue/src/views/tool/gen/index.vue
+++ /dev/null
@@ -1,340 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 生成
-
-
- 导入
-
-
- 修改
-
-
- 删除
-
-
-
-
-
-
-
-
- {{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}
-
-
-
-
-
-
-
-
-
- 预览
- 编辑
- 删除
- 同步
- 生成代码
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vue/src/views/tool/swagger/index.vue b/vue/src/views/tool/swagger/index.vue
deleted file mode 100644
index 61cfccaa..00000000
--- a/vue/src/views/tool/swagger/index.vue
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
diff --git a/vue/vue.config.js b/vue/vue.config.js
deleted file mode 100644
index 1ae4aad3..00000000
--- a/vue/vue.config.js
+++ /dev/null
@@ -1,118 +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 = {
- // 部署生产环境和开发环境下的URL。
- // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
- // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
- publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
- // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
- outputDir: 'dist',
- // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
- assetsDir: 'static',
- // 是否开启eslint保存检测,有效值: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,
- open: true,
- 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()
-
- 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'),
- {
- from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
- to: './', //到根目录下
- }
- }
- )
- }
-}