From 56fab901b298857ff4985b7429ef843c9a9d1471 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期三, 28 八月 2024 16:20:02 +0800 Subject: [PATCH] 钢化模块打印功能,新增表格字段 --- UI-Project/src/views/StockBasicData/stockBasicData.vue | 325 ++++++++++++++++++++++++++---------------------------- 1 files changed, 157 insertions(+), 168 deletions(-) diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue index efba1a1..2e08076 100644 --- a/UI-Project/src/views/StockBasicData/stockBasicData.vue +++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue @@ -4,207 +4,197 @@ import {useRouter} from "vue-router" const router = useRouter() const adda = ref(false) - +import { WebSocketHost ,host} from '@/utils/constants' import request from "@/utils/request" -import { ref, onMounted } from "vue"; +import { ref, onMounted , onBeforeUnmount,onUnmounted} from "vue"; +import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; // import { ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' // import LanguageMixin from './lang/LanguageMixin' + import { useI18n } from 'vue-i18n' + const { t } = useI18n() + let language = ref(localStorage.getItem('lang') || 'zh') const tableData = ref([]) const slot = ref('') - +const requestData = { + line: 2001 +}; +const timeRange = ref([]) +const selectValuesa = reactive([]); +// request.post("/cacheGlass/taskCache/selectEdgTask",{ +// ...requestData, -request.post("/cacheGlass/taskCache/selectEdgTask").then((res) => { - if (res.code == 200) { +// }).then((res) => { +// if (res.code == 200) { - console.log(res.data); - tableData.value = res.data - console.log(res.data[0].slot); - } else { - ElMessage.warning(res.msg) - - } - }); - -// const getTableRow = (row,type) =>{ -// switch (type) { -// case 'delete':{ -// let flowData = ref({ -// id:0, -// slot:row.slot -// }) -// request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass",flowData.value).then((res) => { -// if(res.code==200){ -// ElMessage.success(t('searchOrder.msgDeleteSuccess')) -// router.push({path:'/main/delivery/selectDelivery',query:{random:Math.random()}}) -// }else{ +// console.log(res.data); +// tableData.value = res.data +// console.log(res.data[0].slot); +// } else { // ElMessage.warning(res.msg) -// router.push("/login") -// } -// }) + +// } +// }); -// return -// } -// } -// } -// let slots = ref({ -// id:0, -// slot: slot.value -// }) -const open = async(row) => { - try { +// 纾ㄨ竟浠诲姟鏌ヨ +const setEdgGlassInfoRequest = async () => { + let celllist=[] + let stateList=[] + if(selectValuesa[0]!=null&&selectValuesa[0]!='undefined'){ + if(selectValuesa[0]!=""){ + celllist=[selectValuesa[0]]; + } + } + if(selectValuesa[1]!=null&&selectValuesa[1]!='undefined'){ + if(selectValuesa[1]!=""){ + stateList=[selectValuesa[1]]; + } + } +console.log(timeRange.value[0],timeRange.value[1]); + const response = await request.post("/cacheGlass/edgGlassTaskInfo/setEdgGlassInfoRequest", { + cellList: celllist, + stateList: stateList, + beginDate: timeRange.value[0], + endDate: timeRange.value[1], + }) + if (response.code === 200) { + ElMessage.success(response.message); + } else { + ElMessage.error(response.message); + } + +} + +// 鐮存崯 + const open = async(row) => { + try { const confirmResult = await ElMessageBox.confirm( - '鏄惁鍒犻櫎璇ユ潯淇℃伅?', - '鎻愮ず', + t('workOrder.messagedamaged'), + t('workOrder.prompt'), { - confirmButtonText: '鏄�', - cancelButtonText: '鍙栨秷', + confirmButtonText: t('workOrder.yes'), + cancelButtonText: t('workOrder.cancel'), type: 'warning', - } - ); + } + ); if (confirmResult === 'confirm') { // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛 - const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", { - id:0, - slot: row.slot + const response = await request.post("/cacheGlass/edgStorageCage/edgReportStatus", { + glassId: row.glassId, + state: 8, + line: row.line, + workingProcedure: '鍐峰姞宸�', }) - if (response.code == 200) { - // 鍒犻櫎鎴愬姛锛屾偍鍙互鏍规嵁闇�瑕佸鐞嗘垚鍔熺殑鎯呭喌 - alert('鍒犻櫎鎴愬姛锛�'); + if (response.code === 200) { + ElMessage.success(response.message); } else { // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛 - alert('鍒犻櫎澶辫触锛�' + deleteResponse.message); + ElMessage.error(response.msg); + // alert('鍒犻櫎澶辫触锛�' + deleteResponse.message); + } + } + } catch (error) { + // 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑 + console.error('鍙戠敓閿欒:', error); + } +}; +// 鎷胯蛋 + const opena = async(row) => { + try { + const confirmResult = await ElMessageBox.confirm( + t('workOrder.takemessage'), + t('workOrder.prompt'), + { + confirmButtonText: t('workOrder.yes'), + cancelButtonText: t('workOrder.cancel'), + type: 'warning', + } + ); + if (confirmResult === 'confirm') { + // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛 + const response = await request.post("/cacheGlass/edgStorageCage/edgReportStatus", { + glassId: row.glassId, + state: 9, + line: row.line, + workingProcedure: '鍐峰姞宸�', + }) + if (response.code === 200) { + ElMessage.success(response.message); + } else { + // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛 + ElMessage.error(response.msg); + // alert('鍒犻櫎澶辫触锛�' + deleteResponse.message); } } } catch (error) { // 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑 console.error('鍙戠敓閿欒:', error); } -}; -// const open = () => { -// ElMessageBox.confirm( -// '鏄惁鍒犻櫎璇ユ潯淇℃伅?', -// '鎻愮ず', -// { -// confirmButtonText: '鏄�', -// cancelButtonText: '鍙栨秷', -// type: 'warning', -// } -// ) -// .then(() => { -// ElMessage({ -// type: 'success', -// message: '鍒犻櫎鎴愬姛锛�', -// }) -// }) -// .catch(() => { -// ElMessage({ -// type: 'info', -// message: '鍒犻櫎澶辫触', -// }) -// }) -// } -// 鍒犻櫎 -// const handleBindRacka = (row) => { -// adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� -// }; -// // 鍒犻櫎 -// const handleConfirma = async () => { -// try { -// window.localStorage.setItem('slot', res.data.slot) -// let slot = window.localStorage.getItem('slot') -// const response = await request.post('/cacheGlass/edgStorageCage/edgStorageCageGlass', { -// slot: slot.value, -// id: 0 -// }); - -// if (response.code == 200) { -// // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 -// ElMessage.success(response.message); -// adda.value = false; -// } else { -// // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� -// ElMessage.error(response.msg); -// } -// } catch (error) { -// // 澶勭悊閿欒 -// console.error(error); -// } -// }; - -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', +}; +let socket = null; +const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`; +// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 +const handleMessage = (data) => { + // 鏇存柊 tableData 鐨勬暟鎹� + tableData.value = data.edgTasks[0] +}; +onMounted(() => { + socket = initializeWebSocket(socketUrl, handleMessage); +}); + onUnmounted(() => { + if (socket) { + closeWebSocket(socket); } - ] - -}) - - - + }); +onBeforeUnmount(() => { + console.log("鍏抽棴浜�") + closeWebSocket(); +}); </script> - <template> <div> <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> + <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('璇烽�夋嫨绾胯矾')" clearable style="margin-left: 20px;margin-bottom: 10px;"> + <el-option label="纾ㄨ竟涓�绾�" value="2001"></el-option> + <el-option label="纾ㄨ竟浜岀嚎" value="2002"></el-option> + </el-select> + + <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('璇烽�夋嫨鐘舵��')" clearable style="margin-left: 20px;margin-bottom: 10px;" > + <el-option label="鏈(杈�" value="0"></el-option> + <el-option label="纾ㄨ竟涓�" value="1"></el-option> + <el-option label="宸茬(杈�" value="2"></el-option> + </el-select> + <span class="demonstration" style="margin-left: 20px;margin-bottom: 10px;">鏃堕棿娈�</span> + <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" style="margin-left: 20px;margin-bottom: 10px;" value-format = "YYYY-MM-DD hh:mm:ss" + + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="setEdgGlassInfoRequest()">{{ + $t('reportmanage.inquire') + }}</el-button> + <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> - <el-table height="240" ref="table" + <el-table height="750" ref="table" @selection-change="handleSelectionChange" :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> - <el-table-column prop="slot" align="center" label="id" min-width="80" /> - <el-table-column prop="glass_id" align="center" label="闀�" min-width="80" /> - <el-table-column prop="width" align="center" label="瀹�" min-width="120" /> - <el-table-column prop="height" align="center" label="鍘氬害" min-width="120" /> - <el-table-column prop="height" align="center" label="鑶滅郴" min-width="120" /> - <el-table-column prop="height" align="center" label="鍑虹墖椤哄簭" min-width="120" /> - <el-table-column prop="height" align="center" label="娴佺▼鍗″彿" min-width="120" /> - <el-table-column prop="height" align="center" label="鍏朵粬" min-width="120" /> - <el-table-column - align="center" - label="鍚敤鐘舵��" - min-width="80" - prop="enable_state" - > - <template #default="scope"> - <el-tag type="success" >{{ scope.row.enable_state==1?"鍚敤":"鏈惎鐢�" }}</el-tag> - </template> - </el-table-column> - <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200"> + <el-table-column prop="glassId" align="center" :label="$t('workOrder.glassID')" min-width="180" /> + <el-table-column prop="width" align="center" :label="$t('workOrder.width')" min-width="120" /> + <el-table-column prop="height" align="center" :label="$t('workOrder.height')" min-width="80" /> + <el-table-column prop="thickness" align="center" :label="$t('workOrder.thickness')" min-width="120" /> + <el-table-column prop="glassType" align="center" :label="$t('workOrder.glasstype')" min-width="120" /> + <el-table-column prop="line" align="center" :label="$t('workOrder.line')" min-width="120" /> + <el-table-column prop="status" :label="$t('workOrder.status')" align="center" width="200"> <template #default="scope"> - <el-button size="mini" type="text" plain @click="open(scope.row)">鐮存崯</el-button> - <el-button size="mini" type="text" plain @click="open(scope.row)">鍒犻櫎</el-button> + {{ scope.row.status==0?"鏈(杈�":scope.row.status==1?"纾ㄨ竟涓�":"宸茬(杈�" }} + </template> + </el-table-column> + + + <el-table-column fixed="right" :label="$t('workOrder.operate')" align="center" width="200"> + <template #default="scope"> + <el-button size="mini" type="text" plain @click="open(scope.row)">{{ $t('workOrder.breakage') }}</el-button> + <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('workOrder.takeout') }}</el-button> </template> </el-table-column> </el-table> @@ -214,7 +204,6 @@ </template> <style scoped> - #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} #dialog-footer{ -- Gitblit v1.8.0