From 2ca0bc7acb2fe719581e426eb5c7da96053cb31d Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 03 12月 2025 11:42:57 +0800
Subject: [PATCH] 禁用操作日志
---
yiqi_screen/src/components/Content.vue | 595 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 432 insertions(+), 163 deletions(-)
diff --git a/yiqi_screen/src/components/Content.vue b/yiqi_screen/src/components/Content.vue
index 4f2a701..9c43bf8 100644
--- a/yiqi_screen/src/components/Content.vue
+++ b/yiqi_screen/src/components/Content.vue
@@ -1,83 +1,131 @@
<template>
<div class="container">
+ <img alt="guang" src="~@/assets/images/guang.png" class="guang" />
+
<div class="header">
<div class="title">
-
- <img
- :src="
- require(`@/assets/images/1.png`)
- "
- class="imgTitle"
- />
- 4GC涓変唬鍙戝姩鏈鸿繛鏉嗙嚎</div>
+ <img :src="require(`@/assets/images/1.png`)" class="imgTitle" />
+ 4GC涓変唬鍙戝姩鏈鸿繛鏉嗙嚎
+ </div>
<div class="left-text">
- <div style="line-height: 30px">{{ nowTime }}</div>
- <div style="padding-left: 25px">
- 瀹夊叏鐢熶骇:{{ produceStatisData.currentSafeProductionDay }}澶�
- </div>
+ <div>{{ nowTime }}</div>
+ <div>瀹夊叏鐢熶骇:{{ produceStatisData.currentSafeProductionDay }}澶�</div>
</div>
<div class="right-text">
- <div style="line-height: 30px">
- 褰撳墠鐝:{{ produceStatisData.currentTeamName }}
- </div>
+ <div>褰撳墠鐝:{{ produceStatisData.currentTeamName }}</div>
<div>鐝暱:{{ produceStatisData.currentTeamLeader }}</div>
</div>
</div>
<div class="main">
<div class="main-top">
- <img src="~@/assets/images/prodline_all.png" class="prodline" />
+ <div class="main-top_ly">
+ <!-- 浜х嚎甯冨眬鍥� -->
+ <img
+ src="~@/assets/images/prodline_all.png"
+ class="prodline"
+ alt="line"
+ />
- <img
- v-for="item in equipmentStatusData"
- :key="item.id"
- :src="
- require(`@/assets/images/${imageColor[item.workingProcedure]}/${
- item.workingProcedure
- }.png`)
- "
- :class="`euip ${item.workingProcedure}`"
- />
+ <!-- <img src="~@/assets/images/9.png" class="line100" alt="line100" />
+ <p style="color: white;"> {{equipmentStatusData}} </p> -->
- <img src="~@/assets/images/OP35.png" class="prodline_op35" />
- <img :src="require(`@/assets/images/${imageColor['OP10']}/OP40.png`)" class="euip OP40" />
- <img :src="require(`@/assets/images/${imageColor['unit']}/unit.png`)" class="euip unit" />
+
+ <!-- 椤堕儴 -->
+ <div v-for="item in equipmentStatusData">
+ <!-- <p style="color: white;font-size: 32px"> {{ item.equipmentCurrentState }} </p> -->
+
+ <img
+ :alt="item.workingProcedure"
+ :src="
+ require(`@/assets/images/${
+ imageColor[item.workingProcedure]
+ }/zhuozi.png`)
+ "
+ class="prodline_op325"
+ />
+
+ <img
+ :alt="item.workingProcedure"
+ v-if="
+ item.equipmentCurrentState == 1 &&
+ item.workingProcedure == 'OP30'
+ "
+ src="~@/assets/images/6.gif"
+ class="box100"
+ />
+ <img
+ v-if="
+ item.equipmentCurrentState == 1 &&
+ item.workingProcedure == 'OP20'
+ "
+ src="~@/assets/images/8.gif"
+ class="box200"
+ />
+ <img
+ v-if="
+ item.equipmentCurrentState == 1 &&
+ item.workingProcedure == 'OP50'
+ "
+ src="~@/assets/images/8.gif"
+ class="box300"
+ />
+ </div>
+
+ <img
+ v-for="item in equipmentStatusData"
+ :key="item.id"
+ :src="
+ require(`@/assets/images/${imageColor[item.workingProcedure]}/${
+ item.workingProcedure
+ }.png`)
+ "
+ :class="`euip ${item.workingProcedure}`"
+ />
+
+ <img
+ src="~@/assets/images/OP35.png"
+ class="prodline_op325"
+ />
+
+ <img
+ :src="require(`@/assets/images/${imageColor['OP10']}/OP40.png`)"
+ class="euip OP40"
+ />
+ <img
+ :src="require(`@/assets/images/${imageColor['unit']}/unit.png`)"
+ class="euip unit"
+ />
+ </div>
</div>
<!-- <button @click="flag=true">data鏀瑰彉</button> -->
<div class="main-bottom">
<div class="echarts-box border_left1">
- <div class="echarts-title">璁惧杩愯鐘舵�佺粺璁″浘</div>
+ <div class="echarts-title">
+ <span class="title1"> 璁惧杩愯鐘舵�佺粺璁″浘 </span>
+ </div>
<EquipmentRunStatus :equipmentStatusData="equipmentStatusData" />
</div>
<div class="echarts-box border_left2">
- <div class="echarts-title">浜х嚎鍋ュ悍鑳藉姏鍥�</div>
+ <div class="echarts-title">
+ <span class="title1"> 浜х嚎鍋ュ悍鑳藉姏鍥� </span>
+ </div>
<ProdlineHealthy />
</div>
<div class="echarts-box border_middle">
- <div class="echarts-title">璐ㄩ噺鏁版嵁瓒嬪娍鍥�</div>
- <div
- style="
- color: #fff;
- margin: 0 0.13rem;
- text-align: center;
- font-size: 0.17rem;
- "
- >
+ <div class="echarts-title">
+ <span class="title1"> 璐ㄩ噺鏁版嵁瓒嬪娍鍥� </span>
+ </div>
+ <div class="box11">
{{ qualityData.qualityType }}
</div>
<div>
+ <div class="box12"></div>
<div
style="
margin: 0 0.13rem;
height: 0.13rem;
- background-color: #f14158;
- "
- ></div>
- <div
- style="
- margin: 0 0.13rem;
- height: 0.13rem;
- background-color: #a7cf29;
+ background-color: #e6e705;
"
></div>
</div>
@@ -87,7 +135,7 @@
style="
margin: 0 0.13rem;
height: 0.13rem;
- background-color: #a7cf29;
+ background-color: #e6e705;
"
></div>
<div
@@ -100,29 +148,49 @@
</div>
</div>
<div class="echarts-box border_right1">
- <div class="echarts-title">鏈彮/鏈湀浜ч噺缁熻</div>
+ <div class="echarts-title">
+ <span class="title1"> 鏈彮/鏈湀浜ч噺缁熻 </span>
+ </div>
-
+ <!--
+ <div class="ring-container quan1">
+ <div class="outer-ring"></div>
+ <div class="inner-ring"></div>
+ </div> -->
+
+ <div class="quan1"></div>
+ <div class="quan2"></div>
+
<ProductionStatistics :produceStatisData="produceStatisData" />
<div class="pie-label-left">
- <!-- 褰撳墠鐝粍瀹為檯鐢熶骇鏁伴噺 -->
+ <!-- 褰撳墠鐝粍瀹為檯鐢熶骇鏁伴噺 -->
{{ produceStatisData.currentShiftProduceNum }}
- <span v-if="produceStatisData.currentShiftPlanNum||produceStatisData.currentShiftPlanNum==0">/</span>
+ <span
+ v-if="
+ produceStatisData.currentShiftPlanNum ||
+ produceStatisData.currentShiftPlanNum == 0
+ "
+ >/</span
+ >
<!-- 褰撳墠鐝粍璁″垝鐢熶骇鏁伴噺 -->
- {{
- produceStatisData.currentShiftPlanNum
- }}
+ {{ produceStatisData.currentShiftPlanNum }}
</div>
<div class="pie-label-right">
{{ produceStatisData.currentMonthProduceNum }}
- <span v-if="produceStatisData.currentMonthPlanNum||produceStatisData.currentMonthPlanNum==0">/</span>
- {{
- produceStatisData.currentMonthPlanNum
- }}
+ <span
+ v-if="
+ produceStatisData.currentMonthPlanNum ||
+ produceStatisData.currentMonthPlanNum == 0
+ "
+ >/</span
+ >
+ {{ produceStatisData.currentMonthPlanNum }}
</div>
</div>
<div class="echarts-box border_right2">
- <div class="echarts-title">鐢熶骇瀹屾垚瓒嬪娍</div>
+ <div class="echarts-title">
+ <span class="title1"> 鐢熶骇瀹屾垚瓒嬪娍 </span>
+ </div>
<ProductionCompletionTrend
:produceCompletionData="produceCompletionData"
/>
@@ -142,7 +210,7 @@
import ProductionStatistics from "./ProductionStatistics.vue";
import QualityDataTrendse from "./QualityDataTrends.vue";
import moment from "moment";
-
+import anime from "animejs/lib/anime.es.js";
import {
GetEquipmentCurrentState,
getQualityData,
@@ -246,15 +314,21 @@
async getEquipmentCurrentState() {
try {
let { data } = await GetEquipmentCurrentState();
- let equipmentData=[]
- data.forEach(item=>{
- const res=this.equipmentStatusData.filter(obj=>obj.workingProcedure==item.workingProcedure)
- if(res.length>0){
- equipmentData.push(item)
+ let equipmentData = [];
+ data.forEach((item) => {
+ const res = this.equipmentStatusData.filter(
+ (obj) => obj.workingProcedure == item.workingProcedure
+ );
+ if (res.length > 0) {
+ // item.equipmentCurrentState =5; 娴嬭瘯
+ equipmentData.push(item);
}
- })
+ });
this.equipmentStatusData = equipmentData;
+ console.log(88888888);
+ console.log(JSON.stringify(this.equipmentStatusData) );
this.getImageColor(data);
+
} catch (error) {
console.log(error);
}
@@ -270,7 +344,8 @@
this.imageColor[item.workingProcedure] = result[0].color;
}
});
- // console.log(this.imageColor, "getImageColor");
+ console.log(5555555555);
+ console.log(this.imageColor, "getImageColor");
},
// 鑾峰彇璐ㄩ噺鏁版嵁
async getQualityData() {
@@ -314,6 +389,10 @@
}
},
},
+ mounted() {
+
+ },
+
// beforeDestroy(){
// clearInterval(this.dataTimer)
// clearInterval(this.dateTimer)
@@ -321,203 +400,254 @@
};
</script>
-<style lang="scss" scoped>
+<style lang="scss" scoped>
$allHeight: 13.5rem;
$titleHeight: 2rem;
.container {
width: 100%;
height: auto;
+ position: relative;
+ .guang {
+ position: absolute;
+ width: 100%;
+ top: 30%;
+ left: 0;
+ z-index: 0;
+ height: 69%;
+ }
.header {
+ position: relative;
+ z-index: 9;
width: 100%;
height: 2rem;
background-image: url("~@/assets/images/title.png");
background-repeat: no-repeat;
background-size: 100% 100%;
margin-bottom: 0.25rem;
- position: relative;
.title {
- color: #41c7de;
- font-size: 0.38rem;
+ font-family: Source Han Sans CN;
+ display: flex;
+ vertical-align: middle;
+ align-items: center;
+ font-size: 40px;
font-weight: 700;
position: absolute;
- top: .31rem;
+ top: 12px;
left: 50%;
transform: translate(-50%);
letter-spacing: 8px;
- .imgTitle{
- width: .5rem;
- position: absolute;
- /* top: 0.08rem; */
- left: -0.7rem;
+
+ background: linear-gradient(0deg, #a7ffff, #83d0dc);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+
+ .imgTitle {
+ width: 117px;
+ margin-right: 69px;
}
}
.left-text {
- font-size: 0.19rem;
+ font-size: 16px;
color: #fff;
position: absolute;
- top: 1.15rem;
- left: 5rem;
+ top: 79px;
+ left: 37px;
+ width: 368px;
+ text-align: right;
+ line-height: 23px;
+ font-weight: 700;
+ transform: scaleY(2);
}
.right-text {
- font-size: 0.19rem;
+ font-size: 16px;
text-align: right;
color: #fff;
position: absolute;
- top: 1.15rem;
- right: 5.3rem;
+ top: 79px;
+ right: 268px;
+ line-height: 23px;
+ font-weight: 700;
+ transform: scaleY(2);
}
}
.main {
+ position: relative;
width: 100%;
height: auto;
// display: flex;
// flex-direction: column;
// justify-content: space-between;
padding: 0 0.28rem 0.19rem;
+ z-index: 99;
.main-top {
width: 100%;
- height: 7.42rem;
+
// background-color: #fff;
margin-bottom: 0.29rem;
background-image: url("~@/assets/images/border_prodline.png");
- background-size: 101.1% 101.8%;
- background-position: -0.13rem -0.13rem;
+ background-size: 100% 100%;
position: relative;
+
+ .main-top_ly {
+ width: 95%;
+ margin: 0 auto;
+ position: relative;
+ height: 526px;
+ }
+
.prodline {
- width:95%;
+ width: 95%;
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
+ height: 225px;
}
.prodline_op35 {
position: absolute;
- top: 2.72rem;
- left: 4.3rem;
- width:1.8%;
+ top: 246px;
+ left: 106px;
+ width: 40px;
+ z-index: 0;
+ }
+ .prodline_op325 {
+ position: absolute;
+ top: 254px;
+ left: 108px;
+ width: 38px;
+ height: 63px;
}
.euip {
- width:95%;
+ width: 95%;
position: absolute;
top: -1.59rem;
left: 1.28rem;
-
}
- .OP05{
- top: -1.58rem;
- left: 0.12rem;
+ .OP05 {
+ top: -122px;
+ left: -223px;
}
- .OP10,.OP40{
- top: -1.48rem;
- left: 0.5rem;
+ .OP10,
+ .OP40 {
+ top: -133px;
+ left: -145px;
+ height: 904px;
}
- .OP20{
- top: -1.8rem;
- left: 0.6rem;
+ .OP20 {
+ top: -95px;
+ left: -77px;
+ width: 86%;
}
- .OP30{
- top: -2.05rem;
- left: 0.3rem;
+ .OP30 {
+ top: -152px;
+ left: -226px;
+ width: 2061px;
+ height: 923px;
}
- .OP35{
- top: -1.8rem;
- left: 0.2rem;
+ .OP35 {
+ top: -151px;
+ left: -182px;
+ width: 100%;
+ z-index: 999;
}
- .OP50{
- top: -1.69rem;
- left: 1.05rem;
+ .OP50 {
+ top: -108px;
+ left: 11px;
+ width: 90%;
}
- .OP60{
- top: -1.65rem;
- left: 1.5rem;
+ .OP60 {
+ top: -178px;
+ left: -31px;
+ width: 100%;
}
- .OP70{
- top: -1.52rem;
- left: 2.15rem;
+ .OP70 {
+ top: -175px;
+ left: 23px;
+ width: 101%;
}
- .OP80,.unit{
+ .unit {
+ top: -113px;
+ left: 86px;
+ transform: scale(1.2);
+ }
+
+ .OP80 {
top: -1.95rem;
left: 1.98rem;
}
-
// img:nth-child(2) {
// width:100%;
// top: -2.05rem;
- // left: 1.07rem;
+ // left: 1.07rem;
// }
}
.main-bottom {
- height: auto;
+ height: 336px;
display: flex;
- // background-color: skyblue;
-
+ justify-content: center;
.border_left1 {
- width:3.84rem;
- margin-right: .14rem;
+ width: 284px;
+ margin-right: 20px;
border: 0 !important;
background-image: url("~@/assets/images/border_left1.png");
- background-size: 107.5% 104%;
- background-position: -0.14rem -0.13rem;
+ background-size: 100% 100%;
background-repeat: no-repeat;
}
.border_left2 {
- width:3.02rem;
- margin-right: .16rem;
+ width: 244px;
+ margin-right: 20px;
border: 0 !important;
- background-image: url("~@/assets/images/border_left2.png");
- background-size: 109.3% 104%;
- background-position: -0.14rem -0.13rem;
+ background-image: url("~@/assets/images/border_left1.png");
+ background-size: 100% 100%;
background-repeat: no-repeat;
}
.border_middle {
- width:6.09rem;
- margin-right: .16rem;
+ width: 720px;
+ margin-right: 20px;
border: 0 !important;
- background-image: url("~@/assets/images/border_middle.png");
- background-size: 102.7% 104%;
- background-position: -0.14rem -0.13rem;
+ // background-image: url("~@/assets/images/border_middle.png");
+ background-image: url("~@/assets/images/border_left1.png");
+ background-size: 100% 100%;
background-repeat: no-repeat;
}
.border_right1 {
- width:3.75rem;
- margin-right: .15rem;
+ width: 244px;
+ margin-right: 20px;
border: 0 !important;
- background-image: url("~@/assets/images/border_right1.png");
- background-size: 107.5% 104%;
- background-position: -0.14rem -0.13rem;
+ background-image: url("~@/assets/images/border_left1.png");
+ background-size: 100% 100%;
background-repeat: no-repeat;
}
.border_right2 {
- width:6.09rem;
+ width: 284px;
border: 0 !important;
- background-image: url("~@/assets/images/border_right2.png");
- background-size: 104.4% 104%;
- background-position: -0.14rem -0.13rem;
+ background-image: url("~@/assets/images/border_left1.png");
+ background-size: 100% 100%;
background-repeat: no-repeat;
}
@@ -526,14 +656,14 @@
border: 2px solid #3a45de;
.echarts-title {
- font-size: 0.18rem;
- height: 0.75rem;
- padding: 0.31rem 0 0.26rem;
- margin: 0 0.23rem;
+ font-size: 20px;
+ height: 69px;
+ padding-top: 20px;
+ margin: 0 0 0 0;
font-weight: 700;
- color: #00afb9;
+ color: #00f8c6;
text-align: center;
- border-bottom: 2px solid #3c37bf;
+ border-bottom: 2px solid #0739a3;
}
}
@@ -542,26 +672,31 @@
.pie-label-left {
position: absolute;
- bottom: 0.1rem;
- left: 0.7rem;
- color: #fff;
- font-size: 0.2rem;
+ bottom: 10px;
+ left: 0;
+ color: white;
+ font-size: 16px;
font-weight: 300;
+ width: 54%;
+ text-align: center;
}
.pie-label-right {
position: absolute;
- bottom: 0.1rem;
- right: 0.7rem;
+ bottom: 10px;
+ right: 0;
color: #fff;
- font-size: 0.2rem;
- font-weight: 300;
+ color: white;
+ font-size: 16px;
+ width: 54%;
+ text-align: center;
}
}
.box-container {
width: 100%;
- height: 2.6rem;
+ // height: 2.6rem;
+ height: 236px;
// background-color: rgb(196, 231, 178);
}
@@ -574,4 +709,138 @@
}
}
}
-</style>
\ No newline at end of file
+
+.box11 {
+ color: #fff;
+ margin: 10px 0;
+ text-align: center;
+ font-size: 15px;
+}
+.box12 {
+ margin: 0 0.13rem;
+ height: 0.13rem;
+ background-color: #f14158;
+}
+
+.OP88,
+.OP89,
+.OP90 {
+ position: absolute;
+ width: 20px;
+}
+#animatedImage {
+ position: absolute;
+ top: 70.5%;
+ left: 75px;
+}
+.hidden {
+ display: none; /* 闅愯棌鍏冪礌 */
+}
+
+// .ring-container {
+// position: relative;
+// width: 85px;
+// height: 85px;
+// display: flex;
+// justify-content: center;
+// align-items: center;
+// }
+
+// .outer-ring {
+// position: absolute;
+// width: 100%;
+// height: 100%;
+// border-radius: 50%;
+// background: transparent;
+// border: 1px solid #3498db; /* 澶栫幆棰滆壊 */
+// }
+
+// .inner-ring {
+// position: absolute;
+// width: 80%;
+// height: 80%;
+// border-radius: 50%;
+// background: transparent;
+// box-shadow: inset 0 0 30px #084b71;
+// border: 1px solid #3c5da9;
+// }
+
+// .quan1{
+// position: absolute;
+// top: 142px;
+// left: 19px;
+// }
+
+.quan1 {
+ position: absolute;
+ background-size: 100% 100%;
+ content: "";
+ width: 125px;
+ height: 118px;
+ z-index: -1;
+ top: 117px;
+ left: 3px;
+ transform: scaleY(2);
+ border-radius: 100%;
+ background-image: url("@/assets/images/quan.png"); /* 鏇挎崲涓烘偍鐨勮儗鏅浘璺緞 */
+ background-size: cover; /* 鎴栦娇鐢� contain锛屾牴鎹渶瑕侀�夋嫨 */
+ background-repeat: no-repeat;
+ background-size: 95%;
+}
+
+.quan2 {
+ position: absolute;
+ background-size: 100% 100%;
+ content: "";
+ width: 125px;
+ height: 118px;
+ z-index: -1;
+ top: 117px;
+ left: 120px;
+ transform: scaleY(2);
+ border-radius: 100%;
+ background-image: url("@/assets/images/quan.png"); /* 鏇挎崲涓烘偍鐨勮儗鏅浘璺緞 */
+ background-size: cover; /* 鎴栦娇鐢� contain锛屾牴鎹渶瑕侀�夋嫨 */
+ background-repeat: no-repeat;
+ background-size: 95%;
+}
+.box100 {
+ position: absolute;
+ left: 25%;
+ top: 35%;
+ width: 67px;
+ z-index: 9999;
+}
+
+.box200 {
+ position: absolute;
+ left: 4%;
+ top: 48%;
+ width: 77px;
+ z-index: 9999;
+}
+.box300 {
+ position: absolute;
+ left: 44%;
+ top: 49%;
+ width: 75px;
+ z-index: 9999;
+}
+.title1 {
+ transform: scaleY(2);
+ font-size: 12px;
+ display: block;
+ margin-top: 7px;
+}
+.zuozi {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+}
+.line100 {
+ position: absolute;
+ left: 5px;
+ top: 64%;
+ height: 18px;
+}
+</style>
--
Gitblit v1.9.3