UI-Project/src/lang/en.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/lang/py.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/lang/zh.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Caching/cachingbefore.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Caching/cachingun.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Returns/upreturns.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Returns/upreturns2.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/Slicecage/slicecage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/hollow/hollowequipment.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/hollow/hollowequipmenttwo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
UI-Project/src/views/hollow/hollowslicecage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
UI-Project/src/lang/en.js
@@ -127,6 +127,8 @@ takeon:'The arrangement is complete', }, searchOrder:{ partask:'任务重置', partasks:'是否任务重置?', empty:'默认空任务', historicaltasks:'历史任务', cagedetails:'笼内详情', @@ -669,14 +671,78 @@ removalmethodp: '除膜方式', removalmethoda: '除膜方式:', noremoval: '不除膜', removal: '除膜', coarselyground: '粗磨', finegrinding: '精磨', }, hellow: { casFour: '气体4', casFourb: '气体4:', casFoura: '请选择气体4', casOne: '气体1', casOneb: '气体1:', casOnea: '请选择气体1', casThree: '气体3', casThreeb: '气体3:', casThreea: '请选择气体3', casTwo: '气体2', casTwob: '气体2:', casTwoa: '请选择气体2', Y: '有', F: '无', frameFour: '间隔板4', frameFourb: '间隔板4:', frameFoura: '请输入间隔板4', frameOne: '间隔板1', frameOneb: '间隔板1:', frameOnea: '请输入间隔板1', frameThree: '间隔板3', frameThreeb: '间隔板3:', frameThreea: '请输入间隔板3', frameTwo: '间隔板2', frameTwob: '间隔板2:', frameTwoa: '请输入间隔板2', intervalFrameHeight: '间隔框高度', intervalFrameHeighta: '请输入间隔框高度', intervalFrameHeightb: '间隔框高度:', intervalFrameType: '间隔框类型', intervalFrameTypec: '请选择间隔框类型', intervalFrameTyped: '间隔框类型:', intervalFrameTypea: 'tps胶', intervalFrameTypeb: '铝间隔条', intervalFrameWidth: '间隔框宽度', intervalFrameWidtha: '请输入间隔框宽度', intervalFrameWidthb: '间隔框宽度:', sealInsert: '密封嵌入', sealInsertb: '密封嵌入:', sealInserta: '请输入密封嵌入', hollowformula: '中空配方', hollowformuldet: '是否删除该中空配方?', hollowtaskdet: '是否删除该任务?', taskdet: '删除任务', edithollowformula: '修改中空配方', phollowformula: '请选择中空配方', hollowformulp: '中空配方:', bottomRemove: '下侧除膜量:', bottomRemovep: '下侧除膜量', bottomRemovea: '请输入下侧除膜量', topRemove: '上侧除膜量:', topRemovep: '上侧除膜量', topRemovea: '请输入上侧除膜量', leftRemove: '左侧除膜量:', leftRemovep: '左侧除膜量', leftRemovea: '请输入左侧除膜量', rightRemove: '右侧除膜量:', rightRemovep: '右侧除膜量', rightRemovea: '请输入右侧除膜量', formulaNamep: '配方名', formulaName: '配方名:', formulaNamea: '请输入配方名', stopproject: '暂停任务', pstopproject: '是否暂停任务?', reviewproject: '预览工程', line: '线路', linea: '线路:', line1: '线路一', line2: '线路二', line3: '线路三', @@ -690,19 +756,20 @@ linenumber: '进入中空线数量:', order: '出片顺序', flowCardId: '流程卡', thickness: 'Thickness', coatingtypes: 'Coating types', thickness: '厚度', coatingtypes: '膜系', layer: '层数', height: '长', width: 'Width', state: 'Status', cardnumber: 'Process card number', cardnumbera: 'Process card number:', width: '宽', state: '状态', cardnumber: '流程卡号', cardnumbera: '流程卡号:', layernumber: '层号', totalnumber: '总片数', pairsnumber: '已配对数量', missingnumber: '缺片数量', operate: 'Operate', damagenumber: '破损数量', operate: '操作', claimquest: '领取任务', pclaimquest: '是否领取任务?', missingfilms: '缺片详情', UI-Project/src/lang/py.js
@@ -127,7 +127,9 @@ takeaway: 'Взять вручную', }, searchOrder: { partasks:'是否任务重置?', empty:'默认空任务', partask:'任务重置', historicaltasks:'历史任务', cagedetails:'笼内详情', inkageEntity:'进片联机状态:', @@ -669,51 +671,116 @@ removalmethodp: '除膜方式', removalmethoda: '除膜方式:', noremoval: '不除膜', removal: '除膜', coarselyground: '粗磨', finegrinding: '精磨', }, hellow: { stopproject: '暂停任务', pstopproject: '是否暂停任务?', reviewproject: '预览工程', line: '线路', line1: '线路一', line2: '线路二', line3: '线路三', createtask: '创建任务', starttask: '开始任务', pstarttask: '是否开始任务?', stoptask: '停止任务', pstoptask: '是否停止任务?', currenttask: '当前任务:', claimednumber: '已领取配对数量:', linenumber: '进入中空线数量:', order: '出片顺序', flowCardId: '流程卡', thickness: 'Толщина', coatingtypes: 'Типы покрытий', layer: '层数', height: '长', width: 'Ширина', state: 'Состояние', cardnumber: 'Номер карточки процесса', cardnumbera: 'Номер карточки процесса:', layernumber: '层号', totalnumber: '总片数', pairsnumber: '已配对数量', missingnumber: '缺片数量', operate: 'Операция', claimquest: '领取任务', pclaimquest: '是否领取任务?', missingfilms: '缺片详情', forcedfilming: '强制出片', pforcedfilming: '是否强制出片?', brokenpieces: '破损片数', realpieces: '实际片数', route: '路线:', croute: '请选择路线', pairQuantity: '总配对数量:', cpairQuantity: '请输入总配对数量', schedulingswitch: '调度开关', } hellow: { casFour: '气体4', casFourb: '气体4:', casFoura: '请选择气体4', casOne: '气体1', casOneb: '气体1:', casOnea: '请选择气体1', casThree: '气体3', casThreeb: '气体3:', casThreea: '请选择气体3', casTwo: '气体2', casTwob: '气体2:', casTwoa: '请选择气体2', Y: '有', F: '无', frameFour: '间隔板4', frameFourb: '间隔板4:', frameFoura: '请输入间隔板4', frameOne: '间隔板1', frameOneb: '间隔板1:', frameOnea: '请输入间隔板1', frameThree: '间隔板3', frameThreeb: '间隔板3:', frameThreea: '请输入间隔板3', frameTwo: '间隔板2', frameTwob: '间隔板2:', frameTwoa: '请输入间隔板2', intervalFrameHeight: '间隔框高度', intervalFrameHeighta: '请输入间隔框高度', intervalFrameHeightb: '间隔框高度:', intervalFrameType: '间隔框类型', intervalFrameTypec: '请选择间隔框类型', intervalFrameTyped: '间隔框类型:', intervalFrameTypea: 'tps胶', intervalFrameTypeb: '铝间隔条', intervalFrameWidth: '间隔框宽度', intervalFrameWidtha: '请输入间隔框宽度', intervalFrameWidthb: '间隔框宽度:', sealInsert: '密封嵌入', sealInsertb: '密封嵌入:', sealInserta: '请输入密封嵌入', hollowformula: '中空配方', hollowformuldet: '是否删除该中空配方?', hollowtaskdet: '是否删除该任务?', taskdet: '删除任务', edithollowformula: '修改中空配方', phollowformula: '请选择中空配方', hollowformulp: '中空配方:', bottomRemove: '下侧除膜量:', bottomRemovep: '下侧除膜量', bottomRemovea: '请输入下侧除膜量', topRemove: '上侧除膜量:', topRemovep: '上侧除膜量', topRemovea: '请输入上侧除膜量', leftRemove: '左侧除膜量:', leftRemovep: '左侧除膜量', leftRemovea: '请输入左侧除膜量', rightRemove: '右侧除膜量:', rightRemovep: '右侧除膜量', rightRemovea: '请输入右侧除膜量', formulaNamep: '配方名', formulaName: '配方名:', formulaNamea: '请输入配方名', stopproject: '暂停任务', pstopproject: '是否暂停任务?', reviewproject: '预览工程', line: '线路', linea: '线路:', line1: '线路一', line2: '线路二', line3: '线路三', createtask: '创建任务', starttask: '开始任务', pstarttask: '是否开始任务?', stoptask: '停止任务', pstoptask: '是否停止任务?', currenttask: '当前任务:', claimednumber: '已领取配对数量:', linenumber: '进入中空线数量:', order: '出片顺序', flowCardId: '流程卡', thickness: '厚度', coatingtypes: '膜系', layer: '层数', height: '长', width: '宽', state: '状态', cardnumber: '流程卡号', cardnumbera: '流程卡号:', layernumber: '层号', totalnumber: '总片数', pairsnumber: '已配对数量', missingnumber: '缺片数量', damagenumber: '破损数量', operate: '操作', claimquest: '领取任务', pclaimquest: '是否领取任务?', missingfilms: '缺片详情', forcedfilming: '强制出片', pforcedfilming: '是否强制出片?', brokenpieces: '破损片数', realpieces: '实际片数', route: '路线:', croute: '请选择路线', pairQuantity: '总配对数量:', cpairQuantity: '请输入总配对数量', schedulingswitch: '调度开关', } } UI-Project/src/lang/zh.js
@@ -127,6 +127,8 @@ takeon:'摆片完成', }, searchOrder:{ partask:'任务重置', partasks:'是否任务重置?', empty:'默认空任务', historicaltasks:'历史任务', cagedetails:'笼内详情', @@ -669,14 +671,78 @@ removalmethodp: '除膜方式', removalmethoda: '除膜方式:', noremoval: '不除膜', removal: '除膜', coarselyground: '粗磨', finegrinding: '精磨', }, hellow: { casFour: '气体4', casFourb: '气体4:', casFoura: '请选择气体4', casOne: '气体1', casOneb: '气体1:', casOnea: '请选择气体1', casThree: '气体3', casThreeb: '气体3:', casThreea: '请选择气体3', casTwo: '气体2', casTwob: '气体2:', casTwoa: '请选择气体2', Y: '有', F: '无', frameFour: '间隔板4', frameFourb: '间隔板4:', frameFoura: '请输入间隔板4', frameOne: '间隔板1', frameOneb: '间隔板1:', frameOnea: '请输入间隔板1', frameThree: '间隔板3', frameThreeb: '间隔板3:', frameThreea: '请输入间隔板3', frameTwo: '间隔板2', frameTwob: '间隔板2:', frameTwoa: '请输入间隔板2', intervalFrameHeight: '间隔框高度', intervalFrameHeighta: '请输入间隔框高度', intervalFrameHeightb: '间隔框高度:', intervalFrameType: '间隔框类型', intervalFrameTypec: '请选择间隔框类型', intervalFrameTyped: '间隔框类型:', intervalFrameTypea: 'tps胶', intervalFrameTypeb: '铝间隔条', intervalFrameWidth: '间隔框宽度', intervalFrameWidtha: '请输入间隔框宽度', intervalFrameWidthb: '间隔框宽度:', sealInsert: '密封嵌入', sealInsertb: '密封嵌入:', sealInserta: '请输入密封嵌入', hollowformula: '中空配方', hollowformuldet: '是否删除该中空配方?', hollowtaskdet: '是否删除该任务?', taskdet: '删除任务', edithollowformula: '修改中空配方', phollowformula: '请选择中空配方', hollowformulp: '中空配方:', bottomRemove: '下侧除膜量:', bottomRemovep: '下侧除膜量', bottomRemovea: '请输入下侧除膜量', topRemove: '上侧除膜量:', topRemovep: '上侧除膜量', topRemovea: '请输入上侧除膜量', leftRemove: '左侧除膜量:', leftRemovep: '左侧除膜量', leftRemovea: '请输入左侧除膜量', rightRemove: '右侧除膜量:', rightRemovep: '右侧除膜量', rightRemovea: '请输入右侧除膜量', formulaNamep: '配方名', formulaName: '配方名:', formulaNamea: '请输入配方名', stopproject: '暂停任务', pstopproject: '是否暂停任务?', reviewproject: '预览工程', line: '线路', linea: '线路:', line1: '线路一', line2: '线路二', line3: '线路三', UI-Project/src/views/Caching/cachingbefore.vue
@@ -145,6 +145,31 @@ console.error('发生错误:', error); } }; // 任务重置 const handleptask = async() => { try { const confirmResult = await ElMessageBox.confirm( t('workOrder.partasks'), t('workOrder.prompt'), { confirmButtonText: t('workOrder.yes'), cancelButtonText: t('workOrder.cancel'), type: 'warning', } ); if (confirmResult === 'confirm') { var url="/cacheGlass/edgStorageDeviceTask/resetTask?deviceId="+ 1; const response = await request.post(url) if (response.code === 200) { ElMessage.success(response.message); } else { ElMessage.error(response.msg); } } } catch (error) { console.error('发生错误:', error); } }; // 删除 const handledelete = async(row) => { try { @@ -353,6 +378,11 @@ </el-table-column> <el-table-column prop="formattedCreateTime" align="center" :label="$t('film.createtime')" min-width="120" /> <el-table-column prop="formattedupdateTime" align="center" :label="$t('sorter.updateTime')" min-width="120" /> <el-table-column fixed="right" :label="$t('hellow.operate')" align="center" width="150"> <template #default="scope"> <el-button size="mini" type="text" plain @click="handleptask()">{{ $t('searchOrder.partask') }}</el-button> </template> </el-table-column> </el-table> </div> </el-card> UI-Project/src/views/Caching/cachingun.vue
@@ -144,6 +144,31 @@ console.error('发生错误:', error); } }; // 任务重置 const handleptask = async() => { try { const confirmResult = await ElMessageBox.confirm( t('workOrder.partasks'), t('workOrder.prompt'), { confirmButtonText: t('workOrder.yes'), cancelButtonText: t('workOrder.cancel'), type: 'warning', } ); if (confirmResult === 'confirm') { var url="/cacheGlass/edgStorageDeviceTask/resetTask?deviceId="+ 1; const response = await request.post(url) if (response.code === 200) { ElMessage.success(response.message); } else { ElMessage.error(response.msg); } } } catch (error) { console.error('发生错误:', error); } }; // 删除 const handledelete = async(row) => { try { @@ -352,6 +377,11 @@ </el-table-column> <el-table-column prop="formattedCreateTime" align="center" :label="$t('film.createtime')" min-width="120" /> <el-table-column prop="formattedupdateTime" align="center" :label="$t('sorter.updateTime')" min-width="120" /> <el-table-column fixed="right" :label="$t('hellow.operate')" align="center" width="150"> <template #default="scope"> <el-button size="mini" type="text" plain @click="handleptask()">{{ $t('searchOrder.partask') }}</el-button> </template> </el-table-column> </el-table> </div> </el-card> UI-Project/src/views/Returns/upreturns.vue
@@ -60,7 +60,8 @@ if (response.code === 200) { tableData.splice(0, tableData.length, ...response.data); ElMessage.error(response.message); } window.localStorage.setItem('engineeringId', tableData[0].engineeringId) } } catch (error) { } }; @@ -78,6 +79,7 @@ canSelectProjecta.value = true; canSelectProjectb.value = true; canSelectProjectc.value = false; tableData.value = ''; } }; onBeforeUnmount(() => { @@ -113,7 +115,7 @@ engineerId: selectedProjectNo.value, filmRemove: parseInt(filmRemove.value, 10), }) window.localStorage.setItem('engineeringId', selectedProjectNo.value) window.localStorage.setItem('engineeringIda', selectedProjectNo.value) window.localStorage.setItem('filmRemove', filmRemove.value) if (response.code == 200) { ElMessage.success(response.message); @@ -165,13 +167,13 @@ // 开始上片 const handleon = async () => { let filmRemove = window.localStorage.getItem('filmRemove') let engineeringId = window.localStorage.getItem('engineeringId') let engineeringIda = window.localStorage.getItem('engineeringIda') if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { try { const response = await request.post('/loadGlass/engineering/engineering/changeTask', { stationCell: 5, filmRemove: filmRemove, engineerId: engineeringId, engineerId: engineeringIda, state: 1, }) if (response.code == 200) { UI-Project/src/views/Returns/upreturns2.vue
@@ -60,6 +60,7 @@ if (response.code === 200) { tableData.splice(0, tableData.length, ...response.data); ElMessage.error(response.message); window.localStorage.setItem('engineeringId', tableData[0].engineeringId) } } catch (error) { } @@ -75,6 +76,7 @@ canSelectProjectc.value = true; } else { tableData.value = ''; canSelectProjecta.value = true; canSelectProjectb.value = true; canSelectProjectc.value = false; @@ -113,7 +115,7 @@ engineerId: selectedProjectNo.value, filmRemove: parseInt(filmRemove.value, 10), }) window.localStorage.setItem('engineeringId', selectedProjectNo.value) window.localStorage.setItem('engineeringIda', selectedProjectNo.value) window.localStorage.setItem('filmRemove', filmRemove.value) if (response.code == 200) { ElMessage.success(response.message); @@ -165,13 +167,13 @@ // 开始上片 const handleon = async () => { let filmRemove = window.localStorage.getItem('filmRemove') let engineeringId = window.localStorage.getItem('engineeringId') let engineeringIda = window.localStorage.getItem('engineeringIda') if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') { try { const response = await request.post('/loadGlass/engineering/engineering/changeTask', { stationCell: 6, filmRemove: filmRemove, engineerId: engineeringId, engineerId: engineeringIda, state: 1, }) if (response.code == 200) { UI-Project/src/views/Slicecage/slicecage.vue
@@ -538,7 +538,7 @@ deviceId: deviceId, slot: slot }; const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/insertBigStorageCageDetails", dataToSend) const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/insertBigStorageCageDetails", dataToSend) if (response.code === 200) { tableDataa.value = response.data; add.value = false; UI-Project/src/views/hollow/hollowequipment.vue
@@ -2,16 +2,27 @@ <div style="height: 600px;"> <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading"> <div style="display: flex; flex-direction: row; align-items: center; margin-bottom: 10px;"> <el-button id="searchButton" type="success" @click="handlezhiban"> <el-button id="searchButton" type="primary" @click="handleormulan"> {{ $t('hellow.hollowformula') }} </el-button> <el-button id="searchButton" type="primary" @click="handlezhiban"> {{ $t('hellow.createtask') }} </el-button> <el-button type="success" @click="selectproject"> {{ $t('basicData.selectproject') }} <el-button type="primary" @click="selectproject"> {{ $t('hellow.reviewproject') }} </el-button> <el-button style="margin-left: 10px;" id="searchButton" type="success" @click="handleBinda"> {{ $t('hellow.starttask') }} </el-button> <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="handleBindb">{{ <el-button style="margin-left: 10px;" id="searchButton" type="info" @click="handleBindd">{{ $t('hellow.taskdet') }} </el-button> <el-button style="margin-left: 10px;" id="searchButton" type="warning" @click="handleBindc">{{ $t('hellow.stopproject') }} </el-button> <el-button style="margin-left: 10px;" id="searchButton" type="danger" @click="handleBindb">{{ $t('hellow.stoptask') }} </el-button> @@ -21,21 +32,21 @@ <el-form> <el-row> <el-col :span="4"> <div id="dt" style="font-size: 15px;"> <div style="font-size: 15px;"> <el-form-item :label="$t('hellow.currenttask')" style="width: 14vw"> {{ temperingtotal }} </el-form-item> </div> </el-col> <el-col :span="5"> <div id="dta" style="font-size: 15px;"> <div style="font-size: 15px;"> <el-form-item :label="$t('hellow.claimednumber')" style="width: 14vw"> {{ glasstotal }} </el-form-item> </div> </el-col> <el-col :span="4"> <div id="dt" style="font-size: 15px;"> <div style="font-size: 15px;"> <el-form-item :label="$t('hellow.linenumber')" style="width: 14vw"> {{ fulltotals }} </el-form-item> @@ -60,7 +71,7 @@ </template> </el-table-column> </el-table> <div style="display: flex;margin-left: 40%;margin-top: 10px;"> <!-- <div style="display: flex;margin-left: 40%;margin-top: 10px;"> <div style="margin-top: 5px;margin-right: 5px;">{{ $t('hellow.line') }}</div> <el-pagination background @@ -70,12 +81,18 @@ :current-page.sync="currentPage" @current-change="handlePageChange1" /> </div> </div> --> </div> </el-card> </div> <!-- 创建任务 --> <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%"> <div style="display: flex;"> <el-input v-model="flowCardId" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('searchOrder.incardnumber')" /> <el-input v-model="filmsId" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('film.infilms')"/> <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="fetchFlowCardsearch"> {{$t('reportmanage.inquire')}}</el-button> </div> <el-table ref="table" style="margin-top: 20px; height: 700px;" @@ -83,7 +100,6 @@ :header-cell-style="{ background: '#F2F3F5', color: '#1D2129' }" row-key="projectNumber" > <!-- <el-table-column type="expand"> --> <el-table-column> <template #default="props"> <el-table :data="props.row.records" style="width: 100%"> @@ -113,6 +129,386 @@ </el-table-column> </el-table> </el-dialog> <!-- 中空配方添加 --> <el-dialog v-model="add" top="13vh" width="55%" :title="$t('hellow.hollowformula')" > <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="150px"> <el-form label-width="150px" label-position="right"> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;"> <el-select v-model="filmRemove" clearable style="width: 220px" :placeholder="$t('Mounting.removalmethod')"> <el-option :label="$t('Mounting.removal')" value="1"></el-option> <el-option :label="$t('Mounting.noremoval')" value="0"></el-option> </el-select> </el-form-item> </div> </div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casOneb')" :required="true" style="width: 16vw;"> <el-select v-model="casOne" clearable :placeholder="$t('hellow.casOnea')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casTwob')" :required="true" style="width: 16vw;"> <el-select v-model="casTwo" clearable :placeholder="$t('hellow.casTwoa')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casThreeb')" :required="true" style="width: 16vw;"> <el-select v-model="casThree" clearable :placeholder="$t('hellow.casThreea')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casFourb')" :required="true" style="width: 16vw;"> <el-select v-model="casFour" clearable :placeholder="$t('hellow.casFoura')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameOneb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameOnea')" v-model="frameOne" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameTwob')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameTwoa')" v-model="frameTwo" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameThreeb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameThreea')" v-model="frameThree" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameFourb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameFoura')" v-model="frameFour" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.intervalFrameHeightb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.intervalFrameHeightb')" v-model="intervalFrameHeight" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.intervalFrameWidthb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.intervalFrameWidtha')" v-model="intervalFrameWidth" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.sealInsertb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.sealInserta')" v-model="sealInsert" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.intervalFrameTyped')" :required="true" style="width: 16vw;"> <el-select v-model="intervalFrameType" clearable style="width: 220px" :placeholder="$t('hellow.intervalFrameTypec')"> <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option> <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option> </el-select> </el-form-item> </div> </div> </el-col> </el-row> </el-form> </el-form> </div> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleConfirm"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 中空配方修改 --> <el-dialog v-model="adda" top="13vh" width="55%" :title="$t('hellow.edithollowformula')" > <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="150px"> <el-form label-width="150px" label-position="right"> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;"> <el-select v-model="filmRemove" clearable style="width: 220px" :placeholder="$t('Mounting.removalmethod')"> <el-option :label="$t('Mounting.removal')" value="1"></el-option> <el-option :label="$t('Mounting.noremoval')" value="0"></el-option> </el-select> </el-form-item> </div> </div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casOneb')" :required="true" style="width: 16vw;"> <el-select v-model="casOne" clearable :placeholder="$t('hellow.casOnea')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casTwob')" :required="true" style="width: 16vw;"> <el-select v-model="casTwo" clearable :placeholder="$t('hellow.casTwoa')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casThreeb')" :required="true" style="width: 16vw;"> <el-select v-model="casThree" clearable :placeholder="$t('hellow.casThreea')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.casFourb')" :required="true" style="width: 16vw;"> <el-select v-model="casFour" clearable :placeholder="$t('hellow.casFoura')" style="width: 220px"> <el-option :label="$t('hellow.F')" value="0"></el-option> <el-option :label="$t('hellow.Y')" value="1"></el-option> </el-select> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameOneb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameOnea')" v-model="frameOne" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameTwob')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameTwoa')" v-model="frameTwo" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameThreeb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameThreea')" v-model="frameThree" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.frameFourb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.frameFoura')" v-model="frameFour" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.intervalFrameHeightb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.intervalFrameHeightb')" v-model="intervalFrameHeight" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.intervalFrameWidthb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.intervalFrameWidtha')" v-model="intervalFrameWidth" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.sealInsertb')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.sealInserta')" v-model="sealInsert" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.intervalFrameTyped')" :required="true" style="width: 16vw;"> <el-select v-model="intervalFrameType" clearable style="width: 220px" :placeholder="$t('hellow.intervalFrameTypec')"> <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option> <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option> </el-select> </el-form-item> </div> </div> </el-col> </el-row> </el-form> </el-form> </div> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handledit"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 领取任务 --> <el-dialog v-model="dialogFormVisiblec" top="21vh" width="40%" :title="$t('hellow.claimquest')"> <div style="margin-left: 20px;margin-top: 10px;margin-bottom: 10px;"> @@ -123,7 +519,8 @@ </el-form-item> <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;"> <el-select :placeholder="$t('hellow.croute')" :placeholder="$t('hellow.line1')" disabled style="width: 270px" v-model="cell"> <el-option @@ -134,6 +531,23 @@ /> </el-select> </el-form-item> <el-form-item :label="$t('hellow.hollowformulp')" :required="true" style="width: 25vw;"> <el-select v-model="selectedFormulaName" filterable clearable :placeholder="$t('hellow.phollowformula')" style="width: 270px" @change="handleFormulaChange" > <el-option v-for="item in titleformulaName" :key="item.id" :label="item.formulaName" :value="item.formulaName" /> </el-select> </el-form-item> </el-form> </el-form> </div> @@ -156,7 +570,8 @@ </el-form-item> <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;"> <el-select :placeholder="$t('hellow.croute')" :placeholder="$t('hellow.line1')" disabled style="width: 270px" v-model="cella"> <el-option @@ -167,6 +582,23 @@ /> </el-select> </el-form-item> <el-form-item :label="$t('hellow.hollowformulp')" :required="true" style="width: 25vw;"> <el-select v-model="selectedFormulaName" filterable clearable :placeholder="$t('hellow.phollowformula')" style="width: 270px" @change="handleFormulaChange" > <el-option v-for="item in titleformulaName" :key="item.id" :label="item.formulaName" :value="item.formulaName" /> </el-select> </el-form-item> </el-form> </el-form> </div> @@ -225,15 +657,37 @@ <el-dialog v-model="blindb" top="30vh" width="25%" :title="$t('hellow.pstoptask')"> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handlea"> <el-button type="primary" @click="handleb"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 暂停任务 --> <el-dialog v-model="blindc" top="30vh" width="25%" :title="$t('hellow.pstopproject')"> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handlec"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="blindc = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 删除任务 --> <el-dialog v-model="blindd" top="30vh" width="25%" :title="$t('hellow.hollowtaskdet')"> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handled"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="blindd = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 预览 --> <el-dialog v-model="dialogFormVisiblee" top="24vh" width="30%" :title="$t('basicData.project')" > <el-dialog v-model="dialogFormVisiblee" top="24vh" width="25%" :title="$t('hellow.reviewproject')" > <div style="margin-left: 50px;margin-bottom: 10px;"> <el-form-item :label="$t('basicData.projectnumber')" :required="true"> <el-select @@ -241,7 +695,7 @@ filterable clearable :placeholder="$t('basicData.plselectproject')" style="width: 220px" style="width: 260px" @input="handleInputChange" > <el-option @@ -262,9 +716,85 @@ </div> </template> </el-dialog> <!-- 中空配方 --> <el-dialog v-model="mulan" top="15vh" width="80%" :title="$t('hellow.hollowformula')"> <el-button id="searchButton" type="primary" @click="add = true"> {{ $t('basicData.add') }} </el-button> <el-table ref="table" style="margin-top: 20px;height: 400px;" :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="formulaName" fixed align="center" :label="$t('hellow.formulaNamep')" min-width="120"/> <el-table-column prop="filmRemove" align="center" :label="$t('Mounting.removalmethodp')"/> <el-table-column prop="casOne" align="center" :label="$t('hellow.casOne')"> <template #default="scope"> <el-tag :type="scope.row.casOne === 1 ? 'success' : 'danger'" > {{ scope.row.casOne === 1 ? $t('hellow.Y') : $t('hellow.F') }} </el-tag> </template> </el-table-column> <el-table-column prop="casTwo" align="center" :label="$t('hellow.casTwo')"> <template #default="scope"> <el-tag :type="scope.row.casTwo === 1 ? 'success' : 'danger'" > {{ scope.row.casTwo === 1 ? $t('hellow.Y') : $t('hellow.F') }} </el-tag> </template> </el-table-column> <el-table-column prop="casThree" align="center" :label="$t('hellow.casThree')"> <template #default="scope"> <el-tag :type="scope.row.casThree === 1 ? 'success' : 'danger'" > {{ scope.row.casThree === 1 ? $t('hellow.Y') : $t('hellow.F') }} </el-tag> </template> </el-table-column> <el-table-column prop="casFour" align="center" :label="$t('hellow.casFour')"> <template #default="scope"> <el-tag :type="scope.row.casFour === 1 ? 'success' : 'danger'" > {{ scope.row.casFour === 1 ? $t('hellow.Y') : $t('hellow.F') }} </el-tag> </template> </el-table-column> <el-table-column prop="frameOne" align="center" :label="$t('hellow.frameOne')"/> <el-table-column prop="frameTwo" align="center" :label="$t('hellow.frameTwo')"/> <el-table-column prop="frameThree" align="center" :label="$t('hellow.frameThree')"/> <el-table-column prop="frameFour" align="center" :label="$t('hellow.frameFour')"/> <el-table-column prop="intervalFrameHeight" align="center" :label="$t('hellow.intervalFrameHeight')" min-width="95"/> <el-table-column prop="intervalFrameType" align="center" :label="$t('hellow.intervalFrameType')" min-width="95"> <template #default="scope"> <el-tag :type="getStatusType(scope.row.intervalFrameType)"> {{ getStatusText(scope.row.intervalFrameType) }} </el-tag> </template> </el-table-column> <el-table-column prop="intervalFrameWidth" align="center" :label="$t('hellow.intervalFrameWidth')" min-width="95"/> <el-table-column prop="sealInsert" align="center" :label="$t('hellow.sealInsert')"/> <el-table-column prop="topRemove" align="center" :label="$t('hellow.topRemovep')" min-width="95"> </el-table-column> <el-table-column prop="bottomRemove" align="center" :label="$t('hellow.bottomRemovep')" min-width="95"> </el-table-column> <el-table-column prop="leftRemove" align="center" :label="$t('hellow.leftRemovep')" min-width="95"> </el-table-column> <el-table-column prop="rightRemove" align="center" :label="$t('hellow.rightRemovep')" min-width="95"> </el-table-column> <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270"> <template #default="scope"> <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('productStock.exit') }}</el-button> <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('productStock.delete') }}</el-button> </template> </el-table-column> </el-table> <template #footer> <div id="dialog-footer"> <el-button @click="mulan = false">{{ $t('large.close') }}</el-button> </div> </template> </el-dialog> </template> <script setup> import {ElMessage} from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus' import {onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed} from "vue"; import request from "@/utils/request" import {host, WebSocketHost} from '@/utils/constants' @@ -273,25 +803,53 @@ const {t} = useI18n() const blinda = ref(false) const blindb = ref(false) const blindc = ref(false) const blindd = ref(false) const mulan = ref(false) const tableDataa = ref([]) const tableDatab = ref([]) const tableDatac = ref([]) const allData = ref({}) const flowCard = ref('') const tableDatax = ref([]) const cell = ref('') const cella = ref('') const selectedProjectNo = ref(''); const ganghua = ref(true) const totalPairQuantity = ref('') const totalPairQuantitya = ref('') const bottomRemove = ref('') const filmRemove = ref('') const formulaName = ref('') const leftRemove = ref('') const rightRemove = ref('') const topRemove = ref('') const filmsId = ref('') const flowCardId = ref('') const casFour = ref('') const casOne = ref('') const casThree = ref('') const casTwo = ref('') const frameFour = ref('') const frameOne = ref('') const frameThree = ref('') const frameTwo = ref('') const intervalFrameHeight = ref('') const intervalFrameType = ref('') const intervalFrameWidth = ref('') const sealInsert = ref('') const dialogFormVisiblea = ref(false) const dialogFormVisibleb = ref(false) const dialogFormVisiblec = ref(false) const dialogFormVisibled = ref(false) const dialogFormVisiblee = ref(false) const add = ref(false) const adda = ref(false) const currentPage2 = ref(1) const currentRow = reactive({}); const formattedProcessType = ref([]); const selectedFormulaName = ref(''); let selectedFormulaId = ref(null); const formulaNameid = ref({ id: null }); const titleformulaName = ref({ formulaName: [] ,formulaId: []}); const titleSelectJson = ref({ processType: [] }); const options = [ { @@ -301,10 +859,6 @@ { value: 931, label: t('hellow.line2'), }, { value: 932, label: t('hellow.line3'), } ] let socket = null; @@ -325,14 +879,15 @@ }; const handleMessage = (data) => { try { const allPageData = data; tableDataa.value = data[930][0]; const allPageData = data; const currentPageKeyValue = currentPageKey.value; const currentPageData = allPageData[currentPageKeyValue]; if (currentPageData && Array.isArray(currentPageData) && currentPageData.length > 0) { tableDataa.value = currentPageData[0]; } else { console.warn('No data for the current page key:', currentPageKeyValue); } // if (currentPageData && Array.isArray(currentPageData) && currentPageData.length > 0) { // tableDataa.value = currentPageData[0]; // } else { // console.warn('No data for the current page key:', currentPageKeyValue); // } } catch (error) { console.error('Error parsing WebSocket message:', error); } @@ -353,10 +908,73 @@ const handleBindb = (row) => { blindb.value = true; }; // 暂停任务 const handleBindc = (row) => { blindc.value = true; }; // 删除任务 const handleBindd = (row) => { blindd.value = true; }; const removalMethodMap = { 1: t('Mounting.removal'), 0: t('Mounting.noremoval') }; const removalcas = { 1: t('hellow.Y'), 0: t('hellow.F') } const removalinterval = { 1: t('hellow.intervalFrameTypeb'), 5: t('hellow.intervalFrameTypea') } // 处理编辑按钮点击 function handleEdit(row) { formulaName.value = row.formulaName; filmRemove.value = removalMethodMap[row.filmRemove]; bottomRemove.value = row.bottomRemove; leftRemove.value = row.leftRemove; rightRemove.value = row.rightRemove; topRemove.value = row.topRemove; casFour.value = removalcas[row.casFour]; casOne.value = removalcas[row.casOne]; casThree.value = removalcas[row.casThree]; casTwo.value = removalcas[row.casTwo]; frameFour.value = row.frameFour; frameOne.value = row.frameOne; frameThree.value = row.frameThree; frameTwo.value = row.frameTwo; intervalFrameHeight.value = row.intervalFrameHeight; intervalFrameType.value = removalinterval[row.intervalFrameType]; intervalFrameWidth.value = row.intervalFrameWidth; sealInsert.value = row.sealInsert; adda.value = true; } const handlezhiban = () => { dialogFormVisiblea.value = true; fetchFlowCardId(); }; const handleormulan = () => { mulan.value = true; fetchmulan(); }; function getStatusType(intervalFrameType) { switch (intervalFrameType) { case 1: return 'success'; case 5: return 'warning'; } } function getStatusText(intervalFrameType) { switch (intervalFrameType) { case 1: return t('hellow.intervalFrameTypeb'); case 5: return t('hellow.intervalFrameTypea'); } } // 预览 const selectproject = () => { dialogFormVisiblee.value = true; @@ -374,16 +992,21 @@ const handletake = (row) => { window.localStorage.setItem('flowCardId', row.projectNumber) dialogFormVisiblec.value = true; fetchmulan() }; // 强制出片 const handleout = (row) => { window.localStorage.setItem('flowCardId', row.projectNumber) dialogFormVisibled.value = true; fetchmulan() }; // 创建任务 const fetchFlowCardId = async () => { try { const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard'); const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{ filmsId: '', flowCardId: '', }); if (response.code == 200) { ElMessage.success(response.message); const newData = parseData(response.data); @@ -395,10 +1018,176 @@ ElMessage.error('Error fetching data'); } }; const fetchFlowCardsearch = async () => { try { const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{ filmsId: filmsId.value, flowCardId: flowCardId.value, }); if (response.code == 200) { ElMessage.success(response.message); const newData = parseData(response.data); tableDatab.value = newData; } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; // 中空配方 const fetchmulan = async () => { try { var url="/hollowGlass/hollowFormulaDetails/listFormulaDetails?keyword="+''; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); tableDatax.value = response.data; titleformulaName.value = response.data.map(item => ({ formulaId: item.id, formulaName: item.formulaName })); } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; const handleFormulaChange = (value) => { const selectedItem = titleformulaName.value.find(item => item.formulaName === value); if (selectedItem) { formulaNameid.value = { id: selectedItem.formulaId }; window.localStorage.setItem('id', formulaNameid.value.id) } else { formulaNameid.value = { id: null }; } }; // 中空配方添加 const handleConfirm = async () => { try { const response = await request.post('/hollowGlass/hollowFormulaDetails/saveFormulaDetails',{ formulaName: formulaName.value, filmRemove: filmRemove.value, bottomRemove: bottomRemove.value, leftRemove: leftRemove.value, rightRemove: rightRemove.value, topRemove: topRemove.value, casFour: casFour.value, casOne: casOne.value, casThree: casThree.value, casTwo: casTwo.value, frameFour: frameFour.value, frameOne: frameOne.value, frameThree: frameThree.value, frameTwo: frameTwo.value, intervalFrameHeight: intervalFrameHeight.value, intervalFrameType: intervalFrameType.value, intervalFrameWidth: intervalFrameWidth.value, sealInsert: sealInsert.value, }); if (response.code == 200) { ElMessage.success(response.message); tableDatax.value = response.data; add.value = false formulaName.value = ''; filmRemove.value = ''; bottomRemove.value = ''; leftRemove.value = ''; rightRemove.value = ''; topRemove.value = ''; casFour.value = ''; casOne.value = ''; casThree.value = ''; casTwo.value = ''; frameFour.value = ''; frameOne.value = ''; frameThree.value = ''; frameTwo.value = ''; intervalFrameHeight.value = ''; intervalFrameType.value = ''; intervalFrameWidth.value = ''; sealInsert.value = ''; } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; const removalMethodMapa = { [t('Mounting.removal')]: 1, [t('Mounting.noremoval')]: 0, }; const removalcasa = { [t('hellow.Y')]: 1, [t('hellow.F')]: 0, } const removalintervala = { [t('hellow.intervalFrameTypeb')]: 1, [t('hellow.intervalFrameTypea')]: 5, } // 中空配方修改 const handledit = async () => { try { const response = await request.post('/hollowGlass/hollowFormulaDetails/updateFormulaDetails',{ formulaName: formulaName.value, filmRemove: removalMethodMapa[filmRemove.value], bottomRemove: bottomRemove.value, leftRemove: leftRemove.value, rightRemove: rightRemove.value, topRemove: topRemove.value, casFour: removalcasa[casFour.value], casOne: removalcasa[casOne.value], casThree: removalcasa[casThree.value], casTwo: removalcasa[casTwo.value], frameFour: frameFour.value, frameOne: frameOne.value, frameThree: frameThree.value, frameTwo: frameTwo.value, intervalFrameHeight: intervalFrameHeight.value, intervalFrameType: removalintervala[intervalFrameType.value], intervalFrameWidth: intervalFrameWidth.value, sealInsert: sealInsert.value, }); if (response.code == 200) { ElMessage.success(response.message); adda.value = false fetchmulan() } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; // 中空配方删除 const opena = async(row) => { try { const confirmResult = await ElMessageBox.confirm( t('hellow.hollowformuldet'), t('productStock.prompt'), { confirmButtonText: t('productStock.yes'), cancelButtonText: t('productStock.cancel'), type: 'warning', } ); if (confirmResult === 'confirm') { var url="/hollowGlass/hollowFormulaDetails/deleteFormulaDetails?idList="+row.id; const response = await request.post(url) if (response.code === 200) { ElMessage.success(response.message); } else { ElMessage.error(response.msg); } } } catch (error) { console.error('发生错误:', error); } }; // 工程号 const selectgong = async () => { try { var url="/hollowGlass/hollowGlassOutRelationInfo/hollowTaskList?cell="+ 931; var url="/hollowGlass/hollowGlassOutRelationInfo/hollowTaskList?cell="+ 930; const response = await request.post(url) if (response.code == 200) { const processTypes = response.data.map((projectNo, index) => ({ @@ -407,6 +1196,25 @@ })); titleSelectJson.value.processType = processTypes; } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; // 预览 const handleup = async () => { try { var url="/hollowGlass/hollowGlassOutRelationInfo/appointHollowTaskDetails?cell="+ 930 + "&flowCardId=" + selectedProjectNo.value; window.localStorage.setItem('flowCardId', selectedProjectNo.value) const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); tableDataa.value = response.data; dialogFormVisiblee.value = false selectedProjectNo.value = '' closeWebSocket(socket); } else { ElMessage.error('Failed to fetch data'); } } catch (error) { @@ -436,13 +1244,10 @@ // 开始任务 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, }) let flowCardId = window.localStorage.getItem('flowCardId') if (flowCardId !== '') { var url="/hollowGlass/hollowGlassOutRelationInfo/startTask?flowCardId="+flowCardId + "&cell=" + 930; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); blinda.value = false; @@ -459,16 +1264,87 @@ console.error(error); } } // 结束任务 const handleb = async () => { try { let flowCardId = window.localStorage.getItem('flowCardId') if (flowCardId !== '') { var url="/hollowGlass/hollowGlassOutRelationInfo/finishTask?flowCardId="+flowCardId + "&cell=" + 930; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); blindb.value = false; } else { ElMessage.error(response.message); } } else { ElMessage({ type: 'info', message: t('basicData.infonull'), }) } } catch (error) { console.error(error); } } // 暂停任务 const handlec = async () => { try { let flowCardId = window.localStorage.getItem('flowCardId') if (flowCardId !== '') { var url="/hollowGlass/hollowGlassOutRelationInfo/pauseTask?flowCardId="+flowCardId + "&cell=" + 930; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); blindc.value = false; } else { ElMessage.error(response.message); } } else { ElMessage({ type: 'info', message: t('basicData.infonull'), }) } } catch (error) { console.error(error); } } // 删除任务 const handled = async () => { try { let flowCardId = window.localStorage.getItem('flowCardId') if (flowCardId !== '') { var url="/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId="+flowCardId + "&cell=" + 930; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); blindd.value = false; } else { ElMessage.error(response.message); } } else { ElMessage({ type: 'info', message: t('basicData.infonull'), }) } } catch (error) { console.error(error); } } // 领取任务 const finisha = async () => { let flowCardId = window.localStorage.getItem('flowCardId') try { var url="/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell="+cell.value + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value; let id = window.localStorage.getItem('id') try { var url="/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell="+ 930 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value+ "&formulaId=" + id; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); dialogFormVisiblec.value = false; cell.value = ''; formulaName.value = ''; totalPairQuantity.value = ''; } else { ElMessage.error(response.message); @@ -480,8 +1356,9 @@ // 强制出片 const finishb = async () => { let flowCardId = window.localStorage.getItem('flowCardId') let id = window.localStorage.getItem('id') try { var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+cella.value + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value; var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+ 930 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value+ "&formulaId=" + id; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); @@ -501,7 +1378,6 @@ const body = { flag: ganghua.value, }; var url="/hollowGlass/hollowGlassOutRelationInfo/dispatchHollowSwitch?flag="+ganghua.value; const response = await request.post(url) if (response.code == 200) { @@ -521,6 +1397,8 @@ }); </script> <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 { text-align: center; margin-top: -15px; UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -2,6 +2,9 @@ <div style="height: 600px;"> <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading"> <div style="display: flex; flex-direction: row; align-items: center; margin-bottom: 10px;"> <el-button id="searchButton" type="primary" @click="handleormulan"> {{ $t('hellow.hollowformula') }} </el-button> <el-button id="searchButton" type="primary" @click="handlezhiban"> {{ $t('hellow.createtask') }} </el-button> @@ -10,6 +13,10 @@ </el-button> <el-button style="margin-left: 10px;" id="searchButton" type="success" @click="handleBinda"> {{ $t('hellow.starttask') }} </el-button> <el-button style="margin-left: 10px;" id="searchButton" type="info" @click="handleBindd">{{ $t('hellow.taskdet') }} </el-button> <el-button style="margin-left: 10px;" id="searchButton" type="warning" @click="handleBindc">{{ $t('hellow.stopproject') @@ -25,21 +32,21 @@ <el-form> <el-row> <el-col :span="4"> <div id="dt" style="font-size: 15px;"> <div style="font-size: 15px;"> <el-form-item :label="$t('hellow.currenttask')" style="width: 14vw"> {{ temperingtotal }} </el-form-item> </div> </el-col> <el-col :span="5"> <div id="dta" style="font-size: 15px;"> <div style="font-size: 15px;"> <el-form-item :label="$t('hellow.claimednumber')" style="width: 14vw"> {{ glasstotal }} </el-form-item> </div> </el-col> <el-col :span="4"> <div id="dt" style="font-size: 15px;"> <div style="font-size: 15px;"> <el-form-item :label="$t('hellow.linenumber')" style="width: 14vw"> {{ fulltotals }} </el-form-item> @@ -64,7 +71,7 @@ </template> </el-table-column> </el-table> <div style="display: flex;margin-left: 40%;margin-top: 10px;"> <!-- <div style="display: flex;margin-left: 40%;margin-top: 10px;"> <div style="margin-top: 5px;margin-right: 5px;">{{ $t('hellow.line') }}</div> <el-pagination background @@ -74,12 +81,18 @@ :current-page.sync="currentPage" @current-change="handlePageChange1" /> </div> </div> --> </div> </el-card> </div> <!-- 创建任务 --> <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%"> <div style="display: flex;"> <el-input v-model="flowCardId" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('searchOrder.incardnumber')" /> <el-input v-model="filmsId" style="margin-left: 10px;margin-bottom: 10px;width: 240px;" :placeholder="$t('film.infilms')"/> <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="fetchFlowCardsearch"> {{$t('reportmanage.inquire')}}</el-button> </div> <el-table ref="table" style="margin-top: 20px; height: 700px;" @@ -117,6 +130,150 @@ </el-table-column> </el-table> </el-dialog> <!-- 中空配方添加 --> <el-dialog v-model="add" top="23vh" width="55%" :title="$t('hellow.hollowformula')" > <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="150px"> <el-form label-width="150px" label-position="right"> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;"> <el-select v-model="filmRemove" clearable style="width: 220px" :placeholder="$t('Mounting.removalmethod')"> <el-option :label="$t('Mounting.removal')" value="1"></el-option> <el-option :label="$t('Mounting.noremoval')" value="0"></el-option> </el-select> </el-form-item> </div> </div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> </el-form> </el-form> </div> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleConfirm"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 中空配方修改 --> <el-dialog v-model="adda" top="23vh" width="55%" :title="$t('hellow.edithollowformula')" > <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="150px"> <el-form label-width="150px" label-position="right"> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;"> <el-select v-model="filmRemove" clearable style="width: 220px" :placeholder="$t('Mounting.removalmethod')"> <el-option :label="$t('Mounting.removal')" value="1"></el-option> <el-option :label="$t('Mounting.noremoval')" value="0"></el-option> </el-select> </el-form-item> </div> </div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;"> <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" /> </el-form-item> </div></div> </el-col> </el-row> </el-form> </el-form> </div> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handledit"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 领取任务 --> <el-dialog v-model="dialogFormVisiblec" top="21vh" width="40%" :title="$t('hellow.claimquest')"> <div style="margin-left: 20px;margin-top: 10px;margin-bottom: 10px;"> @@ -127,7 +284,8 @@ </el-form-item> <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;"> <el-select :placeholder="$t('hellow.croute')" :placeholder="$t('hellow.line2')" disabled style="width: 270px" v-model="cell"> <el-option @@ -138,6 +296,23 @@ /> </el-select> </el-form-item> <el-form-item :label="$t('hellow.hollowformulp')" :required="true" style="width: 25vw;"> <el-select v-model="selectedFormulaName" filterable clearable :placeholder="$t('hellow.phollowformula')" style="width: 270px" @change="handleFormulaChange" > <el-option v-for="item in titleformulaName" :key="item.id" :label="item.formulaName" :value="item.formulaName" /> </el-select> </el-form-item> </el-form> </el-form> </div> @@ -160,7 +335,8 @@ </el-form-item> <el-form-item :label="$t('hellow.route')" :required="true" style="width: 25vw;"> <el-select :placeholder="$t('hellow.croute')" :placeholder="$t('hellow.line2')" disabled style="width: 270px" v-model="cella"> <el-option @@ -171,6 +347,23 @@ /> </el-select> </el-form-item> <el-form-item :label="$t('hellow.hollowformulp')" :required="true" style="width: 25vw;"> <el-select v-model="selectedFormulaName" filterable clearable :placeholder="$t('hellow.phollowformula')" style="width: 270px" @change="handleFormulaChange" > <el-option v-for="item in titleformulaName" :key="item.id" :label="item.formulaName" :value="item.formulaName" /> </el-select> </el-form-item> </el-form> </el-form> </div> @@ -247,6 +440,17 @@ </div> </template> </el-dialog> <!-- 删除任务 --> <el-dialog v-model="blindd" top="30vh" width="25%" :title="$t('hellow.hollowtaskdet')"> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handled"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="blindd = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> </el-dialog> <!-- 预览 --> <el-dialog v-model="dialogFormVisiblee" top="24vh" width="25%" :title="$t('hellow.reviewproject')" > <div style="margin-left: 50px;margin-bottom: 10px;"> @@ -277,9 +481,35 @@ </div> </template> </el-dialog> <!-- 中空配方 --> <el-dialog v-model="mulan" top="15vh" width="70%" :title="$t('hellow.hollowformula')"> <el-button id="searchButton" type="primary" @click="add = true"> {{ $t('basicData.add') }} </el-button> <el-table ref="table" style="margin-top: 20px;height: 400px;" :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="formulaName" fixed align="center" :label="$t('hellow.formulaNamep')"/> <el-table-column prop="filmRemove" fixed align="center" :label="$t('Mounting.removalmethodp')"/> <el-table-column prop="topRemove" align="center" :label="$t('hellow.topRemovep')"> </el-table-column> <el-table-column prop="bottomRemove" align="center" :label="$t('hellow.bottomRemovep')"> </el-table-column> <el-table-column prop="leftRemove" align="center" :label="$t('hellow.leftRemovep')"> </el-table-column> <el-table-column prop="rightRemove" align="center" :label="$t('hellow.rightRemovep')"> </el-table-column> <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="270"> <template #default="scope"> <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('productStock.exit') }}</el-button> <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('productStock.delete') }}</el-button> </template> </el-table-column> </el-table> <template #footer> <div id="dialog-footer"> <el-button @click="mulan = false">{{ $t('large.close') }}</el-button> </div> </template> </el-dialog> </template> <script setup> import {ElMessage} from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus' import {onBeforeUnmount, onMounted, onUnmounted, ref, reactive, watch, computed} from "vue"; import request from "@/utils/request" import {host, WebSocketHost} from '@/utils/constants' @@ -289,25 +519,40 @@ const blinda = ref(false) const blindb = ref(false) const blindc = ref(false) const blindd = ref(false) const mulan = ref(false) const tableDataa = ref([]) const tableDatab = ref([]) const tableDatac = ref([]) const allData = ref({}) const flowCard = ref('') const tableDatax = ref([]) const cell = ref('') const cella = ref('') const selectedProjectNo = ref(''); const ganghua = ref(true) const totalPairQuantity = ref('') const totalPairQuantitya = ref('') const bottomRemove = ref('') const filmRemove = ref('') const formulaName = ref('') const leftRemove = ref('') const rightRemove = ref('') const topRemove = ref('') const filmsId = ref('') const flowCardId = ref('') const dialogFormVisiblea = ref(false) const dialogFormVisibleb = ref(false) const dialogFormVisiblec = ref(false) const dialogFormVisibled = ref(false) const dialogFormVisiblee = ref(false) const add = ref(false) const adda = ref(false) const currentPage2 = ref(1) const currentRow = reactive({}); const formattedProcessType = ref([]); const selectedFormulaName = ref(''); let selectedFormulaId = ref(null); const formulaNameid = ref({ id: null }); const titleformulaName = ref({ formulaName: [] ,formulaId: []}); const titleSelectJson = ref({ processType: [] }); const options = [ { @@ -317,10 +562,6 @@ { value: 931, label: t('hellow.line2'), }, { value: 932, label: t('hellow.line3'), } ] let socket = null; @@ -341,14 +582,15 @@ }; const handleMessage = (data) => { try { const allPageData = data; tableDataa.value = data[931][0]; const allPageData = data; const currentPageKeyValue = currentPageKey.value; const currentPageData = allPageData[currentPageKeyValue]; if (currentPageData && Array.isArray(currentPageData) && currentPageData.length > 0) { tableDataa.value = currentPageData[0]; } else { console.warn('No data for the current page key:', currentPageKeyValue); } // if (currentPageData && Array.isArray(currentPageData) && currentPageData.length > 0) { // tableDataa.value = currentPageData[0]; // } else { // console.warn('No data for the current page key:', currentPageKeyValue); // } } catch (error) { console.error('Error parsing WebSocket message:', error); } @@ -373,9 +615,31 @@ const handleBindc = (row) => { blindc.value = true; }; // 删除任务 const handleBindd = (row) => { blindd.value = true; }; const removalMethodMap = { 1: t('Mounting.removal'), 0: t('Mounting.noremoval') }; // 处理编辑按钮点击 function handleEdit(row) { formulaName.value = row.formulaName; filmRemove.value = removalMethodMap[row.filmRemove]; bottomRemove.value = row.bottomRemove; leftRemove.value = row.leftRemove; rightRemove.value = row.rightRemove; topRemove.value = row.topRemove; adda.value = true; } const handlezhiban = () => { dialogFormVisiblea.value = true; fetchFlowCardId(); }; const handleormulan = () => { mulan.value = true; fetchmulan(); }; // 预览 const selectproject = () => { @@ -394,16 +658,21 @@ const handletake = (row) => { window.localStorage.setItem('flowCardId', row.projectNumber) dialogFormVisiblec.value = true; fetchmulan() }; // 强制出片 const handleout = (row) => { window.localStorage.setItem('flowCardId', row.projectNumber) dialogFormVisibled.value = true; fetchmulan() }; // 创建任务 const fetchFlowCardId = async () => { try { const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard'); const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{ filmsId: '', flowCardId: '', }); if (response.code == 200) { ElMessage.success(response.message); const newData = parseData(response.data); @@ -414,6 +683,127 @@ } catch (error) { ElMessage.error('Error fetching data'); } }; const fetchFlowCardsearch = async () => { try { const response = await request.post('/hollowGlass/hollowGlassRelationInfo/queryHollowAllFlowCard',{ filmsId: filmsId.value, flowCardId: flowCardId.value, }); if (response.code == 200) { ElMessage.success(response.message); const newData = parseData(response.data); tableDatab.value = newData; } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; // 中空配方 const fetchmulan = async () => { try { var url="/hollowGlass/hollowFormulaDetails/listFormulaDetails?keyword="+''; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); tableDatax.value = response.data; titleformulaName.value = response.data.map(item => ({ formulaId: item.id, formulaName: item.formulaName })); } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; const handleFormulaChange = (value) => { const selectedItem = titleformulaName.value.find(item => item.formulaName === value); if (selectedItem) { formulaNameid.value = { id: selectedItem.formulaId }; window.localStorage.setItem('id', formulaNameid.value.id) } else { formulaNameid.value = { id: null }; } }; // 中空配方添加 const handleConfirm = async () => { try { const response = await request.post('/hollowGlass/hollowFormulaDetails/saveFormulaDetails',{ formulaName: formulaName.value, filmRemove: filmRemove.value, bottomRemove: bottomRemove.value, leftRemove: leftRemove.value, rightRemove: rightRemove.value, topRemove: topRemove.value, }); if (response.code == 200) { ElMessage.success(response.message); tableDatax.value = response.data; add.value = false formulaName.value = ''; filmRemove.value = ''; bottomRemove.value = ''; leftRemove.value = ''; rightRemove.value = ''; topRemove.value = ''; } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; const removalMethodMapa = { [t('Mounting.removal')]: 1, [t('Mounting.noremoval')]: 0, }; // 中空配方修改 const handledit = async () => { try { const response = await request.post('/hollowGlass/hollowFormulaDetails/updateFormulaDetails',{ formulaName: formulaName.value, filmRemove: removalMethodMapa[filmRemove.value], bottomRemove: bottomRemove.value, leftRemove: leftRemove.value, rightRemove: rightRemove.value, topRemove: topRemove.value, }); if (response.code == 200) { ElMessage.success(response.message); adda.value = false fetchmulan() } else { ElMessage.error('Failed to fetch data'); } } catch (error) { ElMessage.error('Error fetching data'); } }; // 中空配方删除 const opena = async(row) => { try { const confirmResult = await ElMessageBox.confirm( t('hellow.hollowformuldet'), t('productStock.prompt'), { confirmButtonText: t('productStock.yes'), cancelButtonText: t('productStock.cancel'), type: 'warning', } ); if (confirmResult === 'confirm') { var url="/hollowGlass/hollowFormulaDetails/deleteFormulaDetails?idList="+row.id; const response = await request.post(url) if (response.code === 200) { ElMessage.success(response.message); } else { ElMessage.error(response.msg); } } } catch (error) { console.error('发生错误:', error); } }; // 工程号 const selectgong = async () => { @@ -444,7 +834,8 @@ tableDataa.value = response.data; dialogFormVisiblee.value = false selectedProjectNo.value = '' } else { closeWebSocket(socket); } else { ElMessage.error('Failed to fetch data'); } } catch (error) { @@ -540,16 +931,41 @@ console.error(error); } } // 删除任务 const handled = async () => { try { let flowCardId = window.localStorage.getItem('flowCardId') if (flowCardId !== '') { var url="/hollowGlass/hollowGlassOutRelationInfo/deleteHollowTaskDetails?flowCardId="+flowCardId + "&cell=" + 931; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); blindd.value = false; } else { ElMessage.error(response.message); } } else { ElMessage({ type: 'info', message: t('basicData.infonull'), }) } } catch (error) { console.error(error); } } // 领取任务 const finisha = async () => { let flowCardId = window.localStorage.getItem('flowCardId') try { var url="/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell="+cell.value + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value; let id = window.localStorage.getItem('id') try { var url="/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell="+ 931 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantity.value+ "&formulaId=" + id; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); dialogFormVisiblec.value = false; cell.value = ''; formulaName.value = ''; totalPairQuantity.value = ''; } else { ElMessage.error(response.message); @@ -561,8 +977,9 @@ // 强制出片 const finishb = async () => { let flowCardId = window.localStorage.getItem('flowCardId') let id = window.localStorage.getItem('id') try { var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+cella.value + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value; var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+ 931 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value+ "&formulaId=" + id; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); @@ -602,6 +1019,8 @@ }); </script> <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 { text-align: center; margin-top: -15px; UI-Project/src/views/hollow/hollowslicecage.vue
@@ -110,7 +110,11 @@ } ); if (confirmResult === 'confirm') { const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/deleteBigStorageCageDetails",row) const response = await request.post("/hollowGlass/hollowBigStorageCageDetails/deleteHollowBigStorageCageDetails",{ deviceId: row.deviceId, glassId: row.glassId, slot: row.slot, }) if (response.code === 200) { tableDataa.value = response.data; ElMessage.success(response.message); @@ -134,9 +138,19 @@ type: 'warning', } ); if (confirmResult === 'confirm') { const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/damageBigStorageCageDetails?status="+8, row) if (response.code === 200) { if (confirmResult === 'confirm') { // var url="/hollowGlass/hollowBigStorageCageDetails/damageHollowBigStorageCageDetails?status="+ 8 // + "&deviceId=" + row.deviceId // + "&glassId=" + row.glassId // + "&slot=" + row.slot; // const response = await request.post(url) const response = await request.post("/hollowGlass/hollowBigStorageCageDetails/damageHollowBigStorageCageDetails",{ status: 8, deviceId: row.deviceId, glassId: row.glassId, slot: row.slot, }) if (response.code === 200) { tableDataa.value = response.data; ElMessage.success(response.message); } else { @@ -160,34 +174,15 @@ } ); if (confirmResult === 'confirm') { const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/damageBigStorageCageDetails?status="+9, row) if (response.code === 200) { const response = await request.post("/hollowGlass/hollowBigStorageCageDetails/damageHollowBigStorageCageDetails",{ status: 9, deviceId: row.deviceId, glassId: row.glassId, slot: row.slot, }) if (response.code === 200) { tableDataa.value = response.data; ElMessage.success(response.message); } else { ElMessage.error(response.message); } } } catch (error) { console.error('发生错误:', error); } }; // 出片 const outfil = async(row) => { try { const confirmResult = await ElMessageBox.confirm( t('searchOrder.outfil'), t('searchOrder.prompt'), { confirmButtonText: t('searchOrder.yes'), cancelButtonText: t('searchOrder.cancel'), type: 'warning', } ); if (confirmResult === 'confirm') { const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/outBigStorageCageDetails", row) if (response.code === 200) { ElMessage.success(response.message); } else { ElMessage.error(response.message); } @@ -216,14 +211,13 @@ deviceId: deviceId, slot: slot }; const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/insertBigStorageCageDetails", dataToSend) const response = await request.post("/cacheVerticalGlass/hollowBigStorageCageDetails/insertHollowBigStorageCageDetails", dataToSend) if (response.code === 200) { tableDataa.value = response.data; add.value = false; ElMessage.success(response.message); glassId.value = ''; tableDataf.value = ''; } else { ElMessage.error(response.message); } @@ -301,24 +295,21 @@ let socket = null; const socketUrl = `ws://${WebSocketHost}:${host}/api/hollowGlass/api/talk/hollowGlassMessage`; const handleMessage = (data) => { console.log(data); if (data.inkageEntity != null) { inkageEntity.value = data.inkageEntity == 1 ? '#911005' : 'green'; inkageEntity.value = data.inkageEntity[0] == true ? 'green' : '#911005'; } if (data.requestEntity != null) { requestEntity.value = data.requestEntity == 1 ? '#911005' : 'green'; requestEntity.value = data.requestEntity == 1 ? 'green' : '#911005'; } if (data.mesReplyEntity != null) { mesReplyEntity.value = data.mesReplyEntity == 1 ? '#911005' : 'green'; mesReplyEntity.value = data.mesReplyEntity == 1 ? 'green' : '#911005'; } if (data.outInkageEntity != null) { outInkageEntity.value = data.outInkageEntity == 1 ? '#911005' : 'green'; outInkageEntity.value = data.outInkageEntity[0] == true ? 'green' : '#911005'; } if (data.outRequestEntity != null) { outRequestEntity.value = data.outRequestEntity == 1 ? '#911005' : 'green'; outRequestEntity.value = data.outRequestEntity == 1 ? 'green' : '#911005'; } if(data.bigStorageCageDetailsOutTask!=null){ tableDatac.value = data.bigStorageCageDetailsOutTask[0] console.log(data.bigStorageCageDetailsOutTask[0]) @@ -876,11 +867,6 @@ <el-button size="mini" type="text" plain @click="broke(scope.row)">{{ $t('searchOrder.breakage') }}</el-button> <el-button size="mini" type="text" plain @click="brokec(scope.row)">{{ $t('searchOrder.takeout') }}</el-button> <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('searchOrder.delete') }}</el-button> <el-button size="mini" type="text" :disabled="!((props.row.hollowBigStorageCageDetails[0].state !== 102 && scope.$index == 0 ) || (props.row.hollowBigStorageCageDetails[(scope.$index - 1)<0?0:scope.$index-1].state==102)&&(scope.row.state!=102))" plain @click="outfil(scope.row)"> {{ $t('searchOrder.outfilm') }} </el-button> </template> </el-table-column> </el-table>