From a502dc5a81d42a70e2ba2ad9e4cce97fea2b7669 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期三, 14 一月 2026 15:42:02 +0800
Subject: [PATCH] #

---
 src/main/webapp/components/WatchCrnCard.js |   83 ++++++++++++++++++++++++++---------------
 1 files changed, 53 insertions(+), 30 deletions(-)

diff --git a/src/main/webapp/components/WatchCrnCard.js b/src/main/webapp/components/WatchCrnCard.js
index 96a8574..d760b97 100644
--- a/src/main/webapp/components/WatchCrnCard.js
+++ b/src/main/webapp/components/WatchCrnCard.js
@@ -5,7 +5,7 @@
             <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>
-        <div style="margin-bottom: 10px;">
+        <div style="margin-bottom: 10px;" v-if="!readOnly">
             <div style="margin-bottom: 5px;">
                <el-button v-if="showControl" @click="openControl" size="mini">鍏抽棴鎺у埗涓績</el-button>
                <el-button v-else @click="openControl" size="mini">鎵撳紑鎺у埗涓績</el-button>
@@ -53,8 +53,11 @@
                 <el-descriptions-item label="鍗囬檷璺濈(Km)">{{ item.ydistance }}</el-descriptions-item>
                 <el-descriptions-item label="璧拌鏃堕暱(H)">{{ item.xDuration }}</el-descriptions-item>
                 <el-descriptions-item label="鍗囬檷鏃堕暱(H)">{{ item.yduration }}</el-descriptions-item>
+                <el-descriptions-item label="绉伴噸鏁版嵁">{{ item.weight }}</el-descriptions-item>
+                <el-descriptions-item label="鏉$爜鏁版嵁">{{ item.barcode }}</el-descriptions-item>
                 <el-descriptions-item label="鏁呴殰浠g爜">{{ item.warnCode }}</el-descriptions-item>
                 <el-descriptions-item label="鏁呴殰鎻忚堪">{{ item.alarm }}</el-descriptions-item>
+                <el-descriptions-item label="鎵╁睍鏁版嵁">{{ item.extend }}</el-descriptions-item>
             </el-descriptions>
             </el-collapse-item>
           </el-collapse>
@@ -72,7 +75,20 @@
         </div>
     </div>
     `,
-  props: ["param"],
+  props: {
+    param: {
+      type: Object,
+      default: () => ({})
+    },
+    autoRefresh: {
+      type: Boolean,
+      default: true
+    },
+    readOnly: {
+      type: Boolean,
+      default: false
+    }
+  },
   data() {
     return {
       crnList: [],
@@ -86,12 +102,20 @@
       },
       pageSize: 25,
       currentPage: 1,
+      timer: null
     };
   },
   created() {
-    setInterval(() => {
-      this.getCrnStateInfo();
-    }, 1000);
+    if (this.autoRefresh) {
+      this.timer = setInterval(() => {
+        this.getCrnStateInfo();
+      }, 1000);
+    }
+  },
+  beforeDestroy() {
+    if (this.timer) {
+      clearInterval(this.timer);
+    }
   },
   computed: {
     displayCrnList() {
@@ -103,8 +127,9 @@
   watch: {
     param: {
       handler(newVal, oldVal) {
-        if (newVal.crnNo != 0) {
+        if (newVal && newVal.crnNo && newVal.crnNo != 0) {
           this.activeNames = newVal.crnNo;
+          this.searchCrnNo = newVal.crnNo;
           const idx = this.crnList.findIndex(i => i.crnNo == newVal.crnNo);
           if (idx >= 0) { this.currentPage = Math.floor(idx / this.pageSize) + 1; }
         }
@@ -122,33 +147,31 @@
       this.currentPage = 1;
     },
     getCrnStateInfo() {
+      if (this.$root.sendWs) {
+        this.$root.sendWs(JSON.stringify({
+          "url": "/crn/table/crn/state",
+          "data": {}
+        }));
+      }
+    },
+    setCrnList(res) {
       let that = this;
-      $.ajax({
-        url: baseUrl + "/crn/table/crn/state",
-        headers: {
-          token: localStorage.getItem("token"),
-        },
-        method: "post",
-        success: (res) => {
-          // 鍫嗗灈鏈轰俊鎭〃鑾峰彇
-          if (res.code == 200) {
-            let list = res.data;
+      if (res.code == 200) {
+        let list = res.data;
 
-            if (that.searchCrnNo == "") {
-              that.crnList = list;
-            } else {
-              let tmp = [];
-              list.forEach((item) => {
-                if (item.crnNo == that.searchCrnNo) {
-                  tmp.push(item);
-                }
-              });
-              that.crnList = tmp;
-              that.currentPage = 1;
+        if (that.searchCrnNo == "") {
+          that.crnList = list;
+        } else {
+          let tmp = [];
+          list.forEach((item) => {
+            if (item.crnNo == that.searchCrnNo) {
+              tmp.push(item);
             }
-          }
-        },
-      });
+          });
+          that.crnList = tmp;
+          that.currentPage = 1;
+        }
+      }
     },
     openControl() {
       this.showControl = !this.showControl;

--
Gitblit v1.9.1