From 9b2e6042369b61ef267c1e42ae1f3c6b324c27d0 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 19 六月 2024 08:12:31 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
UI-Project/src/views/Returns/returns.vue | 201 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 167 insertions(+), 34 deletions(-)
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 86be983..f1b1f89 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,6 +25,10 @@
const selectedValuea = ref('');
const selectedValueb = ref('');
const selectedValuec = ref('');
+const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
+const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
+const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
@@ -40,25 +44,31 @@
// 鏇存柊琛ㄦ牸鏁版嵁
console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
tableData.splice(0, tableData.length, ...response.data);
- window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
- selectOptions.value = response.data.map(item => ({
- value: item.width, // 鍋囪杩欐槸浣犳兂瑕佷綔涓簐alue鐨勫睘鎬�
- label: item.width, // 鍋囪杩欐槸浣犳兂瑕佹樉绀虹殑label
+ // window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
+ // 鑾峰彇鍞竴鍊�
+ const uniqueWidths = new Set(response.data.map(item => item.width));
+ const uniqueHeights = new Set(response.data.map(item => item.height));
+ const uniqueFilmsIds = new Set(response.data.map(item => item.filmsId));
+ const uniqueThicknesses = new Set(response.data.map(item => item.thickness));
+
+ selectOptions.value = Array.from(uniqueWidths).map(width => ({
+ value: width, // 鍋囪杩欐槸浣犳兂瑕佷綔涓簐alue鐨勫睘鎬�
+ label: width, // 鍋囪杩欐槸浣犳兂瑕佹樉绀虹殑label
}));
- selectOptionsa.value = response.data.map(item => ({
- value: item.height,
- label: item.height,
+ selectOptionsa.value = Array.from(uniqueHeights).map(height => ({
+ value: height,
+ label: height,
}));
- selectOptionsb.value = response.data.map(item => ({
- value: item.filmsId,
- label: item.filmsId,
+ selectOptionsb.value = Array.from(uniqueFilmsIds).map(filmsId => ({
+ value: filmsId,
+ label: filmsId,
}));
- selectOptionsc.value = response.data.map(item => ({
- value: item.thickness,
- label: item.thickness,
+ selectOptionsc.value = Array.from(uniqueThicknesses).map(thickness => ({
+ value: thickness,
+ label: thickness,
}));
} else {
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
@@ -81,7 +91,7 @@
flakea.value = true
}
} else {
- ElMessage.warning(res.msg)
+ ElMessage.warning(res.message)
// router.push("/login")
}
});
@@ -92,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 鐨勬暟鎹�
@@ -200,7 +210,7 @@
}
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊璇锋眰閿欒
@@ -239,7 +249,7 @@
}
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊璇锋眰閿欒
@@ -281,7 +291,7 @@
}
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊閿欒
@@ -294,6 +304,7 @@
const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
engineerId: selectedProjectNo.value,
})
+ window.localStorage.setItem('engineeringId', selectedProjectNo.value)
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
@@ -303,9 +314,31 @@
selectedProjectNo.value = ''
markingMachineStatus.value = '#911005';
cuttingMachineStatus.value = '#911005';
+ const uniqueWidths = new Set(response.data.map(item => item.width));
+ const uniqueHeights = new Set(response.data.map(item => item.height));
+ const uniqueFilmsIds = new Set(response.data.map(item => item.filmsId));
+ const uniqueThicknesses = new Set(response.data.map(item => item.thickness));
+
+ selectOptions.value = Array.from(uniqueWidths).map(width => ({
+ value: width, // 鍋囪杩欐槸浣犳兂瑕佷綔涓簐alue鐨勫睘鎬�
+ label: width, // 鍋囪杩欐槸浣犳兂瑕佹樉绀虹殑label
+ }));
+ selectOptionsa.value = Array.from(uniqueHeights).map(height => ({
+ value: height,
+ label: height,
+ }));
+ selectOptionsb.value = Array.from(uniqueFilmsIds).map(filmsId => ({
+ value: filmsId,
+ label: filmsId,
+ }));
+ selectOptionsc.value = Array.from(uniqueThicknesses).map(thickness => ({
+ value: thickness,
+ label: thickness,
+ }));
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
+ // ElMessage.error(response.msg);
}
}
catch (error) {
@@ -330,10 +363,10 @@
ElMessage.success(response.message);
// window.location.reload()
blind.value = false;
- selectedProjectNoa.value = ''
+ selectedProjectNoa.value = '';
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
}
catch (error) {
@@ -358,10 +391,10 @@
if (response.code == 200) {
ElMessage.success(response.message);
blinda.value = false;
- tableData.splice([]);
+ // tableData.splice([]);
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
}
else {
@@ -394,7 +427,7 @@
tableData.splice([]);
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
}
else {
@@ -462,6 +495,89 @@
const confirmCuttingMachine = () => {
cuttingMachineStatus.value = 'green';
};
+const toggleEnableState = async (row: any) => {
+ // 妫�鏌� id 鏄惁涓虹┖
+ if (!row.id) {
+ ElMessage.error('璇ュ伐绋嬫湭淇濆瓨鍒颁笂鐗囪〃锛�');
+ return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�
+ }
+
+ const newState = row.state === 100 ? 0 : 100;
+
+ try {
+ // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��
+ const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ // 澶勭悊璇锋眰閿欒
+ console.error('鏇存柊鐜荤拑鐘舵�佽姹傚け璐�:', error);
+ ElMessage.error('鏇存柊鐜荤拑鐘舵�佹椂鍙戠敓閿欒');
+ }
+};
+
+const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+const ws = new WebSocket(wsUrl);
+ws.onopen = () => {
+ console.log('WebSocket杩炴帴宸叉墦寮�');
+};
+
+// 鐩戝惉WebSocket鐨勯敊璇簨浠�
+ws.onerror = (error) => {
+ console.error('WebSocket鍙戠敓閿欒:', error);
+};
+
+// 鐩戝惉WebSocket鐨勫叧闂簨浠�
+ws.onclose = (event) => {
+ if (event.wasClean) {
+ console.log('WebSocket杩炴帴宸叉甯稿叧闂�');
+ } else {
+ console.error('WebSocket杩炴帴寮傚父鍏抽棴');
+ }
+};
+
+// 鐩戝惉WebSocket鐨勬秷鎭簨浠�
+ws.onmessage = (event) => {
+ try {
+ const data = JSON.parse(event.data); // 瑙f瀽娑堟伅涓篔SON
+
+ 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' ? 'green' : '#911005';
+ inKageWord.value = status === '1' ? 0 : 1;
+ } else {
+ // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�
+ console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);
+ }
+ } catch (error) {
+ console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error);
+ }
+};
+const confirmCutting = async () => {
+ try {
+ const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad',
+ inKageWord.value
+ );
+ if (response.code == 200) {
+ const status = response.data.status;
+ upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+ // 鏄剧ず鎴愬姛娑堟伅
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message || '璇锋眰澶辫触');
+ }
+ } catch (error) {
+ // 澶勭悊閿欒
+ console.error('璇锋眰鏃跺彂鐢熼敊璇�', error);
+ ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
+ }
+};
</script>
<template>
@@ -469,16 +585,19 @@
<div id="dotClass">
<div>鎵撴爣鏈哄氨缁姸鎬侊細</div>
<i :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
- <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">鎵嬪姩纭</el-button>
-
+ <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">纭</el-button>
<div style="margin-left: 70px;">鍒囧壊鏈哄氨缁姸鎬侊細</div>
<i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
- <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >鎵嬪姩纭</el-button>
- </div>
+ <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >纭</el-button>
+ <div style="margin-left: 70px;">{{ upstatus }} </div>
+ <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+ <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >鍒囨崲</el-button>
+
+ </div>
<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;">
@@ -494,7 +613,7 @@
<el-table-column prop="filmsId" label="鑶滅郴" align="center"/>
<el-table-column prop="layoutSequence" label="鏁伴噺" align="center"/>
<el-table-column prop="thickness" label="鍘氬害" align="center"/>
- <el-table-column
+ <!-- <el-table-column
align="center"
label="鐘舵��"
min-width="80"
@@ -504,7 +623,21 @@
<el-tag :type="getStatusType(scope.row.state)">
{{ getStatusText(scope.row.state) }}
</el-tag>
- </template>
+ </template> -->
+ <el-table-column
+ align="center"
+ label="鍚敤鐘舵��"
+ min-width="80"
+ prop="state"
+ >
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.state === 100 ? 'success' : 'warning'"
+ @click="toggleEnableState(scope.row)"
+ >
+ {{ scope.row.state === 100 ? '閫氳繃' : '绛夊緟涓�' }}
+ </el-tag>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -662,7 +795,7 @@
<div id="dt" style="font-size: 15px;">
<div>
<el-form-item label="鏁伴噺锛�" :required="true" style="width: 14vw;">
- <el-input v-model="number" autocomplete="off" />
+ <el-input placeholder="璇疯緭鍏ユ暟閲�" v-model="number" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
--
Gitblit v1.8.0