diff --git a/.env.development b/.env.development index e2949ac..dbe79fa 100644 --- a/.env.development +++ b/.env.development @@ -1,10 +1,10 @@ # 页面标题 -VUE_APP_TITLE = 博诺思管理系统 +VUE_APP_TITLE = 华东实名制管理系统 # 开发环境配置 ENV = 'development' -# 博诺思管理系统/开发环境 +# 华东实名制管理系统/开发环境 VUE_APP_BASE_API = '/dev-api' # 路由懒加载 diff --git a/.env.production b/.env.production index aa22a93..c6fddc5 100644 --- a/.env.production +++ b/.env.production @@ -1,8 +1,8 @@ # 页面标题 -VUE_APP_TITLE = 博诺思管理系统 +VUE_APP_TITLE = 华东实名制管理系统 # 生产环境配置 ENV = 'production' -# 博诺思管理系统/生产环境 +# 华东实名制管理系统/生产环境 VUE_APP_BASE_API = '/prod-api' diff --git a/.env.staging b/.env.staging index 455b9ac..9d00bfb 100644 --- a/.env.staging +++ b/.env.staging @@ -1,10 +1,10 @@ # 页面标题 -VUE_APP_TITLE = 博诺思管理系统 +VUE_APP_TITLE = 华东实名制管理系统 NODE_ENV = production # 测试环境配置 ENV = 'staging' -# 博诺思管理系统/测试环境 +# 华东实名制管理系统/测试环境 VUE_APP_BASE_API = '/stage-api' diff --git a/package.json b/package.json index 434db7e..a482d32 100644 --- a/package.json +++ b/package.json @@ -1,93 +1,93 @@ { - "name": "bonus", - "version": "3.6.4", - "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" + "name": "bonus", + "version": "3.6.4", + "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": "http://192.168.0.56:3000/bonus/Bonus-Cloud.git" + }, + "dependencies": { + "@riophae/vue-treeselect": "0.4.0", + "axios": "0.24.0", + "clipboard": "2.0.8", + "core-js": "3.25.3", + "crypto-js": "^4.2.0", + "echarts": "5.4.0", + "element-ui": "2.15.14", + "file-saver": "2.0.5", + "fuse.js": "6.4.3", + "highlight.js": "9.18.5", + "js-beautify": "1.13.0", + "js-cookie": "3.0.1", + "jsencrypt": "3.0.0-rc.1", + "nprogress": "0.2.0", + "quill": "1.3.7", + "screenfull": "5.0.2", + "sm-crypto": "^0.3.13", + "sortablejs": "1.10.2", + "vue": "2.6.12", + "vue-count-to": "1.0.13", + "vue-cropper": "0.5.5", + "vue-meta": "2.4.0", + "vue-router": "3.4.9", + "vuedraggable": "2.24.3", + "vuex": "3.6.0", + "webstomp-client": "^1.2.6" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "4.4.6", + "@vue/cli-plugin-eslint": "4.4.6", + "@vue/cli-service": "4.4.6", + "babel-eslint": "10.1.0", + "babel-plugin-dynamic-import-node": "2.3.3", + "chalk": "4.1.0", + "compression-webpack-plugin": "6.1.2", + "connect": "3.6.6", + "eslint": "7.15.0", + "eslint-plugin-vue": "7.2.0", + "lint-staged": "10.5.3", + "runjs": "4.4.2", + "sass": "1.32.13", + "sass-loader": "10.1.1", + "script-ext-html-webpack-plugin": "2.1.5", + "svg-sprite-loader": "5.1.1", + "vue-template-compiler": "2.6.12" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions" ] - }, - "keywords": [ - "vue", - "admin", - "dashboard", - "element-ui", - "boilerplate", - "admin-template", - "management-system" - ], - "repository": { - "type": "git", - "url": "http://192.168.0.56:3000/bonus/Bonus-Cloud.git" - }, - "dependencies": { - "@riophae/vue-treeselect": "0.4.0", - "axios": "0.24.0", - "clipboard": "2.0.8", - "core-js": "3.25.3", - "crypto-js": "^4.2.0", - "echarts": "5.4.0", - "element-ui": "2.15.14", - "file-saver": "2.0.5", - "fuse.js": "6.4.3", - "highlight.js": "9.18.5", - "js-beautify": "1.13.0", - "js-cookie": "3.0.1", - "jsencrypt": "3.0.0-rc.1", - "nprogress": "0.2.0", - "quill": "1.3.7", - "screenfull": "5.0.2", - "sm-crypto": "^0.3.13", - "sortablejs": "1.10.2", - "vue": "2.6.12", - "vue-count-to": "1.0.13", - "vue-cropper": "0.5.5", - "vue-meta": "2.4.0", - "vue-router": "3.4.9", - "vuedraggable": "2.24.3", - "vuex": "3.6.0", - "webstomp-client": "^1.2.6" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "4.4.6", - "@vue/cli-plugin-eslint": "4.4.6", - "@vue/cli-service": "4.4.6", - "babel-eslint": "10.1.0", - "babel-plugin-dynamic-import-node": "2.3.3", - "chalk": "4.1.0", - "compression-webpack-plugin": "6.1.2", - "connect": "3.6.6", - "eslint": "7.15.0", - "eslint-plugin-vue": "7.2.0", - "lint-staged": "10.5.3", - "runjs": "4.4.2", - "sass": "1.32.13", - "sass-loader": "10.1.1", - "script-ext-html-webpack-plugin": "2.1.5", - "svg-sprite-loader": "5.1.1", - "vue-template-compiler": "2.6.12" - }, - "engines": { - "node": ">=8.9", - "npm": ">= 3.0.0" - }, - "browserslist": [ - "> 1%", - "last 2 versions" - ] } diff --git a/public/favicon.ico b/public/favicon.ico index 121ffe2..d4c90f7 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon.ico-old b/public/favicon.ico-old new file mode 100644 index 0000000..121ffe2 Binary files /dev/null and b/public/favicon.ico-old differ diff --git a/src/components/TitleTip/index.vue b/src/components/TitleTip/index.vue index f915394..43d39a4 100644 --- a/src/components/TitleTip/index.vue +++ b/src/components/TitleTip/index.vue @@ -1,8 +1,15 @@ @@ -20,13 +27,22 @@ export default { diff --git a/src/router/index.js b/src/router/index.js index 93d46ca..cb94ca9 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -30,153 +30,153 @@ import Layout from '@/layout' // 公共路由 export const constantRoutes = [ - { - path: '/redirect', - component: Layout, - hidden: true, - children: [ - { - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect') - } - ] - }, - { - path: '/login', - component: () => import('@/views/login1'), - hidden: true - }, - { - path: '/register', - component: () => import('@/views/register1'), - hidden: true - }, - { - path: '/404', - component: () => import('@/views/error/404'), - hidden: true - }, - { - path: '/401', - component: () => import('@/views/error/401'), - hidden: true - }, - { - path: '', - component: Layout, - redirect: 'index', - children: [ - { - path: 'index', - component: () => import('@/views/index'), - name: 'Index', - meta: { title: '首页', icon: 'dashboard', affix: true } - } - ] - }, - { - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [ - { - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { title: '个人中心', icon: 'user' } - } - ] - } + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect'), + }, + ], + }, + { + path: '/login', + component: () => import('@/views/login1'), + hidden: true, + }, + { + path: '/register', + component: () => import('@/views/register1'), + hidden: true, + }, + { + path: '/404', + component: () => import('@/views/error/404'), + hidden: true, + }, + { + path: '/401', + component: () => import('@/views/error/401'), + hidden: true, + }, + { + path: '', + component: Layout, + redirect: 'index', + children: [ + { + path: 'index', + component: () => import('@/views/home-index/index'), + name: 'Index', + meta: { title: '首页', icon: 'dashboard', affix: true }, + }, + ], + }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [ + { + path: 'profile', + component: () => import('@/views/system/user/profile/index'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' }, + }, + ], + }, ] // 动态路由,基于用户权限动态去加载 export const dynamicRoutes = [ - { - path: '/system/user-auth', - component: Layout, - hidden: true, - permissions: ['system:user:edit'], - children: [ - { - path: 'role/:userId(\\d+)', - component: () => import('@/views/system/user/authRole'), - name: 'AuthRole', - meta: { title: '分配角色', activeMenu: '/system/user' } - } - ] - }, - { - path: '/system/role-auth', - component: Layout, - hidden: true, - permissions: ['system:role:edit'], - children: [ - { - path: 'user/:roleId(\\d+)', - component: () => import('@/views/system/role/authUser'), - name: 'AuthUser', - meta: { title: '分配用户', activeMenu: '/system/role' } - } - ] - }, - { - path: '/system/dict-data', - component: Layout, - hidden: true, - permissions: ['system:dict:list'], - children: [ - { - path: 'index/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { title: '字典数据', activeMenu: '/system/dict' } - } - ] - }, - { - path: '/face/face-data', - component: Layout, - hidden: false, // 或者删除此属性以确保显示 - permissions: ['face:data:list'], - children: [ - { - // 只需要 ':groupCode' 来匹配字符串 - path: 'index/:groupCode', - component: () => import('@/views/face/faceData/index'), - name: 'Data', - meta: { title: '人脸库', activeMenu: '/face/face-data' } - } - ] - }, - { - path: '/monitor/job-log', - component: Layout, - hidden: true, - permissions: ['monitor:job:list'], - children: [ - { - path: 'index/:jobId(\\d+)', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { title: '调度日志', activeMenu: '/monitor/job' } - } - ] - }, - { - path: '/tool/gen-edit', - component: Layout, - hidden: true, - permissions: ['tool:gen:edit'], - children: [ - { - path: 'index/:tableId(\\d+)', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '修改生成配置', activeMenu: '/tool/gen' } - } - ] - } + { + path: '/system/user-auth', + component: Layout, + hidden: true, + permissions: ['system:user:edit'], + children: [ + { + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole'), + name: 'AuthRole', + meta: { title: '分配角色', activeMenu: '/system/user' }, + }, + ], + }, + { + path: '/system/role-auth', + component: Layout, + hidden: true, + permissions: ['system:role:edit'], + children: [ + { + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser'), + name: 'AuthUser', + meta: { title: '分配用户', activeMenu: '/system/role' }, + }, + ], + }, + { + path: '/system/dict-data', + component: Layout, + hidden: true, + permissions: ['system:dict:list'], + children: [ + { + path: 'index/:dictId(\\d+)', + component: () => import('@/views/system/dict/data'), + name: 'Data', + meta: { title: '字典数据', activeMenu: '/system/dict' }, + }, + ], + }, + { + path: '/face/face-data', + component: Layout, + hidden: false, // 或者删除此属性以确保显示 + permissions: ['face:data:list'], + children: [ + { + // 只需要 ':groupCode' 来匹配字符串 + path: 'index/:groupCode', + component: () => import('@/views/face/faceData/index'), + name: 'Data', + meta: { title: '人脸库', activeMenu: '/face/face-data' }, + }, + ], + }, + { + path: '/monitor/job-log', + component: Layout, + hidden: true, + permissions: ['monitor:job:list'], + children: [ + { + path: 'index/:jobId(\\d+)', + component: () => import('@/views/monitor/job/log'), + name: 'JobLog', + meta: { title: '调度日志', activeMenu: '/monitor/job' }, + }, + ], + }, + { + path: '/tool/gen-edit', + component: Layout, + hidden: true, + permissions: ['tool:gen:edit'], + children: [ + { + path: 'index/:tableId(\\d+)', + component: () => import('@/views/tool/gen/editTable'), + name: 'GenEdit', + meta: { title: '修改生成配置', activeMenu: '/tool/gen' }, + }, + ], + }, ] // 防止连续点击多次路由报错 @@ -184,15 +184,15 @@ let routerPush = Router.prototype.push let routerReplace = Router.prototype.replace // push Router.prototype.push = function push(location) { - return routerPush.call(this, location).catch(err => err) + return routerPush.call(this, location).catch((err) => err) } // replace Router.prototype.replace = function push(location) { - return routerReplace.call(this, location).catch(err => err) + return routerReplace.call(this, location).catch((err) => err) } export default new Router({ - mode: 'history', // 去掉url中的# - scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes + mode: 'history', // 去掉url中的# + scrollBehavior: () => ({ y: 0 }), + routes: constantRoutes, }) diff --git a/src/views/home-index/components/dataOverview.vue b/src/views/home-index/components/dataOverview.vue new file mode 100644 index 0000000..30cefc6 --- /dev/null +++ b/src/views/home-index/components/dataOverview.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/views/home-index/components/oftenUse.vue b/src/views/home-index/components/oftenUse.vue new file mode 100644 index 0000000..cf12460 --- /dev/null +++ b/src/views/home-index/components/oftenUse.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/home-index/index.vue b/src/views/home-index/index.vue new file mode 100644 index 0000000..2684ddc --- /dev/null +++ b/src/views/home-index/index.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/views/login.vue b/src/views/login.vue index 36b1d2b..f1f34ff 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,219 +1,279 @@ diff --git a/src/views/login1.vue b/src/views/login1.vue index e1448ee..d40ec4d 100644 --- a/src/views/login1.vue +++ b/src/views/login1.vue @@ -1,151 +1,250 @@