From d5d0d1c7a84b996b9bbcebfaf2c2c95f1a5a3678 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期五, 11 十月 2024 08:39:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- UI-Project/src/views/Returns/returns.vue | 647 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 423 insertions(+), 224 deletions(-) diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue index dd2b52c..c5ffe12 100644 --- a/UI-Project/src/views/Returns/returns.vue +++ b/UI-Project/src/views/Returns/returns.vue @@ -5,6 +5,8 @@ const router = useRouter() import type { TableColumnCtx } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus' +import { useI18n } from 'vue-i18n' +const { t } = useI18n() const dialogFormVisible = ref(false) const blind = ref(false) const blinda = ref(false) @@ -13,21 +15,36 @@ const adda = ref(false) const flake = ref(false) const flakea = ref(false) -import { WebSocketHost } from '@/utils/constants' +const flakeb = ref(false) +const flakec = ref(false) +const dialoglea = ref(false) +const tableDatax = ref([]) +const user = ref(''); +const projectNo = ref(''); +const workstationId = ref(''); +const id = ref(''); +const patternHeight = ref(''); +const patternWidth = ref(''); +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); 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 upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵�� +const upstatus = ref(t('basicData.machineaa')); 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>>([]); // 涓嬫媺閫夐�夐」鏁扮粍 @@ -68,33 +85,110 @@ label: thickness, })); } else { - ElMessage.error(response.msg); + ElMessage.error(response.message); } } catch (error) { // 澶勭悊璇锋眰澶辫触鐨勬儏鍐� // ElMessage.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); - - 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 +const handlezhiban = () => { + dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� + fetchFlowCardId(); +}; +const selectproject = () => { + dialogFormVisible.value = true; + selectgong(); +}; +// 鍊肩彮淇℃伅 +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); } - } else { - ElMessage.warning(res.msg) - // router.push("/login") +} +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(''); + socket = initializeWebSocket(socketUrl, handleMessage); +}); + onUnmounted(() => { + if (socket) { + closeWebSocket(socket); + } + }); +const list = async () => { + try { + const response = await request.get('/loadGlass/LoadGlass/list'); + if (response.code == 200) { + tableDataa.value = response.data + if (tableDataa.value.length === 4) { + if (tableDataa.value[0].patternHeight > 0 && tableDataa.value[0].patternWidth > 0 && tableDataa.value[0].number > 0) { + flake.value = true; } - }); + if (tableDataa.value[1].patternHeight > 0 && tableDataa.value[1].patternWidth > 0 && tableDataa.value[1].number > 0) { + flakea.value = true; + } + if (tableDataa.value[2].patternHeight > 0 && tableDataa.value[2].patternWidth > 0 && tableDataa.value[2].number > 0) { + flakeb.value = true; + } + if (tableDataa.value[3].patternHeight > 0 && tableDataa.value[3].patternWidth > 0 && tableDataa.value[3].number > 0) { + flakec.value = true; + } + } + } else { + ElMessage.warning(response.data); + } + } catch (error) { + console.error('Error fetching options:', error); + } +}; +// 鍋囪杩欐槸鎮ㄧ殑鍝嶅簲澶勭悊鍑芥暟 +// request.get("/loadGlass/LoadGlass/list").then((res) => { +// if (res.code == 200) { +// tableDataa.value = res.data +// if (tableDataa.value.length === 4) { +// if (tableDataa.value[0].patternHeight > 0) { +// flake.value = true; +// } +// if (tableDataa.value[1].patternHeight > 0) { +// flakea.value = true; +// } +// if (tableDataa.value[2].patternHeight > 0) { +// flakeb.value = true; +// } +// if (tableDataa.value[3].patternHeight > 0) { +// flakec.value = true; +// } +// } +// } else { +// ElMessage.warning(res.message) +// // router.push("/login") +// } +// }); //瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁 const titleSelectJson = ref({ processType: [], @@ -102,19 +196,59 @@ const titleSelectJsona = ref({ processTypea: [], }) -const socketUrl = `ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass`; +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] - // console.log("鏇存柊鍚庢暟鎹�", tableData); + } + 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 }; -// 璋冪敤鎺ュ彛鑾峰彇閫夐」鏁版嵁鐨勫嚱鏁� + + + + +const selectgong = async (queryString: string) => { + try { + const response = await request.post('/loadGlass/optimizeProject/listByState',{ + ...requestData, + query: queryString + }) + if (response.code == 200) { + titleSelectJson.value.processType = response.data; + } else { + ElMessage.error(response.message); + } +} +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} const fetchOptions = async (queryString: string) => { try { // 鍙戦�佽姹傚埌鍚庣鎺ュ彛 @@ -122,9 +256,8 @@ ...requestData, query: queryString // 灏嗘煡璇㈠瓧绗︿覆浣滀负鍙傛暟浼犻�� }); - if (response.code == 200) { - titleSelectJson.value.processType = response.data; + // titleSelectJson.value.processType = response.data; console.log(response.data); } else { @@ -133,7 +266,7 @@ } catch (error) { console.error('Error fetching options:', error); } -}; +}; // 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉� const handleInputChange = async (value: string) => { if (value) { @@ -150,36 +283,19 @@ options.value = []; // 娓呯┖閫夐」鍒楄〃 } }; -// 鍒濆鍖栧姞杞芥暟鎹紙濡傛灉闇�瑕侊級 -onMounted(() => { - fetchOptions(''); - initializeWebSocket(socketUrl, handleMessage); -}); onBeforeUnmount(() => { - console.log("鍏抽棴浜�") closeWebSocket(); }); -const user = ref(''); -const projectNo = ref(''); -const workstationId = ref(''); -const id = ref(''); -const patternHeight = ref(''); -const patternWidth = ref(''); -const filmsId = ref(''); -const patternThickness = ref(''); -const number = ref(''); // 娣诲姞 const handleBindRack = (row) => { workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕 ida.value = row.id; - console.log(ida.value); add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� }; // 娣诲姞 const handleConfirm = async () => { - console.log(ida.value); // console.log('id.value:', id.value); - if ((ida.value === 2 || ida.value === 4) && (parseInt(patternHeight.value, 10) >= 2700 )) { + if ((ida.value === 2 || ida.value === 4) && (parseInt(selectedValuea.value, 10) >= 2700 )) { try { const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { id: workstationId.value, @@ -190,32 +306,50 @@ patternThickness: selectedValuec.value, number: number.value }); + // window.localStorage.setItem('workstationId', workstationId.value) + // window.localStorage.setItem('patternHeight', selectedValuea.value) + // window.localStorage.setItem('patternWidth', selectedValue.value) + // window.localStorage.setItem('number', number.value) if (response.code == 200) { // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 ElMessage.success(response.message); // window.location.reload() add.value = false; tableDataa.value = response.data; + // let workstationId = window.localStorage.getItem('workstationId') + // let patternHeight = window.localStorage.getItem('patternHeight') + // let patternWidth = window.localStorage.getItem('patternWidth') + // let number = window.localStorage.getItem('number') + if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') { + flake.value = true + } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2'){ + flakea.value = true + }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3'){ + flakeb.value = true + }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4'){ + flakec.value = true + } + // if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '1') { + // flake.value = true + // } else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '2'){ + // flakea.value = true + // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '3'){ + // flakeb.value = true + // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '4'){ + // flakec.value = true + // } 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') { - flake.value = true - } else if (workstationId == '2'){ - flakea.value = true - } + list() } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.msg); + ElMessage.error(response.message); } } catch (error) { // 澶勭悊璇锋眰閿欒 - console.error(error); - alert('璇锋眰澶辫触锛岃绋嶅悗鍐嶈瘯锛�'); } } else if( ida.value === 1 || ida.value === 3){ @@ -235,35 +369,35 @@ // window.location.reload() add.value = false; tableDataa.value = response.data; + if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') { + flake.value = true + } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2'){ + flakea.value = true + }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3'){ + flakeb.value = true + }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4'){ + flakec.value = true + } 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') { - flake.value = true - } else if (workstationId == '2'){ - flakea.value = true - } + list() } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.msg); + ElMessage.error(response.message); } } catch (error) { // 澶勭悊璇锋眰閿欒 - console.error(error); - alert('璇锋眰澶辫触锛岃绋嶅悗鍐嶈瘯锛�'); } } else { ElMessage({ type: 'info', - message: '绗簩琛屽拰绗洓琛岀殑楂樺繀椤诲ぇ浜�2700鎵嶈兘淇濆瓨锛�', + message: t('basicData.pause'), }) } - }; // 鍒犻櫎 const handleConfirma = async () => { @@ -275,23 +409,27 @@ filmsId: "", patternThickness: 0, number: 0 - }); - + }); if (response.code == 200) { // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 ElMessage.success(response.message); adda.value = false; tableDataa.value = response.data; - window.localStorage.setItem('workstationId', response.data.workstationId) - let workstationId = window.localStorage.getItem('workstationId') - if (workstationId == '1') { + // window.localStorage.setItem('workstationId', response.data.workstationId) + // let workstationId = window.localStorage.getItem('workstationId') + if (workstationId.value == '1') { flake.value = false - } else if (workstationId == '2'){ + } else if (workstationId.value == '2'){ flakea.value = false + }else if (workstationId.value == '3'){ + flakeb.value = false + }else if (workstationId.value == '4'){ + flakec.value = false } - } else { + list() + } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.msg); + ElMessage.error(response.message); } } catch (error) { // 澶勭悊閿欒 @@ -318,10 +456,9 @@ 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 + value: width, + label: width, })); selectOptionsa.value = Array.from(uniqueHeights).map(height => ({ value: height, @@ -337,7 +474,8 @@ })); } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.msg); + ElMessage.error(response.message); + // ElMessage.error(response.msg); } } catch (error) { @@ -347,12 +485,9 @@ } // 寮�濮嬩笂鐗� const handle = async () => { - if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { - + 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: engineeringId, state: 1, @@ -362,10 +497,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) { @@ -374,7 +509,7 @@ } } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') { // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华 - ElMessage.warning('璇风‘璁ゆ墦鏍囨満鍜屽垏鍓叉満鐨勫氨缁姸鎬侊紒'); + ElMessage.warning(t('basicData.pausea')); } } // 鏆傚仠 @@ -390,16 +525,16 @@ 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 { ElMessage({ type: 'info', - message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒', + message: t('basicData.infonull'), }) } } @@ -426,13 +561,13 @@ tableData.splice([]); // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.msg); + ElMessage.error(response.message); } } else { ElMessage({ type: 'info', - message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒', + message: t('basicData.infonull'), }) } } @@ -445,13 +580,13 @@ function getStatusText(state: number) { switch (state) { case 0: - return '绛夊緟涓�'; + return t('basicData.waiting'); case 1: - return '涓婄墖涓�'; + return t('basicData.up'); case 2: - return '涓婄墖涓�'; + return t('basicData.up'); case 100: - return '宸插畬鎴�'; + return t('basicData.finish'); } } function getStatusType(state: number) { @@ -494,50 +629,67 @@ 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杩炴帴寮傚父鍏抽棴'); +const toggleEnableState = async (row: any) => { + // 妫�鏌� id 鏄惁涓虹┖ + if (!row.id) { + ElMessage.error(t('basicData.updatanull')); + return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣� } -}; - -// 鐩戝惉WebSocket鐨勬秷鎭簨浠� -ws.onmessage = (event) => { - // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏄疛SON鏍煎紡鐨勫瓧绗︿覆 + const newState = row.state === 100 ? 0 : 100; 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; + // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵�� + const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState }); + if (response.code === 200) { + ElMessage.success(response.message); + row.state = newState; } else { - // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹� - console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data); + ElMessage.error(response.message); } } catch (error) { - console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error); + // 澶勭悊璇锋眰閿欒 + 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杩炴帴宸叉墦寮�'); +// }; + +// // 鐩戝惉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); +// } +// }; const confirmCutting = async () => { try { const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad', @@ -545,8 +697,8 @@ ); if (response.code == 200) { const status = response.data.status; - upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'; - cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green'; + upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa'); + cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005'; // 鏄剧ず鎴愬姛娑堟伅 ElMessage.success(response.message); } else { @@ -558,61 +710,48 @@ 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> + <div>{{ $t('basicData.laserprinting') }}</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> + <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{ $t('basicData.yes') }}</el-button> + <div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</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> + <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.yes') }}</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> + <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">閫夋嫨宸ョ▼</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 :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('basicData.selectproject') }}</el-button> + <el-button :disabled="!canSelectProject" :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"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> <el-table - height="150" + height="350" ref="table" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" :data="tableData" > - <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="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 prop="layoutSequence" :label="$t('basicData.layoutSequence')" width="100" align="center"/> + <el-table-column prop="engineeringId" :label="$t('basicData.projectnumber')" width="200" align="center"/> + <el-table-column prop="width" :label="$t('basicData.glasswidth')" align="center"/> + <el-table-column prop="height" :label="$t('basicData.glassheight')" align="center"/> + <el-table-column prop="filmsId" :label="$t('basicData.coatingtypes')" align="center"/> + <el-table-column :label="$t('basicData.quantity')" align="center"> + <template #default="{ row }"> + <!-- 杩欓噷鎬绘槸鏄剧ず 1 --> + <span>{{ 1 }}</span> + </template> + </el-table-column> + <el-table-column prop="thickness" :label="$t('basicData.thickness')" align="center"/> + <!-- <el-table-column align="center" label="鐘舵��" min-width="80" @@ -622,32 +761,72 @@ <el-tag :type="getStatusType(scope.row.state)"> {{ getStatusText(scope.row.state) }} </el-tag> - </template> + </template> --> + <el-table-column + align="center" + :label="$t('basicData.startstatus')" + 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 ? $t('basicData.pass') : $t('basicData.waiting') }} + </el-tag> + </template> </el-table-column> </el-table> </div> </el-card> - <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" > + <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')"> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handle"> - 纭 + {{ $t('basicData.confirm') }} </el-button> - <el-button @click="blind = false">鍙栨秷</el-button> + <el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> - <el-dialog v-model="blinda" top="30vh" width="25%" title="鏄惁鏆傚仠?" > + +<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"> <el-button type="primary" @click="handlea"> - 纭 + {{ $t('basicData.confirm') }} </el-button> - <el-button @click="blinda = false">鍙栨秷</el-button> + <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> - <el-dialog v-model="blindb" top="30vh" width="25%" title="鏄惁鍋滄浠诲姟?" > + <!-- <el-dialog v-model="blindb" top="30vh" width="25%" title="鏄惁鍋滄浠诲姟?" > <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleb"> @@ -656,31 +835,33 @@ <el-button @click="blindb = false">鍙栨秷</el-button> </div> </template> - </el-dialog> + </el-dialog> --> <div id="parent"> - <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;"> + <img src="../../assets/shangpian.png" alt="" style="max-width: 40%;max-height: 40%;margin-top: 20px;margin-left: 340px;"> <div id="overlay" v-show="flake"></div> <div id="overlaya" v-show="flakea"></div> + <div id="overlayb" v-show="flakeb"></div> + <div id="overlayc" v-show="flakec"></div> </div> - <div style="margin-top: -350px;margin-left: 650px;"> - <el-table :data="tableDataa" border style="width: 70%" + <div style="margin-top: -300px;margin-left: 680px;"> + <el-table :data="tableDataa" border style="width: 85%" :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" /> - <el-table-column prop="number" align="center" label="鏁伴噺" min-width="80" /> - <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150"> + <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60" /> + <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" /> + <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" /> + <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" /> + <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80" /> + <el-table-column fixed="right" :label="$t('basicData.operate')" 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> + <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">{{ $t('basicData.add') }}</el-button> + <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">{{ $t('basicData.delete') }}</el-button> </template> </el-table-column> </el-table> </div> - <el-dialog v-model="add" top="23vh" width="45%" title="娣诲姞鍘熺墖" > + <el-dialog v-model="add" top="23vh" width="45%" :title="$t('basicData.addglass')" > <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="150px"> <el-form label-width="70px" label-position="right"> @@ -688,12 +869,12 @@ <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> - <el-form-item label="瀹斤細" :required="true" style="width: 14vw"> + <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw"> <el-select v-model="selectedValue" filterable clearable - placeholder="璇烽�夋嫨瀹�" + :placeholder="$t('basicData.selectwidth')" style="width: 220px" @input="handleInputChangea" > @@ -710,12 +891,12 @@ <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> - <el-form-item label="楂橈細" :required="true" style="width: 14vw"> + <el-form-item :label="$t('basicData.heighta')" :required="true" style="width: 14vw"> <el-select v-model="selectedValuea" filterable clearable - placeholder="璇烽�夋嫨楂�" + :placeholder="$t('basicData.selectheight')" style="width: 220px" @input="handleInputChangea" > @@ -734,12 +915,12 @@ <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> - <el-form-item label="鑶滅郴锛�" :required="true" style="width: 14vw;"> + <el-form-item :label="$t('basicData.coatingtypesa')" :required="true" style="width: 14vw;"> <el-select v-model="selectedValueb" filterable clearable - placeholder="璇烽�夋嫨鑶滅郴" + :placeholder="$t('basicData.selectcoatingtypes')" style="width: 220px" @input="handleInputChangea" > @@ -755,12 +936,12 @@ <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> - <el-form-item label="鍘氬害锛�" :required="true" style="width: 14vw"> + <el-form-item :label="$t('basicData.thicknessa')" :required="true" style="width: 14vw"> <el-select v-model="selectedValuec" filterable clearable - placeholder="璇烽�夋嫨鍘氬害" + :placeholder="$t('basicData.selectthickness')" style="width: 220px" @input="handleInputChangea" > @@ -779,8 +960,8 @@ <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="number" autocomplete="off" /> + <el-form-item :label="$t('basicData.quantitya')" :required="true" style="width: 14vw;"> + <el-input :placeholder="$t('basicData.selectquantity')" v-model="number" autocomplete="off" /> </el-form-item></div></div> </el-col> </el-row> @@ -790,31 +971,31 @@ <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleConfirm"> - 纭 + {{ $t('basicData.confirm') }} </el-button> - <el-button @click="add = false">鍙栨秷</el-button> + <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> - <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" > + <el-dialog v-model="adda" top="30vh" width="25%" :title="$t('basicData.deletemessage')"> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleConfirma"> - 纭 + {{ $t('basicData.confirm') }} </el-button> - <el-button @click="adda = false">鍙栨秷</el-button> + <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> </div> - <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="宸ョ▼" > + <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" :title="$t('basicData.project')" > <div style="margin-left: 50px;margin-bottom: 10px;"> - <el-form-item label="宸ョ▼鍙凤細" :required="true"> + <el-form-item :label="$t('basicData.projectnumber')" :required="true"> <el-select v-model="selectedProjectNo" filterable clearable - placeholder="璇烽�夋嫨宸ョ▼" + :placeholder="$t('basicData.plselectproject')" style="width: 220px" @input="handleInputChange" > @@ -830,9 +1011,9 @@ <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleup"> - 纭 + {{ $t('basicData.confirm') }} </el-button> - <el-button @click="dialogFormVisible = false">鍙栨秷</el-button> + <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> @@ -858,23 +1039,41 @@ width: 1500px; margin-left: -300px } +#overlayb{ + position: absolute; + z-index: 1; + width: 228px; + height: 16px; + background-color: #529b2e; + margin-top: -303px; + margin-left: 355px; +} +#overlayc{ + position: absolute; + z-index: 1; + width: 228px; + height: 16px; + background-color: #529b2e; + margin-top: -303px; + margin-left:703px; +} #overlay{ position: absolute; z-index: 1; - width: 212px; - height: 15px; + width: 228px; + height: 16px; background-color: #529b2e; - margin-top: -404px; - margin-left: 542px; + margin-top: -45px; + margin-left: 355px; } #overlaya{ position: absolute; z-index: 1; - width: 212px; - height: 15px; + width: 228px; + height: 16px; background-color: #529b2e; - margin-top: -38px; - margin-left: 537px; + margin-top: -45px; + margin-left: 703px; } </style> \ No newline at end of file -- Gitblit v1.8.0