严智鑫
2024-08-05 00c4dfc5ac687c93e0b7abafc33abb693b38edd6
UI-Project/src/views/Caching/cachingun.vue
@@ -1,5 +1,5 @@
<template>
  <div>
  <div style="height: 500px;">
    <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
        <el-table height="240" ref="table" 
@@ -10,7 +10,7 @@
          <el-table-column prop="width" align="center" :label="$t('sorter.width')" min-width="120" />
          <el-table-column prop="height" align="center" :label="$t('sorter.height')" min-width="120" />
          <el-table-column
          align="center"
            align="center"
            :label="$t('sorter.startstatus')"
            min-width="80"
            prop="enable_state"
@@ -30,15 +30,15 @@
          <el-table-column fixed="right" :label="$t('sorter.operate')" align="center" width="200">
            <template #default="scope">
              <el-button size="mini" type="text" plain  @click="open(scope.row)">{{ $t('sorter.deficiencieste') }}</el-button>
              <el-button size="mini" type="text" plain  @click="opena(scope.row)">{{ $t('sorter.updown') }}</el-button>
            </template>
        </el-table-column>
        </el-table>
      </div>
    </el-card>
  </div>
  <div id="awatch">
    <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;position: relative;">
    <div style="position: absolute; width: 500px;height: 95px;margin-top: -165px;margin-left: 450px;">
  <div class="awatch">
    <img src="../../assets/woshihuancun.png" alt="" style="width: 70%;height: 90%;margin-left: 200px;margin-top: 20px;position: relative;">
    <div style="position: relative; width: 500px;height: 95px;margin-top: -165px;margin-left: 450px;">
    <div  
      v-for="(rect, index) in adjustedRects"  
      :key="rect"  
@@ -50,6 +50,7 @@
    </div>
  </div>
</div>
</div>
</template>
<script setup>
import {Search,Lock,Avatar} from "@element-plus/icons-vue";
@@ -59,7 +60,7 @@
const adda = ref(false)
import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
import { ref, onMounted , onBeforeUnmount} from "vue";
import { ref, onMounted , onBeforeUnmount,onUnmounted} from "vue";
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
@@ -105,7 +106,7 @@
    );  
    if (confirmResult === 'confirm') {  
      // 用户点击了“是”,现在调用删除接口  
      var url="/cacheGlass/edgStorageCage/edgStorageCageGlass?edgStorageCageId="+row.id;
      var url="/unLoadGlass/downStorage/deleteDownStorageCage?downStorageCageId="+row.id;
      console.log(url);
      const response = await request.post(url, {
        esdId: row.esdId
@@ -114,13 +115,41 @@
      ElMessage.success(response.message);
      } else {  
        // 删除失败,您可以处理错误或显示错误信息给用户  
      ElMessage.error(response.msg);
      ElMessage.error(response.message);
        // alert('删除失败:' + deleteResponse.message); 
      }  
    }  
  } 
  catch (error) {
    // 处理可能出现的错误,比如 ElMessageBox 抛出的异常等
    console.error('发生错误:', error);
  }
};
// 人工下片
const opena = async(row) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('sorter.infor'),
      t('sorter.prompt'),
      {
        confirmButtonText: t('sorter.yes'),
        cancelButtonText: t('sorter.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post("/unLoadGlass/downGlassTask/generateOutGlassTask", {
        glassId: row.glass_id
      })
    if (response.code === 200) {
      ElMessage.success(response.message);
      } else {
        // 删除失败,您可以处理错误或显示错误信息给用户
      ElMessage.error(response.message);
        // alert('删除失败:' + deleteResponse.message);
      }
    }
  }
  catch (error) {  
    // 处理可能出现的错误,比如 ElMessageBox 抛出的异常等  
    console.error('发生错误:', error);  
@@ -165,7 +194,7 @@
const toggleEnableState = async (row) => {  
  const newState = row.enable_state === 1 ? 0 : 1;  
  // 发送请求到后端更新状态(这里省略了实际的请求逻辑)  
  const response = await request.post('/unLoadGlass/downStorage/updateDownStorageCage', { id: row.id, enablestate: newState });
  const response = await request.post('/unLoadGlass/downStorage/updateDownStorageCage', { id: row.id, enableState: newState });
  if (response.code === 200) {
      ElMessage.success(response.message);
      } else {  
@@ -173,7 +202,11 @@
      }  
  row.enable_state = newState;  
};
const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/downcache`;
// 定义消息处理函数,更新 receivedData 变量
const handleMessage = (data) => {
  // 更新 tableData 的数据
@@ -187,13 +220,14 @@
          })); 
};
// 初始化 WebSocket,并传递消息处理函数
onMounted(() => {
  // fetchFlowCardId();
  // fetchTableData(); // 获取数据
  initializeWebSocket(socketUrl, handleMessage);
  socket = initializeWebSocket(socketUrl, handleMessage);
});
  onUnmounted(() => {
    if (socket) {
    closeWebSocket(socket);
    }
    });
onBeforeUnmount(() => {
  console.log("关闭了")
  closeWebSocket();
@@ -216,9 +250,10 @@
   background-color: #337ecc;
   margin-left: 28%;
}
#awatch{
.awatch{
  height: 460px;
  width: 1500px;
  max-width: 100%;
  /* margin-top: -60px; */
}
</style>