From 10b1d48b7f7655d80e1e431257f3af4e00d5ef2e Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期四, 06 六月 2024 16:56:21 +0800
Subject: [PATCH] 掰片/识别页面样式,钢化前、钢化后接口
---
UI-Project/src/views/UnLoadGlass/Landingindication.vue | 162 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 119 insertions(+), 43 deletions(-)
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
index d43f129..2424c68 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindication.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -1,9 +1,10 @@
<template>
<div class="glass-rack">
- <div>
+ <div >
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
<g stroke="null" id="Layer_1">
- <g v-for="(rack, index) in racks" :key="index">
+ <!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
+ <g v-for="(rack, index) in racks" :key="index" :data="tableData">
<rect
:x="rack.x"
:y="rack.y"
@@ -30,22 +31,31 @@
</div>
</template>
-<script setup>
+<script setup>
+import { ref, watchEffect ,onMounted} from 'vue';
+
import Swal from 'sweetalert2'
import request from "@/utils/request";
+import { initializeWebSocket } from '@/utils/WebSocketService';
+ import { WebSocketHost } from '@/utils/constants';
+const racks = ref([
+ { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456',downGlassInfoList:"" } },
+
+ { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG12345678',downGlassInfoList:"" } },
+
+ { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 20, width: 100, fillColor: 'yellow', content: 'NG1234561454' ,downGlassInfoList:""} }
+
+]);
-// 鍒濆鍖栨暟鎹�
-let racks = [
- { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
- { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 30, width: 20, fillColor: 'yellow', content: 'NG12345678' } },
- { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 30, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
-];
+watchEffect(() => {
+ // 瑙﹀彂鏁版嵁鍙樺寲鏃堕噸鏂版覆鏌�
+});
-// 璁$畻鍏冪礌浣嶇疆鐨勫嚱鏁�
+
const calculateItemXPosition = (rack, item, index) => {
- if (index === 0) {
+ if (index === 0 ) {
return rack.x;
- } else if (index === 1) {
+ } else if (index === 1 ) {
return rack.x + rack.width - item.width;
} else {
return rack.x + (rack.width - item.width) / 2;
@@ -53,7 +63,7 @@
};
const calculateItemYPosition = (rack, item, index) => {
- if (index === 0) {
+ if (index === 0 ) {
return rack.y + (rack.height - item.height) / 2;
} else if (index === 1) {
return rack.y + (rack.height - item.height) / 2;
@@ -62,24 +72,40 @@
}
};
-// 鑾峰彇鏁版嵁骞舵洿鏂� racks 鏁扮粍
+
const fetchFlowCardId = async () => {
try {
const response = await request.get('unLoadGlass/downWorkStation/getwo');
+
if (response.code === 200) {
+ console.log(response);
+ // 閬嶅巻鍝嶅簲鏁版嵁骞舵浛鎹acks鏁扮粍涓殑item灞炴��
response.data.forEach((itemData, index) => {
- if (index < racks.length) {
- const rack = racks[index];
- const newItem = {
- content: itemData.item.content,
- fillColor: itemData.item.fillColor,
- width: itemData.item.width / 10000,
- height: itemData.item.height / 10000
- };
- // 鏇存柊 racks 鏁扮粍
- Vue.set(racks, index, { ...rack, item: newItem });
- }
- });
+ if (index < racks.value.length) {
+ const rack = racks.value[index];
+ const newItem = {
+ content: itemData.item.content,
+ fillColor: itemData.item.fillColor,
+ width: itemData.item.width === 0 ? "" : 10,
+ height: itemData.item.height === 0 ? "" : 90,
+ downGlassInfoList:itemData.item.downGlassInfoList
+ };
+
+ if (index === 2 && itemData.item.width > 0) {
+ newItem.width = 100;
+ newItem.height = 20;
+ }
+
+ rack.item = newItem;
+
+ console.log(racks.value); // 鎵撳嵃鏇存柊鍚庣殑 racks 鍊�
+ }
+});
+
+
+
+
+
} else {
ElMessage.error(response.msg);
}
@@ -87,33 +113,83 @@
console.error(error);
}
};
+const socketUrl = `ws://${WebSocketHost}:8085/api/talk/unloadglass2`;
+//const socketUrl = `ws://${WebSocketHost}:88/api/unLoadGlass/api/talk/unloadglass2`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
-// 鑾峰彇鏁版嵁骞舵洿鏂� racks 鏁扮粍
-fetchFlowCardId();
+ // 鏇存柊 tableData 鐨勬暟鎹�
-// 鏄剧ず鑷畾涔夎鎶�
-const showCustomAlert = (content) => {
- var str = "鏋跺彿 : 111\n" +
- "闀� : 111\n" +
- "瀹� : 111\n" +
- "鍘� : 111\n" +
- "鐜荤拑ID : 111\n" +
- "鑶滅郴 : 111\n";
+ data.glassinfo[0].forEach((itemData, index) => {
+ if (index < racks.value.length) {
+ const rack = racks.value[index];
+ const newItem = {
+ content: itemData.item.content,
+ fillColor: itemData.item.fillColor,
+ width: itemData.item.width === 0 ? "" : 10,
+ height: itemData.item.height === 0 ? "" : 90,
+ downGlassInfoList:itemData.item.downGlassInfoList
+ };
+
+ if (index === 2 && itemData.item.width > 0) {
+ newItem.width = 100;
+ newItem.height = 20;
+ }
+
+ rack.item = newItem;
+
+
+ // console.log("鏄剧ず鍥�1",racks.value); // 鎵撳嵃鏇存柊鍚庣殑 racks 鍊�
+ }
+});
+};
+
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+
+onMounted(() => {
+ fetchFlowCardId(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+const showCustomAlert = (downGlassInfoList) => {
+ let tableContent = '<table border="1" style="border-collapse: collapse; width: 100%;">';
+ tableContent += '<tr><th style="background-color: #f2f2f2;">鐜荤拑ID</th><th style="background-color: #f2f2f2;">鑶滅郴</th><th style="background-color: #f2f2f2;">鍘氬害</th><th style="background-color: #f2f2f2;">瀹藉害</th><th style="background-color: #f2f2f2;">楂樺害</th></tr>';
+
+ downGlassInfoList.forEach(info => {
+ tableContent += `<tr>
+ <td>${info.glassId}</td>
+ <td>${info.Filmsid}</td>
+ <td>${info.thickness}</td>
+ <td>${info.width}</td>
+ <td>${info.height}</td>
+ </tr>`;
+ });
+
+ tableContent += '</table>';
Swal.fire({
title: '鐜荤拑淇℃伅',
- html: '<pre>' + str + '</pre>',
+ html: tableContent,
customClass: {
popup: 'format-pre'
}
});
};
-// 鏄剧ず鍏冪礌淇℃伅
-const showRectInfo = (rectInfo) => {
- const content = rectInfo.item.content;
- showCustomAlert(content);
-};
+
+ const showRectInfo = (rack) => {
+ const content = rack.item.content;
+ console.log(rack.item.downGlassInfoList[0].flowCardId)
+ console.log(content)
+ if(content==rack.item.downGlassInfoList[0].flowCardId){
+ const downGlassInfoList = rack.item.downGlassInfoList;
+ console.log(downGlassInfoList)
+ showCustomAlert(downGlassInfoList);
+
+ }
+
+ };
+
+
</script>
<style scoped>
@@ -136,4 +212,4 @@
padding: 10px;
font-size: 14px;
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.8.0