From e6e1900e5a1bf7dcd59d89d078fdbfaeb7cb4909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=AE=8F=E6=9D=B0?= <1943105267@qq.com> Date: Mon, 22 Jul 2024 11:20:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A1=B5=E9=9D=A2=E9=87=8D?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 7 +- .env.production | 4 +- .env.staging | 4 +- package.json | 3 +- public/favicon.ico | Bin 5663 -> 16958 bytes src/App.vue | 26 +++- src/assets/images/ui/img_frame.png | Bin 0 -> 4314 bytes src/assets/images/ui/logo_bg.jpg | Bin 0 -> 195945 bytes src/assets/images/ui/navigation.png | Bin 0 -> 10539 bytes src/assets/styles/font.css | 53 +++++++ src/assets/styles/font/xiniu.TTF | Bin 0 -> 23040 bytes src/assets/styles/index.scss | 29 ++-- src/components/NavigationBar/index.vue | 69 ++++++++++ src/views/index.vue | 58 +++++--- src/views/login.vue | 183 +++++++++++++++++-------- vue.config.js | 145 ++++++++++---------- 16 files changed, 406 insertions(+), 175 deletions(-) create mode 100644 src/assets/images/ui/img_frame.png create mode 100644 src/assets/images/ui/logo_bg.jpg create mode 100644 src/assets/images/ui/navigation.png create mode 100644 src/assets/styles/font.css create mode 100644 src/assets/styles/font/xiniu.TTF create mode 100644 src/components/NavigationBar/index.vue diff --git a/.env.development b/.env.development index 302ecd1..5011e0a 100644 --- a/.env.development +++ b/.env.development @@ -1,11 +1,12 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 人口数据管理系统 # 开发环境配置 ENV = 'development' -# 若依管理系统/开发环境 -VUE_APP_BASE_API = '/dev-api' +# 政务网/开发环境 +VUE_APP_BASE_API_HTML = "http://122.193.93.182:19002" +VUE_APP_BASE_API = 'http://122.193.93.182:19002' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production index b4893b0..6c7bdb0 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 361859f..12de2d8 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 2d89bad..a268d0b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ruoyi", "version": "3.8.8", - "description": "若依管理系统", + "description": "人口数据管理系统", "author": "若依", "license": "MIT", "scripts": { @@ -37,6 +37,7 @@ }, "dependencies": { "@riophae/vue-treeselect": "0.4.0", + "autofit.js": "^3.1.1", "axios": "0.28.1", "clipboard": "2.0.8", "core-js": "3.37.1", diff --git a/public/favicon.ico b/public/favicon.ico index e26376026420542212ed58d90d0ed34f554fa4ae..63897328bf69f1b980eccce8b16b9e521f1ef361 100644 GIT binary patch literal 16958 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

voyQqpmOc+?F;#^s$*CBqR+T?JwTKulIfY z{}cF$T>2Gu|D~iK-SoG4*tyRY>$ulfet8s2S2F@iTrNLmlhOfBYnVvHI+e<^N>s(r@I=Oe|k*M&H6UU1Ws?%N?XVti0CF{4je8 z!mp(vnmQ5{lM8?L&YV3T%f7JdxJbO`$konrjJHw>QAFM>@=mq24U&$Ee6kAn<+$nk z%)8u5&MT}G3i_kH#NFtgf9Gz6j_b*Aau*j28h#i96!%~kbKb>e4_Lz_4=3mR&%bYi znZ;#f=aj#JUs=N6lmFXr9{cAf zyYS6+H)LfOGwypXw|_nN?$xEfBXvr?uU<+qm5JGTa$RjqpKpP^tUJagZ^xUJ>sl5nP~~T&E2w z)B`p4CrzBroc35v>g4hI#M?z_cMI=N<>P*~SG23UdjQ47)gwH6pSow~2=b9pw1pF< znII%I9qH-C%mdtJPiGURXBeo5uYgTBX)|yKGp~e>oPNn#h(8_V0#RlP66(&!121RMR}$HCRcFcEo@+Jmx9w{E?PkBK4YN3GQkef)DBcM!%2$qux_d zX`^ds_jAZ8SQ96|UAM)BIhiwzrO)EKJtr}9o(+a788YT~mf}gVuSGo8O_A{Pz5HAk zYqadc$|}Q-gC{Zfb4%`dHTIY|cbS=8>?|*Pu#oeSfH zbBw2Bmm*`;=_onX~mee7vKI665mNv;t)@=J&z&OTNSVe#pN$QEhH{o^r-Jx?W4m zn|V@sfAVO?Y$9LB9t!f*0K_NepqeqhU^#M5BA*ALyKLu6pDgQQtTq>)W z{R7FEOF}V{EyQefRxo-#!{fq1{-$-WEqJuhdsn)upiK zTiCgOd9S}~E_m-h6aR+&FX$eI;wVqK2@EeNelY zXRvb)g6Em*2o6hO4x*5IxdP?P>xv%tdz_yqjZc{yNo6h23ERo@cJB6I&)pe(zSe=c zA5$!3UF@rEF3>UZ#q@b57|oij$|QZ!KisK(_E{q1>7>PtgQQ-_-V88=Xc@w zH9qHa#Qxfuo?cYq?io?DYMphf%2d6s;bV1ZBiSR&9;ty!2QhoGA=YlThcg zZy$Lxn>;>;v1~5N7^l0rUxlLLE-2B*&SX8+(!n2JZFR*==9pG&w8NS$4xCRX<`)cP ziWBv^7A~=BwXh1P2@6jx5n~Wz`86>8EBD~Dg>9HkF-}h}xEm6j)Ubb_89{R^#+b$ zE?kv4ww;GO*@qd|oRFAP#4Th@5zqY9_xLZJ1CBw&&iyHqGcpP{Uyn>vKkgQK!ofZy z!rD3{MO*h$y}E{P^X`48WotJ$<8%J~&a4Gy>`yjgUgIzhoBKjj{}gkqF3{3H34O*E zmPZ3*2Q<&fwrq2gDe!Nk<}Nmerr~M!gk;4O72i8f?2{?tnSC+rFCF)9@qLcx4?VtO zVQc$you-zy<4H;R+2P^o6~4YP&8B7-+cmUKw{P6))Ujsc(T){gI&^H>YTL14izWZY zz_i24_H6rE->~-lqKYQ+{&s8oD;=M*e|N!BbD5dV`Oe(@N+;UR&A-Lif6IG{b)x*8 zb2FC5>68_eb(D=gB3_Gg;xlE+U;P78wJu#wzA=2*Hf-K(pWWFdv+nHrzGw5d9Ph7v zZ{iU#mH0c94=4jT55svByi}=2M)sT&`PdKn`Y-Mt!G_Mq{FAqBb*wNp_B}`ZODTOl zyTA4r|F7JS_(lBn7YnPC<|bzD*+D@`aaXV2HsCp7XWtpW{Zbsf=i5J~zmv{9>(}qU z#EbZT{r*E7#hrQR7RNcj3vnC>REy)Eq_0U|G!^f82XWv9ujEG)=`vo}dz3Ec4SJ8& z^6&lW?PI+B{C~WCG?kzKUGGu;_P77P_j$d?c=;oLFurQ}`9HmV?8W=`v3Fj2=dJH( wDsII2ly1a%?mbF3;QaTlNALQGFYs&90!c@%fV7Te;{3Y!c{N8mpxXraUxCnc*8l(j literal 5663 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 import ThemePicker from "@/components/ThemePicker"; - +import autofit from "autofit.js"; export default { + mounted() { + autofit.init({ + designHeight: 1080, + designWidth: 1920, + renderDom: "#app", + resize: true, + }); + }, name: "App", components: { ThemePicker }, metaInfo() { return { - title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title, - titleTemplate: title => { - return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE - } - } - } + title: + this.$store.state.settings.dynamicTitle && + this.$store.state.settings.title, + titleTemplate: (title) => { + return title + ? `${title} - ${process.env.VUE_APP_TITLE}` + : process.env.VUE_APP_TITLE; + }, + }; + }, }; diff --git a/src/views/index.vue b/src/views/index.vue index 8081a92..662af1e 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -41,7 +41,7 @@

若依后台管理框架

- 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 + 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了人口数据管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。

当前版本: v{{ version }} @@ -118,12 +118,19 @@ >

- QQ群: 满937441 满887144332 - 满180251782 满104180207 满186866453 满201396349 - 满101456076 满101539465 满264312783 满167385320 - 满104748341 满160110482 满170801498 满108482800 - 满101046199 满136919097 满143961921 满174951577 - 满161281055 满138988063 151450850 + QQ群: 满937441 + 满887144332 满180251782 满104180207 + 满186866453 满201396349 满101456076 + 满101539465 满264312783 满167385320 + 满104748341 满160110482 满170801498 + 满108482800 满101046199 满136919097 + 满143961921 满174951577 满161281055 + 满138988063 + 151450850

微信:修复table中更多按钮切换主题色未生效修复问题

  • 修复某些特性的环境生成代码变乱码TXT文件问题
  • 修复代码生成图片/文件/单选时选择必填无法校验问题
  • -
  • 修复某些特性的情况用户编辑对话框中角色和部门无法修改问题
  • +
  • + 修复某些特性的情况用户编辑对话框中角色和部门无法修改问题 +
  • 其他细节优化
  • @@ -353,7 +362,9 @@
  • 新增获取不带后缀文件名称方法
  • 新增获取配置文件中的属性值方法
  • 新增内容编码/解码方便插件集成使用
  • -
  • 字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)
  • +
  • + 字典类型必须以字母开头,且只能为(小写字母,数字,下滑线) +
  • 优化设置分页参数默认值
  • 优化对空字符串参数处理的过滤
  • 优化显示顺序orderNum类型为整型
  • @@ -557,8 +568,12 @@
  • BLOB下载时清除URL对象引用
  • 代码生成导入表按创建时间排序
  • 修复代码生成页面数据编辑保存之后总是跳转第一页的问题
  • -
  • 修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题
  • -
  • 多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复
  • +
  • + 修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题 +
  • +
  • + 多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复 +
  • 其他细节优化
  • @@ -603,7 +618,9 @@
      -
    1. 新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)
    2. +
    3. + 新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单) +
    4. 布局设置支持保存&重置配置
    5. 修复树表数据显示不全&加载慢问题
    6. 新增IE浏览器版本过低提示页面
    7. @@ -622,7 +639,9 @@
    8. 升级druid到最新版本v1.2.6
    9. 升级mybatis到最新版3.5.6 阻止远程代码执行漏洞
    10. 升级oshi到最新版本v5.6.0
    11. -
    12. velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞
    13. +
    14. + velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞 +
    15. 数据监控页默认账户密码防止越权访问
    16. 修复firefox下表单构建拖拽会新打卡一个选项卡
    17. 修正后端导入表权限标识
    18. @@ -999,11 +1018,7 @@ 捐赠支持
      - donate + donate 你可以请作者喝杯咖啡表示鼓励 @@ -1020,14 +1035,14 @@ export default { data() { return { // 版本号 - version: "3.8.8" + version: "3.8.8", }; }, methods: { goTarget(href) { window.open(href, "_blank"); - } - } + }, + }, }; @@ -1094,4 +1109,3 @@ export default { } } - diff --git a/src/views/login.vue b/src/views/login.vue index 06c09d2..c96c44c 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,15 +1,25 @@ @@ -161,44 +200,78 @@ export default { justify-content: center; align-items: center; height: 100%; - background-image: url("../assets/images/login-background.jpg"); - background-size: cover; + background-image: url("../assets/images/ui/logo_bg.jpg"); + background-size: 100% 100%; } .title { margin: 0px auto 30px auto; text-align: center; - color: #707070; + color: #00d8ff; + font-size: 30px; + font-family: "xiniu"; } .login-form { border-radius: 6px; - background: #ffffff; - width: 400px; - padding: 25px 25px 5px 25px; + background-image: url("../assets/images/ui/img_frame.png"); + background-size: 100% 100%; + width: 500px; + padding: 35px 35px 5px 35px; .el-input { - height: 38px; + height: 50px; input { - height: 38px; + height: 50px; + font-size: 18px; + color: #d8dde6; + font-family: "Alibaba-PuHuiTi-Regular.otf"; + background: rgba(9, 27, 52, 0.2); + border-color: #1489cc; } } .input-icon { - height: 39px; - width: 14px; + height: 50px; + width: 18px; margin-left: 2px; + color: #1adcff; } } +.rememberMe { + color: #d8dde6; +} +.logo-btn { + height: 50px; + background: linear-gradient( + 0deg, + rgba(7, 39, 64, 0.9) 0%, + rgba(0, 132, 255, 0.9) 100% + ); + box-shadow: 0px 3px 6px 0px rgba(4, 0, 0, 0.45); + border-radius: 10px; + // border-image: linear-gradient(0deg, #00c0ff, #009cff) 10 10; +} +.logo-btn:hover { + background: linear-gradient( + 0deg, + rgba(7, 39, 64, 0.9) 0%, + rgba(0, 132, 255, 0.9) 100% + ); +} .login-tip { font-size: 13px; text-align: center; color: #bfbfbf; } + .login-code { width: 33%; - height: 38px; + height: 50px; float: right; img { + height: 50px; + width: 100%; cursor: pointer; vertical-align: middle; + border-radius: 4px; } } .el-login-footer { diff --git a/vue.config.js b/vue.config.js index 85f3133..47a827d 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,15 +1,15 @@ -'use strict' -const path = require('path') +"use strict"; +const path = require("path"); function resolve(dir) { - return path.join(__dirname, dir) + return path.join(__dirname, dir); } -const CompressionPlugin = require('compression-webpack-plugin') +const CompressionPlugin = require("compression-webpack-plugin"); -const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题 +const name = process.env.VUE_APP_TITLE || "人口数据管理系统"; // 网页标题 -const port = process.env.port || process.env.npm_config_port || 80 // 端口 +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 @@ -20,16 +20,16 @@ module.exports = { // 例如 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', + outputDir: "dist", // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) - assetsDir: 'static', + assetsDir: "static", // 是否开启eslint保存检测,有效值:ture | false | 'error' - lintOnSave: process.env.NODE_ENV === 'development', + lintOnSave: process.env.NODE_ENV === "development", // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 productionSourceMap: false, // webpack-dev-server 相关配置 devServer: { - host: '0.0.0.0', + host: "0.0.0.0", port: port, open: true, proxy: { @@ -38,93 +38,92 @@ module.exports = { target: `http://localhost:8080`, changeOrigin: true, pathRewrite: { - ['^' + process.env.VUE_APP_BASE_API]: '' - } - } + ["^" + process.env.VUE_APP_BASE_API]: "", + }, + }, }, - disableHostCheck: true + disableHostCheck: true, }, css: { loaderOptions: { sass: { - sassOptions: { outputStyle: "expanded" } - } - } + sassOptions: { outputStyle: "expanded" }, + }, + }, }, configureWebpack: { name: name, resolve: { alias: { - '@': resolve('src') - } + "@": resolve("src"), + }, }, plugins: [ // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 new CompressionPlugin({ - cache: false, // 不启用文件缓存 - test: /\.(js|css|html|jpe?g|png|gif|svg)?$/i, // 压缩文件格式 - filename: '[path][base].gz[query]', // 压缩后的文件名 - algorithm: 'gzip', // 使用gzip压缩 - minRatio: 0.8, // 压缩比例,小于 80% 的文件不会被压缩 - deleteOriginalAssets: false // 压缩后删除原文件 - }) + cache: false, // 不启用文件缓存 + test: /\.(js|css|html|jpe?g|png|gif|svg)?$/i, // 压缩文件格式 + filename: "[path][base].gz[query]", // 压缩后的文件名 + algorithm: "gzip", // 使用gzip压缩 + minRatio: 0.8, // 压缩比例,小于 80% 的文件不会被压缩 + deleteOriginalAssets: false, // 压缩后删除原文件 + }), ], }, chainWebpack(config) { - config.plugins.delete('preload') // TODO: need test - config.plugins.delete('prefetch') // TODO: need test + 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('svg') - .exclude.add(resolve('src/assets/icons')) - .end() - config.module - .rule('icons') + .rule("icons") .test(/\.svg$/) - .include.add(resolve('src/assets/icons')) + .include.add(resolve("src/assets/icons")) .end() - .use('svg-sprite-loader') - .loader('svg-sprite-loader') + .use("svg-sprite-loader") + .loader("svg-sprite-loader") .options({ - symbolId: 'icon-[name]' + symbolId: "icon-[name]", }) - .end() + .end(); - config.when(process.env.NODE_ENV !== 'development', config => { - config - .plugin('ScriptExtHtmlWebpackPlugin') - .after('html') - .use('script-ext-html-webpack-plugin', [{ + 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() + 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 - test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm - priority: 20 // the weight needs to be larger than libs and app or it will be packaged into libs or app - }, - 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') - }) - } -} + 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 + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm + priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app + }, + 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"); + }); + }, +};