From 3ca932ad348e06449c63a1eeda3e4d3f5c5f9f35 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期二, 13 八月 2024 14:13:54 +0800 Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes --- UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 277 ++++++++++++++++++++++--------------------------------- 1 files changed, 112 insertions(+), 165 deletions(-) diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue index ea71644..c73c875 100644 --- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue +++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue @@ -13,12 +13,7 @@ import request from "@/utils/request"; import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; import { WebSocketHost, host } from '@/utils/constants' -import PrintFlow from './PrintFlow.vue' -import print from 'vue3-print-nb'; -const printLoading = ref(true) -const fullFlowCard = ref('') -const autoPrint = ref(false) - +// import PrintFlow from './PrintFlow.vue' const dialogFormVisiblea = ref(false) const dialogFormVisiblea2 = ref(false) const dialogFormVisibleaDownGlass = ref(false) @@ -33,39 +28,13 @@ const flowCardOptions = ref('[]'); const tableData = reactive([]); const downGlass = ref([]); - +const timeRange = ref(["2022-01-01", "2025-01-01"]) const selectValuesa = reactive({}); const selectOptionsa = ref([]); const dialogTableVisible = ref(false) -const printFlowCardId = ref('') -const printLayer = ref('') -const now = new Date(); -const timeRange = ref([new Date(now.setHours(0, 0, 0, 0)), new Date(now.setHours(23, 59, 59, 999))]) - -const handleChange = async () => { - console.log("瑙﹀彂寮�鍏�") - try { - const body = { - flag: autoPrint.value, // 浣跨敤 ganghua.value 鑾峰彇褰撳墠寮�鍏崇殑鐘舵�� - }; - - var url = "/unLoadGlass/downWorkStation/autoPrint?flag=" + autoPrint.value; - const response = await request.post(url) - if (response.code == 200) { - // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 - ElMessage.success(response.message); - autoPrint.value = response.data - } else { - ElMessage.error(response.message); - } - } - catch (error) { - // 澶勭悊閿欒 - console.error(error); - } -} - - +// const printFlowCardId = ref('') +// const printLayer=ref('') + const handleInputChangea = (value, rowId) => { // 鏇存柊瀵瑰簲琛岀殑 select 鍊� selectValuesa[rowId] = value; @@ -87,7 +56,7 @@ const response = await request.get('unLoadGlass/downWorkStation/getflowCardId'); console.log(response) if (response.code === 200) { - + flowCardOptions.value = response.data.filter(item => item !== null) .map(item => ({ flowcard_id: item.flow_card_id })); console.log(flowCardOptions.value); @@ -113,7 +82,7 @@ if (response.code == 200) { // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 console.log('缁戝畾鎴愬姛'); - + ElMessage.success(response.message); updatePageData(); dialogFormVisiblea.value = false; @@ -142,8 +111,8 @@ const response = await request.post('unLoadGlass/downWorkStation/clear', { workstationId: workstationId.value, }); - - + + if (response.code === 200) { // 娓呴櫎鎴愬姛鐨勯�昏緫 console.log('娓呴櫎鎴愬姛'); @@ -167,7 +136,7 @@ try { // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲 const response = await request.get('unLoadGlass/downWorkStation/getone'); - + // 妫�鏌ュ搷搴旂姸鎬� if (response.code === 200) { // 鏇存柊琛ㄦ牸鏁版嵁 @@ -186,7 +155,6 @@ const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`; // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 const handleMessage = (data) => { - // 鏇存柊 tableData 鐨勬暟鎹� if (data.downGlassInfos != null) { downGlass.value = data.downGlassInfos[0][1]; @@ -194,28 +162,9 @@ if (data.engineerIdList != null) { selectOptionsa.value = data.engineerIdList[0] } - if (data.autoPrint != null) { - autoPrint.value = data.autoPrint; - } - console.log(autoPrint.value) - - tableData.splice(0, tableData.length, ...data.params[0]); - if (fullFlowCard.value == "") { - for (let i = 0; i < tableData.length; i++) { - if (tableData[i].totalQuantity != 0) { - if (tableData[i].totalQuantity == tableData[i].racksNumber + tableData[i].otherNumber && fullFlowCard.value != tableData[i].flowCardId) { - // printFlowCardId.value = tableData[i].flowCardId; - fullFlowCard.value = tableData[i].flowCardId; - open(tableData[i]); - break; - } - } else { - console.log("娌℃湁flowCardId") - } - } - } - - + + // tableData.splice(0, tableData.length, ...data.params[0]); + // console.log("鏇存柊鍚庢暟鎹�", data.params[0]); }; // 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁� @@ -233,30 +182,30 @@ console.log("鍏抽棴浜�") closeWebSocket(); }); - - + + const getTagType = (status) => { return status === 1 ? 'success' : 'danger'; // 鏍规嵁鐘舵�佸�煎喅瀹氭爣绛剧被鍨嬶紝杩欓噷鍋囪鐘舵�佷负1鏃朵负鎴愬姛锛堢豢鑹诧級锛屽惁鍒欎负澶辫触锛堢孩鑹诧級 } - + const toggleStatus = (row) => { // 鍒囨崲鏂欐灦鐘舵�佺殑閫昏緫 row.enableState = 1 - row.enableState; // Toggle between 0 and 1 // 姝ゅ鍙互娣诲姞淇濆瓨鐘舵�佺殑閫昏緫锛屾瘮濡傝皟鐢� API 鏇存柊鏁版嵁 updateRowStatus(row); }; - + const updateRowStatus = async (row) => { try { // 鍋囪浣犵殑鍚庣 API 鎺ユ敹 PUT 璇锋眰锛屽苟涓旈渶瑕佷紶閫� row.id 鍜� row.enableState 鍙傛暟 - - + + const response = await request.post('unLoadGlass/downWorkStation/updateDownWorkstation', { enableState: row.enableState, id: row.id - - + + }); console.log('Updated row status:', response.data); // 鍙互鏍规嵁鍚庣杩斿洖鐨勬暟鎹繘琛岃繘涓�姝ュ鐞嗭紝姣斿鏇存柊鏈湴鐘舵�佺瓑 @@ -265,79 +214,78 @@ // 澶勭悊閿欒鎯呭喌锛屾瘮濡傛彁绀虹敤鎴锋洿鏂板け璐� } }; - + // 鏌ヨ鏁版嵁 const selectDownGlassData = async () => { - - const response = await request.post("/unLoadGlass/downGlassInfo/setDownGlassInfoRequest", { + + const response = await request.post("/unLoadGlass/downGlassInfo/selectDownGlassInfo", { workStationId: selectValuesa[0], engineerId: selectValuesa[1], beginDate: timeRange.value[0], endDate: timeRange.value[1], }) if (response.code === 200) { + sendDownGlass.value = response.data; ElMessage.success(response.message); } else { ElMessage.error(response.message); } - + } - - -const open = async (row) => { - - printFlowCardId.value = row.flowCardId; - printLayer.value = row.layer - dialogTableVisible.value = true; - setTimeout(() => { - printFlowCard(); // 鏇挎崲鎴愪綘瑕佹墽琛岀殑鍑芥暟鍚� - dialogTableVisible.value = false; - }, 1000); - ; - -} - -const printFlowCard = () => { - // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d - let el = document.getElementById("child"); - let doc = document; - let body = doc.body || doc.getElementsByTagName("body")[0]; - let printId = "print-" + Date.now(); - - // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�) - let content = doc.createElement("div"); - content.id = printId; - - // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌 - let style = doc.createElement("style"); - style.innerHTML = - "body>#" + - printId + - "{display:none}@media print{" + - "@page {" + - " size: auto; " + - " margin: 2mm 2mm 0mm 1mm; " + - " }body>:not(#" + - printId + - "){display:none !important}body>#" + - printId + - "{display:block;padding-top:1px}}"; - // - content.innerHTML = el.outerHTML; - // // console.log("el.outerHTML", el.outerHTML); - body.appendChild(style); - - // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎 - // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡) - body.appendChild(content); - setTimeout(() => { - window.print(); - body.removeChild(content); - body.removeChild(style); - }, 20); -} - - + + +// const open=async(row)=>{ + +// printFlowCardId.value=row.flowCardId; +// printLayer.value=row.layer +// dialogTableVisible.value = true; +// setTimeout(() => { +// printFlowCard(); // 鏇挎崲鎴愪綘瑕佹墽琛岀殑鍑芥暟鍚� +// }, 1000); +// ; +// } + +// const printFlowCard = () => { +// // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d +// let el = document.getElementById("child"); +// let doc = document; +// let body = doc.body || doc.getElementsByTagName("body")[0]; +// let printId = "print-" + Date.now(); + +// // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�) +// let content = doc.createElement("div"); +// content.id = printId; + +// // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌 +// let style = doc.createElement("style"); +// style.innerHTML = +// "body>#" + +// printId + +// "{display:none}@media print{" + +// "@page {" + +// " size: auto; " + +// " margin: 2mm 2mm 0mm 1mm; " + +// " }body>:not(#" + +// printId + +// "){display:none !important}body>#" + +// printId + +// "{display:block;padding-top:1px}}"; +// // +// content.innerHTML = el.outerHTML; +// // // console.log("el.outerHTML", el.outerHTML); +// body.appendChild(style); + +// // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎 +// // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡) +// body.appendChild(content); +// setTimeout(() => { +// window.print(); +// body.removeChild(content); +// body.removeChild(style); +// }, 20); +// } + + // beforeUnmount(() => { // closeWebSocket(); // }); @@ -347,8 +295,6 @@ <div> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisibleaDownGlass = true">钀芥灦璇︽儏</el-button> - <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="autoPrint" class="mb-2" :inactive-text="$t('鑷姩鎵撳嵃')" - @change="handleChange" /> <el-card style="flex: 1;" v-loading="loading"> <el-card style="flex: 1;margin-left: 4px;margin-top: 1px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> @@ -378,12 +324,12 @@ @click="handleBindRack(scope.row)">{{ $t('reportWork.bindingshelves') }}</el-button> <el-button size="mini" type="text" plain @click="handleBindRack2(scope.row)">{{ $t('reportWork.clear') }}</el-button> - <el-button @click="open(scope.row)" :disabled="scope.row.flowCardId == null">鎵撳嵃</el-button> + <el-button @click="open(scope.row)" :disabled="scope.row.flowCardId==null">鎵撳嵃</el-button> </template> - + </el-table-column> </el-table> - + </div> <el-dialog v-model="dialogFormVisibleaDownGlass" top="2vh" width="97%" :title="$t('searchOrder.cageinformation')"> @@ -400,17 +346,14 @@ <el-option label="9" value="9"></el-option> <el-option label="10" value="10"></el-option> </el-select> - + <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable @input="handleInputChangea($event, row.id)"> <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" /> </el-select> - - <span class="demonstration">鏃堕棿娈�</span> - <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡"> - </el-date-picker> - + <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD" + value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')" + :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" /> <el-button type="primary" style="margin-left: 10px;" @click="selectDownGlassData()">{{ $t('reportmanage.inquire') }}</el-button> @@ -426,10 +369,10 @@ <el-table-column prop="Filmsid" align="center" :label="$t('鑶滅郴')" min-width="120" /> <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="120" /> <el-table-column prop="glassId" align="center" :label="$t('鐜荤拑id')" min-width="120" /> - + </el-table> </el-dialog> - + </el-card> <!-- workstationId: '1', workstationId: '1005', @@ -446,9 +389,9 @@ </div> </div> </el-card> - + </div> - + <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" :title="$t('reportWork.bindingshelves')"> <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="100px"> @@ -467,7 +410,7 @@ </div> <template #footer> <div id="dialog-footer"> - + <el-button type="primary" @click="handleConfirm"> {{ $t('reportWork.sure') }} </el-button> @@ -485,15 +428,19 @@ </div> </template> </el-dialog> - - <el-dialog id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close style="width: 75%;height:75% "> - <!-- <template #header="{ close, titleId, titleClass }"> - <el-button @click="printFlowCard" >鎵撳嵃</el-button> - </template> --> - <print-flow id="child" :printFlowCardId="printFlowCardId" :printLayer="printLayer" - style="width: 100%;height: 100%" /> - </el-dialog> - + + <!-- <el-dialog + id="sizePrintCalrd" + v-model="dialogTableVisible" + destroy-on-close + style="width: 75%;height:75% "> + <print-flow + id="child" + :printFlowCardId="printFlowCardId" + :printLayer="printLayer" + style="width: 100%;height: 100%"/> + </el-dialog> --> + </template> <style scoped> #dt { @@ -502,19 +449,19 @@ 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; } - + #message { text-align: center; align-items: center; @@ -524,21 +471,21 @@ background-color: #337ecc; margin-left: 28%; } - + .awatch { max-width: 100%; } - + #main-body { margin-top: -40px; margin-left: 150px; } - + #main-bodya { margin-top: -40px; margin-left: 100px; } - + :deep(#sizePrintCalrd .el-dialog__body) { height: 85%; width: 100%; -- Gitblit v1.8.0