From 5f2cc81d68f3065b7bcaa7dfac48f29e263b0042 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期二, 10 六月 2025 13:44:44 +0800
Subject: [PATCH] 上片模块预览工程确认时,“除膜方式”必填判断
---
UI-Project/src/views/largescreendisplay/screendisplay.vue | 167 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 117 insertions(+), 50 deletions(-)
diff --git a/UI-Project/src/views/largescreendisplay/screendisplay.vue b/UI-Project/src/views/largescreendisplay/screendisplay.vue
index 2a858e4..7e0b84e 100644
--- a/UI-Project/src/views/largescreendisplay/screendisplay.vue
+++ b/UI-Project/src/views/largescreendisplay/screendisplay.vue
@@ -38,17 +38,17 @@
let myChartHollow = null;
const socketUrl1 = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/largenScreen`;
const handleMessage1 = (data) => {
- edgOneTasks.value = data.edgOneTasks[0];
- edgTwoTasks.value = data.edgTwoTasks[0];
+ edgOneTasks.value = data.edgOneCount[0];
+ edgTwoTasks.value = data.edgOneCount[0];
engineeringOne.value = data.engineeringOne[0];
engineeringTwo.value = data.engineeringTwo[0];
- if (numBoxes.value != edgOneTasks.value.length) {
- numBoxes.value = edgOneTasks.value.length;
+ if (numBoxes.value != edgOneTasks.value) {
+ numBoxes.value = edgOneTasks.value;
initBoxes(boxes, numBoxes, 'firstup');
}
- if (numBoxes2.value != edgTwoTasks.value.length) {
- numBoxes2.value = edgTwoTasks.value.length;
+ if (numBoxes2.value != edgTwoTasks.value) {
+ numBoxes2.value = edgTwoTasks.value;
initBoxes(boxes2, numBoxes2, 'firstup');
}
timeAxisCreate(t('large.cuttingState'), chartLoad.value, myChartLoad, tableDataTime(false, data.loadRunTimes[0]));
@@ -194,7 +194,14 @@
backgroundColor: 'rgba(50,50,50,0.7)',
textStyle: { color: '#fff' },
formatter: (params) => {
+ const seen = new Set();
const items = params
+ .filter(p => {
+ const key = p.data?.extra?.start + '|' + p.data?.extra?.end;
+ if (seen.has(key)) return false;
+ seen.add(key);
+ return true;
+ })
.map(p => {
const start = p.data?.extra?.start;
const end = p.data?.extra?.end;
@@ -270,7 +277,7 @@
]
};
- mychart.setOption(optionOne);
+ mychart.setOption(optionOne, true);
};
let socket4 = null;
@@ -283,11 +290,11 @@
let socket5 = null;
let myChart = null;
let myChart2 = null;
+const switchNoorAreaLeft = ref(true)
+const switchNoorAreaRight = ref(true)
const productionVO = ref([])
const socketUrl5 = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/largenScreenProduction`;
-const handleMessage5 = (data) => {
- productionVO.value = data.productionVO[0];
- // 灏嗗師濮嬫暟鎹浆鎹负 ECharts 鍥捐〃鎵�闇�鏍煎紡
+const createchart = (productionVO) => {
categories = productionVO.value.map(item => item.date); // 鑾峰彇鏃ユ湡浣滀负 x 杞�
totalAreaOutOne = productionVO.value.map(item => item.totalAreaOutOne);
countIn = productionVO.value.map(item => item.countIn);
@@ -311,7 +318,18 @@
if (!myChart) {
myChart = echarts.init(chartDom);
}
-
+ let loadOneData;
+ let loadTwoData;
+ let tempfontData;
+ if (switchNoorAreaLeft.value) {
+ loadOneData = countOutOne;
+ loadTwoData = countOutTwo;
+ tempfontData = countIn;
+ } else {
+ loadOneData = totalAreaOutOne;
+ loadTwoData = totalAreaOutTwo;
+ tempfontData = totalAreaIn;
+ }
@@ -322,32 +340,52 @@
legend: {
data: [
t('large.countOutOne'),
- t('large.totalAreaOutOne'),
+ // t('large.totalAreaOutOne'),
t('large.countOutTwo'),
- t('large.totalAreaOutTwo'),
+ // t('large.totalAreaOutTwo'),
t('large.countIn'),
- t('large.totalAreaIn')
+ // t('large.totalAreaIn')
]
},
- grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
- toolbox: { feature: { saveAsImage: {} } },
+ grid: { top: '20%', left: '3%', right: '4%', bottom: '3%', containLabel: true },
+ toolbox: {
+ feature: {
+ saveAsImage: {},
+ myTool1: {
+ show: true,
+ title: t('large.switch'),
+ icon: 'path://M512 0C229.234 0 0 229.234 0 512s229.234 512 512 512 512-229.234 512-512S794.766 0 512 0z m0 960C264.602 960 64 759.398 64 512S264.602 64 512 64s448 200.602 448 448-200.602 448-448 448z m0-768c-176.448 0-320 143.552-320 320s143.552 320 320 320 320-143.552 320-320-143.552-320-320-320z', // 鍦嗗舰鎸夐挳鍥炬爣锛堝彲鎹級
+ onclick: function () {
+ switchNoorAreaLeft.value = !switchNoorAreaLeft.value;
+ createchart(productionVO);
+ // customButtonClick(); // 璋冪敤浣犺嚜瀹氫箟鐨勬柟娉�
+ }
+ }
+ }
+ },
xAxis: {
type: 'category',
- boundaryGap: false,
+ boundaryGap: true,
data: categories // 杩欐槸鏃ユ湡鏁版嵁
},
- yAxis: { type: 'value' },
+ yAxis: {
+ type: 'value',
+ name: switchNoorAreaLeft.value==true?t('large.quantity'):t('large.are'), // 鍧愭爣杞村悕绉�
+ axisLabel: {
+ formatter: '{value}'
+ }
+ },
series: [
- { name: t('large.countOutOne'), type: 'bar', data: countOutOne },
- { name: t('large.totalAreaOutOne'), type: 'bar', data: totalAreaOutOne },
- { name: t('large.countOutTwo'), type: 'bar', data: countOutTwo },
- { name: t('large.totalAreaOutTwo'), type: 'bar', data: totalAreaOutTwo },
- { name: t('large.countIn'), type: 'bar', data: countIn },
- { name: t('large.totalAreaIn'), type: 'bar', data: totalAreaIn }
+ { name: t('large.countOutOne'), type: 'bar', data: loadOneData },
+ // { name: t('large.totalAreaOutOne'), type: 'bar', data: totalAreaOutOne },
+ { name: t('large.countOutTwo'), type: 'bar', data: loadTwoData },
+ // { name: t('large.totalAreaOutTwo'), type: 'bar', data: totalAreaOutTwo },
+ { name: t('large.countIn'), type: 'bar', data: tempfontData },
+ // { name: t('large.totalAreaIn'), type: 'bar', data: totalAreaIn }
]
};
- myChart.setOption(option);
+ myChart.setOption(option, true);
const chartDom2 = chartRef2.value;
@@ -362,38 +400,74 @@
// else {
// myChart2.clear();
// }
+ let tempData;
+ let hollowOneData;
+ let hollowTwoData;
+ if (switchNoorAreaRight.value) {
+ tempData = countOut;
+ hollowOneData = hollowCountOutOne;
+ hollowTwoData = hollowCountOutTwo;
+ } else {
+ tempData = totalAreaOut;
+ hollowOneData = hollowTotalAreaOutOne;
+ hollowTwoData = hollowTotalAreaOutTwo;
+ }
const option2 = {
title: { text: '' },
tooltip: { trigger: 'axis' },
legend: {
data: [
- t('large.totalAreaOut'),
t('large.countOut'),
- t('large.hollowTotalAreaOutOne'),
+ // t('large.totalAreaOut'),
t('large.hollowCountOutOne'),
+ // t('large.hollowTotalAreaOutOne'),
t('large.hollowCountOutTwo'),
- t('large.hollowTotalAreaOutTwo')
+ // t('large.hollowTotalAreaOutTwo')
]
},
grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
- toolbox: { feature: { saveAsImage: {} } },
+ toolbox: {
+ feature: {
+ saveAsImage: {},
+ myTool1: {
+ show: true,
+ title: t('large.switch'),
+ icon: 'path://M512 0C229.234 0 0 229.234 0 512s229.234 512 512 512 512-229.234 512-512S794.766 0 512 0z m0 960C264.602 960 64 759.398 64 512S264.602 64 512 64s448 200.602 448 448-200.602 448-448 448z m0-768c-176.448 0-320 143.552-320 320s143.552 320 320 320 320-143.552 320-320-143.552-320-320-320z', // 鍦嗗舰鎸夐挳鍥炬爣锛堝彲鎹級
+ onclick: function () {
+ switchNoorAreaRight.value = !switchNoorAreaRight.value;
+ createchart(productionVO);
+ // customButtonClick(); // 璋冪敤浣犺嚜瀹氫箟鐨勬柟娉�
+ }
+ }
+ }
+ },
xAxis: {
type: 'category',
- boundaryGap: false,
+ boundaryGap: true,
data: categories // 杩欐槸鏃ユ湡鏁版嵁
},
- yAxis: { type: 'value' },
+ yAxis: {
+ type: 'value',
+ name: switchNoorAreaRight.value==true?t('large.quantity'):t('large.are'), // 鍧愭爣杞村悕绉�
+ axisLabel: {
+ formatter: '{value}'
+ }
+ },
series: [
- { name: t('large.totalAreaOut'), type: 'bar', data: totalAreaOut },
- { name: t('large.countOut'), type: 'bar', data: countOut },
- { name: t('large.hollowTotalAreaOutOne'), type: 'bar', data: hollowTotalAreaOutOne },
- { name: t('large.hollowCountOutOne'), type: 'bar', data: hollowCountOutOne },
- { name: t('large.hollowCountOutTwo'), type: 'bar', data: hollowCountOutTwo },
- { name: t('large.hollowTotalAreaOutTwo'), type: 'bar', data: hollowTotalAreaOutTwo }
+ // { name: t('large.totalAreaOut'), type: 'bar', data: tempData },
+ { name: t('large.countOut'), type: 'bar', data: tempData },
+ // { name: t('large.hollowTotalAreaOutOne'), type: 'bar', data: hollowOneData },
+ { name: t('large.hollowCountOutOne'), type: 'bar', data: hollowOneData },
+ // { name: t('large.hollowTotalAreaOutTwo'), type: 'bar', data: hollowTwoData },
+ { name: t('large.hollowCountOutTwo'), type: 'bar', data: hollowTwoData }
]
};
- myChart2.setOption(option2);
+ myChart2.setOption(option2, true);
+}
+const handleMessage5 = (data) => {
+ productionVO.value = data.productionVO[0];
+ createchart(productionVO);
};
// 灏嗗師濮嬫暟鎹浆鎹负 ECharts 鍥捐〃鎵�闇�鏍煎紡
let categories = ref([]); // 鑾峰彇鏃ユ湡浣滀负 x 杞�
@@ -428,14 +502,7 @@
const exportToExcel = async () => {
try {
- window.open('http://' + { WebSocketHost } + ':10011/largenScreen/exportDailyProduction', '_blank');
- // const response = await request.get('/cacheGlass/largenScreen/exportDailyProduction');
- // if (response.code == 200) {
- // ElMessage.success(response.message);
- // tableDatad.value = response.data;
- // } else {
- // ElMessage.error(response.message);
- // }
+ window.open(`http://${WebSocketHost}:10011/largenScreen/exportDailyProduction`, '_blank');
}
catch (error) {
console.error(error);
@@ -910,8 +977,8 @@
frameborder="0"></iframe>
</el-dialog>
<el-dialog v-model="iframe10" top="5vh" width="95%" @close="iframeUrl10 = ''">
- <iframe :src="iframeUrl10" marginwidth="2000px" marginheight="2000px" width="100%"
- height="700px" frameborder="0"></iframe>
+ <iframe :src="iframeUrl10" marginwidth="2000px" marginheight="2000px" width="100%" height="700px"
+ frameborder="0"></iframe>
</el-dialog>
<el-dialog v-model="iframe11" top="5vh" width="95%" @close="iframeUrl11 = ''">
<iframe :src="iframeUrl11" marginwidth="2000px" marginheight="2000px" width="100%" height="750px"
@@ -925,7 +992,8 @@
<!-- 鐢熶骇缁熻 -->
<div style="height: 100px;width: 25%;float: right;">
<div id="ss" style="width: 100%; display: flex; justify-content: center;">
- <div ref="chartRef" style="width: 600px; height: 400px;" @dblclick="handlehistorical10()"></div>
+ <div ref="chartRef" style="width: 600px; height: 400px;" @dblclick="handlehistorical10()">
+ </div>
</div>
<div style="width: 100%;height: 245px;display: flex;">
<div ref="chartLoad" style="width: 100%;" @dblclick="handlehistorical12(1)"></div>
@@ -1104,7 +1172,6 @@
</el-table>
</div>
</div>
-
<div style="height: 100px;width: 25%;float: right;">
<div id="ss" style="width: 100%; display: flex; justify-content: center;">
<div ref="chartRef2" style="width: 600px; height: 400px;" @dblclick="handlehistorical10()"></div>
--
Gitblit v1.8.0