xinagyan пре 3 година
родитељ
комит
ac0574103a
54 измењених фајлова са 2480 додато и 2994 уклоњено
  1. 30 0
      cms/src/main/java/com/jd/cms/controller/FileController.java
  2. 15 36
      cms/src/main/java/com/jd/cms/controller/FileManagerController.java
  3. 35 0
      cms/src/main/java/com/jd/cms/mapper/FileMapper.java
  4. 18 0
      cms/src/main/java/com/jd/cms/service/FileService.java
  5. 111 0
      cms/src/main/java/com/jd/cms/service/impl/FileServiceImpl.java
  6. 4 2
      cms/src/main/resources/application.yml
  7. 35 0
      cms/src/main/resources/mapper/FileMapper.xml
  8. 2 2
      cms/src/main/resources/static/ftl/fzzd/dhl/dtgk/gzly.ftl
  9. 47 39
      cms/src/main/resources/static/ftl/fzzd/index/dtgk.ftl
  10. 7 0
      cms/src/main/resources/static/ftl/fzzd/index/ztzs.ftl
  11. 139 69
      cms/src/main/resources/static/ftl/fzzd/public/css/indexb.css
  12. 86 80
      cms/src/main/resources/static/ftl/fzzd/public/css/style.css
  13. 52 18
      cms/src/main/resources/static/ftl/fzzd/public/css/ztzs.css
  14. BIN
      cms/src/main/resources/static/ftl/fzzd/public/img/back-ztzs.png
  15. BIN
      cms/src/main/resources/static/ftl/fzzd/public/img/youqiehuan.png
  16. BIN
      cms/src/main/resources/static/ftl/fzzd/public/img/zuoqiehuan.png
  17. 20 1
      cms/src/main/resources/static/ftl/fzzd/public/js/basic/ztzs.js
  18. 12 0
      cms/src/main/resources/static/ftl/fzzd/public/swiper/swiper.min.css
  19. 12 0
      cms/src/main/resources/static/ftl/fzzd/public/swiper/swiper.min.js
  20. 6 0
      spring-cloud/commons/src/main/java/com/jd/entity/basic/BusinessSystem.java
  21. 4 2
      spring-cloud/configer/src/main/resources/config/dev/gateway-dev.yml
  22. 5 1
      spring-cloud/server-basic/pom.xml
  23. 2 2
      spring-cloud/server-basic/src/main/java/com/jd/configer/ResourceServerConfig.java
  24. 70 0
      spring-cloud/server-basic/src/main/java/com/jd/controller/CommandTranscriptionController.java
  25. 0 11
      spring-cloud/server-basic/src/main/java/com/jd/controller/MeetingTranscriptionController.java
  26. 32 0
      spring-cloud/server-basic/src/main/java/com/jd/mapper/CommandTranscriptionMapper.java
  27. 28 0
      spring-cloud/server-basic/src/main/java/com/jd/service/CommandTranscriptionService.java
  28. 48 0
      spring-cloud/server-basic/src/main/java/com/jd/service/impl/CommandTranscriptionServiceImpl.java
  29. 6 4
      spring-cloud/server-basic/src/main/resources/mapper/BusinessSystemMapper.xml
  30. 90 0
      spring-cloud/server-basic/src/main/resources/mapper/CommandTranscriptionMapper.xml
  31. 6 0
      spring-cloud/server-page/src/main/resources/static/page/businessSystemManager.html
  32. 97 0
      spring-cloud/server-page/src/main/resources/static/page/commandTranscription.html
  33. 1 0
      spring-cloud/server-page/src/main/resources/static/page/js/basic/businessSystemManager.js
  34. 254 0
      spring-cloud/server-page/src/main/resources/static/page/js/basic/commandTranscription.js
  35. 3 3
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test37/test37.html
  36. 17 83
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test37/test37.js
  37. 21 6
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test40/test40.js
  38. 49 18
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test42/test42.js
  39. 22 0
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test43/test43.css
  40. 1 0
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test44/test44.css
  41. 23 56
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test44/test44.html
  42. 78 76
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test45/test45.css
  43. 107 0
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test46/test46.css
  44. 69 69
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test46/test46.html
  45. 115 113
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test46/test46.js
  46. 106 0
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test47/test47.css
  47. 68 68
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test47/test47.html
  48. 115 113
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test47/test47.js
  49. 106 0
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test48/test48.css
  50. 68 68
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test48/test48.html
  51. 114 113
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test48/test48.js
  52. 2 5
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test49/test49.css
  53. 122 42
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test49/test49.html
  54. 0 1894
      spring-cloud/server-page/src/main/resources/static/testEcharts/test/main/js/setRoom.js

+ 30 - 0
cms/src/main/java/com/jd/cms/controller/FileController.java

@@ -0,0 +1,30 @@
+package com.jd.cms.controller;
+
+import com.jd.cms.service.FileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * @author :yp
+ * @date :Created in 2022/5/12 9:41
+ * @description:对外提供文件获取接口
+ */
+@RestController
+@RequestMapping("files")
+public class FileController {
+    @Autowired
+    private FileService fileService;
+
+    /**
+     * 获取并检索辅助终端文件列表
+     * @return
+     */
+    @GetMapping("selectFile")
+    public Map<String, Object> selectFile(String keywords) {
+        return fileService.selectFile(keywords);
+    }
+}

+ 15 - 36
cms/src/main/java/com/jd/cms/controller/FileManagerController.java

@@ -1,24 +1,14 @@
 package com.jd.cms.controller;
 
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import javax.imageio.ImageIO;
-import javax.servlet.http.HttpServletRequest;
-
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.jd.cms.base.Base2Controller;
+import com.jd.cms.base.Constants;
+import com.jd.cms.configer.PathConfig;
+import com.jd.cms.entity.TWebsite;
+import com.jd.cms.service.WebsiteServiceI;
 import com.jd.cms.util.Constant;
-import com.jd.cms.util.ExcelToPdfUtil;
 import com.jd.cms.util.FileConvetUtil;
 import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,25 +19,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
+import ws.schild.jave.*;
 
-import com.alibaba.fastjson.JSONObject;
-import com.jd.cms.base.Base2Controller;
-import com.jd.cms.base.Constants;
-import com.jd.cms.configer.PathConfig;
-import com.jd.cms.entity.TWebsite;
-import com.jd.cms.service.WebsiteServiceI;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
-import ws.schild.jave.AudioAttributes;
-import ws.schild.jave.Encoder;
-import ws.schild.jave.EncoderException;
-import ws.schild.jave.EncoderProgressListener;
-import ws.schild.jave.EncodingAttributes;
-import ws.schild.jave.InputFormatException;
-import ws.schild.jave.MultimediaInfo;
-import ws.schild.jave.MultimediaObject;
-import ws.schild.jave.VideoAttributes;
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletRequest;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**  
  * 文件管理控制器(所有的文件上传接口)

+ 35 - 0
cms/src/main/java/com/jd/cms/mapper/FileMapper.java

@@ -0,0 +1,35 @@
+package com.jd.cms.mapper;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :yp
+ * @date :Created in 2022/5/12 10:05
+ * @description:
+ */
+public interface FileMapper {
+    /**
+     * 根据文件库名字获取栏目id
+     * @param name
+     * @return
+     */
+    String getColumnIdByName(String name);
+
+    /**
+     * 根据栏目id查询文章列表
+     * @param columnId
+     * @return
+     */
+    List<Map<String, Object>> getArticleIdsByColumnId(@Param("columnId") String columnId);
+
+    /**
+     * 根据文章id列表查询文章信息
+     * @param articleIds
+     * @param keywords
+     * @return
+     */
+    List<Map<String, Object>> getArticleListByIds(@Param("list") List<Map<String, Object>> articleIds, @Param("keywords") String keywords);
+}

+ 18 - 0
cms/src/main/java/com/jd/cms/service/FileService.java

@@ -0,0 +1,18 @@
+package com.jd.cms.service;
+
+import java.util.Map;
+
+/**
+ * @author :yp
+ * @date :Created in 2022/5/12 10:03
+ * @description:
+ */
+public interface FileService {
+
+    /**
+     * 获取并检索辅助终端文件列表
+     * @param keywords
+     * @return
+     */
+    Map<String, Object> selectFile(String keywords);
+}

+ 111 - 0
cms/src/main/java/com/jd/cms/service/impl/FileServiceImpl.java

@@ -0,0 +1,111 @@
+package com.jd.cms.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.jd.cms.base.Constants;
+import com.jd.cms.mapper.BasicDataMapper;
+import com.jd.cms.mapper.FileMapper;
+import com.jd.cms.service.FileService;
+import com.jd.cms.util.Blank;
+import com.jd.cms.util.SendUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :yp
+ * @date :Created in 2022/5/12 10:04
+ * @description:
+ */
+@Service
+public class FileServiceImpl implements FileService {
+    @Resource
+    private FileMapper fileMapper;
+
+    @Resource
+    private BasicDataMapper basicDataMapper;
+    @Override
+    public Map<String, Object> selectFile(String keywords) {
+        // 线上文件获取
+        // 获取线上文件栏目id
+        String columnId = getColumnIdByName("线上文件");
+        List<Map<String, Object>> onlineFiles = getArticleList(columnId, keywords);
+        // 临时文件获取
+        // 获取临时文件栏目id
+        String lsColumnId = getColumnIdByName("临时文件");
+        // 根据栏目id查询文章id列表
+        List<Map<String, Object>> temporaryFiles = getArticleList(lsColumnId, keywords);
+        // 轻应用文件获取
+        List<Map<String, Object>> qyyFiles = getQYYFileList();
+        Map<String, Object> result = new HashMap<>();
+        result.put("onlineFiles", onlineFiles);
+        result.put("temporaryFiles", temporaryFiles);
+        result.put("qyyFiles", qyyFiles);
+        return SendUtil.send(true, Constants.code200, result);
+    }
+
+    /**
+     * 根据栏目id获取所有的文章列表信息
+     * @param columnId
+     * @param keywords
+     * @return
+     */
+    public  List<Map<String, Object>> getArticleList(String columnId, String keywords) {
+        // 根据栏目id查询文章id列表
+        List<Map<String, Object>> articleIds = fileMapper.getArticleIdsByColumnId(columnId);
+        List list = new ArrayList();
+        if (Blank.isNotEmpty(articleIds)) {
+            for (Map<String, Object> articleIdMap : articleIds) {
+                list.add(articleIdMap.get("articleId"));
+            }
+        }
+        // 根据文章id列表查询文章信息
+        List<Map<String, Object>> files = fileMapper.getArticleListByIds(list, keywords);
+        return files;
+    }
+
+    /**
+     * 根据栏目id获取所有的文章列表信息
+     * @return
+     */
+    public  List<Map<String, Object>> getQYYFileList() {
+        Map<String, Object> param = new HashMap<>();
+        param.put("current", 1);
+        param.put("size", 10000);
+        String url = basicDataMapper.getValueByType("QYY_FILEURL");
+        String body = HttpRequest.get(url).form(param).execute().body();
+        JSONArray records = new JSONArray();
+        if (StrUtil.isNotBlank(body)) {
+            JSONObject jsonObject = JSON.parseObject(body);
+            JSONObject data = jsonObject.getJSONObject("data");
+            if (Blank.isNotEmpty(data)) {
+                records = data.getJSONArray("records");
+            }
+
+        }
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (Object record : records) {
+            result.add((Map<String, Object>) record);
+        }
+        return result;
+    }
+
+
+    /**
+     * 根据文件库名字获取栏目id
+     * @param name
+     * @return
+     */
+    public String getColumnIdByName(String name) {
+        String columnId = fileMapper.getColumnIdByName(name);
+        return columnId;
+    }
+
+}

+ 4 - 2
cms/src/main/resources/application.yml

@@ -73,6 +73,7 @@ mybatis:
   configuration:
     #开启自动下划线格式转驼峰格式
     map-underscore-to-camel-case: true
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 #上传文件和网站静态化相关配置
 path:
   #站点实体路径和访问路径
@@ -83,7 +84,8 @@ path:
     letterpath: D:/nginx-1.21.1/html
 
     # 后台-上传文件访问路径
-    letterurl: http://localhost
+    letterurl: http://23.37.100.87:8060
+#    letterurl: http://192.168.0.95
     # 静态网站文件-资源路径
     staticletterpath: D:/nginx-1.21.1/html
     # 静态网站文件-网站路径
@@ -149,7 +151,7 @@ login:
     #登录超时时间
     login-out-time : 30
     #免登陆接口,相对于根目录,多个以逗号隔开
-    removal-uris: /user/userLogin,/defaultImage/,/public/,/page/,/ftl/,/file/fileUpload,/article/saveFile,/article/articlePublish
+    removal-uris: /user/userLogin,/defaultImage/,/public/,/page/,/ftl/,/file/fileUpload,/article/saveFile,/article/articlePublish,/files/selectFile
   specialChar:
     #不被转义字符的uri,多个以“,”隔开
     filterUris: 

+ 35 - 0
cms/src/main/resources/mapper/FileMapper.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.jd.cms.mapper.FileMapper">
+
+    <!--根据文件库名字获取栏目id-->
+    <select id="getColumnIdByName" resultType="java.lang.String">
+        SELECT id
+        FROM `t_column`
+        WHERE NAME = #{name}
+    </select>
+    <!--根据栏目id查询文章列表-->
+    <select id="getArticleIdsByColumnId" resultType="java.util.Map">
+        SELECT
+            articleId
+        FROM
+            t_article_column
+        WHERE
+            columnId = #{columnId}
+    </select>
+    <!--根据文章id列表查询文章信息-->
+    <select id="getArticleListByIds" resultType="java.util.Map">
+        SELECT
+            *
+        FROM
+            `t_article`
+        WHERE
+            id in
+        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        <if test="keywords != null and keywords != ''">
+            and oldFileName LIKE CONCAT('%', #{keywords},'%')
+        </if>
+    </select>
+</mapper>

+ 2 - 2
cms/src/main/resources/static/ftl/fzzd/dhl/dtgk/gzly.ftl

@@ -1,8 +1,8 @@
 <#if data.articleList?size gt 0>
     <#list data.articleList as article>
-        <li class="const-item">
+        <div class="swiper-slide">
             <img src="${article.titlepic }"/>
             <p>${article.title}</p>
-        </li>
+        </div>
     </#list>
 </#if>

+ 47 - 39
cms/src/main/resources/static/ftl/fzzd/index/dtgk.ftl

@@ -7,6 +7,7 @@
     <!-- 动态加载head -->
     <script type="text/javascript" src="/${data.websiteInfo.rootPath }/head/list.html"></script>
     <!-- 引用基础css、js文件 -->
+    <link rel="stylesheet" href="/${data.websiteInfo.rootPath }/public/swiper/swiper.min.css" />
     <script type="text/javascript" src="/${data.websiteInfo.rootPath }/public/js/constant.js"></script>
     <script type="text/javascript" src="/${data.websiteInfo.rootPath }/public/layui/layui.js"></script>
     <link rel="stylesheet" type="text/css" href="/${data.websiteInfo.rootPath }/public/font/iconfont.css"/>
@@ -80,42 +81,35 @@
         </div>
         <!-- 工作掠影 -->
         <div class="gzly-box" style="display: none;">
-            <ul class="cont-imgs">
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a1.png"/>-->
-<#--                    <p>信息中心参加“3.19”城市管理主题服务周活动</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a2.png"/>-->
-<#--                    <p>市领导出席2019年"3.19”城市管理服务主题周</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a3.png"/>-->
-<#--                    <p>2019年信息中心党支部员局选举</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a4.png"/>-->
-<#--                    <p>城市管理服务热线接受市民现场咨询</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a5.png"/>-->
-<#--                    <p>城市管理服务热线接受市民现场咨询</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a6.png"/>-->
-<#--                    <p>城市管理服务热线接受市民现场咨询</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a7.png"/>-->
-<#--                    <p>12319城市管理专用车辆发车仪式</p>-->
-<#--                </li>-->
-<#--                <li class="const-item">-->
-<#--                    <img src="/${data.websiteInfo.rootPath }/public/img/a8.png"/>-->
-<#--                    <p>12319在九龙坡区杨家坪商圈开展“现场接办”</p>-->
-<#--                </li>-->
-            </ul>
-            <div class="play">
-                <img src="/${data.websiteInfo.rootPath }/public/img/play.png"/>
+            <div class="pre">
+                <img src="/${data.websiteInfo.rootPath }/public/img/zuoqiehuan.png" />
+            </div>
+            <div class="swiper">
+                <div class="swiper-wrapper">
+<#--                    <div class="swiper-slide">-->
+<#--                        <img src="img/a2.png" />-->
+<#--                        <p>市领导出席2019年"3.19”城市管理服务主题周</p>-->
+<#--                    </div>-->
+<#--                    <div class="swiper-slide">-->
+<#--                        <img src="img/a3.png" />-->
+<#--                        <p>2019年信息中心党支部员局选举</p>-->
+<#--                    </div>-->
+<#--                    <div class="swiper-slide">-->
+<#--                        <img src="img/a4.png" />-->
+<#--                        <p>城市管理服务热线接受市民现场咨询</p>-->
+<#--                    </div>-->
+<#--                    <div class="swiper-slide">-->
+<#--                        <img src="img/a5.png" />-->
+<#--                        <p>城市管理服务热线接受市民现场咨询</p>-->
+<#--                    </div>-->
+<#--                    <div class="swiper-slide">-->
+<#--                        <img src="img/a6.png" />-->
+<#--                        <p>城市管理服务热线接受市民现场咨询</p>-->
+<#--                    </div>-->
+                </div>
+            </div>
+            <div class="next">
+                <img src="/${data.websiteInfo.rootPath }/public/img/youqiehuan.png" />
             </div>
         </div>
         <!-- 荣誉奖牌 -->
@@ -179,8 +173,8 @@
         </div>
     </div>
 </div>
-<script src="/${data.websiteInfo.rootPath }/public/js/jquery-3.5.1.min.js" type="text/javascript"
-        charset="utf-8"></script>
+<script src="/${data.websiteInfo.rootPath }/public/js/jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
+<script src="/${data.websiteInfo.rootPath }/public/swiper/swiper.min.js"></script>
 <script src="/${data.websiteInfo.rootPath }/public/js/basic/indexb.js" type="text/javascript" charset="utf-8"></script>
 <script>
     layui.config({
@@ -193,8 +187,22 @@
         // 历史沿革
         $(".lsyg-box").load("/${data.websiteInfo.rootPath }/dhl/dtgk/lsyg/list.html")
         // 工作掠影
-        $(".cont-imgs").load("/${data.websiteInfo.rootPath }/dhl/dtgk/gzly/list.html")
+        $(".swiper-wrapper").load("/${data.websiteInfo.rootPath }/dhl/dtgk/gzly/list.html")
     })
+    window.onload = function () {
+        var mySwiper = new Swiper('.swiper', {
+            direction: 'horizontal', // 垂直切换选项
+            loop: true, // 循环模式选项
+            autoplay: {
+                delay: 1500,
+                disableOnInteraction: false,
+            }, //自动播放
+            navigation: {
+                nextEl: '.next',
+                prevEl: '.pre',
+            },
+        })
+    }
 </script>
 </body>
 </html>

+ 7 - 0
cms/src/main/resources/static/ftl/fzzd/index/ztzs.ftl

@@ -21,6 +21,13 @@
         <button type="button">上一页</button>
         <button type="button">下一页</button>
     </div>
+    <!-- 适配主题展示 -->
+    <div class="aba-theme" style="display: none;">
+        <iframe id="iframeContent" src="" frameborder="0"></iframe>
+    </div>
+    <div class="back-ztzs" style="display: none;">
+        <img src="/${data.websiteInfo.rootPath }/public/img/back-ztzs.png" />
+    </div>
 </div>
 <script type="text/javascript" src="/${data.websiteInfo.rootPath }/public/js/util.min.js"></script>
 <script type="text/javascript" src="/${data.websiteInfo.rootPath }/public/js/basic/ztzs.js"></script>

+ 139 - 69
cms/src/main/resources/static/ftl/fzzd/public/css/indexb.css

@@ -1,34 +1,36 @@
-*{
+* {
 	margin: 0;
 	padding: 0;
 	box-sizing: border-box;
 	font-family: "Microsoft YaHei";
 }
 
-html,body{
+html,
+body {
 	width: 100%;
 	height: 100%;
 }
 
-li{
+li {
 	list-style: none;
 }
 
 @font-face {
-  font-family: 'iconfont';
-  src: url('../font/iconfont.woff2?t=1649485663505') format('woff2'),
-       url('../font/iconfont.woff?t=1649485663505') format('woff'),
-       url('../font/iconfont.ttf?t=1649485663505') format('truetype');
+	font-family: 'iconfont';
+	src: url('../font/iconfont.woff2?t=1649485663505') format('woff2'), url('../font/iconfont.woff?t=1649485663505') format('woff'), url('../font/iconfont.ttf?t=1649485663505') format('truetype');
 }
+
+
 /* 首页 */
-.indexb{
+
+.indexb {
 	display: flex;
 	align-items: center;
 	width: 100%;
 	height: 100%;
 }
 
-.index-list{
+.index-list {
 	display: flex;
 	flex-direction: column;
 	width: 10%;
@@ -36,7 +38,7 @@ li{
 	background-color: #F1F1F1;
 }
 
-.index-list .index-item{
+.index-list .index-item {
 	flex: 1;
 	display: flex;
 	align-items: center;
@@ -44,35 +46,38 @@ li{
 	flex-direction: column;
 	font-size: 14px;
 	color: #696969;
-	border-bottom: 1px solid rgba(147,147,147,0.5);
+	border-bottom: 1px solid rgba(147, 147, 147, 0.5);
 }
 
-.index-list .index-item:last-child{
+.index-list .index-item:last-child {
 	border-bottom: none;
 }
 
-.index-list .index-item>i{
+.index-list .index-item>i {
 	font-size: 20px;
 	margin-bottom: 5px;
 }
 
-.index-item-act{
+.index-item-act {
 	color: #2A8DCF !important;
 	background-color: #FFFFFF;
 }
 
+
 /* 内容区域 */
-.content{
+
+.content {
 	width: 90%;
 	height: 100%;
 }
 
-.content>div{
+.content>div {
 	position: relative;
 	width: 100%;
 	height: 100%;
 }
 
+
 /* 历史沿革 */
 .lsyg-box{
 	width: 100%;
@@ -83,7 +88,8 @@ li{
 	position: relative;
 	height: 100%;
 }
-.time-line .center-line{
+
+.time-line .center-line {
 	position: absolute;
 	bottom: 20%;
 	width: 100%;
@@ -91,13 +97,13 @@ li{
 	background-color: #0451A3;
 }
 
-.time-line img{
+.time-line img {
 	position: fixed;
-	bottom: 20%;
+	bottom: 22.5%;
 	left: 50%;
 }
 
-.time-top{
+.time-top {
 	position: relative;
 	display: flex;
 	align-items: center;
@@ -107,7 +113,7 @@ li{
 	overflow-y: scroll;
 }
 
-.time-top .time-item{
+.time-top .time-item {
 	position: relative;
 	bottom: -5%;
 	min-width: 200px;
@@ -116,7 +122,7 @@ li{
 	box-sizing: content-box;
 }
 
-.time-top .time-item::after{
+.time-top .time-item::after {
 	content: "";
 	position: absolute;
 	bottom: 0;
@@ -125,18 +131,18 @@ li{
 	background-color: #0451A3;
 }
 
-.time-top .time-item:nth-of-type(1){
+.time-top .time-item:nth-of-type(1) {
 	padding-left: 40px;
 }
 
-.time-item .flag{
+.time-item .flag {
 	position: absolute;
 	width: 5px;
 	height: 100%;
 	background-color: #0451A3;
 }
 
-.flag>i{
+.flag>i {
 	position: absolute;
 	top: 5px;
 	display: inline-block;
@@ -145,19 +151,19 @@ li{
 	border-left: 90px solid #0451A3;
 }
 
-.time-item .contan-box{
+.time-item .contan-box {
 	position: absolute;
 	top: 30%;
 	margin-left: 14px;
 }
 
-.contan-box .item-title{
+.contan-box .item-title {
 	font-size: 36px;
 	font-weight: 550;
 	color: #0451A3;
 }
 
-.contan-box .item-cont{
+.contan-box .item-cont {
 	/* font-family: "黑体"; */
 	font-size: 18px;
 	font-weight: 500;
@@ -165,12 +171,13 @@ li{
 	padding-right: 20px;
 }
 
+
 /* 机构设置 */
 .jgsz-box{
 	padding: 1%;
 }
 
-.jg-title{
+.jg-title {
 	display: flex;
 	align-items: center;
 	width: 100%;
@@ -178,14 +185,14 @@ li{
 	font-size: 18px;
 }
 
-.jg-container{
+.jg-container {
 	display: flex;
 	justify-content: center;
 	width: 100%;
 	height: 90%;
 }
 
-.jg-content{
+.jg-content {
 	display: flex;
 	flex-direction: column;
 	align-items: center;
@@ -193,17 +200,17 @@ li{
 	padding: 0 5%;
 }
 
-.jg-content .top-box{
+.jg-content .top-box {
 	width: 100%;
 	height: 40%;
 }
 
-.jg-content .top-box .jg-top{
+.jg-content .top-box .jg-top {
 	display: flex;
 	justify-content: space-between;
 }
 
-.jg-top .top-item{
+.jg-top .top-item {
 	text-align: center;
 	line-height: 35px;
 	height: 35px;
@@ -212,31 +219,31 @@ li{
 	background-color: #D5E8F6;
 }
 
-.jg-top:nth-child(1){
+.jg-top:nth-child(1) {
 	display: flex;
 	flex-wrap: wrap;
 	justify-content: space-around;
 }
 
-.jg-top:nth-child(1) .top-item{
+.jg-top:nth-child(1) .top-item {
 	width: 45%;
 	margin-top: 10px;
 }
 
-.jg-top:nth-child(2){
+.jg-top:nth-child(2) {
 	margin-top: 10px;
 }
 
-.jg-top:nth-child(2) .top-item{
+.jg-top:nth-child(2) .top-item {
 	width: 30%;
 }
 
-.jg-content .bottom-box{
+.jg-content .bottom-box {
 	width: 100%;
 	height: 70%;
 }
 
-.bot-text{
+.bot-text {
 	display: flex;
 	align-items: center;
 	width: 100%;
@@ -244,7 +251,7 @@ li{
 	font-size: 18px;
 }
 
-.jg-bottom{
+.jg-bottom {
 	display: flex;
 	flex-wrap: wrap;
 	justify-content: space-between;
@@ -252,7 +259,7 @@ li{
 	padding: 1%;
 }
 
-.jg-bottom .bottom-item{
+.jg-bottom .bottom-item {
 	display: flex;
 	align-items: center;
 	text-indent: 0.5em;
@@ -264,7 +271,7 @@ li{
 	background-color: #D5E8F6;
 }
 
-.jg-bottom .bottom-item>i{
+.jg-bottom .bottom-item>i {
 	display: flex;
 	align-items: center;
 	justify-content: center;
@@ -276,7 +283,7 @@ li{
 	background-color: #2D8FCE;
 }
 
-.jg-img{
+.jg-img {
 	display: flex;
 	align-items: center;
 	justify-content: center;
@@ -284,19 +291,47 @@ li{
 	height: 100%;
 }
 
-.jg-img>img{
+.jg-img>img {
 	width: 90%;
 	height: 100%;
 }
 
+
 /* 工作掠影 */
-.gzly-box{
+
+.gzly-box {
+	position: relative;
 	width: 100%;
 	height: 100%;
 	overflow: hidden;
 }
 
-.gzly-box .cont-imgs{
+.pre,
+.next {
+	width: 7%;
+	position: absolute;
+	top: 50%;
+	z-index: 999;
+	transform: translateY(-50%);
+}
+
+.pre {
+	left: 5%;
+}
+
+.pre>img {
+	width: 100%;
+}
+
+.next {
+	right: 5%;
+}
+
+.next>img {
+	width: 100%;
+}
+
+.gzly-box .cont-imgs {
 	display: flex;
 	align-items: center;
 	width: 100%;
@@ -305,22 +340,22 @@ li{
 	top: 13%;
 }
 
-.cont-imgs .const-item{
+.cont-imgs .const-item {
 	min-width: 30%;
 	height: 100%;
 	margin-right: 3%;
 }
 
-.cont-imgs .const-item:nth-child(1){
+.cont-imgs .const-item:nth-child(1) {
 	margin-left: 2%;
 }
 
-.const-item>img{
+.const-item>img {
 	width: 100%;
 	height: 85%;
 }
 
-.const-item>p{
+.const-item>p {
 	display: flex;
 	flex-wrap: wrap;
 	flex-direction: column;
@@ -332,14 +367,14 @@ li{
 	color: #434343;
 }
 
-.play{
+.play {
 	text-align: center;
 	width: 100%;
 	position: relative;
 	top: 25%;
 }
 
-.play>img{
+.play>img {
 	width: 5%;
 }
 
@@ -375,25 +410,28 @@ li{
 
 .ryjp-box>ul>li>span{
 	margin-top: 5px;
+	font-size: 18px;
 }
 
-.jp-three .three-item:nth-child(5)>.img-box{
+.jp-three .three-item:nth-child(5)>.img-box {
 	width: 80%;
-	box-shadow: 0px 1px 2px rgba(0,0,0,0.5);
+	box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5);
 }
 
-.jp-three .three-item:nth-child(5)>.img-box>img{
+.jp-three .three-item:nth-child(5)>.img-box>img {
 	width: 100%;
 }
 
 
 /* 大厅 */
-.dt-box{
+
+.dt-box {
 	display: flex;
 	flex-direction: column;
 	justify-content: center;
 }
-.title-dt{
+
+.title-dt {
 	display: flex;
 	justify-content: center;
 	align-items: center;
@@ -401,16 +439,16 @@ li{
 	height: 10%;
 }
 
-.title-dt .title-box{
+.title-dt .title-box {
 	width: 26%;
 	text-align: center;
 }
 
-.title-box>i{
+.title-box>i {
 	font-size: 25px;
 }
 
-.describe{
+.describe {
 	display: flex;
 	flex-direction: column;
 	align-items: center;
@@ -419,15 +457,15 @@ li{
 	height: 20%;
 }
 
-.describe>p{
+.describe>p {
 	padding: 0.5% 0;
 }
 
-.describe>p>i{
+.describe>p>i {
 	font-size: 20px;
 }
 
-.img-show{
+.img-show {
 	display: flex;
 	align-items: center;
 	justify-content: space-around;
@@ -435,7 +473,7 @@ li{
 	height: 60%;
 }
 
-.img-show .item-show{
+.img-show .item-show {
 	display: flex;
 	flex-direction: column;
 	align-items: center;
@@ -443,20 +481,52 @@ li{
 	height: 100%;
 }
 
-.item-show>img{
+.item-show>img {
 	width: 100%;
 	height: 90%;
 }
 
-.item-show>span{
+.item-show>span {
 	margin-top: 10px;
 }
 
+
 /* 工作目标 */
-.mb-box{
+
+.mb-box {
 	padding: 0% 3%;
 }
-.mb-box>img{
+
+.mb-box>img {
 	width: 100%;
 	height: 100%;
+}
+
+
+/* 新样式 */
+
+.swiper {
+	width: 90%;
+	height: 90%;
+}
+
+.swiper-slide {
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+}
+
+.swiper-slide>img {
+	width: 80%;
+	max-width: 80%;
+}
+
+.swiper-slide>p {
+	width: 80%;
+	text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	font-size: 18px;
+	text-align: center;
 }

+ 86 - 80
cms/src/main/resources/static/ftl/fzzd/public/css/style.css

@@ -1,129 +1,135 @@
-*{
-	margin: 0;
-	padding: 0;
+* {
+    margin: 0;
+    padding: 0;
 }
+
 html {
-  height: 100%;
-  overflow: hidden;
+    height: 100%;
+    overflow: hidden;
 }
+
 body {
-  width: 100%;
-  height: 100%;
-  background: url(../img/xiangce.png) 75% center no-repeat;
-  background-size: 92% 90%;
+    width: 100%;
+    height: 100%;
+    background: url(../img/xiangce.png) 75% center no-repeat;
+    background-size: 92% 90%;
 }
 
 h1 {
-  text-align: center;
+    text-align: center;
 }
 
 .scene {
     width: 45%;
     height: 90%;
     margin: 4% 0% 0% 52%;
-  
-  perspective: 1000px;
+    perspective: 1000px;
 }
 
 .book {
-  position: relative;
-  width: 100%;
-  height: 100%;
-  
-  transform-style: preserve-3d;
+    position: relative;
+    width: 100%;
+    height: 100%;
+    transform-style: preserve-3d;
 }
 
 .page {
-  cursor: pointer;
-  position: absolute;
-  color: black;
-  width: 100%;
-  height: 100%;
+    cursor: pointer;
+    position: absolute;
+    color: black;
+    width: 100%;
+    height: 100%;
+    transition: 1.5s transform;
+    transform-style: preserve-3d;
+    transform-origin: left center;
+}
+/* new */
 
-  transition: 1.5s transform;
-  transform-style: preserve-3d;  
-  transform-origin: left center;
-}
 .front,
 .back {
-  position: absolute;
-  width: 85%;
-  height: 85%;
-  top: 3%;
-  right: 5%;
-  box-sizing: border-box;
-  backface-visibility: hidden;
-  background-color: #FFFFFF;
+    position: absolute;
+    width: 85%;
+    height: 85%;
+    top: 3%;
+    right: 5%;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    box-sizing: border-box;
+    backface-visibility: hidden;
+    background-color: #FFFFFF;
 }
+
 .back {
-  transform: rotateY(180deg);
+    transform: rotateY(180deg);
 }
 
-.back>img{
-	width: 100%;
-	height: 93%;
-	margin-bottom: 1%;
+.back>img {
+    width: 100%;
+    margin-bottom: 1%;
 }
 
-.back>span{
-	display: inline-block;
-	width: 100%;
-	height: 6%;
-	text-align: center;
-	line-height: 100%;
-	white-space: nowrap;
-	text-overflow: ellipsis;
-	overflow: hidden;
-}
+.back>span {
+    display: inline-block;
+    width: 100%;
+    height: 6%;
+    text-align: center;
+    line-height: 100%;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    font-size: 18px;
+}
+/* new */
 
-.front>img{
-	width: 100%;
-	height: 93%;
-	margin-bottom: 1%;
+.front>img {
+    width: 100%;
+    margin-bottom: 1%;
 }
 
-.front>span{
-	display: inline-block;
-	width: 100%;
-	height: 6%;
-	text-align: center;
-	
-	white-space: nowrap;
-	text-overflow: ellipsis;
-	overflow: hidden;
+.front>span {
+    display: inline-block;
+    width: 100%;
+    height: 6%;
+    text-align: center;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    font-size: 18px;
 }
 
 .page.active {
-  z-index: 1;
+    z-index: 1;
 }
+
 .page.flipped {
-  transform: rotateY(-180deg);
+    transform: rotateY(-180deg);
 }
+
 .page.flipped:last-of-type {
-  z-index: 1;
+    z-index: 1;
 }
 
 p {
-  margin: 0 0 0.1em;
-  text-indent: 1em;
+    margin: 0 0 0.1em;
+    text-indent: 1em;
 }
 
 .qr {
-  margin: 50px auto;
-  max-width: 50%;
+    margin: 50px auto;
+    max-width: 50%;
 }
+
 .qr img {
-  display: block;
+    display: block;
 }
-
-
 /* iPads (portrait) ----------- */
-@media only screen 
-and (min-device-width : 768px) 
-and (max-device-width : 1024px) 
-and (orientation : portrait) {
-  .scene {
-    width: 90%;
-    height: 90%;
-    margin: 5%;
+
+@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
+    .scene {
+        width: 90%;
+        height: 90%;
+        margin: 5%;
+    }
 }

+ 52 - 18
cms/src/main/resources/static/ftl/fzzd/public/css/ztzs.css

@@ -1,63 +1,67 @@
-*{
+* {
 	margin: 0;
 	padding: 0;
 	box-sizing: border-box;
 	font-family: "Microsoft YaHei";
 }
 
-html,body{
+html,
+body {
 	width: 100%;
 	height: 100%;
 }
 
-li{
+li {
 	list-style: none;
 }
 
+
 /* 主题展示 */
-.ztzs{
+
+.ztzs {
 	width: 100%;
 	height: 100%;
 	padding: 2%;
 }
 
-.ztzs .ztzs-list{
-	display: flex;
-	flex-wrap: wrap;
+.ztzs .ztzs-list {
 	width: 100%;
 	height: 85%;
 	padding: 0 2%;
 }
-.ztzs-list .ztzs-item{
-	width: 30%;
+
+.ztzs-list .ztzs-item {
+	float: left;
+	width: 32%;
 	height: 30%;
-	margin-right: 5%;
+	margin-right: 2%;
 	margin-bottom: 1.5%;
 }
 
-.ztzs-list .ztzs-item>img{
+.ztzs-list .ztzs-item>img {
 	width: 100%;
 	height: 87%;
 }
 
-.ztzs-list .ztzs-item>p{
+.ztzs-list .ztzs-item>p {
 	width: 100%;
 	height: 13%;
 	text-align: center;
 	text-overflow: ellipsis;
 	overflow: hidden;
 	white-space: nowrap;
+	font-size: 18px;
 }
 
-.ztzs-list .ztzs-item:nth-child(3n){
+.ztzs-list .ztzs-item:nth-child(3n) {
 	margin-right: 0;
 }
 
-.ztzs-list .ztzs-item:nth-child(7){
+.ztzs-list .ztzs-item:nth-child(7) {
 	margin-bottom: 0;
 }
 
-.but-box{
+.but-box {
 	display: flex;
 	align-items: center;
 	justify-content: center;
@@ -65,16 +69,46 @@ li{
 	height: 15%;
 }
 
-.but-box>button{
+.but-box>button {
 	width: 10%;
 	height: 60%;
 	font-size: 110%;
 	color: #676767;
 	border: 1px solid #E8E8E8;
 	border-radius: 5px;
-	background-image: linear-gradient(#FDFDFD,#F3F3F3, #EBEBEB);
+	background-image: linear-gradient(#FDFDFD, #F3F3F3, #EBEBEB);
 }
 
-.but-box>button:nth-child(1){
+.but-box>button:nth-child(1) {
 	margin-right: 2%;
+}
+
+
+/* 新增 */
+
+.aba-theme {
+	position: relative;
+	width: 100%;
+	height: 100%;
+	transform: scale(0.2, 0.2);
+	transform-origin: top left;
+}
+
+.aba-theme iframe {
+	width: 10240px;
+	height: 2686.57px;
+}
+
+.back-ztzs {
+	position: fixed;
+	top: 1%;
+	right: 1%;
+	width: 5%;
+	padding: 0.5%;
+	border-radius: 10px;
+	background-color: rgb(218, 33, 33);
+}
+
+.back-ztzs>img {
+	width: 100%;
 }

BIN
cms/src/main/resources/static/ftl/fzzd/public/img/back-ztzs.png


BIN
cms/src/main/resources/static/ftl/fzzd/public/img/youqiehuan.png


BIN
cms/src/main/resources/static/ftl/fzzd/public/img/zuoqiehuan.png


+ 20 - 1
cms/src/main/resources/static/ftl/fzzd/public/js/basic/ztzs.js

@@ -3,8 +3,27 @@ util.init(['jquery', 'ajax', 'layer'], function (layui) {
     layer = layui.layer;
     ly = layui.ajax;
     showThemeInfo()
+    showIframeContent();
 });
 
+// 显示iframe内容
+function showIframeContent() {
+    $(".ztzs-list").on("click", ".ztzs-item", function () {
+        console.log($(this).attr("data-src"))
+        $("#iframeContent").attr("src", $(this).attr("data-src"))
+        $(".ztzs-list").css("display", "none");
+        $(".but-box").css("display", "none");
+        $(".aba-theme").css("display", "block");
+        $(".back-ztzs").css("display", "block");
+    })
+
+    $(".back-ztzs").on("click", function () {
+        $(".ztzs-list").css("display", "block");
+        $(".but-box").css("display", "flex");
+        $(".aba-theme").css("display", "none")
+        $(".back-ztzs").css("display", "none")
+    })
+}
 // 主题展示
 function showThemeInfo() {
     index = layer.load(2);
@@ -19,7 +38,7 @@ function showThemeInfo() {
                 let data = json.data;
                 var themeHtml = '';
                 for (let i = 0; i < data.length; i++) {
-                    themeHtml += '<li class="ztzs-item">\n' +
+                    themeHtml += '<li class="ztzs-item" data-src="' + data[i].url + '">\n' +
                         '                <img src="' + FLAT_PATH_BASIC + data[i].system_img + '"/>\n' +
                         '                <p>' + data[i].system_name + '</p>\n' +
                         '            </li>'

Разлика између датотеке није приказан због своје велике величине
+ 12 - 0
cms/src/main/resources/static/ftl/fzzd/public/swiper/swiper.min.css


Разлика између датотеке није приказан због своје велике величине
+ 12 - 0
cms/src/main/resources/static/ftl/fzzd/public/swiper/swiper.min.js


+ 6 - 0
spring-cloud/commons/src/main/java/com/jd/entity/basic/BusinessSystem.java

@@ -134,4 +134,10 @@ public class BusinessSystem implements Serializable {
 	*/
 	@ApiModelProperty("是否在辅助终端上展示(0否, 1是)")
 	private Integer showAuxiliaryTerminal;
+
+	/**
+	 * 外链地址
+	 */
+	@ApiModelProperty("系统登录地址")
+	private String url;
 }

+ 4 - 2
spring-cloud/configer/src/main/resources/config/dev/gateway-dev.yml

@@ -86,7 +86,8 @@ filter:
     /safetyInfor/getRiskInfoByOrg,/safetyInfor/getSysStatusByOrg,/SystemRisk/getHighStatus,/SystemRisk/getHighStatusByMonth,\
     /AttackEvent/getAttackEventByInfo,/AttackType/getAttackTypeByMonth,/SystemAttacked/getSystemAttackedByInfo,/businessSystem/getSystemInfoByVoiceKeyword,\
     /safetyInfor/getWebSafetyStatusByOrg,/OfficeVirus/getOfficeSafetyInfo,/GuaranteeGroup/getAllGuaranteeGroup,/monitoringResources/getMonitorListByName,/monitoringResources/creatRelay,\
-    /monitoringResources/closeAllRelay,/monitoringResources/getStreamForKaiKang,/SystemRisk/GetSystemRiskList,/SystemRisk/getSysInfoByOffice,/flat/door/personRegister,/flat/sendMessage,/businessSystem/getSystemInfoByShow"
+    /monitoringResources/closeAllRelay,/monitoringResources/getStreamForKaiKang,/SystemRisk/GetSystemRiskList,/SystemRisk/getSysInfoByOffice,/flat/door/personRegister,/flat/sendMessage,/businessSystem/getSystemInfoByShow,\
+    /commandTranscription/insertCommandTranscription"
 
   # 不需要过参数过滤器的uri
   parameter:
@@ -112,7 +113,8 @@ filter:
     /safetyInfor/getRiskInfoByOrg,/safetyInfor/getSysStatusByOrg,/SystemRisk/getHighStatus,/SystemRisk/getHighStatusByMonth,\
     /AttackEvent/getAttackEventByInfo,/AttackType/getAttackTypeByMonth,/SystemAttacked/getSystemAttackedByInfo,/businessSystem/getSystemInfoByVoiceKeyword,\
     /safetyInfor/getWebSafetyStatusByOrg,/OfficeVirus/getOfficeSafetyInfo,/GuaranteeGroup/getAllGuaranteeGroup,/monitoringResources/getMonitorListByName,/monitoringResources/creatRelay,/monitoringResources/closeAllRelay,\
-    /SystemRisk/GetSystemRiskList,/SystemRisk/getSysInfoByOffice,/monitoringResources/getStreamForKaiKang,/flat/door/personRegister,/flat/sendMessage,/businessSystem/getSystemInfoByShow"
+    /SystemRisk/GetSystemRiskList,/SystemRisk/getSysInfoByOffice,/monitoringResources/getStreamForKaiKang,/flat/door/personRegister,/flat/sendMessage,/businessSystem/getSystemInfoByShow,\
+    /commandTranscription/insertCommandTranscription"
 
   # 登录接口
   login:

+ 5 - 1
spring-cloud/server-basic/pom.xml

@@ -47,7 +47,11 @@
 			<artifactId>mybatis-spring-boot-starter</artifactId>
 			<version>${mybatis-spring-boot-starter}</version>
 		</dependency>-->
-
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>fastjson</artifactId>
+			<version>1.2.68</version>
+		</dependency>
 		<dependency>
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-oauth2</artifactId>

+ 2 - 2
spring-cloud/server-basic/src/main/java/com/jd/configer/ResourceServerConfig.java

@@ -40,8 +40,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 					,"/AttackType/getAttackTypeByMonth","/SystemAttacked/getSystemAttackedByInfo","/safetyInfor/getWebSafetyStatusByOrg"
 					,"/OfficeVirus/getOfficeSafetyInfo","/AttackType/getAttackTypeByMonth","/SystemAttacked/getSystemAttackedByInfo","/businessSystem/getSystemInfoByVoiceKeyword"
 					,"/GuaranteeGroup/getAllGuaranteeGroup","/SystemRisk/GetSystemRiskList","/SystemRisk/getSysInfoByOffice","/monitoringResources/getMonitorListByName","/monitoringResources/creatRelay","/monitoringResources/closeAllRelay"
-					,"/monitoringResources/getStreamForKaiKang","/flat/door/personRegister","/flat/sendMessage","/businessSystem/getSystemInfoByShow"
-					).permitAll()			.anyRequest()
+					,"/monitoringResources/getStreamForKaiKang","/flat/door/personRegister","/flat/sendMessage","/businessSystem/getSystemInfoByShow","/commandTranscription/insertCommandTranscription"
+					).permitAll().anyRequest()
 			.authenticated()
 		.and()
 			.csrf()

+ 70 - 0
spring-cloud/server-basic/src/main/java/com/jd/controller/CommandTranscriptionController.java

@@ -0,0 +1,70 @@
+package com.jd.controller;
+
+import com.jd.code.ConstString;
+import com.jd.service.CommandTranscriptionService;
+import com.jd.util.Blank;
+import com.jd.util.SendUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 指挥转写
+ * @author Admin
+ */
+@RestController
+@RequestMapping("commandTranscription")
+@Api(value = "指挥转写", tags = {"指挥转写"})
+public class CommandTranscriptionController {
+
+    private final CommandTranscriptionService commandTranscriptionService;
+
+    public CommandTranscriptionController(CommandTranscriptionService commandTranscriptionService) {
+        this.commandTranscriptionService = commandTranscriptionService;
+    }
+
+
+    /**
+     * 分页查询指挥转写列表
+     * @param page
+     * @param limit
+     * @param queryVal
+     * @return
+     */
+    @GetMapping("getCommandTranscriptionListByPage")
+    @ApiOperation(value = "分页查询指挥转写列表")
+    public Map<String, Object> getCommandTranscriptionListByPage(Integer page, Integer limit, String queryVal) {
+        if (Blank.isEmpty(page, limit)) {
+            return SendUtil.send(false, ConstString.REQUEST_WRONGPARAMS);
+        }
+        return commandTranscriptionService.getCommandTranscriptionListByPage(page, limit, queryVal);
+    }
+
+    /**
+     * 新增指挥转写
+     * @param content
+     * @param type
+     * @param answer
+     * @return
+     */
+    @PostMapping("insertCommandTranscription")
+    @ApiOperation(value = "新增指挥转写")
+    public Map<String, Object> insertCommandTranscription(String content, Integer type, String answer) {
+        if (Blank.isEmpty(content, type, answer)) {
+            return SendUtil.send(false, ConstString.REQUEST_WRONGPARAMS);
+        }
+        Map<String, Object> param = new HashMap<>(8);
+        param.put("content", content);
+        param.put("type", type);
+        param.put("answer", answer);
+
+        return commandTranscriptionService.insertCommandTranscription(param);
+    }
+
+}

+ 0 - 11
spring-cloud/server-basic/src/main/java/com/jd/controller/MeetingTranscriptionController.java

@@ -1,6 +1,5 @@
 package com.jd.controller;
 
-import cn.hutool.core.convert.Convert;
 import com.jd.code.ConstString;
 import com.jd.entity.basic.MeetingTranscription;
 import com.jd.service.MeetingTranscriptionService;
@@ -8,21 +7,11 @@ import com.jd.util.Blank;
 import com.jd.util.SendUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.models.auth.In;
-import org.apache.commons.io.IOUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
 import java.util.Map;
 
 /**

+ 32 - 0
spring-cloud/server-basic/src/main/java/com/jd/mapper/CommandTranscriptionMapper.java

@@ -0,0 +1,32 @@
+package com.jd.mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指挥转写
+ * @author Admin
+ */
+public interface CommandTranscriptionMapper {
+
+    /**
+     * 查询指挥转写列表数量
+     * @param param
+     * @return
+     */
+    Integer getCommandTranscriptionCount(Map<String, Object> param);
+
+    /**
+     * 分页查询指挥转写列表
+     * @param param
+     * @return
+     */
+    List<Map<String, Object>> getCommandTranscriptionListByPage(Map<String, Object> param);
+
+    /**
+     * 新增指挥转写
+     * @param param
+     * @return
+     */
+    boolean insertCommandTranscription(Map<String, Object> param);
+}

+ 28 - 0
spring-cloud/server-basic/src/main/java/com/jd/service/CommandTranscriptionService.java

@@ -0,0 +1,28 @@
+package com.jd.service;
+
+import java.util.Map;
+
+/**
+ * 指挥转写
+ * @author Admin
+ */
+public interface CommandTranscriptionService {
+
+    /**
+     * 分页查询指挥转写列表
+     * @param page
+     * @param limit
+     * @param queryVal
+     * @return
+     */
+    Map<String, Object> getCommandTranscriptionListByPage(Integer page, Integer limit, String queryVal);
+
+    /**
+     * 新增指挥转写
+     * @param param
+     * @return
+     */
+    Map<String, Object> insertCommandTranscription(Map<String, Object> param);
+
+
+}

+ 48 - 0
spring-cloud/server-basic/src/main/java/com/jd/service/impl/CommandTranscriptionServiceImpl.java

@@ -0,0 +1,48 @@
+package com.jd.service.impl;
+
+import com.jd.mapper.CommandTranscriptionMapper;
+import com.jd.service.CommandTranscriptionService;
+import com.jd.util.Blank;
+import com.jd.util.SendUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 指挥转写
+ * @author Admin
+ */
+@Service
+public class CommandTranscriptionServiceImpl implements CommandTranscriptionService {
+
+    private final CommandTranscriptionMapper commandTranscriptionMapper;
+
+    public CommandTranscriptionServiceImpl(CommandTranscriptionMapper commandTranscriptionMapper) {
+        this.commandTranscriptionMapper = commandTranscriptionMapper;
+    }
+
+    @Override
+    public Map<String, Object> getCommandTranscriptionListByPage(Integer page, Integer limit, String queryVal) {
+        Map<String, Object> param = new HashMap<>(8);
+        param.put("limit", limit);
+        param.put("start", (page - 1) * limit);
+        param.put("queryVal", queryVal);
+
+        // 查询菜单列表数量
+        Integer count = commandTranscriptionMapper.getCommandTranscriptionCount(param);
+        if (Blank.isEmpty(count) || count < 1) {
+            return SendUtil.layuiTable(0, null);
+        }
+        List<Map<String, Object>> list = commandTranscriptionMapper.getCommandTranscriptionListByPage(param);
+        return SendUtil.layuiTable(count, list);
+    }
+
+    @Override
+    public Map<String, Object> insertCommandTranscription(Map<String, Object> param) {
+        boolean flag = commandTranscriptionMapper.insertCommandTranscription(param);
+        return SendUtil.send(flag);
+    }
+
+}

+ 6 - 4
spring-cloud/server-basic/src/main/resources/mapper/BusinessSystemMapper.xml

@@ -12,7 +12,7 @@ INSERT INTO t_business_system
  office_id, org_type, grade_eval, eval_time, show_auxiliary_terminal)
 VALUES(#{systemName},#{loginAddress},#{loginAccount},#{password},#{systemCategory},
 	#{loginMode},#{InterfaceUrl},#{systemImg},NOW(),#{voice},#{voiceEvent},#{sortno},
-       #{officeId}, #{orgType}, #{gradeEval}, #{evalTime}, #{showAuxiliaryTerminal})
+       #{officeId}, #{orgType}, #{gradeEval}, #{evalTime}, #{showAuxiliaryTerminal}, #{url})
 	</insert>
 
 	<update id="updateSystem">
@@ -21,7 +21,7 @@ SET system_category =#{systemCategory}, system_name =#{systemName}, login_mode =
  	login_account =#{loginAccount}, login_address =#{loginAddress}, `password` =#{password},
  	system_img=#{systemImg},interface_url=#{InterfaceUrl},update_time=NOW(),voice=#{voice},voice_event=#{voiceEvent},
     sortno=#{sortno}, office_id=#{officeId}, org_type=#{orgType}, grade_eval=#{gradeEval}, eval_time=#{evalTime},
-	show_auxiliary_terminal=#{showAuxiliaryTerminal}
+	show_auxiliary_terminal=#{showAuxiliaryTerminal},url=#{url}
  WHERE system_id=#{systemId}
 	</update>
 
@@ -68,7 +68,8 @@ DELETE FROM  t_business_system WHERE system_id=#{systemId}
 	org_type,
 	grade_eval,
 	eval_time,
-	show_auxiliary_terminal
+	show_auxiliary_terminal,
+	url
 	FROM
 		t_business_system
 		order by sortno asc
@@ -139,7 +140,8 @@ DELETE FROM  t_business_system WHERE system_id=#{systemId}
 			voice,
 			voice_event,
 			sortno,
-			show_auxiliary_terminal
+			show_auxiliary_terminal,
+		    url
 		FROM
 			t_business_system
 		WHERE

+ 90 - 0
spring-cloud/server-basic/src/main/resources/mapper/CommandTranscriptionMapper.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.jd.mapper.CommandTranscriptionMapper">
+
+    <!-- 查询指挥转写列表数量 -->
+    <select id="getCommandTranscriptionCount" resultType="java.lang.Integer">
+        SELECT
+            COUNT(*)
+        FROM
+            t_command_transcription
+        <where>
+            <if test="queryVal != null and queryVal != ''">
+                AND content LIKE CONCAT('%', #{queryVal},'%')
+            </if>
+        </where>
+    </select>
+
+    <!-- 分页查询指挥转写列表 -->
+    <select id="getCommandTranscriptionListByPage" resultType="java.util.Map">
+        SELECT
+            record_id,
+            content,
+            `type`,
+            answer,
+            status,
+            create_time
+        FROM
+            t_command_transcription
+        <where>
+            <if test="queryVal != null and queryVal != ''">
+                AND content LIKE CONCAT('%', #{queryVal},'%')
+            </if>
+        </where>
+        ORDER BY
+            create_time DESC
+        LIMIT #{start}, #{limit}
+    </select>
+
+    <!-- 新增指挥转写 -->
+    <insert id="insertCommandTranscription" useGeneratedKeys="true" keyProperty="recordId">
+        INSERT INTO t_command_transcription (
+            content,
+            `type`,
+            answer,
+            create_time
+        )
+        VALUES (
+            #{content},
+            #{type},
+            #{answer},
+            NOW()
+        )
+    </insert>
+
+    <!-- 编辑指挥转写 -->
+    <update id="updateCommandTranscription">
+        UPDATE t_command_transcription
+        <set>
+            content = #{content},
+            `type` = #{type},
+            answer = #{answer}
+        </set>
+        WHERE
+            record_id = #{recordId}
+    </update>
+
+    <!-- 根据ID删除指挥转写记录 -->
+    <delete id="deleteCommandTranscription">
+        DELETE
+        FROM t_command_transcription
+        WHERE record_id = #{recordId}
+    </delete>
+
+    <!-- 根据ID查询指挥转写记录详情 -->
+    <select id="getCommandTranscriptionById" resultType="java.util.Map">
+        SELECT
+            record_id,
+            content,
+            `type`,
+            answer,
+            status,
+            create_time
+        FROM
+            t_command_transcription
+        WHERE
+            record_id = #{recordId}
+        LIMIT 1
+    </select>
+
+</mapper>

+ 6 - 0
spring-cloud/server-page/src/main/resources/static/page/businessSystemManager.html

@@ -209,6 +209,12 @@
                     <input type="radio" name="showAuxiliaryTerminal" value="0" title="不展示" checked="">
                 </div>
             </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">外链地址:</label>
+                <div class="layui-input-inline">
+                    <input type="text" name="url" id="url" password="off" placeholder="请输入外链地址" class="layui-input">
+                </div>
+            </div>
             <button type="submit" id="submit" class="layui-btn submit_btn" lay-submit="" lay-filter="submit"
                     submitType=""
                     style="margin-left: 50px;margin-top: 30px;">提交

+ 97 - 0
spring-cloud/server-page/src/main/resources/static/page/commandTranscription.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+    <title>指挥转写</title>
+    <link rel="stylesheet" type="text/css" href="layui/css/layui.css"/>
+    <link rel="stylesheet" type="text/css" href="css/admin.css"/>
+    <link rel="stylesheet" type="text/css" href="css/common.css"/>
+    <link rel="stylesheet" type="text/css" href="css/animate.css"/>
+</head>
+<style>
+    .layui-form-item .layui-input-inline {
+        width: 60%;
+    }
+
+    .layui-textarea {
+        resize: none;
+        height: 300px;
+    }
+</style>
+<body>
+<!-- 主要内容 -->
+<div class="main fadeIn animated">
+    <div class="header_title"><span>指挥转写</span></div>
+    <div class="main_content">
+        <table class="layui-hide" id="transcriptionTable" lay-filter="transcriptionTable"></table>
+
+        <script type="text/html" id="transcriptionTable_toolbar">
+            {{# if (sessionStorage.getItem("menuid-" + sessionStorage.MENU_ID + "-add")  == 'add') { }}
+            <div class="layui-btn-container">
+                <button class="layui-btn layui-btn-sm main_head_btn" lay-event="add"><span class="iconfont">&#xe607;</span>新增</button>
+            </div>
+            {{# } }}
+        </script>
+
+        <script type="text/html" id="transcriptionTable_bar">
+            {{# if (sessionStorage.getItem("menuid-" + sessionStorage.MENU_ID + "-update") == 'update') { }}
+            <a class="main_tab_btn" lay-event="edit" style="color: #64ADF9;"><span class="iconfont">&#xe637;</span>编辑</a>
+            {{# } }}
+            {{# if (sessionStorage.getItem("menuid-" + sessionStorage.MENU_ID + "-delete") == 'delete') { }}
+            <a class="main_tab_btn" lay-event="del" style="color: #FC7D8C;"><span class="iconfont">&#xe78d;</span>删除</a>
+            {{# } }}
+        </script>
+
+        <div class="search_box">
+            <div class="layui-input-inline">
+                <input type="text" name="queryValue" id="queryValue" autocomplete="off" class="layui-input" placeholder="请输会议名称查询"/>
+            </div>
+            <button type="button" class="layui-btn layui-btn-sm search_btn">搜 索</button>
+        </div>
+    </div>
+</div>
+
+<!-- 新增 -->
+<div class="add layui-hide fadeIn animated">
+    <div class="header_title"><span>新增</span></div>
+    <div class="main_content">
+        <form class="layui-form" action="" id="transcriptionInfo" lay-filter="transcriptionInfo">
+            <input type="hidden" class="layui-hide" id="recordId" name="recordId" readonly=""/>
+            <div class="layui-form-item">
+                <label class="layui-form-label"><span class="font-red">*</span>会议名称:</label>
+                <div class="layui-input-inline">
+                    <input type="text" name="content" id="content" maxlength="50" lay-verify="meetingName" autocomplete="off" placeholder="请输入会议名称" class="layui-input"/>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label"><span class="font-red">*</span>开始时间:</label>
+                <div class="layui-input-inline">
+                    <input type="text" name="type" id="type" maxlength="50" lay-verify="startTime" autocomplete="off" placeholder="请输开始时间" class="layui-input" readonly/>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label"><span class="font-red">*</span>会议内容:</label>
+                <div class="layui-input-inline">
+                    <textarea class="layui-textarea" id="answer" name="answer" lay-verify="meetingContent" placeholder="请上传会议音频进行转写" autocomplete="off" readonly></textarea>
+                </div>
+            </div>
+            <button type="submit" id="submit" class="layui-btn submit_btn" lay-submit="" lay-filter="submit" submitType="" style="margin-left: 50px;margin-top: 30px;">提交</button>
+            <button type="button" class="layui-btn layui-btn-primary back back_btn" style="margin-top: 30px;">返回</button>
+        </form>
+    </div>
+</div>
+
+<script src="layui/layui.js" type="text/javascript" charset="utf-8"></script>
+<script src="js/common.js" type="text/javascript" charset="utf-8"></script>
+<script src="js/constants.js" type="text/javascript" charset="utf-8"></script>
+<script src="js/js-util.js" type="text/javascript" charset="utf-8"></script>
+<script src="js/base64.js" type="text/javascript" charset="utf-8"></script>
+<script src="js/basic/commandTranscription.js" type="text/javascript" charset="utf-8"></script>
+
+</body>
+
+</html>

+ 1 - 0
spring-cloud/server-page/src/main/resources/static/page/js/basic/businessSystemManager.js

@@ -135,6 +135,7 @@ layui.config({
 			$('#officeId').val(data.office_id);
 			$('#orgType').val(data.org_type);
 			$('#gradeEval').val(data.grade_eval);
+			$('#url').val(data.url);
 			$('#evalTime').val(data.eval_time);
             layui.$('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', PAGE_BASIC + data.system_img);
             //单选按钮赋值

+ 254 - 0
spring-cloud/server-page/src/main/resources/static/page/js/basic/commandTranscription.js

@@ -0,0 +1,254 @@
+var form, table;
+layui.config({
+    base: 'js/encryption/'
+}).use(['layer', 'form', 'jquery', 'table', 'laydate', 'upload', 'ajax'], function () {
+    layer = layui.layer;
+    laydate = layui.laydate;
+    upload = layui.upload;
+    table = layui.table;
+    form = layui.form;
+    $ = layui.jquery;
+    ly = layui.ajax;
+
+    // 主要表格
+    table.render({
+        elem: '#transcriptionTable',
+        url: PAGE_BASIC + '/commandTranscription/getCommandTranscriptionListByPage',
+        toolbar: '#transcriptionTable_toolbar', //开启头部工具栏,并为其绑定左侧模板
+        page: true,
+        cols: [
+            [{
+                type: 'numbers',
+                title: '序号'
+            }, {
+                field: 'content',
+                title: '指挥内容',
+            }, {
+                field: 'answer',
+                title: '回复内容',
+            }, {
+                field: 'create_time',
+                title: '创建时间'
+            }, {
+                fixed: 'right',
+                title: '操作',
+                toolbar: '#transcriptionTable_bar',
+                width: 250
+            }]
+        ]
+    });
+
+    //头工具栏事件(主要表格)
+    table.on('toolbar(transcriptionTable)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch (obj.event) {
+            case 'add': //新增
+                $(".main").addClass("layui-hide").removeClass("layui-show");
+                $(".add").addClass("layui-show").removeClass("layui-hide");
+                $('#submit').attr('submitType', 'insert');
+                $(".add .header_title span").html("新增");
+                $('.planCode').addClass("layui-show").removeClass("layui-hide");
+                $('#transcriptionInfo')[0].reset();
+                break;
+        }
+    });
+
+    //监听行工具事件(主要表格)
+    table.on('tool(transcriptionTable)', function (obj) {
+        var data = obj.data;
+        //console.log(obj)
+        if (obj.event === 'del') {
+            layer.confirm('是否确认删除', function (index) {
+                deletePlan(data.id);
+                layer.close(index);
+            });
+        } else if (obj.event === 'edit') {
+            $(".main").addClass("layui-hide").removeClass("layui-show");
+            $(".add").addClass("layui-show").removeClass("layui-hide");
+            $(".add .header_title span").html("编辑");
+            $('#submit').attr('submitType', 'update');
+            $('#transcriptionInfo')[0].reset();
+            $('#commandContent').attr('readonly', false);
+            $('#uploadBtn').addClass('layui-hide');
+            // 数据初始化
+            initPlan(data.record_id);
+        }
+    });
+
+    // 监听提交按钮
+    form.on('submit(submit)', function (data) {
+        var submitType = data.elem.getAttribute("submitType");
+        // 新增
+        if (submitType == 'insert') {
+            addPlan();
+            return false;
+        } else if (submitType == 'update') {
+            updatePlan();
+            return false;
+        }
+    });
+
+    // 查询
+    $(".search_btn").click(function () {
+        var queryValue = $.trim($("#queryValue").val());
+        table.reload('transcriptionTable', {
+            where: {
+                "queryVal": queryValue
+            },
+            page: {
+                curr: 1 //重新从第 1 页开始
+            }
+        }); //只重载数据
+    });
+
+    //基础数据搜索回车事件
+    $('#queryValue').bind('keypress', function (event) {
+        if (event.keyCode == "13") {
+            var queryValue = $.trim($("#queryValue").val());
+            table.reload('transcriptionTable', {
+                where: {
+                    "queryVal": queryValue
+                },
+                page: {
+                    curr: 1 //重新从第 1 页开始
+                }
+            }); //只重载数据
+        }
+    });
+
+    // 返回
+    $(".back").click(function () {
+        $(".main").addClass("layui-show").removeClass("layui-hide");
+        $(".add").addClass("layui-hide").removeClass("layui-show");
+    })
+
+});
+
+/**
+ * 新增会议转写
+ */
+function addPlan() {
+    var postData = form.val('transcriptionInfo');
+    var index = layer.load(2);
+    ly.ajax({
+        type: 'POST',
+        url: PAGE_BASIC + '/commandTranscription/insertCommandTranscription',
+        dataType: 'json',
+        data: {
+            jsonStr:JSON.stringify(postData)
+        },
+        success: function (json) {
+            console.info(json)
+            if (json.result) {
+                layer.msg("新增成功");
+                $(".main").addClass("layui-show").removeClass("layui-hide");
+                $(".add").addClass("layui-hide").removeClass("layui-show");
+                reloadTable();
+            } else {
+                layer.msg("新增失败");
+            }
+            layer.close(index);
+        },
+        error: function (msg) {
+            layer.close(index);
+        }
+    });
+}
+
+/**
+ * 编辑会议转写
+ */
+function updatePlan() {
+    var postData = form.val('transcriptionInfo');
+    var index = layer.load(2);
+    ly.ajax({
+        type: 'POST',
+        url: PAGE_BASIC + '/commandTranscription/updateCommandTranscription',
+        dataType: 'json',
+        data: postData,
+        success: function (json) {
+            if (json.result) {
+                layer.msg("编辑成功");
+                $(".main").addClass("layui-show").removeClass("layui-hide");
+                $(".add").addClass("layui-hide").removeClass("layui-show");
+                reloadTable();
+            } else {
+                layer.msg("编辑失败");
+            }
+            layer.close(index);
+        },
+        error: function (msg) {
+            layer.close(index);
+        }
+    });
+}
+
+/**
+ * 回显会议转写详情
+ * @param recordId
+ */
+function initPlan(recordId) {
+    var index = layer.load(2);
+    ly.ajax({
+        type: 'GET',
+        url: PAGE_BASIC + '/commandTranscription/getCommandTranscriptionById',
+        dataType: 'json',
+        data: {
+            "recordId": recordId,
+        },
+        success: function (json) {
+            if (json.result) {
+                $('#recordId').empty().val(recordId);
+                $('#commandName').empty().val(json.data.command_name);
+                $('#startTime').empty().val(json.data.start_time);
+                $('#commandContent').val(json.data.command_content);
+                form.render();
+            } else {
+                layer.msg("数据获取失败");
+            }
+            layer.close(index);
+        },
+        error: function (msg) {
+            layer.close(index);
+        }
+    });
+}
+
+/**
+ * 删除会议转写
+ * @param recordId
+ */
+function deletePlan(recordId) {
+    var index = layer.load(2);
+    ly.ajax({
+        type: 'POST',
+        url: PAGE_BASIC + '/commandTranscription/deleteCommandTranscription',
+        dataType: 'json',
+        data: {
+            "recordId": recordId,
+        },
+        success: function (json) {
+            if (json.result) {
+                layer.msg("删除成功");
+                reloadTable();
+            } else {
+                layer.msg("删除失败");
+            }
+            layer.close(index);
+        },
+        error: function (msg) {
+            layer.close(index);
+        }
+    });
+}
+
+/**
+ * 重载数据表格
+ */
+function reloadTable() {
+    table.reload('transcriptionTable', {
+        page: {
+            curr: 1 //重新从第 1 页开始
+        }
+    }); //只重载数据
+}

+ 3 - 3
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test37/test37.html

@@ -21,7 +21,7 @@
             <ul class="rightInfo">
                 <li>
                     <img src="../images/networkSecurity/gwld.png" alt="">
-                    <span>已失资产数</span>
+                    <span>已失资产数</span>
                     <div>
                         <span class="num">0</span>
                         <i>个</i>
@@ -29,7 +29,7 @@
                 </li>
                 <li>
                     <img src="../images/networkSecurity/zwld.png" alt="">
-                    <span>已失资产数</span>
+                    <span>高风险资产数</span>
                     <div>
                         <span class="num">0</span>
                         <i>个</i>
@@ -37,7 +37,7 @@
                 </li>
                 <li>
                     <img src="../images/networkSecurity/zwld.png" alt="">
-                    <span>已失资产数</span>
+                    <span>低风险资产数</span>
                     <div>
                         <span class="num">0</span>
                         <i>个</i>

+ 17 - 83
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test37/test37.js

@@ -9,10 +9,6 @@ const test37 = (function() {
         move2('.test37 .containerTool')
 
 
-        let timer = null;
-
-
-
         $('.test37 .close').click(function() {
             $('.test37 .box').remove();
             $('.test37 .containerTool').css('display', 'none');
@@ -22,87 +18,25 @@ const test37 = (function() {
         })
 
         eventClick('.test37');
-        // setCharts(`.test37 .floor-dist`);
-
-        const dists = document.querySelectorAll('.test37 .floor-dist');
-        console.log(dists);
-        const testDoms = document.querySelectorAll('.test37 .box');
-        for (let i = 0; i < dists.length; i++) {
-            const dom = dists[i];
-            // setCharts(dom, testDoms[i]);
-        }
-        // let myChart = echarts.init(dists[0]);
 
-        window.addEventListener('resize', function() {
-            if (timer) {
-                clearTimeout(timer);
-                timer = null;
-            }
-            timer = setTimeout(() => {
-                // move('.test37 .box')
-                // myChart.resize();
-            }, 500);
-        })
+        // 风险系数
+        $.ajax({
+          url: FLAT_PATH_THREE + '/apiUrl/sendApiUrlAndParam',
+          type: 'GET',
+          data: {
+            urlCode: 'AQZX_019',
+            params: '{"startTime":"2022-05-05 00:00:00","endTime":"2022-05-11 20:21:42"}'
+          },
+          success: function (res) {
+            console.log('风险系数', JSON.parse(res.data));
+            const result = JSON.parse(res.data);
+            // $('test37 .box37 .content li div .sum').eq(0).html(result[0])
+          },
+          error: function (err) {
+            console.log("----风险系数--------超时");
+          },
+        });
     }
 
-    function setCharts(echartDom, testDom) {
-
-        // 1实例化对象
-        myChart = echarts.init(echartDom);
-        let option = {
-            tooltip: {},
-            series: [{
-                type: 'tree',
-                data: [data],
-                left: '2%',
-                right: '2%',
-                top: '8%',
-                bottom: '20%',
-
-                layout: 'orthogonal',
-                orient: 'LR',
-
-                symbol: 'emptyCircle',
-                symbolSize: 7,
-
-                roam: true,
-
-                expandAndCollapse: true,
-                initialTreeDepth: 2,
-
-                itemStyle: {
-                    color: 'green', //树枝的填充色
-                },
-                label: {
-                    position: 'left',
-                    fontSize: 14,
-                },
-                lineStyle: {
-                    color: 'pink',
-                    width: 1,
-                    curveness: 0.5
-                },
-                emphasis: {
-                    label: {
-                        fontSize: 20,
-                    },
-                    lineStyle: { //没起作用
-                        color: 'blue',
-                    },
-                },
-                leaves: { //没有展开的样式
-                    label: {
-                        position: 'right',
-                    }
-                }
-            }]
-        };
-        myChart.setOption(option);
-
-        if (!testDom) {
-            testDom = document.querySelectorAll('.test37 .box');
-        }
-        obsDom(testDom, myChart)
-    }
     return test37
 })();

+ 21 - 6
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test40/test40.js

@@ -30,11 +30,6 @@ const test40 = (function() {
           success: function (res) {
             console.log('攻击来源', JSON.parse(res.data));
             const result = JSON.parse(res.data);
-            const obj = {}
-            // result.data.forEach(item => {
-              
-            // });
-
             const classify = list => list.reduce((result, currentItem) => {
               (result[`${currentItem.attackSource}`] || (result[`${currentItem.attackSource}`] = [])).push(currentItem)
               return result
@@ -42,7 +37,27 @@ const test40 = (function() {
 
           const newRes = classify(result.data)
           console.log(newRes);
-
+          const arr = []
+          for (const key in newRes) {
+            arr.push({
+                attress:key.split(',')[0],
+                attackIp:key.split(',')[1],
+                count:newRes[key].length
+            })
+          }
+          arr.sort((a,b)=> b.count - a.count)
+          let html = '';
+          arr.forEach((item,index) => {
+            html += `
+              <tr>
+                <td>${index+1}</td>
+                <td>${item.attress}</td>
+                <td>${item.attackIp}</td>
+                <td>${item.count}</td>
+              </tr>
+            `
+          })
+          $('.test40 .box40 tbody').html(html);
           },
           error: function (err) {
             console.log("----攻击来源--------超时");

+ 49 - 18
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test42/test42.js

@@ -25,29 +25,48 @@ const test42 = (function() {
         eventClick('.test42');
         // setCharts(`.test42 .floor-dist`);
 
-        const dists = document.querySelectorAll('.test42 .floor-dist');
-        const testDoms = document.querySelectorAll('.test42 .box');
-        for (let i = 0; i < dists.length; i++) {
-            const dom = dists[i];
-            setCharts(dom, testDoms[i]);
-        }
+        const dom = document.querySelector('.test42 .floor-dist');
+        const testDom = document.querySelector('.test42 .box');
 
-        let myChart = echarts.init(dists[0]);
 
-        window.addEventListener('resize', function() {
-            if (timer) {
-                clearTimeout(timer);
-                timer = null;
-            }
-            timer = setTimeout(() => {
-                move3('.test42 .test-box')
+        // 态势地图
+        $.ajax({
+          url: FLAT_PATH_THREE + '/apiUrl/sendApiUrlAndParam',
+          type: 'GET',
+          data: {
+            urlCode: 'AQZX_018',
+            params: '{"beginTime":"2022-05-05 00:00:00","endTime":"2022-05-11 20:08:46"}'
+          },
+          success: function (res) {
+            console.log('态势地图', JSON.parse(res.data));
+            const result = JSON.parse(res.data);
+            const geo = result.payload.geo;
+            const chinaDatas = []
+            result.payload.world.thermodynamic.forEach(item => {
+              chinaDatas.push({
+                name: item.name,
+                value: item.value,
+                price: 100,
+                num: 2,
+              })
+            })
+            setCharts(dom, testDom,geo,chinaDatas);
+          },
+          error: function (err) {
+            console.log("----态势地图--------超时");
+          },
+        });
 
-                myChart.resize();
-            }, 500);
-        })
+
+        
+
+
+
+       
     }
 
-    function setCharts(echartDom, testDom) {
+    function setCharts(echartDom, testDom,chinaGeoCoordMap1,chinaDatas1) {
+      let timer = null;
         var myChart = echarts.init(echartDom);
         // 地图背景颜色
         const mapBgColor = '#000000';
@@ -144,6 +163,8 @@ const test42 = (function() {
             英国: [0.1, 51.3],
             俄罗斯: [37, 55],
         };
+        console.log(chinaGeoCoordMap);
+
         var chinaDatas = [
             [{
                 name: '英国',
@@ -331,7 +352,17 @@ const test42 = (function() {
         if (option) {
             myChart.setOption(option);
         }
+        window.addEventListener('resize', function() {
+          if (timer) {
+              clearTimeout(timer);
+              timer = null;
+          }
+          timer = setTimeout(() => {
+              move3('.test42 .test-box')
 
+              myChart.resize();
+          }, 500);
+      })
         if (!testDom) {
             testDom = document.querySelectorAll('.test42 .box');
         }

+ 22 - 0
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test43/test43.css

@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 .box43 .content {
   margin: 0;
 }
@@ -25,3 +26,24 @@
   font-family: "LESLIE";
   src: url("../../font/LESLIE.TTF");
 }
+=======
+.box43 .content {
+  margin: 0;
+}
+.box43 ul {
+  display: flex;
+  margin-top: 0.3rem;
+}
+.box43 ul li {
+  color: #fff;
+  flex: 1;
+  text-align: center;
+  position: relative;
+}
+.box43 ul li img {
+  width: 52%;
+}
+.box43 ul li .desc {
+  position: relative;
+}
+>>>>>>> a04b695c18c613b06551a317ba5c584a587358c0

+ 1 - 0
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test44/test44.css

@@ -23,6 +23,7 @@
   width: 100%;
   height: 25%;
   /* background-image: linear-gradient(45deg, #155ed5, transparent); */
+}
   background: url("../../css/modules/layer/default/组245.png");
   background-size: 100% 100%;
 }

+ 23 - 56
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test44/test44.html

@@ -13,10 +13,10 @@
       <!-- 应急保障组成员信息 -->
       <div class="left">
         <div class="item" style="text-align: center">
-          <div style="width: 32%; height: 74%;" class="item-img1">
+          <div style="width: 30%; height: 100%">
             <img
               style="width: 100%; height: 100%"
-              src="../images/bgImg/组244.png"
+              src="../images/networkSecurity/zfx.png"
               alt=""
             />
           </div>
@@ -24,27 +24,27 @@
           <div class="server_prec" style="width: 33%">97%</div>
         </div>
         <div class="item" style="text-align: center">
-          <div style="width: 32%; height: 74%;">
-            <img
-              style="width: 100%; height: 100%"
-              src="../images/bgImg/组244.png"
-              alt=""
-            />
+            <div style="width: 30%; height: 100%">
+              <img
+                style="width: 100%; height: 100%"
+                src="../images/networkSecurity/zfx.png"
+                alt=""
+              />
+            </div>
+            <div class="text" style="width: 33%">服务器</div>
+            <div class="app_server_prec" style="width: 33%">97%</div>
           </div>
-          <div class="text" style="width: 33%">服务器</div>
-          <div class="app_server_prec" style="width: 33%">97%</div>
-        </div>
-        <div class="item" style="text-align: center">
-          <div style="width: 32%; height: 74%;">
-            <img
-              style="width: 100%; height: 100%"
-              src="../images/bgImg/组247.png"
-              alt=""
-            />
+          <div class="item" style="text-align: center">
+            <div style="width: 30%; height: 100%">
+              <img
+                style="width: 100%; height: 100%"
+                src="../images/networkSecurity/zfx.png"
+                alt=""
+              />
+            </div>
+            <div class="text" style="width: 33%">服务器</div>
+            <div class="other_prec" style="width: 33%">97%</div>
           </div>
-          <div class="text" style="width: 33%">服务器</div>
-          <div class="other_prec" style="width: 33%">97%</div>
-        </div>
         <!-- <div class="item">
           <img src="../images/networkSecurity/zfx.png" alt="" />
           <span class="text">应用服务器</span>
@@ -63,40 +63,7 @@
         </div>
       </div>
       <div class="right">
-        <div class="item" style="text-align: center">
-          <div style="width: 32%; height: 74%;">
-            <img
-              style="width: 100%; height: 100%"
-              src="../images/bgImg/组248.png"
-              alt=""
-            />
-          </div>
-          <div class="text" style="width: 33%">服务器</div>
-          <div class="network_prec" style="width: 33%">97%</div>
-        </div>
-        <div class="item" style="text-align: center">
-          <div style="width: 32%; height: 74%;">
-            <img
-              style="width: 100%; height: 100%"
-              src="../images/bgImg/组249.png"
-              alt=""
-            />
-          </div>
-          <div class="text" style="width: 33%">服务器</div>
-          <div class="app_system_prec" style="width: 33%">97%</div>
-        </div>
-        <div class="item" style="text-align: center">
-          <div style="width: 32%; height: 74%;">
-            <img
-              style="width: 100%; height: 100%"
-              src="../images/bgImg/组250.png"
-              alt=""
-            />
-          </div>
-          <div class="text" style="width: 33%">服务器</div>
-          <div class="database_prec" style="width: 33%">97%</div>
-        </div>
-        <!-- <div class="item">
+        <div class="item">
           <img src="../images/networkSecurity/zfx.png" alt="" />
           <span class="text">网络设备</span>
           <span class="network_prec">95%</span>
@@ -110,7 +77,7 @@
           <img src="../images/networkSecurity/zfx.png" alt="" />
           <span class="text">数据库</span>
           <span class="database_prec">9%</span>
-        </div> -->
+        </div>
       </div>
     </div>
   </div>

+ 78 - 76
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test45/test45.css

@@ -1,76 +1,78 @@
-.box45 .test-box {
-  overflow: hidden;
-}
-.box45 .content {
-  margin: 0;
-}
-.box45 .left,
-.box45 .right {
-  width: 50%;
-  height: 100%;
-  display: flex;
-  align-items: center;
-  flex: 1;
-  background: none;
-  position: relative;
-}
-.box45 .left span,
-.box45 .right span {
-  font-size: 15px;
-  color: #fff;
-  font-weight: bold;
-}
-.box45 .left .info,
-.box45 .right .info {
-  display: flex;
-  flex-direction: column;
-}
-.box45 .left .num,
-.box45 .right .num {
-  left: 52%;
-  top: 72%;
-}
-.box45 .left .txt,
-.box45 .right .txt {
-  font-size: 18px;
-  color: antiquewhite;
-}
-.box45 .left img,
-.box45 .right img {
-  width: 45%;
-}
-.box45 .dataCount_box {
-  display: flex;
-}
-.box45 table {
-  width: 100%;
-  text-align: center;
-  line-height: 30px;
-  font-size: 14px;
-}
-.box45 #stuTable thead {
-  color: #eee;
-  background-color: #205dcf83;
-}
-.box45 #stuTable tbody {
-  color: #fff;
-  background-color: #205dcf46;
-}
-.box45 #stuTable .editBtn {
-  background-color: #5cb85c;
-}
-.box45 #stuTable .delBtn {
-  background-color: #d9534f;
-}
-.box45 .serious {
-  width: 50%;
-  height: 160px;
-  font-size: 0.13rem !important;
-  /* background-color: #d9534f; */
-  background: #d9534f;
-  margin: auto;
-  line-height: 160px;
-}
-.box45 .commonly {
-  background-color: #66650c;
-}
+.box45 .test-box {
+  overflow: hidden;
+}
+.box45 .content {
+  margin: 0;
+
+
+}
+.box45 .left,
+.box45 .right {
+  width: 50%;
+  height: 100%;
+  display: flex;
+  align-items: center;
+  flex: 1;
+  background: none;
+  position: relative;
+}
+.box45 .left span,
+.box45 .right span {
+  font-size: 15px;
+  color: #fff;
+  font-weight: bold;
+}
+.box45 .left .info,
+.box45 .right .info {
+  display: flex;
+  flex-direction: column;
+}
+.box45 .left .num,
+.box45 .right .num {
+  left: 52%;
+  top: 72%;
+}
+.box45 .left .txt,
+.box45 .right .txt {
+  font-size: 18px;
+  color: antiquewhite;
+}
+.box45 .left img,
+.box45 .right img {
+  width: 45%;
+}
+.box45 .dataCount_box {
+  display: flex;
+}
+.box45 table {
+  width: 100%;
+  text-align: center;
+  line-height: 30px;
+  font-size: 14px;
+}
+.box45 #stuTable thead {
+  color: #eee;
+  background-color: #205dcf83;
+}
+.box45 #stuTable tbody {
+  color: #fff;
+  background-color: #205dcf46;
+}
+.box45 #stuTable .editBtn {
+  background-color: #5cb85c;
+}
+.box45 #stuTable .delBtn {
+  background-color: #d9534f;
+}
+.box45 .serious {
+  width: 50%;
+  height: 160px;
+  font-size: 0.13rem !important;
+  /* background-color: #d9534f; */
+  background: #d9534f;
+  margin: auto;
+  line-height: 160px;
+}
+.box45 .commonly {
+  background-color: #66650c;
+}

+ 107 - 0
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test46/test46.css

@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 .box46 .container {
   margin: 50px auto;
   width: 60%;
@@ -101,3 +102,109 @@
 .box46 .floor-dist {
   width: 100%;
 }
+=======
+.box46 .container {
+  margin: 50px auto;
+  width: 60%;
+  margin-left: 1.8rem;
+}
+.box46 .container > div {
+  margin-top: 8%;
+  /* margin-bottom: 5%; */
+}
+.box46 .progress {
+  height: 0.09rem;
+  background: #ebebeb;
+  border-left: 1px solid transparent;
+  border-right: 1px solid transparent;
+  border-radius: 1rem;
+  position: relative;
+}
+.box46 .progress .proDesc {
+  position: absolute;
+  top: -70% !important;
+  left: -43%;
+  color: #fff;
+}
+.box46 .progress > span {
+  position: relative;
+  float: left;
+  margin: 0 -1px;
+  min-width: 30px;
+  height: 0.09rem;
+  line-height: 0.2rem;
+  text-align: right;
+  background: #cccccc;
+  border: 1px solid;
+  border-color: #bfbfbf #b3b3b3 #9e9e9e;
+  border-radius: 1rem;
+  background-image: -webkit-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: -moz-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: -o-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: linear-gradient(to bottom, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
+  box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+.box46 .progress > span span {
+  padding: 0 8px;
+  font-weight: bold;
+  color: #404040;
+  color: rgba(0, 0, 0, 0.7);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.4);
+}
+.box46 .progress > span::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1;
+  height: 0.2rem;
+  background: url(../../images/progress.png) 0 0 repeat-x;
+  border-radius: 1rem;
+}
+.box46 .progress .txt {
+  position: absolute;
+  right: -15%;
+  background: none;
+  border: none;
+  color: #fff;
+}
+.box46 .progress .green {
+  background: #85c440;
+  border-color: #78b337 #6ba031 #568128;
+  background-image: -webkit-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: -moz-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: -o-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: linear-gradient(to bottom, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+}
+.box46 .progress .orange {
+  background: #f2b63c;
+  border-color: #f0ad24 #eba310 #c5880d;
+  background-image: -webkit-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: -moz-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: -o-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: linear-gradient(to bottom, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+}
+.box46 .progress .red {
+  background: #db3a27;
+  border-color: #c73321 #b12d1e #8e2418;
+  background-image: -webkit-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: -moz-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: -o-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: linear-gradient(to bottom, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+}
+.box46 .progress .blue {
+  background: #5aaadb;
+  border-color: #459fd6 #3094d2 #277db2;
+  background-image: -webkit-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: -moz-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: -o-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: linear-gradient(to bottom, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+}
+.box46 .floor-dist {
+  width: 100%;
+}
+}
+>>>>>>> a04b695c18c613b06551a317ba5c584a587358c0

+ 69 - 69
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test46/test46.html

@@ -1,69 +1,69 @@
-<div class="box46 box" data-name="test46">
-    <div class="toolBox">
-      <span class="fit"></span>
-      <span class="close"></span>
-    </div>
-    <div class="tool">
-      <div class="title bgTitle">
-        <h2>攻击类型</h2>
-      </div>
-    </div>
-    <div class="test-box">
-      <div class="content">
-        <!-- 攻击类型 -->
-        <div class="container" style="margin-top: -4%">
-          <div class="progress">
-            <div class="proDesc">OA中间主服务器</div>
-            <span id="OA" style="width: 20%"></span>
-            <span class="txt">20%</span>
-          </div>
-  
-          <div class="progress">
-            <div class="proDesc">核心交换机1060</div>
-            <span id="core" class="green" style="width: 40%"></span>
-            <span class="txt">40%</span>
-          </div>
-  
-          <div class="progress">
-            <div class="proDesc">杀毒服务器</div>
-            <span id="Anti-Virus" class="orange" style="width: 60%"></span>
-            <span class="txt">50%</span>
-          </div>
-  
-          <div class="progress">
-            <div class="proDesc">电子盖章服务器</div>
-            <span id="Electronic-seal" class="red" style="width: 80%"></span>
-            <span class="txt">80%</span>
-          </div>
-  
-          <div class="progress">
-            <div class="proDesc">office</div>
-            <span id="office" class="blue" style="width: 100%"></span>
-            <span class="txt">30%</span>
-          </div>
-        </div>
-      </div>
-    </div>
-    <div class="panel-footer"></div>
-  </div>
-  
-  <!-- 工具弹框 -->
-  <div class="tools" style="display: none">
-    <div class="containerTool test46Toll">
-      <ul>
-        <li>
-          <span>宽度:</span>
-          <input class="setWidth" type="text" />
-          <span id="validateAge" class="regValidate"></span>
-        </li>
-        <li>
-          <span>高度:</span>
-          <input class="setHeight" type="text" />
-        </li>
-      </ul>
-      <!-- 确定 -->
-      <button class="fixBtn toolBtn">确定</button>
-      <button class="offBtn toolBtn">取消</button>
-    </div>
-  </div>
-  
+<div class="box46 box" data-name="test46">
+    <div class="toolBox">
+      <span class="fit"></span>
+      <span class="close"></span>
+    </div>
+    <div class="tool">
+      <div class="title bgTitle">
+        <h2>攻击类型</h2>
+      </div>
+    </div>
+    <div class="test-box">
+      <div class="content">
+        <!-- 攻击类型 -->
+        <div class="container" style="margin-top: -4%">
+          <div class="progress">
+            <div class="proDesc">OA中间主服务器</div>
+            <span id="OA" style="width: 20%"></span>
+            <span class="txt">20%</span>
+          </div>
+  
+          <div class="progress">
+            <div class="proDesc">核心交换机1060</div>
+            <span id="core" class="green" style="width: 40%"></span>
+            <span class="txt">40%</span>
+          </div>
+  
+          <div class="progress">
+            <div class="proDesc">杀毒服务器</div>
+            <span id="Anti-Virus" class="orange" style="width: 60%"></span>
+            <span class="txt">50%</span>
+          </div>
+  
+          <div class="progress">
+            <div class="proDesc">电子盖章服务器</div>
+            <span id="Electronic-seal" class="red" style="width: 80%"></span>
+            <span class="txt">80%</span>
+          </div>
+  
+          <div class="progress">
+            <div class="proDesc">office</div>
+            <span id="office" class="blue" style="width: 100%"></span>
+            <span class="txt">30%</span>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="panel-footer"></div>
+  </div>
+  
+  <!-- 工具弹框 -->
+  <div class="tools" style="display: none">
+    <div class="containerTool test46Toll">
+      <ul>
+        <li>
+          <span>宽度:</span>
+          <input class="setWidth" type="text" />
+          <span id="validateAge" class="regValidate"></span>
+        </li>
+        <li>
+          <span>高度:</span>
+          <input class="setHeight" type="text" />
+        </li>
+      </ul>
+      <!-- 确定 -->
+      <button class="fixBtn toolBtn">确定</button>
+      <button class="offBtn toolBtn">取消</button>
+    </div>
+  </div>
+  

+ 115 - 113
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test46/test46.js

@@ -1,113 +1,115 @@
-const test46 = (function () {
-  function test46(id, domTitle) {
-    if (domTitle) {
-      $(".test46 .title h2").text(domTitle);
-    }
-    $(".test46 .box").css("z-index", ++zIndex);
-    $(".test46 .box").attr("data-id", id);
-    move3(".test46 .test-box");
-    move2(".test46 .containerTool");
-
-    $(".test46 .close").click(function () {
-      $(".test46 .box").remove();
-      $(".test46 .containerTool").css("display", "none");
-      $(".test46 .setWidth").val("");
-      $(".test46 .setHeight").val("");
-      moduleIdRemove.push(id);
-    });
-
-    eventClick(".test46");
-    function sucTimer() {
-      var num = 0;
-      var num1 = 0;
-
-      var num2 = 0;
-
-      var num3 = 0;
-
-      var num4 = 0;
-
-      var timer = setInterval(function () {
-        $("#OA").css("width", num + "%");
-        if (num == 20) {
-          clearInterval(timer);
-        } else {
-          num += 5;
-        }
-      }, 30);
-      var timer1 = setInterval(function () {
-        $("#core").css("width", num1 + "%");
-        if (num1 == 40) {
-          clearInterval(timer1);
-        } else {
-          num1 += 5;
-        }
-      }, 30);
-      var timer2 = setInterval(function () {
-        $("#Anti-Virus").css("width", num2 + "%");
-        if (num2 == 60) {
-          clearInterval(timer2);
-        } else {
-          num2 += 5;
-        }
-      }, 30);
-      var timer3 = setInterval(function () {
-        $("#Electronic-seal").css("width", num3 + "%");
-        if (num3 == 80) {
-          clearInterval(timer3);
-        } else {
-          num3 += 5;
-        }
-      }, 30);
-      var timer4 = setInterval(function () {
-        $("#office").css("width", num4 + "%");
-        if (num4 == 100) {
-          clearInterval(timer4);
-        } else {
-          num4 += 5;
-        }
-      }, 30);
-    }
-    sucTimer();
-  }
-
-  function myAjax() {
-    $.ajax({
-      url: baseURL + "/selectMgtServerTop5",
-      data: {
-        orgIds: "323598b4196341b6a73969cfe7162209",
-      },
-      type: "GET",
-      dataType: "JSON",
-      success: function (data) {
-        const { data: res } = data;
-        if (data.code != 0) {
-          return alert("请求数据失败");
-        }
-        // topData = eval('(' + data.data + ')');
-        setCPU(res.cpu);
-      },
-      timeout: 6000,
-      error: function () {
-        console.log("超时了");
-      },
-    });
-
-    function setCPU(res) {
-      let str = "";
-      for (let i = 0; i < res.length; i++) {
-        const prog = res[i];
-        str += `
-          <div class="progress">
-            <div class="proDesc">${prog.RESNAME}</div>
-            <span class="green" style="width: 19%;"></span>
-            <span class="txt">40%</span>
-          </div>`;
-      }
-
-      $(".container").html(str);
-    }
-  }
-
-  return test46;
-})();
+const test46 = (function () {
+  function test46(id, domTitle) {
+    if (domTitle) {
+      $(".test46 .title h2").text(domTitle);
+    }
+    $(".test46 .box").css("z-index", ++zIndex);
+    $(".test46 .box").attr("data-id", id);
+    move3(".test46 .test-box");
+    move2(".test46 .containerTool");
+
+    $(".test46 .close").click(function () {
+      $(".test46 .box").remove();
+      $(".test46 .containerTool").css("display", "none");
+      $(".test46 .setWidth").val("");
+      $(".test46 .setHeight").val("");
+      moduleIdRemove.push(id);
+    });
+
+    eventClick(".test46");
+    function sucTimer() {
+      var num = 0;
+      var num1 = 0;
+
+      var num2 = 0;
+
+      var num3 = 0;
+
+      var num4 = 0;
+
+      var timer = setInterval(function () {
+        $("#OA").css("width", num + "%");
+        if (num == 20) {
+          clearInterval(timer);
+        } else {
+          num += 5;
+        }
+      }, 30);
+      var timer1 = setInterval(function () {
+        $("#core").css("width", num1 + "%");
+        if (num1 == 40) {
+          clearInterval(timer1);
+        } else {
+          num1 += 5;
+        }
+      }, 30);
+      var timer2 = setInterval(function () {
+        $("#Anti-Virus").css("width", num2 + "%");
+        if (num2 == 60) {
+          clearInterval(timer2);
+        } else {
+          num2 += 5;
+        }
+      }, 30);
+      var timer3 = setInterval(function () {
+        $("#Electronic-seal").css("width", num3 + "%");
+        if (num3 == 80) {
+          clearInterval(timer3);
+        } else {
+          num3 += 5;
+        }
+      }, 30);
+      var timer4 = setInterval(function () {
+        $("#office").css("width", num4 + "%");
+        if (num4 == 100) {
+          clearInterval(timer4);
+        } else {
+          num4 += 5;
+        }
+      }, 30);
+    }
+    sucTimer();
+  }
+
+  function myAjax() {
+    $.ajax({
+      url: baseURL + "/selectMgtServerTop5",
+      data: {
+        orgIds: "323598b4196341b6a73969cfe7162209",
+      },
+      type: "GET",
+      dataType: "JSON",
+      success: function (data) {
+        const { data: res } = data;
+        if (data.code != 0) {
+          return alert("请求数据失败");
+        }
+        // topData = eval('(' + data.data + ')');
+        setCPU(res.cpu);
+      },
+      timeout: 6000,
+      error: function () {
+        console.log("超时了");
+      },
+    });
+
+    function setCPU(res) {
+      let str = "";
+      for (let i = 0; i < res.length; i++) {
+        const prog = res[i];
+        str += `
+})();
+})();
+          <div class="progress">
+            <div class="proDesc">${prog.RESNAME}</div>
+            <span class="green" style="width: 19%;"></span>
+            <span class="txt">40%</span>
+          </div>`;
+      }
+
+      $(".container").html(str);
+    }
+  }
+
+  return test46;
+})();

+ 106 - 0
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test47/test47.css

@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 .box47 .container {
   margin: 50px auto;
   width: 60%;
@@ -101,3 +102,108 @@
 .box47 .floor-dist {
   width: 100%;
 }
+=======
+.box47 .container {
+  margin: 50px auto;
+  width: 60%;
+  margin-left: 1.8rem;
+}
+.box47 .container > div {
+  margin-top: 8%;
+  /* margin-bottom: 5%; */
+}
+.box47 .progress {
+  height: 0.09rem;
+  background: #ebebeb;
+  border-left: 1px solid transparent;
+  border-right: 1px solid transparent;
+  border-radius: 1rem;
+  position: relative;
+}
+.box47 .progress .proDesc {
+  position: absolute;
+  top: -70% !important;
+  left: -43%;
+  color: #fff;
+}
+.box47 .progress > span {
+  position: relative;
+  float: left;
+  margin: 0 -1px;
+  min-width: 30px;
+  height: 0.09rem;
+  line-height: 0.2rem;
+  text-align: right;
+  background: #cccccc;
+  border: 1px solid;
+  border-color: #bfbfbf #b3b3b3 #9e9e9e;
+  border-radius: 1rem;
+  background-image: -webkit-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: -moz-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: -o-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: linear-gradient(to bottom, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
+  box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+.box47 .progress > span span {
+  padding: 0 8px;
+  font-weight: bold;
+  color: #404040;
+  color: rgba(0, 0, 0, 0.7);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.4);
+}
+.box47 .progress > span::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1;
+  height: 0.2rem;
+  background: url(../../images/progress.png) 0 0 repeat-x;
+  border-radius: 1rem;
+}
+.box47 .progress .txt {
+  position: absolute;
+  right: -15%;
+  background: none;
+  border: none;
+  color: #fff;
+}
+.box47 .progress .green {
+  background: #85c440;
+  border-color: #78b337 #6ba031 #568128;
+  background-image: -webkit-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: -moz-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: -o-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: linear-gradient(to bottom, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+}
+.box47 .progress .orange {
+  background: #f2b63c;
+  border-color: #f0ad24 #eba310 #c5880d;
+  background-image: -webkit-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: -moz-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: -o-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: linear-gradient(to bottom, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+}
+.box47 .progress .red {
+  background: #db3a27;
+  border-color: #c73321 #b12d1e #8e2418;
+  background-image: -webkit-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: -moz-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: -o-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: linear-gradient(to bottom, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+}
+.box47 .progress .blue {
+  background: #5aaadb;
+  border-color: #459fd6 #3094d2 #277db2;
+  background-image: -webkit-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: -moz-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: -o-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: linear-gradient(to bottom, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+}
+.box47 .floor-dist {
+  width: 100%;
+}
+>>>>>>> a04b695c18c613b06551a317ba5c584a587358c0

+ 68 - 68
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test47/test47.html

@@ -1,68 +1,68 @@
-<div class="box47 box" data-name="test47">
-  <div class="toolBox">
-    <span class="fit"></span>
-    <span class="close"></span>
-  </div>
-  <div class="tool">
-    <div class="title bgTitle">
-      <h2>攻击类型</h2>
-    </div>
-  </div>
-  <div class="test-box">
-    <div class="content">
-      <!-- 攻击类型 -->
-      <div class="container" style="margin-top: -4%">
-        <div class="progress">
-          <div class="proDesc">OA中间主服务器</div>
-          <span id="OA1" style="width: 20%"></span>
-          <span class="txt">20%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">核心交换机1060</div>
-          <span id="core1" class="green" style="width: 40%"></span>
-          <span class="txt">40%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">杀毒服务器</div>
-          <span id="Anti-Virus1" class="orange" style="width: 60%"></span>
-          <span class="txt">50%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">电子盖章服务器</div>
-          <span id="Electronic-seal1" class="red" style="width: 80%"></span>
-          <span class="txt">80%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">office</div>
-          <span id="office1" class="blue" style="width: 100%"></span>
-          <span class="txt">30%</span>
-        </div>
-      </div>
-    </div>
-  </div>
-  <div class="panel-footer"></div>
-</div>
-
-<!-- 工具弹框 -->
-<div class="tools" style="display: none">
-  <div class="containerTool test47Toll">
-    <ul>
-      <li>
-        <span>宽度:</span>
-        <input class="setWidth" type="text" />
-        <span id="validateAge" class="regValidate"></span>
-      </li>
-      <li>
-        <span>高度:</span>
-        <input class="setHeight" type="text" />
-      </li>
-    </ul>
-    <!-- 确定 -->
-    <button class="fixBtn toolBtn">确定</button>
-    <button class="offBtn toolBtn">取消</button>
-  </div>
-</div>
+<div class="box47 box" data-name="test47">
+  <div class="toolBox">
+    <span class="fit"></span>
+    <span class="close"></span>
+  </div>
+  <div class="tool">
+    <div class="title bgTitle">
+      <h2>攻击类型</h2>
+    </div>
+  </div>
+  <div class="test-box">
+    <div class="content">
+      <!-- 攻击类型 -->
+      <div class="container" style="margin-top: -4%">
+        <div class="progress">
+          <div class="proDesc">OA中间主服务器</div>
+          <span id="OA1" style="width: 20%"></span>
+          <span class="txt">20%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">核心交换机1060</div>
+          <span id="core1" class="green" style="width: 40%"></span>
+          <span class="txt">40%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">杀毒服务器</div>
+          <span id="Anti-Virus1" class="orange" style="width: 60%"></span>
+          <span class="txt">50%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">电子盖章服务器</div>
+          <span id="Electronic-seal1" class="red" style="width: 80%"></span>
+          <span class="txt">80%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">office</div>
+          <span id="office1" class="blue" style="width: 100%"></span>
+          <span class="txt">30%</span>
+        </div>
+      </div>
+    </div>
+  </div>
+  <div class="panel-footer"></div>
+</div>
+
+<!-- 工具弹框 -->
+<div class="tools" style="display: none">
+  <div class="containerTool test47Toll">
+    <ul>
+      <li>
+        <span>宽度:</span>
+        <input class="setWidth" type="text" />
+        <span id="validateAge" class="regValidate"></span>
+      </li>
+      <li>
+        <span>高度:</span>
+        <input class="setHeight" type="text" />
+      </li>
+    </ul>
+    <!-- 确定 -->
+    <button class="fixBtn toolBtn">确定</button>
+    <button class="offBtn toolBtn">取消</button>
+  </div>
+</div>

+ 115 - 113
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test47/test47.js

@@ -1,113 +1,115 @@
-const test47 = (function () {
-  function test47(id, domTitle) {
-    if (domTitle) {
-      $(".test47 .title h2").text(domTitle);
-    }
-    $(".test47 .box").css("z-index", ++zIndex);
-    $(".test47 .box").attr("data-id", id);
-    move3(".test47 .test-box");
-    move2(".test47 .containerTool");
-
-    $(".test47 .close").click(function () {
-      $(".test47 .box").remove();
-      $(".test47 .containerTool").css("display", "none");
-      $(".test47 .setWidth").val("");
-      $(".test47 .setHeight").val("");
-      moduleIdRemove.push(id);
-    });
-
-    eventClick(".test47");
-    function sucTimer() {
-      var num = 0;
-      var num1 = 0;
-
-      var num2 = 0;
-
-      var num3 = 0;
-
-      var num4 = 0;
-
-      var timer = setInterval(function () {
-        $("#OA1").css("width", num + "%");
-        if (num == 20) {
-          clearInterval(timer);
-        } else {
-          num += 5;
-        }
-      }, 30);
-      var timer1 = setInterval(function () {
-        $("#core1").css("width", num1 + "%");
-        if (num1 == 40) {
-          clearInterval(timer1);
-        } else {
-          num1 += 5;
-        }
-      }, 30);
-      var timer2 = setInterval(function () {
-        $("#Anti-Virus1").css("width", num2 + "%");
-        if (num2 == 60) {
-          clearInterval(timer2);
-        } else {
-          num2 += 5;
-        }
-      }, 30);
-      var timer3 = setInterval(function () {
-        $("#Electronic-seal1").css("width", num3 + "%");
-        if (num3 == 80) {
-          clearInterval(timer3);
-        } else {
-          num3 += 5;
-        }
-      }, 30);
-      var timer4 = setInterval(function () {
-        $("#office1").css("width", num4 + "%");
-        if (num4 == 100) {
-          clearInterval(timer4);
-        } else {
-          num4 += 5;
-        }
-      }, 30);
-    }
-    sucTimer();
-  }
-
-  function myAjax() {
-    $.ajax({
-      url: baseURL + "/selectMgtServerTop5",
-      data: {
-        orgIds: "323598b4196341b6a73969cfe7162209",
-      },
-      type: "GET",
-      dataType: "JSON",
-      success: function (data) {
-        const { data: res } = data;
-        if (data.code != 0) {
-          return alert("请求数据失败");
-        }
-        // topData = eval('(' + data.data + ')');
-        setCPU(res.cpu);
-      },
-      timeout: 6000,
-      error: function () {
-        console.log("超时了");
-      },
-    });
-
-    function setCPU(res) {
-      let str = "";
-      for (let i = 0; i < res.length; i++) {
-        const prog = res[i];
-        str += `
-        <div class="progress">
-          <div class="proDesc">${prog.RESNAME}</div>
-          <span class="green" style="width: 19%;"></span>
-          <span class="txt">40%</span>
-        </div>`;
-      }
-
-      $(".container").html(str);
-    }
-  }
-
-  return test47;
-})();
+const test47 = (function () {
+  function test47(id, domTitle) {
+    if (domTitle) {
+      $(".test47 .title h2").text(domTitle);
+    }
+    $(".test47 .box").css("z-index", ++zIndex);
+    $(".test47 .box").attr("data-id", id);
+    move3(".test47 .test-box");
+    move2(".test47 .containerTool");
+
+    $(".test47 .close").click(function () {
+      $(".test47 .box").remove();
+      $(".test47 .containerTool").css("display", "none");
+      $(".test47 .setWidth").val("");
+      $(".test47 .setHeight").val("");
+      moduleIdRemove.push(id);
+    });
+
+    eventClick(".test47");
+    function sucTimer() {
+      var num = 0;
+      var num1 = 0;
+
+      var num2 = 0;
+
+      var num3 = 0;
+
+      var num4 = 0;
+
+      var timer = setInterval(function () {
+        $("#OA1").css("width", num + "%");
+        if (num == 20) {
+          clearInterval(timer);
+        } else {
+          num += 5;
+        }
+      }, 30);
+      var timer1 = setInterval(function () {
+        $("#core1").css("width", num1 + "%");
+        if (num1 == 40) {
+          clearInterval(timer1);
+        } else {
+          num1 += 5;
+        }
+      }, 30);
+      var timer2 = setInterval(function () {
+        $("#Anti-Virus1").css("width", num2 + "%");
+        if (num2 == 60) {
+          clearInterval(timer2);
+        } else {
+          num2 += 5;
+        }
+      }, 30);
+      var timer3 = setInterval(function () {
+        $("#Electronic-seal1").css("width", num3 + "%");
+        if (num3 == 80) {
+          clearInterval(timer3);
+        } else {
+          num3 += 5;
+        }
+      }, 30);
+      var timer4 = setInterval(function () {
+        $("#office1").css("width", num4 + "%");
+        if (num4 == 100) {
+          clearInterval(timer4);
+        } else {
+          num4 += 5;
+        }
+      }, 30);
+    }
+    sucTimer();
+  }
+
+
+})();
+  function myAjax() {
+    $.ajax({
+      url: baseURL + "/selectMgtServerTop5",
+      data: {
+        orgIds: "323598b4196341b6a73969cfe7162209",
+      },
+      type: "GET",
+      dataType: "JSON",
+      success: function (data) {
+        const { data: res } = data;
+        if (data.code != 0) {
+          return alert("请求数据失败");
+        }
+        // topData = eval('(' + data.data + ')');
+        setCPU(res.cpu);
+      },
+      timeout: 6000,
+      error: function () {
+        console.log("超时了");
+      },
+    });
+
+    function setCPU(res) {
+      let str = "";
+      for (let i = 0; i < res.length; i++) {
+        const prog = res[i];
+        str += `
+        <div class="progress">
+          <div class="proDesc">${prog.RESNAME}</div>
+          <span class="green" style="width: 19%;"></span>
+          <span class="txt">40%</span>
+        </div>`;
+      }
+
+      $(".container").html(str);
+    }
+  }
+
+  return test47;
+})();

+ 106 - 0
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test48/test48.css

@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 .box48 .container {
   margin: 50px auto;
   width: 60%;
@@ -202,3 +203,108 @@
 .box48 .floor-dist {
   width: 100%;
 }
+=======
+.box48 .container {
+  margin: 50px auto;
+  width: 60%;
+  margin-left: 1.8rem;
+}
+.box48 .container > div {
+  margin-top: 8%;
+  /* margin-bottom: 5%; */
+}
+.box48 .progress {
+  height: 0.09rem;
+  background: #ebebeb;
+  border-left: 1px solid transparent;
+  border-right: 1px solid transparent;
+  border-radius: 1rem;
+  position: relative;
+}
+.box48 .progress .proDesc {
+  position: absolute;
+  top: -70% !important;
+  left: -43%;
+  color: #fff;
+}
+.box48 .progress > span {
+  position: relative;
+  float: left;
+  margin: 0 -1px;
+  min-width: 30px;
+  height: 0.09rem;
+  line-height: 0.2rem;
+  text-align: right;
+  background: #cccccc;
+  border: 1px solid;
+  border-color: #bfbfbf #b3b3b3 #9e9e9e;
+  border-radius: 1rem;
+  background-image: -webkit-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: -moz-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: -o-linear-gradient(top, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  background-image: linear-gradient(to bottom, #f0f0f0 0%, #dbdbdb 70%, #cccccc 100%);
+  -webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
+  box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+.box48 .progress > span span {
+  padding: 0 8px;
+  font-weight: bold;
+  color: #404040;
+  color: rgba(0, 0, 0, 0.7);
+  text-shadow: 0 1px rgba(255, 255, 255, 0.4);
+}
+.box48 .progress > span::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1;
+  height: 0.2rem;
+  background: url(../../images/progress.png) 0 0 repeat-x;
+  border-radius: 1rem;
+}
+.box48 .progress .txt {
+  position: absolute;
+  right: -15%;
+  background: none;
+  border: none;
+  color: #fff;
+}
+.box48 .progress .green {
+  background: #85c440;
+  border-color: #78b337 #6ba031 #568128;
+  background-image: -webkit-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: -moz-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: -o-linear-gradient(top, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+  background-image: linear-gradient(to bottom, #b7dc8e 0%, #99ce5f 70%, #85c440 100%);
+}
+.box48 .progress .orange {
+  background: #f2b63c;
+  border-color: #f0ad24 #eba310 #c5880d;
+  background-image: -webkit-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: -moz-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: -o-linear-gradient(top, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+  background-image: linear-gradient(to bottom, #f8da9c 0%, #f5c462 70%, #f2b63c 100%);
+}
+.box48 .progress .red {
+  background: #db3a27;
+  border-color: #c73321 #b12d1e #8e2418;
+  background-image: -webkit-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: -moz-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: -o-linear-gradient(top, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+  background-image: linear-gradient(to bottom, #ea8a7e 0%, #e15a4a 70%, #db3a27 100%);
+}
+.box48 .progress .blue {
+  background: #5aaadb;
+  border-color: #459fd6 #3094d2 #277db2;
+  background-image: -webkit-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: -moz-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: -o-linear-gradient(top, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+  background-image: linear-gradient(to bottom, #aed5ed 0%, #7bbbe2 70%, #5aaadb 100%);
+}
+.box48 .floor-dist {
+  width: 100%;
+}
+>>>>>>> a04b695c18c613b06551a317ba5c584a587358c0

+ 68 - 68
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test48/test48.html

@@ -1,68 +1,68 @@
-<div class="box48 box" data-name="test48">
-  <div class="toolBox">
-    <span class="fit"></span>
-    <span class="close"></span>
-  </div>
-  <div class="tool">
-    <div class="title bgTitle">
-      <h2>攻击类型</h2>
-    </div>
-  </div>
-  <div class="test-box">
-    <div class="content">
-      <!-- 攻击类型 -->
-      <div class="container" style="margin-top: -4%">
-        <div class="progress">
-          <div class="proDesc">OA中间主服务器</div>
-          <span id="OA2" style="width: 20%"></span>
-          <span class="txt">20%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">核心交换机1060</div>
-          <span id="core2" class="green" style="width: 40%"></span>
-          <span class="txt">40%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">杀毒服务器</div>
-          <span id="Anti-Virus2" class="orange" style="width: 60%"></span>
-          <span class="txt">50%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">电子盖章服务器</div>
-          <span id="Electronic-seal2" class="red" style="width: 80%"></span>
-          <span class="txt">80%</span>
-        </div>
-
-        <div class="progress">
-          <div class="proDesc">office</div>
-          <span id="office2" class="blue" style="width: 100%"></span>
-          <span class="txt">30%</span>
-        </div>
-      </div>
-    </div>
-  </div>
-  <div class="panel-footer"></div>
-</div>
-
-<!-- 工具弹框 -->
-<div class="tools" style="display: none">
-  <div class="containerTool test48Toll">
-    <ul>
-      <li>
-        <span>宽度:</span>
-        <input class="setWidth" type="text" />
-        <span id="validateAge" class="regValidate"></span>
-      </li>
-      <li>
-        <span>高度:</span>
-        <input class="setHeight" type="text" />
-      </li>
-    </ul>
-    <!-- 确定 -->
-    <button class="fixBtn toolBtn">确定</button>
-    <button class="offBtn toolBtn">取消</button>
-  </div>
-</div>
+<div class="box48 box" data-name="test48">
+  <div class="toolBox">
+    <span class="fit"></span>
+    <span class="close"></span>
+  </div>
+  <div class="tool">
+    <div class="title bgTitle">
+      <h2>攻击类型</h2>
+    </div>
+  </div>
+  <div class="test-box">
+    <div class="content">
+      <!-- 攻击类型 -->
+      <div class="container" style="margin-top: -4%">
+        <div class="progress">
+          <div class="proDesc">OA中间主服务器</div>
+          <span id="OA2" style="width: 20%"></span>
+          <span class="txt">20%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">核心交换机1060</div>
+          <span id="core2" class="green" style="width: 40%"></span>
+          <span class="txt">40%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">杀毒服务器</div>
+          <span id="Anti-Virus2" class="orange" style="width: 60%"></span>
+          <span class="txt">50%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">电子盖章服务器</div>
+          <span id="Electronic-seal2" class="red" style="width: 80%"></span>
+          <span class="txt">80%</span>
+        </div>
+
+        <div class="progress">
+          <div class="proDesc">office</div>
+          <span id="office2" class="blue" style="width: 100%"></span>
+          <span class="txt">30%</span>
+        </div>
+      </div>
+    </div>
+  </div>
+  <div class="panel-footer"></div>
+</div>
+
+<!-- 工具弹框 -->
+<div class="tools" style="display: none">
+  <div class="containerTool test48Toll">
+    <ul>
+      <li>
+        <span>宽度:</span>
+        <input class="setWidth" type="text" />
+        <span id="validateAge" class="regValidate"></span>
+      </li>
+      <li>
+        <span>高度:</span>
+        <input class="setHeight" type="text" />
+      </li>
+    </ul>
+    <!-- 确定 -->
+    <button class="fixBtn toolBtn">确定</button>
+    <button class="offBtn toolBtn">取消</button>
+  </div>
+</div>

+ 114 - 113
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test48/test48.js

@@ -1,113 +1,114 @@
-const test48 = (function () {
-  function test48(id, domTitle) {
-    if (domTitle) {
-      $(".test48 .title h2").text(domTitle);
-    }
-    $(".test48 .box").css("z-index", ++zIndex);
-    $(".test48 .box").attr("data-id", id);
-    move3(".test48 .test-box");
-    move2(".test48 .containerTool");
-
-    $(".test48 .close").click(function () {
-      $(".test48 .box").remove();
-      $(".test48 .containerTool").css("display", "none");
-      $(".test48 .setWidth").val("");
-      $(".test48 .setHeight").val("");
-      moduleIdRemove.push(id);
-    });
-
-    eventClick(".test48");
-    function sucTimer() {
-      var num = 0;
-      var num1 = 0;
-
-      var num2 = 0;
-
-      var num3 = 0;
-
-      var num4 = 0;
-
-      var timer = setInterval(function () {
-        $("#OA2").css("width", num + "%");
-        if (num == 20) {
-          clearInterval(timer);
-        } else {
-          num += 5;
-        }
-      }, 30);
-      var timer1 = setInterval(function () {
-        $("#core2").css("width", num1 + "%");
-        if (num1 == 40) {
-          clearInterval(timer1);
-        } else {
-          num1 += 5;
-        }
-      }, 30);
-      var timer2 = setInterval(function () {
-        $("#Anti-Virus2").css("width", num2 + "%");
-        if (num2 == 60) {
-          clearInterval(timer2);
-        } else {
-          num2 += 5;
-        }
-      }, 30);
-      var timer3 = setInterval(function () {
-        $("#Electronic-seal2").css("width", num3 + "%");
-        if (num3 == 80) {
-          clearInterval(timer3);
-        } else {
-          num3 += 5;
-        }
-      }, 30);
-      var timer4 = setInterval(function () {
-        $("#office2").css("width", num4 + "%");
-        if (num4 == 100) {
-          clearInterval(timer4);
-        } else {
-          num4 += 5;
-        }
-      }, 30);
-    }
-    sucTimer();
-  }
-
-  function myAjax() {
-    $.ajax({
-      url: baseURL + "/selectMgtServerTop5",
-      data: {
-        orgIds: "323598b4196341b6a73969cfe7162209",
-      },
-      type: "GET",
-      dataType: "JSON",
-      success: function (data) {
-        const { data: res } = data;
-        if (data.code != 0) {
-          return alert("请求数据失败");
-        }
-        // topData = eval('(' + data.data + ')');
-        setCPU(res.cpu);
-      },
-      timeout: 6000,
-      error: function () {
-        console.log("超时了");
-      },
-    });
-
-    function setCPU(res) {
-      let str = "";
-      for (let i = 0; i < res.length; i++) {
-        const prog = res[i];
-        str += `
-        <div class="progress">
-          <div class="proDesc">${prog.RESNAME}</div>
-          <span class="green" style="width: 19%;"></span>
-          <span class="txt">40%</span>
-        </div>`;
-      }
-
-      $(".container").html(str);
-    }
-  }
-
-  return test48;
-})();
+const test48 = (function () {
+  
+  function test48(id, domTitle) {
+    if (domTitle) {
+      $(".test48 .title h2").text(domTitle);
+    }
+    $(".test48 .box").css("z-index", ++zIndex);
+    $(".test48 .box").attr("data-id", id);
+    move3(".test48 .test-box");
+    move2(".test48 .containerTool");
+
+    $(".test48 .close").click(function () {
+      $(".test48 .box").remove();
+      $(".test48 .containerTool").css("display", "none");
+      $(".test48 .setWidth").val("");
+      $(".test48 .setHeight").val("");
+      moduleIdRemove.push(id);
+    });
+
+    eventClick(".test48");
+    function sucTimer() {
+      var num = 0;
+      var num1 = 0;
+
+      var num2 = 0;
+
+      var num3 = 0;
+
+      var num4 = 0;
+
+      var timer = setInterval(function () {
+        $("#OA2").css("width", num + "%");
+        if (num == 20) {
+          clearInterval(timer);
+        } else {
+          num += 5;
+        }
+      }, 30);
+      var timer1 = setInterval(function () {
+        $("#core2").css("width", num1 + "%");
+        if (num1 == 40) {
+          clearInterval(timer1);
+        } else {
+          num1 += 5;
+        }
+      }, 30);
+      var timer2 = setInterval(function () {
+        $("#Anti-Virus2").css("width", num2 + "%");
+        if (num2 == 60) {
+          clearInterval(timer2);
+        } else {
+          num2 += 5;
+        }
+      }, 30);
+      var timer3 = setInterval(function () {
+        $("#Electronic-seal2").css("width", num3 + "%");
+        if (num3 == 80) {
+          clearInterval(timer3);
+        } else {
+          num3 += 5;
+        }
+      }, 30);
+      var timer4 = setInterval(function () {
+        $("#office2").css("width", num4 + "%");
+        if (num4 == 100) {
+          clearInterval(timer4);
+        } else {
+          num4 += 5;
+        }
+      }, 30);
+    }
+    sucTimer();
+  }
+
+  function myAjax() {
+    $.ajax({
+      url: baseURL + "/selectMgtServerTop5",
+      data: {
+        orgIds: "323598b4196341b6a73969cfe7162209",
+      },
+      type: "GET",
+      dataType: "JSON",
+      success: function (data) {
+        const { data: res } = data;
+        if (data.code != 0) {
+          return alert("请求数据失败");
+        }
+        // topData = eval('(' + data.data + ')');
+        setCPU(res.cpu);
+      },
+      timeout: 6000,
+      error: function () {
+        console.log("超时了");
+      },
+    });
+
+    function setCPU(res) {
+      let str = "";
+      for (let i = 0; i < res.length; i++) {
+        const prog = res[i];
+        str += `
+        <div class="progress">
+          <div class="proDesc">${prog.RESNAME}</div>
+          <span class="green" style="width: 19%;"></span>
+          <span class="txt">40%</span>
+        </div>`;
+      }
+
+      $(".container").html(str);
+    }
+  }
+
+  return test48;
+})();

+ 2 - 5
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test49/test49.css

@@ -9,12 +9,9 @@
     background-image: linear-gradient(45deg, #155ed5, transparent);
     line-height: 0.4rem;
     height: 0.4rem;
-    /* padding-left: 0.3rem; */
-}
-.title img {
-  width: 3%;
-  height: 100%;
+    padding-left: 0.3rem;
 }
+
 .box49 .content-left,
 .box49 .content-right {
     height: 90%;

+ 122 - 42
spring-cloud/server-page/src/main/resources/static/testEcharts/test/components/test49/test49.html

@@ -1,27 +1,13 @@
-<div class="box49 box" data-name="test49">
-  <div class="toolBox">
-    <span class="fit"></span>
-    <span class="close"></span>
-  </div>
-  <div class="tool">
-    <div class="title bgTitle">
-      <h2>受攻击最严重业务系统</h2>
+<div class="box49 box" data-name='test49'>
+    <div class="toolBox">
+        <span class="fit"></span>
+        <span class="close"></span>
     </div>
-  </div>
-  <div class="test-box">
-    <div class="content">
-      <!-- 漏洞数据 -->
-      <div class="content-left">
-        <div class="title">
-          <div style="width: 13%; height: 100%">
-            <img
-            style="width: 100%; height:100%"
-              src="../images/业务系统图标.png"
-              alt=""
-            />
-          </div>
-          <span>业务统计A</span>
+    <div class="tool">
+        <div class="title bgTitle">
+            <h2>受攻击最严重业务系统</h2>
         </div>
+<<<<<<< HEAD
         <table id="stuTable" class="table">
           <thead>
             <tr>
@@ -110,27 +96,121 @@
           </tbody>
         </table>
       </div>
+=======
+>>>>>>> a04b695c18c613b06551a317ba5c584a587358c0
     </div>
-  </div>
-  <div class="panel-footer"></div>
+    <div class="test-box">
+        <div class="content">
+            <!-- 漏洞数据 -->
+            <div class="content-left ">
+                <div class="title">
+                    <span>业务统计A</span>
+                </div>
+                <table id="stuTable" class="table">
+                    <thead>
+                        <tr>
+                            <th>系统名称</th>
+                            <th>CPU</th>
+                            <th>内存</th>
+                            <th>磁盘空间</th>
+                            <th>网络</th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                    </tbody>
+                </table>
+            </div>
+            <div class="content-right ">
+                <div class="title">
+                    <span>业务统计B</span>
+                </div>
+                <table id="content-stuTable" class="table">
+                    <thead>
+                        <tr>
+                            <th>系统名称</th>
+                            <th>CPU</th>
+                            <th>内存</th>
+                            <th>磁盘空间</th>
+                            <th>网络</th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                        <tr>
+                            <td>应用服务器</td>
+                            <td>8%</td>
+                            <td>23%</td>
+                            <td>200G/1T</td>
+                            <td>1323/kbps</td>
+                        </tr>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
+    <div class="panel-footer"></div>
+
 </div>
 
+
 <!-- 工具弹框 -->
-<div class="tools" style="display: none">
-  <div class="containerTool test49Toll">
-    <ul>
-      <li>
-        <span>宽度:</span>
-        <input class="setWidth" type="text" />
-        <span id="validateAge" class="regValidate"></span>
-      </li>
-      <li>
-        <span>高度:</span>
-        <input class="setHeight" type="text" />
-      </li>
-    </ul>
-    <!-- 确定 -->
-    <button class="fixBtn toolBtn">确定</button>
-    <button class="offBtn toolBtn">取消</button>
-  </div>
-</div>
+<div class="tools" style="display: none;">
+
+    <div class="containerTool test49Toll">
+        <ul>
+            <li>
+                <span>宽度:</span>
+                <input class="setWidth" type="text">
+                <span id="validateAge" class="regValidate"></span>
+            </li>
+            <li>
+                <span>高度:</span>
+                <input class="setHeight" type="text">
+            </li>
+        </ul>
+        <!-- 确定 -->
+        <button class="fixBtn toolBtn">确定</button>
+        <button class="offBtn toolBtn">取消</button>
+    </div>
+</div>

Разлика између датотеке није приказан због своје велике величине
+ 0 - 1894
spring-cloud/server-page/src/main/resources/static/testEcharts/test/main/js/setRoom.js


Неке датотеке нису приказане због велике количине промена