Преглед изворни кода

增加 点击版本查看uuid的功能

Changpeng Duan пре 5 година
родитељ
комит
b7aad05cea

+ 29 - 20
pc/src/views/LessonTable.vue

@@ -50,22 +50,22 @@
                         sortable
                 >
                 </el-table-column>
-                <!--<el-table-column-->
-                        <!--prop="ShopId"-->
-                        <!--label="是否通用"-->
-                <!--&gt;-->
-                    <!--<template slot-scope="scope">-->
-                        <!--<el-switch-->
-                                <!--v-model="scope.row.allUse"-->
-                                <!--:active-value="1"-->
-                                <!--:inactive-value="0"-->
-                                <!--active-color="#409EFF"-->
-                                <!--inactive-color="#D9D9D9"-->
-                                <!--@change=changeShopId($event,scope.row)-->
-                        <!--&gt;-->
-                        <!--</el-switch>-->
-                    <!--</template>-->
-                <!--</el-table-column>-->
+                <el-table-column
+                        prop="ShopId"
+                        label="是否跨店"
+                >
+                    <template slot-scope="scope">
+                        <el-switch
+                                v-model="scope.row.allUse"
+                                :active-value="0"
+                                :inactive-value="switchTurn"
+                                active-color="#409EFF"
+                                inactive-color="#D9D9D9"
+                                @change=changeShopId($event,scope.row)
+                        >
+                        </el-switch>
+                    </template>
+                </el-table-column>
                 <el-table-column
                         prop="Status"
                         label="状态"
@@ -177,6 +177,7 @@
         data() {
             return {
                 previewShow: false,
+                switchTurn:localStorage.shopId,
                 previewDate: {},
                 BigTitle: '',
                 smallTitle: '',
@@ -237,14 +238,22 @@
                     }
                 })
             },
-            // 通用修改
+            // 跨店修改
             changeShopId(e, row) {
                 let that = this;
-                let shopId = !e ? 0 : 1;
+                let shopId = 0;
+                if(e != 0){
+                    shopId =  localStorage.shopId;
+                    row.allUse =  localStorage.shopId;
+                }else{
+                    shopId = 0;
+                    row.allUse =  0
+                }
+
                 let param = {
                     token: localStorage.token,
                     planId: row.PlanId,//
-                    shopId: shopId,//跨店课程,通用 >0: 本店特有课程,不通用
+                    shopId: shopId,//跨店课程,跨店 >0: 本店特有课程,不跨店
                 };
                 let postdata = qs.stringify(param);
                 SttPlanBasicShopEdit(postdata).then(res => {
@@ -256,7 +265,7 @@
                             type: 'success'
                         });
                         // 重载列表
-                        that.getTableQuery();
+                        // that.getTableQuery();
                     } else {
                         that.$message.error(json.Memo);
                     }

+ 1 - 0
tv/package.json

@@ -16,6 +16,7 @@
     "nprogress": "^0.2.0",
     "postcss-loader": "^4.0.4",
     "postcss-pxtorem": "^5.1.1",
+    "qrcodejs2": "^0.0.2",
     "qs": "^6.9.4",
     "v-charts": "^1.19.0",
     "vue": "^2.6.11",

+ 55 - 2
tv/src/Global.js

@@ -390,7 +390,60 @@ numberToWeekdays = function (val) {
 
 // 随机背景
 RandomBg = function () {
-    let bgClassNum = parseInt(Math.random() * 3)+1;
-    return 'bgStyle' + bgClassNum + '  pages' ;
+    let bgClassNum = parseInt(Math.random() * 3) + 1;
+    return 'bgStyle' + bgClassNum + '  pages';
 };
 
+// 运动强度
+sportLevel = function (val) {
+    let colorClass = '';
+    let per = parseInt(val);
+    switch (true) {
+        case per >= 90:
+            colorClass = 'red';
+            break;
+        case per <= 89 && per > 79:
+            colorClass = 'brown';
+            break;
+        case per <= 79 && per > 70:
+            colorClass = 'yellow';
+            break;
+        case per <= 70 && per > 54:
+            colorClass = 'green';
+            break;
+        case per <= 54 && per > 39:
+            colorClass = 'violet';
+            break;
+        case per <= 39:
+            colorClass = 'blue';
+            break
+    }
+    return colorClass
+};
+
+// 假数据生成器
+fakeNews = function (num, team) {
+    let item = [];
+    let nums = Math.random() * 100 + 1;
+    let teamNum = team == 3 ? 3 : 2;
+    for (var i = 0; i < num; i++) {
+        item.push(
+            {
+                "SvId": 1,
+                "UserId": 1,
+                "Cle": i * 14,
+                "realHr1": parseInt(Math.random() * 100 + 50),
+                "realHr": 30,
+                "activePercent": parseInt(Math.random() * 100 + 50),
+                "heartRate": 90,
+                "PureCalorieNoVo2": 999,
+                "Name": "测试人",
+                "updateTime": 1604568915582,
+                "Ck": nums + i * 2.2,
+                "Head": "http://192.168.0.2/zw.png",
+                "GroupNo": i % teamNum + 1
+            }
+        )
+    }
+    return item;
+};

BIN
tv/src/api/wifi.png


+ 52 - 11
tv/src/components/Headside.vue

@@ -1,25 +1,43 @@
 <template>
-    <div class="headerContainer">
+    <div class="headerContainer dv1">
         <div class="lt">
             <em> {{ nowWeeks }}</em> <span>  {{ nowDay }}</span>
         </div>
         <div class="rt">
             {{ nowTime }}
-            <span>版本:{{version}}</span>
-            <img src="../static/img/blue.svg" />
-            <img src="../static/img/wifi.svg" />
+
+            <span @click="showUuid()">版本:{{version}}</span>
+            <img src="../static/img/blue.svg"/>
+            <img src="../static/img/wifi.svg"/>
         </div>
 
+
+        <el-dialog
+                title="当前设备uuid"
+                :visible.sync="dialogVisible"
+                width="100%"
+        >
+            <span>{{eqSn}}</span>
+            <div id='qrcode' class="qrcode" ref="qrCodeUrl">
+
+            </div>
+            <span slot="footer" class="dialog-footer">
+            <el-button @click="dialogVisible = false">了解</el-button>
+  </span>
+        </el-dialog>
     </div>
 </template>
 
 <script>
     import global from '../Global'
     import '../libs/rem';
+    import QRCode from 'qrcodejs2'
 
     export default {
         data() {
             return {
+                dialogVisible: false,
+                eqSn: localStorage.eqSn,
                 nowWeeks: '',
                 nowDay: '',
                 nowTime: '',
@@ -32,7 +50,7 @@
                 let h = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
                 let m = date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':';
                 let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
-                this.nowTime =  h + m + s;
+                this.nowTime = h + m + s;
                 this.nowDayFunc();
             }, 1000);
             this.getCurVersion();
@@ -49,13 +67,29 @@
                 let wd = numberToWeekdays(days);
                 this.nowWeeks = wd;
                 this.nowDay = globalcurrent();
-            },
-            nowTimeFunc() {
-
             },
             // 获取当前版本
             getCurVersion() {
                 // console.log(version)
+            },
+            qrcode(code) {
+                let qrcode = new QRCode(this.$refs.qrCodeUrl, {
+                    width: 200,
+                    height: 200, // 高度
+                    text: code, // 二维码内容
+                    image: '',
+                    render: 'canvas',// 设置渲染方式(有两种方式 table和canvas,默认是canvas)
+                    background: '#f0f',
+                    foreground: '#ff0',
+                });
+            },
+            showUuid() {
+                this.dialogVisible = true;
+                this.$nextTick(function () {
+                    setTimeout(() => {
+                        this.qrcode(localStorage.eqSn);
+                    }, 500);
+                })
             }
         }
     }
@@ -68,7 +102,6 @@
         display: block;
         margin: 0 auto;
         margin-top: 1%;
-        padding: 0;
         padding: 2%;
         background: url("../static/img/logo.svg");
         background-position: top center;
@@ -106,7 +139,7 @@
     .rt img {
         position: absolute;
         top: 4%;
-        right:  9%;
+        right: 9%;
         padding: 0;
         margin: 0;
         float: right;
@@ -123,6 +156,7 @@
         font-style: normal;
         margin-right: 0.5rem;
     }
+
     .rt span {
         position: absolute;
         top: 4%;
@@ -131,10 +165,17 @@
         color: #fff;
         font-size: 0.2rem;
         text-align: center;
-        background: rgba(0,0,0,0.35);
+        background: rgba(0, 0, 0, 0.35);
         width: 1.2rem;
         height: 0.4rem;
         line-height: 0.4rem;
+        cursor: pointer;
+    }
 
+    #qrcode {
+        width: 1rem;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
     }
 </style>

+ 1 - 1
tv/src/main.js

@@ -11,7 +11,7 @@ import axios from 'axios'
 import VConsole from 'vconsole/dist/vconsole.min.js' //import vconsole
 
 if(process.env.NODE_ENV === 'development'){
-    let vConsole = new VConsole() // 初始化
+    // let vConsole = new VConsole() // 初始化
 }else{
 
 }

+ 2 - 10
tv/src/router/index.js

@@ -44,14 +44,6 @@ const routes = [
                     title: "排名",
                     clmid: "2",
                 }
-            },{
-                path: '/wait',
-                name: 'Wait',
-                component: () => import('@/views/Wait.vue'),
-                meta: {
-                    title: "等待",
-                    clmid: "2",
-                }
             },{
                 path: '/pk',
                 name: 'pk',
@@ -78,7 +70,7 @@ const routes = [
                 }
             },{
                 path: '/3pkRank',
-                name: 'threepk',
+                name: '3pkRank',
                 component: () => import('@/views/3pkRank.vue'),
                 meta: {
                     title: "3pkRank",
@@ -91,7 +83,7 @@ const routes = [
         name: '404',
         component: () => import( '../views/404.vue')
     },
-]
+];
 
 const originalPush = VueRouter.prototype.push;
 VueRouter.prototype.push = function push(location) {

+ 3 - 3
tv/src/views/2pkRank.vue

@@ -132,7 +132,7 @@
                     console.log(this.totalTime);
                     if (parseInt(this.totalTime) < 0) {
                         // 前往等待页面
-                        that.$router.push({path: '/wait'});
+                        that.$router.push({path: '/'});
                         // 计时器回收
                         clearInterval(clock);
                     }
@@ -162,7 +162,7 @@
                             this.totalTime--;
                             if (parseInt(this.totalTime) < 0) {
                                 // 前往等待页面
-                                that.$router.push({path: '/wait'});
+                                that.$router.push({path: '/'});
                                 // 计时器回收
                                 clearInterval(clock);
                             }
@@ -262,7 +262,7 @@
                         this.students.CkSort = [];
                         this.students.CalSort = [];
                         if (json.Code == '999') {
-                            // that.$router.push({path: '/wait'});
+                            // that.$router.push({path: '/'});
                         } else {
                             // 已出错
                             that.$message.error(json.Memo);

+ 3 - 3
tv/src/views/3pkRank.vue

@@ -195,7 +195,7 @@
                     console.log(this.totalTime);
                     if (parseInt(this.totalTime) < 0) {
                         // 前往等待页面
-                        that.$router.push({path: '/wait'});
+                        that.$router.push({path: '/'});
                         // 计时器回收
                         clearInterval(clock);
                     }
@@ -226,7 +226,7 @@
                             console.log(this.totalTime);
                             if (parseInt(this.totalTime) < 0) {
                                 // 前往等待页面
-                                that.$router.push({path: '/wait'});
+                                that.$router.push({path: '/'});
                                 // 计时器回收
                                 clearInterval(clock);
                             }
@@ -357,7 +357,7 @@
                         // this.students.CalSort = json.Rs.CalSort;
                     } else {
                         if (json.Code == '999') {
-                            // that.$router.push({path: '/wait'});
+                            // that.$router.push({path: '/'});
                         } else {
                             // 已出错
                             that.$message.error(json.Memo);

+ 1 - 1
tv/src/views/Main.vue

@@ -264,7 +264,7 @@
         },
         watch: {
             '$route': function (val) {
-                if (val.path == '/') {
+                if (val.path == '/main') {
                     if (this.trueDate) {
                         this.mainTimer = setInterval(() => {
                             this.GetgetUserList();

+ 3 - 3
tv/src/views/Rank.vue

@@ -99,7 +99,7 @@
                     this.totalTime--;
                     if (parseInt(this.totalTime) < 0) {
                         // 前往等待页面
-                        that.$router.push({path: '/wait'});
+                        that.$router.push({path: '/'});
                         // 计时器回收
                         clearInterval(clock);
                     }
@@ -129,7 +129,7 @@
                             this.totalTime--;
                             if (parseInt(this.totalTime) < 0) {
                                 // 前往等待页面
-                                that.$router.push({path: '/wait'});
+                                that.$router.push({path: '/'});
                                 // 计时器回收
                                 clearInterval(clock);
                             }
@@ -196,7 +196,7 @@
                         this.students.CkSort = [];
                         this.students.CalSort = [];
                         if (json.Code == '999') {
-                            that.$router.push({path: '/wait'});
+                            that.$router.push({path: '/'});
                         } else {
                             // 已出错
                             that.$message.error(json.Memo);

+ 14 - 6
tv/src/views/Wait.vue

@@ -4,7 +4,7 @@
         <div class="rankContainer">
             <div class="lt">
                 <div class="recordMain">
-                    <el-carousel :interval="30000" height="370px">
+                    <el-carousel :interval="30000" height="100%">
                         <el-carousel-item v-for="rs in recordMain">
                             <div>
                                 <h5 v-html="rs.Title"></h5>
@@ -20,7 +20,7 @@
                     </el-carousel>
                 </div>
                 <div class="bottom">
-                    <el-carousel :interval="15000" height="280px">
+                    <el-carousel :interval="15000" height="100%">
                         <el-carousel-item v-for="Rs in bottom">
                             <div class="topOne" v-if="Rs.Style == 'tops'">
                                 <h5>{{Rs.Title}}</h5>
@@ -71,7 +71,7 @@
                 </div>
             </div>
             <div class="rt">
-                <el-carousel :interval="15000" height="610px">
+                <el-carousel :interval="15000" height="100%">
                     <el-carousel-item v-for="Rs in rt">
                         <h5>{{Rs.Title}}</h5>
                         <ul>
@@ -222,7 +222,7 @@
         },
         watch: {
             '$route': function (val) {
-                if (val.path == '/wait') {
+                if (val.path == '/') {
                     this.autoplayStatus = false;
                     if (this.trueDate) {
                         this.waitTimer = setInterval(() => {
@@ -461,11 +461,13 @@
 
     .rankContainer .rt {
         width: 40%;
+        height: 100%;
         float: right;
     }
 
     .recordMain {
         /*height: 6rem;*/
+        height: 100%;
         overflow: hidden;
     }
 
@@ -536,7 +538,7 @@
 
     .sumContainer {
         width: 100%;
-        height: 4rem;
+        /*height: 4rem;*/
         overflow: hidden;
         display: block;
         margin: 0 auto;
@@ -839,6 +841,12 @@
     }
 
     /deep/ .el-carousel__indicators--horizontal {
-        display: none;
+        /*display: none;*/
+    }
+    /deep/ .el-carousel {
+        height: 100%;
+    }
+    /deep/ .el-carousel__container {
+
     }
 </style>

+ 32 - 32
tv/src/views/pk.vue

@@ -32,8 +32,8 @@
                                 </div>
                                 <div class="umd">
                                     <div class="circle">
-                                        <img :src="s.Head" alt="" v-if="s.Head">
-                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                        <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
+                                        <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
                                     </div>
                                 </div>
                                 <div class="urt">
@@ -121,8 +121,8 @@
                                 </div>
                                 <div class="umd">
                                     <div class="circle">
-                                        <img :src="s.Head" alt="" v-if="s.Head">
-                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                        <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
+                                        <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
                                     </div>
                                 </div>
                                 <div class="urt">
@@ -227,7 +227,7 @@
                 let Dp = json.Dp;
                 that.ReadLessonInfo(Dp);
                 // 载入学生信息
-                let Rs = this.fakeNews(16);
+                let Rs = fakeNews(16);
                 that.UniteBreak(Rs);
 
                 // 人口总数
@@ -251,7 +251,7 @@
                         // }, 6000);
 
                     } else {
-                        let Rs = this.fakeNews(16);
+                        let Rs = fakeNews(16);
                         that.UniteBreak(Rs);
 
                     }
@@ -268,32 +268,6 @@
             this.PkEgg = null;
         },
         methods: {
-            fakeNews(num) {
-                let item = [];
-                let nums = Math.random() * 100 + 1;
-                this.fakeNums = num;
-                for (var i = 0; i < this.fakeNums; i++) {
-                    item.push(
-                        {
-                            "SvId": 1,
-                            "UserId": 1,
-                            "Cle": i * 14,
-                            "realHr1": parseInt(Math.random() * 100 + 50),
-                            "realHr": 60,
-                            "activePercent": 30,
-                            "heartRate": 90,
-                            "PureCalorieNoVo2": 9999,
-                            "PureCalorieNoVo2": 999,
-                            "Name": "刘宇宁",
-                            "updateTime": 1604568915582,
-                            "Ck": nums + i * 2.2,
-                            "Head": "http://192.168.0.2/zw.png",
-                            "GroupNo": i % 2 + 1
-                        }
-                    )
-                }
-                return item;
-            },
             // 载入课程信息
             ReadLessonInfo(Dp) {
                 this.PlanName = Dp.PlanName;
@@ -309,6 +283,7 @@
                     that.students.blueUnite = [];
                 } else {
                     Rs.map(function (item, t) {
+                        item.sportLevel = sportLevel(item.activePercent);
                         if (item.GroupNo == 1) {
                             that.students.redUnite.push(item);
                         }
@@ -1361,4 +1336,29 @@
     .pk_container .rt li {
         float: right;
     }
+
+    /*color*/
+    .user .umd img.blue {
+        border-color: #028FE1;
+    }
+
+    .user .umd img.violet {
+        border-color: #6D26FA;
+    }
+
+    .user .umd img.green {
+        border-color: #0AB105;
+    }
+
+    .user .umd img.yellow {
+        border-color: #BACC01;
+    }
+
+    .user .umd img.brown {
+        border-color: #EA8813;
+    }
+
+    .user .umd img.red {
+        border-color: #CF1122;
+    }
 </style>

+ 65 - 63
tv/src/views/threepk.vue

@@ -69,8 +69,8 @@
                                 </div>
                                 <div class="umd">
                                     <div class="circle">
-                                        <img :src="s.Head" alt="" v-if="s.Head">
-                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                        <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
+                                        <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
                                     </div>
                                 </div>
                                 <div class="urt">
@@ -119,8 +119,8 @@
                                 </div>
                                 <div class="umd">
                                     <div class="circle">
-                                        <img :src="s.Head" alt="" v-if="s.Head">
-                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                        <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
+                                        <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
                                     </div>
                                 </div>
                                 <div class="urt">
@@ -169,8 +169,8 @@
                                 </div>
                                 <div class="umd">
                                     <div class="circle">
-                                        <img :src="s.Head" alt="" v-if="s.Head">
-                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                        <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
+                                        <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
                                     </div>
                                 </div>
                                 <div class="urt">
@@ -259,32 +259,35 @@
                 // }, 6000);
 
             } else {
-                // 虚假的数据
-                let json = {
-                    "Code": "0",
-                    "Memo": "Success",
-                    "Dp": {
-                        "PlanId": 182,
-                        "ShopId": 1,
-                        "SvId": 1,
-                        "PlanName": "齐源大厦浏览器显示2020-12-02日08:40开始的竞技游戏",
-                        "Status": 2,
-                        "BeginTime": "17:15:18",
-                        "EndTime": 0,
-                        "ClassType": 2,
-                        "PkNum": 2
-                    }
-                };
-                // 载入课程信息
-                let Dp = json.Dp;
-                that.ReadLessonInfo(Dp);
-                // 载入学生信息
-                let Rs = this.fakeNews(14);
-                that.UniteBreak(Rs);
-
-                // 人口总数
-                that.num = Rs ? Rs.length + 1 : 0;
-                this.ClacClassTime();
+                this.PkTimer = setInterval(() => {
+                    // 虚假的数据
+                    let json = {
+                        "Code": "0",
+                        "Memo": "Success",
+                        "Dp": {
+                            "PlanId": 182,
+                            "ShopId": 1,
+                            "SvId": 1,
+                            "PlanName": "齐源大厦浏览器显示2020-12-02日08:40开始的竞技游戏",
+                            "Status": 2,
+                            "BeginTime": "17:15:18",
+                            "EndTime": 0,
+                            "ClassType": 2,
+                            "PkNum": 2
+                        }
+                    };
+                    // 载入课程信息
+                    let Dp = json.Dp;
+                    that.ReadLessonInfo(Dp);
+                    // 载入学生信息
+                    let Rs = fakeNews(14,3);
+                    that.UniteBreak(Rs);
+
+                    // 人口总数
+                    that.num = Rs ? Rs.length + 1 : 0;
+                    this.ClacClassTime();
+                    // this.calcSumCK(Rs);
+                }, 1000);
             }
         },
         watch: {
@@ -303,7 +306,7 @@
                         // }, 6000);
 
                     } else {
-                        let Rs = this.fakeNews(16);
+                        let Rs = fakeNews(16,3);
                         that.UniteBreak(Rs);
 
                     }
@@ -320,32 +323,6 @@
             this.PkEgg = null;
         },
         methods: {
-            fakeNews(num) {
-                let item = [];
-                let nums = Math.random() * 100 + 1;
-                this.fakeNums = num;
-                for (var i = 0; i < this.fakeNums; i++) {
-                    item.push(
-                        {
-                            "SvId": 1,
-                            "UserId": 1,
-                            "Cle": i * 14,
-                            "realHr1": parseInt(Math.random() * 100 + 50),
-                            "realHr": 60,
-                            "activePercent": 30,
-                            "heartRate": 90,
-                            "PureCalorieNoVo2": 9999,
-                            "PureCalorieNoVo2": 999,
-                            "Name": "刘宇宁",
-                            "updateTime": 1604568915582,
-                            "Ck": nums + i * 2.2,
-                            "Head": "http://192.168.0.2/zw.png",
-                            "GroupNo": i % 3 + 1
-                        }
-                    )
-                }
-                return item;
-            },
             // 载入课程信息
             ReadLessonInfo(Dp) {
                 this.PlanName = Dp.PlanName;
@@ -363,6 +340,7 @@
                     that.students.yellowUnite = [];
                 } else {
                     Rs.map(function (item, t) {
+                        item.sportLevel = sportLevel(item.activePercent);
                         if (item.GroupNo == 1) {
                             that.students.redUnite.push(item);
                         }
@@ -401,7 +379,6 @@
                 that.yellowSum = yellowSum.toFixed(1);
 
 
-
                 // 进度条 formatCk
                 let redFmtSum = 0;
                 let blueFmtSum = 0;
@@ -417,7 +394,7 @@
                 });
 
                 // pkVal
-                let sumMax =redFmtSum+ blueFmtSum + yellowFmtSum;
+                let sumMax = redFmtSum + blueFmtSum + yellowFmtSum;
 
                 // 当为0时均分
                 if (sumMax == 0) {
@@ -427,7 +404,7 @@
                     // 限制最大
                     let pkval = parseInt((redFmtSum / sumMax) * 100) > 100 ? 100 : parseInt((redFmtSum / sumMax) * 100);
                     let yellowVal = parseInt((yellowFmtSum / sumMax) * 100) > 100 ? 100 : parseInt((yellowFmtSum / sumMax) * 100);
-                    console.log('that.pkVal:'+that.pkVal);
+                    console.log('that.pkVal:' + that.pkVal);
                     that.pkVal = pkval.toFixed(1) + '%';
                     that.yellowVal = yellowVal.toFixed(1) + '%';
                 }
@@ -537,7 +514,7 @@
                     if (json.Code == 0) {
                         // 没开课
                         if (json.ClassOn == 0) {
-                            console.log("xiakele ");
+                            console.log("已下课");
                             // 0: 下课 团课/私教 排名
                             // 1:团课/私教 todo
                             // 2:竞技课2PK
@@ -1531,4 +1508,29 @@
         height: 0.85rem;
         overflow: hidden;
     }
+
+    /*color*/
+    .user .umd img.blue {
+        border-color: #028FE1;
+    }
+
+    .user .umd img.violet {
+        border-color: #6D26FA;
+    }
+
+    .user .umd img.green {
+        border-color: #0AB105;
+    }
+
+    .user .umd img.yellow {
+        border-color: #BACC01;
+    }
+
+    .user .umd img.brown {
+        border-color: #EA8813;
+    }
+
+    .user .umd img.red {
+        border-color: #CF1122;
+    }
 </style>