From 6ff1b66c16a506d8f40b7284c1c3774faf1e6d2e Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期五, 31 五月 2024 16:45:45 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- UI-Project/src/views/Returns/returns.vue | 663 ++++++++++++++++++++++++++---------------------------- 1 files changed, 320 insertions(+), 343 deletions(-) diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue index eddab30..dd2b52c 100644 --- a/UI-Project/src/views/Returns/returns.vue +++ b/UI-Project/src/views/Returns/returns.vue @@ -4,7 +4,6 @@ import {useRouter} from "vue-router" const router = useRouter() import type { TableColumnCtx } from 'element-plus' - import { ElMessage, ElMessageBox } from 'element-plus' const dialogFormVisible = ref(false) const blind = ref(false) @@ -14,54 +13,61 @@ const adda = ref(false) const flake = ref(false) const flakea = ref(false) -// const patternHeight = ref(''); -// const patternWidth = ref(''); -// const filmsId = ref(''); -// const patternThickness = ref(''); -// const number = ref(''); -// patternHeight.value = ''; - // patternWidth.value = ''; - // filmsId.value = ''; - // patternThickness.value = ''; - // number.value = ''; +import { WebSocketHost } from '@/utils/constants' import request from "@/utils/request" const ida = ref(null); -import { ref, onMounted, onUnmounted } from "vue"; -// import http from "@/http/index"; - -let ruleForm = ref({ - projectNo: '', - workstationId: '', - patternHeight: '', - patternWidth: '', - filmsId: '', - patternThickness: '', - number: '', - -}) -const tableDataa = ref([]) - - +import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; +import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue"; +// 鍝嶅簲寮忔暟鎹� +const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 +const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 +const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫 +const selectedValuea = ref(''); +const selectedValueb = ref(''); +const selectedValuec = ref(''); +const upstatus = ref(''); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵�� +const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛� +const cuttingMachineStatusColor = ref(''); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊 +const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊� +const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃 +const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍 +const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍 +const selectOptionsb = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍 +const selectOptionsc = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍 + const tableDataa = ref([]) const tableData = reactive([]); -// let filterData = ref({ -// damageDetails: { -// state: '', -// }, - -// }) -// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰 -const fetchTableData = async () => { + const fetchTableData = async () => { try { const response = await request.get("/loadGlass/up-patten-usage/prioritylist"); - // 妫�鏌ュ搷搴旂姸鎬� if (response.code === 200) { // 鏇存柊琛ㄦ牸鏁版嵁 console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data); tableData.splice(0, tableData.length, ...response.data); - window.localStorage.setItem('engineeringId', response.data[0].engineeringId) + // 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 = 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); } } catch (error) { @@ -69,135 +75,45 @@ // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯'); } }; -onMounted(async () => { - await fetchTableData(); - - // 璁剧疆瀹氭椂鍣ㄦ潵瀹氭湡鍒锋柊鏁版嵁 - const intervalId = setInterval(async () => { - await fetchTableData(); - }, 1000); // 姣�1绉掑埛鏂颁竴娆� - - // 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒 - onUnmounted(() => { - clearInterval(intervalId); - }); -}); -onMounted(async () => { - await fetchTableDataa(); - - // 璁剧疆瀹氭椂鍣ㄦ潵瀹氭湡鍒锋柊鏁版嵁 - const intervalId = setInterval(async () => { - await fetchTableDataa(); - }, 1000); // 姣�1绉掑埛鏂颁竴娆� - - // 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒 - onUnmounted(() => { - clearInterval(intervalId); - }); -}); - // request.get("/loadGlass/LoadGlass/list").then((res) => { - // if (res.code === 200) { - // console.log(res.data); - // tableDataa.value = res.data; - - // if (tableDataa.value.length === 2) { - // if (tableDataa.value[0].patternWidth > 0) { - // flake.value = true; - // } - - // if (tableDataa.value[1].patternWidth > 0) { - // flakea.value = true; - // } - // } - // } else { - // ElMessage.warning(res.msg); - // // router.push("/login"); - // } - // }); - async function fetchTableDataa() { - try { - const res = await request.get("/loadGlass/LoadGlass/list"); - if (res.code === 200) { - tableDataa.value = res.data; - - // 鏍规嵁鏁版嵁鏇存柊 flake 鍜� flakea 鐨勫�� - if (res.data.length >= 2) { - if (res.data[0].patternWidth > 0) { - flake.value = true; - } else { - flake.value = false; - } - - if (res.data[1].patternWidth > 0) { - flakea.value = true; - } else { - flakea.value = false; - } - } - } else { - ElMessage.warning(res.msg); - } - } catch (error) { - console.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触', error); - // 鍙互鍦ㄨ繖閲屾坊鍔犻澶栫殑閿欒澶勭悊閫昏緫 - } -} -// request.get("/loadGlass/LoadGlass/list").then((res) => { -// window.localStorage.setItem('patternWidth', res.data.patternWidth) -// window.localStorage.setItem('workstationId', res.data.workstationId) -// if (res.code == 200) { -// console.log(res.data); -// tableDataa.value = res.data -// console.log(res.data.patternWidth); +request.get("/loadGlass/LoadGlass/list").then((res) => { + window.localStorage.setItem('patternWidth', res.data.patternWidth) + window.localStorage.setItem('workstationId', res.data.workstationId) + if (res.code == 200) { + console.log(res.data); + tableDataa.value = res.data + console.log(res.data.patternWidth); -// let workstationId = window.localStorage.getItem('workstationId') -// let patternWidth = window.localStorage.getItem('patternWidth') -// if (patternWidth !== '' || workstationId == '1') { -// flake.value = true -// } else if (patternWidth !== '' || workstationId == '2') { -// flakea.value = true -// } -// } else { -// ElMessage.warning(res.msg) -// // router.push("/login") -// } -// }); + let workstationId = window.localStorage.getItem('workstationId') + let patternWidth = window.localStorage.getItem('patternWidth') + if (patternWidth !== '' || workstationId == '1') { + flake.value = true + } else if (patternWidth !== '' || workstationId == '2') { + flakea.value = true + } + } else { + ElMessage.warning(res.msg) + // router.push("/login") + } + }); //瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁 const titleSelectJson = ref({ processType: [], - }) const titleSelectJsona = ref({ processTypea: [], - }) -// const getBasicData = ref({ -// id: '', -// projectNo: '', -// }) -// const requestData = { -// // projectNo:"P24030805", -// state:100 -// }; -// request.post("/loadGlass/optimizeProject/listByState", requestData) -// .then((res) => { -// if (res.code == 200) { -// titleSelectJson.value.processType = res.data; -// console.log(res.data); -// } else { -// ElMessage.warning(res.msg) -// // router.push("/login") -// } -// }); - // 鍒濆璇锋眰鍙傛暟 +const socketUrl = `ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass`; +// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 +const handleMessage = (data) => { + // 鏇存柊 tableData 鐨勬暟鎹� + + tableData.splice(0, tableData.length, ...data.prioritylist[0]); + tableDataa.value = data.list[0] + // console.log("鏇存柊鍚庢暟鎹�", tableData); +}; const requestData = { state: 100 }; -// 鍝嶅簲寮忔暟鎹� -const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 -const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 -const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃 - // 璋冪敤鎺ュ彛鑾峰彇閫夐」鏁版嵁鐨勫嚱鏁� const fetchOptions = async (queryString: string) => { try { @@ -218,22 +134,6 @@ console.error('Error fetching options:', error); } }; - // 寮�濮嬩笂鐗囦笅鎷夐�� -const fetchOptionsa = async (queryString: string) => { - try { - // 鍙戦�佽姹傚埌鍚庣鎺ュ彛 - const response = await request.get('/loadGlass/engineering/engineering/selectTask'); - if (response.code == 200) { - titleSelectJsona.value.processTypea = response.data; - console.log(response.data); - - } else { - ElMessage.warning(response.data); - } - } catch (error) { - console.error('Error fetching options:', error); - } -}; // 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉� const handleInputChange = async (value: string) => { if (value) { @@ -252,28 +152,14 @@ }; // 鍒濆鍖栧姞杞芥暟鎹紙濡傛灉闇�瑕侊級 onMounted(() => { - // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級 fetchOptions(''); + initializeWebSocket(socketUrl, handleMessage); }); -onMounted(() => { - // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級 - fetchOptionsa(''); -}); -// const billall = () => { -// request.post("/loadGlass/optimizeProject/listByState", requestData) -// .then((res: any) => { -// // if (res.code == 200) { -// tableData.value = res.data; -// // let self = this -// // } -// }) -// .catch((err: any) => {}); -// } +onBeforeUnmount(() => { + console.log("鍏抽棴浜�") + closeWebSocket(); +}); const user = ref(''); -// 瀹氫箟琛ㄥご涓婁紶鏁版嵁 -// let titleUploadData = ref({ -// projectNo:'', -// }) const projectNo = ref(''); const workstationId = ref(''); const id = ref(''); @@ -298,10 +184,10 @@ const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { id: workstationId.value, workstationId: workstationId.value, - patternHeight: patternHeight.value, - patternWidth: patternWidth.value, - filmsId: filmsId.value, - patternThickness: patternThickness.value, + patternHeight: selectedValuea.value, + patternWidth: selectedValue.value, + filmsId: selectedValueb.value, + patternThickness: selectedValuec.value, number: number.value }); if (response.code == 200) { @@ -310,11 +196,11 @@ // window.location.reload() add.value = false; tableDataa.value = response.data; - // patternHeight = ''; - // patternWidth.value = ''; - // filmsId.value = ''; - // patternThickness.value = ''; - // number.value = ''; + selectedValuea.value = ''; + selectedValue.value = ''; + selectedValueb.value = ''; + selectedValuec.value = ''; + number.value = ''; window.localStorage.setItem('workstationId', response.data.workstationId) let workstationId = window.localStorage.getItem('workstationId') if (workstationId == '1') { @@ -337,10 +223,10 @@ const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { id: workstationId.value, workstationId: workstationId.value, - patternHeight: patternHeight.value, - patternWidth: patternWidth.value, - filmsId: filmsId.value, - patternThickness: patternThickness.value, + patternHeight: selectedValuea.value, + patternWidth: selectedValue.value, + filmsId: selectedValueb.value, + patternThickness: selectedValuec.value, number: number.value }); if (response.code == 200) { @@ -349,6 +235,11 @@ // window.location.reload() add.value = false; tableDataa.value = response.data; + selectedValuea.value = ''; + selectedValue.value = ''; + selectedValueb.value = ''; + selectedValuec.value = ''; + number.value = ''; window.localStorage.setItem('workstationId', response.data.workstationId) let workstationId = window.localStorage.getItem('workstationId') if (workstationId == '1') { @@ -410,15 +301,40 @@ // 閫夋嫨宸ョ▼纭 const handleup = async () => { try { - const response = await request.post('/loadGlass/up-patten-usage/saveUpPattenUsage', { + 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); // window.location.reload() dialogFormVisible.value = false; + tableData.splice(0, tableData.length, ...response.data); 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); @@ -431,9 +347,14 @@ } // 寮�濮嬩笂鐗� const handle = async () => { + if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { + try { + let engineeringId = window.localStorage.getItem('engineeringId') +console.log(engineeringId); + const response = await request.post('/loadGlass/engineering/engineering/changeTask', { - engineerId: selectedProjectNoa.value, + engineerId: engineeringId, state: 1, }) if (response.code == 200) { @@ -441,7 +362,6 @@ ElMessage.success(response.message); // window.location.reload() blind.value = false; - tableData.splice(0, tableData.length, ...response.data); selectedProjectNoa.value = '' } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� @@ -452,6 +372,10 @@ // 澶勭悊閿欒 console.error(error); } + } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') { + // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华 + ElMessage.warning('璇风‘璁ゆ墦鏍囨満鍜屽垏鍓叉満鐨勫氨缁姸鎬侊紒'); + } } // 鏆傚仠 const handlea = async () => { @@ -459,17 +383,13 @@ let engineeringId = window.localStorage.getItem('engineeringId') console.log(engineeringId); if (engineeringId !== '') { - const response = await request.post('/loadGlass/engineering/engineering/changeTask', { + const response = await request.post('/loadGlass/engineering/engineering/pauseTask', { engineeringId: engineeringId, state: 0, }) if (response.code == 200) { - // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 ElMessage.success(response.message); - // window.location.reload() blinda.value = false; - // tableData.value = response.data - // tableData.value = []; tableData.splice([]); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� @@ -494,7 +414,7 @@ let engineeringId = window.localStorage.getItem('engineeringId') console.log(engineeringId); if (engineeringId !== '') { - const response = await request.post('/loadGlass/engineering/engineering/changeTask', { + const response = await request.post('/loadGlass/engineering/engineering/pauseTask', { engineeringId: engineeringId, state: 0, }) @@ -522,7 +442,6 @@ } } onMounted(fetchTableData); -onMounted(fetchTableDataa); function getStatusText(state: number) { switch (state) { case 0: @@ -533,115 +452,149 @@ return '涓婄墖涓�'; case 100: return '宸插畬鎴�'; - default: - return '鏈煡鐘舵��'; } } - function getStatusType(state: number) { - // 杩欓噷鍋囪鍙湁100鏃剁被鍨嬩笉鏄痵uccess锛屽叾浠栭兘鏄痵uccess - return state === 100 ? 'info' : 'success'; // 鏍规嵁闇�瑕佽皟鏁寸被鍨� + switch (state) { + case 0: + return 'warning'; + case 1: + return 'primary'; + case 2: + return 'primary'; + case 100: + return 'success'; + } } -// const open = () => { -// ElMessageBox.confirm( -// '鏄惁鍒犻櫎璇ユ潯淇℃伅?', -// '鎻愮ず', -// { -// confirmButtonText: '鏄�', -// cancelButtonText: '鍙栨秷', -// type: 'warning', -// } -// ) -// .then(() => { -// ElMessage({ -// type: 'success', -// message: '鍒犻櫎鎴愬姛锛�', -// }) -// }) -// .catch(() => { -// ElMessage({ -// type: 'info', -// message: '鍒犻櫎澶辫触', -// }) -// }) -// } // 寮�濮嬩笂鐗� const handleBind = (row) => { - // engineeringId.value = row.engineeringId; - blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� }; // 鏆傚仠 const handleBinda = (row) => { - // engineeringId.value = row.engineeringId; - - blinda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� + blinda.value = true; }; // 鍋滄浠诲姟 const handleBindb = (row) => { - // engineeringId.value = row.engineeringId; - - blindb.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� + blindb.value = true; }; // 鍒犻櫎 const handleBindRacka = (row) => { - workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕 - - adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� + workstationId.value = row.workstationId; + adda.value = true; }; -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 markingMachineStatus = ref('#911005'); +const cuttingMachineStatus = ref('#911005'); +// 瀹氫箟涓�涓柟娉曟潵鏀瑰彉棰滆壊鐘舵�� +const confirmMarkingMachine = () => { + markingMachineStatus.value = 'green'; +}; +const confirmCuttingMachine = () => { + cuttingMachineStatus.value = 'green'; +}; + + + +const wsUrl = 'ws://10.153.19.150:88/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) => { + // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏄疛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'; + 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' ? '#911005' : 'green'; + // 鏄剧ず鎴愬姛娑堟伅 + ElMessage.success(response.message); + } else { + ElMessage.error(response.message || '璇锋眰澶辫触'); + } + } catch (error) { + // 澶勭悊閿欒 + console.error('璇锋眰鏃跺彂鐢熼敊璇�', error); + 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> <div> <div id="dotClass"> - <div>鎵撴爣鏈哄氨缁姸鎬侊細</div> - <i style="margin-top: 2px; background-color: green;width:18px; height:18px; border-radius: 50%; display: block"></i> - <el-button style="margin-left: 30px;margin-top: -3px;">鎵嬪姩纭</el-button> - + <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> <div style="margin-left: 70px;">鍒囧壊鏈哄氨缁姸鎬侊細</div> - <i style="margin-top: 2px; background-color: #911005 ;width:18px; height:18px; border-radius: 50%; display: block"></i> - <el-button style="margin-left: 30px;margin-top: -3px;" >鎵嬪姩纭</el-button> - </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 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="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> @@ -655,7 +608,7 @@ > <el-table-column prop="engineeringId" label="宸ョ▼鍙�" width="200" align="center"/> <el-table-column prop="width" label="鍘熺墖瀹�" align="center"/> - <el-table-column prop="height" label="鍘熺墖闀�" align="center"/> + <el-table-column prop="height" label="鍘熺墖楂�" align="center"/> <el-table-column prop="filmsId" label="鑶滅郴" align="center"/> <el-table-column prop="layoutSequence" label="鏁伴噺" align="center"/> <el-table-column prop="thickness" label="鍘氬害" align="center"/> @@ -670,34 +623,11 @@ {{ getStatusText(scope.row.state) }} </el-tag> </template> - <!-- <template #default="scope"> - <el-tag type="success" >{{ scope.row.state==0?"绛夊緟涓�":"涓婄墖涓�" }}</el-tag> - </template> --> </el-table-column> </el-table> </div> - </el-card> - <el-dialog v-model="blind" top="24vh" width="30%" title="鏄惁寮�濮嬩笂鐗囷紵" > - <div style="margin-left: 50px;margin-bottom: 10px;"> - <el-form-item label="宸ョ▼鍙凤細" :required="true"> - <el-select - v-model="selectedProjectNoa" - filterable - clearable - placeholder="璇烽�夋嫨宸ョ▼" - style="width: 220px" - @input="handleInputChangea" - > - <el-option - v-for="item in titleSelectJsona['processTypea']" - :key="item.id" - :label="item.engineerId" - :value="item.engineerId" - /> - </el-select> - </el-form-item> - </div> + <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" > <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handle"> @@ -707,16 +637,6 @@ </div> </template> </el-dialog> - <!-- <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" > - <template #footer> - <div id="dialog-footer"> - <el-button type="primary" @click="handle"> - 纭 - </el-button> - <el-button @click="blind = false">鍙栨秷</el-button> - </div> - </template> - </el-dialog> --> <el-dialog v-model="blinda" top="30vh" width="25%" title="鏄惁鏆傚仠?" > <template #footer> <div id="dialog-footer"> @@ -743,9 +663,10 @@ <div id="overlaya" v-show="flakea"></div> </div> <div style="margin-top: -350px;margin-left: 650px;"> - <el-table :data="tableDataa" border style="width: 60%" + <el-table :data="tableDataa" border style="width: 70%" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" > + <el-table-column prop="workstationId" align="center" label="宸ヤ綅" min-width="50" /> <el-table-column prop="patternWidth" align="center" label="瀹�" min-width="80" /> <el-table-column prop="patternHeight" align="center" label="楂�" min-width="80" /> <el-table-column prop="filmsId" align="center" label="鑶滅郴" min-width="80" /> @@ -767,15 +688,44 @@ <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> - <el-form-item label="楂橈細" :required="true" style="width: 14vw"> - <el-input v-model="patternHeight" autocomplete="off" /> - </el-form-item></div></div> + <el-form-item label="瀹斤細" :required="true" style="width: 14vw"> + <el-select + v-model="selectedValue" + filterable + clearable + placeholder="璇烽�夋嫨瀹�" + style="width: 220px" + @input="handleInputChangea" + > + <el-option + v-for="item in selectOptions" + :key="item.id" + :label="item.label" + :value="item.value" + /> + </el-select> + </el-form-item> + </div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> - <el-form-item label="瀹斤細" :required="true" style="width: 14vw"> - <el-input v-model="patternWidth" autocomplete="off" /> + <el-form-item label="楂橈細" :required="true" style="width: 14vw"> + <el-select + v-model="selectedValuea" + filterable + clearable + placeholder="璇烽�夋嫨楂�" + style="width: 220px" + @input="handleInputChangea" + > + <el-option + v-for="item in selectOptionsa" + :key="item.id" + :label="item.label" + :value="item.value" + /> + </el-select> </el-form-item></div> </div> </el-col> @@ -785,14 +735,43 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="鑶滅郴锛�" :required="true" style="width: 14vw;"> - <el-input v-model="filmsId" autocomplete="off" /> + <el-select + v-model="selectedValueb" + filterable + clearable + placeholder="璇烽�夋嫨鑶滅郴" + style="width: 220px" + @input="handleInputChangea" + > + <el-option + v-for="item in selectOptionsb" + :key="item.id" + :label="item.label" + :value="item.value" + /> + </el-select> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item label="鍘氬害锛�" :required="true" style="width: 14vw"> - <el-input v-model="patternThickness" autocomplete="off" /> + <el-select + v-model="selectedValuec" + filterable + clearable + placeholder="璇烽�夋嫨鍘氬害" + style="width: 220px" + @input="handleInputChangea" + > + <el-option + v-for="item in selectOptionsc" + :key="item.id" + :label="item.label" + :value="item.value" + /> + </el-select> + <!-- <el-input v-model="patternThickness" autocomplete="off" /> --> </el-form-item></div></div> </el-col> </el-row> @@ -828,8 +807,6 @@ </template> </el-dialog> </div> - - <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="宸ョ▼" > <div style="margin-left: 50px;margin-bottom: 10px;"> <el-form-item label="宸ョ▼鍙凤細" :required="true"> -- Gitblit v1.8.0