From 817a1c3860032705a9510fa26371d50cde073f1c Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 19 十二月 2024 11:38:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- UI-Project/src/views/Returns/upreturns2.vue | 269 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 184 insertions(+), 85 deletions(-) diff --git a/UI-Project/src/views/Returns/upreturns2.vue b/UI-Project/src/views/Returns/upreturns2.vue index e66a82f..c31c494 100644 --- a/UI-Project/src/views/Returns/upreturns2.vue +++ b/UI-Project/src/views/Returns/upreturns2.vue @@ -1,7 +1,7 @@ <script lang="ts" setup> import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue"; import {useRouter} from "vue-router" -import {ElMessage} from 'element-plus' +import { ElMessage, ElMessageBox } from 'element-plus' import {useI18n} from 'vue-i18n' import {host, WebSocketHost} from '@/utils/constants' import request from "@/utils/request" @@ -17,7 +17,11 @@ const blinda = ref(false) const blindb = ref(false) const dialoglea = ref(false) +const canSelectProjecta = ref(true); +const canSelectProjectb = ref(true); +const canSelectProjectc = ref(false); const tableDatax = ref([]) +const tableDatad = ref([]) const upstatus = ref(t('basicData.machineaa')); const cuttingMachineStatusColor = ref('#911005'); const tableDataa = ref<any[]>([]); @@ -50,10 +54,6 @@ closeWebSocket(socket); } }); -// 鍒犻櫎 -const handledelete = (row) => { - blindb.value = true; -}; const fetchTableData = async () => { try { const response = await request.get("/loadGlass/up-patten-usage/prioritylist"); @@ -65,13 +65,29 @@ } }; let socket = null; -const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`; +const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`; const handleMessage = (data: any) => { tableDataa.value = data.list[0].slice(2, 4); + if(data.loadTask2.length !=0){ + tableData.value = data.loadTask2[0] + canSelectProjecta.value = false; + canSelectProjectb.value = false; + canSelectProjectc.value = true; +} +else { + canSelectProjecta.value = true; + canSelectProjectb.value = true; + canSelectProjectc.value = false; +} }; onBeforeUnmount(() => { closeWebSocket(); }); +// 缁撴潫宸ョ▼ +const handledelete = (row) => { + blindb.value = true; + deleteTask() +}; const requestData = { state: 100 }; @@ -102,6 +118,7 @@ window.localStorage.setItem('filmRemove', filmRemove.value) if (response.code == 200) { ElMessage.success(response.message); + // closeWebSocket(socket); tableData.value = response.data; dialogFormVisible.value = false; selectedProjectNo.value = ''; @@ -115,30 +132,7 @@ console.error(error); } } -// 寮�濮嬩笂鐗� -const handleon = async () => { - let filmRemove = window.localStorage.getItem('filmRemove') - let engineeringId = window.localStorage.getItem('engineeringId') - if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { - try { - const response = await request.post('/loadGlass/engineering/engineering/pause', { - engineerId: engineeringId, - state: 1, - }) - if (response.code == 200) { - ElMessage.success(response.message); - blind.value = false; - } else { - ElMessage.error(response.message); - } - } catch (error) { - console.error(error); - } - } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') { - ElMessage.warning(t('basicData.pausea')); - } -} -// 鍒犻櫎 +// 缁撴潫宸ョ▼ const deleteTask = async () => { try { let engineeringId = window.localStorage.getItem('engineeringId') @@ -149,7 +143,10 @@ }) if (response.code == 200) { ElMessage.success(response.message); - blindb.value = false; + tableDatad.value = response.data; + canSelectProjecta.value = true; + canSelectProjectb.value = true; + canSelectProjectc.value = false; } else { ElMessage.error(response.message); } @@ -165,13 +162,45 @@ console.error(error); } } +// 寮�濮嬩笂鐗� +const handleon = async () => { + let filmRemove = window.localStorage.getItem('filmRemove') + let engineeringId = window.localStorage.getItem('engineeringId') + if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { + try { + const response = await request.post('/loadGlass/engineering/engineering/changeTask', { + stationCell: 6, + filmRemove: filmRemove, + engineerId: engineeringId, + state: 1, + }) + if (response.code == 200) { + ElMessage.success(response.message); + canSelectProjecta.value = false; + canSelectProjectb.value = false; + canSelectProjectc.value = true; + // socket = initializeWebSocket(socketUrl, handleMessage); + blind.value = false; + } else { + ElMessage.error(response.message); + } + } catch (error) { + console.error(error); + } + } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') { + ElMessage.warning(t('basicData.pausea')); + } +} // 鏆傚仠 const handleup = async () => { try { + let filmRemove = window.localStorage.getItem('filmRemove') let engineeringId = window.localStorage.getItem('engineeringId') console.log(engineeringId); if (engineeringId !== '') { const response = await request.post('/loadGlass/engineering/engineering/pause', { + stationCell: 6, + filmRemove: filmRemove, engineerId: engineeringId, state: 0, }) @@ -254,6 +283,66 @@ ElMessage.error(t('basicData.glassnull')); } }; +// 鐮存崯 +const opena = async(row) => { + try { + const confirmResult = await ElMessageBox.confirm( + t('searchOrder.broke'), + t('productStock.prompt'), + { + confirmButtonText: t('productStock.yes'), + cancelButtonText: t('productStock.cancel'), + type: 'warning', + } + ); + if (confirmResult === 'confirm') { + const response = await request.post('/loadGlass/engineering/engineering/insetDamage', { + glassId: row.glassId, + line: 6, + status: 1, + type: 8, + workingProcedure: '涓婄墖', + }) + if (response.code === 200) { + ElMessage.success(response.message); + } else { + ElMessage.error(response.msg); + } + } + } catch (error) { + console.error('鍙戠敓閿欒:', error); + } +}; +// 浜哄伐鎷胯蛋 +const openb = async(row) => { + try { + const confirmResult = await ElMessageBox.confirm( + t('order.takeawaya'), + t('productStock.prompt'), + { + confirmButtonText: t('productStock.yes'), + cancelButtonText: t('productStock.cancel'), + type: 'warning', + } + ); + if (confirmResult === 'confirm') { + const response = await request.post('/loadGlass/engineering/engineering/insetDamage', { + glassId: row.glassId, + line: 6, + status: 1, + type: 9, + workingProcedure: '涓婄墖', + }) + if (response.code === 200) { + ElMessage.success(response.message); + } else { + ElMessage.error(response.msg); + } + } + } catch (error) { + console.error('鍙戠敓閿欒:', error); + } +}; function getStatusType2(filmRemove) { switch (filmRemove) { case 0: @@ -298,12 +387,13 @@ }} </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="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button> + <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button> + <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button> + <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button> + <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button> <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button> - <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')" style="margin-top: 5px;margin-left: 20px;"> + <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')" + 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> @@ -316,25 +406,25 @@ <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="400" - 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 }"> - <span>{{ 1 }}</span> - </template> - </el-table-column> - <el-table-column - align="center" - :label="$t('Mounting.state')" + <el-table + height="400" + ref="table" + :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" + :data="tableData" + > + <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center"/> + <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center"/> + <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/> + <el-table-column prop="thickness" :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 }"> + <span>{{ 1 }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + :label="$t('Mounting.state')" min-width="80" prop="state" > @@ -347,20 +437,7 @@ </el-tag> </template> </el-table-column> - <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/> - <el-table-column - align="center" - :label="$t('Mounting.removalmethodp')" - prop="filmRemove" - > - <template #default="scope"> - <el-tag :type="getStatusType2(scope.row.filmRemove)"> - {{ getStatusText2(scope.row.filmRemove) }} - </el-tag> - </template> - </el-table-column> - <el-table-column prop="stationCell" :label="$t('Mounting.loadinglinea')" align="center"/> - </el-table> + </el-table> </div> </el-card> <div style="display: flex;"> @@ -369,7 +446,7 @@ <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;"> <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 8%;" - :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> + :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"/> @@ -389,7 +466,40 @@ </div> </template> </el-dialog> - +<!-- 缁撴潫宸ョ▼ --> + <el-dialog v-model="blindb" top="10vh" width="80%"> + <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> + <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')"/> + <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')"/> + <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')"/> + <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')"/> + <el-table-column prop="width" align="center" :label="$t('basicData.width')"/> + <el-table-column prop="height" align="center" :label="$t('basicData.height')"/> + <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')"/> + <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')"/> + <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')"/> + <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200"> + <template #default="scope"> + <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button> + <el-button size="mini" type="text" plain @click="openb(scope.row)">{{ $t('order.takeaway') }}</el-button> + </template> + </el-table-column> + </el-table> + <template #footer> + <div id="dialog-footer"> + <el-button @click="blindb = false">{{ $t('large.close') }}</el-button> + </div> + </template> + <!-- <template #footer> + <div id="dialog-footer"> + <el-button type="primary" @click="deleteTask"> + {{ $t('basicData.confirm') }} + </el-button> + <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button> + </div> + </template> --> + </el-dialog> + <!-- 鍊肩彮淇℃伅 --> <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'}"> @@ -409,8 +519,7 @@ <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 disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')" - style="margin-left: 20px;"> + <el-select disabled v-model="stationCell" 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> @@ -469,25 +578,15 @@ </div> </template> </el-dialog> - <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('searchOrder.pdeleteTask')"> - <template #footer> - <div id="dialog-footer"> - <el-button type="primary" @click="deleteTask"> - {{ $t('basicData.confirm') }} - </el-button> - <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button> - </div> - </template> - </el-dialog> </div> </template> <style scoped> .flex-container { display: flex; - align-items: center; /* 鍨傜洿灞呬腑 */ + align-items: center; } .flex-container .el-form-item { - flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */ + flex: 1; margin-right: 0; /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */ } .flex-container .el-form-item:last-child { -- Gitblit v1.8.0