| | |
| | | <template> |
| | | <div id="title"> |
| | | <div id="bkuang" style="border-top: none"> |
| | | <!-- PPä»å åæºç¶æé¢æ¿ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">PPä»å åæº</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_PP_Status">{{ data.R_PP_Status }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Status">{{ ppData.R_PP_Status }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºæèªå¨ç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_PP_AutoStatus">{{ data.R_PP_AutoStatus }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_AutoStatus">{{ ppData.R_PP_AutoStatus }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ£å¨æ§è¡çä»»å¡å·:</div> |
| | | <div class="xzhi" :title="data.R_PP_TaskNum">{{ data.R_PP_TaskNum }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_TaskNum">{{ ppData.R_PP_TaskNum }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºå·¥ä½ç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_PP_WorkStatus">{{ data.R_PP_WorkStatus }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_WorkStatus">{{ ppData.R_PP_WorkStatus }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ä½ä¸ç±»å:</div> |
| | | <div class="xzhi" :title="data.R_PP_WorkType">{{ data.R_PP_WorkType }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_WorkType">{{ ppData.R_PP_WorkType }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æçç±»å:</div> |
| | | <div class="xzhi" :title="data.R_PP_TrayType">{{ data.R_PP_TrayType }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_TrayType">{{ ppData.R_PP_TrayType }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- PPå
³èç«å°ï¼å
¥åº2004+åºåº2005ï¼ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">å
¥åº2004ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">读åç®±ä½ç (读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Boxcode">{{ data.R_PP_Boxcode }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Boxcode">{{ ppData.R_PP_Boxcode || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_HandShake4">{{ data.R_PP_HandShake4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_HandShake4">{{ ppData.R_PP_HandShake4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Online4">{{ data.R_PP_Online4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Online4">{{ ppData.R_PP_Online4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Free4">{{ data.R_PP_Free4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Free4">{{ ppData.R_PP_Free4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Goods4">{{ data.R_PP_Goods4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Goods4">{{ ppData.R_PP_Goods4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Alarm4">{{ data.R_PP_Alarm4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Alarm4">{{ ppData.R_PP_Alarm4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_STB4">{{ data.R_PP_STB4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_STB4">{{ ppData.R_PP_STB4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_ACK4">{{ data.R_PP_ACK4 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_ACK4">{{ ppData.R_PP_ACK4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_STB4">{{ data.W_PP_STB4 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_STB4">{{ ppData.W_PP_STB4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_ACK4">{{ data.W_PP_ACK4 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_ACK4">{{ ppData.W_PP_ACK4 || '-' }}</div> |
| | | </div> |
| | | |
| | | <div class="zhuname">åºåº2005ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_HandShake5">{{ data.R_PP_HandShake5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_HandShake5">{{ ppData.R_PP_HandShake5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Online5">{{ data.R_PP_Online5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Online5">{{ ppData.R_PP_Online5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Free5">{{ data.R_PP_Free5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Free5">{{ ppData.R_PP_Free5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Goods5">{{ data.R_PP_Goods5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Goods5">{{ ppData.R_PP_Goods5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Alarm5">{{ data.R_PP_Alarm5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Alarm5">{{ ppData.R_PP_Alarm5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_STB5">{{ data.R_PP_STB5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_STB5">{{ ppData.R_PP_STB5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_ACK5">{{ data.R_PP_ACK5 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_ACK5">{{ ppData.R_PP_ACK5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_STB5">{{ data.W_PP_STB5 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_STB5">{{ ppData.W_PP_STB5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_ACK5">{{ data.W_PP_ACK5 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_ACK5">{{ ppData.W_PP_ACK5 || '-' }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- PPå
³èç«å°ï¼åºåº2016+åºåº2017ï¼ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">åºåº2016ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_HandShake6">{{ data.R_PP_HandShake6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_HandShake6">{{ ppData.R_PP_HandShake6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Online6">{{ data.R_PP_Online6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Online6">{{ ppData.R_PP_Online6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Free6">{{ data.R_PP_Free6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Free6">{{ ppData.R_PP_Free6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Goods6">{{ data.R_PP_Goods6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Goods6">{{ ppData.R_PP_Goods6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Alarm6">{{ data.R_PP_Alarm6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Alarm6">{{ ppData.R_PP_Alarm6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_STB6">{{ data.R_PP_STB6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_STB6">{{ ppData.R_PP_STB6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_ACK6">{{ data.R_PP_ACK6 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_ACK6">{{ ppData.R_PP_ACK6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_STB6">{{ data.W_PP_STB6 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_STB6">{{ ppData.W_PP_STB6 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_ACK6">{{ data.W_PP_ACK6 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_ACK6">{{ ppData.W_PP_ACK6 || '-' }}</div> |
| | | </div> |
| | | |
| | | <div class="zhuname">åºåº2017ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_HandShake7">{{ data.R_PP_HandShake7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_HandShake7">{{ ppData.R_PP_HandShake7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Online7">{{ data.R_PP_Online7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Online7">{{ ppData.R_PP_Online7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Free7">{{ data.R_PP_Free7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Free7">{{ ppData.R_PP_Free7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Goods7">{{ data.R_PP_Goods7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Goods7">{{ ppData.R_PP_Goods7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_Alarm7">{{ data.R_PP_Alarm7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_Alarm7">{{ ppData.R_PP_Alarm7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_STB7">{{ data.R_PP_STB7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_STB7">{{ ppData.R_PP_STB7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_PP_ACK7">{{ data.R_PP_ACK7 }}</div> |
| | | <div class="xzhi" :title="ppData.R_PP_ACK7">{{ ppData.R_PP_ACK7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_STB7">{{ data.W_PP_STB7 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_STB7">{{ ppData.W_PP_STB7 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_PP_ACK7">{{ data.W_PP_ACK7 }}</div> |
| | | <div class="xzhi" :title="ppData.W_PP_ACK7">{{ ppData.W_PP_ACK7 || '-' }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { ref, nextTick } from "vue"; |
| | | import { ref, nextTick, watch, onUnmounted } from "vue"; |
| | | import { useStore } from "vuex"; |
| | | import { onMounted } from "vue"; |
| | | |
| | |
| | | xuan: 0 |
| | | }; |
| | | }, |
| | | methods: { |
| | | }, |
| | | setup() { |
| | | const store = useStore(); |
| | | const data = ref({}); |
| | | // ä»
åå¨PPæ°æ®ï¼é¿å
ä¸ZHæ°æ®æ··æ· |
| | | const ppData = ref({}); |
| | | |
| | | // 1. å®ä¹æ®éåæ®µçæ å°è§å |
| | | // å»¶è¿æ´æ°é
ç½®ï¼è§£å³é«é¢å·æ°å¯¼è´çéªç |
| | | const UPDATE_DELAY = 300; // å»¶è¿300msæ´æ°UI |
| | | let updateTimer = null; // 宿¶å¨å®ä¾ |
| | | |
| | | // PPæ°æ®æ å°è§åï¼ä»
å¤çPPç¸å
³åæ®µï¼ |
| | | const statusMap = { |
| | | R_PP_Status: { |
| | | 1: "æ£å¸¸", |
| | |
| | | 4: "ç¹å¤§æç(4)", |
| | | } |
| | | }; |
| | | const onlines = [ |
| | | "R_PP_Online6","R_PP_Online4", |
| | | "R_PP_Online5","R_PP_Online7" |
| | | ] |
| | | const online = { |
| | | true: "èæº", |
| | | false: "è±æº" |
| | | }; |
| | | const alarms = [ |
| | | "R_PP_Alarm6","R_PP_Alarm4", |
| | | "R_PP_Alarm5","R_PP_Alarm7" |
| | | ] |
| | | const alarm = { |
| | | true: "æ
é", |
| | | false: "æ£å¸¸" |
| | | }; |
| | | const frees = [ |
| | | "R_PP_Free6","R_PP_Free4", |
| | | "R_PP_Free5","R_PP_Free7" |
| | | ] |
| | | const free = { |
| | | true: "空é²", |
| | | false: "ç¹å¿" |
| | | }; |
| | | const goods = [ |
| | | "R_PP_Goods6", "R_PP_Goods4", |
| | | "R_PP_Goods5","R_PP_Goods7" |
| | | ] |
| | | const good = { |
| | | true: "æè´§", |
| | | false: "æ è´§" |
| | | |
| | | // PPç¸å
³å¸å°å段åç» |
| | | const fieldGroups = { |
| | | online: { |
| | | fields: ["R_PP_Online6", "R_PP_Online4", "R_PP_Online5", "R_PP_Online7"], |
| | | map: { true: "èæº", false: "è±æº" } |
| | | }, |
| | | alarm: { |
| | | fields: ["R_PP_Alarm6", "R_PP_Alarm4", "R_PP_Alarm5", "R_PP_Alarm7"], |
| | | map: { true: "æ
é", false: "æ£å¸¸" } |
| | | }, |
| | | free: { |
| | | fields: ["R_PP_Free6", "R_PP_Free4", "R_PP_Free5", "R_PP_Free7"], |
| | | map: { true: "空é²", false: "ç¹å¿" } |
| | | }, |
| | | goods: { |
| | | fields: ["R_PP_Goods6", "R_PP_Goods4", "R_PP_Goods5", "R_PP_Goods7"], |
| | | map: { true: "æè´§", false: "æ è´§" } |
| | | }, |
| | | signal: { |
| | | fields: [ |
| | | "R_PP_HandShake4", "R_PP_STB4", "R_PP_ACK4", "W_PP_STB4", "W_PP_ACK4", |
| | | "R_PP_HandShake5", "R_PP_STB5", "R_PP_ACK5", "W_PP_STB5", "W_PP_ACK5", |
| | | "R_PP_HandShake6", "R_PP_STB6", "R_PP_ACK6", "W_PP_STB6", "W_PP_ACK6", |
| | | "R_PP_HandShake7", "R_PP_STB7", "R_PP_ACK7", "W_PP_STB7", "W_PP_ACK7" |
| | | ], |
| | | map: { true: "æ¯", false: "å¦" } |
| | | } |
| | | }; |
| | | |
| | | // 2. å®ä¹éè¦å
±ç¨æ å°è§åçåæ®µå表å对åºçæ å°è§å |
| | | const booleanFields = [ |
| | | "R_PP_HandShake4", "R_PP_STB4", |
| | | "R_PP_ACK4", "W_PP_STB4", |
| | | "W_PP_ACK4", |
| | | "R_PP_HandShake5", "R_PP_STB5", |
| | | "R_PP_ACK5", "W_PP_STB5", |
| | | "W_PP_ACK5", |
| | | "R_PP_HandShake6", "R_PP_STB6", |
| | | "R_PP_ACK6", "W_PP_STB6", |
| | | "W_PP_ACK6", |
| | | "R_PP_HandShake7", "R_PP_STB7", |
| | | "R_PP_ACK7", "W_PP_STB7", |
| | | "W_PP_ACK7", |
| | | ]; |
| | | const booleanMap = { |
| | | true: "æ¯", |
| | | false: "å¦" |
| | | }; |
| | | |
| | | // å¤çæ°æ®ï¼å
å¤çæ®éæ å°ï¼åæ¹éå¤çå
±ç¨æ å°çåæ®µ |
| | | const processData = (rawData) => { |
| | | // å¤çPPåå§æ°æ® |
| | | const processPPData = (rawData) => { |
| | | if (!rawData) return {}; |
| | | |
| | | // å¤å¶åå§æ°æ®ï¼é¿å
ç´æ¥ä¿®æ¹ |
| | | const processed = { ...rawData }; |
| | | |
| | | // å¤çæ®éåæ®µæ å° |
| | | // å¤çç¶æåæ®µæ å° |
| | | Object.keys(statusMap).forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | const map = statusMap[key]; |
| | | processed[key] = map[processed[key]] || processed[key]; |
| | | processed[key] = statusMap[key][processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | |
| | | // æ¹éå¤çå
±ç¨æ å°è§åçåæ®µ |
| | | booleanFields.forEach(key => { |
| | | // å¤çå¸å°ååæ®µæ å° |
| | | Object.values(fieldGroups).forEach(group => { |
| | | group.fields.forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | processed[key] = booleanMap[processed[key]] || processed[key]; |
| | | processed[key] = group.map[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | onlines.forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | processed[key] = online[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | alarms.forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | processed[key] = alarm[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | frees.forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | processed[key] = free[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | goods.forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | processed[key] = good[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | |
| | | return processed; |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | // å»¶è¿æ´æ°PPæ°æ®ï¼é¿å
é«é¢å·æ° |
| | | const delayedUpdatePPData = (newRawData) => { |
| | | // æ¸
é¤ä¹åç宿¶å¨ï¼ç¡®ä¿åªæ§è¡æå䏿¬¡æ´æ° |
| | | if (updateTimer) { |
| | | clearTimeout(updateTimer); |
| | | } |
| | | |
| | | // å»¶è¿æå®æ¶é´åæ´æ°æ°æ® |
| | | updateTimer = setTimeout(() => { |
| | | // åªå¤çå
å«PPç¹å¾åæ®µçæ°æ® |
| | | if (newRawData && newRawData.R_PP_Status !== undefined) { |
| | | ppData.value = processPPData(newRawData); |
| | | |
| | | // æ´æ°æ ·å¼ |
| | | nextTick(() => { |
| | | setInterval(() => { |
| | | const rawData = store.state.homedata; |
| | | data.value = processData(rawData); |
| | | const xian = document.getElementsByClassName("xzhi"); |
| | | for (let i = 0; i < xian.length; i++) { |
| | | if (xian[i].innerHTML === "æ¯") { |
| | | xian[i].style.color = "yellow"; |
| | | } else if (xian[i].innerHTML === "å¦") { |
| | | xian[i].style.color = "red"; |
| | | const valueElements = document.getElementsByClassName("xzhi"); |
| | | for (let i = 0; i < valueElements.length; i++) { |
| | | if (valueElements[i].innerHTML === "æ¯") { |
| | | valueElements[i].style.color = "yellow"; |
| | | } else if (valueElements[i].innerHTML === "å¦") { |
| | | valueElements[i].style.color = "red"; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, UPDATE_DELAY); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | // åå§å è½½æ°æ® |
| | | const initialData = store.state.homedata; |
| | | if (initialData && initialData.R_PP_Status !== undefined) { |
| | | ppData.value = processPPData(initialData); |
| | | } |
| | | |
| | | // ç嬿°æ®ååï¼åªå¤çPPæ°æ® |
| | | const unwatch = watch( |
| | | () => store.state.homedata, |
| | | (newData) => { |
| | | // ä»
彿°æ®å
å«PPç¹å¾åæ®µæ¶ææ´æ° |
| | | if (newData && newData.R_PP_Status !== undefined) { |
| | | delayedUpdatePPData(newData); |
| | | } |
| | | }, |
| | | { deep: true } // 深度çå¬å¯¹è±¡å
é¨åå |
| | | ); |
| | | |
| | | // ç»ä»¶å¸è½½æ¶æ¸
çèµæº |
| | | onUnmounted(() => { |
| | | unwatch(); |
| | | if (updateTimer) { |
| | | clearTimeout(updateTimer); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | return { |
| | | data, |
| | | ppData |
| | | }; |
| | | } |
| | | }; |
| | |
| | | border-radius: 10px; |
| | | } |
| | | </style> |
| | | |