From d5d652d23a0bdf64ce527a6b592713a849abac7d Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期四, 17 十月 2024 15:22:37 +0800 Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes --- UI-Project/src/views/Returns/upreturns.vue | 1005 ++++++++++++---------------------------------------------- 1 files changed, 214 insertions(+), 791 deletions(-) diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue index 93d9f1d..1d25199 100644 --- a/UI-Project/src/views/Returns/upreturns.vue +++ b/UI-Project/src/views/Returns/upreturns.vue @@ -1,27 +1,29 @@ <script lang="ts" setup> -import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue"; +import {Search} from "@element-plus/icons-vue"; +import {reactive} from "vue"; import {useRouter} from "vue-router" -import {ElMessage} from 'element-plus' -import {useI18n} from 'vue-i18n' -import {host, WebSocketHost} from '@/utils/constants' -import request from "@/utils/request" -import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService'; - const router = useRouter() -const {t} = useI18n() +import type { TableColumnCtx } from 'element-plus' +import { ElMessage, ElMessageBox } from 'element-plus' +import { useI18n } from 'vue-i18n' +const { t } = useI18n() +import { WebSocketHost ,host} from '@/utils/constants' +import request from "@/utils/request" +import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; +import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue"; const selectValuesa = reactive([]); - - +const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 +const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎 const dialogFormVisible = ref(false) + + + + const blind = ref(false) const blinda = ref(false) const blindb = ref(false) const add = ref(false) const adda = ref(false) -const flake = ref(false) -const flakea = ref(false) -const flakeb = ref(false) -const flakec = ref(false) const dialoglea = ref(false) const tableDatax = ref([]) const user = ref(''); @@ -35,160 +37,39 @@ const number = ref(''); const canSelectProject = ref(true); const canStartLoading = ref(false); -const ida = ref(null); -const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 -const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫 -const selectedValuea = ref(''); +const selectedValuea = ref(''); const selectedValueb = ref(''); -const selectedValuec = ref(''); +const selectedValuec = ref(''); // const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵�� const upstatus = ref(t('basicData.machineaa')); const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛� const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊 const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊� const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃 +const ida = ref(null); 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([]); -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) - // 鑾峰彇鍞竴鍊� - 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.message); - } - } catch (error) { - // 澶勭悊璇锋眰澶辫触鐨勬儏鍐� - // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯'); - } -}; + const tableDataa = ref([]) + const tableData = reactive([]); 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); - } - } 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); + // socket = initializeWebSocket(socketUrl, handleMessage); }); -onUnmounted(() => { - if (socket) { + 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: [], @@ -199,87 +80,12 @@ let socket = null; const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`; // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 -const handleMessage = (data) => { - 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 -}; - - -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 { - // 鍙戦�佽姹傚埌鍚庣鎺ュ彛 - const response = await request.post('/loadGlass/optimizeProject/listByState', { - ...requestData, - query: queryString // 灏嗘煡璇㈠瓧绗︿覆浣滀负鍙傛暟浼犻�� - }); - if (response.code == 200) { - // titleSelectJson.value.processType = 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) { - await fetchOptions(value); - } else { - options.value = []; // 娓呯┖閫夐」鍒楄〃 - } -}; -// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉� -const handleInputChangea = async (value: string) => { - if (value) { - await fetchOptionsa(value); - } else { - options.value = []; // 娓呯┖閫夐」鍒楄〃 - } -}; + +const requestData = { + state: 100 +}; + + onBeforeUnmount(() => { closeWebSocket(); }); @@ -289,232 +95,16 @@ ida.value = row.id; add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� }; -// 娣诲姞 -const handleConfirm = async () => { - // console.log('id.value:', id.value); - if ((ida.value === 2 || ida.value === 4) && (parseInt(selectedValuea.value, 10) >= 2700)) { - try { - const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { - id: workstationId.value, - workstationId: workstationId.value, - patternHeight: selectedValuea.value, - patternWidth: selectedValue.value, - filmsId: selectedValueb.value, - 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 = ''; - list() - } else { - // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.message); - } - } catch (error) { - // 澶勭悊璇锋眰閿欒 - } - } else if (ida.value === 1 || ida.value === 3) { - try { - const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { - id: workstationId.value, - workstationId: workstationId.value, - patternHeight: selectedValuea.value, - patternWidth: selectedValue.value, - filmsId: selectedValueb.value, - patternThickness: selectedValuec.value, - number: number.value - }); - if (response.code == 200) { - // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 - ElMessage.success(response.message); - // 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 = ''; - list() - } else { - // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.message); - } - } catch (error) { - // 澶勭悊璇锋眰閿欒 - } - } else { - ElMessage({ - type: 'info', - message: t('basicData.pause'), - }) - } -}; -// 鍒犻櫎 -const handleConfirma = async () => { - try { - const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { - workstationId: workstationId.value, - patternHeight: 0, - patternWidth: 0, - 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.value == '1') { - flake.value = false - } else if (workstationId.value == '2') { - flakea.value = false - } else if (workstationId.value == '3') { - flakeb.value = false - } else if (workstationId.value == '4') { - flakec.value = false - } - list() - } else { - // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.message); - } - } catch (error) { - // 澶勭悊閿欒 - console.error(error); - } -}; -// 閫夋嫨宸ョ▼纭 -const handleup = async () => { - try { - 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, - label: width, - })); - 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.message); - // ElMessage.error(response.msg); - } - } catch (error) { - // 澶勭悊閿欒 - console.error(error); - } -} -// 寮�濮嬩笂鐗� -const handle = async () => { - if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { - try { - let engineeringId = window.localStorage.getItem('engineeringId') - const response = await request.post('/loadGlass/engineering/engineering/changeTask', { - engineerId: engineeringId, - state: 1, - }) - if (response.code == 200) { - // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 - ElMessage.success(response.message); - // window.location.reload() - blind.value = false; - selectedProjectNoa.value = ''; - } else { - // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.message); - } - } catch (error) { - // 澶勭悊閿欒 - console.error(error); - } - } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') { - // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华 - ElMessage.warning(t('basicData.pausea')); - } -} // 鏆傚仠 const handlea = async () => { - try { - let engineeringId = window.localStorage.getItem('engineeringId') - console.log(engineeringId); - if (engineeringId !== '') { - const response = await request.post('/loadGlass/engineering/engineering/pauseTask', { - engineeringId: engineeringId, - state: 0, - }) + try { + let engineeringId = window.localStorage.getItem('engineeringId') +console.log(engineeringId); +if (engineeringId !== '') { + const response = await request.post('/loadGlass/engineering/engineering/pauseTask', { + engineeringId: engineeringId, + state: 0, + }) if (response.code == 200) { ElMessage.success(response.message); blinda.value = false; @@ -530,54 +120,22 @@ message: t('basicData.infonull'), }) } - } catch (error) { +} +catch (error) { // 澶勭悊閿欒 console.error(error); } } -// 鍋滄浠诲姟 -const handleb = async () => { - try { - let engineeringId = window.localStorage.getItem('engineeringId') - console.log(engineeringId); - if (engineeringId !== '') { - const response = await request.post('/loadGlass/engineering/engineering/pauseTask', { - engineeringId: engineeringId, - state: 0, - }) - if (response.code == 200) { - // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 - ElMessage.success(response.message); - // window.location.reload() - blindb.value = false; - tableData.splice([]); - - // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� - ElMessage.error(response.message); - } - } else { - ElMessage({ - type: 'info', - message: t('basicData.infonull'), - }) - } - } catch (error) { - // 澶勭悊閿欒 - console.error(error); - } -} -onMounted(fetchTableData); - function getStatusText(state: number) { switch (state) { - case 0: + case 0: return t('basicData.waiting'); - case 1: + case 1: return t('basicData.up'); - case 2: - return t('basicData.up'); - case 100: - return t('basicData.finish'); + case 2: + return t('basicData.up'); + case 100: + return t('basicData.finish'); } } function getStatusType(state: number) { @@ -602,207 +160,133 @@ }; // 鍋滄浠诲姟 const handleBindb = (row) => { - blindb.value = true; + blindb.value = true; }; - + // 鍒犻櫎 const handleBindRacka = (row) => { workstationId.value = row.workstationId; - adda.value = true; + adda.value = true; }; -// 瀹氫箟涓�涓搷搴斿紡寮曠敤锛岀敤浜庡瓨鍌ㄩ鑹茬姸鎬� -const markingMachineStatus = ref('#911005'); -const cuttingMachineStatus = ref('#911005'); -// 瀹氫箟涓�涓柟娉曟潵鏀瑰彉棰滆壊鐘舵�� -const confirmMarkingMachine = () => { - markingMachineStatus.value = 'green'; -}; -const confirmCuttingMachine = () => { - cuttingMachineStatus.value = 'green'; -}; -const toggleEnableState = async (row: any) => { +const toggleEnableState = async (row: any) => { // 妫�鏌� id 鏄惁涓虹┖ - if (!row.id) { - ElMessage.error(t('basicData.updatanull')); + if (!row.id) { + ElMessage.error(t('basicData.updatanull')); return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣� - } - const newState = row.state === 100 ? 0 : 100; - try { + } + 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); - row.state = newState; - } else { - ElMessage.error(response.message); - } - } catch (error) { + 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 { + ElMessage.error(response.message); + } + } catch (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', - inKageWord.value - ); - if (response.code == 200) { - const status = response.data.status; - upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa'); - cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005'; - // 鏄剧ず鎴愬姛娑堟伅 - ElMessage.success(response.message); - } else { - ElMessage.error(response.message || '璇锋眰澶辫触'); - } - } catch (error) { - // 澶勭悊閿欒 - console.error('璇锋眰鏃跺彂鐢熼敊璇�', error); - ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�'); - } + ElMessage.error(t('basicData.glassnull')); + } }; </script> <template> <div> <div id="dotClass"> - <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;">{{ - $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;">{{ - $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;">{{ - $t('basicData.change') - }} - </el-button> - - </div> - <el-button :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;" type="primary" - @click="selectproject">{{ $t('Mounting.previewproject') }} - </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-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" - style="margin-top: 5px;margin-left: 20px;"> - <el-option :label="$t('film.built')" value="1"></el-option> + <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;">{{ $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;" >{{ $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;" >{{ $t('basicData.change') }}</el-button> + + </div> + <el-button style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button> + <el-button style="margin-top: 5px;margin-left: 20px;" type="success" @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-select v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.loadinglinea')" style="margin-top: 5px;margin-left: 20px;" > + <el-option :label="$t('Mounting.all')" value="0"></el-option> + <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option> + <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option> + </el-select> + <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" > + <el-option :label="$t('Mounting.waiting')" value="1"></el-option> <el-option :label="$t('film.execution')" value="2"></el-option> <el-option :label="$t('film.finish')" value="3"></el-option> </el-select> - <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')" - style="margin-top: 5px;margin-left: 20px;"> - <el-option :label="$t('film.stocke')" value="1"></el-option> - <el-option :label="$t('film.outbound')" value="2"></el-option> - <el-option :label="$t('film.dispatch')" value="3"></el-option> - </el-select> - <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ - $t('film.inquire') - }} - </el-button> + <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</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="350" - ref="table" - :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" - :data="tableData" - > - <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" - prop="state" - > - <template #default="scope"> - <el-tag :type="getStatusType(scope.row.state)"> - {{ getStatusText(scope.row.state) }} - </el-tag> - </template> --> - <el-table-column - align="center" - :label="$t('basicData.startstatus')" - min-width="80" - prop="state" + <el-table + height="350" + ref="table" + :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" + :data="tableData" + > + <el-table-column prop="layoutSequence" :label="$t('Mounting.project')" width="100" align="center"/> + <el-table-column prop="engineeringId" :label="$t('Mounting.width')" width="200" align="center"/> + <el-table-column prop="width" :label="$t('Mounting.height')" align="center"/> + <el-table-column prop="height" :label="$t('Mounting.thickness')" align="center"/> + <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/> + <el-table-column :label="$t('Mounting.projectnumber')" align="center"> + <template #default="{ row }"> + <!-- 杩欓噷鎬绘槸鏄剧ず 1 --> + <span>{{ 1 }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + :label="$t('Mounting.state')" + 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 #default="scope"> + <el-tag + :type="scope.row.state === 100 ? 'success' : 'warning'" + @click="toggleEnableState(scope.row)" + > + {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }} + </el-tag> </template> </el-table-column> + <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/> </el-table> </div> </el-card> + <div style="display: flex;"> + <div style="width: 49%;float: left;"> + <div style="display: flex;"> + <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;"> + <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;" + :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" + > + <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> + </div> + </div> + <div style="width: 48%;float: right;"> + <div style="display: flex;"> + <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;"> + <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;" + :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" + > + <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> + </div> +</div> +</div> <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')"> <template #footer> <div id="dialog-footer"> @@ -839,67 +323,35 @@ </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">{{ $t('basicData.cancel') }}</el-button> - </div> - </template> - </el-dialog> - <!-- <el-dialog v-model="blindb" top="30vh" width="25%" title="鏄惁鍋滄浠诲姟?" > - <template #footer> - <div id="dialog-footer"> - <el-button type="primary" @click="handleb"> - 纭 - </el-button> - <el-button @click="blindb = false">鍙栨秷</el-button> - </div> - </template> - </el-dialog> --> - <div id="parent"> - <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> + <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')"> + <div style="margin-left: 50px;margin-bottom: 10px;"> + <el-form-item :label="$t('Mounting.loadingline')" :required="true"> + <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;" > + <el-option :label="$t('Mounting.all')" value="0"></el-option> + <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option> + <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option> + </el-select> + </el-form-item> </div> - <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="$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)">{{ - $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="$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"> - <el-row style="margin-top: -15px;margin-bottom: -2px;"> - <el-col :span="6"> - <div id="dt" style="font-size: 15px;"> - <div> - <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw"> + <template #footer> + <div id="dialog-footer"> + <el-button type="primary" @click="handleup"> + {{ $t('basicData.confirm') }} + </el-button> + <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button> + </div> + </template> + </el-dialog> + + <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"> + <el-row style="margin-top: -15px;margin-bottom: -2px;"> + <el-col :span="6"> + <div id="dt" style="font-size: 15px;"> + <div> + <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw"> <el-select v-model="selectedValue" filterable @@ -1017,20 +469,26 @@ </div> </template> </el-dialog> - </div> - <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="$t('basicData.projectnumber')" :required="true"> - <el-select - v-model="selectedProjectNo" - filterable - clearable - :placeholder="$t('basicData.plselectproject')" - style="width: 220px" - @input="handleInputChange" - > - <el-option - v-for="item in titleSelectJson['processType']" + </div> + <el-dialog v-model="dialogFormVisible" top="24vh" width="50%" > + <div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;"> + <el-form-item :label="$t('Mounting.loadingline')" :required="true"> + <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" > + <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option> + <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option> + </el-select> + </el-form-item> + <el-form-item :label="$t('Mounting.projecta')" :required="true"> + <el-select + v-model="selectedProjectNo" + filterable + clearable + :placeholder="$t('basicData.plselectproject')" + style="width: 220px" + @input="handleInputChange" + > + <el-option + v-for="item in titleSelectJson['processType']" :key="item.id" :label="item.projectNo" :value="item.projectNo" @@ -1050,66 +508,31 @@ </template> <style scoped> - + .flex-container { + display: flex; + align-items: center; /* 鍨傜洿灞呬腑 */ +} +.flex-container .el-form-item { + flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */ + margin-right: 0; /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */ +} +.flex-container .el-form-item:last-child { + margin-left: 20px; /* 涓虹浜屼釜琛ㄥ崟椤规坊鍔犲乏渚ц竟璺� */ +} + + + #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} #dialog-footer{ text-align: center; margin-top: -15px; } - #dotClass { display: flex; - margin-left: 20px; + margin-left: 20px; size: 50px; margin-top: 20px; margin-bottom: 10px; } - -#parent { - position: relative; - 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: 228px; - height: 16px; - background-color: #529b2e; - margin-top: -45px; - margin-left: 355px; -} - -#overlaya { - position: absolute; - z-index: 1; - width: 228px; - height: 16px; - background-color: #529b2e; - margin-top: -45px; - margin-left: 703px; -} - </style> \ No newline at end of file -- Gitblit v1.8.0