From bbf4add59c8a4d973ef3dcebfd25ca99aade6fbe Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 10 十一月 2025 11:18:02 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/components/MapSettingCard.js |   43 +++++++++++++++++++++
 src/main/webapp/views/admin/watch/console.html     |   20 ++++++---
 src/main/webapp/views/components/WatchCrnCard.js   |   21 +++++++++-
 3 files changed, 74 insertions(+), 10 deletions(-)

diff --git a/src/main/webapp/views/admin/watch/console.html b/src/main/webapp/views/admin/watch/console.html
index 504652d..2323018 100644
--- a/src/main/webapp/views/admin/watch/console.html
+++ b/src/main/webapp/views/admin/watch/console.html
@@ -23,10 +23,12 @@
 						</el-tab-pane>
 						<el-tab-pane label="杈撻�佺嚎" name="devp">杈撻�佺嚎</el-tab-pane>
 						<el-tab-pane label="RGV" name="rgv">RGV</el-tab-pane>
-						<el-tab-pane label="鍦板浘閰嶇疆" name="mapSetting">鍦板浘閰嶇疆</el-tab-pane>
+						<el-tab-pane label="鍦板浘閰嶇疆" name="mapSetting">
+							<map-setting-card :param="mapSettingParam"></map-setting-card>
+						</el-tab-pane>
 					</el-tabs>
 				</div>
-				<div id="mapDataId" style="zoom: 0.6;position: relative;">
+				<div id="mapDataId" style="position: relative;" :style="{zoom: mapSettingParam.zoom / 100}">
 					<table class="excel-table">
 						<tr v-for="(row,index) in map" :key="index">
 							<td
@@ -69,6 +71,7 @@
 		</div>
 
 		<script src="../../components/WatchCrnCard.js"></script>
+		<script src="../../components/MapSettingCard.js"></script>
 		<script>
 			var app = new Vue({
 				el: '#app',
@@ -82,6 +85,9 @@
 					activateCard: 'crn',
 					crnParam: {
 						crnNo: 0
+					},
+					mapSettingParam: {
+						zoom: 70
 					}
 				},
 				created() {
@@ -95,11 +101,11 @@
 						this.getMap()
 						this.getSystemRunningStatus() //鑾峰彇绯荤粺杩愯鐘舵��
 
-						this.consoleInterval = setInterval(() => {
-							this.getCrnInfo() //鑾峰彇鍫嗗灈鏈烘暟鎹�
-							this.getSiteInfo() //鑾峰彇杈撻�佺珯鐐规暟鎹�
-							this.getRgvInfo() //鑾峰彇RGV鏁版嵁
-						}, 1000)
+						// this.consoleInterval = setInterval(() => {
+						// 	this.getCrnInfo() //鑾峰彇鍫嗗灈鏈烘暟鎹�
+						// 	this.getSiteInfo() //鑾峰彇杈撻�佺珯鐐规暟鎹�
+						// 	this.getRgvInfo() //鑾峰彇RGV鏁版嵁
+						// }, 1000)
 					},
 					//鑾峰彇鍦板浘鏁版嵁
 					getMap() {
diff --git a/src/main/webapp/views/components/MapSettingCard.js b/src/main/webapp/views/components/MapSettingCard.js
new file mode 100644
index 0000000..2065963
--- /dev/null
+++ b/src/main/webapp/views/components/MapSettingCard.js
@@ -0,0 +1,43 @@
+Vue.component('map-setting-card', {
+    template: `
+    <div>
+        <div>
+              <div class="block">
+                <span>鍦板浘姣斾緥 {{ zoom }}%</span>
+                <el-slider v-model="zoom" @change="zoomChange" :min="1"></el-slider>
+              </div>
+        </div>
+    </div>
+    `,
+    props: ['param'],
+    data() {
+        return {
+            zoom: 70
+        }
+    },
+    created() {
+
+    },
+    watch: {
+        param: {
+            handler(newVal, oldVal) {
+
+            },
+            deep: true,       // 娣卞害鐩戝惉宓屽灞炴��
+            immediate: true   // 绔嬪嵆瑙﹀彂涓�娆★紙鍙�夛級
+        }
+    },
+    created() {
+        let cache= localStorage.getItem("mapZoom");
+        if (cache != null) {
+            this.zoom = parseInt(cache)
+            this.param.zoom = this.zoom
+        }
+    },
+    methods: {
+        zoomChange() {
+            this.param.zoom = this.zoom
+            localStorage.setItem("mapZoom", this.zoom);
+        }
+    }
+});
\ No newline at end of file
diff --git a/src/main/webapp/views/components/WatchCrnCard.js b/src/main/webapp/views/components/WatchCrnCard.js
index f38e6c4..a46864d 100644
--- a/src/main/webapp/views/components/WatchCrnCard.js
+++ b/src/main/webapp/views/components/WatchCrnCard.js
@@ -1,7 +1,10 @@
 Vue.component('watch-crn-card', {
     template: `
     <div>
-        <div>鍫嗗灈鏈虹洃鎺�</div>
+        <div style="display: flex;margin-bottom: 10px;">
+            <div style="width: 100%;">鍫嗗灈鏈虹洃鎺�</div>
+            <div style="width: 100%;text-align: right;display: flex;"><el-input size="mini" v-model="searchCrnNo" placeholder="璇疯緭鍏ュ爢鍨涙満鍙�"></el-input><el-button @click="getCrnStateInfo" size="mini">鏌ヨ</el-button></div>
+        </div>
         <el-collapse v-model="activeNames">
           <el-collapse-item v-for="(item) in crnList" :name="item.crnNo">
             <template slot="title">
@@ -46,7 +49,8 @@
     data() {
         return {
             crnList: [],
-            activeNames: ''
+            activeNames: '',
+            searchCrnNo: ''
         }
     },
     created() {
@@ -78,7 +82,18 @@
                     // 鍫嗗灈鏈轰俊鎭〃鑾峰彇
                     if (res.code == 200) {
                         let list = res.data;
-                        that.crnList = list;
+
+                        if (that.searchCrnNo == '') {
+                            that.crnList = list;
+                        }else {
+                            let tmp = []
+                            list.forEach((item) => {
+                                if(item.crnNo == that.searchCrnNo) {
+                                    tmp.push(item)
+                                }
+                            })
+                            that.crnList = tmp;
+                        }
                     }
                 }
             })

--
Gitblit v1.9.1