Ver código fonte

首页界面整改

1037015548@qq.com 2 anos atrás
pai
commit
8a4a527d70
58 arquivos alterados com 2516 adições e 21 exclusões
  1. 110 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java
  2. 3 2
      ruoyi-admin/src/main/resources/application-test.yml
  3. 390 0
      ruoyi-admin/src/main/resources/static/css/backgroundLayer.css
  4. 55 0
      ruoyi-admin/src/main/resources/static/css/earth.css
  5. 678 0
      ruoyi-admin/src/main/resources/static/css/iconFamily.css
  6. 120 0
      ruoyi-admin/src/main/resources/static/css/index.css
  7. 572 0
      ruoyi-admin/src/main/resources/static/css/navLinkContent.css
  8. 220 0
      ruoyi-admin/src/main/resources/static/css/weatherTime.css
  9. BIN
      ruoyi-admin/src/main/resources/static/fonts/Digital-7Mono.TTF
  10. BIN
      ruoyi-admin/src/main/resources/static/fonts/PangMenZhengDao.ttf
  11. BIN
      ruoyi-admin/src/main/resources/static/fonts/YouSheBiaoTiHei-2.ttf
  12. BIN
      ruoyi-admin/src/main/resources/static/images/background.png
  13. BIN
      ruoyi-admin/src/main/resources/static/images/earth.png
  14. BIN
      ruoyi-admin/src/main/resources/static/images/earthOneCircle.png
  15. BIN
      ruoyi-admin/src/main/resources/static/images/earthTwoCircle.png
  16. BIN
      ruoyi-admin/src/main/resources/static/images/favicon.ico
  17. BIN
      ruoyi-admin/src/main/resources/static/images/icon-map.png
  18. BIN
      ruoyi-admin/src/main/resources/static/images/icon-users.png
  19. BIN
      ruoyi-admin/src/main/resources/static/images/navEight.png
  20. BIN
      ruoyi-admin/src/main/resources/static/images/navEightHover.png
  21. BIN
      ruoyi-admin/src/main/resources/static/images/navEightIcon.png
  22. BIN
      ruoyi-admin/src/main/resources/static/images/navEightIconHover.png
  23. BIN
      ruoyi-admin/src/main/resources/static/images/navFive.png
  24. BIN
      ruoyi-admin/src/main/resources/static/images/navFiveHover.png
  25. BIN
      ruoyi-admin/src/main/resources/static/images/navFiveIcon.png
  26. BIN
      ruoyi-admin/src/main/resources/static/images/navFiveIconHover.png
  27. BIN
      ruoyi-admin/src/main/resources/static/images/navFour.png
  28. BIN
      ruoyi-admin/src/main/resources/static/images/navFourHover.png
  29. BIN
      ruoyi-admin/src/main/resources/static/images/navFourIcon.png
  30. BIN
      ruoyi-admin/src/main/resources/static/images/navFourIconHover.png
  31. BIN
      ruoyi-admin/src/main/resources/static/images/navOne.png
  32. BIN
      ruoyi-admin/src/main/resources/static/images/navOneHover.png
  33. BIN
      ruoyi-admin/src/main/resources/static/images/navOneIcon.png
  34. BIN
      ruoyi-admin/src/main/resources/static/images/navOneIconHover.png
  35. BIN
      ruoyi-admin/src/main/resources/static/images/navSeven.png
  36. BIN
      ruoyi-admin/src/main/resources/static/images/navSevenHover.png
  37. BIN
      ruoyi-admin/src/main/resources/static/images/navSevenIcon.png
  38. BIN
      ruoyi-admin/src/main/resources/static/images/navSevenIconHover.png
  39. BIN
      ruoyi-admin/src/main/resources/static/images/navSix.png
  40. BIN
      ruoyi-admin/src/main/resources/static/images/navSixHover.png
  41. BIN
      ruoyi-admin/src/main/resources/static/images/navSixIcon.png
  42. BIN
      ruoyi-admin/src/main/resources/static/images/navSixIconHover.png
  43. BIN
      ruoyi-admin/src/main/resources/static/images/navThree.png
  44. BIN
      ruoyi-admin/src/main/resources/static/images/navThreeHover.png
  45. BIN
      ruoyi-admin/src/main/resources/static/images/navThreeIcon.png
  46. BIN
      ruoyi-admin/src/main/resources/static/images/navThreeIconHover.png
  47. BIN
      ruoyi-admin/src/main/resources/static/images/navTwo.png
  48. BIN
      ruoyi-admin/src/main/resources/static/images/navTwoHover.png
  49. BIN
      ruoyi-admin/src/main/resources/static/images/navTwoIcon.png
  50. BIN
      ruoyi-admin/src/main/resources/static/images/navTwoIconHover.png
  51. BIN
      ruoyi-admin/src/main/resources/static/images/topTitle.png
  52. 40 0
      ruoyi-admin/src/main/resources/static/ruoyi/index.js
  53. 20 16
      ruoyi-admin/src/main/resources/templates/index.html
  54. 1 2
      ruoyi-admin/src/main/resources/templates/main.html
  55. 76 0
      ruoyi-admin/src/main/resources/templates/mainLhk.html
  56. 219 0
      ruoyi-admin/src/main/resources/templates/view.html
  57. 1 0
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java
  58. 11 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/UserRelate.java

+ 110 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java

@@ -162,10 +162,70 @@ public class SysIndexController extends BaseController
 //        List<Dangan>  danganList = danganService.selectDanganList(new Dangan());
 
         mmap.put("sessionId",sessionId);
+
+        //23年2月14日新增,加入档案信息
+        if(!CollectionUtils.isEmpty(userRelates)) {
+            for (UserRelate relate : userRelates) {
+                Dangan dangan = danganService.selectDanganById(relate.getDanganId());
+                if(!ObjectUtils.isEmpty(dangan)){
+                    if(!StringUtils.isEmpty(dangan.getIconInfo())){
+                        if(dangan.getIconInfo().contains("/upload")){
+                            //期望给用户展示用的可直接访问的URL
+                            String newStr = dangan.getIconInfo();
+                            String[] ipPorts = ipPort.split(",");
+                            //分ip+端口号 和 域名情况
+                            if(ipPorts.length>=2){
+                                //说明是由ip,端口组成的参数
+                                newStr = "http://"+ipPorts[0]+":"+ipPorts[1]+"/iconShow"+newStr;
+                            }else if(ipPorts.length==1){
+                                //说明ip配置的是域名
+                                newStr = "http://"+ipPorts[0]+"/iconShow"+newStr;
+                            }
+                            dangan.setIconInfo(newStr);
+                        }
+                    }else{
+                        //说明档案图标未上传,那么使用默认图标
+                        SysConfig configQuery = new SysConfig();
+                        configQuery.setConfigKey("sys.main.defaultIcon");
+                        SysConfig configEntity = configMapper.selectConfig(configQuery);
+                        if(!ObjectUtils.isEmpty(configEntity)) {
+                            String config = configEntity.getConfigValue();
+                            if (!StringUtils.isEmpty(config)) {
+                                //说明全局config表中已配置
+                                //期望给用户展示用的可直接访问的URL
+                                String newStr = config;
+//                                String[] ipPorts = ipPort.split(",");
+//                                //分ip+端口号 和 域名情况
+//                                if (ipPorts.length >= 2) {
+//                                    //说明是由ip,端口组成的参数
+//                                    newStr = "http://" + ipPorts[0] + ":" + ipPorts[1] + "/iconShow" + newStr;
+//                                } else if (ipPorts.length == 1) {
+//                                    //说明ip配置的是域名
+//                                    newStr = "http://" + ipPorts[0] + "/iconShow" + newStr;
+//                                }
+                                dangan.setIconInfo(newStr);
+                            }
+                        }
+                    }
+                    relate.setDangan(dangan);
+                }
+            }
+        }
         mmap.put("danganList",userRelates);
+        return "mainLhk";
+    }
+
+    @GetMapping("/system/view")
+    public String view(ModelMap mmap){
+        UserRelate userRelate = new UserRelate();
+        userRelate.setUserId(getUserId());
+        List<UserRelate> userRelates = userRelateService.selectUserRelateList(userRelate);
+        //获取档案列表
+//        List<Dangan>  danganList = danganService.selectDanganList(new Dangan());
 
         //23年2月14日新增,加入档案信息
         if(!CollectionUtils.isEmpty(userRelates)) {
+            int index = 0;
             for (UserRelate relate : userRelates) {
                 Dangan dangan = danganService.selectDanganById(relate.getDanganId());
                 if(!ObjectUtils.isEmpty(dangan)){
@@ -209,10 +269,59 @@ public class SysIndexController extends BaseController
                         }
                     }
                     relate.setDangan(dangan);
+                    //假如className,为配合前端渲染使用,暂时定死只有八个后期在改
+                    String className = "";
+                    if(index<8){
+                        int newIndex = index+1;
+                        className =  className(newIndex);
+                    }
+                    relate.setClassName(className);
                 }
+                index++;
+            }
+        }
+        //TODO 补齐虚拟数据,进行界面渲染
+        if(userRelates!=null&&userRelates.size()<8){
+            int size = userRelates.size();//另记录查询出来的长度
+            for (int i = 1; i <= (8-size); i++) {
+                UserRelate entity = new UserRelate();
+                entity.setClassName(className(i+size));
+                userRelates.add(entity);
             }
         }
-        return "main";
+        mmap.put("danganList",userRelates);
+        return "view";
+    }
+
+    private String className(int newIndex){
+        String className = "";
+        switch (newIndex){
+            case 1:
+                className = "nav-one-wrap";
+                break;
+            case 2:
+                className = "nav-two-wrap";
+                break;
+            case 3:
+                className = "nav-three-wrap";
+                break;
+            case 4:
+                className = "nav-four-wrap";
+                break;
+            case 5:
+                className = "nav-five-wrap";
+                break;
+            case 6:
+                className = "nav-six-wrap";
+                break;
+            case 7:
+                className = "nav-seven-wrap";
+                break;
+            case 8:
+                className = "nav-eight-wrap";
+                break;
+        }
+        return className;
     }
 
     // content-main class

+ 3 - 2
ruoyi-admin/src/main/resources/application-test.yml

@@ -52,7 +52,8 @@ spring:
             druid:
                 # 主库数据源 stringtype=unspecified 如果stringtype设置为 unspecified,参数将作为非类型值发送到服务器,并且服务器将尝试推断适当的类型。
                 master:
-                     url: jdbc:postgresql://119.96.165.176:5432/test_lixing?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+#                     url: jdbc:postgresql://119.96.165.176:5432/test_lixing?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
+                     url: jdbc:postgresql://119.96.165.176:5432/lhk_union_mgr?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
                      username: postgres
                      password: kpr.23417.postgres
                 # 从库数据源
@@ -104,4 +105,4 @@ spring:
     devtools:
         restart:
           # 热部署开关
-          enabled: false
+          enabled: true

+ 390 - 0
ruoyi-admin/src/main/resources/static/css/backgroundLayer.css

@@ -0,0 +1,390 @@
+.assembly-html-body {
+    margin: 0;
+    padding: 0;
+    border: 0;
+    overflow: auto
+}
+
+.assembly-html-body {
+    display: block;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+    height: 100%
+}
+
+.center-assembly {
+    overflow: hidden;
+    display: flex;
+    align-items: center;
+}
+
+.assembly-page {
+    display: block;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    overflow: hidden;
+    position: relative;
+    background-repeat: no-repeat;
+    height: 1080px;
+    width: 1920px;
+}
+
+.assembly-page>.assembly-page-background,
+.assembly-page>.assembly-page-backweb {
+    position: absolute;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    right: 0
+}
+
+.assembly-page-background {
+    background: url("../images/background.png");
+}
+
+.assembly-page>.assembly-page-backweb {
+    width: 100%;
+    height: 100%;
+    z-index: 1
+}
+
+.assembly-page>.assembly-grid-item {
+    top: 0px;
+    left: 0px;
+    width: 1920px;
+    height: 1080px;
+    position: absolute;
+    z-index: 10;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    overflow: visible;
+    background-repeat: no-repeat
+}
+
+.assembly-page>.assembly-grid-item>.assembly-grid-item-border {
+    z-index: 1999;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0
+}
+
+.assembly-page>.assembly-grid-item>.assembly-grid-item-angle,
+.assembly-page>.assembly-grid-item>.assembly-grid-item-border {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    pointer-events: none;
+    position: absolute;
+    border: 0 solid transparent;
+    display: block
+}
+
+.assembly-page>.assembly-grid-item>.assembly-grid-item-angle {
+    z-index: 2000;
+    width: 0;
+    height: 0
+}
+
+.assembly-page>.assembly-grid-item .assembly-grid-item-title {
+    position: absolute;
+    padding-left: 0;
+    display: inline-block;
+    height: 0;
+    line-height: 0;
+    overflow: hidden;
+    white-space: nowrap;
+    width: 100%;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+.assembly-page>.assembly-grid-item .assembly-grid-item-content {
+    border-top: 0 solid transparent;
+    display: block;
+    width: 100%;
+    height: 100%;
+    position: relative;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    overflow: visible;
+    padding: 0px;
+}
+
+.assembly-page .assembly-wrap {
+    display: block;
+    position: relative;
+    width: 0;
+    height: 0;
+    overflow: hidden;
+    background-size: contain;
+    background-repeat: no-repeat
+}
+
+.assembly-page .assembly-wrap,
+.component-element {
+    border: 0;
+    padding: 0;
+    margin: 0;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+.assembly-page .assembly-wrap.top-wrap {
+    padding: 0px;
+    width: 1920px;
+    height: 133px;
+    overflow: hidden;
+    position: absolute;
+    top: -58px;
+    background-repeat: no-repeat;
+    background-size: cover;
+}
+
+.assembly-page .assembly-wrap.top-background {
+    background-image: url(../images/topTitle.png);
+    padding: 0px;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    position: absolute;
+}
+
+.assembly-page .assembly-wrap.time-wrap {
+    padding: 0px;
+    width: 25%;
+    height: 40px;
+    overflow: hidden;
+    position: absolute;
+    left: 37px;
+    top: 8px;
+    font-weight: 600;
+    display: flex;
+    flex-flow: row;
+    align-items: center;
+}
+
+.assembly-page .assembly-wrap.right-wrap {
+    padding: 0px;
+    width: 25%;
+    height: 40px;
+    overflow: hidden;
+    position: absolute;
+    right: -300px;
+    top: 8px;
+    font-weight: 600;
+    display: flex;
+    flex-flow: row;
+    align-items: center;
+    font-size: 20px;
+    color: #FFFFFF!important;
+}
+
+.assembly-page .assembly-wrap.weather-wrap {
+    padding: 0px;
+
+    height: 40px;
+    overflow: hidden;
+    position: absolute;
+    top: 8px;
+
+    /* width: 23%;
+    right: 10px; */
+
+    width: auto;
+    right: -30px;
+}
+
+.assembly-page .assembly-wrap.earth-wrap {
+    padding: 55px;
+    width: 838px;
+    height: 838px;
+    overflow: hidden;
+    position: absolute;
+    left: 552px;
+    top: 166px;
+}
+
+.assembly-page .assembly-wrap.earth-text-wrap {
+    padding: 0px;
+    height: 140px;
+    overflow: hidden;
+    position: absolute;
+    top: 498px;
+    font-family: youshe-font;
+
+    /* left: 744px;
+    width: 432px; */
+
+    width: 100%;
+    text-align: center;
+}
+
+.assembly-page .assembly-wrap.top-title-wrap {
+    padding: 0px;
+    height: 4%;
+    overflow: hidden;
+    position: absolute;
+    top: 6px;
+    font-family: youshe-font;
+
+    /* width: 25%;
+    left: 748px; */
+
+    width: 100%;
+    left: 8px;
+    text-align: center;
+}
+
+.assembly-page .assembly-wrap.nav-one-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    left: 64px;
+    top: 205px;
+    z-index: 3;
+    cursor: pointer;
+}
+
+.assembly-page .assembly-wrap.nav-two-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    left: 62px;
+    top: 390px;
+}
+
+.assembly-page .assembly-wrap.nav-three-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    bottom: 321px;
+    left: 62px;
+}
+
+.assembly-page .assembly-wrap.nav-four-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    bottom: 136px;
+    left: 62px;
+}
+
+.assembly-page .assembly-wrap.nav-five-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    right: 58px;
+    top: 206px;
+}
+
+.assembly-page .assembly-wrap.nav-six-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    right: 58px;
+    top: 390px;
+}
+
+.assembly-page .assembly-wrap.nav-seven-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    bottom: 319px;
+    right: 59px;
+}
+
+.assembly-page .assembly-wrap.nav-eight-wrap {
+    padding: 0px;
+    width: 780px;
+    height: 185px;
+    overflow: hidden;
+    position: absolute;
+    bottom: 135px;
+    right: 58px;
+}
+
+.component-element {
+    height: 100%;
+    width: 100%
+}
+
+.component-element>.scale-box {
+    width: 100%;
+    height: 100%;
+    float: left;
+    -webkit-transform-origin: 0 0;
+    transform-origin: 0 0;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.component-element>.scale-box .search-btn {
+    margin-left: 10px
+}
+
+.component-element>.scale-box .label {
+    line-height: 28px;
+    padding-right: 10px;
+    text-align: right;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    -ms-flex-negative: 0;
+    flex-shrink: 0
+}
+
+.component-element.data-view-echarts {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.component-element.data-view-echarts>.hd-chart-box {
+    width: 100%;
+    height: 100%
+}
+
+.component-element.data-view-echarts>.hd-chart-box>div.hd-chart {
+    background: transparent
+}
+
+.earth-text-basic {
+    text-align: center;
+}
+
+.earth-text-style {
+    font-size: 48px;
+    color: #ffffff;
+}

+ 55 - 0
ruoyi-admin/src/main/resources/static/css/earth.css

@@ -0,0 +1,55 @@
+/* 中心的地球和旁边的线圈 */
+.MydhDivOutbox {
+    position: relative;
+}
+
+.MydhDivOutbox #images {
+    -webkit-animation: spin 5s linear infinite;
+    animation: spin 5s linear infinite;
+    position: absolute;
+}
+
+@keyframes spin {
+    from {
+        transform: rotate(0deg);
+    }
+
+    to {
+        transform: rotate(360deg);
+        transition: all 5s;
+    }
+}
+
+.MydhDivOutbox #images2 {
+    -webkit-animation: spin2 3s linear infinite;
+    animation: spin2 3s linear infinite;
+    position: absolute;
+}
+
+@keyframes spin2 {
+    from {
+        transform: rotate(0deg);
+    }
+
+    to {
+        transform: rotate(-360deg);
+        transition: all 3s;
+    }
+}
+
+.MydhDivOutbox #images3 {
+    -webkit-animation: spin3 3s linear infinite;
+    animation: spin3 3s linear infinite;
+    position: absolute;
+}
+
+@keyframes spin3 {
+    from {
+        transform: rotate(0deg);
+    }
+
+    to {
+        transform: rotate(360deg);
+        transition: all 3s;
+    }
+}

Diferenças do arquivo suprimidas por serem muito extensas
+ 678 - 0
ruoyi-admin/src/main/resources/static/css/iconFamily.css


+ 120 - 0
ruoyi-admin/src/main/resources/static/css/index.css

@@ -0,0 +1,120 @@
+::-webkit-scrollbar {
+    width: 8px;
+    height: 8px;
+    background-color: #f5f7fa;
+}
+
+::-webkit-scrollbar-corner {
+    background-color: #f5f7fa;
+}
+
+::-webkit-scrollbar-thumb {
+    border-radius: 10px;
+    background-color: #cfcfcf;
+}
+
+::-webkit-scrollbar-track {
+    -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, .2);
+    background-color: #f5f7fa;
+}
+
+html,
+body,
+#app {
+    height: 100%;
+    width: 100%;
+}
+
+html {
+    overflow: hidden;
+}
+
+body {
+    margin: 0;
+    font: 12px/1.5 Microsoft YaHei, Arial, Hiragino Sans GB, PingFang SC, Helvetica, Verdana, "\5FAE\8F6F\96C5\9ED1", sans-serif
+}
+
+#app {
+    background: transparent;
+}
+
+a,
+blockquote,
+body,
+button,
+dd,
+dl,
+dt,
+fieldset,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+hr,
+input,
+lengend,
+li,
+ol,
+p,
+pre,
+table,
+td,
+textarea,
+th,
+tr,
+ul {
+    margin: 0;
+    padding: 0;
+    border: 0;
+    outline: 0;
+    outline: none
+}
+
+a {
+    text-decoration: none
+}
+
+a:hover {
+    text-decoration: none
+}
+
+h1 {
+    font-size: 18px
+}
+
+h2 {
+    font-size: 16px
+}
+
+h3 {
+    font-size: 14px
+}
+
+h4,
+h5,
+h6 {
+    font-size: 100%
+}
+
+li,
+ol,
+ul {
+    list-style: none
+}
+
+img {
+    border: none
+}
+
+button,
+input,
+select,
+textarea {
+    font-size: 100%
+}
+
+:focus {
+    outline: none
+}

+ 572 - 0
ruoyi-admin/src/main/resources/static/css/navLinkContent.css

@@ -0,0 +1,572 @@
+:root {
+    --one-icon-image: url("../images/navTwoIcon.png");
+    --one-hover-icon-image: url("../images/navTwoIconHover.png");
+
+    --two-icon-image: url("../images/navSevenIcon.png");
+    --two-hover-icon-image: url("../images/navSevenIconHover.png");
+
+    --three-icon-image: url("../images/navSevenIcon.png");
+    --three-hover-icon-image: url("../images/navSevenIconHover.png");
+
+    --four-icon-image: url("../images/navThreeIcon.png");
+    --four-hover-icon-image: url("../images/navThreeIconHover.png");
+
+    --five-icon-image: url("../images/navOneIcon.png");
+    --five-hover-icon-image: url("../images/navOneIconHover.png");
+
+    --six-icon-image: url("../images/navFourIcon.png");
+    --six-hover-icon-image: url("../images/navFourIconHover.png");
+
+    --seven-icon-image: url("../images/navSixIcon.png");
+    --seven-hover-icon-image: url("../images/navSixIconHover.png");
+
+    --eight-icon-image: url("../images/navFiveIcon.png");
+    --eight-hover-icon-image: url("../images/navFiveIconHover.png");
+}
+
+
+
+/* 左边第一个 */
+.NavLinkContent1 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navOne.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent1:hover {
+    background-image: url("../images/navOneHover.png");
+}
+
+.NavLinkContent1:hover .ShowContent .LeftPart {
+    background-image: var(--one-hover-icon-image);
+}
+
+.NavLinkContent1:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent1 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 250px;
+}
+
+/* .NavLinkContent1 .ShowContent.custom-content {
+    left: 180px;
+} */
+
+.NavLinkContent1 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--one-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent1 .ShowContent .LeftPart.custom-img {
+    /* width: 100px;
+    height: 100px; */
+    /* margin-bottom: 6px; */
+}
+
+.NavLinkContent1 .ShowContent .RightPart .RightPart_TopPart {
+    width: 230px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent1 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #ff9c27;
+    line-height: 17px;
+    text-align: start;
+}
+
+
+/* 左边第二个 */
+.NavLinkContent2 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navTwo.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent2:hover {
+    background-image: url("../images/navTwoHover.png");
+}
+
+.NavLinkContent2:hover .ShowContent .LeftPart {
+    background-image: var(--two-hover-icon-image);
+}
+
+.NavLinkContent2:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent2 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 166px;
+}
+
+.NavLinkContent2 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--two-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent2 .ShowContent .RightPart .RightPart_TopPart {
+    width: 230px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent2 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #ff9c27;
+    line-height: 17px;
+    text-align: start;
+}
+
+/* 左边第三个 */
+.NavLinkContent3 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navThree.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent3:hover {
+    background-image: url("../images/navThreeHover.png");
+}
+
+.NavLinkContent3:hover .ShowContent .LeftPart {
+    background-image: var(--three-hover-icon-image);
+}
+
+.NavLinkContent3:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent3 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 166px;
+}
+
+.NavLinkContent3 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--three-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent3 .ShowContent .RightPart .RightPart_TopPart {
+    width: 230px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent3 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #FF9C27;
+    line-height: 17px;
+    text-align: start;
+}
+
+/* 左边第四个 */
+.NavLinkContent4 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navFour.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent4:hover {
+    background-image: url("../images/navFourHover.png");
+}
+
+.NavLinkContent4:hover .ShowContent .LeftPart {
+    background-image: var(--four-hover-icon-image);
+}
+
+.NavLinkContent4:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent4:hover .ShowContent .RightPart .RightPart_BottomPart {
+    color: #ffa622;
+}
+
+.NavLinkContent4 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 250px;
+}
+
+.NavLinkContent4 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--four-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent4 .ShowContent .RightPart .RightPart_TopPart {
+    width: 230px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent4 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #FF9C27;
+    line-height: 17px;
+    text-align: start;
+}
+
+/* 右边第一个 */
+.NavLinkContent5 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navFive.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent5:hover {
+    background-image: url("../images/navFiveHover.png");
+}
+
+.NavLinkContent5:hover .ShowContent .LeftPart {
+    background-image: var(--five-hover-icon-image);
+}
+
+.NavLinkContent5:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent5 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 196px;
+}
+
+.NavLinkContent5 .ShowContent.custom-content {
+    /* left: 300px; */
+}
+
+.NavLinkContent5 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--five-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent5 .ShowContent .LeftPart.custom-img {
+    /* width: 100px;
+    height: 100px; */
+}
+
+.NavLinkContent5 .ShowContent .RightPart .RightPart_TopPart {
+    width: 330px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent5 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #ff9c27;
+    line-height: 17px;
+    text-align: start;
+}
+
+/* 右边第二个 */
+.NavLinkContent6 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navSix.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent6:hover {
+    background-image: url("../images/navSixHover.png");
+}
+
+.NavLinkContent6:hover .ShowContent .LeftPart {
+    background-image: var(--six-hover-icon-image);
+}
+
+.NavLinkContent6:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent6:hover .ShowContent .RightPart .RightPart_BottomPart {
+    color: #ffa622;
+}
+
+.NavLinkContent6 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 286px;
+}
+
+.NavLinkContent6 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--six-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent6 .ShowContent .RightPart .RightPart_TopPart {
+    width: 230px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent6 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #ff9c27;
+    line-height: 17px;
+    text-align: start;
+}
+
+/* 右边第三个 */
+.NavLinkContent7 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navSeven.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent7:hover {
+    background-image: url("../images/navSevenHover.png");
+}
+
+.NavLinkContent7:hover .ShowContent .LeftPart {
+    background-image: var(--seven-hover-icon-image);
+}
+
+.NavLinkContent7:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent7 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 286px;
+}
+
+.NavLinkContent7 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--seven-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent7 .ShowContent .RightPart .RightPart_TopPart {
+    width: 230px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent7 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #ff9c27;
+    line-height: 17px;
+    text-align: start;
+}
+
+/* 右边第四个 */
+.NavLinkContent8 {
+    width: 780px;
+    height: 185px;
+    background-image: url("../images/navEight.png");
+    background-repeat: no-repeat;
+    background-size: contain;
+    cursor: pointer;
+    position: relative;
+}
+
+.NavLinkContent8:hover {
+    background-image: url("../images/navEightHover.png");
+}
+
+.NavLinkContent8:hover .ShowContent .LeftPart {
+    background-image: var(--eight-hover-icon-image);
+}
+
+.NavLinkContent8:hover .ShowContent .RightPart .RightPart_TopPart {
+    color: #ffa622;
+}
+
+.NavLinkContent8 .ShowContent {
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+    height: 185px;
+    position: absolute;
+    left: 196px;
+}
+
+.NavLinkContent8 .ShowContent .LeftPart {
+    width: 88px;
+    height: 88px;
+    background-image: var(--eight-icon-image);
+    background-repeat: no-repeat;
+    background-size: contain;
+    margin-right: 28px;
+}
+
+.NavLinkContent8 .ShowContent .RightPart .RightPart_TopPart {
+    width: 290px;
+    height: 36px;
+    font-size: 36px;
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao;
+    font-weight: normal; */
+    color: #ffffff;
+    line-height: 41px;
+    margin-bottom: 16px;
+    text-align: start;
+}
+
+.NavLinkContent8 .ShowContent .RightPart .RightPart_BottomPart {
+    width: 214px;
+    height: 34px;
+    font-size: 12px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #ff9c27;
+    line-height: 17px;
+    text-align: start;
+}
+
+.RightPart_TopPart {
+    /* font-family: PangMenZhengDao-3, PangMenZhengDao; */
+    font-weight: bold;
+}

+ 220 - 0
ruoyi-admin/src/main/resources/static/css/weatherTime.css

@@ -0,0 +1,220 @@
+.component-element.screen-time {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+    -ms-flex-pack: start;
+    -ms-flex-align: center;
+    overflow: visible
+}
+
+.component-element.screen-time,
+.component-element.screen-time>div {
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-box-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: center;
+    align-items: center
+}
+
+.component-element.screen-time>div {
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+    -webkit-box-flex: 0;
+    -ms-flex-positive: 0;
+    flex-grow: 0;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    display: -webkit-inline-box;
+    display: -ms-inline-flexbox;
+    display: inline-flex;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+    -ms-flex-pack: start;
+    -ms-flex-align: center
+}
+
+.component-element.screen-time.default {
+    font-size: 30px;
+    color: #fff
+}
+
+.component-element.screen-time.default>.digital-time {
+    font-family: digital-font;
+    border-radius: 8px;
+    text-align: center;
+    font-size: 46px;
+    color: #0ba7ff;
+    letter-spacing: 8px;
+    padding: 0 10px
+}
+
+.component-element.screen-time.default>.digital-time.time-show {
+    color: rgb(255, 255, 255);
+    font-size: 28px;
+    transform: scale(1);
+    margin-top: 0px;
+}
+
+.component-element.screen-time.default>.digital-date>span {
+    margin-top: 4px
+}
+
+.component-element.screen-time.default>.digital-date,
+.component-element.screen-time.default>.digital-week {
+    font-size: 32px;
+    margin-left: 30px;
+    overflow: hidden
+}
+
+.component-element.screen-time.default>.digital-date.date-show {
+    transform: scale(1);
+    margin-top: 0px;
+    margin-left: 20px;
+}
+
+.component-element.screen-time.default>.digital-date>:not(:first-child),
+.component-element.screen-time.default>.digital-week>:not(:first-child) {
+    margin-left: 4px
+}
+
+.component-element.screen-time.default>.digital-date>b,
+.component-element.screen-time.default>.digital-week>b {
+    letter-spacing: 4px;
+    font-weight: 400;
+    font-size: 26px
+}
+
+.component-element.screen-time.default>.digital-date>span,
+.component-element.screen-time.default>.digital-week>span {
+    letter-spacing: 6px;
+    font-family: digital-font;
+    color: #0ba7ff
+}
+
+.component-element.screen-time.default>.digital-date>span.date-basic,
+.component-element.screen-time.default>.digital-date>b.date-basic {
+    color: rgb(255, 255, 255);
+    font-size: 14px;
+    line-height: 14px;
+
+}
+
+.component-element.screen-weather {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    overflow: visible
+}
+
+.component-element.screen-weather>* {
+    margin: 0 10px;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto;
+    -webkit-box-flex: 0;
+    -ms-flex-positive: 0;
+    flex-grow: 0;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+.component-element.screen-weather.default>.weather-item {
+    height: 70px;
+    overflow: hidden;
+    display: -webkit-inline-box;
+    display: -ms-inline-flexbox;
+    display: inline-flex;
+    -ms-flex-wrap: nowrap;
+    flex-wrap: nowrap;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.component-element.screen-weather.default>.weather-item.weather-scale54 {
+    transform: scale(0.54);
+}
+
+.component-element.screen-weather.default>.weather-item.weather-margin-left-54 {
+    margin-left: -54px;
+}
+
+.component-element.screen-weather.default>.weather-item>.weather-icon {
+    display: block;
+    float: left;
+    width: 66px;
+    height: 66px;
+    line-height: 66px;
+    text-align: center;
+    font-size: 60px;
+    color: #0ba7ff;
+    -webkit-box-flex: 0;
+    -ms-flex-positive: 0;
+    flex-grow: 0;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+    -ms-flex-preferred-size: 66px;
+    flex-basis: 66px
+}
+
+
+.component-element.screen-weather.default>.weather-item>.weather-icon.weather-icon-style {
+    color: rgb(255, 255, 255);
+}
+
+.component-element.screen-weather.default>.weather-item>.weather-text {
+    display: block;
+    float: left;
+    height: 60px;
+    font-size: 18px;
+    color: #fff;
+    margin-left: 8px;
+    -webkit-box-flex: 0;
+    -ms-flex-positive: 0;
+    flex-grow: 0;
+    -ms-flex-negative: 0;
+    flex-shrink: 0;
+    -ms-flex-preferred-size: auto;
+    flex-basis: auto
+}
+
+.component-element.screen-weather.default>.weather-item>.weather-text.weather-text-style {
+    color: rgb(255, 255, 255);
+}
+
+.component-element.screen-weather.default>.weather-item>.weather-text>p {
+    overflow: hidden
+}
+
+.component-element.screen-weather.default>.weather-item>.weather-text>p>span:first-child {
+    margin-right: 20px
+}

BIN
ruoyi-admin/src/main/resources/static/fonts/Digital-7Mono.TTF


BIN
ruoyi-admin/src/main/resources/static/fonts/PangMenZhengDao.ttf


BIN
ruoyi-admin/src/main/resources/static/fonts/YouSheBiaoTiHei-2.ttf


BIN
ruoyi-admin/src/main/resources/static/images/background.png


BIN
ruoyi-admin/src/main/resources/static/images/earth.png


BIN
ruoyi-admin/src/main/resources/static/images/earthOneCircle.png


BIN
ruoyi-admin/src/main/resources/static/images/earthTwoCircle.png


BIN
ruoyi-admin/src/main/resources/static/images/favicon.ico


BIN
ruoyi-admin/src/main/resources/static/images/icon-map.png


BIN
ruoyi-admin/src/main/resources/static/images/icon-users.png


BIN
ruoyi-admin/src/main/resources/static/images/navEight.png


BIN
ruoyi-admin/src/main/resources/static/images/navEightHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navEightIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navEightIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navFive.png


BIN
ruoyi-admin/src/main/resources/static/images/navFiveHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navFiveIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navFiveIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navFour.png


BIN
ruoyi-admin/src/main/resources/static/images/navFourHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navFourIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navFourIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navOne.png


BIN
ruoyi-admin/src/main/resources/static/images/navOneHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navOneIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navOneIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navSeven.png


BIN
ruoyi-admin/src/main/resources/static/images/navSevenHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navSevenIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navSevenIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navSix.png


BIN
ruoyi-admin/src/main/resources/static/images/navSixHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navSixIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navSixIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navThree.png


BIN
ruoyi-admin/src/main/resources/static/images/navThreeHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navThreeIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navThreeIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navTwo.png


BIN
ruoyi-admin/src/main/resources/static/images/navTwoHover.png


BIN
ruoyi-admin/src/main/resources/static/images/navTwoIcon.png


BIN
ruoyi-admin/src/main/resources/static/images/navTwoIconHover.png


BIN
ruoyi-admin/src/main/resources/static/images/topTitle.png


+ 40 - 0
ruoyi-admin/src/main/resources/static/ruoyi/index.js

@@ -503,6 +503,8 @@ $(function() {
     $('#fullScreen').on('click', function () {
     	$(document).toggleFullScreen();
     });
+
+    $(document).toggleFullScreen();
     
     // 锁定屏幕
     $('#lockScreen').on('click', function () {
@@ -519,6 +521,18 @@ $(function() {
         hideModel();
     });
 
+    //TODO 子窗口调用
+    top.window.tagObj = hideModel;
+    top.window.tagMenu = menuFlag;
+
+    function viewClassAD() {
+        if(menuFlag){
+            $("#content-main").addClass("viewHeight");
+        }else{
+            $("#content-main").removeClass("viewHeight");
+        }
+    }
+
     //极简模式切换
     function hideModel() {
         //找到菜单栏元素以及右侧部分
@@ -538,6 +552,9 @@ $(function() {
             $comDiv.hide();
             $headMenuDiv.hide();
             $simpleDiv.show();
+            tabCloseAll();//关闭所有页
+            // activeOneTab();//点击首页然后显示首页
+            $('#content-main').toggleClass('max');
         }else{
             menuFlag = false;
             $right.removeClass("rightClass");
@@ -546,6 +563,29 @@ $(function() {
             $comDiv.show();
             $headMenuDiv.show();
             $simpleDiv.hide();
+            $('#content-main').toggleClass('max');
+        }
+        viewClassAD();
+    }
+
+    function activeOneTab() {
+        if (!$(this).hasClass('active')) {
+            var currentId = "/system/main";
+            var isRefresh = false;
+            syncMenuTab(currentId);
+            // 显示tab对应的内容区
+            $('.mainContent .RuoYi_iframe').each(function() {
+                if ($(this).data('id') == currentId) {
+                    $(this).show().siblings('.RuoYi_iframe').hide();
+                    isRefresh = $(this).data('refresh');
+                    return false;
+                }
+            });
+            $(this).addClass('active').siblings('.menuTab').removeClass('active');
+            if (isRefresh) {
+                refreshTab();
+            }
+            scrollToTab(this);
         }
     }
 

+ 20 - 16
ruoyi-admin/src/main/resources/templates/index.html

@@ -26,6 +26,10 @@
 			width: 100%px!important;
 			margin: 0px!important;
 		}
+
+		.viewHeight{
+			height: 100%!important;
+		}
 	</style>
 </head>
 <body class="fixed-sidebar full-height-layout gray-bg" th:classappend="${isMobile} ? 'canvas-menu'" style="overflow: hidden">
@@ -207,9 +211,9 @@
                 </div>
                 <ul class="nav navbar-top-links navbar-right welcome-message">
 <!--                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档" href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i> 文档</a></li>-->
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="极简模式" href="#" id="hideMenu"><i class="fa fa-folder" style="color:lawngreen!important;"></i> 极简模式</a></li>
+					<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="极简模式" href="#" id="hideMenu"><i class="fa fa-arrows-alt"></i></a></li>
                     <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="锁定屏幕" href="#" id="lockScreen"><i class="fa fa-lock"></i> 锁屏</a></li>
-	                <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="全屏显示" href="#" id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏</a></li>
+	                <!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="全屏显示" href="#" id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏</a></li>-->
                     <li class="dropdown user-menu">
 						<a href="javascript:void(0)" class="dropdown-toggle" data-hover="dropdown">
 							<img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="user-image">
@@ -245,16 +249,16 @@
 
         <!--极简模式-->
         <div class="row border-bottom" id="simpleDiv">
-            <nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
-                <ul class="nav navbar-top-links navbar-right welcome-message">
-                    <!--                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档" href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i> 文档</a></li>-->
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="精细模式" href="#" id="showMenu"><i class="fa fa-folder-open" style="color:red!important;"></i> 精细模式</a></li>
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
-                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
-                </ul>
-            </nav>
+            <!--<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">-->
+                <!--<ul class="nav navbar-top-links navbar-right welcome-message">-->
+                    <!--&lt;!&ndash;                    <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档" href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i> 文档</a></li>&ndash;&gt;-->
+                    <!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="精细模式" href="#" id="showMenu"><i class="fa fa-folder-open" style="color:red!important;"></i> 精细模式</a></li>-->
+					<!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="全屏显示" href="#" id="fullScreenTwo"><i class="fa fa-arrows-alt"></i> 全屏</a></li>-->
+					<!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>-->
+                    <!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>-->
+                    <!--<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="" href="#"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></li>-->
+                <!--</ul>-->
+            <!--</nav>-->
         </div>
 
         <div id="headMenuDiv" style="display: none" class="row content-tabs" th:classappend="${#bools.isFalse(tagsView)} ? |hide|">
@@ -274,14 +278,14 @@
 
         <a id="ax_close_max" class="ax_close_max" href="#" title="关闭全屏"> <i class="fa fa-times-circle-o"></i> </a>
 
-        <div class="row mainContent" id="content-main" th:classappend="${mainClass}">
+        <div class="row mainContent viewHeight" id="content-main" th:classappend="${mainClass}">
             <iframe class="RuoYi_iframe" name="iframe0" width="100%" height="100%" th:data-id="@{/system/main}"
                 th:src="@{/system/main}" frameborder="0" seamless></iframe>
         </div>
 
-        <div th:if="${footer}" class="footer">
-            <div class="pull-right">© [[${copyrightYear}]] 统一认证平台 Copyright </div>
-        </div>
+        <!--<div th:if="${footer}" class="footer">-->
+            <!--<div class="pull-right">© [[${copyrightYear}]] 统一认证平台 Copyright </div>-->
+        <!--</div>-->
     </div>
     <!--右侧部分结束-->
 </div>

+ 1 - 2
ruoyi-admin/src/main/resources/templates/main.html

@@ -66,8 +66,7 @@
 							<div     >
 								<!--<input type="text" th:value="${#httpServletRequest.getScheme() + '://' + #httpServletRequest.getServerName() + ':' + #request.getServerPort()}">-->
 								<!--<button class="btn btn-primary dim" type="button" th:style="'background:url(' +${dangan.dangan==null?'':dangan.dangan.iconInfo}+') no-repeat center center;width:50px;height:50px;background-size:100% 100%'" th:onclick="opennewpage([[${dangan.danganUrl}]] ,[[${dangan.danganNums} ]]);">-->
-									<a class="aInput" th:style="'background:url(' +${dangan.dangan==null?'':dangan.dangan.iconInfo}+') no-repeat center center;background-size:100% 100%'" th:onclick="opennewpage([[${dangan.danganUrl}]] ,[[${dangan.danganNums} ]]);"></a>
-								</button>
+								<a class="aInput" th:style="'background:url(' +${dangan.dangan==null?'':dangan.dangan.iconInfo}+') no-repeat center center;background-size:100% 100%'" th:onclick="opennewpage([[${dangan.danganUrl}]] ,[[${dangan.danganNums} ]]);"></a>
 								<h3 class="no-margins" style="color:#1e9fff" th:text="${dangan.danganName}"></h3>
 								<h4 th:text="${@dict.getLabel('sys_dangan_status', dangan.danganStatus)}" ></h4><br>
 							</div>

+ 76 - 0
ruoyi-admin/src/main/resources/templates/mainLhk.html

@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html  lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+	<meta charset="utf-8">
+	<link rel="shortcut icon" href="../static/images/favicon.ico" type="image/icon">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0">
+	<!--360浏览器优先以webkit内核解析-->
+	<title></title>
+	<link rel="shortcut icon" href="favicon.ico">
+	<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
+	<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
+	<link href="../static/css/animate.min.css" th:href="@{/css/animate.min.css}" rel="stylesheet"/>
+	<link href="../static/css/style.min862f.css" th:href="@{/css/style.min862f.css}" rel="stylesheet"/>
+	<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
+	<th:block th:include="include :: header('首页')" />
+	<style type="text/css">
+		/* html,
+        html body {
+            height: 100%;
+            width: 100%;
+        } */
+		body {
+			margin: 0;
+			overflow: hidden;
+		}
+
+		.test1 {
+			width: 100%;
+			height: 100%;
+			position: absolute;
+			left: 0;
+			top: 0;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			overflow: hidden;
+			background: radial-gradient(#055fd1, #04345c, #001f34);
+		}
+
+		.ifreamClass {
+			flex:0 0 1920px!important;
+			height: 1080px!important;
+		}
+	</style>
+</head>
+
+
+
+<body>
+	<div id="app" class="assembly-html-body">
+		<div class="test1">
+			<iframe id="iframeView" th:src="@{/system/view}" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
+		</div>
+	</div>
+	<script type="text/javascript">
+        function initScale() {
+            let clientWidth = document.body.clientWidth;
+            let num = clientWidth / 1920;
+
+            let  clientHeight = document.body.clientHeight;
+            let numHeight = clientHeight/1080;
+
+
+
+            let scaleNum = Math.min(num,numHeight).toFixed(2);
+
+            console.log(scaleNum);
+            $("#iframeView").addClass("ifreamClass");
+            $("#iframeView").css("transform","scale("+scaleNum+")");
+        }
+
+        initScale();
+	</script>
+</body>
+</html>

+ 219 - 0
ruoyi-admin/src/main/resources/templates/view.html

@@ -0,0 +1,219 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+
+<head>
+    <meta charset="utf-8">
+    <link rel="shortcut icon" href="./static/images/favicon.ico" type="image/icon">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
+    <link rel="icon" href="./static/favicon.ico">
+    <title>老河口清源供水有限公司</title>
+
+    <link rel="shortcut icon" href="favicon.ico">
+    <link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
+    <link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
+    <link href="../static/css/animate.min.css" th:href="@{/css/animate.min.css}" rel="stylesheet"/>
+    <link href="../static/css/style.min862f.css" th:href="@{/css/style.min862f.css}" rel="stylesheet"/>
+
+    <link href="../css/index.css" rel="stylesheet">
+
+    <link href="../css/earth.css" rel="stylesheet">
+
+    <link href="../css/navLinkContent.css" rel="stylesheet">
+
+    <link href="../css/backgroundLayer.css" rel="stylesheet">
+
+    <link href="../css/iconFamily.css" rel="stylesheet">
+
+    <link href="../css/weatherTime.css" rel="stylesheet">
+
+    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
+</head>
+
+<body>
+    <noscript>
+        <strong>
+            We're sorry but webapp doesn't work properly without JavaScript enabled. Please enable it to
+            continue.
+        </strong>
+    </noscript>
+    <div id="app" class="assembly-html-body">
+        <div class="assembly-page">
+            <div class="assembly-page-background">
+            </div>
+            <div class="assembly-grid-item">
+                <div class="assembly-grid-item-content">
+                    <div class="assembly-wrap top-wrap">
+                        <div class="assembly-wrap top-background">
+                        </div>
+                    </div>
+                    <div class="assembly-wrap time-wrap">
+                        <div class="component-element screen-time default component-element">
+                            <div id="timeDiv" class="digital-time time-show">
+                                <!--{{time}}-->
+                            </div>
+                            <div class="digital-date date-show">
+                                <span id="yearSpan" class="date-basic">
+                                    <!--{{ dateObj.year || "&#45;&#45;" }}-->
+                                </span>
+                                <b class="date-basic">
+                                    年
+                                </b>
+                                <span id="monthSpan" class="date-basic">
+                                    <!--{{ dateObj.month || "&#45;&#45;" }}-->
+                                </span>
+                                <b class="date-basic">
+                                    月
+                                </b>
+                                <span id="daySpan" class="date-basic">
+                                    <!--{{ dateObj.day || "&#45;&#45;" }}-->
+                                </span>
+                                <b class="date-basic">
+                                    日
+                                </b>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="assembly-wrap right-wrap">
+                        <div onclick="showMenu()">
+                            <a title="设置" th:id="showMenuA" style="color: #FFFFFF!important;" href="#" id="showMenu">
+                            <i class="fa fa-cog" style="color:#FFFFFF!important;font-size: 30px!important;"></i>
+                            </a>
+                        </div>
+                    </div>
+                    <!-- <div class="assembly-wrap weather-wrap">
+                        <div class="component-element screen-weather default component-element">
+                            <div class="weather-item weather-scale54">
+                                <i class="weather-icon icon-duoyun weather-icon-style"></i>
+                                <div class="weather-text weather-text-style">
+                                    <p>(3月28日)</p>
+                                    <p><span>多云</span><span>10~23℃</span></p>
+                                </div>
+                            </div>
+                            <div class="weather-item weather-scale54 weather-margin-left-54">
+                                <i class="weather-icon icon-duoyun weather-icon-style"></i>
+                                <div class="weather-text weather-text-style">
+                                    <p>(3月29日)</p>
+                                    <p><span>多云</span><span>8~23℃</span></p>
+                                </div>
+                            </div>
+                            <div class="weather-item weather-scale54 weather-margin-left-54">
+                                <i class="weather-icon icon-qing weather-icon-style"></i>
+                                <div class="weather-text weather-text-style">
+                                    <p>(3月30日)</p>
+                                    <p><span>晴</span><span>9~21℃</span></p>
+                                </div>
+                            </div>
+                        </div>
+                    </div> -->
+                    <!--<div class="assembly-wrap top-title-wrap">-->
+                        <!--<span class="component-element">-->
+                            <!--<p><span style="font-size: 32px; color: #ffffff;">&lt;!&ndash;{{companyName}}{{sysName}}&ndash;&gt;</span></p>-->
+                        <!--</span>-->
+                    <!--</div>-->
+                    <div class="assembly-wrap earth-wrap">
+                        <div class="component-element component-custom" style="position: relative;">
+                            <div class="MydhDivOutbox">
+                                <img alt="logo" src="../images/earth.png" id="images">
+                                <img alt="logo" src="../images/earthOneCircle.png" id="images2">
+                                <img alt="logo" src="../images/earthTwoCircle.png" id="images3">
+                            </div>
+                        </div>
+                    </div>
+                    <div class="assembly-wrap earth-text-wrap">
+                        <span class="component-element">
+                            <p class="earth-text-basic">
+                                <span class="earth-text-style"><!--{{companyName}}-->老河口清源供水</span>
+                            </p>
+                            <p class="earth-text-basic">
+                                <span class="earth-text-style"><!--{{sysName}}-->信息管理平台</span>
+                            </p>
+                        </span>
+                    </div>
+
+
+                    <div th:each="dangan:${danganList}" th:class="assembly-wrap+' '+${dangan.className}">
+                        <div class="component-element component-custom" style="position: relative;" >
+                            <div th:if="${dangan!=null}" th:class = "NavLinkContent+${danganStat.count}" th:onclick="opennewpage([[${dangan.danganUrl}]] ,[[${dangan.danganNums} ]]);">
+                            <!--<div class = "'NavLinkConte1nt'">-->
+                                <div class="ShowContent custom-content">
+                                    <div class="LeftPart custom-img"></div><!--暂时不用-->
+                                    <div class="RightPart">
+                                        <div class="RightPart_TopPart" th:text="${dangan.danganName}"><!--{{dangan.danganName}}--></div>
+                                        <div class="RightPart_BottomPart" th:text="${@dict.getLabel('sys_dangan_status', dangan.danganStatus)}">
+                                            <!--{{item.introName}}-->
+                                        </div>
+                                    </div>
+                                </div>
+                            </divth>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+
+    </div>
+</body>
+<script type="text/javascript" th:inline="javascript">
+    function initDate() {
+        let date = new Date();
+        let year = date.getFullYear();
+        let month = date.getMonth() + 1;
+        let day = date.getDate();
+        $("#yearSpan").html(year);
+        $("#monthSpan").html(month);
+        $("#daySpan").html(day);
+    }
+    
+    function initTimer() {
+        setInterval(function () {
+            let date = new Date();
+            $("#timeDiv").html(date.toLocaleTimeString());
+        },1000);
+    }
+
+    initDate();
+    initTimer();
+
+    var sessionId = [[${sessionId}]];
+    function opennewpage(url,danganLoginName) {
+
+
+        // window.location.href=url;
+
+        url = url+"?"+"reqid="+sessionId;
+        console.log(url)
+
+        window.open(url)
+        // console.log(danganLoginName)
+        //
+        // console.log(sessionId)
+
+
+
+    }
+
+    var menuFlag = top.window.tagMenu;
+    function showMenu() {
+        //传入window顶级节点
+        top.window.tagObj();
+        if(!menuFlag){
+            $("#showMenuA").hide();
+        }else{
+            $("#showMenuA").show();
+        }
+    };
+
+    //TODO 监听父级窗口menuFlag变量
+    setInterval(function () {
+        isMenuFlag();
+    },1000);
+    function isMenuFlag() {
+        if(menuFlag){
+            $("#showMenuA").hide();
+        }else{
+            $("#showMenuA").show();
+        }
+    }
+</script>
+</html>

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java

@@ -284,6 +284,7 @@ public class ShiroConfig
         filterChainDefinitionMap.put("/docs/**", "anon");
         filterChainDefinitionMap.put("/fonts/**", "anon");
         filterChainDefinitionMap.put("/img/**", "anon");
+        filterChainDefinitionMap.put("/images/**", "anon");
         filterChainDefinitionMap.put("/system/forgetPassword/**", "anon");
 
         filterChainDefinitionMap.put("/api/advalidateciphertext/**", "anon");

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/UserRelate.java

@@ -74,6 +74,17 @@ public class UserRelate extends BaseEntity
     private Dangan dangan;
 
 
+    //TODO mainLhk.html 前端渲染用字段
+    private String className;
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
     public Dangan getDangan() {
         return dangan;
     }