From 8a76767b0a7ad271c8487a02063590b956deb5df Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期四, 25 七月 2024 14:30:30 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- UI-Project/src/views/Slicecage/slicecage.vue | 173 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 124 insertions(+), 49 deletions(-) diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue index 5fd9087..5870cad 100644 --- a/UI-Project/src/views/Slicecage/slicecage.vue +++ b/UI-Project/src/views/Slicecage/slicecage.vue @@ -14,7 +14,9 @@ const dialogFormVisible = ref(false) const dialogFormVisiblea = ref(false) const dialogFormVisibleb = ref(false) +const dialogFormVisiblec = ref(false) const tableData = ref([]) +const tableDatagh = ref([]) const tableDatab = ref([]) const tableDatac = ref([]) const tableDatad = ref([]) @@ -69,57 +71,68 @@ const cell8=ref(true); const cell9=ref(true); const selectedRow = ref(null); // 瀛樺偍閫変腑鐨勮鏁版嵁 - - + +onMounted(async () => { + try { + const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass'); + if (response.code === 200) { + tableDatagh.value = response.data + } else { + ElMessage.warning(response.msg) + } + } catch (error) { + // console.error('Error fetching rects :', error); + } +}); // 褰撳墠椤电爜鍜屾瘡椤垫樉绀虹殑鏉℃暟 const currentPage = ref(1); const itemsPerPage = computed(() => { if (currentPage.value === 1) { - return 21; + return 55; } else if (currentPage.value === 2) { - return 21; + return 55; } else if (currentPage.value === 3) { - return 21; + return 55; } else if (currentPage.value === 4) { - return 20; + return 55; } else if (currentPage.value === 5) { - return 21; + return 55; } else if (currentPage.value === 6) { return 25; } else if (currentPage.value === 7) { - return 51; + return 30; } else if (currentPage.value === 8) { return 25; } else { return 25; // 榛樿鍊硷紝鍙互鏍规嵁瀹為檯闇�姹備慨鏀� } }); - + // 璁$畻鍒嗛〉鍚庣殑鏁版嵁 const paginatedUsers = computed(() => { const startIndex = calculateStartIndex(); const endIndex = startIndex + itemsPerPage.value; return tableData.value.slice(startIndex, endIndex); }); - + // 璁$畻褰撳墠椤电殑璧峰绱㈠紩 function calculateStartIndex() { let index = 0; for (let i = 1; i < currentPage.value; i++) { if (i === 1) { - index += 21; + index += 55; } else if (i === 2) { - index += 21; + index += 55; } else if (i === 3) { - index += 21; + index += 55; }else if (i === 4) { - index += 20; + index += 55; }else if (i === 5) { - index += 21; + index += 55; }else if (i === 6) { index += 25; }else if (i === 7) { - index += 51; + index += 30; }else if (i === 8) { index += 25; } else { @@ -145,7 +158,7 @@ currentPage.value++; } }; - + // 鎬婚〉鏁拌绠� const totalPages = computed(() => { // let total = 0; @@ -162,9 +175,9 @@ // } return 9; }); - - - + + + const getTableRow = (row,type) =>{ switch (type) { case 'edit' :{ @@ -349,6 +362,33 @@ console.error('鍙戠敓閿欒:', error); } }; + // 鎸囧畾閽㈠寲 + const brokee = async(row) => { + try { + const confirmResult = await ElMessageBox.confirm( + t('searchOrder.specifytemperinga'), + t('searchOrder.prompt'), + { + confirmButtonText: t('searchOrder.yes'), + cancelButtonText: t('searchOrder.cancel'), + type: 'warning', + } + ); + if (confirmResult === 'confirm') { + const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/TemperingGlass",{ + engineerId: row.engineer_id, + temperingLayoutId: row.tempering_layout_id, + }); + if (response.code === 200) { + ElMessage.success(response.message); + } else { + ElMessage.error(response.message); + } + } + } catch (error) { + console.error('鍙戠敓閿欒:', error); + } +}; // 鍑虹墖闃熷垪鎷胯蛋 const brokeb = async(row) => { try { @@ -452,7 +492,7 @@ ElMessage.success(response.message); glassId.value = ''; tableDataf.value = ''; - + } else { ElMessage.error(response.message); } @@ -469,21 +509,38 @@ // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺 const handleMessage = (data) => { // 鏇存柊 tableData 鐨勬暟鎹� - tableDatac.value = data.bigStorageCageDetailsOutTask[0] - tableDatad.value = data.bigStorageCageDetailsFeedTask[0] + if(data.bigStorageCageDetailsOutTask!=null){ + tableDatac.value = data.bigStorageCageDetailsOutTask[0] + adjusta.value = data.bigStorageCageDetailsOutTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined); + } + if(data.bigStorageCageDetailsFeedTask!=null){ + tableDatad.value = data.bigStorageCageDetailsFeedTask[0] + adjust.value = data.bigStorageCageDetailsFeedTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined); + } + // adjust.value = data.bigStorageCageDetailsFeedTask[0].map(rect => ({ // ...rect, // })); - adjusta.value = data.bigStorageCageDetailsOutTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined); - adjust.value = data.bigStorageCageDetailsFeedTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined); + // const adjust = computed(() => { // return data.value.bigStorageCageDetailsFeedTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined); // }); +if(data.bigStorageCageInfo!=null){ tableData.value = data.bigStorageCageInfo[0] +} +if(data.temperingGlassInfoList!=null){ tableDatab.value = data.temperingGlassInfoList[0] +} +if(data.bigStorageCageUsage!=null){ tableDatae.value = data.bigStorageCageUsage[0] +} +if(data.carPostion!=null){ carPosition.value = data.carPostion[0] - window.localStorage.setItem('length', data.bigStorageCageInfos[0][1].length) +} + + + if(data.bigStorageCageInfos!=null){ + window.localStorage.setItem('length', data.bigStorageCageInfos[0][1].length) let length = window.localStorage.getItem('length') adjustedRects.value = data.bigStorageCageInfos[0][1].map(rect => ({ ...rect, @@ -530,12 +587,15 @@ height: 20/length, top: 29/length })); + } + + }; // 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁� onMounted(() => { // fetchFlowCardId(); initializeWebSocket(socketUrl, handleMessage); - + }); function getStatusType(enableState: number) { switch (enableState) { @@ -597,9 +657,10 @@ <div style="height: 600px;"> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">{{ $t('searchOrder.cageinformation') }}</el-button> <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</el-button> + <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="dialogFormVisiblec = true">{{ $t('searchOrder.temperingqueries') }}</el-button> <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;"> - <el-table height="100%" ref="table" + <el-table height="100px" ref="table" :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="120" /> <el-table-column prop="bigStorageCageOutTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" /> @@ -634,7 +695,7 @@ </el-card> <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;"> - <el-table height="100%" ref="table" + <el-table height="100px" ref="table" @selection-change="handleSelectionChange" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="120" /> @@ -667,7 +728,7 @@ </el-table> </div> </el-card> - <div style="padding: 10px;display: flex;height:110px;"> + <div style="padding: 10px;display: flex;height:130px;"> <div v-for="(item, index) in tableDatae" :key="index" id="occupy"> <el-col style="text-align:left;font-weight: bold;">#{{ item.device_id }}</el-col> <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;"> @@ -681,7 +742,7 @@ </div> <!-- // 鐖剁骇妗� --> <div class="img-dlpl" > - <div class="img-car1" :style="'z-index:999;left:247px;top:' + 350*carPosition[0] + 'px;position:absolute;'"> + <div class="img-car1" :style="'z-index:999;left:270px;top:' + 350*carPosition[0] + 'px;position:absolute;'"> <div v-for="(rect, index) in adjusta" :key="rect.id" @@ -689,13 +750,13 @@ width: '30px', height: '5px', backgroundColor: '#409EFF', - marginLeft: index * 5+ `px`, + marginLeft: 5+ `px`, top: '10px', }" > </div> </div> - <div class="img-car4" :style="'z-index:999;left:704px;top:' + 350*carPosition[1] + 'px;position:absolute;'"> + <div class="img-car4" :style="'z-index:999;left:740px;top:' + 350*carPosition[1] + 'px;position:absolute;'"> <div v-for="(rect, index) in adjust" :key="rect.id" @@ -703,14 +764,14 @@ width: '30px', height: '5px', backgroundColor: '#409EFF', - marginLeft: index * 5+ `px`, + marginLeft: 5+ `px`, top: '10px', }" > </div> </div> <div style="position: relative;"> - <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:55px;left: 465px;"> + <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:50px;left: 495px;"> <div v-for="(rect, index) in adjustedRects" :key="rect" @@ -741,7 +802,7 @@ </div> </div> </div> - <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:56px;left: 465px;"> + <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:51px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsa" :key="rect.id" @@ -772,7 +833,7 @@ </div> </div> </div> - <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:117px;left: 465px;"> + <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:110px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsb" :key="rect.id" @@ -802,7 +863,7 @@ </div> </div> </div> - <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:148px;left: 465px;"> + <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:140px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsc" :key="rect.id" @@ -833,7 +894,7 @@ </div> </div> </div> - <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:208px;left: 465px;"> + <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:170px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsd" :key="rect.id" @@ -864,7 +925,7 @@ </div> </div> </div> - <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:238px;left: 465px;"> + <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:241px;left: 495px;"> <div v-for="(rect, index) in adjustedRectse" :key="rect.id" @@ -895,7 +956,7 @@ </div> </div> </div> - <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:269px;left: 465px;"> + <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:271px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsf" :key="rect.id" @@ -926,7 +987,7 @@ </div> </div> </div> - <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:300px;left: 465px;"> + <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:301px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsg" :key="rect.id" @@ -957,7 +1018,7 @@ </div> </div> </div> - <div v-show="cell9" style="width: 227px;height: 29px;position: absolute;top:300px;left: 465px;"> + <div v-show="cell9" style="width: 227px;height: 29px;position: absolute;top:332px;left: 495px;"> <div v-for="(rect, index) in adjustedRectsh" :key="rect.id" @@ -1019,8 +1080,8 @@ </el-input> <el-button type="primary" plain style="margin-left: 10px;" @click="searchout">{{ $t('searchOrder.search') }}</el-button> </div> - - <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 500px;"> + + <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> <el-table height="100%" ref="table" :data="tableDataf" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120" /> @@ -1219,6 +1280,19 @@ </el-table-column> </el-table> </el-dialog> +<el-dialog v-model="dialogFormVisiblec" top="5vh" width="85%" :title="$t('searchOrder.temperingqueries')"> + <el-table ref="table" style="margin-top: 20px;height: 500px;" + :data="tableDatagh" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> + <el-table-column prop="engineer_id" fixed align="center" :label="$t('searchOrder.projectnumber')" min-width="150"/> + <el-table-column prop="tempering_layout_id" fixed align="center" :label="$t('searchOrder.layoutnumber')" min-width="120" /> + <el-table-column prop="count" align="center" :label="$t('searchOrder.numberglasses')" min-width="150" /> + <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="150"> + <template #default="scope"> + <el-button size="mini" type="text" plain @click="brokee(scope.row)">{{ $t('searchOrder.specifytempering') }}</el-button> + </template> + </el-table-column> + </el-table> +</el-dialog> </template> <style scoped> @@ -1320,8 +1394,9 @@ } .img-dlpl{ - margin-left: 80px; - background-image:url('../../assets/dlpl.png'); + margin-left: 20px; + margin-top: 20px; + background-image:url('../../assets/dlpl9.png'); background-repeat: no-repeat; background-attachment: local; min-height: 400px; @@ -1333,7 +1408,7 @@ } .img-car1{ display: flex; - background-image:url('../../assets/lp.png'); + background-image:url('../../assets/lp9.png'); position: absolute; background-repeat: no-repeat; background-attachment: local; @@ -1346,7 +1421,7 @@ } .img-car4{ display: flex; - background-image:url('../../assets/lpa.png'); + background-image:url('../../assets/lpa9.png'); position: absolute; background-repeat: no-repeat; background-attachment: local; -- Gitblit v1.8.0