From f1fbe8049ba01186f033037e6ae36d51915c7418 Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期二, 20 五月 2025 15:09:59 +0800
Subject: [PATCH] 调用求解器

---
 src/components/monifangzhen/schemeInfo.vue |   77 +++++++++++++++++++++++++-------------
 1 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/src/components/monifangzhen/schemeInfo.vue b/src/components/monifangzhen/schemeInfo.vue
index df5c387..100d392 100644
--- a/src/components/monifangzhen/schemeInfo.vue
+++ b/src/components/monifangzhen/schemeInfo.vue
@@ -1,13 +1,18 @@
 <template>
   <div class="listCard">
-    <div class="top"><span>鏂规璇︽儏</span>
-    </div>
+    <div class="top"><span>鏂规璇︽儏</span></div>
     <div class="details">
       <div v-if="formattedData.length" class="input-group">
-        <div v-for="(item, index) in formattedData" :key="index" class="input-item">
+        <div
+          v-for="(item, index) in formattedData"
+          :key="index"
+          class="input-item"
+        >
           <label>{{ item.name }}</label>
-          <span :class="{ 'clickable': item.isClickable }"
-            @click="item.isClickable ? openGaugeDialog(item.gauges) : null">
+          <span
+            :class="{ clickable: item.isClickable }"
+            @click="item.isClickable ? openGaugeDialog(item.gauges) : null"
+          >
             {{ item.value }}
           </span>
         </div>
@@ -16,14 +21,22 @@
         <p style="text-align: center">鏆傛棤鏂规淇℃伅</p>
       </div>
     </div>
-    <div>
-
-    </div>
+    <div></div>
   </div>
-  <Message @close="close" class="mess" v-show="messageShow" :mesData="mesData" />
+  <Message
+    @close="close"
+    class="mess"
+    v-show="messageShow"
+    :mesData="mesData"
+  />
   <!-- 娣诲姞闆ㄩ噺璁″脊绐� -->
   <div class="dialoog">
-    <el-dialog v-model="dialogVisible" title="闆ㄩ噺璁¤鎯�" width="50%" :before-close="handleClose">
+    <el-dialog
+      v-model="dialogVisible"
+      title="闆ㄩ噺璁¤鎯�"
+      width="50%"
+      :before-close="handleClose"
+    >
       <div class="table-container">
         <el-table :data="gaugesData" border stripe height="100%">
           <el-table-column prop="name" label="鍚嶇О"></el-table-column>
@@ -39,12 +52,17 @@
       </template> -->
     </el-dialog>
   </div>
-
 </template>
 
 <script setup>
 import { defineProps, defineEmits, inject, ref, watch } from "vue";
-import { ElDialog, ElTable, ElTableColumn, ElButton ,ElMessage} from "element-plus";
+import {
+  ElDialog,
+  ElTable,
+  ElTableColumn,
+  ElButton,
+  ElMessage,
+} from "element-plus";
 import dayjs from "dayjs";
 // 鍏叡渚濊禆
 const props = defineProps({ selectedScheme: { type: Object, default: null } });
@@ -54,13 +72,12 @@
 // 鐘舵�佺鐞�
 const formattedData = ref([]);
 
-
 // 鏄犲皠琛�
 const areaTypeMap = {
   0: "鑷畾涔夊尯鍩熶豢鐪�",
   1: "琛屾斂鍖哄垝浠跨湡",
   2: "閲嶇偣鍖哄煙浠跨湡",
-  3: "閲嶇偣娌熶豢鐪�"
+  3: "閲嶇偣娌熶豢鐪�",
 };
 
 const statusMap = {
@@ -68,17 +85,25 @@
   1: "棰勫鐞�",
   2: "鍒嗘瀽涓�",
   10: "瀹屾垚",
-  20: "鍑洪敊"
+  20: "鍑洪敊",
 };
 
 const typeMap = {
   1: "棰勬祴妯℃嫙",
   2: "瀹炴椂妯℃嫙",
-  3: "鍘嗗彶妯℃嫙"
+  3: "鍘嗗彶妯℃嫙",
 };
 
 // 璺宠繃瀛楁鍒楄〃
-const skipKeys = ["geom", "id", "serviceName", "updateTime", "updateUser", "createUser", "bak"];
+const skipKeys = [
+  "geom",
+  "id",
+  "serviceName",
+  "updateTime",
+  "updateUser",
+  "createUser",
+  "bak",
+];
 
 // 澶勭悊 data 瀛楁瑙f瀽
 function parseDataField(dataStr) {
@@ -92,24 +117,24 @@
       intensity: "闄嶉洦寮哄害锛坢m/灏忔椂锛夛細",
       prediction: "闄嶉洦鍦烘锛�",
       model: "闄嶉洦妯″紡锛�",
-      history: "鍘嗗彶闄嶉洦锛�"
+      history: "鍘嗗彶闄嶉洦锛�",
     };
 
     const result = Object.entries(parsed)
       .filter(([k]) => fields[k])
       .map(([k, v]) => ({
         name: fields[k],
-        value: v || "鏃�"
+        value: v || "鏃�",
       }));
 
     // 澶勭悊闆ㄩ噺璁℃暟鎹�
-    if (parsed.gauges && Array.isArray(parsed.gauges)) {
-      const gaugeNames = parsed.gauges.map(g => g.name).join(", ") || "鏃�";
+    if (parsed.type == 2 && parsed.gauges && Array.isArray(parsed.gauges)) {
+      const gaugeNames = parsed.gauges.map((g) => g.name).join(", ") || "鏃�";
       result.push({
         name: "闆ㄩ噺璁″垪琛細",
-        value: '鏌ョ湅闆ㄩ噺璁″垪琛�',
+        value: "鏌ョ湅闆ㄩ噺璁″垪琛�",
         isClickable: true,
-        gauges: parsed.gauges
+        gauges: parsed.gauges,
       });
     }
 
@@ -136,7 +161,7 @@
     const entries = Object.entries(newScheme);
     const areaType = newScheme.areaType;
 
-    console.log(newScheme, 'news');
+    // console.log(newScheme, "news");
 
     const result = entries.reduce((acc, [key, value]) => {
       if (skipKeys.includes(key)) return acc;
@@ -185,11 +210,11 @@
 // 鎵撳紑闆ㄩ噺璁″脊绐�
 function openGaugeDialog(gauges) {
   if (Array.isArray(gauges) && gauges.length > 0) {
-    gaugesData.value = gauges.map(g => ({
+    gaugesData.value = gauges.map((g) => ({
       name: g.name || "鏈煡",
       x: g.x != null ? g.x.toFixed(2) : "-",
       y: g.y != null ? g.y.toFixed(2) : "-",
-      r: g.r || "-"
+      r: g.r || "-",
     }));
     dialogVisible.value = true;
   } else {

--
Gitblit v1.9.3