| | |
| | | <template> |
| | | <div id="title"> |
| | | <div id="bkuang" style="border-top: none"> |
| | | <!-- GMä»å åæºç¶æé¢æ¿ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">å¹²èä»å åæº</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_GM_Status">{{ data.R_GM_Status }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Status">{{ gmData.R_GM_Status || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºæèªå¨ç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_GM_AutoStatus">{{ data.R_GM_AutoStatus }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_AutoStatus">{{ gmData.R_GM_AutoStatus || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ£å¨æ§è¡çä»»å¡å·:</div> |
| | | <div class="xzhi" :title="data.R_GM_TaskNum">{{ data.R_GM_TaskNum }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_TaskNum">{{ gmData.R_GM_TaskNum || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºå·¥ä½ç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_GM_WorkStatus">{{ data.R_GM_WorkStatus }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_WorkStatus">{{ gmData.R_GM_WorkStatus || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ä½ä¸ç±»å:</div> |
| | | <div class="xzhi" :title="data.R_GM_WorkType">{{ data.R_GM_WorkType }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_WorkType">{{ gmData.R_GM_WorkType || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æçç±»å:</div> |
| | | <div class="xzhi" :title="data.R_GM_TrayType">{{ data.R_GM_TrayType }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_TrayType">{{ gmData.R_GM_TrayType || '-' }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- GMå
³èç«å°ï¼å
¥åº7003ï¼ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">å
¥åº7003ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">读åç®±ä½ç (读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Boxcode">{{ data.R_GM_Boxcode }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Boxcode">{{ gmData.R_GM_Boxcode || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_HandShake3">{{ data.R_GM_HandShake3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_HandShake3">{{ gmData.R_GM_HandShake3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Online3">{{ data.R_GM_Online3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Online3">{{ gmData.R_GM_Online3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Free3">{{ data.R_GM_Free3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Free3">{{ gmData.R_GM_Free3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Goods3">{{ data.R_GM_Goods3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Goods3">{{ gmData.R_GM_Goods3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Alarm3">{{ data.R_GM_Alarm3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Alarm3">{{ gmData.R_GM_Alarm3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_STB3">{{ data.R_GM_STB3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_STB3">{{ gmData.R_GM_STB3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_ACK3">{{ data.R_GM_ACK3 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_ACK3">{{ gmData.R_GM_ACK3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_GM_STB3">{{ data.W_GM_STB3 }}</div> |
| | | <div class="xzhi" :title="gmData.W_GM_STB3">{{ gmData.W_GM_STB3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_GM_ACK3">{{ data.W_GM_ACK3 }}</div> |
| | | <div class="xzhi" :title="gmData.W_GM_ACK3">{{ gmData.W_GM_ACK3 || '-' }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- GMå
³èç«å°ï¼åºåº7004+7005ï¼ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">åºåºç»ç¹7004ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_HandShake4">{{ data.R_GM_HandShake4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_HandShake4">{{ gmData.R_GM_HandShake4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Online4">{{ data.R_GM_Online4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Online4">{{ gmData.R_GM_Online4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Free4">{{ data.R_GM_Free4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Free4">{{ gmData.R_GM_Free4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Goods4">{{ data.R_GM_Goods4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Goods4">{{ gmData.R_GM_Goods4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Alarm4">{{ data.R_GM_Alarm4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Alarm4">{{ gmData.R_GM_Alarm4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_STB4">{{ data.R_GM_STB4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_STB4">{{ gmData.R_GM_STB4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_ACK4">{{ data.R_GM_ACK4 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_ACK4">{{ gmData.R_GM_ACK4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_GM_STB4">{{ data.W_GM_STB4 }}</div> |
| | | <div class="xzhi" :title="gmData.W_GM_STB4">{{ gmData.W_GM_STB4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_GM_ACK4">{{ data.W_GM_ACK4 }}</div> |
| | | <div class="xzhi" :title="gmData.W_GM_ACK4">{{ gmData.W_GM_ACK4 || '-' }}</div> |
| | | </div> |
| | | |
| | | <div class="zhuname">åºåº7005ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¡æä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_HandShake5">{{ data.R_GM_HandShake5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_HandShake5">{{ gmData.R_GM_HandShake5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦èæº(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Online5">{{ data.R_GM_Online5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Online5">{{ gmData.R_GM_Online5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦ç©ºé²(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Free5">{{ data.R_GM_Free5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Free5">{{ gmData.R_GM_Free5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Goods5">{{ data.R_GM_Goods5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Goods5">{{ gmData.R_GM_Goods5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦æ
é(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_Alarm5">{{ data.R_GM_Alarm5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_Alarm5">{{ gmData.R_GM_Alarm5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_STB5">{{ data.R_GM_STB5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_STB5">{{ gmData.R_GM_STB5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(读):</div> |
| | | <div class="xzhi" :title="data.R_GM_ACK5">{{ data.R_GM_ACK5 }}</div> |
| | | <div class="xzhi" :title="gmData.R_GM_ACK5">{{ gmData.R_GM_ACK5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">请æ±ä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_GM_STB5">{{ data.W_GM_STB5 }}</div> |
| | | <div class="xzhi" :title="gmData.W_GM_STB5">{{ gmData.W_GM_STB5 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ååºä¿¡å·(å):</div> |
| | | <div class="xzhi" :title="data.W_GM_ACK5">{{ data.W_GM_ACK5 }}</div> |
| | | <div class="xzhi" :title="gmData.W_GM_ACK5">{{ gmData.W_GM_ACK5 || '-' }}</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({}); |
| | | // ä»
åå¨GMæ°æ®ï¼ä¸å
¶ä»ä»æ°æ®é离 |
| | | const gmData = ref({}); |
| | | |
| | | // 1. å®ä¹æ®éåæ®µçæ å°è§å |
| | | const statusMap = { |
| | | R_GM_Status: { |
| | | 1: "æ£å¸¸", |
| | | 2: "æ
é", |
| | | 3: "æ¥å", |
| | | // å»¶è¿æ´æ°é
ç½®ï¼è§£å³éªçé®é¢ |
| | | const UPDATE_DELAY = 300; // 300mså»¶è¿ï¼å¹³è¡¡å®æ¶æ§åçé¢ç¨³å®æ§ |
| | | let updateTimer = null; // 宿¶å¨å®ä¾ |
| | | |
| | | // GMæ°æ®æ å°è§åé
ç½®ï¼æåè½åç»ï¼ |
| | | const gmStatusConfig = { |
| | | coreStatus: { |
| | | R_GM_Status: { 1: "æ£å¸¸", 2: "æ
é", 3: "æ¥å" }, |
| | | R_GM_AutoStatus: { 0: "ç»´ä¿®", 1: "æå¨", 2: "åèªå¨", 3: "èªå¨" }, |
| | | R_GM_WorkStatus: { 0: "å¾
æº", 1: "åè´§ä¸", 2: "åè´§å®æ", 4: "æ¾è´§ä¸", 5: "æ¾è´§å®æ", 6: "ä»»å¡å®æ" }, |
| | | R_GM_WorkType: { 0: "æ ä½ä¸ä»»å¡(0)", 1: "åæ¾è´§ä½ä¸(1)", 2: "åªåè´§ä½ä¸(2)", 3: "åªæ¾è´§ä½ä¸(3)", 4: "ç§»å¨å°æå®ä½ç½®" }, |
| | | R_GM_TrayType: { "-1": "空箱(-1)", 1: "å°æç(1)", 2: "䏿ç(2)", 3: "大æç(3)", 4: "ç¹å¤§æç(4)" } |
| | | }, |
| | | R_GM_AutoStatus: { |
| | | 0: "ç»´ä¿®", |
| | | 1: "æå¨", |
| | | 2: "åèªå¨", |
| | | 3: "èªå¨", |
| | | onlineStatus: { |
| | | keys: ["R_GM_Online3", "R_GM_Online4", "R_GM_Online5"], |
| | | map: { true: "èæº", false: "è±æº" } |
| | | }, |
| | | R_GM_WorkStatus: { |
| | | 0: "å¾
æº", |
| | | 1: "åè´§ä¸", |
| | | 2: "åè´§å®æ", |
| | | 4: "æ¾è´§ä¸", |
| | | 5: "æ¾è´§å®æ", |
| | | 6: "ä»»å¡å®æ", |
| | | alarmStatus: { |
| | | keys: ["R_GM_Alarm3", "R_GM_Alarm4", "R_GM_Alarm5"], |
| | | map: { true: "æ
é", false: "æ£å¸¸" } |
| | | }, |
| | | R_GM_WorkType: { |
| | | 0: "æ ä½ä¸ä»»å¡(0)", |
| | | 1: "åæ¾è´§ä½ä¸(1)", |
| | | 2: "åªåè´§ä½ä¸(2)", |
| | | 3: "åªæ¾è´§ä½ä¸(3)", |
| | | 4: "ç§»å¨å°æå®ä½ç½®" |
| | | freeStatus: { |
| | | keys: ["R_GM_Free3", "R_GM_Free4", "R_GM_Free5"], |
| | | map: { true: "空é²", false: "ç¹å¿" } |
| | | }, |
| | | R_GM_TrayType: { |
| | | "-1": "空箱(-1)", |
| | | 1: "å°æç(1)", |
| | | 2: "䏿ç(2)", |
| | | 3: "大æç(3)", |
| | | 4: "ç¹å¤§æç(4)", |
| | | goodsStatus: { |
| | | keys: ["R_GM_Goods3", "R_GM_Goods4", "R_GM_Goods5"], |
| | | map: { true: "æè´§", false: "æ è´§" } |
| | | }, |
| | | signalFields: { |
| | | keys: [ |
| | | "R_GM_HandShake3", "R_GM_STB3", "R_GM_ACK3", "W_GM_STB3", "W_GM_ACK3", |
| | | "R_GM_HandShake4", "R_GM_STB4", "R_GM_ACK4", "W_GM_STB4", "W_GM_ACK4", |
| | | "R_GM_HandShake5", "R_GM_STB5", "R_GM_ACK5", "W_GM_STB5", "W_GM_ACK5" |
| | | ], |
| | | map: { true: "æ¯", false: "å¦" } |
| | | } |
| | | }; |
| | | const onlines = [ |
| | | "R_GM_Online3","R_GM_Online4", |
| | | "R_GM_Online5", |
| | | ] |
| | | const online = { |
| | | 1: "èæº", |
| | | 0: "è±æº" |
| | | }; |
| | | const alarms = [ |
| | | "R_GM_Alarm3","R_GM_Alarm4", |
| | | "R_GM_Alarm5", |
| | | ] |
| | | const alarm = { |
| | | 1: "æ
é", |
| | | 0: "æ£å¸¸" |
| | | }; |
| | | const frees = [ |
| | | "R_GM_Free3","R_GM_Free4", |
| | | "R_GM_Free5", |
| | | ] |
| | | const free = { |
| | | 1: "空é²", |
| | | 0: "ç¹å¿" |
| | | }; |
| | | const goods = [ |
| | | "R_GM_Goods3", "R_GM_Goods4", |
| | | "R_GM_Goods5", |
| | | ] |
| | | const good = { |
| | | 1: "æè´§", |
| | | 0: "æ è´§" |
| | | }; |
| | | // 2. å®ä¹éè¦å
±ç¨æ å°è§åçåæ®µå表å对åºçæ å°è§å |
| | | const booleanFields = [ |
| | | "R_GM_HandShake3", |
| | | "R_GM_STB3", |
| | | "R_GM_ACK3", "W_GM_STB3", |
| | | "W_GM_ACK3", |
| | | "R_GM_HandShake4", |
| | | "R_GM_STB4", |
| | | "R_GM_ACK4", "W_GM_STB4", |
| | | "W_GM_ACK4", |
| | | "R_GM_HandShake5", |
| | | "R_GM_STB5", |
| | | "R_GM_ACK5", "W_GM_STB5", |
| | | "W_GM_ACK5", |
| | | ]; |
| | | const booleanMap = { |
| | | true: "æ¯", |
| | | false: "å¦" |
| | | }; |
| | | |
| | | // å¤çæ°æ®ï¼å
å¤çæ®éæ å°ï¼åæ¹éå¤çå
±ç¨æ å°çåæ®µ |
| | | const processData = (rawData) => { |
| | | // å¤çGMåå§æ°æ® |
| | | const processGMData = (rawData) => { |
| | | if (!rawData) return {}; |
| | | const processed = { ...rawData }; |
| | | |
| | | // å¤çæ®éåæ®µæ å° |
| | | Object.keys(statusMap).forEach(key => { |
| | | // å¤çæ ¸å¿ç¶æå段 |
| | | Object.entries(gmStatusConfig.coreStatus).forEach(([key, map]) => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | const map = statusMap[key]; |
| | | processed[key] = map[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | |
| | | // æ¹éå¤çå
±ç¨æ å°è§åçåæ®µ |
| | | booleanFields.forEach(key => { |
| | | // æ¹éå¤çåç»å段 |
| | | [ |
| | | gmStatusConfig.onlineStatus, |
| | | gmStatusConfig.alarmStatus, |
| | | gmStatusConfig.freeStatus, |
| | | gmStatusConfig.goodsStatus, |
| | | gmStatusConfig.signalFields |
| | | ].forEach(group => { |
| | | group.keys.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(() => { |
| | | // å»¶è¿æ´æ°GMæ°æ®ï¼é¿å
é«é¢å·æ°å¯¼è´çéªç |
| | | const delayedUpdateGMData = (newRawData) => { |
| | | if (updateTimer) clearTimeout(updateTimer); |
| | | |
| | | updateTimer = setTimeout(() => { |
| | | // ä»
å¤çå
å«GMç¹å¾åæ®µçæ°æ® |
| | | if (newRawData && newRawData.R_GM_Status !== undefined) { |
| | | gmData.value = processGMData(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].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++) { |
| | | const text = valueElements[i].innerHTML; |
| | | if (text === "æ¯" || text === "èæº") { |
| | | valueElements[i].style.color = "yellow"; |
| | | } else if (text === "å¦") { |
| | | valueElements[i].style.color = "red"; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, UPDATE_DELAY); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | // åå§å è½½æ°æ® |
| | | const initialData = store.state.homedata; |
| | | if (initialData && initialData.R_GM_Status !== undefined) { |
| | | gmData.value = processGMData(initialData); |
| | | } |
| | | |
| | | // ç嬿°æ®ååï¼åªå¤çGMæ°æ® |
| | | const unwatch = watch( |
| | | () => store.state.homedata, |
| | | (newData) => { |
| | | if (newData && newData.R_GM_Status !== undefined) { |
| | | delayedUpdateGMData(newData); |
| | | } |
| | | }, |
| | | { deep: true } |
| | | ); |
| | | |
| | | // ç»ä»¶å¸è½½æ¶æ¸
çèµæº |
| | | onUnmounted(() => { |
| | | unwatch(); |
| | | if (updateTimer) clearTimeout(updateTimer); |
| | | }); |
| | | }); |
| | | |
| | | return { |
| | | data, |
| | | gmData |
| | | }; |
| | | } |
| | | }; |
| | |
| | | border-radius: 10px; |
| | | } |
| | | </style> |
| | | |