From 753361f589444455fe1b20476c658201ccd92c38 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期三, 30 七月 2025 09:53:19 +0800
Subject: [PATCH] 更新优化

---
 代码管理/LargeScreen/CP-Screen/src/views/indexs/station-one.vue |  191 +++++++++++++++--------------------------------
 1 files changed, 63 insertions(+), 128 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-one.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-one.vue"
index eaa6e13..bbcbcbf 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-one.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/station-one.vue"
@@ -1,66 +1,33 @@
-<!--
- * @Author: daidai
- * @Date: 2022-02-28 16:16:42
- * @LastEditors: Please set LastEditors
- * @LastEditTime: 2022-07-20 17:57:11
- * @FilePath: \web-pc\src\pages\big-screen\view\indexs\left-center.vue
--->
 <template>
     <ul class="user_Overview flex" v-if="pageflag">
-        <li class="user_Overview-item" style="color: #00fdfa">
+        <li class="user_Overview-item" style="color: #b3d1ff">
             <div class="user_Overview_nums allnum ">
                 <dv-digital-flop :config="inboundConfig" style="width:100%;height:100%;" />
             </div>
-            <p>鎴愬搧鍏ュ簱</p>
+            <p>鎴愬搧鍏ュ簱鍗犳瘮</p>
             <br>
-            <!-- <p>{{stationstate[0].station_state}}</p> -->
-            <!-- <p v-if="stationstate[0].station_state == '妫�淇腑'">{{stationstate[0].station_checkName}}</p> -->
         </li>
-        <li class="user_Overview-item" style="color: #07f7a8">
+        <li class="user_Overview-item" style="color: #f8c8dc">
             <div class="user_Overview_nums online">
                 <dv-digital-flop :config="outboundConfig" style="width:100%;height:100%;" />
             </div>
-            <p>鎴愬搧鍑哄簱</p>
+            <p>鎴愬搧鍑哄簱鍗犳瘮</p>
             <br>
-            <!-- <p>{{stationstate[1].station_state}}</p> -->
-            <!-- <p v-if="stationstate[1].station_state == '妫�淇腑'">{{stationstate[1].station_checkName}}</p> -->
         </li>
         <li class="user_Overview-item" style="color: #E6A23C">
             <div class="user_Overview_nums offline">
                 <dv-digital-flop :config="backConfig" style="width:100%;height:100%;" />
             </div>
-            <p>鎴愬搧鍥炴</p>
+            <p>鎴愬搧璋冩嫧鍗犳瘮</p>
             <br>
-            <!-- <p>{{stationstate[1].station_state}}</p> -->
-            <!-- <p v-if="stationstate[1].station_state == '妫�淇腑'">{{stationstate[1].station_checkName}}</p> -->
         </li>
         <li class="user_Overview-item" style="color: #f56c6c">
             <div class="user_Overview_nums laramnum">
                 <dv-digital-flop :config="surplusConfig" style="width:100%;height:100%;" />
             </div>
-            <p>鎴愬搧閫�搴�</p>
+            <p>鎴愬搧閫�鏂欏崰姣�</p>
             <br>
-            <!-- <p>{{stationstate[1].station_state}}</p> -->
-            <!-- <p v-if="stationstate[1].station_state == '妫�淇腑'">{{stationstate[1].station_checkName}}</p> -->
         </li>
-        <!-- <li class="user_Overview-item" style="color: #e3b337">
-            <div class="user_Overview_nums offline">
-                <dv-digital-flop :config="offlineconfig" style="width:100%;height:100%;" />
-            </div>
-            <p>3鍙锋淇彴</p>
-            <br>
-            <p>{{stationstate[2].station_state}}</p>
-            <p v-if="stationstate[2].station_state == '妫�淇腑'">{{stationstate[2].station_checkName}}</p>
-        </li>
-        <li class="user_Overview-item" style="color: #e3b337">
-            <div class="user_Overview_nums offline">
-                <dv-digital-flop :config="offlineconfig" style="width:100%;height:100%;" />
-            </div>
-            <p>4鍙锋淇彴</p>
-            <br>
-            <p>{{stationstate[3].station_state}}</p>
-            <p v-if="stationstate[3].station_state == '妫�淇腑'">{{stationstate[3].station_checkName}}</p>
-        </li> -->
     </ul>
     <Reacquire v-else @onclick="getData" line-height="200px">
         閲嶆柊鑾峰彇
@@ -69,7 +36,7 @@
 
 <script>
 import { currentGET } from 'api/modules'
-import {Floorfault} from "@/api/http.js"
+import { Floorfault } from "@/api/http.js"
 let style = {
     fontSize: 24
 }
@@ -83,42 +50,38 @@
                 onlineNum: 5,
                 totalNum: 10,
             },
-            stationstate:[],
+            stationstate: [],
             pageflag: true,
             timer: null,
-            backConfig: { //鎴愬搧鍥炴
-                number: [9999],
-                content: '{nt}',
+            backConfig: { // 鎴愬搧鍥炴
+                number: [0],
+                content: '{nt}%',
                 style: {
                     ...style,
-                    // stroke: "#00fdfa",
-                    fill: "#E6A23C",
+                    fill: "#b3d1ff",
                 },
             },
-            surplusConfig: { //鎴愬搧浣欐枡
-                number: [100],
-                content: '{nt}',
+            surplusConfig: { // 鎴愬搧浣欐枡
+                number: [0],
+                content: '{nt}%',
                 style: {
                     ...style,
-                    // stroke: "#00fdfa",
                     fill: "#f56c6c",
                 },
             },
-            inboundConfig: { //鎴愬搧鍏ュ簱
-                number: [100],
-                content: '{nt}',
+            inboundConfig: { // 鎴愬搧鍏ュ簱
+                number: [0],
+                content: '{nt}%',
                 style: {
                     ...style,
-                    // stroke: "#00fdfa",
                     fill: "#00fdfa",
                 },
             },
-            outboundConfig: { //鎴愬搧鍑哄簱
+            outboundConfig: { // 鎴愬搧鍑哄簱
                 number: [0],
-                content: '{nt}',
+                content: '{nt}%',
                 style: {
                     ...style,
-                    // stroke: "#07f7a8",
                     fill: "#07f7a8",
                 },
             },
@@ -136,7 +99,6 @@
     },
     beforeDestroy() {
         this.clearData()
-
     },
     methods: {
         clearData() {
@@ -147,76 +109,52 @@
         },
         async getData() {
             this.pageflag = true;
-            // currentGET("big2").then((res) => {
-            //     if (!this.timer) {
-            //         console.log("璁惧鎬昏2", res);
-            //     }
-            //     if (res.success) {
-            //         this.userOverview = res.data;
-            //            this.onlineconfig = {
-            //             ...this.onlineconfig,
-            //             number: [1]
-            //         }
-            //         this.config = {
-            //             ...this.config,
-            //             number: [7]
-            //         }
-            //         this.offlineconfig = {
-            //             ...this.offlineconfig,
-            //             number: [4]
-            //         }
-            //         this.laramnumconfig = {
-            //             ...this.laramnumconfig,
-            //             number: [10]
-            //         }
-            //         this.switper();  
-            //     } else {
-            //         this.pageflag = false;
-            //         this.$Message.warning(res.msg);
-            //     }
-            // });
-                    var rep = await Floorfault();
+            try {
+                const rep = await Floorfault();
+                
+                // 鎻愬彇鍥涗釜绫诲瀷鐨勬暟閲�
+                const values = [
+                    rep.inboundCount || 0,
+                    rep.outboundCount || 0,
+                    rep.allocateCount || 0,
+                    rep.surplusCount || 0
+                ];
+                
+                // 璁$畻鎬诲拰
+                const total = values.reduce((sum, value) => sum + value, 0);
+                
+                // 璁$畻鍚勭被鍨嬬櫨鍒嗘瘮锛堢‘淇濇�诲拰涓�100%锛�
+                let percentSum = 0;
+                const percentages = values.map((value, index) => {
+                    // 鏈�鍚庝竴涓櫨鍒嗘瘮閫氳繃鍑忔硶纭繚鎬诲拰涓�100%
+                    const isLast = index === values.length - 1;
+                    const percent = isLast 
+                        ? 100 - percentSum 
+                        : total > 0 ? parseFloat(((value / total) * 100).toFixed(1)) : 0;
                     
-                    this.inboundConfig={
-                        ...this.inboundConfig,
-                        number: [rep.inboundCount]
-                    }
-                    this.outboundConfig={
-                        ...this.outboundConfig,
-                        number: [rep.outboundCount]
-                    }
-                    this.backConfig={
-                        ...this.backConfig,
-                        number: [rep.backboundCount]
-                    }
-                    this.surplusConfig={
-                        ...this.surplusConfig,
-                        number: [rep.surplusCount]
-                    }
-                    // this.onlineconfig = {
-                    //     ...this.onlineconfig,
-                    //     number: [rep[0].station_qty]
-                    // }
-                    // this.config = {
-                    //     ...this.config,
-                    //     number: [rep[1].station_qty]
-                    // }
-                    // this.offlineconfig = {
-                    //     ...this.offlineconfig,
-                    //     number: [rep[2].station_qty]
-                    // }
-                    // this.offlineconfig = {
-                    //     ...this.offlineconfig,
-                    //     number: [rep[3].station_qty]
-                    // }
-                    this.switper(); 
+                    percentSum += percent;
+                    return percent;
+                });
+                
+                // 鏇存柊鏁板瓧缈荤墝鍣ㄩ厤缃�
+                this.inboundConfig = { ...this.inboundConfig, number: [percentages[0]] };
+                this.outboundConfig = { ...this.outboundConfig, number: [percentages[1]] };
+                this.backConfig = { ...this.backConfig, number: [percentages[3]] };
+                this.surplusConfig = { ...this.surplusConfig, number: [percentages[3]] };
+
+                this.switper();
+            } catch (error) {
+                this.pageflag = false;
+                console.error("鑾峰彇鏁版嵁澶辫触锛�", error);
+                this.$Message.warning("鏁版嵁鑾峰彇澶辫触锛岃閲嶈瘯");
+            }
         },
-        //杞
+        // 杞
         switper() {
             if (this.timer) {
                 return
             }
-            let looper = (a) => {
+            let looper = () => {
                 this.getData()
             };
             this.timer = setInterval(looper, this.$store.state.setting.echartsAutoTime);
@@ -224,6 +162,7 @@
     },
 };
 </script>
+
 <style lang='scss' scoped>
 .user_Overview {
     li {
@@ -233,6 +172,8 @@
             text-align: center;
             height: 16px;
             font-size: 16px;
+            white-space: nowrap; // 闃叉鏂囧瓧鎹㈣
+            margin: 5px 0; // 璋冩暣闂磋窛
         }
 
         .user_Overview_nums {
@@ -261,32 +202,26 @@
         }
 
         .allnum {
-
-            // background-image: url("../../assets/img/left_top_lan.png");
             &::before {
                 background-image: url("../../assets/img/left_top_lan.png");
-
             }
         }
 
         .online {
             &::before {
                 background-image: url("../../assets/img/left_top_lv.png");
-
             }
         }
 
         .offline {
             &::before {
                 background-image: url("../../assets/img/left_top_huang.png");
-
             }
         }
 
         .laramnum {
             &::before {
                 background-image: url("../../assets/img/left_top_hong.png");
-
             }
         }
     }

--
Gitblit v1.9.3