From d55b5b015eef8c31d9dea6587dc6fd0e02818cd1 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 31 十月 2025 08:21:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/views/Returns/upreturns.vue | 744 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 472 insertions(+), 272 deletions(-)
diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index a7a4448..250acf1 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -1,14 +1,13 @@
<script lang="ts" setup>
-import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
-import {useRouter} from "vue-router"
-import {ElMessage} from 'element-plus'
-import {useI18n} from 'vue-i18n'
-import {host, WebSocketHost} from '@/utils/constants'
+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'
+import { host, WebSocketHost } from '@/utils/constants'
import request from "@/utils/request"
-import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
-
+import { closeWebSocket, initializeWebSocket } from '@/utils/WebSocketService';
const router = useRouter()
-const {t} = useI18n()
+const { t } = useI18n()
const selectValuesa = reactive([]);
const selectedProjectNo = ref('');
const stationCell = ref('1');
@@ -16,21 +15,50 @@
const dialogFormVisible = ref(false)
const blind = ref(false)
const blinda = ref(false)
-const dialoglea = ref(false)
+const blindb = ref(false)
+const blindbd = ref(false)
+const ReportData = ref(true);
+const isLoading = ref(true);
+const canSelectProjecta = ref(true);
+const canSelectProjectb = ref(true);
+const canSelectProjectc = ref(false);
const tableDatax = ref([])
-const upstatus = ref(t('basicData.machineaa'));
-const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
+const tableDatad = ref([])
+const upstatus = ref(t('basicData.machine'));
+const cuttingMachineStatusColor = ref('#911005');
const tableDataa = ref<any[]>([]);
const tableDatab = ref<any[]>([]);
+const stationInfos = reactive({});
+const buttonEnabledStatus = ref({});
+const globalDate = inject('globalDate');
+import { inject } from 'vue';
+import { tr } from "element-plus/es/locale";
const tableData = ref([])
-// const tableData = reactive([]);
const titleSelectJson = ref({
engineerId: [],
})
-const handlezhiban = () => {
- dialoglea.value = true;
- fetchFlowCardId();
+const selectGong = async () => {
+ try {
+ const response = await request.post('/loadGlass/loadglassdevicetaskhistory/queryAllMessage',{
+ redisRequest: 'loadGlassRequestOne',
+ stationCell: 5,
+ tableName: 'LOAD_GLASS_DEVICE_ONE_TASK',
+ webSocketName: 'loadGlassOne'
+});
+ if (response.code == 200) {
+ }
+ } catch (error) {
+ }
};
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
+ state: null,
+ stationCell: 5
+}).then((response) => {
+ if (response.code == 200) {
+ } else {
+ // ElMessage.warning(response.msg)
+ }
+});
const selectproject = () => {
dialogFormVisible.value = true;
selectgong();
@@ -45,29 +73,48 @@
};
onMounted(() => {
socket = initializeWebSocket(socketUrl, handleMessage);
+ selectGong()
});
onUnmounted(() => {
if (socket) {
closeWebSocket(socket);
}
});
-const fetchTableData = async () => {
- try {
- 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);
- }
- } catch (error) {
- // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
- // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
- }
-};
let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlassOne`;
const handleMessage = (data: any) => {
- tableDataa.value = data.list[0].slice(0, 2);
- tableDatab.value = data.list[0].slice(2, 4);
+ isLoading.value = true;
+ if (data.inkageState != null) {
+ cuttingMachineStatusColor.value = data.inkageState[0] === 1 ? 'green' : '#911005';
+ }
+ 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.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;
+ canSelectProjecta.value = true;
+ canSelectProjectb.value = true;
+ canSelectProjectc.value = false;
+ tableData.value = [];
+ window.localStorage.setItem('engineeringIda', '')
+ }
};
onBeforeUnmount(() => {
closeWebSocket();
@@ -84,7 +131,7 @@
if (response.code == 200) {
titleSelectJson.value.engineerId = response.data;
} else {
- ElMessage.error(response.message);
+ // ElMessage.error(response.message);
}
} catch (error) {
console.error(error);
@@ -92,22 +139,32 @@
};
//閫夋嫨宸ョ▼棰勮纭
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: 5,
engineerId: selectedProjectNo.value,
- filmRemove: filmRemove.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);
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);
}
@@ -118,11 +175,10 @@
// 寮�濮嬩笂鐗�
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/pauseTask', {
- const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+ const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
stationCell: 5,
filmRemove: filmRemove,
engineerId: engineeringId,
@@ -130,7 +186,12 @@
})
if (response.code == 200) {
ElMessage.success(response.message);
+ canSelectProjecta.value = false;
+ canSelectProjectb.value = false;
+ canSelectProjectc.value = true;
+ socket = initializeWebSocket(socketUrl, handleMessage);
blind.value = false;
+ ReportData.value = true;
} else {
ElMessage.error(response.message);
}
@@ -138,24 +199,28 @@
console.error(error);
}
} else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
- // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华
ElMessage.warning(t('basicData.pausea'));
}
}
// 鏆傚仠
const handleup = async () => {
try {
- let engineeringId = window.localStorage.getItem('engineeringId')
- console.log(engineeringId);
+ let filmRemove = window.localStorage.getItem('filmRemove')
+ let engineeringId = window.localStorage.getItem('engineeringIda')
if (engineeringId !== '') {
- const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
+ const response = await request.post('/loadGlass/engineering/engineering/pause', {
stationCell: 5,
+ filmRemove: filmRemove,
engineerId: engineeringId,
state: 0,
})
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);
}
@@ -169,7 +234,6 @@
console.error(error);
}
}
-
// 鏌ヨ鏁版嵁
const selectReportData = async () => {
let stateList = []
@@ -180,7 +244,6 @@
}
const response = await request.post("/loadGlass/up-patten-usage/setUpPattenRequest", {
state: selectValuesa[0],
- // state: stateList,
stationCell: 5
})
if (response.code === 200) {
@@ -190,25 +253,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) => {
blind.value = true;
@@ -218,14 +262,13 @@
blinda.value = true;
};
const toggleEnableState = async (row: any) => {
- // 妫�鏌� id 鏄惁涓虹┖
- if (!row.id) {
- ElMessage.error(t('basicData.updatanull'));
- return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�
- }
+ if (!row.id) {
+ ElMessage.error(t('basicData.updatanull'));
+ return;
+ }
const newState = row.state === 100 ? 0 : 100;
try {
- const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', {id: row.id, state: newState});
+ const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });
if (response.code === 200) {
ElMessage.success(response.message);
row.state = newState;
@@ -236,242 +279,399 @@
ElMessage.error(t('basicData.glassnull'));
}
};
+// 鐮存崯
+const opena = async (row) => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('searchOrder.broke'),
+ t('productStock.prompt'),
+ {
+ confirmButtonText: t('productStock.yes'),
+ cancelButtonText: t('productStock.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+ const response = await request.post('/loadGlass/engineering/engineering/identControls', {
+ glassId: row.glassId,
+ line: 5,
+ status: 1,
+ state: 8,
+ workingProcedure: '涓婄墖',
+ })
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.msg);
+ }
+ }
+ } catch (error) {
+ console.error('鍙戠敓閿欒:', error);
+ }
+};
+// 浜哄伐鎷胯蛋
+const openb = async (row) => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('order.takeawaya'),
+ t('productStock.prompt'),
+ {
+ confirmButtonText: t('productStock.yes'),
+ cancelButtonText: t('productStock.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+ const response = await request.post('/loadGlass/engineering/engineering/identControls', {
+ glassId: row.glassId,
+ line: 5,
+ status: 1,
+ state: 9,
+ workingProcedure: '涓婄墖',
+ })
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.msg);
+ }
+ }
+ } catch (error) {
+ 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 === 1 ? 101 : (workstationId === 2 ? 102 : null);
+ if (slot !== null) {
+ const response = await request.post('/glassStorage/rawGlassStorageDetails/shelfReset', {
+ slot: slot,
+ })
+ // const url = `/loadGlass/rawGlassStorageDetails/shelfReset?slot=${slot}`;
+ // const response = await request.post(url);
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ } else {
+ }
+ }
+ } catch (error) {
+ }
+};
+// 缁撴潫宸ョ▼
+const deleteTask = async () => {
+ 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);
+ canSelectProjecta.value = true;
+ canSelectProjectb.value = true;
+ canSelectProjectc.value = false;
+ blindb.value = true;
+ tableDatad.value = response.data;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } else {
+ }
+ }
+ } catch (error) {
+ }
+};
+// 鍘嗗彶浠诲姟
+const iframeUrl = ref('');
+const handlehistorical = (row) => {
+ blindbd.value = true;
+ iframeUrl.value = `${window.location.origin}/#/Returns/upreturnhistory`;
+};
+function getStatusType2(filmRemove) {
+ switch (filmRemove) {
+ case 0:
+ return 'success';
+ case 1:
+ return 'info';
+ case 2:
+ return 'warning';
+ }
+}
+function getStatusText2(filmRemove) {
+ switch (filmRemove) {
+ case 0:
+ return t('Mounting.noremoval');//涓嶉櫎鑶�
+ // case 1:
+ // return t('Mounting.coarselyground');
+ case 2:
+ return t('Mounting.removal');//闄よ啘
+ }
+}
</script>
<template>
<div style="height: 500px;">
<div>
<div id="dotClass">
<div>{{ $t('basicData.laserprinting') }}</div>
- <i :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+ <i
+ :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
<el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{
- $t('basicData.yes')
- }}
+ $t('basicData.yes')
+ }}
</el-button>
<div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
- <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+ <i
+ :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
<el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;">{{
- $t('basicData.yes')
- }}
+ $t('basicData.yes')
+ }}
</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 style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
- <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
- style="margin-top: 5px;margin-left: 20px;">
- <el-option :label="$t('Mounting.all')" value="0"></el-option>
- <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
- <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
- </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-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">
- <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
- <el-table
- height="350"
- ref="table"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- :data="tableData"
- >
- <el-table-column prop="layoutSequence" :label="$t('Mounting.project')" width="100" align="center"/>
- <el-table-column prop="engineeringId" :label="$t('Mounting.width')" width="200" align="center"/>
- <el-table-column prop="width" :label="$t('Mounting.height')" align="center"/>
- <el-table-column prop="height" :label="$t('Mounting.thickness')" align="center"/>
- <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
- <el-table-column :label="$t('Mounting.projectnumber')" align="center">
- <template #default="{ row }">
- <!-- 杩欓噷鎬绘槸鏄剧ず 1 -->
- <span>{{ 1 }}</span>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- :label="$t('Mounting.state')"
- min-width="80"
- prop="state"
- >
- <template #default="scope">
- <el-tag
- :type="scope.row.state === 100 ? 'success' : 'warning'"
- @click="toggleEnableState(scope.row)"
- >
- {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
- </el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/>
- <!-- <el-table-column prop="filmRemove" :label="$t('Mounting.removalmethodp')" align="center"/> -->
- <!-- <el-table-column prop="stationCell" :label="$t('Mounting.loadinglinea')" align="center"/> -->
- </el-table>
+ <i
+ :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
</div>
- </el-card>
- <div style="display: flex;">
- <div style="width: 49%;float: left;margin-left: 300px;">
- <div style="display: flex;">
- <img src="../../assets/shangpianji.png" alt=""
- style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
- <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 8%;"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- >
- <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="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>
- </div>
- </div>
- <!-- <div style="width: 48%;float: right;">
- <div style="display: flex;">
- <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
- <el-table :data="tableDatab" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
- :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="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>
- </div>
- </div> -->
-</div>
- <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleon">
- {{ $t('basicData.confirm') }}
- </el-button>
- <el-button @click="blind = 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')">
- <!-- <template #default="{ row }">
- <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>
- </template> -->
- </el-table-column>
- <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
- <!-- <template #default="{ row }">
- <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>
- </template> -->
- </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">
- <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
- style="margin-left: 20px;">
+ <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="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.oneloadingline')"
+ style="margin-top: 5px;margin-left: 20px;">
<el-option :label="$t('Mounting.all')" value="0"></el-option>
<el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
</el-select>
- </el-form-item>
- </div>
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleup">
- {{ $t('basicData.confirm') }}
- </el-button>
- <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
- </div>
- </template>
- </el-dialog>
+ <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')"
+ style="margin-top: 5px;margin-left: 20px;">
+ <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 :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" ref="table" :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }"
+ :data="tableData">
+ <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 prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center" />
+ <el-table-column align="center" :label="$t('Mounting.state')" min-width="80" prop="state">
+ <template #default="scope">
+ <el-tag :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>
+ </el-table-column>
+ </el-table>
</div>
- <el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
- <div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
- <el-form-item :label="$t('Mounting.loadingline')" :required="true">
- <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')">
- <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
- <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item :label="$t('Mounting.projecta')" :required="true">
- <el-select
- v-model="selectedProjectNo"
- filterable
- clearable
- :placeholder="$t('basicData.plselectproject')"
- style="width: 220px"
- @input="handleInputChange"
- >
- <el-option
- v-for="item in titleSelectJson['engineerId']"
- :key="item.id"
- :label="item.projectNo"
- :value="item.projectNo"
- />
- </el-select>
- </el-form-item>
- <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>
- </el-select>
- </el-form-item>
+ </el-card>
</div>
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handlesure">
- {{ $t('basicData.confirm') }}
- </el-button>
- <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
+ <div style="display: flex;margin-left:5%">
+ <div style="width: 55%;float: left;margin-left: 300px;">
+ <div style="display: flex;">
+ <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="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="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>
- </template>
- </el-dialog>
+ <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleon">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ <!-- 缁撴潫宸ョ▼ -->
+ <el-dialog v-model="blindb" top="10vh" width="80%">
+ <el-table ref="table" style="margin-top: 20px;height: 450px;" :data="tableDatad"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="engineerId" fixed align="center" :label="$t('basicData.projectnumber')" />
+ <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')" />
+ <el-table-column prop="temperingLayoutId" fixed align="center" :label="$t('searchOrder.layoutID')" />
+ <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" />
+ <el-table-column prop="width" align="center" :label="$t('basicData.width')" />
+ <el-table-column prop="height" align="center" :label="$t('basicData.height')" />
+ <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')" />
+ <el-table-column prop="filmsid" align="center" :label="$t('basicData.coatingtypes')" />
+ <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.processcards')" />
+ <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="200">
+ <template #default="scope">
+ <el-button 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 @click="blindb = 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">
+ <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
+ style="margin-left: 20px;">
+ <el-option :label="$t('Mounting.all')" value="0"></el-option>
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ </div>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleup">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+ <el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
+ <div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
+ <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+ <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')">
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item :label="$t('Mounting.projecta')" :required="true">
+ <el-select v-model="selectedProjectNo" filterable clearable :placeholder="$t('basicData.plselectproject')"
+ style="width: 220px" @input="handleInputChange">
+ <el-option v-for="item in titleSelectJson['engineerId']" :key="item.id" :label="item.projectNo"
+ :value="item.projectNo" />
+ </el-select>
+ </el-form-item>
+ <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>
+ <!-- 涓嶉櫎鑶滐細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>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handlesure">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ <!-- 鍘嗗彶浠诲姟 -->
+ <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>
</div>
</template>
-
<style scoped>
- .flex-container {
- display: flex;
- align-items: center; /* 鍨傜洿灞呬腑 */
-}
-.flex-container .el-form-item {
- flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */
- margin-right: 0; /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */
-}
-.flex-container .el-form-item:last-child {
- margin-left: 20px; /* 涓虹浜屼釜琛ㄥ崟椤规坊鍔犲乏渚ц竟璺� */
+.flex-container {
+ display: flex;
+ align-items: center;
}
-
-
-
-#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
-#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
-#dialog-footer{
+
+.flex-container .el-form-item {
+ flex: 1;
+ margin-right: 0;
+ /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */
+}
+
+.flex-container .el-form-item:last-child {
+ margin-left: 20px;
+ /* 涓虹浜屼釜琛ㄥ崟椤规坊鍔犲乏渚ц竟璺� */
+}
+
+#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;
}
+
#dotClass {
display: flex;
- margin-left: 20px;
+ margin-left: 20px;
size: 50px;
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