Prechádzať zdrojové kódy

作业执行里出现id切换 数据没换问题 修复

pm 11 mesiacov pred
rodič
commit
efcf177e38

+ 1 - 1
src/views/mes/job/jobplay/index.vue

@@ -454,8 +454,8 @@ export default {
     },
     // 查看
     handleLook(row) {
+      localStorage.setItem('ticketId',row.ticketId)
       // 设置为true表示作业票里查看不可以点击隔离点
-
       this.$router.push(
         `/mes/job/jobplay/jobPlayDetail?ticketId=${row.ticketId}`
       );

+ 49 - 57
src/views/mes/job/jobplay/jobPlayDetail.vue

@@ -36,7 +36,7 @@
             <span style="font-weight: bolder">人员状态</span>
           </div>
           <el-table :data="lockUserList">
-            <el-table-column label="上锁人" prop="userName"> </el-table-column>
+            <el-table-column label="上锁人" prop="userName"></el-table-column>
             <el-table-column label="状态" align="center" prop="jobStatus">
               <template slot-scope="scope">
                 <div
@@ -61,13 +61,13 @@
                   <span
                     v-else-if="scope.row.jobStatus == 4"
                     style="font-size: 20px; line-height: 30px"
-                    >🔒</span
+                  >🔒</span
                   >
                   <!-- 显示对号 -->
                   <span
                     v-else-if="scope.row.jobStatus == 5"
                     style="font-size: 20px; line-height: 30px"
-                    >✓</span
+                  >✓</span
                   >
                 </div>
               </template>
@@ -76,7 +76,7 @@
         </el-card>
         <el-card class="box-cardgsr">
           <el-table :data="colockUserList">
-            <el-table-column label="共锁人" prop="userName"> </el-table-column>
+            <el-table-column label="共锁人" prop="userName"></el-table-column>
             <el-table-column label="状态" align="center" prop="jobStatus">
               <template slot-scope="scope">
                 <div
@@ -101,13 +101,13 @@
                   <span
                     v-else-if="scope.row.jobStatus == 4"
                     style="font-size: 20px; line-height: 30px"
-                    >🔒</span
+                  >🔒</span
                   >
                   <!-- 显示对号 -->
                   <span
                     v-else-if="scope.row.jobStatus == 5"
                     style="font-size: 20px; line-height: 30px"
-                    >✓</span
+                  >✓</span
                   >
                 </div>
               </template>
@@ -141,20 +141,20 @@
                   <span
                     v-else-if="scope.row.pointStatus == 1"
                     style="font-size: 20px; line-height: 30px"
-                    >🔒</span
+                  >🔒</span
                   >
                   <!-- 显示对号 -->
                   <span
                     v-else-if="scope.row.pointStatus == 2"
                     style="font-size: 20px; line-height: 30px"
-                    >✓</span
+                  >✓</span
                   >
                 </div>
               </template>
             </el-table-column>
             <el-table-column label="挂锁名称" prop="lockName">
             </el-table-column>
-            <el-table-column label="锁具" prop="locksetName"> </el-table-column>
+            <el-table-column label="锁具" prop="locksetName"></el-table-column>
           </el-table>
         </el-card>
       </el-col>
@@ -163,11 +163,11 @@
 </template>
 
 <script>
-import { getJobPlayTicketInfo } from "@/api/mes/jobplay/jobplay";
+import { getJobPlayTicketInfo } from '@/api/mes/jobplay/jobplay'
 // import { connectWebsocket, closeWebsocket, sendMsg } from "@/utils/websocket";
 export default {
-  name: "jobPlayDetail",
-  dicts: ["ticket_type", "ticket_status"],
+  name: 'jobPlayDetail',
+  dicts: ['ticket_type', 'ticket_status'],
   data() {
     return {
       jobTicket: [],
@@ -175,43 +175,27 @@ export default {
       colockUserList: [],
       ticketPointsList: [],
       ticketId: null,
-      intervalId: null,
-    };
-  },
-
-  created() {
-    // 检查路由参数
-    if (this.$route.query.ticketId) {
-      this.ticketId = this.$route.query.ticketId;
-      // 将 ticketId 存储到 localStorage
-      localStorage.setItem("ticketId", this.ticketId);
-    } else {
-      // 从 localStorage 获取 ticketId
-      this.ticketId = localStorage.getItem("ticketId");
+      intervalId: null
     }
-    // this.initWebSocket();
+  },
 
+  mounted() {
+    this.getJobPlayInfo()
+    this.startRefreshing()
+    // 监听页面可见性变化
+    document.addEventListener('visibilitychange', this.handleVisibilityChange)
   },
   // 页面销毁就停止webStocket
   destroyed() {
     // this.destory()
   },
-  mounted() {
-    this.getJobPlayInfo();
-    // setInterval(() => {
-    //   this.getJobPlayInfo();
-    // }, 5000);
-    this.startRefreshing();
-    // 监听页面可见性变化
-    document.addEventListener("visibilitychange", this.handleVisibilityChange);
-  },
   beforeDestroy() {
     // 清理定时器和事件监听器
-    this.stopRefreshing();
+    this.stopRefreshing()
     document.removeEventListener(
-      "visibilitychange",
+      'visibilitychange',
       this.handleVisibilityChange
-    );
+    )
   },
   methods: {
     // initWebSocket(){
@@ -234,39 +218,45 @@ export default {
     // },
     startRefreshing() {
       // 防止多次触发刷新
-      if (this.intervalId) return;
+      if (this.intervalId) return
       this.intervalId = setInterval(() => {
-        this.getJobPlayInfo();
-      }, 5000);
+        this.getJobPlayInfo()
+      }, 5000)
     },
     stopRefreshing() {
       if (this.intervalId) {
-        clearInterval(this.intervalId);
-        this.intervalId = null;
+        clearInterval(this.intervalId)
+        this.intervalId = null
       }
     },
     handleVisibilityChange() {
-      if (document.visibilityState === "visible") {
-        this.startRefreshing();
+      if (document.visibilityState === 'visible') {
+        this.startRefreshing()
       } else {
-        this.stopRefreshing();
+        this.stopRefreshing()
       }
     },
     getJobPlayInfo() {
-      getJobPlayTicketInfo(this.ticketId).then((res) => {
-        console.log(res, "作业执行详细信息");
+      let ticketId
+      if (this.$route.query.ticketId) {
+        ticketId = this.$route.query.ticketId
+      } else {
+        ticketId = localStorage.getItem('ticketId')
+      }
+      getJobPlayTicketInfo(ticketId).then((res) => {
+        console.log(res, '作业执行详细信息')
         this.jobTicket = [res.data.jobTicket].map((item) => ({
           ...item,
           lockKeyName: res.data.lockKeyName,
-          colockKeyName: res.data.colockKeyName,
-        }));
-        this.lockUserList = res.data.lockUserList;
-        this.colockUserList = res.data.colockUserList;
-        this.ticketPointsList = res.data.ticketPointsList;
-      });
-    },
-  },
-};
+          colockKeyName: res.data.colockKeyName
+        }))
+        this.lockUserList = res.data.lockUserList
+        this.colockUserList = res.data.colockUserList
+        this.ticketPointsList = res.data.ticketPointsList
+      })
+    }
+  }
+}
 </script>
 
 
@@ -298,11 +288,13 @@ export default {
   width: 400px;
   margin: 15px;
 }
+
 .box-cardgsr {
   width: 400px;
   height: auto;
   margin: 15px;
 }
+
 .box-card2 {
   width: 780px;
   margin: 15px;