From 8d301b885c7c433300b5bbeb47a0864eb738fad4 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 23 十二月 2022 17:51:11 +0800
Subject: [PATCH] q

---
 src/views/maintenance/eventlogManage.vue |    6 
 src/store/index.js                       |    1 
 src/views/Synthesis/LeftMenu.vue         |   40 +
 src/components/MapView/mapMenuPop.vue    |  230 +++++++++--
 src/components/mapsdk.vue                |  182 ++++++--
 src/views/maintenance/mochaitmo.vue      |   54 -
 src/components/MapView/mapSpaceTop.vue   |   50 +
 src/api/api.js                           |   10 
 src/assets/lang/zh.js                    |   14 
 src/views/Synthesis/index.vue            |    7 
 public/config/config.js                  |    6 
 src/components/MapView/mapMenuTop.vue    |   56 ++
 src/views/Thematic/index.vue             |    9 
 src/views/maintenance/operationLog.vue   |    6 
 src/assets/lang/en.js                    |   12 
 src/views/maintenance/downlog.vue        |  437 +++++++++++++++++++++
 src/components/MapView/mapSpacePop.vue   |   60 ++
 src/views/maintenance/logLog.vue         |    8 
 18 files changed, 980 insertions(+), 208 deletions(-)

diff --git a/public/config/config.js b/public/config/config.js
index dba79e5..2a9e11f 100644
--- a/public/config/config.js
+++ b/public/config/config.js
@@ -25,10 +25,7 @@
   // 鏈嶅姟鍦板潃
   baseURL: 'http://183.162.245.49:8888/',
   positionBtn: [],
-  mpt: {
-    url: 'http://192.168.20.39/SG/Elevation',
-    name: 'china_5m.Ei.402586.mpt',
-  },
+ 
 };
 var gaoDeBaseUrl = [
   {
@@ -44,3 +41,4 @@
     label: '楂樺痉褰卞儚鏍囨敞',
   },
 ];
+var demLayer = 'http://192.168.20.39/dem'
\ No newline at end of file
diff --git a/src/api/api.js b/src/api/api.js
index a23c6e0..8b5d24a 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -657,6 +657,16 @@
 export function exportSelectByPage(params) {
   return request.get('/export/selectByPage', { params: params });
 }
+
+//涓嬭浇鏃ュ織=銆嬪垎椤垫煡璇㈠苟杩斿洖璁板綍鏁�
+export function downlog_selectByPageAndCount(params) {
+  return request.get('/downlog/selectByPageAndCount', { params: params });
+}
+
+
+
+
+
 //璇锋眰绔欏満鐐瑰唴瀹�
 export function querySitePoint(size, index, name) {
   return service.get(
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 469f033..66bb734 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -190,6 +190,7 @@
     organizationManage: 'Organizational management',
     operatManage: 'Operat Manage',
     ResourceLog: 'Resource Log',
+    DownloadLog:'Download Log',
     UserRoleAuthorization: 'User Role Authorization',
     MenuRoleAuthorization: 'Menu Permission Authorization',
     RoleResAuthorization: 'Role Resource Authorization',
@@ -229,6 +230,11 @@
       largeModuleName: 'largeModuleName',
       smallModuleName: 'smallModuleName',
       resourceName: 'Resource Id',
+      fileName:'File name',
+      type:'Type',
+      size:'Size',
+      careatetime:'Download date',
+      ipadress:'IP address'
     },
     userManagement: 'User Management',
     systemLayout: 'System Layout',
@@ -474,6 +480,12 @@
     more: 'More',
     Multiplechoice: 'Multiple choice',
   },
+  downlog:{
+    type1:'Shp file',
+    type2:'Thematic map',
+    type3:'Metadata',
+    type4:'Business data',
+  },
   loglog: {
     serialnumber: 'Serial Number',
     coverage: 'Coverage',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 359f739..0580da9 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -190,7 +190,7 @@
     operatManage: '杩愮淮绠$悊',
     ResourceLog: '璧勬簮鏃ュ織',
     organizationManage: '鍗曚綅绠$悊',
-
+    DownloadLog:'涓嬭浇鏃ュ織',
     UserRoleAuthorization: '鐢ㄦ埛瑙掕壊鎺堟潈',
     MenuRoleAuthorization: '鑿滃崟鏉冮檺鎺堟潈',
     RoleResAuthorization: '瑙掕壊璧勬簮鎺堟潈',
@@ -230,6 +230,12 @@
       largeModuleName: '澶фā鍧楀悕绉�',
       smallModuleName: '灏忔ā鍧楀悕绉�',
       resourceName: '璧勬簮ID',
+      fileName:'鏂囦欢鍚�',
+      type:'绫诲瀷',
+      size:'澶у皬',
+      careatetime:'涓嬭浇鏃ユ湡',
+      ipadress:'IP鍦板潃'
+    
     },
     userManagement: '鐢ㄦ埛绠$悊',
     systemLayout: '绯荤粺閰嶇疆',
@@ -472,6 +478,12 @@
 
     Multiplechoice: '澶氶��',
   },
+  downlog:{
+    type1:'Shp鏂囦欢',
+    type2:'涓撻鍥�',
+    type3:'鍏冩暟鎹�',
+    type4:'涓氬姟鏁版嵁',
+  },
   loglog: {
     serialnumber: '搴忓彿',
     coverage: '鍥惧眰',
diff --git a/src/components/MapView/mapMenuPop.vue b/src/components/MapView/mapMenuPop.vue
index 2f37465..cf0ce23 100644
--- a/src/components/MapView/mapMenuPop.vue
+++ b/src/components/MapView/mapMenuPop.vue
@@ -12,7 +12,6 @@
       </ul>
     </div>
     <div class="rightBox">
-      
       <div class="tableBox">
         <el-table
           :data="tableData"
@@ -92,10 +91,10 @@
             class="primary"
             size="small"
             @click="download('codeForm')"
-            >{{ $t('common.confirm') }}</el-button
+            >{{ $t("common.confirm") }}</el-button
           >
           <el-button type="info" size="small" @click="closeDown('codeForm')">{{
-            $t('common.cancel')
+            $t("common.cancel")
           }}</el-button>
         </el-form-item>
       </el-form>
@@ -117,16 +116,17 @@
   sign_getPublicKey,
   dataLib_selectDownloadFile,
   decr,
-} from '../../api/api.js';
-import { getToken } from '@/utils/auth';
-import $ from 'jquery';
+} from "../../api/api.js";
+import { getToken } from "@/utils/auth";
+import $ from "jquery";
+import { View } from "ol";
 export default {
   data() {
     var repasswordValidator = (rule, value, callback) => {
-      if (value === '') {
-        callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
+      if (value === "") {
+        callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
       } else if (value !== this.codeForm.password) {
-        callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+        callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
       } else {
         callback();
       }
@@ -135,7 +135,7 @@
       var passwordreg =
         /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/;
       if (!passwordreg.test(value)) {
-        callback(new Error('瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�'));
+        callback(new Error("瀵嗙爜蹇呴』鐢辨暟瀛椼�佸瓧姣嶃�佺壒娈婂瓧绗︾粍鍚�,璇疯緭鍏�13-20浣�"));
       } else {
         callback();
       }
@@ -143,17 +143,17 @@
     return {
       dialogVisible: false,
       codeForm: {
-        password: '',
-        repassword: '',
+        password: "",
+        repassword: "",
       },
       rules: {
         password: [
-          { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
-          { validator: passwordValidator, trigger: 'blur' },
+          { required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" },
+          { validator: passwordValidator, trigger: "blur" },
         ],
         repassword: [
-          { required: true, message: '璇疯緭鍏ョ‘璁ゅ瘑鐮�', trigger: 'blur' },
-          { validator: repasswordValidator, trigger: 'blur' },
+          { required: true, message: "璇疯緭鍏ョ‘璁ゅ瘑鐮�", trigger: "blur" },
+          { validator: repasswordValidator, trigger: "blur" },
         ],
       },
       listPage: {
@@ -178,6 +178,7 @@
       domainsLayer: [],
       optionx: [],
       imagePoint: null,
+      Layerprimit: null,
     };
   },
   methods: {
@@ -189,7 +190,7 @@
       }
     },
     download() {
-      if (this.codeForm.password == '') return;
+      if (this.codeForm.password == "") return;
       var obj = {
         pwd: encrypt.encrypt(this.codeForm.password),
         entities: [],
@@ -200,8 +201,8 @@
       }
       var token = getToken();
       var that = this;
-      $.ajax(BASE_URL + '/dataLib/downloadDbReq?token=' + token, {
-        type: 'post',
+      $.ajax(BASE_URL + "/dataLib/downloadDbReq?token=" + token, {
+        type: "post",
         data: JSON.stringify(obj),
         async: true,
         cache: false,
@@ -222,23 +223,23 @@
       };
       const data = await dataLib_selectDownloadFile(downObj);
       if (data.code != 200) {
-        this.$message.error('涓嬭浇璇锋眰澶辫触');
+        this.$message.error("涓嬭浇璇锋眰澶辫触");
         return;
       }
       this.closeDown();
       var token = getToken();
       var url =
         BASE_URL +
-        '/dataLib/downloadFile?token=' +
+        "/dataLib/downloadFile?token=" +
         token +
-        '&guid=' +
+        "&guid=" +
         rsid +
-        '&pwd=' +
+        "&pwd=" +
         encodeURIComponent(rspwd);
-      $('#Iframe1').attr('src', url).click();
+      $("#Iframe1").attr("src", url).click();
     },
     handleCloseDown() {
-      this.$confirm('纭鍏抽棴锛�')
+      this.$confirm("纭鍏抽棴锛�")
         .then((_) => {
           this.closeDown();
         })
@@ -246,8 +247,8 @@
     },
     closeDown() {
       this.dialogVisible = false;
-      this.codeForm.password = '';
-      this.codeForm.repassword = '';
+      this.codeForm.password = "";
+      this.codeForm.repassword = "";
     },
     startTableMssage() {
       this.listdata.pageIndex = 1;
@@ -260,7 +261,14 @@
       this.startTableMssage();
       this.listdata.wkt = this.$store.state.mapMenuShpFile;
       this.querylayer = this.$store.state.mapSpaceQueryLayer;
-      this.option = this.$store.state.mapSpaceQueryLayer;
+      //  = this.$store.state.mapSpaceQueryLayer;
+      var arr = this.$store.state.mapSpaceQueryLayer;
+      var obj = {};
+      arr = arr.reduce(function (item, next) {
+        obj[next.label] ? "" : (obj[next.label] = true && item.push(next));
+        return item;
+      }, []);
+      this.option = arr;
       this.listdata.name = this.option[0].entity;
 
       this.getTableDateHidder();
@@ -268,11 +276,11 @@
     async getTableDateHidder() {
       const data = await inquiry_selectFields({ name: this.listdata.name });
       if (data.code != 200) {
-        this.$message.error('鍒楄〃璋冪敤澶辫触');
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
       const data1 = await inquiry_selectDomains({ name: this.listdata.name });
       if (data1.code != 200) {
-        this.$message.error('鍒楄〃璋冪敤澶辫触');
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
       this.optionx = [];
       this.attributeData = [];
@@ -304,7 +312,7 @@
       };
       const data = await dataQuerySelectWktById(param);
       if (data.code != 200) {
-        this.$message.error('鍒楄〃璋冪敤澶辫触');
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
 
       var val1 = decr(data.result);
@@ -319,19 +327,53 @@
     },
     setMapLoaction(res) {
       var coord = res.coordinates;
-      if (res.type == 'Point') {
-        this.imagePoint = sgworld.Creator.CreateLabel(
-          { X: coord[0], Y: coord[1], Altitude: 2000 },
-          '',
-          SmartEarthRootUrl + 'Workers/image/mark.png',
-          {
-            disableDepthTestDistance: Infinity,
-            scale: 0.8,
+      if (this.Layerprimit != null) {
+        window.Viewer.scene.primitives.remove(this.Layerprimit);
+        this.Layerprimit = null;
+      }
+      if (res.type == "Point") {
+        Viewer.camera.flyTo({
+          destination: Cesium.Cartesian3.fromDegrees(coord[0], coord[1], 2000),
+          orientation: {
+            heading: Cesium.Math.toRadians(0), // 姘村钩鍋忚锛岄粯璁ゆ鍖� 0
+            pitch: Cesium.Math.toRadians(-90), // 淇瑙掞紝榛樿-90锛屽瀭鐩村悜涓�
+            roll: 0, // 鏃嬭浆瑙�
           },
+        });
+      } else if (res.type == "MultiPolygon") {
+        var val = res.coordinates[0][0];
+        var std = [];
+
+        for (var i in val) {
+          std.push({ x: val[i][0], y: val[i][1], z: 1000 });
+        }
+        this.$store.state.primitLayer = sgworld.Creator.createPolygon(
+          std,
+          {
+            fillColor: "#ffff00",
+            outlineColor: "#fff",
+            outlineWidth: 2,
+          },
+          1,
           0,
-          '宸℃鐐�'
+          "闈�"
         );
-        sgworld.Navigate.flyToObj(this.imagePoint.item);
+        sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item);
+      } else if (res.type == "MultiLineString") {
+        var line = res.coordinates[0];
+        var std = [];
+
+        for (var i in line) {
+          std.push({ x: line[i][0], y: line[i][1], z: 1000 });
+        }
+        this.$store.state.primitLayer = sgworld.Creator.createPolyline(
+          std,
+          "#ffff00",
+          1,
+          0,
+          "绾�"
+        );
+        sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item);
       }
     },
     setTableChange(res) {
@@ -354,7 +396,7 @@
 
       const data = await dataQuery_selectByPage(this.listdata);
       if (data.code != 200) {
-        this.$message.error('鍒楄〃璋冪敤澶辫触');
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
 
       var val_Data = data.result;
@@ -372,7 +414,107 @@
       this.pageCount = data.count;
       this.tableData = data.result;
       this.$refs.dialogPayChannel.doLayout();
+      this.showAllImage(data.result);
     },
+    async showAllImage(res) {
+      if (window.Viewer.scene.primitives.length != null) {
+        window.Viewer.scene.primitives.removeAll();
+      }
+      if (this.$store.state.primitLayer != null) {
+        sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
+        this.$store.state.primitLayer = null;
+      }
+      for (var i in res) {
+        var param = {
+          gid: res[i].gid,
+          name: this.listdata.name,
+        };
+        const data = await dataQuerySelectWktById(param);
+        if (data.code != 200) {
+          this.$message.error("鍒楄〃璋冪敤澶辫触");
+        }
+        var val1 = decr(data.result);
+        if (val1) {
+          var wkt = this.$wkt.parse(val1);
+          this.getprimitiLayer(wkt);
+          this.primitivesAddLayer(wkt);
+        }
+      }
+    },
+    getprimitiLayer(res) {
+      switch (res.type) {
+        case "Point":
+          this.$store.state.primitLayer = window.Viewer.scene.primitives.add(
+            new Cesium.BillboardCollection()
+          );
+          break;
+      }
+    },
+    primitivesAddLayer(res) {
+      switch (res.type) {
+        case "Point":
+          var val = Cesium.Cartesian3.fromDegrees(
+            res.coordinates[0],
+            res.coordinates[1],
+            1000
+          );
+          this.$store.state.primitLayer.add({
+            position: val,
+            image: SmartEarthRootUrl + "Workers/image/mark.png",
+          });
+          break;
+        case "MultiLineString":
+          var line = res.coordinates[0];
+          var std = [];
+          for (var i in line) {
+            std.push(line[i][0], line[i][1]);
+          }
+          var instance = new Cesium.GeometryInstance({
+            geometry: new Cesium.GroundPolylineGeometry({
+              positions: Cesium.Cartesian3.fromDegreesArray(std),
+              width: 4.0,
+            }),
+            attributes: {
+              color: Cesium.ColorGeometryInstanceAttribute.fromColor(
+                new Cesium.Color(1.0, 0.0, 0.0, 0.3)
+              ),
+            },
+          });
+          window.Viewer.scene.primitives.add(
+            new Cesium.GroundPolylinePrimitive({
+              geometryInstances: instance,
+              appearance: new Cesium.PolylineColorAppearance(),
+            })
+          );
+          break;
+        case "MultiPolygon":
+          var val = res.coordinates[0][0];
+          var std = [];
+          for (var i in val) {
+            std.push(val[i][0], val[i][1]);
+          }
+          var primitive = new Cesium.GroundPrimitive({
+            //璐村湴鐨刾rimitive
+            geometryInstances: new Cesium.GeometryInstance({
+              geometry: new Cesium.PolygonGeometry({
+                //鏀寔CircleGeometry锛孋orridorGeometry锛孍llipseGeometry锛孯ectangleGeometry
+                polygonHierarchy: new Cesium.PolygonHierarchy(
+                  Cesium.Cartesian3.fromDegreesArray(std)
+                ),
+              }),
+              attributes: {
+                color: Cesium.ColorGeometryInstanceAttribute.fromColor(
+                  new Cesium.Color(1.0, 0.0, 0.0, 0.3)
+                ),
+              },
+            }),
+            appearance: Cesium.EllipsoidSurfaceAppearance(),
+          });
+          window.Viewer.scene.primitives.add(primitive);
+          break;
+      }
+    },
+
     closeMenuBox() {
       if (this.imagePoint != null) {
         sgworld.Creator.DeleteObject(this.imagePoint);
@@ -387,8 +529,8 @@
     this.setTableAll();
   },
   mounted() {
-    this.$bus.$on('changeMapMenuTop', (res) => {
-      if (res == 'true') {
+    this.$bus.$on("changeMapMenuTop", (res) => {
+      if (res == "true") {
         this.setTableAll();
       }
     });
diff --git a/src/components/MapView/mapMenuTop.vue b/src/components/MapView/mapMenuTop.vue
index e9a74e5..a07d8a8 100644
--- a/src/components/MapView/mapMenuTop.vue
+++ b/src/components/MapView/mapMenuTop.vue
@@ -1,13 +1,20 @@
 <template>
   <div class="menuBox">
-    <el-form :inline="true" :model="menuTopFrom" class="demo-form-inline">
+    <el-form
+      :inline="true"
+      :model="menuTopFrom"
+      class="demo-form-inline"
+    >
       <el-form-item>
         <el-select
           v-model="menuTopFrom.queryLayer"
           :title="treeChange"
           placeholder="璇烽�夋嫨..."
         >
-          <el-option :value="menuTopFrom.queryLayer" style="height: 100%">
+          <el-option
+            :value="menuTopFrom.queryLayer"
+            style="height: 100%"
+          >
             <div style="height: 200px; overflow: auto">
               <el-tree
                 :data="layerData"
@@ -21,16 +28,17 @@
               </el-tree>
             </div>
             <div style="margin-top: 5px">
-              <el-button size="mini" plain @click="getCheckedNodes"
-                >纭</el-button
-              >
+              <el-button
+                size="mini"
+                plain
+                @click="getCheckedNodes"
+              >纭</el-button>
               <el-button
                 size="mini"
                 type="info"
                 plain
                 @click="resetCheckedNodes"
-                >閲嶇疆</el-button
-              >
+              >閲嶇疆</el-button>
             </div>
           </el-option>
         </el-select>
@@ -67,8 +75,15 @@
         > -->
       </el-form-item>
       <el-form-item>
-        <el-button plain @click="getAttributeQuery">鏌ヨ</el-button>
-        <el-button type="info" @click="clearQuery" plain>閲嶇疆</el-button>
+        <el-button
+          plain
+          @click="getAttributeQuery"
+        >鏌ヨ</el-button>
+        <el-button
+          type="info"
+          @click="clearQuery"
+          plain
+        >閲嶇疆</el-button>
       </el-form-item>
     </el-form>
     <queryinfo ref="queryinfo" />
@@ -76,13 +91,13 @@
 </template>
 
 <script>
-import   queryinfo  from "../../views/Tools/queryinfo.vue"
+import queryinfo from "../../views/Tools/queryinfo.vue"
 import $ from 'jquery';
 import { inquiry_SelectTabs, inquiry_uploadShp, encr } from '../../api/api.js';
 import { getToken } from '@/utils/auth';
 import * as turf from '@turf/turf';
 export default {
-  components:{queryinfo},
+  components: { queryinfo },
   data() {
     return {
       menuTopFrom: {
@@ -328,10 +343,21 @@
     },
     showMapMenuPop() {
       this.$store.state.mapSpaceQueryLayer = this.treeChange;
-         this.$store.state.mapPopBoxFlag = '1';
-       this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("绌洪棿鏌ヨ",null,{ close: () => {
-          
-          }});
+      this.$store.state.mapPopBoxFlag = '1';
+      // this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.close();
+      this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("绌洪棿鏌ヨ", null, {
+        close: () => {
+
+         if (this.$store.state.primitLayer != null) {
+            sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
+            this.$store.state.primitLayer = null;
+          }
+
+          if (window.Viewer.scene.primitives.length != 0) {
+            window.Viewer.scene.primitives.removeAll()
+          }
+        }
+      });
       this.$bus.$emit('changeMapMenuTop', 'true');
       sgworld.Creator.SimpleGraphic.edit(false, { editProp: false });
       sgworld.Creator.SimpleGraphic.clear();
diff --git a/src/components/MapView/mapSpacePop.vue b/src/components/MapView/mapSpacePop.vue
index 483521c..3686c5e 100644
--- a/src/components/MapView/mapSpacePop.vue
+++ b/src/components/MapView/mapSpacePop.vue
@@ -1,8 +1,12 @@
 <template>
   <div class="menuPop">
- 
+
     <div style="padding: 5px">
-      <el-form :inline="true" :model="formInline" class="demo-form-inline">
+      <el-form
+        :inline="true"
+        :model="formInline"
+        class="demo-form-inline"
+      >
         <el-form-item>
           <el-select
             v-model="formInline.name"
@@ -42,8 +46,14 @@
           ></el-input>
         </el-form-item>
         <el-form-item>
-          <el-button plain @click="setSpaceTableLayer">鏌ヨ</el-button>
-          <el-button plain @click="restSpacePopLayer">閲嶇疆</el-button>
+          <el-button
+            plain
+            @click="setSpaceTableLayer"
+          >鏌ヨ</el-button>
+          <el-button
+            plain
+            @click="restSpacePopLayer"
+          >閲嶇疆</el-button>
         </el-form-item>
       </el-form>
       <div class="centTable">
@@ -59,7 +69,11 @@
             label="搴忓彿"
             width="50"
           />
-          <el-table-column label="瀹氫綅" width="100" align="center">
+          <el-table-column
+            label="瀹氫綅"
+            width="100"
+            align="center"
+          >
             <template slot-scope="scope">
               <el-button
                 icon="el-icon-map-location"
@@ -322,9 +336,9 @@
 
       var val1 = decr(data.result);
       if (val1) {
-        if (this.imagePoint != null) {
-          sgworld.Creator.DeleteObject(this.imagePoint);
-          this.imagePoint = null;
+        if (this.$store.state.primitLayer != null) {
+          sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
+          this.$store.state.primitLayer = null;
         }
         var wkt = this.$wkt.parse(val1);
         this.setMapLoaction(wkt);
@@ -339,9 +353,13 @@
       this.getSpaceTableLayer();
     },
     setMapLoaction(res) {
+          if (this.$store.state.primitLayer != null) {
+          sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
+          this.$store.state.primitLayer = null;
+        }
       var coord = res.coordinates;
       if (res.type == 'Point') {
-        this.imagePoint = sgworld.Creator.CreateLabel(
+        this.$store.state.primitLayer = sgworld.Creator.CreateLabel(
           { X: coord[0], Y: coord[1], Altitude: 2000 },
           '',
           SmartEarthRootUrl + 'Workers/image/mark.png',
@@ -352,7 +370,29 @@
           0,
           '宸℃鐐�'
         );
-        sgworld.Navigate.flyToObj(this.imagePoint.item);
+        sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item);
+      } else if (res.type == 'MultiPolygon') {
+        var val = res.coordinates[0][0];
+        var std = [];
+        for (var i in val) {
+
+          std.push({ x: val[i][0], y: val[i][1], z: 1000 })
+        }
+        this.$store.state.primitLayer = sgworld.Creator.createPolygon(std, {
+          fillColor: '#ffff00',
+          outlineColor: '#fff',
+          outlineWidth: 2
+        }, 1, 0, "闈�");
+        sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item);
+      } else if (res.type == 'MultiLineString') {
+        var line = res.coordinates[0];
+        var std = [];
+        for (var i in line) {
+
+          std.push({ x: line[i][0], y: line[i][1], z: 1000 })
+        }
+       this.$store.state.primitLayer = sgworld.Creator.createPolyline(std, "#ffff00", 1, 0, "绾�");
+        sgworld.Navigate.flyToObj(this.$store.state.primitLayer.item);
       }
     },
   },
diff --git a/src/components/MapView/mapSpaceTop.vue b/src/components/MapView/mapSpaceTop.vue
index c19ea76..7c7e127 100644
--- a/src/components/MapView/mapSpaceTop.vue
+++ b/src/components/MapView/mapSpaceTop.vue
@@ -1,7 +1,13 @@
 <template>
   <div class="spaceBox">
-    <el-select v-model="menuTopFrom.queryLayer" placeholder="璇烽�夋嫨...">
-      <el-option :value="menuTopFrom.queryLayer" style="height: 100%">
+    <el-select
+      v-model="menuTopFrom.queryLayer"
+      placeholder="璇烽�夋嫨..."
+    >
+      <el-option
+        :value="menuTopFrom.queryLayer"
+        style="height: 100%"
+      >
         <div style="height: 200px; overflow: auto">
           <el-tree
             :data="layerData"
@@ -18,22 +24,29 @@
           </el-tree>
         </div>
         <div style="margin-top: 5px">
-          <el-button size="mini" plain @click="getCheckedNodes">纭</el-button>
-          <el-button size="mini" type="info" plain @click="resetCheckedNodes"
-            >閲嶇疆</el-button
-          >
+          <el-button
+            size="mini"
+            plain
+            @click="getCheckedNodes"
+          >纭</el-button>
+          <el-button
+            size="mini"
+            type="info"
+            plain
+            @click="resetCheckedNodes"
+          >閲嶇疆</el-button>
         </div>
       </el-option>
     </el-select>
-    <queryinfo ref="queryinfo"/>
+    <queryinfo ref="queryinfo" />
   </div>
 </template>
 
 <script>
-import   queryinfo  from "../../views/Tools/queryinfo.vue"
+import queryinfo from "../../views/Tools/queryinfo.vue"
 import { inquiry_SelectTabs } from '../../api/api.js';
 export default {
-  components:{queryinfo },
+  components: { queryinfo },
   data() {
     return {
       menuTopFrom: {
@@ -88,11 +101,20 @@
       this.$store.state.mapSpaceQueryLayer = this.mapSpaceQueryLayer;
       // this.$store.state.mapPopBoolean = true;
       this.$store.state.mapPopBoxFlag = '2';
-       this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("灞炴�ф煡璇�",null,{
-          close: () => {
-          
-          },
-        });
+      // this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.close();
+      this.$refs && this.$refs.queryinfo && this.$refs.queryinfo.open("绌洪棿鏌ヨ", null, {
+        close: () => {
+
+          if (this.$store.state.primitLayer != null) {
+            sgworld.Creator.DeleteObject(this.$store.state.primitLayer);
+            this.$store.state.primitLayer = null;
+          }
+
+          if (window.Viewer.scene.primitives.length != 0) {
+            window.Viewer.scene.primitives.removeAll()
+          }
+        }
+      });
     },
     resetCheckedNodes() {
       this.menuTopFrom.queryLayer = null;
diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue
index 4350a7f..cd94fa9 100644
--- a/src/components/mapsdk.vue
+++ b/src/components/mapsdk.vue
@@ -1,44 +1,85 @@
 <template>
   <div class="mapBox">
     <div id="mapdiv">
-      <div class="menu_Top" v-if="$store.state.mapMenuBoolean">
+      <div
+        class="menu_Top"
+        v-if="$store.state.mapMenuBoolean"
+      >
         <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" />
         <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" />
       </div>
-      
-      <div class="bufferBox" v-if="showBufferBoxDialog">
+
+      <div
+        class="bufferBox"
+        v-if="showBufferBoxDialog"
+      >
         <el-card class="box-card">
-          <div slot="header" class="clearfix">
+          <div
+            slot="header"
+            class="clearfix"
+          >
             <span>缂撳啿鍖哄垎鏋�</span>
             <div style="float: right; cursor: pointer">
-              <i class="el-icon-close" @click="closeBufferBox(1)"></i>
+              <i
+                class="el-icon-close"
+                @click="closeBufferBox(1)"
+              ></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form ref="form" :model="bufFrom" label-width="100px">
+            <el-form
+              ref="form"
+              :model="bufFrom"
+              label-width="100px"
+            >
               <el-form-item label="缂撳啿鍗婂緞(绫�):">
                 <el-input v-model="bufFrom.val"></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button @click="addBuffer(1)" type="info">鐐�</el-button>
-                <el-button @click="addBuffer(2)" type="info">绾�</el-button>
-                <el-button @click="addBuffer(3)" type="info">闈�</el-button>
-                <el-button @click="clearBuffer" type="info">娓呴櫎</el-button>
+                <el-button
+                  @click="addBuffer(1)"
+                  type="info"
+                >鐐�</el-button>
+                <el-button
+                  @click="addBuffer(2)"
+                  type="info"
+                >绾�</el-button>
+                <el-button
+                  @click="addBuffer(3)"
+                  type="info"
+                >闈�</el-button>
+                <el-button
+                  @click="clearBuffer"
+                  type="info"
+                >娓呴櫎</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
-      <div class="coordLocalBox" v-if="showCoordLocalBoxDialog">
+      <div
+        class="coordLocalBox"
+        v-if="showCoordLocalBoxDialog"
+      >
         <el-card class="box-card">
-          <div slot="header" class="clearfix">
+          <div
+            slot="header"
+            class="clearfix"
+          >
             <span>鍧愭爣瀹氫綅</span>
             <div style="float: right; cursor: pointer">
-              <i class="el-icon-close" @click="closeBufferBox(2)"></i>
+              <i
+                class="el-icon-close"
+                @click="closeBufferBox(2)"
+              ></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form ref="form" :model="coordFrom" label-width="50px">
+            <el-form
+              ref="form"
+              :model="coordFrom"
+              label-width="50px"
+            >
               <el-form-item label="缁忓害:">
                 <el-input v-model="coordFrom.lon"></el-input>
               </el-form-item>
@@ -49,22 +90,38 @@
                 <el-input v-model="coordFrom.height"></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button @click="setCoordLocal" type="info">瀹氫綅</el-button>
+                <el-button
+                  @click="setCoordLocal"
+                  type="info"
+                >瀹氫綅</el-button>
               </el-form-item>
             </el-form>
           </div>
         </el-card>
       </div>
-      <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog">
+      <div
+        class="toponymicLocalBox"
+        v-if="showToponymicLocalBoxDialog"
+      >
         <el-card class="box-card">
-          <div slot="header" class="clearfix">
+          <div
+            slot="header"
+            class="clearfix"
+          >
             <span>鍦板悕瀹氫綅</span>
             <div style="float: right; cursor: pointer">
-              <i class="el-icon-close" @click="closeBufferBox(3)"></i>
+              <i
+                class="el-icon-close"
+                @click="closeBufferBox(3)"
+              ></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form :model="comprehensive" :inline="true" label-width="50px">
+            <el-form
+              :model="comprehensive"
+              :inline="true"
+              label-width="50px"
+            >
               <el-form-item label="鍦板悕:">
                 <el-input
                   style="width: 200px"
@@ -72,17 +129,28 @@
                 ></el-input>
               </el-form-item>
               <el-form-item>
-                <el-button @click="setQueryTable" type="info">鏌ヨ</el-button>
+                <el-button
+                  @click="setQueryTable"
+                  type="info"
+                >鏌ヨ</el-button>
               </el-form-item>
             </el-form>
-            <el-table :data="tableData" height="200px" style="width: 100%">
+            <el-table
+              :data="tableData"
+              height="200px"
+              style="width: 100%"
+            >
               <el-table-column
                 align="center"
                 type="index"
                 label="搴忓彿"
                 width="70px"
               />
-              <el-table-column prop="name" align="center" label="瀹氫綅">
+              <el-table-column
+                prop="name"
+                align="center"
+                label="瀹氫綅"
+              >
                 <template slot-scope="scope">
                   <el-button
                     @click="handleLocation(scope.$index, scope.row)"
@@ -91,10 +159,17 @@
                   ></el-button>
                 </template>
               </el-table-column>
-              <el-table-column prop="name" align="center" label="鍦板悕">
+              <el-table-column
+                prop="name"
+                align="center"
+                label="鍦板悕"
+              >
               </el-table-column>
             </el-table>
-            <div style="margin-top: 10px" class="pagination_box">
+            <div
+              style="margin-top: 10px"
+              class="pagination_box"
+            >
               <el-pagination
                 @size-change="handleSizeChange"
                 @current-change="handleCurrentChange"
@@ -109,16 +184,29 @@
           </div>
         </el-card>
       </div>
-      <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog">
+      <div
+        class="pathAnalysisBox"
+        v-if="showPathAnalysisBoxDialog"
+      >
         <el-card class="box-card">
-          <div slot="header" class="clearfix">
+          <div
+            slot="header"
+            class="clearfix"
+          >
             <span>璺緞鍒嗘瀽</span>
             <div style="float: right; cursor: pointer">
-              <i class="el-icon-close" @click="closeBufferBox(4)"></i>
+              <i
+                class="el-icon-close"
+                @click="closeBufferBox(4)"
+              ></i>
             </div>
           </div>
           <div class="box-body">
-            <el-form ref="form" :model="pathFrom" label-width="50px">
+            <el-form
+              ref="form"
+              :model="pathFrom"
+              label-width="50px"
+            >
               <el-form-item label="璧风偣:">
                 <el-input
                   style="width: 250px"
@@ -129,8 +217,10 @@
                   :underline="false"
                   @click="showMouseLeftClick(1)"
                   style="margin-left: 10px"
-                  ><i style="color: white" class="el-icon-plus"></i
-                ></el-link>
+                ><i
+                    style="color: white"
+                    class="el-icon-plus"
+                  ></i></el-link>
               </el-form-item>
               <el-form-item label="缁堢偣:">
                 <el-input
@@ -142,13 +232,16 @@
                   :underline="false"
                   @click="showMouseLeftClick(2)"
                   style="margin-left: 10px"
-                  ><i style="color: white" class="el-icon-plus"></i
-                ></el-link>
+                ><i
+                    style="color: white"
+                    class="el-icon-plus"
+                  ></i></el-link>
               </el-form-item>
               <el-form-item>
-                <el-button @click="showMouseLeftClick(3)" type="info"
-                  >鏌ヨ</el-button
-                >
+                <el-button
+                  @click="showMouseLeftClick(3)"
+                  type="info"
+                >鏌ヨ</el-button>
               </el-form-item>
             </el-form>
           </div>
@@ -182,9 +275,9 @@
   name: '',
   components: {
     mapMenuTop,
- 
+
     mapSpaceTop,
-    
+
   },
   data() {
     return {
@@ -324,13 +417,10 @@
       //   ''
       // );
       // openStreetMap.item.show = false;
-      //mpt鍔犺浇
-      var option = {
-        url: window.sceneConfig.mpt.url,
-        layerName: window.sceneConfig.mpt.name,
-        requestVertexNormals: true,
-      };
-      sgworld.Creator.sfsterrainprovider('mpt', option, '', true, '');
+       
+      Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
+        url:demLayer
+      });
       window.elevationTool = new SmartEarth.ElevationTool(window.sgworld);
       elevationTool.setContourColor('#F1D487');
     },
@@ -888,7 +978,7 @@
 .active {
   width: 100%;
   height: 100%;
-  background: url('../assets/img/Layer/imgLayer2.png') no-repeat center;
+  background: url("../assets/img/Layer/imgLayer2.png") no-repeat center;
   position: absolute;
   background-size: 100% 100%;
   border-radius: 5px;
@@ -896,7 +986,7 @@
 .menuLayer {
   width: 100%;
   height: 100%;
-  background: url('../assets/img/Layer/imgLayer1.png') no-repeat center;
+  background: url("../assets/img/Layer/imgLayer1.png") no-repeat center;
   position: absolute;
   background-size: 100% 100%;
   border-radius: 5px;
diff --git a/src/store/index.js b/src/store/index.js
index 6753c49..e2eddaa 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -46,6 +46,7 @@
     projeOl: null,
     download: false,
     showAllLayers: true,
+    primitLayer:null,
   },
   mutations: {
     //鑾峰彇鏉冮檺鍚堥泦
diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue
index 3afc38a..d064587 100644
--- a/src/views/Synthesis/LeftMenu.vue
+++ b/src/views/Synthesis/LeftMenu.vue
@@ -34,18 +34,7 @@
             name: '鍥惧眰绠$悊',
             css: 'twoMenu_imge11',
           },
-          {
-            id: 'a2',
-            name: '鍦烘櫙鎻愬彇',
-            label: 'synthesis.sceneExtraction',
-            css: 'twoMenu_imge12',
-          },
-          {
-            id: 'a3',
-            label: 'synthesis.release',
-            name: '鍦烘櫙鍙戝竷',
-            css: 'twoMenu_imge13',
-          },
+        
         ],
         [
           {
@@ -122,12 +111,7 @@
             name: '鍦板浘蹇収',
             css: 'twoMenu_imge34',
           },
-          {
-            id: 'c5',
-            label: 'synthesis.tdisplay',
-            name: '涓夌淮婕旂ず',
-            css: 'twoMenu_imge35',
-          },
+         
         ],
         [
           {
@@ -306,7 +290,25 @@
             name: '娓呴櫎',
             css: 'twoMenu_imge87',
           },
-        ],
+        ],[
+            {
+            id: 'i1',
+            name: '鍦烘櫙鎻愬彇',
+            label: 'synthesis.sceneExtraction',
+            css: 'twoMenu_imge12',
+          },
+          {
+            id: 'i2',
+            label: 'synthesis.release',
+            name: '鍦烘櫙鍙戝竷',
+            css: 'twoMenu_imge13',
+          }, {
+            id: 'i3',
+            label: 'synthesis.tdisplay',
+            name: '涓夌淮婕旂ず',
+            css: 'twoMenu_imge35',
+          },
+        ]
       ],
       isRuler: false,
       isNaviget: false,
diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue
index 7b76008..709b008 100644
--- a/src/views/Synthesis/index.vue
+++ b/src/views/Synthesis/index.vue
@@ -99,6 +99,11 @@
           name: '鏍囩粯',
           class: 'menu_img9',
           show: false,
+        }, {
+          id: 10,
+          name: '鍦烘櫙',
+          class: 'menu_img9',
+          show: false,
         },
       ],
     };
@@ -136,6 +141,7 @@
         }
       }
       for (var i in this.menuOption) {
+
         if (this.menuOption[i].show != false) {
           this.showMenuList.push(this.menuOption[i]);
         }
@@ -159,6 +165,7 @@
       var std = [];
       std.push(this.menuOption[0]);
       for (var i = 1; i < this.menuOption.length; i++) {
+
         if (this.menuOption[i].name == res.cnName) {
           this.menuOption[i].show = true;
         }
diff --git a/src/views/Thematic/index.vue b/src/views/Thematic/index.vue
index 703a166..0b3f7b8 100644
--- a/src/views/Thematic/index.vue
+++ b/src/views/Thematic/index.vue
@@ -327,12 +327,9 @@
       //姣斾緥灏�
       window.sgworld.navControl('scale', false);
 
-  var option = {
-        url: window.sceneConfig.mpt.url,
-        layerName: window.sceneConfig.mpt.name,
-        requestVertexNormals: true,
-      };
-      sgworld.Creator.sfsterrainprovider('mpt', option, '', true, '');
+   MapViewer.terrainProvider = new Cesium.CesiumTerrainProvider({
+        url:demLayer
+      });
 
 
     },
diff --git a/src/views/maintenance/downlog.vue b/src/views/maintenance/downlog.vue
new file mode 100644
index 0000000..f1229f6
--- /dev/null
+++ b/src/views/maintenance/downlog.vue
@@ -0,0 +1,437 @@
+<template>
+  <div class="logLog_box">
+    <My-bread :list="[
+        `${$t('operatManage.operatManage')}`,
+        `${$t('operatManage.DownloadLog')}`,
+      ]"></My-bread>
+    <el-divider />
+    <div class="inquire">
+      <el-form
+        :inline="true"
+        ref="sizeForm"
+        :model="sizeForm"
+      >
+        <el-form-item
+          prop="uname"
+          :label="$t('operatManage.operationLogObj.username')"
+        >
+          <el-input
+            v-model="sizeForm.uname"
+            :placeholder="$t('operatManage.operationLogObj.pleaseInput')"
+          />
+        </el-form-item>
+        <el-form-item
+          prop="type"
+          :label="$t('operatManage.operationLogObj.operationType')"
+        >
+          <el-select
+            v-model="sizeForm.type"
+            :placeholder="$t('operatManage.operationLogObj.pleaseSelect')"
+          >
+            <el-option
+              :label="$t('downlog.type1')"
+              value="1"
+            />
+            <el-option
+              :label="$t('downlog.type2')"
+              value="2"
+            />
+            <el-option
+              :label="$t('downlog.type3')"
+              value="3"
+            />
+            <el-option
+              :label="$t('downlog.type4')"
+              value="4"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          prop="start"
+          :label="$t('operatManage.operationLogObj.startTime')"
+        >
+          <el-date-picker
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            v-model="sizeForm.start"
+            style="width: 100%"
+            type="datetime"
+            :placeholder="$t('operatManage.operationLogObj.optionDate')"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item
+          prop="end"
+          :label="$t('operatManage.operationLogObj.endTime')"
+        >
+          <el-date-picker
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            v-model="sizeForm.end"
+            style="width: 100%"
+            type="datetime"
+            :placeholder="$t('operatManage.operationLogObj.optionDate')"
+          >
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item>
+          <el-button
+            @click="onSubmit"
+            icon="el-icon-search"
+            style="background: #409eff; border: 1px solid #409eff; color: white"
+          >{{ $t("operatManage.operationLogObj.inquire") }}</el-button>
+          <el-button
+            @click="resAllTable"
+            icon="el-icon-delete"
+            type="info"
+          >{{ $t("operatManage.operationLogObj.empty") }}</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="table_box">
+      <el-table
+        :data="tableData"
+        style="width: 100%"
+        height="85%"
+      >
+        <el-table-column
+          align="center"
+          type="index"
+          :label="$t('operatManage.ELM.index')"
+          width="70px"
+        />
+        <el-table-column
+          align="center"
+          prop="name"
+          :label="$t('operatManage.ELM.fileName')"
+        />
+        <el-table-column
+          align="center"
+          prop="uname"
+          :label="$t('operatManage.ELM.username')"
+        />
+
+        <el-table-column
+          align="center"
+          prop="type"
+          :label="$t('operatManage.ELM.type')"
+          :formatter="formatType"
+        />
+        <el-table-column
+          align="center"
+          prop="sizes"
+          :label="$t('operatManage.ELM.size')"
+          :formatter="formatSize"
+        />
+        <el-table-column
+          align="center"
+          prop="ip"
+          :label="$t('operatManage.ELM.ipadress')"
+        />
+        <el-table-column
+          align="center"
+          prop="createTime"
+          :label="$t('operatManage.ELM.careatetime')"
+          :formatter="formatData"
+        />
+      </el-table>
+      <div
+        style="margin-top: 40px"
+        class="pagination_box"
+      >
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="listData.pageIndex"
+          :page-sizes="[10, 20, 30, 40]"
+          :page-size="listData.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="count"
+        >
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import MyBread from "../../components/MyBread.vue";
+import {
+  downlog_selectByPageAndCount
+} from "../../api/api";
+export default {
+  //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {
+    MyBread,
+  },
+
+  data() {
+    return {
+      sizeForm: {
+        start: null,
+        end: null,
+        uname: null,
+        type: null,
+      },
+      tableData: [],
+      listData: {
+        pageIndex: 1,
+        pageSize: 10,
+        start: null,
+        end: null,
+        uname: null,
+        type: null
+      },
+      count: 0,
+    };
+  },
+  methods: {
+    formatSize(row, column) {
+      let data = row[column.property];
+      if (data == null) {
+        return data;
+      }
+
+      if (data > 1024) {
+        var val = data / 1024;
+        return val + "GB"
+      } else {
+        return data + "MB"
+      }
+    },
+    formatType(row, column) {
+      let data = row[column.property];
+      if (data == null) {
+        return data;
+      }
+      switch (data) {
+        case 1:
+          return 'Shp鏂囦欢';
+          break;
+        case 2:
+          return '涓撻鍥�';
+          break;
+        case 3:
+          return '鍏冩暟鎹�';
+          break;
+        case 4:
+          return '涓氬姟鏁版嵁';
+          break;
+        default:
+          return '鏈煡鏁版嵁';
+          break;
+      }
+    },
+    add0(m) {
+      return m < 10 ? "0" + m : m;
+    },
+    //鏍煎紡鍖栨椂闂�
+    format(shijianchuo) {
+      //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲
+      var time = new Date(shijianchuo);
+      var y = time.getFullYear();
+      var m = time.getMonth() + 1;
+      var d = time.getDate();
+      var h = time.getHours();
+      var mm = time.getMinutes();
+      var s = time.getSeconds();
+      return (
+        y + "-" + this.add0(m) + "-" + this.add0(d) +
+        " " +
+        this.add0(h) +
+        ":" +
+        this.add0(mm) +
+        ":" +
+        this.add0(s)
+      );
+    },
+    //鏍煎紡鍖栧垪琛�
+    formatData(row, column) {
+      let data = row[column.property];
+      if (data == null) {
+        return data;
+      }
+      return this.format(data);
+    },
+    resAllTable() {
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        start: null,
+        end: null,
+        uname: null,
+        type: null
+      }
+      this.sizeForm = {
+        start: null,
+        end: null,
+        uname: null,
+        type: null,
+      }
+      this.getAllData();
+    },
+    onSubmit() {
+      this.listData.end = this.sizeForm.end;
+      this.listData.start = this.sizeForm.start;
+      this.listData.type = this.sizeForm.type;
+      this.listData.uname = this.sizeForm.uname
+      this.getAllData();
+    },
+
+    handleSizeChange(val) {
+      this.listData.pageSize = val;
+      this.listData.pageIndex = 1;
+      this.getAllData();
+    },
+    handleCurrentChange(val) {
+      this.listData.pageIndex = val;
+      this.getAllData();
+    },
+    async getAllData() {
+      const data = await downlog_selectByPageAndCount(this.listData);
+      if (data.code != 200) {
+        return this.$message.error("鍒楄〃璋冪敤澶辫触");
+      }
+      this.tableData = data.result;
+      this.count = data.count;
+    }
+  },
+  created() {
+    this.getAllData();
+  },
+};
+</script>
+<style lang="less" scoped>
+//@import url(); 寮曞叆鍏叡css绫�
+.logLog_box {
+  border-radius: 10px;
+  height: 100%;
+
+  box-sizing: border-box;
+  .el-input {
+    width: 300px;
+  }
+  .inquire {
+    overflow: auto;
+    padding: 10px;
+    margin-top: 20px;
+
+    border-radius: 5px;
+    border: 1px solid rgb(202, 201, 204);
+    margin-bottom: 20px;
+    .el-form-item {
+      margin: 7px;
+    }
+    /deep/.el-form-item__label {
+      color: white;
+    }
+    /deep/ .el-input__inner {
+      background-color: transparent !important;
+      border: 1px solid;
+      color: white;
+    }
+  }
+  .table_box {
+    overflow: auto;
+    height: 70%;
+    padding: 10px;
+
+    border-radius: 5px;
+    border: 1px solid rgb(202, 201, 204);
+    height: 555px;
+    /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/
+    /deep/ .el-table {
+      background-color: transparent;
+
+      th,
+      td {
+        background-color: transparent;
+      }
+      .el-table__expanded-cell {
+        background-color: transparent !important;
+      }
+
+      // 琛ㄥご鑳屾櫙鑹�
+      th.el-table__cell {
+        background-color: #303030;
+        color: #fff;
+      }
+      tr > td {
+        background-color: #303030;
+        color: #fff;
+      }
+
+      // hover鏁堟灉
+      tr:hover > td {
+        background-color: rgba(255, 255, 255, 0.3) !important;
+      }
+
+      tbody tr:hover {
+        background-color: rgba(255, 255, 255, 0.3) !important;
+        // text-align: center;
+      }
+
+      // 婊氬姩鏉″楂�
+      .el-table__body-wrapper::-webkit-scrollbar {
+        width: 5px;
+        height: 5px;
+      }
+
+      .el-table__body-wrapper::-webkit-scrollbar {
+        width: 5px;
+        /*婊氬姩鏉″搴�*/
+        height: 10px;
+        /*婊氬姩鏉¢珮搴�*/
+      }
+      /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/
+      .el-table__body-wrapper::-webkit-scrollbar-track {
+        box-shadow: 0px 1px 3px #216fe6 inset;
+        /*婊氬姩鏉$殑鑳屾櫙鍖哄煙鐨勫唴闃村奖*/
+        border-radius: 10px;
+      }
+
+      /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/
+      .el-table__body-wrapper::-webkit-scrollbar-thumb {
+        box-shadow: 0px 1px 3px #216fe6 inset;
+        border-radius: 6px;
+        background-color: #216fe6;
+      }
+    }
+    .pagination_box {
+      /deep/.el-input__inner {
+        background-color: transparent !important;
+        border: 1px solid;
+        color: white;
+      }
+      /deep/.el-pagination__total {
+        color: white;
+      }
+      /deep/.el-pagination__jump {
+        color: white;
+      }
+      /deep/.el-pager li.active {
+        color: #1890ff;
+      }
+      /deep/.el-pager li {
+        color: white;
+        background: transparent;
+      }
+      /deep/.el-pager li {
+        color: white;
+      }
+      /deep/.btn-prev {
+        background: transparent;
+      }
+      /deep/.btn-next {
+        background: transparent;
+      }
+    }
+  }
+  .text-center {
+    text-align: center;
+  }
+}
+/deep/ .el-select .el-input__inner {
+  border-color: #fff !important;
+}
+</style>
diff --git a/src/views/maintenance/eventlogManage.vue b/src/views/maintenance/eventlogManage.vue
index d7a7b3e..a6a4716 100644
--- a/src/views/maintenance/eventlogManage.vue
+++ b/src/views/maintenance/eventlogManage.vue
@@ -280,7 +280,7 @@
     width: 300px;
   }
   .inquire {
-    height: 110px;
+    
     overflow: auto;
     padding: 10px;
     margin-top: 20px;
@@ -302,12 +302,12 @@
   }
   .table_box {
     overflow: auto;
-    height: 70%;
+     
     padding: 10px;
 
     border-radius: 5px;
     border: 1px solid rgb(202, 201, 204);
-    height: 480px;
+    height:555px;
     /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/
     /deep/ .el-table {
       background-color: transparent;
diff --git a/src/views/maintenance/logLog.vue b/src/views/maintenance/logLog.vue
index f94e704..8a9e1d8 100644
--- a/src/views/maintenance/logLog.vue
+++ b/src/views/maintenance/logLog.vue
@@ -8,10 +8,8 @@
     ></My-bread>
     <el-divider />
     <div class="inquire">
-      <div class="herder_box">
-        {{ $t("operatManage.operationLogObj.queryRegion") }}
-      </div>
-      <el-form :inline="true" ref="sizeForm" :model="sizeForm" size="mini">
+     
+      <el-form :inline="true" ref="sizeForm" :model="sizeForm"  >
         <el-form-item
           prop="uname"
           :label="$t('operatManage.operationLogObj.username')"
@@ -302,7 +300,7 @@
     border-radius: 5px;
     border: 1px solid rgb(202, 201, 204);
     overflow: auto;
-    height: 480px;
+    height: 535px;
     /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/
     /deep/ .el-table {
       background-color: transparent;
diff --git a/src/views/maintenance/mochaitmo.vue b/src/views/maintenance/mochaitmo.vue
index 3e9eb76..b0b62a9 100644
--- a/src/views/maintenance/mochaitmo.vue
+++ b/src/views/maintenance/mochaitmo.vue
@@ -20,48 +20,25 @@
       <el-card class="el-card-define">
         <div>
           <menu-settings v-if="setMenuFlag == 'menuSettings'"></menu-settings>
-          <user-management
-            v-if="setMenuFlag == 'userInfoManage'"
-          ></user-management>
+          <user-management v-if="setMenuFlag == 'userInfoManage'"></user-management>
           <org-manage v-if="setMenuFlag == 'orgManage'"></org-manage>
-          <resource-manage
-            v-if="setMenuFlag == 'resourceManage'"
-          ></resource-manage>
+          <resource-manage v-if="setMenuFlag == 'resourceManage'"></resource-manage>
           <role-manage v-if="setMenuFlag == 'roleManage'"></role-manage>
-          <authority-manage
-            v-if="setMenuFlag == 'authorityManage'"
-          ></authority-manage>
-          <user-role-authorization
-            v-if="setMenuFlag == 'userRoleAuthorization'"
-          ></user-role-authorization>
-          <menu-role-authorization
-            v-if="setMenuFlag == 'menuRoleAuthorization'"
-          ></menu-role-authorization>
-          <role-menu-authorization
-            v-if="setMenuFlag == 'roleMenuAuthorization'"
-          >
+          <authority-manage v-if="setMenuFlag == 'authorityManage'"></authority-manage>
+          <user-role-authorization v-if="setMenuFlag == 'userRoleAuthorization'"></user-role-authorization>
+          <menu-role-authorization v-if="setMenuFlag == 'menuRoleAuthorization'"></menu-role-authorization>
+          <role-menu-authorization v-if="setMenuFlag == 'roleMenuAuthorization'">
           </role-menu-authorization>
-          <role-res-authorization
-            v-if="setMenuFlag == 'roleResAuthorization'"
-          ></role-res-authorization>
+          <role-res-authorization v-if="setMenuFlag == 'roleResAuthorization'"></role-res-authorization>
           <log-log v-if="setMenuFlag == 'logLog'"> </log-log>
           <operation-log v-if="setMenuFlag == 'operationLog'"></operation-log>
-          <eventlog-manage
-            v-if="setMenuFlag == 'eventlogManage'"
-          ></eventlog-manage>
+          <eventlog-manage v-if="setMenuFlag == 'eventlogManage'"></eventlog-manage>
           <tokentool v-if="setMenuFlag == 'tokentool'"></tokentool>
-          <blackwhite-list
-            v-if="setMenuFlag == 'blackwhiteList'"
-          ></blackwhite-list>
-          <database-monitoring
-            v-if="setMenuFlag == 'dataIfream'"
-          ></database-monitoring>
-          <system-monitoring
-            v-if="setMenuFlag == 'systemMonitoring'"
-          ></system-monitoring>
-          <parameter-configuration
-            v-if="setMenuFlag == 'parameterConfiguration'"
-          ></parameter-configuration>
+          <blackwhite-list v-if="setMenuFlag == 'blackwhiteList'"></blackwhite-list>
+          <database-monitoring v-if="setMenuFlag == 'dataIfream'"></database-monitoring>
+          <system-monitoring v-if="setMenuFlag == 'systemMonitoring'"></system-monitoring>
+          <parameter-configuration v-if="setMenuFlag == 'parameterConfiguration'"></parameter-configuration>
+          <downlog v-if="setMenuFlag == 'downlog'"></downlog>
         </div>
       </el-card>
     </div>
@@ -87,6 +64,7 @@
 import databaseMonitoring from '@/views/maintenance/databaseMonitoring.vue'; //鏁版嵁搴撶洃鎺�
 import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //绯荤粺鐩戞帶
 import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //绯荤粺閰嶇疆
+import downlog  from '@/views/maintenance/downlog.vue'; //涓嬭浇鏃ュ織
 import { selectMenuRecursive, queryMenuTree, getPerms } from '../../api/api';
 import customElMenu from '../../components/customElMenu.vue';
 export default {
@@ -110,6 +88,7 @@
     systemMonitoring,
     parameterConfiguration,
     customElMenu,
+    downlog
   },
   data() {
     return {
@@ -135,7 +114,7 @@
   created() {
     this.getTreeData();
   },
-  mounted() {},
+  mounted() { },
   methods: {
     async getCookies() {
       var boolean = this.getTimeCookies();
@@ -224,6 +203,7 @@
         }
       }
       this.setMenuFlag = index;
+
     },
   },
 };
diff --git a/src/views/maintenance/operationLog.vue b/src/views/maintenance/operationLog.vue
index d0198bf..b78ef63 100644
--- a/src/views/maintenance/operationLog.vue
+++ b/src/views/maintenance/operationLog.vue
@@ -8,9 +8,7 @@
     ></My-bread>
     <el-divider />
     <div class="inquire">
-      <div class="herder_box">
-        {{ $t("operatManage.operationLogObj.queryRegion") }}
-      </div>
+      
       <el-form :inline="true" ref="sizeForm" :model="sizeForm">
         <el-form-item
           prop="uname"
@@ -332,7 +330,7 @@
     border-radius: 5px;
 
     overflow: auto;
-    height: 480px;
+    height: 530px;
     /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/
     /deep/ .el-table {
       background-color: transparent;

--
Gitblit v1.9.3