From 63100c0391d3a4f1d41ac5e580625913b2edd265 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 04 十一月 2025 13:15:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/views/Returns/upreturns2.vue | 320 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 204 insertions(+), 116 deletions(-)
diff --git a/UI-Project/src/views/Returns/upreturns2.vue b/UI-Project/src/views/Returns/upreturns2.vue
index c31c494..7ab8d1b 100644
--- a/UI-Project/src/views/Returns/upreturns2.vue
+++ b/UI-Project/src/views/Returns/upreturns2.vue
@@ -1,5 +1,5 @@
<script lang="ts" setup>
-import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref, computed} from "vue";
import {useRouter} from "vue-router"
import { ElMessage, ElMessageBox } from 'element-plus'
import {useI18n} from 'vue-i18n'
@@ -15,12 +15,13 @@
const dialogFormVisible = ref(false)
const blind = ref(false)
const blinda = ref(false)
+const isLoading = ref(true);
+const ReportData = ref(true);
const blindb = ref(false)
-const dialoglea = ref(false)
+const blindbd = 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');
@@ -30,10 +31,28 @@
const titleSelectJson = ref({
engineerId: [],
})
-const handlezhiban = () => {
- dialoglea.value = true;
- fetchFlowCardId();
+const selectGong = async () => {
+ try {
+ const response = await request.post('/loadGlass/loadglassdevicetaskhistory/queryAllMessage',{
+ redisRequest: 'loadGlassRequestTwo',
+ stationCell: 6,
+ tableName: 'LOAD_GLASS_DEVICE_TWO_TASK',
+ webSocketName: 'loadGlassTwo'
+});
+ if (response.code == 200) {
+ }
+ } catch (error) {
+ }
};
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
+ state: null,
+ stationCell: 6
+}).then((response) => {
+ if (response.code == 200) {
+ } else {
+ // ElMessage.warning(response.msg)
+ }
+ });
const selectproject = () => {
dialogFormVisible.value = true;
selectgong();
@@ -48,6 +67,7 @@
};
onMounted(() => {
socket = initializeWebSocket(socketUrl, handleMessage);
+ selectGong()
});
onUnmounted(() => {
if (socket) {
@@ -59,22 +79,43 @@
const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
if (response.code === 200) {
tableData.splice(0, tableData.length, ...response.data);
- ElMessage.error(response.message);
+ // ElMessage.error(response.message);
+ window.localStorage.setItem('engineeringIda', tableData[0].engineeringId)
}
} catch (error) {
}
};
let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassTwo`;
const handleMessage = (data: any) => {
- tableDataa.value = data.list[0].slice(2, 4);
- if(data.loadTask2.length !=0){
- tableData.value = data.loadTask2[0]
+ isLoading.value = true;
+
+ if (data.stationList.length != 0) {
+ const processedData = [...data.stationList[0]];
+ if (processedData.length > 0) {
+ processedData[0] = { ...processedData[0], workstationId: 1 };
+ }
+ if (processedData.length > 1) {
+ processedData[1] = { ...processedData[1], workstationId: 2 };
+ }
+ tableDataa.value = processedData;
+ }else {
+ tableDataa.value = []
+ }
+ if (data.inkageState != null) {
+ cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
+ }
+ if (data.upPattenUsages.length != 0) {
+ isLoading.value = false;
+ tableData.value = data.upPattenUsages[0]
+ window.localStorage.setItem('engineeringIda', tableData.value[0].engineeringId)
canSelectProjecta.value = false;
canSelectProjectb.value = false;
canSelectProjectc.value = true;
}
else {
+ isLoading.value = false;
+ tableData.value = [];
canSelectProjecta.value = true;
canSelectProjectb.value = true;
canSelectProjectc.value = false;
@@ -86,7 +127,6 @@
// 缁撴潫宸ョ▼
const handledelete = (row) => {
blindb.value = true;
- deleteTask()
};
const requestData = {
state: 100
@@ -106,25 +146,64 @@
console.error(error);
}
};
+// 鏋跺瓙澶嶄綅
+const handleptask = async (workstationId: number) => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('basicData.prackreset'),
+ t('workOrder.prompt'),
+ {
+ confirmButtonText: t('workOrder.yes'),
+ cancelButtonText: t('workOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+
+ const slot = workstationId === 3 ? 103 : (workstationId === 4 ? 104 : null);
+ if (slot !== null) {
+ const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
+ slot: slot,
+ })
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ } else {
+ }
+ }
+ } catch (error) {
+ }
+};
//閫夋嫨宸ョ▼棰勮纭
const handlesure = async () => {
+ if (!selectedProjectNo.value) {
+ ElMessage.error(t('basicData.plselectproject'))
+ return
+ }
+ if (!filmRemove.value) {
+ ElMessage.error(t('Mounting.removalmethod'))
+ return
+ }
try {
const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
stationCell: 6,
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);
- // closeWebSocket(socket);
+ closeWebSocket(socket);
tableData.value = response.data;
dialogFormVisible.value = false;
selectedProjectNo.value = '';
filmRemove.value = '';
markingMachineStatus.value = '#911005';
cuttingMachineStatus.value = '#911005';
+ ReportData.value = false;
} else {
ElMessage.error(response.message);
}
@@ -134,53 +213,73 @@
}
// 缁撴潫宸ョ▼
const deleteTask = async () => {
- try {
- let engineeringId = window.localStorage.getItem('engineeringId')
- console.log(engineeringId);
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('searchOrder.pdeleteTask'),
+ t('workOrder.prompt'),
+ {
+ confirmButtonText: t('workOrder.yes'),
+ cancelButtonText: t('workOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+ let engineeringId = window.localStorage.getItem('engineeringIda')
if (engineeringId !== '') {
const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
engineerId: engineeringId,
})
if (response.code == 200) {
ElMessage.success(response.message);
- tableDatad.value = response.data;
canSelectProjecta.value = true;
canSelectProjectb.value = true;
canSelectProjectc.value = false;
+ blindb.value = true;
+ tableDatad.value = response.data;
} else {
- ElMessage.error(response.message);
+ ElMessage.error(response.message);
+ }
+ } else {
+ }
}
+ } catch (error) {
}
- else {
- ElMessage({
- type: 'info',
- message: t('basicData.infonull'),
- })
- }
-}
-catch (error) {
- console.error(error);
- }
-}
+};
// 寮�濮嬩笂鐗�
const handleon = async () => {
let filmRemove = window.localStorage.getItem('filmRemove')
- let engineeringId = window.localStorage.getItem('engineeringId')
+ let engineeringId = window.localStorage.getItem('engineeringIda')
if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
try {
const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
- stationCell: 6,
+ stationCell: 5,
filmRemove: filmRemove,
engineerId: engineeringId,
state: 1,
})
if (response.code == 200) {
- ElMessage.success(response.message);
+ let timeoutId = setTimeout(() => {
+ // 妯℃嫙鎸変笅纭鎸夐挳
+ const confirmBtn = document.querySelector('.el-message-box__btns .el-button--primary');
+ if (confirmBtn) {
+ confirmBtn.click();
+ }
+ }, 5000)
+ await ElMessageBox.alert(' ', t('basicData.sectionUpperSuccessful'), {
+ confirmButtonText: t('searchOrder.sure'),
+ type: 'success',
+ center: true,
+ customClass: 'center-message-box',
+ });
+ // 娓呴櫎瀹氭椂鍣�
+ clearTimeout(timeoutId);
+ // 鎵ц纭鍚庣殑閫昏緫
canSelectProjecta.value = false;
canSelectProjectb.value = false;
canSelectProjectc.value = true;
- // socket = initializeWebSocket(socketUrl, handleMessage);
+ socket = initializeWebSocket(socketUrl, handleMessage);
blind.value = false;
+ ReportData.value = true;
} else {
ElMessage.error(response.message);
}
@@ -195,8 +294,7 @@
const handleup = async () => {
try {
let filmRemove = window.localStorage.getItem('filmRemove')
- let engineeringId = window.localStorage.getItem('engineeringId')
- console.log(engineeringId);
+ let engineeringId = window.localStorage.getItem('engineeringIda')
if (engineeringId !== '') {
const response = await request.post('/loadGlass/engineering/engineering/pause', {
stationCell: 6,
@@ -207,6 +305,10 @@
if (response.code == 200) {
ElMessage.success(response.message);
blinda.value = false;
+ canSelectProjecta.value = true;
+ canSelectProjectb.value = true;
+ canSelectProjectc.value = false;
+ tableData.value = response.data;
} else {
ElMessage.error(response.message);
}
@@ -239,23 +341,6 @@
ElMessage.error(response.message);
}
};
-// 鍊肩彮淇℃伅
-const fetchFlowCardId = async () => {
- try {
- const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment', {
- line: 2001,
- workingProcedure: '鍐峰姞宸�'
- })
- if (response.code == 200) {
- ElMessage.success(response.message);
- tableDatax.value = response.data;
- } else {
- ElMessage.error(response.message);
- }
- } catch (error) {
- console.error(error);
- }
-}
onMounted(fetchTableData);
// 寮�濮嬩笂鐗�
const handleBind = (row) => {
@@ -296,11 +381,11 @@
}
);
if (confirmResult === 'confirm') {
- const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+ const response = await request.post('/loadGlass/engineering/engineering/identControls', {
glassId: row.glassId,
line: 6,
status: 1,
- type: 8,
+ state: 8,
workingProcedure: '涓婄墖',
})
if (response.code === 200) {
@@ -326,11 +411,11 @@
}
);
if (confirmResult === 'confirm') {
- const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+ const response = await request.post('/loadGlass/engineering/engineering/identControls', {
glassId: row.glassId,
line: 6,
status: 1,
- type: 9,
+ state: 9,
workingProcedure: '涓婄墖',
})
if (response.code === 200) {
@@ -343,6 +428,12 @@
console.error('鍙戠敓閿欒:', error);
}
};
+// 鍘嗗彶浠诲姟
+const iframeUrl = ref('');
+const handlehistorical = (row) => {
+ blindbd.value = true;
+ iframeUrl.value = `${window.location.origin}/#/Returns/upreturnhistory`;
+};
function getStatusType2(filmRemove) {
switch (filmRemove) {
case 0:
@@ -356,11 +447,11 @@
function getStatusText2(filmRemove) {
switch (filmRemove) {
case 0:
- return t('Mounting.noremoval');//瀹屾垚
- case 1:
- return t('Mounting.coarselyground');//鏂板缓
+ return t('Mounting.noremoval');//涓嶉櫎鑶�
+ // case 1:
+ // return t('Mounting.coarselyground');
case 2:
- return t('Mounting.finegrinding');//鎵ц涓�
+ return t('Mounting.removal');//闄よ啘
}
}
</script>
@@ -382,16 +473,12 @@
</el-button>
<div style="margin-left: 70px;">{{ upstatus }}</div>
<i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
- <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;">{{
- $t('basicData.change')
- }}
- </el-button>
</div>
<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-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlehistorical">{{ $t('searchOrder.historicaltasks') }}</el-button>
<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>
@@ -399,12 +486,13 @@
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
</el-select>
<el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" >
- <el-option :label="$t('Mounting.waiting')" value="1"></el-option>
- <el-option :label="$t('film.execution')" value="2"></el-option>
- <el-option :label="$t('film.finish')" value="3"></el-option>
+ <el-option :label="$t('Mounting.all')" value="null"></el-option>
+ <el-option :label="$t('Mounting.waiting')" value="0"></el-option>
+ <el-option :label="$t('Mounting.pass')" value="100"></el-option>
</el-select>
- <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">
+ <el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
+ <div v-loading="isLoading" class="loading-container" :element-loading-text="$t('searchOrder.loadingText')" >
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
<el-table
height="400"
@@ -412,16 +500,12 @@
: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="engineeringId" :label="$t('Mounting.project')" width="120" 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 prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center"/>
<el-table-column
align="center"
:label="$t('Mounting.state')"
@@ -433,6 +517,7 @@
:type="scope.row.state === 100 ? 'success' : 'warning'"
@click="toggleEnableState(scope.row)"
>
+ <!-- 绛夊緟涓細0 閫氳繃锛�100 -->
{{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
</el-tag>
</template>
@@ -440,22 +525,40 @@
</el-table>
</div>
</el-card>
- <div style="display: flex;">
- <div style="width: 49%;float: left;margin-left: 300px;">
+ </div>
+ <div style="display: flex;margin-left:5%">
+ <div style="width: 55%;float: left;margin-left: 300px;">
<div style="display: flex;">
- <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%;"
+ <img src="/shangpianji.png" alt=""
+ style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 3%;">
+ <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="700"
: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"/>
+ <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65"/>
+ <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75"/>
+ <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75"/>
<el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80"/>
- <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80"/>
+ <el-table-column prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80"/>
+ <el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')" min-width="60"/>
+ <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
+ <template #default="scope">
+ <el-button :disabled="(!scope.row.patternThickness)" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
+ </template>
+ </el-table-column>
</el-table>
</div>
</div>
</div>
+ <!-- 鍘嗗彶浠诲姟 -->
+ <el-dialog v-model="blindbd" top="5vh" width="95%" @close="iframeUrl=''">
+ <iframe
+ :src="iframeUrl"
+ marginwidth="2000px"
+ marginheight="2000px"
+ width="100%"
+ height="750px"
+ frameborder="0"
+ ></iframe>
+ </el-dialog>
<el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
<template #footer>
<div id="dialog-footer">
@@ -480,42 +583,18 @@
<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>
+ <el-button type="text" plain @click="opena(scope.row)">{{ $t('order.dilapidation') }}</el-button>
+ <el-button 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 type="danger" @click="deleteTask()">{{ $t('searchOrder.deleteTask') }}</el-button>
<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'}">
- <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
- <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')"/>
- <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
- </el-table-column>
- <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
- </el-table-column>
- </el-table>
- <template #footer>
- <div id="dialog-footer">
- <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
- </div>
- </template>
-</el-dialog>
<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">
@@ -564,8 +643,9 @@
<el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
<el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
<el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
- <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
- <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
+ <!-- 涓嶉櫎鑶滐細0 闄よ啘锛�2 -->
+ <!-- <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option> -->
+ <el-option :label="$t('Mounting.removal')" value="2"></el-option>
</el-select>
</el-form-item>
</div>
@@ -605,4 +685,12 @@
margin-top: 20px;
margin-bottom: 10px;
}
+.loading-container {
+ position: relative;
+ height: 100%;
+}
+/* 纭繚閬僵灞傚湪鏈�椤跺眰 */
+.el-loading-mask {
+ z-index: 2000 !important;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0