From 00c4dfc5ac687c93e0b7abafc33abb693b38edd6 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期一, 05 八月 2024 09:14:33 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
UI-Project/src/views/Returns/returns.vue | 177 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 131 insertions(+), 46 deletions(-)
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 3c14673..bcbbd2e 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -17,6 +17,8 @@
const flakea = ref(false)
const flakeb = ref(false)
const flakec = ref(false)
+const dialoglea = ref(false)
+const tableDatax = ref([])
const user = ref('');
const projectNo = ref('');
const workstationId = ref('');
@@ -26,6 +28,8 @@
const filmsId = ref('');
const patternThickness = ref('');
const number = ref('');
+const canSelectProject = ref(true); // 鍋囪寮�濮嬫椂鍙互閫夋嫨椤圭洰
+const canStartLoading = ref(false);
import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
const ida = ref(null);
@@ -89,13 +93,50 @@
// ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
}
};
-onMounted(() => {
+const handlezhiban = () => {
+ dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ fetchFlowCardId();
+};
+// 鍊肩彮淇℃伅
+const fetchFlowCardId = async () => {
+ try {
+ const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment',{
+ line: 2001,
+ workingProcedure : '鍐峰姞宸�'
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ tableDatax.value = response.data;
+ console.log(tableDatax.value);
+ console
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleConfirmb = async () => {
+ const response = await request.post("/loadGlass/work_assignment/updateWorkAssignment", tableDatax.value)
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ dialoglea.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+};
+onMounted(() => {
list('');
fetchOptions('');
- initializeWebSocket(socketUrl, handleMessage);
+ socket = initializeWebSocket(socketUrl, handleMessage);
});
-onMounted(() => {
-});
+ onUnmounted(() => {
+ if (socket) {
+ closeWebSocket(socket);
+ }
+ });
const list = async () => {
try {
const response = await request.get('/loadGlass/LoadGlass/list');
@@ -152,16 +193,34 @@
const titleSelectJsona = ref({
processTypea: [],
})
+let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
if(data.prioritylist!=null){
tableData.splice(0, tableData.length, ...data.prioritylist[0]);
}
if(data.list!=null){
tableDataa.value = data.list[0]
}
+ if(data.engineering ){
+ if ( Array.isArray(data.engineering) && data.engineering.length !== 0) {
+ canSelectProject.value = false;
+ canStartLoading.value = true;
+ }else{
+ canSelectProject.value = true;
+ canStartLoading.value = false;
+ }
+}
+if (data.InkageStatus) {
+if(data.InkageStatus!=null){
+ const status = data.InkageStatus[0];
+ cuttingMachine.value = status;
+ upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+ inKageWord.value = status === '1' ? 0 : 1;
+}
+}
};
const requestData = {
state: 100
@@ -575,47 +634,46 @@
ElMessage.error(t('basicData.glassnull'));
}
};
-const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
-const ws = new WebSocket(wsUrl);
-ws.onopen = () => {
- console.log('WebSocket杩炴帴宸叉墦寮�');
-};
+// 涓婄墖鏈鸿仈鏈虹姸鎬�
+// 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.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.replace('<END>', '')); // 瑙f瀽娑堟伅涓篔SON
-
- if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {
-if(data.InkageStatus!=null){
- const status = data.InkageStatus[0];
- cuttingMachine.value = status;
- upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
- cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
- inKageWord.value = status === '1' ? 0 : 1;
-}
- } else {
- // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�
- // console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);
- }
- } catch (error) {
- // console.error('瑙f瀽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.replace('<END>', '')); // 瑙f瀽娑堟伅涓篔SON
+// if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {
+// if(data.InkageStatus!=null){
+// const status = data.InkageStatus[0];
+// cuttingMachine.value = status;
+// upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+// 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',
@@ -651,9 +709,10 @@
<el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.change') }}</el-button>
</div>
- <el-button style="margin-top: 5px;margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true">{{ $t('basicData.selectproject') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+ <el-button :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;" type="primary" @click="dialogFormVisible = true">{{ $t('basicData.selectproject') }}</el-button>
+ <el-button :style="{ backgroundColor: canStartLoading ? 'green' : 'initial',color: canStartLoading ? 'white' : 'black', }" style="margin-top: 5px;margin-left: 20px;" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</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">
@@ -715,6 +774,32 @@
</div>
</template>
</el-dialog>
+
+<el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
+ <el-table ref="table" style="margin-top: 20px;height: 300px;"
+ :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
+ <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')" />
+ <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
+ <template #default="{ row }">
+ <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
+ <template #default="{ row }">
+ <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>
+ </template>
+ </el-table-column>
+ </el-table>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">
+ {{ $t('searchOrder.add') }}
+ </el-button>
+ <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
+ </div>
+ </template>
+</el-dialog>
<el-dialog v-model="blinda" top="30vh" width="25%" :title="$t('basicData.whetherpause')">
<template #footer>
<div id="dialog-footer">
--
Gitblit v1.8.0