From 95504af9d20647fea2a0885a6e2f7ae2efc34657 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Mon, 4 Aug 2025 18:24:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E9=A6=96=E9=A1=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- .env.production | 4 +- .env.staging | 4 +- package.json | 180 +-- public/favicon.ico | Bin 5561 -> 4853 bytes public/favicon.ico-old | Bin 0 -> 5561 bytes src/components/TitleTip/index.vue | 28 +- src/layout/index.vue | 584 ++++----- src/router/index.js | 296 ++--- .../home-index/components/dataOverview.vue | 85 ++ src/views/home-index/components/oftenUse.vue | 91 ++ src/views/home-index/index.vue | 30 + src/views/login.vue | 432 ++++--- src/views/login1.vue | 1068 ++++++++++------- 14 files changed, 1652 insertions(+), 1154 deletions(-) create mode 100644 public/favicon.ico-old create mode 100644 src/views/home-index/components/dataOverview.vue create mode 100644 src/views/home-index/components/oftenUse.vue create mode 100644 src/views/home-index/index.vue 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 121ffe20b5bb79e0f1144d63c256330f384a1b56..d4c90f792e8742f88029a6b66b897790a95533c7 100644 GIT binary patch literal 4853 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 A-~a#s diff --git a/public/favicon.ico-old b/public/favicon.ico-old new file mode 100644 index 0000000000000000000000000000000000000000..121ffe20b5bb79e0f1144d63c256330f384a1b56 GIT binary patch literal 5561 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 A-~a#s literal 0 HcmV?d00001 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 @@