From 28dfce304e4cacf5a339a61c6fdec56dfa9edabf Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 22 三月 2026 09:37:10 +0800
Subject: [PATCH] #

---
 src/main/webapp/components/DevpCard.js |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/src/main/webapp/components/DevpCard.js b/src/main/webapp/components/DevpCard.js
index d699cfc..b55e1d4 100644
--- a/src/main/webapp/components/DevpCard.js
+++ b/src/main/webapp/components/DevpCard.js
@@ -1,9 +1,11 @@
+var stationTracePageVersion = "20260319_station_trace_layout_v2";
+
 Vue.component("devp-card", {
   template: `
     <div class="mc-root">
       <div class="mc-toolbar">
         <div class="mc-title">杈撻�佺洃鎺�</div>
-        <div class="mc-search">
+        <div v-if="!readOnly" class="mc-search">
           <input class="mc-input" v-model="searchStationId" placeholder="璇疯緭鍏ョ珯鍙�" />
           <button type="button" class="mc-btn mc-btn-ghost" @click="getDevpStateInfo">鏌ヨ</button>
         </div>
@@ -32,6 +34,8 @@
           <div class="mc-action-row">
             <button type="button" class="mc-btn" @click="controlCommand">涓嬪彂</button>
             <button type="button" class="mc-btn mc-btn-soft" @click="resetCommand">澶嶄綅</button>
+            <button type="button" class="mc-btn mc-btn-ghost" @click="openStationTracePage">杩愯杞ㄨ抗</button>
+            <button v-if="showFakeTraceEntry" type="button" class="mc-btn mc-btn-ghost" @click="openFakeTracePage">浠跨湡杞ㄨ抗</button>
           </div>
         </div>
       </div>
@@ -88,7 +92,7 @@
         <div v-if="displayStationList.length === 0" class="mc-empty">褰撳墠娌℃湁鍙睍绀虹殑绔欑偣鏁版嵁</div>
       </div>
 
-      <div class="mc-footer">
+      <div v-if="!readOnly || totalPages > 1" class="mc-footer">
         <button type="button" class="mc-page-btn" :disabled="currentPage <= 1" @click="handlePageChange(currentPage - 1)">涓婁竴椤�</button>
         <span>{{ currentPage }} / {{ totalPages }}</span>
         <button type="button" class="mc-page-btn" :disabled="currentPage >= totalPages" @click="handlePageChange(currentPage + 1)">涓嬩竴椤�</button>
@@ -113,7 +117,8 @@
         targetStationId: ""
       },
       barcodePreviewCache: {},
-      pageSize: 12,
+      showFakeTraceEntry: false,
+      pageSize: this.readOnly ? 24 : 12,
       currentPage: 1,
       timer: null
     };
@@ -155,6 +160,7 @@
   },
   created: function () {
     MonitorCardKit.ensureStyles();
+    this.loadFakeProcessStatus();
     if (this.autoRefresh) {
       this.timer = setInterval(this.getDevpStateInfo, 1000);
     }
@@ -223,8 +229,34 @@
         this.afterDataRefresh();
       }
     },
+    loadFakeProcessStatus: function () {
+      if (this.readOnly || !window.$ || typeof baseUrl === "undefined") {
+        this.showFakeTraceEntry = false;
+        return;
+      }
+      $.ajax({
+        url: baseUrl + "/openapi/getFakeSystemRunStatus",
+        method: "get",
+        success: function (res) {
+          var data = res && res.data ? res.data : null;
+          this.showFakeTraceEntry = !!(data && data.isFake);
+        }.bind(this),
+        error: function () {
+          this.showFakeTraceEntry = false;
+        }.bind(this)
+      });
+    },
     openControl: function () {
       this.showControl = !this.showControl;
+    },
+    openFakeTracePage: function () {
+      if (!this.showFakeTraceEntry) {
+        return;
+      }
+      window.open(baseUrl + "/views/watch/fakeTrace.html", "_blank");
+    },
+    openStationTracePage: function () {
+      window.open(baseUrl + "/views/watch/stationTrace.html?v=" + stationTracePageVersion, "_blank");
     },
     buildDetailEntries: function (item) {
       return [
@@ -245,6 +277,7 @@
         { label: "浠诲姟鍙啓鍖�", value: this.orDash(item.taskWriteIdx) },
         { label: "鏁呴殰浠g爜", value: this.orDash(item.error) },
         { label: "鏁呴殰淇℃伅", value: this.orDash(item.errorMsg) },
+        { label: "绯荤粺鍛婅", value: this.orDash(item.systemWarning) },
         { label: "鎵╁睍鏁版嵁", value: this.orDash(item.extend) }
       ];
     },

--
Gitblit v1.9.1