| | |
| | | <template> |
| | | <div id="title"> |
| | | <div id="bkuang" style="border-top: none"> |
| | | <!-- ZHä»å åæºç¶æé¢æ¿ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">é»çä»å åæº</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_ZH_Status">{{ data.R_ZH_Status }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_Status">{{ zhData.R_ZH_Status || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºæèªå¨ç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_ZH_AutoStatus">{{ data.R_ZH_AutoStatus }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_AutoStatus">{{ zhData.R_ZH_AutoStatus || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ£å¨æ§è¡çä»»å¡å·:</div> |
| | | <div class="xzhi" :title="data.R_ZH_TaskNum">{{ data.R_ZH_TaskNum }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_TaskNum">{{ zhData.R_ZH_TaskNum || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å åæºå·¥ä½ç¶æ:</div> |
| | | <div class="xzhi" :title="data.R_ZH_WorkStatus">{{ data.R_ZH_WorkStatus }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_WorkStatus">{{ zhData.R_ZH_WorkStatus || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">ä½ä¸ç±»å:</div> |
| | | <div class="xzhi" :title="data.R_ZH_WorkType">{{ data.R_ZH_WorkType }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_WorkType">{{ zhData.R_ZH_WorkType || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æçç±»å:</div> |
| | | <div class="xzhi" :title="data.R_ZH_TrayType">{{ data.R_ZH_TrayType }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_TrayType">{{ zhData.R_ZH_TrayType || '-' }}</div> |
| | | </div> |
| | | <!-- æ°å¢ï¼å½åæå¨åæ¾ç¤º --> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å½åæå¨å:</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_Column">{{ zhData.R_ZH_Column || 'æªç¥' }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- ZHå
³èç«å°ï¼å
¥åº301+å
¥åº302ï¼ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">å
¥åº301ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许æ¾è´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanPut1">{{ data.R_ZH_IsCanPut1 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanPut1">{{ zhData.R_ZH_IsCanPut1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许åè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanTake1">{{ data.R_ZH_IsCanTake1 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanTake1">{{ zhData.R_ZH_IsCanTake1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§æçç±»å(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_TakePalletType1">{{ data.R_ZH_TakePalletType1 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_TakePalletType1">{{ zhData.R_ZH_TakePalletType1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§æçç±»å(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutPalletType1">{{ data.W_ZH_PutPalletType1 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutPalletType1">{{ zhData.W_ZH_PutPalletType1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§è¯·æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutRequest1">{{ data.W_ZH_PutRequest1 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutRequest1">{{ zhData.W_ZH_PutRequest1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutFinish1">{{ data.W_ZH_PutFinish1 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutFinish1">{{ zhData.W_ZH_PutFinish1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å货请æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeRequest1">{{ data.W_ZH_TakeRequest1 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeRequest1">{{ zhData.W_ZH_TakeRequest1 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeFinish1">{{ data.W_ZH_TakeFinish1 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeFinish1">{{ zhData.W_ZH_TakeFinish1 || '-' }}</div> |
| | | </div> |
| | | |
| | | <div class="zhuname">å
¥åº302ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许æ¾è´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanPut2">{{ data.R_ZH_IsCanPut2 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanPut2">{{ zhData.R_ZH_IsCanPut2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许åè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanTake2">{{ data.R_ZH_IsCanTake2 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanTake2">{{ zhData.R_ZH_IsCanTake2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§æçç±»å(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_TakePalletType2">{{ data.R_ZH_TakePalletType2 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_TakePalletType2">{{ zhData.R_ZH_TakePalletType2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§æçç±»å(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutPalletType2">{{ data.W_ZH_PutPalletType2 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutPalletType2">{{ zhData.W_ZH_PutPalletType2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§è¯·æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutRequest2">{{ data.W_ZH_PutRequest2 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutRequest2">{{ zhData.W_ZH_PutRequest2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutFinish2">{{ data.W_ZH_PutFinish2 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutFinish2">{{ zhData.W_ZH_PutFinish2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å货请æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeRequest2">{{ data.W_ZH_TakeRequest2 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeRequest2">{{ zhData.W_ZH_TakeRequest2 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeFinish2">{{ data.W_ZH_TakeFinish2 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeFinish2">{{ zhData.W_ZH_TakeFinish2 || '-' }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <!-- ZHå
³èç«å°ï¼åºåº303+åºåº304ï¼ --> |
| | | <div class="skuang"> |
| | | <div class="zhuname">åºåº303ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许æ¾è´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanPut3">{{ data.R_ZH_IsCanPut3 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanPut3">{{ zhData.R_ZH_IsCanPut3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许åè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanTake3">{{ data.R_ZH_IsCanTake3 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanTake3">{{ zhData.R_ZH_IsCanTake3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§æçç±»å(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_TakePalletType3">{{ data.R_ZH_TakePalletType3 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_TakePalletType3">{{ zhData.R_ZH_TakePalletType3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§æçç±»å(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutPalletType3">{{ data.W_ZH_PutPalletType3 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutPalletType3">{{ zhData.W_ZH_PutPalletType3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§è¯·æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutRequest3">{{ data.W_ZH_PutRequest3 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutRequest3">{{ zhData.W_ZH_PutRequest3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutFinish3">{{ data.W_ZH_PutFinish3 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutFinish3">{{ zhData.W_ZH_PutFinish3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å货请æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeRequest3">{{ data.W_ZH_TakeRequest3 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeRequest3">{{ zhData.W_ZH_TakeRequest3 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeFinish3">{{ data.W_ZH_TakeFinish3 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeFinish3">{{ zhData.W_ZH_TakeFinish3 || '-' }}</div> |
| | | </div> |
| | | |
| | | <div class="zhuname">åºåº304ç«å°</div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许æ¾è´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanPut4">{{ data.R_ZH_IsCanPut4 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanPut4">{{ zhData.R_ZH_IsCanPut4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¯å¦å
许åè´§(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_IsCanTake4">{{ data.R_ZH_IsCanTake4 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_IsCanTake4">{{ zhData.R_ZH_IsCanTake4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§æçç±»å(读):</div> |
| | | <div class="xzhi" :title="data.R_ZH_TakePalletType4">{{ data.R_ZH_TakePalletType4 }}</div> |
| | | <div class="xzhi" :title="zhData.R_ZH_TakePalletType4">{{ zhData.R_ZH_TakePalletType4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§æçç±»å(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutPalletType4">{{ data.W_ZH_PutPalletType4 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutPalletType4">{{ zhData.W_ZH_PutPalletType4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§è¯·æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutRequest4">{{ data.W_ZH_PutRequest4 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutRequest4">{{ zhData.W_ZH_PutRequest4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">æ¾è´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_PutFinish4">{{ data.W_ZH_PutFinish4 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_PutFinish4">{{ zhData.W_ZH_PutFinish4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">å货请æ±(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeRequest4">{{ data.W_ZH_TakeRequest4 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeRequest4">{{ zhData.W_ZH_TakeRequest4 || '-' }}</div> |
| | | </div> |
| | | <div class="zhankuang"> |
| | | <div class="xname">åè´§å®æ(å):</div> |
| | | <div class="xzhi" :title="data.W_ZH_TakeFinish4">{{ data.W_ZH_TakeFinish4 }}</div> |
| | | <div class="xzhi" :title="zhData.W_ZH_TakeFinish4">{{ zhData.W_ZH_TakeFinish4 || '-' }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- æ°å¢ï¼å åæºå½ååæåæ¾ç¤º --> |
| | | <div id="zh-nowcolumn" :class="{ 'abnormal-column': zhData.R_ZH_Status !== 'æ£å¸¸' }"> |
| | | <div>é»çå åæºå½åæå¨å: |
| | | <span :title="zhData.R_ZH_Column">{{ zhData.R_ZH_Column || 'æªç¥' }}</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- æ°å¢ï¼åæ¹æ ¼å±ç¤ºåºå --> |
| | | <div class="zh-column-container" :class="{ 'pp-status-abnormal': zhData.R_ZH_Status !== 'æ£å¸¸' }"> |
| | | <!-- 䏿¹1-24å --> |
| | | <div class="column-grid-container"> |
| | | <div |
| | | v-for="num in 28" |
| | | :key="num" |
| | | class="column-grid-item" |
| | | :class="{ 'active': num == zhData.R_ZH_Column }" |
| | | :title="`åå·: ${num}`" |
| | | > |
| | | {{ num }} |
| | | </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({}); |
| | | const zhData = ref({}); |
| | | |
| | | // 1. å®ä¹æ®éåæ®µçæ å°è§å |
| | | const statusMap = { |
| | | const UPDATE_DELAY = 300; |
| | | let updateTimer = null; |
| | | |
| | | // ZHæ°æ®æ å°è§åï¼æ°å¢åå·å¤çï¼ |
| | | const zhStatusMap = { |
| | | R_ZH_Status: { |
| | | 1: "æ£å¸¸", |
| | | 2: "æ
é", |
| | | 3: "æ¥å", |
| | | 0: "æ£å¸¸", |
| | | 1: "æ
é", |
| | | 2: "æ¥å", |
| | | 3: "æªç¥" |
| | | }, |
| | | R_ZH_AutoStatus: { |
| | | 0: "ç»´ä¿®", |
| | |
| | | 2: "䏿ç(2)", |
| | | 3: "大æç(3)", |
| | | 4: "ç¹å¤§æç(4)", |
| | | }, |
| | | // æ°å¢ï¼åå·æ å°å¤ç |
| | | R_ZH_Column: (val) => val !== undefined ? val : "æªç¥" |
| | | }; |
| | | |
| | | // ZHåæ®µåç» |
| | | const zhFieldGroups = { |
| | | permissionFields: { |
| | | keys: ["R_ZH_IsCanPut1", "R_ZH_IsCanTake1", "R_ZH_IsCanPut2", "R_ZH_IsCanTake2", |
| | | "R_ZH_IsCanPut3", "R_ZH_IsCanTake3", "R_ZH_IsCanPut4", "R_ZH_IsCanTake4"], |
| | | map: { true: "æ¯", false: "å¦" } |
| | | }, |
| | | requestFields: { |
| | | keys: ["W_ZH_PutRequest1", "W_ZH_TakeRequest1", "W_ZH_PutRequest2", "W_ZH_TakeRequest2", |
| | | "W_ZH_PutRequest3", "W_ZH_TakeRequest3", "W_ZH_PutRequest4", "W_ZH_TakeRequest4"], |
| | | map: { true: "æ¯", false: "å¦" } |
| | | }, |
| | | finishFields: { |
| | | keys: ["W_ZH_PutFinish1", "W_ZH_TakeFinish1", "W_ZH_PutFinish2", "W_ZH_TakeFinish2", |
| | | "W_ZH_PutFinish3", "W_ZH_TakeFinish3", "W_ZH_PutFinish4", "W_ZH_TakeFinish4"], |
| | | map: { true: "æ¯", false: "å¦" } |
| | | }, |
| | | palletTypeFields: { |
| | | keys: ["R_ZH_TakePalletType1", "R_ZH_TakePalletType2", "R_ZH_TakePalletType3", "R_ZH_TakePalletType4", |
| | | "W_ZH_PutPalletType1", "W_ZH_PutPalletType2", "W_ZH_PutPalletType3", "W_ZH_PutPalletType4"], |
| | | map: { "-1": "空箱(-1)", 1: "å°æç(1)", 2: "䏿ç(2)", 3: "大æç(3)", 4: "ç¹å¤§æç(4)" } |
| | | } |
| | | }; |
| | | |
| | | // 2. å®ä¹éè¦å
±ç¨æ å°è§åçåæ®µå表å对åºçæ å°è§å |
| | | const booleanFields = [ |
| | | "R_ZH_IsCanPut1", "R_ZH_IsCanTake1", |
| | | "W_ZH_PutRequest1", "W_ZH_PutFinish1", |
| | | "W_ZH_TakeRequest1", "W_ZH_TakeFinish1", |
| | | "R_ZH_IsCanPut2", "R_ZH_IsCanTake2", |
| | | "W_ZH_PutRequest2", "W_ZH_PutFinish2", |
| | | "W_ZH_TakeRequest2", "W_ZH_TakeFinish2", |
| | | "R_ZH_IsCanPut3", "R_ZH_IsCanTake3", |
| | | "W_ZH_PutRequest3", "W_ZH_PutFinish3", |
| | | "W_ZH_TakeRequest3", "W_ZH_TakeFinish3", |
| | | "R_ZH_IsCanPut4", "R_ZH_IsCanTake4", |
| | | "W_ZH_PutRequest4", "W_ZH_PutFinish4", |
| | | "W_ZH_TakeRequest4", "W_ZH_TakeFinish4", |
| | | ]; |
| | | const booleanMap = { |
| | | true: "æ¯", |
| | | false: "å¦" |
| | | // å¤çZHåå§æ°æ®ï¼å
å«åå·å¤çï¼ |
| | | const processZHData = (rawData) => { |
| | | if (!rawData) return {}; |
| | | const processedData = { ...rawData }; |
| | | |
| | | // å¤çæ ¸å¿ç¶æå段 |
| | | Object.keys(zhStatusMap).forEach(key => { |
| | | if (processedData.hasOwnProperty(key)) { |
| | | const mapper = zhStatusMap[key]; |
| | | processedData[key] = typeof mapper === 'function' |
| | | ? mapper(processedData[key]) |
| | | : (mapper[processedData[key]] || processedData[key]); |
| | | } |
| | | }); |
| | | |
| | | // å¤çåç»å段 |
| | | Object.values(zhFieldGroups).forEach(group => { |
| | | group.keys.forEach(key => { |
| | | if (processedData.hasOwnProperty(key)) { |
| | | processedData[key] = group.map[processedData[key]] || processedData[key]; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | return processedData; |
| | | }; |
| | | |
| | | // å¤çæ°æ®ï¼å
å¤çæ®éæ å°ï¼åæ¹éå¤çå
±ç¨æ å°çåæ®µ |
| | | const processData = (rawData) => { |
| | | if (!rawData) return {}; |
| | | const processed = { ...rawData }; |
| | | // å»¶è¿æ´æ°ZHæ°æ® |
| | | const delayedUpdateZHData = (newRawData) => { |
| | | if (updateTimer) { |
| | | clearTimeout(updateTimer); |
| | | } |
| | | |
| | | // å¤çæ®éåæ®µæ å° |
| | | Object.keys(statusMap).forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | const map = statusMap[key]; |
| | | processed[key] = map[processed[key]] || processed[key]; |
| | | updateTimer = setTimeout(() => { |
| | | if (newRawData && newRawData.R_ZH_Status !== undefined) { |
| | | zhData.value = processZHData(newRawData); |
| | | |
| | | // æ´æ°æ ·å¼ |
| | | nextTick(() => { |
| | | 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"; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | // æ¹éå¤çå
±ç¨æ å°è§åçåæ®µ |
| | | booleanFields.forEach(key => { |
| | | if (processed.hasOwnProperty(key)) { |
| | | processed[key] = booleanMap[processed[key]] || processed[key]; |
| | | } |
| | | }); |
| | | |
| | | return processed; |
| | | }, UPDATE_DELAY); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | 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 initialData = store.state.homedata; |
| | | if (initialData && initialData.R_ZH_Status !== undefined) { |
| | | zhData.value = processZHData(initialData); |
| | | } |
| | | |
| | | const unwatch = watch( |
| | | () => store.state.homedata, |
| | | (newData) => { |
| | | if (newData && newData.R_ZH_Status !== undefined) { |
| | | delayedUpdateZHData(newData); |
| | | } |
| | | }); |
| | | }, |
| | | { deep: true } |
| | | ); |
| | | |
| | | // ç»ä»¶å¸è½½æ¶æ¸
ç |
| | | onUnmounted(() => { |
| | | unwatch(); |
| | | if (updateTimer) { |
| | | clearTimeout(updateTimer); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | return { |
| | | data, |
| | | zhData |
| | | }; |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | /* åææ ·å¼ä¿æä¸å */ |
| | | .ding { |
| | | float: left; |
| | | width: 20px; |
| | |
| | | margin-left: 1.7%; |
| | | border-radius: 10px; |
| | | } |
| | | </style> |
| | | |
| | | /* æ°å¢ï¼ZHå åæºå½ååæ ·å¼ */ |
| | | #zh-nowcolumn { |
| | | width: 100%; |
| | | height: 70px; |
| | | float: left; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 1.5cqw; |
| | | font-weight: bold; |
| | | color: #00ff4c; |
| | | } |
| | | |
| | | /* å¼å¸¸ç¶ææååè² */ |
| | | #zh-nowcolumn.abnormal-column { |
| | | color: red !important; |
| | | } |
| | | #zh-nowcolumn.abnormal-column span { |
| | | color: red !important; |
| | | } |
| | | |
| | | /* å容卿 ·å¼ */ |
| | | .zh-column-container { |
| | | width: 95%; |
| | | margin: 0 auto; |
| | | position: relative; |
| | | clear: both; |
| | | padding-top: 15px; |
| | | } |
| | | |
| | | /* æ¹æ ¼å®¹å¨æ ·å¼ */ |
| | | .column-grid-container { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: nowrap; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | gap: 2px; |
| | | position: relative; |
| | | z-index: 2; |
| | | margin-bottom: 10px; |
| | | padding: 0 2px; |
| | | } |
| | | |
| | | /* æ¹æ ¼æ ·å¼ */ |
| | | .column-grid-item { |
| | | flex: 1; |
| | | min-width: 24px; |
| | | max-width: 60px; |
| | | height: 30px; |
| | | border: 1px solid #fff; |
| | | border-radius: 8px 8px 0 0; |
| | | color: white; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: clamp(8px, 1vw, 14px); |
| | | box-sizing: border-box; |
| | | transition: background-color 0.3s ease; |
| | | } |
| | | |
| | | /* å½ååé«äº® */ |
| | | .column-grid-item.active { |
| | | background-color: green; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | /* å¼å¸¸ç¶æä¸å½åå红è²é«äº® */ |
| | | .pp-status-abnormal .column-grid-item.active { |
| | | background-color: red !important; |
| | | } |
| | | </style> |