From 06fd17d2a1c0155e6432b2bce7e644a119fc77b5 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 05 六月 2024 08:25:03 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
UI-Project/src/views/StockBasicData/stockBasicData.vue | 4
UI-Project/src/views/Returns/returns.vue | 37 -
UI-Project/src/views/Identify/identify.vue | 4
UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue | 4
UI-Project/src/views/Caching/cachingbefore.vue | 4
UI-Project/src/utils/constants.js | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java | 4
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 6
UI-Project/src/views/Caching/cachingun.vue | 140 +++++---
UI-Project/src/views/Slicecage/slicecage.vue | 471 +++++++++++++++-------------
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue | 4
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 20
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 201 +++++++-----
13 files changed, 494 insertions(+), 409 deletions(-)
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 8a665eb..67d36d2 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1 +1,3 @@
-export const WebSocketHost = "localhost";
\ No newline at end of file
+// export const WebSocketHost = "192.168.1.199";
+export const WebSocketHost = "10.153.19.150";
+export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/Caching/cachingbefore.vue b/UI-Project/src/views/Caching/cachingbefore.vue
index 2c6fe1a..0fa7fac 100644
--- a/UI-Project/src/views/Caching/cachingbefore.vue
+++ b/UI-Project/src/views/Caching/cachingbefore.vue
@@ -4,6 +4,7 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
import { ref, onMounted , onBeforeUnmount} from "vue";
@@ -15,7 +16,6 @@
const tableData = ref([])
const slot = ref('')
const adjustedRects = ref([]);
-
onMounted(async () => {
try {
const response = await request.post('/cacheGlass/edgStorageCage/selectEdgStorageCage'); // 鏇挎崲涓轰綘鐨凙PI绔偣
@@ -78,7 +78,7 @@
console.error('鍙戠敓閿欒:', error);
}
};
-const socketUrl = `ws://10.153.19.150:88/api/cacheGlass/api/talk/cacheGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
diff --git a/UI-Project/src/views/Caching/cachingun.vue b/UI-Project/src/views/Caching/cachingun.vue
index a291137..d454956 100644
--- a/UI-Project/src/views/Caching/cachingun.vue
+++ b/UI-Project/src/views/Caching/cachingun.vue
@@ -1,35 +1,42 @@
<script setup>
-
-
-
-import { initializeWebSocket } from '@/utils/WebSocketService';
- import { WebSocketHost } from '@/utils/constants';
+import {Search} from "@element-plus/icons-vue";
+import {reactive} from "vue";
+import {useRouter} from "vue-router"
+const router = useRouter()
+const adda = ref(false)
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
-import { ref, onMounted } from "vue";
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
// import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
// import LanguageMixin from './lang/LanguageMixin'
-
+
const tableData = ref([])
const slot = ref('')
+const adjustedRects = ref([]);
-const updatetable = async () => {
-
- await request.get("/unLoadGlass/downStorage/selectStorageCage").then((res) => {
- if (res.code == 200) {
-
- console.log(res.data);
- tableData.value = res.data
- console.log(res.data[0].slot);
- } else {
- ElMessage.warning(res.msg)
-
- }
- });
-
-
- }
-
+onMounted(async () => {
+ try {
+ const response = await request.get('/unLoadGlass/downStorage/selectStorageCage'); // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (response.code === 200) {
+ const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+ tableData.value = response.data
+ console.log(response.data);
+ adjustedRects.value = rawRects.map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ width: rect.width * 0.5 ,
+ id: rect.id * 10,
+ }));
+ console.log(adjustedRects.value);
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+});
+
const open = async(row) => {
try {
const confirmResult = await ElMessageBox.confirm(
@@ -43,7 +50,7 @@
);
if (confirmResult === 'confirm') {
// 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛
- var url="/unLoadGlass/downStorage/deleteDownStorageCage?downStorageCageId="+row.id;
+ var url="/cacheGlass/edgStorageCage/edgStorageCageGlass?edgStorageCageId="+row.id;
console.log(url);
const response = await request.post(url, {
esdId: row.esdId
@@ -61,26 +68,44 @@
console.error('鍙戠敓閿欒:', error);
}
};
-
-const socketUrl = `ws://${WebSocketHost}:88/api/unLoadGlass/api/talk/downcache`;
+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 });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ row.enable_state = newState;
+};
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
-
// 鏇存柊 tableData 鐨勬暟鎹�
- // tableData.splice(0, tableData.length, ...data.params2[0]);
- tableData.value = data.params2[0]
- console.log("鏇存柊鍚庢暟鎹�", data.params2[0]);
+ tableData.splice(0, tableData.length, ...data.params[0]);
+ // tableData.value = data.params[0]
+ // adjustedRects.value = data.EdgStorageCageinfos[0]
+ adjustedRects.value = data.params[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ width: rect.width * 0.5 ,
+ id: rect.id * 10,
+ }));
};
-
-
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
onMounted(() => {
- updatetable()
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
initializeWebSocket(socketUrl, handleMessage);
});
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
-
+
<template>
<div>
<el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
@@ -93,14 +118,22 @@
<el-table-column prop="width" align="center" label="瀹�" min-width="120" />
<el-table-column prop="height" align="center" label="楂�" min-width="120" />
<el-table-column
- align="center"
+ align="center"
label="鍚敤鐘舵��"
min-width="80"
prop="enable_state"
>
- <template #default="scope">
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.enable_state === 1 ? 'success' : 'danger'"
+ @click="toggleEnableState(scope.row)"
+ >
+ {{ scope.row.enable_state === 1 ? '鍚敤' : '绂佺敤' }}
+ </el-tag>
+ </template>
+ <!-- <template #default="scope">
<el-tag type="success" >{{ scope.row.enable_state==1?"鍚敤":"鏈惎鐢�" }}</el-tag>
- </template>
+ </template> -->
</el-table-column>
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
<template #default="scope">
@@ -111,27 +144,25 @@
</el-table>
</div>
</el-card>
- <!-- <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" >
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleConfirma">
- 纭
- </el-button>
- <el-button @click="adda = false">鍙栨秷</el-button>
- </div>
- </template>
- </el-dialog> -->
</div>
<div id="awatch">
- <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;">
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -124px;margin-left: 480px;"></div>
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: -30px;margin-left: 850px;"></div>
-<div style="width: 100px;height: 10px;background-color: #409EFF;margin-top: 30px;margin-left: 695px;"></div>
+ <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
+ v-for="(rect, index) in adjustedRects"
+ :key="rect"
+ :style="{ position: 'absolute',
+ top: `${rect.id}px`, left: `10px`, width: `${rect.width}px`, height: `5px`,
+ backgroundColor: '#409EFF'
+ }"
+ >
+ </div>
+ </div>
</div>
</template>
-
+
<style scoped>
-
+
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
@@ -149,6 +180,7 @@
}
#awatch{
height: 460px;
+ width: 1500px;
/* margin-top: -60px; */
}
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 350535f..2e2de95 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -38,12 +38,12 @@
</el-scrollbar>
</el-card>
</template>
-
<script setup lang="ts">
import { Delete, Upload } from '@element-plus/icons-vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { ref, onMounted, onBeforeUnmount } from 'vue';
import request from "@/utils/request"
+import { WebSocketHost ,host} from '@/utils/constants'
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
const blind = ref(false)
const olWidth = ref();
@@ -175,7 +175,7 @@
}
});
}
-const socketUrl = `ws://10.153.19.150:88/api/cacheGlass/api/talk/cacheGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index b389719..8fd42ca 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -3,10 +3,10 @@
import {reactive} from "vue";
import {useRouter} from "vue-router"
import request from "@/utils/request"
-
-import { ref, onMounted } from 'vue';
// import { ref } from 'vue'
-
+import { ref, onMounted, onBeforeUnmount } from 'vue';
+import { WebSocketHost ,host} from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
const dialogFormVisible = ref(true)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
@@ -16,96 +16,137 @@
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
// 杩涚倝涓�
-onMounted(async () => {
- try {
- const response = await request.get('/temperingGlass/temperingGlassInfo/SelectIntoGlass');
- if (response.code === 200) {
- const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
- console.log(response.data);
- const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
- height.value = newheight;
- width.value = newwidth;
- adjustedRects.value = rawRects.map(rect => ({
+const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ adjustedRects.value = data.intoGlass[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+ ycoordinate: rect.ycoordinate,
+ width: rect.width ,
+ height: rect.height ,
+ }));
+ adjustedRectsa.value = data.waitingGlass[0].map(rect => ({
...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
ycoordinate: rect.ycoordinate,
width: rect.width ,
height: rect.height ,
}));
- console.log(rect);
+
+ adjustedRectsb.value = data.outGlass[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+ ycoordinate: rect.ycoordinate,
+ width: rect.width ,
+ height: rect.height ,
+ }));
+};
- // console.log( (rect.width*100) / 300 );
- } else {
- // console.error('Failed to fetch rectangles from API.');
- console.error('Failed to fetch rects from API.');
- }
- } catch (error) {
- // console.error('Error fetching rectangles :', error);
- console.error('Error fetching rects :', error);
- }
-});
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
+// onMounted(async () => {
+// try {
+// const response = await request.get('/temperingGlass/temperingGlassInfo/SelectIntoGlass');
+// if (response.code === 200) {
+// const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+// console.log(response.data);
+// const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
+// height.value = newheight;
+// width.value = newwidth;
+
+// adjustedRects.value = rawRects.map(rect => ({
+// ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+// xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+// ycoordinate: rect.ycoordinate,
+// width: rect.width ,
+// height: rect.height ,
+// }));
+// console.log(rect);
+
+// // console.log( (rect.width*100) / 300 );
+// } else {
+// // console.error('Failed to fetch rectangles from API.');
+// console.error('Failed to fetch rects from API.');
+// }
+// } catch (error) {
+// // console.error('Error fetching rectangles :', error);
+// console.error('Error fetching rects :', error);
+// }
+// });
// 杩涚倝鍓�
-const handleConfirm = async () => {
- try {
- const response = await request.post('/temperingGlass/temperingGlassInfo/SelectWaitingGlass');
- if (response.code === 200) {
- const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
- console.log(response.data);
- const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
- height.value = newheight;
- width.value = newwidth;
+// const handleConfirm = async () => {
+// try {
+// const response = await request.post('/temperingGlass/temperingGlassInfo/SelectWaitingGlass');
+// if (response.code === 200) {
+// const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+// console.log(response.data);
+// const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
+// height.value = newheight;
+// width.value = newwidth;
- adjustedRectsa.value = rawRects.map(rect => ({
- ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
- xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
- ycoordinate: rect.ycoordinate,
- width: rect.width ,
- height: rect.height ,
- }));
- console.log(rect);
+// adjustedRectsa.value = rawRects.map(rect => ({
+// ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+// xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+// ycoordinate: rect.ycoordinate,
+// width: rect.width ,
+// height: rect.height ,
+// }));
+// console.log(rect);
- // console.log( (rect.width*100) / 300 );
- } else {
- // console.error('Failed to fetch rectangles from API.');
- console.error('Failed to fetch rects from API.');
- }
- } catch (error) {
- // console.error('Error fetching rectangles :', error);
- console.error('Error fetching rects :', error);
- }
-};
+// // console.log( (rect.width*100) / 300 );
+// } else {
+// // console.error('Failed to fetch rectangles from API.');
+// console.error('Failed to fetch rects from API.');
+// }
+// } catch (error) {
+// // console.error('Error fetching rectangles :', error);
+// console.error('Error fetching rects :', error);
+// }
+// };
// 宸插嚭鐐�
-const handleConfirma = async () => {
- try {
- const response = await request.get('/temperingGlass/temperingGlassInfo/SelectOutGlass');
- if (response.code === 200) {
- const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
- console.log(response.data);
- const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
- height.value = newheight;
- width.value = newwidth;
+// const handleConfirma = async () => {
+// try {
+// const response = await request.get('/temperingGlass/temperingGlassInfo/SelectOutGlass');
+// if (response.code === 200) {
+// const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+// console.log(response.data);
+// const { height: newheight,width: newwidth } = response.data; // 鑾峰彇灏哄
+// height.value = newheight;
+// width.value = newwidth;
- adjustedRectsb.value = rawRects.map(rect => ({
- ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
- xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
- ycoordinate: rect.ycoordinate,
- width: rect.width ,
- height: rect.height ,
- }));
- console.log(rect);
+// adjustedRectsb.value = rawRects.map(rect => ({
+// ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+// xcoordinate: rect.xcoordinate, // 灏唜鍊奸櫎浠�3
+// ycoordinate: rect.ycoordinate,
+// width: rect.width ,
+// height: rect.height ,
+// }));
+// console.log(rect);
- // console.log( (rect.width*100) / 300 );
- } else {
- // console.error('Failed to fetch rectangles from API.');
- console.error('Failed to fetch rects from API.');
- }
- } catch (error) {
- // console.error('Error fetching rectangles :', error);
- console.error('Error fetching rects :', error);
- }
-};
+// // console.log( (rect.width*100) / 300 );
+// } else {
+// // console.error('Failed to fetch rectangles from API.');
+// console.error('Failed to fetch rects from API.');
+// }
+// } catch (error) {
+// // console.error('Error fetching rectangles :', error);
+// console.error('Error fetching rects :', error);
+// }
+// };
const gridOptions = reactive({
border: "full",//琛ㄦ牸鍔犺竟妗�
keepSource: true,//淇濇寔婧愭暟鎹�
@@ -173,7 +214,7 @@
<el-scrollbar height="630px">
<div style="position: relative;width: 1400px;">
<div
- v-for="(rect, index) in adjustedRects"
+ v-for="(rect, index) in adjustedRectsa"
:key="index"
class="rect"
:style="{ position: 'absolute', top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px` }"
@@ -191,7 +232,7 @@
<el-scrollbar height="630px">
<div style="position: relative;width: 1400px;">
<div
- v-for="(rect, index) in adjustedRects"
+ v-for="(rect, index) in adjustedRectsb"
:key="index"
class="rect"
:style="{ position: 'absolute', top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`, width: `${rect.width}px`, height: `${rect.height}px` }"
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index dd2b52c..2aadf11 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -13,7 +13,7 @@
const adda = ref(false)
const flake = ref(false)
const flakea = ref(false)
-import { WebSocketHost } from '@/utils/constants'
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
const ida = ref(null);
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
@@ -25,9 +25,9 @@
const selectedValuea = ref('');
const selectedValueb = ref('');
const selectedValuec = ref('');
-const upstatus = ref(''); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
-const cuttingMachineStatusColor = ref(''); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
+const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
@@ -102,7 +102,7 @@
const titleSelectJsona = ref({
processTypea: [],
})
-const socketUrl = `ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
@@ -497,7 +497,7 @@
-const wsUrl = 'ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass';
+const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
const ws = new WebSocket(wsUrl);
ws.onopen = () => {
console.log('WebSocket杩炴帴宸叉墦寮�');
@@ -519,16 +519,14 @@
// 鐩戝惉WebSocket鐨勬秷鎭簨浠�
ws.onmessage = (event) => {
- // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏄疛SON鏍煎紡鐨勫瓧绗︿覆
try {
const data = JSON.parse(event.data); // 瑙f瀽娑堟伅涓篔SON
- // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁缁撴瀯鏄� { InkageStatus: ["1"] }
if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {
const status = data.InkageStatus[0];
cuttingMachine.value = status;
upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
- cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green';
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
inKageWord.value = status === '1' ? 0 : 1;
} else {
// 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�
@@ -546,7 +544,7 @@
if (response.code == 200) {
const status = response.data.status;
upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
- cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green';
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
// 鏄剧ず鎴愬姛娑堟伅
ElMessage.success(response.message);
} else {
@@ -558,25 +556,6 @@
ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
}
};
-// const confirmCutting = async () => {
-// try {
-// const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad', {
-// inKageWord: inKageWord.value
-// })
-// if (response.code == 200) {
-// inKageWord == '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
-// inKageWord.value == '1' ? '#911005' : 'green';
-// ElMessage.success(response.message);
-// } else {
-// // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
-// ElMessage.error(response.msg);
-// }
-// }
-// catch (error) {
-// // 澶勭悊閿欒
-// console.error(error);
-// }
-// }
</script>
<template>
@@ -596,7 +575,7 @@
<el-button style="margin-top: 5px;margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true">閫夋嫨宸ョ▼</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary" @click="handleBind">寮�濮嬩笂鐗�</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">鏆傚仠</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button>
+ <!-- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button> -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 22d0adc..e87bae7 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -3,13 +3,21 @@
import {reactive} from "vue";
import {useRouter} from "vue-router"
const router = useRouter()
-
-import { ref } from 'vue'
+import { WebSocketHost ,host} from '@/utils/constants'
+import { ref, onMounted , onBeforeUnmount} from "vue";
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { ElMessage, ElMessageBox } from 'element-plus'
import { tr } from "element-plus/es/locale";
const dialogFormVisible = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
+const tableData = ref([])
+const tableDatab = ref([])
+const tableDatac = ref([])
+const tableDatad = ref([])
+const tableDatae = ref([])
+const adjustedRects = ref([]);
+const height = ref([]);
const carposition1 = ref(60);
const carposition2 = ref(220);
@@ -19,7 +27,6 @@
const timers2 =ref(true);
const timers3 =ref(true);
const timers4 =ref(true);
-const cellshow=ref(false);
const cellshow5=ref(false);
const c1=ref(false);
const c2=ref(false);
@@ -31,33 +38,18 @@
const million1=ref(0);
const million3=ref(0);
const million4=ref(0);
+const cell1=ref(true);
+const cell2=ref(true);
+const cell3=ref(true);
+const cell4=ref(true);
+const cell5=ref(true);
+const cell6=ref(true);
+const cell7=ref(true);
+const cell8=ref(true);
const currentPage4 = ref(4)
const pageSize4 = ref(100)
-const tableData = [
- {
- id: '1',
- a: '1',
- b: '1',
- c: '123456789',
- d: '1568251',
- e: '1',
- f: '100*100',
- g: '',
- },
-]
-const tableDatab = [
- {
- id: '2',
- a: '2',
- b: '2',
- c: '123456789',
- d: '1568251',
- e: '1',
- f: '100*100',
- g: '',
- }
-]
+
const dialogForm = () => {
ElMessageBox.confirm(
'纭畾瑕佹�ュ仠鍚�?',
@@ -83,7 +75,7 @@
}
var timer=setInterval(() => {
- console.log(million.value,million1.value);
+ // console.log(million.value,million1.value);
million.value+=1;
if(million.value-million1.value!==12){
@@ -115,13 +107,7 @@
}
}else{
million1.value=million.value;
- if(cellshow.value==true){
- cellshow.value=false;
-
- }else{
- cellshow.value=true;
-
- }
+
if(cellshow1.value==true){
cellshow1.value=false;
}else{
@@ -137,7 +123,7 @@
}, 1000);
var timer=setInterval(() => {
- console.log(million3.value,million4.value);
+ // console.log(million3.value,million4.value);
million3.value+=1;
if(million3.value-million4.value!==12){
@@ -204,69 +190,120 @@
}
}
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ],
-})
+
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheVerticalGlass/api/talk/slicecage`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+ tableDatac.value = data.bigStorageCageDetailsOutTask[0]
+ tableDatad.value = data.bigStorageCageDetailsFeedTask[0]
+ tableData.value = data.bigStorageCageInfo[0]
+ tableDatab.value = data.temperingGlassInfoList[0]
+ tableDatae.value = data.bigStorageCageUsage[0]
+ adjustedRects.value = data.bigStorageCageInfo1[0]
+ // adjustedRects.value = data.bigStorageCageInfo1[0].map(rect => ({
+ // ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ // height: rect.length *0.5,
+
+ // }));
+ window.localStorage.setItem('length', data.bigStorageCageInfo1[0].length)
+ let length = window.localStorage.getItem('length')
+ console.log(length);
+
+};
+// function getRectHeight(length: number) {
+// return length > 0 ? 29 / length : 29;
+// }
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+function getStatusType(enableState: number) {
+ switch (enableState) {
+ case 0:
+ return 'warning';
+ case 1:
+ return 'success';
+ }
+}
+function getStatusText(enableState: number) {
+ switch (enableState) {
+ case 0:
+ return '绂佺敤';
+ case 1:
+ return '鍚敤';
+ }
+}
+function getStatusTypea(ishorizontal: number) {
+ switch (ishorizontal) {
+ case 0:
+ return 'warning';
+ case 1:
+ return 'success';
+ }
+}
+function getStatusTexta(ishorizontal: number) {
+ switch (ishorizontal) {
+ case 0:
+ return '涓嶆帴鍙�';
+ case 1:
+ return '鎺ュ彈';
+ }
+}
+function getStatusTypeb(state: number) {
+ switch (state) {
+ case 0:
+ return 'success';
+ case 1:
+ return 'primary';
+ }
+}
+function getStatusTextb(state: number) {
+ switch (state) {
+ case 0:
+ return '鍑虹墖瀹屾垚';
+ case 1:
+ return '绛夊緟涓�';
+ case 2:
+ return '绛夊緟涓�';
+ }
+}
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
</script>
<template>
<div style="height: 700px;">
<!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisible = true">鎵嬪姩杩涚墖</el-button> -->
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">璁㈠崟淇℃伅</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">鐞嗙墖绗间俊鎭�</el-button>
<el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">鍑虹墖闃熷垪</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟杩涚墖</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟鍑虹墖</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger" @click="dialogForm">杞�ュ仠</el-button>
+ <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟杩涚墖</el-button> -->
+ <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">缁堟鍑虹墖</el-button> -->
+ <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger" @click="dialogForm">杞�ュ仠</el-button> -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
<el-table height="100%" ref="table"
- @selection-change="handleSelectionChange"
- :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
- <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
- <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
- <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
- <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
- <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
- <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
-</el-table-column>
+ :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="bigStorageCageOutTask.glassId" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
+ <el-table-column prop="bigStorageCageOutTask.startSlot" align="center" label="璧峰浣嶇疆" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.endSlot" align="center" label="鐩爣浣嶇疆" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.trainNumber" align="center" label="杞︽" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.serialNumber" align="center" label="搴忓彿" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.taskState" align="center" label="浠诲姟鐘舵��" min-width="157">
+ <template #default="scope">
+ <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0?"绛夊緟杩涚墖":"杩涜涓�" }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="缁撴潫浠诲姟" align="center" width="150">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">瀹屾垚浠诲姟</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
</el-card>
@@ -274,111 +311,35 @@
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
<el-table height="100%" ref="table"
@selection-change="handleSelectionChange"
- :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
- <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
- <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
- <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
- <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
- <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
- <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120">
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="text">瀹屾垚浠诲姟</el-button>
-</el-table-column>
+ :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
+ <el-table-column prop="bigStorageCageFeedTask.tragetSlot" align="center" label="鐩爣浣嶇疆" min-width="120" />
+ <!-- <el-table-column prop="task_type" align="center" label="浠诲姟绫诲瀷" min-width="120" />娌℃湁杩斿洖瀛楁 -->
+ <el-table-column prop="bigStorageCageFeedTask.taskState" align="center" label="浠诲姟鐘舵��" min-width="120">
+ <template #default="scope">
+ <el-tag type="success" >{{ scope.row.bigStorageCageFeedTask.taskState==0?"绛夊緟杩涚墖":"杩涜涓�" }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="bigStorageCageFeedTask.line" align="center" label="绾胯矾" min-width="120" />
+ <el-table-column fixed="right" label="缁撴潫浠诲姟" align="center" width="150">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">瀹屾垚浠诲姟</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
</el-card>
<div style="padding: 10px;display: flex;height:110px;">
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#1</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#2</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#3</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#4</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#5</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#6</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#7</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <div id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#8</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div>
- <!-- <div v-for="n in 8" :key="n" id="occupy">
- <el-col style="text-align:left;font-weight: bold;">#1</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">浣跨敤鐜�</span><span id="zhi">35%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span id="biao">绌洪棽锛堟牸瀛愭暟锛�</span><span id="zhi">555</span>
- </el-col>
- </div> -->
+ <div v-for="(item, index) in tableDatae" :key="index" id="occupy">
+ <el-col style="text-align:left;font-weight: bold;">#{{ item.device_id }}</el-col>
+ <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+ <span>浣跨敤鐜�</span><span>{{ item.percentage }}</span>
+ </el-col>
+ <hr style="width:80%;margin: 0 auto;" />
+ <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+ <span>绌洪棽锛堟牸瀛愭暟锛�</span><span>{{ item.count }}</span>
+ </el-col>
+ </div>
</div>
<!-- <div id="awatch">
<img src="../../assets/cp.png" alt="" style="width: 70%;height: 70%;margin-left: 160px;">
@@ -393,15 +354,49 @@
</div>
<div v-show="c2" class="img-car3" :style="'z-index:999;left:247px;top:' + carposition3 + 'px;position:absolute;'">
- <div v-show="cellshow3" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
+ <div v-show="cellshow3" style="margin-top:10px;width:220px;height:5px;background-color:#409EFF;"></div>
</div>
<div class="img-car4" :style="'z-index:999;left:704px;top:' + carposition4 + 'px;position:absolute;'">
<div v-show="cellshow4" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
</div>
- <div v-show="cellshow" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
+ <div v-show="cell1" style="width: 227px;height: 29px;position: absolute;top:55px;left: 465px;">
+ <div
+ v-for="(item, index) in adjustedRects"
+ :key="index"
+ :style="{
+ top: `1px`, width: `227px`,
+ backgroundColor: '#409EFF',
+ height: `height`+ `px`
+ }"
+ >
</div>
- <div v-show="cellshow5" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;">
+ <!-- <div
+ v-for="(item, index) in adjustedRects"
+ height: `${rect.height}px`,
+ :key="index"
+ :style="{
+ width: '227px',
+ height: '1px',
+ backgroundColor: '#409EFF',
+ top: '1px'
+ }"
+ >
+ </div> -->
</div>
+ <!-- <div v-show="cell2" style="width: 227px;height: 29px;position: absolute;top:86px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:117px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:148px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:208px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:238px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:269px;left: 465px;background-color: #409EFF;">
+ </div>
+ <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:300px;left: 465px;background-color: #409EFF;">
+ </div> -->
</div>
</div>
@@ -527,17 +522,28 @@
</div>
</template>
</el-dialog>
-<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="璁㈠崟淇℃伅" >
- <el-input placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input>
- <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button>
+<el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="鐞嗙墖绗间俊鎭�" >
+ <!-- <el-input placeholder="璇疯緭鍏ュ伐绋嬪彿" style="width: 180px;size: mini;"></el-input> -->
+ <!-- <el-button style="margin-left: 10px;size: mini;" type="primary">鏌ヨ</el-button> -->
<el-table ref="table" style="margin-top: 20px;height: 500px;"
@selection-change="handleSelectionChange"
- :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="ida" align="center" label="鐜荤拑id" min-width="80" />
- <el-table-column prop="typea" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="typea" align="center" label="闀�" min-width="120" />
- <el-table-column prop="typea" align="center" label="瀹�" min-width="120" />
- <el-table-column prop="typea" align="center" label="鍘�" min-width="120" />
+ :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="id" align="center" label="澶х悊鐗囩琛↖D" min-width="80" />
+ <el-table-column prop="deviceId" align="center" label="璁惧ID" min-width="120" />
+ <el-table-column prop="slot" align="center" label="鏍呮牸鍙�" min-width="120" />
+ <el-table-column
+ align="center"
+ label="鍚敤鐘舵��"
+ min-width="80"
+ prop="enableState"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusType(scope.row.enableState)">
+ {{ getStatusText(scope.row.enableState) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="remainWidth" align="center" label="鍓╀綑瀹藉害" min-width="120" />
</el-table>
<div id="demo-pagination-block">
<el-pagination
@@ -557,25 +563,58 @@
</el-dialog>
<el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="鍑虹墖闃熷垪" >
<div style="display: flex;">
- <p style="margin-top: 4px;">闃熷垪鐘舵�侊細</p>
- <p style="margin-top: 4px;">寮�濮�</p>
+ <p style="margin-top: 3px;">闃熷垪鐘舵�侊細</p>
+ <p style="margin-top: 3px;">寮�濮�</p>
<el-button style="margin-left: 10px;size: mini;" type="danger">鍋滄</el-button>
<el-button style="margin-left: 10px;size: mini;" type="primary">娣诲姞</el-button>
</div>
<el-table ref="table" style="margin-top: 20px;height: 500px;"
- @selection-change="handleSelectionChange"
:data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" align="center" label="閾濇id" min-width="80" />
- <el-table-column prop="type" align="center" label="鐜荤拑id" min-width="120" />
- <el-table-column prop="type" align="center" label="璁㈠崟缂栧彿" min-width="120" />
- <el-table-column prop="type" align="center" label="鍒楄〃缂栧彿" min-width="120" />
- <el-table-column prop="type" align="center" label="绠卞瓙缂栧彿" min-width="120" />
- <el-table-column prop="type" align="center" label="闀�" min-width="120" />
- <el-table-column prop="type" align="center" label="瀹�" min-width="120" />
- <el-table-column prop="type" align="center" label="鐜荤拑鐘舵��" min-width="120" />
- <el-table-column prop="type" align="center" label="椤哄簭" min-width="120" />
- <el-table-column prop="type" align="center" label="瀹屾垚" min-width="120" />
- <el-table-column prop="type" align="center" label="鎿嶄綔" min-width="120" />
+ <el-table-column prop="id" fixed align="center" label="閽㈠寲灏忕墖淇℃伅琛╥d" min-width="150"/>
+ <!-- <el-table-column prop="glass_id" align="center" label="鐜荤拑id" min-width="120" /> -->
+ <el-table-column prop="flowcardId" fixed align="center" label="娴佺▼鍗�" min-width="120" />
+ <el-table-column prop="glassType" align="center" label="娴佺▼鍗$幓鐠冪被鍨�" min-width="150" />
+ <el-table-column prop="width" align="center" label="瀹�" min-width="80" />
+ <el-table-column prop="height" align="center" label="楂�" min-width="80" />
+ <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="80" />
+ <el-table-column prop="filmsid" align="center" label="鑶滅郴" min-width="80" />
+ <!-- <el-table-column prop="ishorizontal" align="center" label="閽㈠寲鏄惁鎺ュ彈妯斁" min-width="150" /> -->
+ <el-table-column
+ align="center"
+ label="閽㈠寲鏄惁鎺ュ彈妯斁"
+ min-width="150"
+ prop="ishorizontal"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusTypea(scope.row.ishorizontal)">
+ {{ getStatusTexta(scope.row.ishorizontal) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="temperingLayoutId" align="center" label="閽㈠寲鐗堝浘id" min-width="120" />
+ <el-table-column prop="temperingFeedSequence" align="center" label="閽㈠寲鐗堝浘鐗囧簭" min-width="120" />
+ <el-table-column prop="xCoordinate" align="center" label="x鍧愭爣" min-width="80" />
+ <el-table-column prop="yCoordinate" align="center" label="y鍧愭爣" min-width="80" />
+ <el-table-column prop="angle" align="center" label="鏃嬭浆瑙掑害锛堥�嗘椂閽堬級" min-width="150" />
+ <!-- <el-table-column prop="state" align="center" label="鐘舵��" min-width="80" /> -->
+ <el-table-column
+ align="center"
+ label="鐘舵��"
+ min-width="80"
+ prop="state"
+ >
+ <template #default="scope">
+ <el-tag :type="getStatusTypeb(scope.row.state)">
+ {{ getStatusTextb(scope.row.state) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">娣诲姞</el-button>
+ <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
</el-table>
</el-dialog>
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index 47e13cb..01b0ddb 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -4,7 +4,7 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
-
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
import { ref, onMounted , onBeforeUnmount} from "vue";
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
@@ -94,7 +94,7 @@
}
};
-const socketUrl = `ws://10.153.19.150:88/api/cacheGlass/api/talk/cacheGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
diff --git a/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue b/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue
index b318457..6d4df18 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicDatatwo.vue
@@ -4,7 +4,7 @@
import {useRouter} from "vue-router"
const router = useRouter()
const adda = ref(false)
-
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
import { ref, onMounted , onBeforeUnmount} from "vue";
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
@@ -95,7 +95,7 @@
};
-const socketUrl = `ws://10.153.19.150:88/api/cacheGlass/api/talk/cacheGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
index 74bdcb8..4e16fae 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -37,7 +37,7 @@
import Swal from 'sweetalert2'
import request from "@/utils/request";
import { initializeWebSocket } from '@/utils/WebSocketService';
- import { WebSocketHost } from '@/utils/constants';
+import { WebSocketHost ,host} 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' } },
@@ -112,7 +112,7 @@
}
};
-const socketUrl = `ws://${WebSocketHost}:88/api/unLoadGlass/api/talk/unloadglass3`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass3`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 1d931d9..83f2eb6 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -11,9 +11,7 @@
import Landingindicationtwo from "./Landingindicationtwo.vue";
import request from "@/utils/request";
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
- import { WebSocketHost } from '@/utils/constants';
-
-
+import { WebSocketHost ,host} from '@/utils/constants'
const dialogFormVisiblea = ref(false)
const dialogFormVisiblea2 = ref(false)
@@ -148,7 +146,7 @@
};
-const socketUrl = `ws://${WebSocketHost}:88/api/unLoadGlass/api/talk/unloadglass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 3f979db..71351af 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -5,7 +5,6 @@
import com.mes.device.PlcParameterObject;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.EngineeringService;
-import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.service.OptimizeProjectService;
import com.mes.tools.WebSocketServer;
import com.mes.uppattenusage.entity.UpPattenUsage;
@@ -130,11 +129,11 @@
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
+// List<String> messages = webserver.getMessages();
+// if (!messages.isEmpty()) {
+// // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+// webserver.clearMessages();
+// }
} else {
log.info("Home is closed");
}
@@ -145,19 +144,14 @@
public void loadGlassStatus(){
JSONObject jsonObject = new JSONObject();
//姝e湪杩涜鐨勪换鍔�
- //String inkageStatus =plcParameterObject.getPlcParameter("MesToPlc").getValue();
- String inkageStatus ="1";
+ String inkageStatus =plcParameterObject.getPlcParameter("MesToPlc").getValue();
+ //String inkageStatus ="1";
jsonObject.append("InkageStatus", inkageStatus);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
} else {
log.info("Home is closed");
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
index c933a8c..0b65991 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -23,7 +23,7 @@
@Autowired
private DownStorageCageService downStorageCageService;
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 2000)
public void sendDownWorkstations() {
log.info("鍙戦�佸伐浣嶇幓鐠冧俊鎭�");
JSONObject jsonObject = new JSONObject();
@@ -76,7 +76,7 @@
}
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 2000)
public void sendDownStorageCages() {
log.info("鍙戦�佺紦瀛樼幓鐠冧俊鎭�");
JSONObject jsonObject4 = new JSONObject();
--
Gitblit v1.8.0