UI-Project/src/utils/WebSocketService.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Caching/cachingun.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Identify/identify.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Slicecage/slicecage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
UI-Project/src/utils/WebSocketService.js
@@ -1,5 +1,4 @@ // WebSocketService.js let socket = null; export const initializeWebSocket = (socketUrl, messageHandler) => { let messages='' ; @@ -7,13 +6,10 @@ console.log("Your browser does not support WebSocket"); return null; } const socket = new WebSocket(socketUrl); socket.onopen = function () { console.log("WebSocket is now open"); }; socket.onmessage = (msg) => { if (!msg.data) { return; @@ -24,24 +20,15 @@ if(isLastChunk||msg.data.length<50000) { messages= messages.replace('<END>', ''); const obj = JSON.parse(messages); messages=''; // 调用消息处理函数,将数据传递给 Vue 组件 if (messageHandler) { messageHandler(obj); } messages=''; } }; return socket; }; export const closeWebSocket = (socket) => { if (socket && socket.readyState === WebSocket.OPEN) { socket.close(); UI-Project/src/views/Caching/cachingun.vue
@@ -210,10 +210,11 @@ // 定义消息处理函数,更新 receivedData 变量 const handleMessage = (data) => { // 更新 tableData 的数据 tableData.splice(0, tableData.length, ...data.params[0]); tableData.value = data.params2[0] // tableData.splice(0, tableData.length, ...data.params2[0]); // tableData.value = data.params[0] // adjustedRects.value = data.EdgStorageCageinfos[0] adjustedRects.value = data.params[0].map(rect => ({ adjustedRects.value = data.params2[0].map(rect => ({ ...rect, // 复制原始对象的其他属性 width: rect.width * 0.5 , id: rect.id * 10, UI-Project/src/views/Identify/identify.vue
@@ -1,6 +1,20 @@ <template> <template> <div style="display: flex;"> <el-input v-model="inputValue" style="margin-left: 15px;margin-top: 10px;width: 240px" placeholder="请输入工程号" @blur="handleBlur"/> <el-pagination v-model:current-page="currentPage3" v-model:page-size="pageSize3" :size="size" :disabled="disabled" :background="background" layout="prev, pager, next, jumper" :total="1000" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> </div> <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> <el-scrollbar height="600px" > <el-scrollbar height="550px" > <div id="app" style="margin-top: 20px;"> <!-- <div :style="{ width: `${olWidth}px`, height: `${olHeight}px`,position: 'relative',}" @@ -41,7 +55,7 @@ <script setup lang="ts"> import { Delete, Upload } from '@element-plus/icons-vue' import { ElMessage, ElMessageBox } from 'element-plus' import { ref, onMounted, onBeforeUnmount,onUnmounted } from 'vue'; import { ref, onMounted, onBeforeUnmount,onUnmounted,watchEffect } from 'vue'; import request from "@/utils/request" import { WebSocketHost ,host} from '@/utils/constants' import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; @@ -53,7 +67,7 @@ const olHeight = ref(); const process_id = ref(); // 用于存储process_id的响应式引用 const glass_id = ref(); // const rects = ref([]); // 用于存储矩形数据的响应式引用 const inputValue = ref(''); const currentGlassId = ref(null); // 存储当前点击矩形的 glass_id const adjustedRects = ref([]); // const handleBind = (row) => { @@ -155,6 +169,42 @@ console.error(error); } } const handleBlur = async () => { if (inputValue.value !== '') { try { var url="/cacheGlass/taskCache/cutTerritory?current="+inputValue.value; const response = await request.post(url) if (response.data && response.data.currentCutTerritory) { // 假设返回的数据需要调整坐标和尺寸 adjustedRects.value = response.data.currentCutTerritory.map(rect => ({ ...rect, x_axis: 1360 - (rect.x_axis + rect.width) * 0.37, y_axis: (rect.y_axis * 100) * 0.003, width: (rect.width * 100) * 0.002, height: (rect.height * 100) * 0.002, widtha: rect.width , heighta: rect.height , glass_state: rect.glass_state })); } } catch (error) { console.error('请求数据失败:', error); } } }; // const handleBlur = async () => { // if (inputValue.value !=''){ // try { // var url="/cacheGlass/taskCache/cutTerritory?current="+inputValue.value; // const response = await request.post(url) // console.log(response.data.length); // if (response.code == 200) { // adjustedRects.value = response.data // ElMessage.success(response.message); // } else { // ElMessage.error(response.msg); // } // } function getRectColor(state: number): string { switch (state) { case 0: @@ -205,6 +255,11 @@ closeWebSocket(socket); } }); watchEffect(() => { if (inputValue.value === '') { handleMessage(); } }); onBeforeUnmount(() => { console.log("关闭了") closeWebSocket(); UI-Project/src/views/Slicecage/slicecage.vue
@@ -76,19 +76,7 @@ const cell8=ref(true); const cell9=ref(true); const selectedRow = ref(null); // 存储选中的行数据 onMounted(async () => { try { const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass'); if (response.code === 200) { tableDatagh.value = response.data } else { ElMessage.warning(response.msg) } } catch (error) { // console.error('Error fetching rects :', error); } }); // 当前页码和每页显示的条数 const currentPage = ref(1); const itemsPerPage = computed(() => { @@ -513,6 +501,40 @@ dialoglea.value = true; // 打开绑定架子对话框 fetchFlowCardId(); }; const handleganghua = () => { dialogFormVisiblec.value = true; // 打开绑定架子对话框 fetchFlow(); }; // 钢化查询 onMounted(async () => { try { const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass'); if (response.code === 200) { tableDatagh.value = response.data } else { ElMessage.warning(response.msg) } } catch (error) { // console.error('Error fetching rects :', error); } }); const fetchFlow = async () => { try { const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass') if (response.code == 200) { ElMessage.success(response.message); tableDatagh.value = response.data } else { ElMessage.error(response.message); } } catch (error) { // 处理错误 console.error(error); } } // 值班信息 const fetchFlowCardId = async () => { try { const response = await request.post('/cacheVerticalGlass/work_assignment/selectWorkAssignment',{ @@ -523,7 +545,6 @@ ElMessage.success(response.message); tableDatax.value = response.data; console.log(tableDatax.value); console } else { ElMessage.error(response.message); } @@ -742,7 +763,7 @@ <div style="height: 600px;"> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">{{ $t('searchOrder.cageinformation') }}</el-button> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</el-button> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="warning" @click="dialogFormVisiblec = true">{{ $t('searchOrder.temperingqueries') }}</el-button> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="warning" @click="handleganghua">{{ $t('searchOrder.temperingqueries') }}</el-button> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button> <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="ganghua" class="mb-2" :inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" /> <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">