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

Merge branch 'master' of git.beswell.com:duanchangpeng/flyLong

 Conflicts:
	tv/src/Global.js
duanchangpeng пре 5 година
родитељ
комит
f18b252798

+ 11 - 10
pc/src/api/Navs.js

@@ -141,6 +141,16 @@ let navs = [
         "show": 2,
         "grouplist": "2,5",
         "icon": "el-icon-s-shop",
+    }
+    , {
+        "clmid": "13",
+        "clmcode": "adminManage",
+        "clmname": "管理员管理",
+        "clmurl": "/adminManage",
+        "prname": "",
+        "show": 2,
+        "grouplist": "2,5",
+        "icon": "el-icon-user",
     },
     {
         "clmid": "11",
@@ -151,15 +161,6 @@ let navs = [
         "show": 2,
         "grouplist": "2,5",
         "icon": "el-icon-user-solid",
-    },{
-        "clmid": "13",
-        "clmcode": "adminManage",
-        "clmname": "管理员管理",
-        "clmurl": "/adminManage",
-        "prname": "",
-        "show": 2,
-        "grouplist": "2,5",
-        "icon": "el-icon-user",
     }, {
         "clmid": "14",
         "clmcode": "log",
@@ -169,7 +170,7 @@ let navs = [
         "show": 2,
         "grouplist": "2,5",
         "icon": "el-icon-s-claim",
-    },  {
+    }, {
         "clmid": "22",
         "clmcode": "setting",
         "clmname": "系统设置",

+ 12 - 0
pc/src/api/getApiRes.js

@@ -789,3 +789,15 @@ export function ClassHourStatistics(postdata) {
     let url = headapi + 'v1/SchoolTimeTable/ClassHourStatistics ';
     return getApiBasic(url, postdata);
 }
+
+// 根据手机号码判断用户信息
+export function VipUserQueryByPhone(postdata) {
+    let url = headapi + 'v1/User/VipUserQueryByPhone ';
+    return getApiBasic(url, postdata);
+}
+
+// 关联手机号删除
+export function VipUserAssociatedPhoneDel(postdata) {
+    let url = headapi + 'v1/User/VipUserAssociatedPhoneDel ';
+    return getApiBasic(url, postdata);
+}

+ 32 - 32
pc/src/views/AdminManage.vue

@@ -9,10 +9,10 @@
               <em>姓名:</em>
               <el-input v-model="panel.name" placeholder="请输入用户名"></el-input>
             </el-col>
-            <el-col :span="4">
-              <em>手机号:</em>
-              <el-input v-model="panel.phone" placeholder="请输入手机号" type="number" ></el-input>
-            </el-col>
+            <!--<el-col :span="4">-->
+              <!--<em>手机号:</em>-->
+              <!--<el-input v-model="panel.phone" placeholder="请输入手机号" type="number" ></el-input>-->
+            <!--</el-col>-->
             <el-col :span="4">
               <em>店面:</em>
               <el-select v-model="panel.shopId">
@@ -81,12 +81,12 @@
             sortable
         >
         </el-table-column>
-        <el-table-column
-            prop="Phone"
-            label="手机号"
-            sortable
-        >
-        </el-table-column>
+        <!--<el-table-column-->
+            <!--prop="Phone"-->
+            <!--label="手机号"-->
+            <!--sortable-->
+        <!--&gt;-->
+        <!--</el-table-column>-->
         <el-table-column
             prop="AdminType"
             label="角色"
@@ -167,9 +167,9 @@
           <el-form-item label="姓名">
             <el-input v-model="form.name"></el-input>
           </el-form-item>
-          <el-form-item label="手机号">
-            <el-input v-model="form.phone"></el-input>
-          </el-form-item>
+          <!--<el-form-item label="手机号">-->
+            <!--<el-input v-model="form.phone"></el-input>-->
+          <!--</el-form-item>-->
           <el-form-item label="所属门店">
             <el-select v-model="form.shopId" placeholder="请选择所属门店">
               <el-option
@@ -338,14 +338,14 @@ export default {
         this.$message.error('错了哦,姓名字数超过8个字');
         return false
       }
-      if (!that.form.phone) {
-        this.$message.error('错了哦,手机号码不能为空');
-        return false
-      }
-      if (!globalCheckPhone(that.form.phone)) {
-        this.$message.error('错了哦,手机号格式不正确');
-        return false
-      }
+      // if (!that.form.phone) {
+      //   this.$message.error('错了哦,手机号码不能为空');
+      //   return false
+      // }
+      // if (!globalCheckPhone(that.form.phone)) {
+      //   this.$message.error('错了哦,手机号格式不正确');
+      //   return false
+      // }
       if (that.form.memo) {
         if (that.form.name.memo > 200) {
           this.$message.error('错了哦,备注字数超过200个字');
@@ -359,7 +359,7 @@ export default {
         usercode: that.form.userCode,
         password: that.form.password,
         name: that.form.name,
-        phone: that.form.phone,
+        // phone: that.form.phone,
         adminType: that.form.adminType,
         memo: that.form.memo,
       };
@@ -414,14 +414,14 @@ export default {
         this.$message.error('错了哦,姓名字数超过8个字');
         return false
       }
-      if (!that.form.phone) {
-        this.$message.error('错了哦,手机号码不能为空');
-        return false
-      }
-      if (!globalCheckPhone(that.form.phone)) {
-        this.$message.error('错了哦,手机号格式不正确');
-        return false
-      }
+      // if (!that.form.phone) {
+      //   this.$message.error('错了哦,手机号码不能为空');
+      //   return false
+      // }
+      // if (!globalCheckPhone(that.form.phone)) {
+      //   this.$message.error('错了哦,手机号格式不正确');
+      //   return false
+      // }
       if (that.form.memo) {
         if (that.form.name.memo > 200) {
           this.$message.error('错了哦,备注字数超过200个字');
@@ -436,7 +436,7 @@ export default {
         usercode: that.form.userCode,
         password: that.form.password,
         name: that.form.name,
-        phone: that.form.phone,
+        // phone: that.form.phone,
         memo: that.form.memo,
       };
       let postdata = qs.stringify(param);
@@ -615,7 +615,7 @@ export default {
         token: localStorage.token,
         shopId: this.panel.shopId,
         name: this.panel.name,
-        phone: this.panel.phone,
+        // phone: this.panel.phone,
         adminType: this.panel.adminType,
         start: 1,//
         tableMax: 9999,//

+ 15 - 14
pc/src/views/Lesson.vue

@@ -153,7 +153,7 @@
                             <el-input-number v-model="form.TopLimit" :min="0" :max="99999"
                                              label="(天)"></el-input-number>
                         </el-form-item>
-                        <el-form-item label="微信可见">
+                        <el-form-item label="微信可见" v-if="form.btnType == 0">
                             <el-switch
                                     v-model="form.wxVisible"
                                     :active-value="1"
@@ -162,15 +162,15 @@
                                     inactive-color="#D9D9D9">
                             </el-switch>
                         </el-form-item>
-                        <!--<el-form-item label="是否可选课">-->
-                        <!--<el-switch-->
-                        <!--v-model="form.ShopId"-->
-                        <!--:active-value="form.ShopId"-->
-                        <!--:inactive-value="0"-->
-                        <!--active-color="#409EFF"-->
-                        <!--inactive-color="#D9D9D9">-->
-                        <!--</el-switch>-->
-                        <!--</el-form-item>-->
+                        <el-form-item label="是否可选课">
+                            <el-switch
+                                    v-model="form.ClassType"
+                                    :active-value="1"
+                                    :inactive-value="0"
+                                    active-color="#409EFF"
+                                    inactive-color="#D9D9D9">
+                            </el-switch>
+                        </el-form-item>
                         <el-form-item label="是否跨店">
                             <el-switch
                                     v-model="form.allUse"
@@ -296,8 +296,8 @@
                     ClassName: "",
                     ConsumeHour: 0,
                     TopLimit: 0,
+                    ClassType: 0,
                     wxVisible: 1,
-                    classType: 1,
                     ClassColor: "#ffffff",
                     teacherId: "",
                     classId: "",
@@ -412,7 +412,7 @@
                     className: that.form.ClassName,
                     consumeHour: that.form.ConsumeHour,
                     topLimit: that.form.TopLimit,
-                    classType: that.form.classType,
+                    classType: that.form.ClassType,
                     wxVisible: that.form.wxVisible,
                     classColor: that.form.ClassColor,
                     userlist: userlist,
@@ -465,7 +465,7 @@
                     className: that.form.ClassName,
                     consumeHour: that.form.ConsumeHour,
                     topLimit: that.form.TopLimit,
-                    classType: that.form.classType,
+                    classType: that.form.ClassType,
                     wxVisible: that.form.wxVisible,
                     classColor: that.form.ClassColor,
                     teacherId: teacherId,
@@ -657,7 +657,8 @@
                 this.form.ClassColor = row.ClassColor;
                 this.form.Memo = row.Memo;
                 this.form.dialogValue = row.teacherId;
-                this.form.classId = row.ClassId
+                this.form.classId = row.ClassId;
+                this.form.ClassType = row.ClassType;
                 this.form.ShopId = row.ShopId;
                 this.form.allUse = row.ShopId;
                 this.dialogLesson = true;

+ 1 - 0
pc/src/views/LessonTable.vue

@@ -53,6 +53,7 @@
                 <el-table-column
                         prop="ShopId"
                         label="是否跨店"
+                        sortable
                 >
                     <template slot-scope="scope">
                         <el-switch

+ 13 - 1
pc/src/views/Log.vue

@@ -89,6 +89,7 @@
             prop="OptPhone"
             label="手机号"
             width="120"
+            sortable
         >
         </el-table-column>
         <el-table-column
@@ -113,6 +114,17 @@
             label="操作信息"
             sortable
         >
+            <template slot-scope="scope">
+                <el-popover
+                        placement="top"
+                        title="具体语句"
+                        trigger="hover"
+                        :content="scope.row.OptInfo">
+                            <span slot="reference"
+                                  v-if="scope.row.OptInfo.length > 30">{{ scope.row.OptInfo.substr(0, 30) }} ....</span>
+                </el-popover>
+                <span v-if="scope.row.OptInfo.length <= 30">{{ scope.row.OptInfo }}</span>
+            </template>
         </el-table-column>
         <el-table-column
             prop="Result"
@@ -170,7 +182,7 @@ export default {
         multipleSelection: [],
         detectedmac: '',
         time1: globalBt(),
-        timeScope: globalBt2(30),
+        timeScope: globalBt2(0),
       },
       multipleSelection: [],
       pageination: {

+ 42 - 17
pc/src/views/Main.vue

@@ -146,25 +146,29 @@
                     <!--                    TodayVipOrder-->
                     <li v-for="as in appointList" @click="goAppointDetail(as.UserName)">
                         <div class="asTitle">
-                            <img :src="as.Head" alt="" v-if="as.Head" width="25px" height="25px">
-                            <img src="../assets/img/nav/head.png" alt="" v-else width="25px" height="25px">
                             <span>
-                                {{ as.UserName }}
-                                {{ as.Phone }}  &nbsp; &nbsp; &nbsp;
-                                <em>预约时间:  {{ as.Base.CreatedAt |parseDate }}</em>
+                                  <img :src="as.Head" alt="" v-if="as.Head" width="25px" height="25px">
+                            <img src="../assets/img/nav/head.png" alt="" v-else width="25px" height="25px">
+                                <div>
+                                       {{ as.UserName }} {{ as.Phone }}
+                                </div>
                           </span>
+                            <span>
+                                 <div>预约时间:</div>{{ as.Base.CreatedAt |parseDate }}
+                            </span>
                         </div>
                         <div class="asContent">
-                            <span>上课时间:<em>{{ as.CurrentDate.substr(5, 6) }} {{ as.BeginStr }}</em></span>
-                            <span>预约状态:
+                            <span><div>上课时间:</div><em>{{ as.CurrentDate.substr(5, 6) }} {{ as.BeginStr }}</em></span>
+                            <span><div>预约状态:</div>
                                 <em v-if="as.Status == 1" class="green">已预约</em>
                                 <em v-if="as.Status == 2" class="red">已取消</em>
                                 <em v-if="as.Status == 3" class="yellow">预约未到</em>
                                 <em v-if="as.Status == 4">已完成</em>
                             </span>
-                            <span>预约课程:<s class="blue"
-                                          :style="{ background:as.ClassColor }"> {{ as.ClassName }}</s></span>
-                            <span>剩余课时:<em :class="[{'red':as.RemainHour == 0}]">{{ as.RemainHour }}课时</em></span>
+                            <span><div>预约课程:</div><s class="blue"
+                                                     :style="{ background:as.ClassColor }"> {{ as.ClassName }}</s></span>
+                            <span v-if=" as.RemainHour != ''"><div>剩余课时:</div><em :class="[{'red':as.RemainHour == 0}]">{{ as.RemainHour }}课时</em></span>
+                            <span v-else><div>用户类型:</div><em>跨店用户</em></span>
                         </div>
                     </li>
                     <span class="tips middleTips" v-if="appointList == 0">
@@ -910,7 +914,6 @@
     }
 
     .asTitle {
-        width: 100%;
         height: 30px;
         overflow: hidden;
         display: block;
@@ -919,7 +922,10 @@
         line-height: 20px;
         color: #000000;
         font-size: 14px;
+    }
 
+    .asTitle span div {
+        margin-left: 8px;
     }
 
     .asTitle img {
@@ -928,18 +934,21 @@
     }
 
     .asTitle span {
-        /*width: 26px;*/
-        min-width: 300px;
+        width: 50%;
         height: 30px;
         line-height: 26px;
         float: left;
-        margin-right: 10px;
+        margin-right: 0px;
     }
 
     .asTitle em {
-        float: right;
+        width: 50%;
+        float: left;
         text-align: right;
     }
+    .asTitle span div {
+        float: left;
+    }
 
     .asContent {
         width: 100%;
@@ -961,6 +970,7 @@
     .asContent span em {
         color: #000;
         text-align: left;
+        float: left;
     }
 
     .asContent span s {
@@ -971,6 +981,10 @@
         text-align: center;
     }
 
+    .asContent span div {
+        float: left;
+    }
+
     .asContent span s.blue {
         background-color: #E5F2FF;
     }
@@ -1034,6 +1048,18 @@
             width: 80%;
         }
 
+        .asTitle {
+            height: 60px;
+        }
+
+        .asTitle img {
+            display: none;
+        }
+
+        .asTitle span {
+            width: 100%;
+        }
+
         .lt .top {
             width: 96%;
         }
@@ -1132,12 +1158,11 @@
         }
 
         .asTitle {
-            width: 30px;
             float: left;
         }
 
         .asContent {
-            width: 82%;
+            width: 100%;
         }
 
         .asContent span {

+ 74 - 4
pc/src/views/Member.vue

@@ -196,7 +196,7 @@
                         width="160px"
                 >
                     <template slot-scope="scope">
-                        <el-button class="btn" type="default" size="mini" @click="editMember(scope.row)">编辑</el-button>
+                        <el-button class="btn" type="default" size="mini" @click="editMember(scope.row)" v-if="userLevel != 4">编辑</el-button>
                         <el-button class="btn" type="danger" v-if="scope.row.UserInfo.Status == 1" size="mini"
                                    @click="pauseRow(scope.row)">
                             禁用
@@ -230,7 +230,7 @@
 
                     <el-form ref="form" :model="form" label-width="80px">
                         <el-form-item label="手机号" :required="true">
-                            <el-input v-model="form.phone"></el-input>
+                            <el-input v-model="form.phone" @blur="getUsrInfoList()"></el-input>
                         </el-form-item>
                         <el-form-item label="会员名" :required="true">
                             <el-input v-model="form.name"></el-input>
@@ -299,7 +299,7 @@
                         </el-form-item>
                     </el-form>
                 </div>
-                <div class="pull-right" v-if="form.btnType == 0">
+                <div class="pull-right" v-if="form.btnType == 0 && pullRight">
                     <el-form ref="form" :model="form" label-width="100px">
                         <el-form-item label="会员课程">
                             <el-transfer filterable v-model="form.classlist" :data="form.dialogdata"
@@ -309,7 +309,9 @@
                 </div>
             </div>
             <div class="dialogFooter">
-                <el-button type="primary" size="small" v-if="form.btnType == 0" @click="confirmMember">确定</el-button>
+                <el-button :disabled="addDisabled" type="primary" size="small" v-if="form.btnType == 0"
+                           @click="confirmMember">确定
+                </el-button>
                 <el-button type="primary" size="small" v-if="form.btnType == 1" @click="confirmEditMember">确定
                 </el-button>
                 <el-button size="small" @click="dialogMemberVisible = false">取消</el-button>
@@ -393,6 +395,7 @@
         VipUserClassEdit,
         QueryTakeCustomerByName,
         BindTakeCustomer,
+        VipUserQueryByPhone,
         testTable,
         testSelect
     } from "../api/getApiRes";
@@ -405,6 +408,8 @@
                 token: {}, // 七牛云的上传地址,根据自己所在地区选择,我这里是华南区
                 domain: 'https://up-z1.qiniup.com', // 这是七牛云空间的外链默认域名
                 qiniuaddr: 'qjzpcd34v.hb-bkt.clouddn.com',
+                pullRight: true,//其他dialog
+                addDisabled: true,//禁止添加新用户
                 dialogVisible: false,//其他dialog
                 TakeVisible: false,//take dialog
                 dialogMemberVisible: false,//新增会员dialog
@@ -494,6 +499,70 @@
             this.getTableQuery();
         },
         methods: {
+            // 查询用户是否乃跨店用户
+            // todo 逻辑
+            //  1.新用户正常注册
+            //  2.
+
+            getUsrInfoList() {
+
+                // 只有新增的时候启用当前功能
+                if(this.form.btnType == 1){
+                    return false
+                }
+
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    phone: this.form.phone,
+                };
+                let postdata = qs.stringify(param);
+                VipUserQueryByPhone(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        let Status = json.Status;
+                        let Info = json.Info;
+                        // clear info
+                        that.pullRight = true;
+                        that.addDisabled = false;
+                        that.pullRight = true;
+                        that.form.name = '';
+                        that.form.height = '';
+                        that.form.weight = '';
+                        that.form.birthday = '';
+                        that.imageUrl = '';
+                        that.form.head = '';
+                        this.form.sex = 1;
+                        switch (parseInt(Status)) {
+                            case  1:
+                                that.$message.error('用户已存在,手机号不能重复添加');
+                                that.addDisabled = true;
+                                break;
+                            case  2:
+                                that.$message.success('已读取到当前用户信息');
+                                // 关掉右侧
+                                that.pullRight = false;
+                                that.form.name = Info.Name;
+                                that.form.height = Info.Height;
+                                that.form.weight =  parseInt(Info.Weight) / 10;
+                                that.form.birthday = Info.Birthday;
+                                that.imageUrl = Info.Head;
+                                that.form.head = Info.Head;
+                                this.form.sex = Info.Sex;
+                                break;
+                            case  3:
+                                that.$message.error('手机号已经关联其他用户不能重复添加');
+                                that.addDisabled = true;
+                                break;
+                            case  4:
+                                // 手机号在本店不存在,在其他店也不存在,前台应允许用户填写
+                                break;
+                        }
+                    } else {
+                        that.$message.error(json.Memo);
+                    }
+                })
+            },
             // 关联手机号跳转
             goRelevance(row) {
                 this.$router.push({path: '/relevancePhone', query: {userId: row.UserInfo.Id}});
@@ -757,6 +826,7 @@
                 let that = this;
                 this.allDialogClose();
                 // 重载课程列表选项
+                this.form.dialogValue = [];
                 this.panelSelect();
                 if (this.tableRadio.length == 0) {
                     that.$message.error("请先选中一条记录");

+ 542 - 534
pc/src/views/ShopManage.vue

@@ -1,563 +1,571 @@
 <template>
-  <div class="context">
-    <div class="panel">
-      <h5>店面管理</h5>
-      <div class="panel-body">
-        <div class="panel_control">
-          <el-row :gutter="20">
-            <el-col :span="4">
-              <em>店面名称:</em>
-              <el-input v-model="panel.shopName" placeholder="请输入店面名称"></el-input>
-            </el-col>
-            <el-col :span="4">
-              <em>负责人:</em>
-              <el-input v-model="panel.contacts" placeholder="请输入负责人"></el-input>
-            </el-col>
-            <el-col :span="4">
-              <em>联系电话:</em>
-              <el-input v-model="panel.phone" placeholder="请输入联系电话" type="number" ></el-input>
-            </el-col>
-            <el-col :span="4">
-              <el-button size="" type="primary" @click="query" plain :disabled="serachBtnStatus">查询</el-button>
-            </el-col>
-          </el-row>
+    <div class="context">
+        <div class="panel">
+            <h5>店面管理</h5>
+            <div class="panel-body">
+                <div class="panel_control">
+                    <el-row :gutter="20">
+                        <el-col :span="4">
+                            <em>店面名称:</em>
+                            <el-input v-model="panel.shopName" placeholder="请输入店面名称"></el-input>
+                        </el-col>
+                        <el-col :span="4">
+                            <em>负责人:</em>
+                            <el-input v-model="panel.contacts" placeholder="请输入负责人"></el-input>
+                        </el-col>
+                        <el-col :span="4">
+                            <em>联系电话:</em>
+                            <el-input v-model="panel.phone" placeholder="请输入联系电话" type="number"></el-input>
+                        </el-col>
+                        <el-col :span="4">
+                            <el-button size="" type="primary" @click="query" plain :disabled="serachBtnStatus">查询
+                            </el-button>
+                        </el-col>
+                    </el-row>
+                </div>
+            </div>
         </div>
-      </div>
-    </div>
-    <div class="change">
-      <el-button @click="addAdmin" type="primary">新增店面</el-button>
-      <el-button @click="editList">编辑店面</el-button>
-      <el-button @click="delList" type="danger">删除店面</el-button>
-    </div>
-    <div class="table">
-      <el-table
-          :data="tableData"
-          border
-          is-horizontal-resize
-          :default-sort="{prop: 'date', order: 'descending'}"
-          element-loading-background="rgba(0, 0, 0, 0.8)"
-          class=""
-          @selection-change="handleSelectionChange" @current-change="clickChange"
-      >
+        <div class="change">
+            <el-button @click="addAdmin" type="primary">新增店面</el-button>
+            <el-button @click="editList">编辑店面</el-button>
+            <el-button @click="delList" type="danger">删除店面</el-button>
+        </div>
+        <div class="table">
+            <el-table
+                    :data="tableData"
+                    border
+                    is-horizontal-resize
+                    :default-sort="{prop: 'date', order: 'descending'}"
+                    element-loading-background="rgba(0, 0, 0, 0.8)"
+                    class=""
+                    @selection-change="handleSelectionChange" @current-change="clickChange"
+            >
 
-        >
-        <el-table-column label="选择" width="55">
-          <template slot-scope="scope">
-            <el-radio v-model="tableRadio" :label="scope.row"><i></i></el-radio>
-          </template>
-        </el-table-column>
-        <el-table-column
-            type="index"
-            label="序号"
-            align="center"
+                >
+                <el-table-column label="选择" width="55">
+                    <template slot-scope="scope">
+                        <el-radio v-model="tableRadio" :label="scope.row"><i></i></el-radio>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                        type="index"
+                        label="序号"
+                        align="center"
 
-            width="50">
-        </el-table-column>
-        <el-table-column
-            prop="ShopName"
-            label="店面名称"
-            sortable
-        >
-        </el-table-column>
-        <el-table-column
-            prop="Addr"
-            label="位置"
-            sortable
-        >
-        </el-table-column>
-        <el-table-column
-            prop="Contacts"
-            label="负责人"
-            sortable
-        >
-        </el-table-column>
-        <el-table-column
-            prop="Phone"
-            label="联系电话"
-        >
-        </el-table-column>
-      </el-table>
-      <br>
-      <el-pagination
-          background
-          :total="pageination.total"
-          :page-size="pageination.pageItem"
-          @current-change="pageChange"
-      ></el-pagination>
-    </div>
+                        width="50">
+                </el-table-column>
+                <el-table-column
+                        prop="ShopName"
+                        label="店面名称"
+                        sortable
+                >
+                </el-table-column>
+                <el-table-column
+                        prop="Addr"
+                        label="位置"
+                        sortable
+                >
+                </el-table-column>
+                <el-table-column
+                        prop="Contacts"
+                        label="负责人"
+                        sortable
+                >
+                </el-table-column>
+                <el-table-column
+                        prop="Phone"
+                        label="联系电话"
+                >
+                </el-table-column>
+            </el-table>
+            <br>
+            <el-pagination
+                    background
+                    :total="pageination.total"
+                    :page-size="pageination.pageItem"
+                    @current-change="pageChange"
+            ></el-pagination>
+        </div>
 
-    <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="650px">
-      <div>
-        <el-form ref="form" :model="form" label-width="80px">
-          <el-form-item label="店面名称">
-            <el-input v-model="form.shopName"></el-input>
-          </el-form-item>
-          <el-form-item label="位置">
-            <el-input v-model="form.addr"></el-input>
-          </el-form-item>
-          <el-form-item label="负责人">
-            <el-input v-model="form.contacts"></el-input>
-          </el-form-item>
-          <el-form-item label="联系电话">
-            <el-input v-model="form.phone"></el-input>
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="dialogFooter">
-        <el-button type="primary" size="small" @click="confirmAdmin" v-if="form.btnState == 0">确定</el-button>
-        <el-button type="primary" size="small" @click="confirmEdite" v-if="form.btnState == 1">确定</el-button>
-        <el-button @click="dialogVisible = false" size="small">取消</el-button>
-      </div>
-    </el-dialog>
-  </div>
+        <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="650px">
+            <div>
+                <el-form ref="form" :model="form" label-width="80px">
+                    <el-form-item label="店面名称">
+                        <el-input v-model="form.shopName"></el-input>
+                    </el-form-item>
+                    <el-form-item label="位置">
+                        <el-input v-model="form.addr"></el-input>
+                    </el-form-item>
+                    <el-form-item label="负责人">
+                        <el-input v-model="form.contacts"></el-input>
+                    </el-form-item>
+                    <el-form-item label="联系电话">
+                        <el-input v-model="form.phone"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+            <div class="dialogFooter">
+                <el-button type="primary" size="small" @click="confirmAdmin" v-if="form.btnState == 0">确定</el-button>
+                <el-button type="primary" size="small" @click="confirmEdite" v-if="form.btnState == 1">确定</el-button>
+                <el-button @click="dialogVisible = false" size="small">取消</el-button>
+            </div>
+        </el-dialog>
+    </div>
 </template>
 
 <script>
-import Global from '../Global.js'
-import {
-  ShopAdd,
-  ShopDetailQuery,
-  ShopEdit,
-  ShopListQuery,
-  ShopStatusEdit,
-  testTable,
-  testSelect
-} from "../api/getApiRes";
+    import Global from '../Global.js'
+    import {
+        ShopAdd,
+        ShopDetailQuery,
+        ShopEdit,
+        ShopListQuery,
+        ShopStatusEdit,
+        testTable,
+        testSelect
+    } from "../api/getApiRes";
 
-let qs = require('qs');
-export default {
-  data() {
-    return {
-      dialogVisible: false,
-      dialogTitle: '新增店面',
-      // panel 配置项目
-      panel: {
-        shopName: '',
-        contacts: '',
-        phone: '',
-        userCode: '',
-        tel: '',
-        shopList: 0,
-        options: [],
-        draw: 1,
-        start: 0,
-        recordsTotal: 0,
-        tableData: [],
-        allTableData: [],
-        limit: '10',
-        multipleSort: false,
-        loading: false,
-        fileList: [],
-        multipleSelection: [],
-        detectedmac: '',
-        time1: globalBt(),
-      },
-      multipleSelection: [],
-      pageination: {
-        pageItem: 100,
-        pageoptions: pageOptions(),
-        total: 100,
-        pageIndex: 1,
-      },
-      form: {
-        shopName: '',
-        addr: '',
-        name: '',
-        contacts: '',
-        phone: '',
-        userCode: '',
-        shopId: '',
-        btnState: 0,
-      },
-      shops: [],
-      tableData: [],
-      tableRadio: [],
-      serachBtnStatus: false,
-    }
-  },
-  mounted() {
-    this.getTableQuery();
-  },
-  methods: {
-    clickChange(item) {
-      this.tableRadio = item
-    },
-    // 新增 确认提交
-    confirmAdmin() {
-      let that = this;
-      // checkNum
-      if (!that.form.shopName) {
-        this.$message.error('错了哦,店面名称不能为空');
-        return false
-      }
-      if (that.form.shopName.length > 18) {
-        this.$message.error('错了哦,姓名字数超过18个字');
-        return false
-      }
-      if (!that.form.addr) {
-        this.$message.error('错了哦,位置不能为空');
-        return false
-      }
-      if (that.form.addr.length > 38) {
-        this.$message.error('错了哦,位置字数超过38个字');
-        return false
-      }
-      if (!that.form.contacts) {
-        this.$message.error('错了哦,负责人不能为空');
-        return false
-      }
-      if (that.form.contacts.length > 8) {
-        this.$message.error('错了哦,负责人字数超过8个字');
-        return false
-      }
-      if (!that.form.phone) {
-        this.$message.error('错了哦,联系电话不能为空');
-        return false
-      }
-      // if (!globalCheckPhone(that.form.phone)) {
-      //   this.$message.error('错了哦,联系电话格式不正确');
-      //   return false
-      // }
-      let param = {
-        token: localStorage.token,
-        shopName: that.form.shopName,
-        addr: that.form.addr,
-        contacts: that.form.contacts,
-        phone: that.form.phone,
-        shopid: that.form.shopid,
-      };
-      let postdata = qs.stringify(param);
-      ShopAdd(postdata).then(res => {
-        let json = res;
-        if (json.Code == 0) {
-          // 关闭弹窗
-          that.dialogVisible = false;
-          // 重载列表
-          that.getTableQuery();
-          that.$message({
-            showClose: true,
-            message: '店面添加成功!',
-            type: 'success'
-          });
-        } else {
-          that.$message.error(json.Memo + '错误码:' + json.Code);
-        }
-      })
-    },
-    // 修改
-    confirmEdite() {
-      let that = this;
-      // checkNum
-      if (!that.form.shopName) {
-        this.$message.error('错了哦,店面名称不能为空');
-        return false
-      }
-      if (that.form.shopName.length > 18) {
-        this.$message.error('错了哦,姓名字数超过18个字');
-        return false
-      }
-      if (!that.form.addr) {
-        this.$message.error('错了哦,位置不能为空');
-        return false
-      }
-      if (that.form.addr.length > 38) {
-        this.$message.error('错了哦,位置字数超过38个字');
-        return false
-      }
-      if (!that.form.contacts) {
-        this.$message.error('错了哦,负责人不能为空');
-        return false
-      }
-      if (that.form.contacts.length > 8) {
-        this.$message.error('错了哦,负责人字数超过8个字');
-        return false
-      }
-      if (!that.form.phone) {
-        this.$message.error('错了哦,联系电话不能为空');
-        return false
-      }
-      // if (!globalCheckPhone(that.form.phone)) {
-      //   this.$message.error('错了哦,联系电话格式不正确');
-      //   return false
-      // }
-      let param = {
-        token: localStorage.token,
-        shopName: that.form.shopName,
-        addr: that.form.addr,
-        contacts: that.form.contacts,
-        phone: that.form.phone,
-        shopId: that.form.shopId,
-      };
-      let postdata = qs.stringify(param);
-      ShopEdit(postdata).then(res => {
-        let json = res;
-        if (json.Code == 0) {
-          // 关闭弹窗
-          that.dialogVisible = false;
+    let qs = require('qs');
+    export default {
+        data() {
+            return {
+                dialogVisible: false,
+                dialogTitle: '新增店面',
+                // panel 配置项目
+                panel: {
+                    shopName: '',
+                    contacts: '',
+                    phone: '',
+                    userCode: '',
+                    tel: '',
+                    shopList: 0,
+                    options: [],
+                    draw: 1,
+                    start: 0,
+                    recordsTotal: 0,
+                    tableData: [],
+                    allTableData: [],
+                    limit: '10',
+                    multipleSort: false,
+                    loading: false,
+                    fileList: [],
+                    multipleSelection: [],
+                    detectedmac: '',
+                    time1: globalBt(),
+                },
+                multipleSelection: [],
+                pageination: {
+                    pageItem: 100,
+                    pageoptions: pageOptions(),
+                    total: 100,
+                    pageIndex: 1,
+                },
+                form: {
+                    shopName: '',
+                    addr: '',
+                    name: '',
+                    contacts: '',
+                    phone: '',
+                    userCode: '',
+                    shopId: '',
+                    btnState: 0,
+                },
+                shops: [],
+                tableData: [],
+                tableRadio: [],
+                serachBtnStatus: false,
+            }
+        },
+        mounted() {
+            this.getTableQuery();
+        },
+        watch: {
+            $route(to) {
+                if (to.name == 'shopManage') {
+                    this.getTableQuery();
+                }
+            },
+        },
+        methods: {
+            clickChange(item) {
+                this.tableRadio = item
+            },
+            // 新增 确认提交
+            confirmAdmin() {
+                let that = this;
+                // checkNum
+                if (!that.form.shopName) {
+                    this.$message.error('错了哦,店面名称不能为空');
+                    return false
+                }
+                if (that.form.shopName.length > 18) {
+                    this.$message.error('错了哦,姓名字数超过18个字');
+                    return false
+                }
+                if (!that.form.addr) {
+                    this.$message.error('错了哦,位置不能为空');
+                    return false
+                }
+                if (that.form.addr.length > 38) {
+                    this.$message.error('错了哦,位置字数超过38个字');
+                    return false
+                }
+                if (!that.form.contacts) {
+                    this.$message.error('错了哦,负责人不能为空');
+                    return false
+                }
+                if (that.form.contacts.length > 8) {
+                    this.$message.error('错了哦,负责人字数超过8个字');
+                    return false
+                }
+                if (!that.form.phone) {
+                    this.$message.error('错了哦,联系电话不能为空');
+                    return false
+                }
+                // if (!globalCheckPhone(that.form.phone)) {
+                //   this.$message.error('错了哦,联系电话格式不正确');
+                //   return false
+                // }
+                let param = {
+                    token: localStorage.token,
+                    shopName: that.form.shopName,
+                    addr: that.form.addr,
+                    contacts: that.form.contacts,
+                    phone: that.form.phone,
+                    shopid: that.form.shopid,
+                };
+                let postdata = qs.stringify(param);
+                ShopAdd(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        // 关闭弹窗
+                        that.dialogVisible = false;
+                        // 重载列表
+                        that.getTableQuery();
+                        that.$message({
+                            showClose: true,
+                            message: '店面添加成功!',
+                            type: 'success'
+                        });
+                    } else {
+                        that.$message.error(json.Memo + '错误码:' + json.Code);
+                    }
+                })
+            },
+            // 修改
+            confirmEdite() {
+                let that = this;
+                // checkNum
+                if (!that.form.shopName) {
+                    this.$message.error('错了哦,店面名称不能为空');
+                    return false
+                }
+                if (that.form.shopName.length > 18) {
+                    this.$message.error('错了哦,姓名字数超过18个字');
+                    return false
+                }
+                if (!that.form.addr) {
+                    this.$message.error('错了哦,位置不能为空');
+                    return false
+                }
+                if (that.form.addr.length > 38) {
+                    this.$message.error('错了哦,位置字数超过38个字');
+                    return false
+                }
+                if (!that.form.contacts) {
+                    this.$message.error('错了哦,负责人不能为空');
+                    return false
+                }
+                if (that.form.contacts.length > 8) {
+                    this.$message.error('错了哦,负责人字数超过8个字');
+                    return false
+                }
+                if (!that.form.phone) {
+                    this.$message.error('错了哦,联系电话不能为空');
+                    return false
+                }
+                // if (!globalCheckPhone(that.form.phone)) {
+                //   this.$message.error('错了哦,联系电话格式不正确');
+                //   return false
+                // }
+                let param = {
+                    token: localStorage.token,
+                    shopName: that.form.shopName,
+                    addr: that.form.addr,
+                    contacts: that.form.contacts,
+                    phone: that.form.phone,
+                    shopId: that.form.shopId,
+                };
+                let postdata = qs.stringify(param);
+                ShopEdit(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        // 关闭弹窗
+                        that.dialogVisible = false;
 
-          // 重载列表
-          that.getTableQuery();
-          that.$message({
-            showClose: true,
-            message: '店面编辑成功!',
-            type: 'success'
-          });
-        } else {
-          that.$message.error(json.Memo + '错误码:' + json.Code);
-        }
-      })
-    },
-    // 删除
-    delList() {
-      let that = this;
-      if (this.tableRadio.length == 0) {
-        this.$message.error("请先选中一条记录");
-        return false
-      }
-      let ShopID = this.tableRadio.ShopID;
+                        // 重载列表
+                        that.getTableQuery();
+                        that.$message({
+                            showClose: true,
+                            message: '店面编辑成功!',
+                            type: 'success'
+                        });
+                    } else {
+                        that.$message.error(json.Memo + '错误码:' + json.Code);
+                    }
+                })
+            },
+            // 删除
+            delList() {
+                let that = this;
+                if (this.tableRadio.length == 0) {
+                    this.$message.error("请先选中一条记录");
+                    return false
+                }
+                let ShopID = this.tableRadio.ShopID;
 
-      let param = {
-        token: localStorage.token,
-        shopId: ShopID,
-        status: 9,//0禁用1启用9删除
-      };
-      let postdata = qs.stringify(param);
+                let param = {
+                    token: localStorage.token,
+                    shopId: ShopID,
+                    status: 9,//0禁用1启用9删除
+                };
+                let postdata = qs.stringify(param);
 
-      this.$confirm('此操作将永久删除该店面, 是否继续?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        ShopStatusEdit(postdata).then(res => {
-          let json = res;
-          if (json.Code == 0) {
-            that.$message({
-              showClose: true,
-              message: '选中的店面已删除!',
-              type: 'success'
-            });
-            // 重载列表
-            that.getTableQuery();
-          } else {
-            that.$message.error(json.Memo + '错误码:' + json.Code);
-          }
-        });
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '已取消删除'
-        });
-      });
-    },
-    clearForm() {
-      // clear
-      this.form.shopName = '';
-      this.form.addr = '';
-      this.form.name = '';
-      this.form.userCode = '';
-      this.form.shopId = '';
-      this.form.phone = '';
-      this.form.contacts = '';
-    },
-    // 新增店面
-    addAdmin() {
-      this.clearForm();
-      this.dialogVisible = true
-      this.dialogTitle = '新增店面'
-      this.form.btnState = 0; //新增
-    },
-    // 编辑店面
-    editList() {
-      let that = this;
-      // checkNum
-      this.clearForm();
-      this.form.btnState = 1; //编辑
-      if (this.tableRadio.length == 0) {
-        this.$message.error("请先选中一条记录");
-        return false
-      }
-      let row = this.tableRadio;
-      this.form.shopId = row.ShopID;
-      this.form.shopName = row.ShopName;
-      this.form.addr = row.Addr;
-      this.form.contacts = row.Contacts;
-      this.form.phone = row.Phone;
+                this.$confirm('此操作将永久删除该店面, 是否继续?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    ShopStatusEdit(postdata).then(res => {
+                        let json = res;
+                        if (json.Code == 0) {
+                            that.$message({
+                                showClose: true,
+                                message: '选中的店面已删除!',
+                                type: 'success'
+                            });
+                            // 重载列表
+                            that.getTableQuery();
+                        } else {
+                            that.$message.error(json.Memo + '错误码:' + json.Code);
+                        }
+                    });
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '已取消删除'
+                    });
+                });
+            },
+            clearForm() {
+                // clear
+                this.form.shopName = '';
+                this.form.addr = '';
+                this.form.name = '';
+                this.form.userCode = '';
+                this.form.shopId = '';
+                this.form.phone = '';
+                this.form.contacts = '';
+            },
+            // 新增店面
+            addAdmin() {
+                this.clearForm();
+                this.dialogVisible = true;
+                this.dialogTitle = '新增店面';
+                this.form.btnState = 0; //新增
+            },
+            // 编辑店面
+            editList() {
+                let that = this;
+                // checkNum
+                this.clearForm();
+                this.form.btnState = 1; //编辑
+                if (this.tableRadio.length == 0) {
+                    this.$message.error("请先选中一条记录");
+                    return false
+                }
+                let row = this.tableRadio;
+                this.form.shopId = row.ShopID;
+                this.form.shopName = row.ShopName;
+                this.form.addr = row.Addr;
+                this.form.contacts = row.Contacts;
+                this.form.phone = row.Phone;
 
-      this.dialogVisible = true;
-      this.dialogTitle = '编辑店面'
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
-    // 查询按钮
-    query() {
-      // 按钮倒计时
-      let that = this;
-      that.serachBtnStatus = true;
-      let totalTime = 2
-      let clock = window.setInterval(() => {
-        totalTime--
-        if (totalTime < 0) {
-          totalTime = 2;
-          that.serachBtnStatus = false;
-        }
-      }, 1000)
+                this.dialogVisible = true;
+                this.dialogTitle = '编辑店面'
+            },
+            handleSelectionChange(val) {
+                this.multipleSelection = val;
+            },
+            // 查询按钮
+            query() {
+                // 按钮倒计时
+                let that = this;
+                that.serachBtnStatus = true;
+                let totalTime = 2
+                let clock = window.setInterval(() => {
+                    totalTime--
+                    if (totalTime < 0) {
+                        totalTime = 2;
+                        that.serachBtnStatus = false;
+                    }
+                }, 1000)
 
-      this.getTableQuery();
-      this.$message.success('查询完毕');
-    },
-    // 页面数据查询
-    getTableQuery() {
-      let that = this;
-      that.loading = true;
-      // 查询检测设备。上级区域id,区域id必传。regionid传0,查询supregionid对应所有子区域的检测设备。 如果supregionid,regionid都传0,默认查询企业ID下所有检测设备
-      let param = {
-        token: localStorage.token,
-        shopName: this.panel.shopName,//
-        contacts: this.panel.contacts,//
-        phone: this.panel.phone,//
-      };
-      let postdata = qs.stringify(param);
-      ShopListQuery(postdata).then(res => {
-        let json = res;
-        if (json.Code == 0) {
-          that.loading = false;
-          if (json.Rs) {
-            that.allTableData = json.Rs;
-            that.recordsTotal = json.Rs.length;
-          } else {
-            that.allTableData = [];
-            that.recordsTotal = 0;
-          }
-          // 设置分页数据
-          that.setPaginations();
-        } else {
-          that.$message.error(json.Memo + '错误码:' + json.Code);
-        }
-      })
-    },
-    // 设置分页数据
-    setPaginations() {
-      // 分页属性
-      let that = this;
-      that.pageination.total = that.recordsTotal;
-      // 默认分页
-      that.tableData = that.allTableData.filter((item, index) => {
-        return index < that.pageination.pageItem;
-      });
-    },
-    // 每页显示数量
-    handleSizeChange() {
-      let that = this;
-      that.tableData = that.allTableData.filter((item, index) => {
-        return index < that.pageination.pageItem;
-      });
-      that.draw = that.pageination.pageItem;
-      that.getTableQuery();
-    },
-    // 翻页
-    pageChange(pageIndex) {
-      let that = this;
-      // 获取当前页
-      let index = that.pageination.pageItem * (pageIndex - 1);
-      // 数据总数
-      let nums = that.pageination.pageItem * pageIndex;
-      // 容器
-      let tables = [];
-      for (var i = index; i < nums; i++) {
-        if (that.allTableData[i]) {
-          tables.push(that.allTableData[i])
-        }
-        this.tableData = tables;
-      }
-      that.start = index * that.draw;
-      // that.getTableQuery();
-    },
-    // 自动排序
-    sortChange(params) {
-      console.log(params)
-    },
-    // 过滤时间
-    filterFmtDate(value, row, column) {
-      let that = this;
-      return nonTfmtDate(column, 11);
-    },
-    // 过滤金额
-    filterMoney(value, row, column) {
-      let that = this;
-      return parseFloat(column).toFixed(2);
-    },
-  },
-}
+                this.getTableQuery();
+                this.$message.success('查询完毕');
+            },
+            // 页面数据查询
+            getTableQuery() {
+                let that = this;
+                that.loading = true;
+                // 查询检测设备。上级区域id,区域id必传。regionid传0,查询supregionid对应所有子区域的检测设备。 如果supregionid,regionid都传0,默认查询企业ID下所有检测设备
+                let param = {
+                    token: localStorage.token,
+                    shopName: this.panel.shopName,//
+                    contacts: this.panel.contacts,//
+                    phone: this.panel.phone,//
+                };
+                let postdata = qs.stringify(param);
+                ShopListQuery(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.loading = false;
+                        if (json.Rs) {
+                            that.allTableData = json.Rs;
+                            that.recordsTotal = json.Rs.length;
+                        } else {
+                            that.allTableData = [];
+                            that.recordsTotal = 0;
+                        }
+                        // 设置分页数据
+                        that.setPaginations();
+                    } else {
+                        that.$message.error(json.Memo + '错误码:' + json.Code);
+                    }
+                })
+            },
+            // 设置分页数据
+            setPaginations() {
+                // 分页属性
+                let that = this;
+                that.pageination.total = that.recordsTotal;
+                // 默认分页
+                that.tableData = that.allTableData.filter((item, index) => {
+                    return index < that.pageination.pageItem;
+                });
+            },
+            // 每页显示数量
+            handleSizeChange() {
+                let that = this;
+                that.tableData = that.allTableData.filter((item, index) => {
+                    return index < that.pageination.pageItem;
+                });
+                that.draw = that.pageination.pageItem;
+                that.getTableQuery();
+            },
+            // 翻页
+            pageChange(pageIndex) {
+                let that = this;
+                // 获取当前页
+                let index = that.pageination.pageItem * (pageIndex - 1);
+                // 数据总数
+                let nums = that.pageination.pageItem * pageIndex;
+                // 容器
+                let tables = [];
+                for (var i = index; i < nums; i++) {
+                    if (that.allTableData[i]) {
+                        tables.push(that.allTableData[i])
+                    }
+                    this.tableData = tables;
+                }
+                that.start = index * that.draw;
+                // that.getTableQuery();
+            },
+            // 自动排序
+            sortChange(params) {
+                console.log(params)
+            },
+            // 过滤时间
+            filterFmtDate(value, row, column) {
+                let that = this;
+                return nonTfmtDate(column, 11);
+            },
+            // 过滤金额
+            filterMoney(value, row, column) {
+                let that = this;
+                return parseFloat(column).toFixed(2);
+            },
+        },
+    }
 </script>
 
 <style scoped>
-@import "../assets/css/panel.css";
+    @import "../assets/css/panel.css";
 
-.context {
-  height: 770px;
-  overflow-y: scroll;
+    .context {
+        height: 770px;
+        overflow-y: scroll;
 
-  display: block;
-  margin: 0 auto;
-  background-color: #fff !important;
-  padding: 30px;
-  padding-bottom: 60px;
-}
+        display: block;
+        margin: 0 auto;
+        background-color: #fff !important;
+        padding: 30px;
+        padding-bottom: 60px;
+    }
 
-.panel-body {
-  padding: 20px;
-  background: #F0F2F5;
-}
+    .panel-body {
+        padding: 20px;
+        background: #F0F2F5;
+    }
 
-.change {
-  width: 100%;
-  overflow: hidden;
-  display: block;
-  margin: 0 auto;
-  padding-top: 10px;
-  padding-bottom: 10px;
-}
+    .change {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        padding-top: 10px;
+        padding-bottom: 10px;
+    }
 
-.change button {
-  float: left;
-}
+    .change button {
+        float: left;
+    }
 
-.change button.pull-right {
-  float: right;
-}
+    .change button.pull-right {
+        float: right;
+    }
 
-.dialogTitle {
-  width: 100%;
-  overflow: hidden;
-  display: block;
-  margin: 0 auto;
-  color: #000000;
-  font-size: 18px;
-  text-align: center;
-}
+    .dialogTitle {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        color: #000000;
+        font-size: 18px;
+        text-align: center;
+    }
 
-.dialogTitle em {
-  float: none;
-  font-style: normal;
-  color: #3799FF;
-  margin: 0;
-}
+    .dialogTitle em {
+        float: none;
+        font-style: normal;
+        color: #3799FF;
+        margin: 0;
+    }
 
-/deep/ .el-transfer-panel__item .el-checkbox__input {
-  left: 40px;
-}
+    /deep/ .el-transfer-panel__item .el-checkbox__input {
+        left: 40px;
+    }
 
-.dialogFooter {
-  width: 90%;
-  overflow: hidden;
-  display: block;
-  margin: 0 auto;
-  margin-top: 10px;
-}
+    .dialogFooter {
+        width: 90%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        margin-top: 10px;
+    }
 
-.dialogFooter button {
-  float: right;
-  margin-left: 10px;
-}
+    .dialogFooter button {
+        float: right;
+        margin-left: 10px;
+    }
 </style>

+ 1 - 0
pc/src/views/appoint.vue

@@ -95,6 +95,7 @@
                                     prop="BeginTime"
                                     label="上课时间"
                                     :formatter="filterFmtDate"
+                                    sortable
                             >
                             </el-table-column>
                             <el-table-column

+ 1 - 0
pc/src/views/bindRecord.vue

@@ -87,6 +87,7 @@
                 <el-table-column
                         prop="IsPrivate"
                         label="是否私有"
+                        sortable
                 >
                     <template slot-scope="scope">
                         <span v-if="scope.row.IsPrivate == 1">私有</span>

+ 13 - 1
pc/src/views/cost.vue

@@ -68,6 +68,7 @@
         <el-table-column
             prop="Phone"
             label="手机号"
+            sortable
         >
         </el-table-column>
         <el-table-column
@@ -122,6 +123,17 @@
             sortable
         >
         </el-table-column>
+          <!--<el-table-column-->
+                  <!--prop="RemainHour"-->
+                  <!--label="是否跨店"-->
+                  <!--width="110"-->
+                  <!--sortable-->
+          <!--&gt;-->
+              <!--<template slot-scope="scope">-->
+                  <!--<span v-if="scope.row.Status == ''" style="color:red;">跨店</span>-->
+                  <!--<span v-else style="color: #000">本店用户</span>-->
+              <!--</template>-->
+          <!--</el-table-column>-->
         <el-table-column
             prop="CreatedAt"
             label="时间"
@@ -258,7 +270,7 @@ export default {
         classId: '',
         usercode: '',
         username: '',
-        timeScope: globalBt2(30),
+        timeScope: globalBt2(7),
         compname: '',
         keyword: '',
         USERCODE: '',

+ 4 - 0
pc/src/views/courses.vue

@@ -443,6 +443,10 @@
                     key: localStorage.ServiceKey,
                     shopId: localStorage.ServiceId,
                 };
+                if(!localStorage.ServiceKey){
+                    that.$message.error('还未与心率系统对接,请联系管理员');
+                    return false
+                }
                 let postdata = qs.stringify(param);
                 QueryShopVenue(postdata).then(res => {
                     let json = res;

+ 4 - 0
pc/src/views/coursesHistory.vue

@@ -439,6 +439,10 @@
                     key: localStorage.ServiceKey,
                     shopId: localStorage.ServiceId,
                 };
+                if(!localStorage.ServiceKey){
+                    that.$message.error('还未与心率系统对接,请联系管理员');
+                    return false
+                }
                 let postdata = qs.stringify(param);
                 QueryShopVenue(postdata).then(res => {
                     let json = res;

+ 3 - 0
pc/src/views/heartLog.vue

@@ -40,11 +40,13 @@
                 <el-table-column
                         prop="Version"
                         label="版本"
+                        sortable
                 >
                 </el-table-column>
                 <el-table-column
                         prop="EquipType"
                         label="类型"
+                        sortable
                 >
                     <template slot-scope="scope">
                         <span v-if="scope.row.EquipType == 1">TVBox</span>
@@ -54,6 +56,7 @@
                 <el-table-column
                         prop="Status"
                         label="状态"
+                        sortable
                 >
                     <!--1:启用  8:暂停  9:删除-->
                     <template slot-scope="scope">

+ 1 - 0
pc/src/views/lessonManage.vue

@@ -70,6 +70,7 @@
         <el-table-column
             prop="Online"
             label="是否上线"
+            sortable
             v-if="userLevel != 4"
         >
           <!--                    上线状态	0:不上线 1:下线-->

+ 11 - 0
pc/src/views/record.vue

@@ -117,6 +117,17 @@
             {{ scope.row.BeginTime |filterNoTTime }} - {{ scope.row.EndStr }}
           </template>
         </el-table-column>
+          <el-table-column
+                  prop="RemainHour"
+                  label="是否跨店"
+                  width="110"
+                  sortable
+          >
+              <template slot-scope="scope">
+                  <span v-if="scope.row.Status == ''" style="color:red;">跨店</span>
+                  <span v-else style="color: #000">本店用户</span>
+              </template>
+          </el-table-column>
         <el-table-column
             prop="Status"
             label="状态"

+ 3 - 1
pc/src/views/region.vue

@@ -39,7 +39,9 @@
                         prop="Base.CreatedAt"
                         label="创建日期"
                         :formatter="filterFmtDate"
-                        width="180">
+                        width="180"
+                        sortable
+                >
                 </el-table-column>
                 <!--<el-table-column-->
                 <!--prop="Status"-->

+ 2 - 2
pc/src/views/relevancePhone.vue

@@ -103,6 +103,7 @@
         VipUserAssociatedPhoneAdd,
         EditShopVenueEquip,
         VipUserAssociatedPhoneEdit,
+        VipUserAssociatedPhoneDel,
         VipUserAssociatedPhoneStatusEdit
     } from "../api/getApiRes";
 
@@ -162,7 +163,6 @@
                     token: localStorage.token,
                     userId: this.$route.query.userId,
                     pId: row.PId,
-                    status: 9,//1:启用 8:暂停 9:删除
                 };
                 let postdata = qs.stringify(param);
                 this.$confirm('此操作将永久删除该手机号, 是否继续?', '提示', {
@@ -170,7 +170,7 @@
                     cancelButtonText: '取消',
                     type: 'warning'
                 }).then(() => {
-                    VipUserAssociatedPhoneStatusEdit(postdata).then(res => {
+                    VipUserAssociatedPhoneDel(postdata).then(res => {
                         let json = res;
                         if (json.Code == 0) {
                             that.$message({

+ 7 - 0
tv/README.md

@@ -25,6 +25,13 @@
 4) 打开APP后,点击小飞龙logo获取uuid,在管理端添加当前区域
 5) 重启APP(非必须
 
+小飞龙wgt升级步骤
+
+1.将编译好的文件拖入hbuild的打包文件夹下,生成wgt文件
+2.将WGT文件放到线上文件夹中,同时修改数据库里当前的版本号
+3.重新打开TV版APP,确认升级。
+4.重启APP升级完成
+
 
 
 

+ 9 - 8
tv/src/Global.js

@@ -6,7 +6,8 @@ companyInfo = {
 };
 
 // headapi = process.env.NODE_ENV === 'development' ? '/api/' : '../';
-headapi = 'http://192.168.0.110:8080/';//从郑伟那里获得数据源
+// headapi = 'http://192.168.0.110:8080/';//从郑伟那里获得数据源
+headapi = 'http://192.168.0.74:8080/';//从郑伟那里获得数据源
 
 // 七牛云imgsrc
 imgUrl = "http://qjzpcd34v.hb-bkt.clouddn.com";
@@ -389,7 +390,7 @@ numberToWeekdays = function (val) {
 
 // 随机背景
 RandomBg = function () {
-    let bgClassNum = parseInt(Math.random() * 3) + 1;
+    let bgClassNum = parseInt(Math.random() * 7) + 1;
     return 'bgStyle' + bgClassNum + '  pages';
 };
 
@@ -430,18 +431,18 @@ fakeNews = function (num, team) {
             {
                 "SvId": 1,
                 "UserId": 1,
-                "Cle": i * 14,
+                "Cle": parseInt(Math.random() * 100 + 50),
                 "realHr1": parseInt(Math.random() * 100 + 50),
-                "realHr": 30,
+                "realHr": parseInt(Math.random() * 100 + 50),
                 "activePercent": parseInt(Math.random() * 100 + 50),
-                "heartRate": 90,
-                "PureCalorieNoVo2": 999,
+                "heartRate": parseInt(Math.random() * 100 + 50),
+                "PureCalorieNoVo2": parseInt(Math.random() * 100 + 50),
                 "Name": "测试人",
                 "name": "测试人",
                 "updateTime": 1604568915582,
-                "Ck": nums + i * 2.2,
+                "Ck": (nums + i + 1) * 2.2,
                 "formatCk":parseInt(Math.random() * 100 + 50),
-                "Head": "http://192.168.0.2/zw.png",
+                "Head": "http://192.168.0.2/gc.png",
                 "GroupNo": i % teamNum + 1
             }
         )

+ 6 - 4
tv/src/components/Headside.vue

@@ -75,10 +75,10 @@
                 // console.log(version)
             },
             qrcode(code) {
-                this.$refs.qrCodeUrl.innerHTML="";
+                this.$refs.qrCodeUrl.innerHTML = "";
                 let qrcode = new QRCode(this.$refs.qrCodeUrl, {
-                    width: 200,
-                    height: 200, // 高度
+                    width: 100,
+                    height: 100, // 高度
                     text: code, // 二维码内容
                     image: '',
                     render: 'canvas',// 设置渲染方式(有两种方式 table和canvas,默认是canvas)
@@ -87,6 +87,7 @@
                 });
             },
             showUuid() {
+                this.eqSn = localStorage.eqSn;
                 this.dialogVisible = true;
                 this.$nextTick(function () {
                     setTimeout(() => {
@@ -176,11 +177,12 @@
     }
 
     #qrcode {
-        width: 1rem;
+        width: 100%;
         overflow: hidden;
         display: block;
         margin: 0 auto;
     }
+
     .eqSnText {
         font-size: 0.4rem;
     }

+ 0 - 1
tv/src/components/levelIcon.vue

@@ -51,7 +51,6 @@
 
 <script>
     export default {
-        name: "legend"
     }
 </script>
 

BIN
tv/src/static/img/bg/bg_1.png


BIN
tv/src/static/img/bg/bg_4.png


+ 13 - 16
tv/src/views/2pkRank.vue

@@ -32,8 +32,8 @@
                     <li v-for="(s,i) in students.redUnite" :class="[{'redUnite':true},{'mvpli':i == 0}]">
                         <div>
                             <div class="head">
-                                <img :src="s.Head"
-                                     class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="redSum >= blueSum">
                             </div>
                             <div class="name">
@@ -61,7 +61,8 @@
                     >
                         <div>
                             <div class="head">
-                                <img :src="s.Head" class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="redSum <= blueSum">
                             </div>
                             <div class="name">
@@ -115,9 +116,9 @@
             let that = this;
             if (this.trueDate) {
                 this.getClassUserRank();
-                this.rankTimer = setInterval(() => {
-                    this.getClassUserRank();
-                }, 5000);
+                // this.rankTimer = setInterval(() => {
+                //     this.getClassUserRank();
+                // }, 5000);
                 if (this.autoJump) {
                     // 倒计时60秒自动关闭
                     let that = this;
@@ -133,21 +134,19 @@
                         }
                     }, 1000)
                 }
-
             } else {
                 let Rs = fakeNews(18,2);
                 that.UniteBreak(Rs);
             }
-
         },
         watch: {
             '$route': function (val) {
                 if (val.path == '/2pkRank') {
                     if (this.trueDate) {
                         this.getClassUserRank();
-                        this.rankTimer = setInterval(() => {
-                            this.getClassUserRank();
-                        }, 5000);
+                        // this.rankTimer = setInterval(() => {
+                        //     this.getClassUserRank();
+                        // }, 5000);
 
                         if (this.autoJump) {
                             // 倒计时60秒自动关闭
@@ -165,10 +164,8 @@
                         }
 
                     } else {
-                        this.rankTimer = setInterval(() => {
-                            this.students.redUnite = fakeNews(6,2);
-                            this.students.blueUnite = fakeNews(6,2);
-                        }, 5000);
+                        let Rs = fakeNews(18,2);
+                        this.UniteBreak(Rs);
                     }
 
                 } else {
@@ -501,7 +498,7 @@
     }
 
     li .CKscore {
-        width: 2rem;
+        /*width: 2rem;*/
         float: left;
         font-size: 0.6rem;
         margin-left: 5%;

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

@@ -57,8 +57,8 @@
                     <li v-for="(s,i) in students.redUnite" :class="[{'redUnite':true},{'mvpli':i == 0}]">
                         <div>
                             <div class="head">
-                                <img :src="s.Head"
-                                     class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="red.rank == 1">
                             </div>
                             <div class="name">
@@ -83,8 +83,8 @@
                     <li v-for="(s,i) in students.blueUnite" :class="[{'blueUnite':true},{'mvpli':i == 0}]">
                         <div>
                             <div class="head">
-                                <img :src="s.Head"
-                                     class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="blue.rank == 1">
                             </div>
                             <div class="name">
@@ -109,8 +109,8 @@
                     <li v-for="(s,i) in students.yellowUnite" :class="[{'yellowUnite':true},{'mvpli':i == 0}]">
                         <div>
                             <div class="head">
-                                <img :src="s.Head"
-                                     class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="yellow.rank == 1">
                             </div>
                             <div class="name">
@@ -171,16 +171,16 @@
                 redSum: 0,
                 blueSum: 0,
                 yellowSum: 0,
-                totalTime:60
+                totalTime: 60
             }
         },
         mounted() {
             let that = this;
             if (this.trueDate) {
                 this.getClassUserRank();
-                this.rankTimer = setInterval(() => {
-                    this.getClassUserRank();
-                }, 5000);
+                // this.rankTimer = setInterval(() => {
+                //     this.getClassUserRank();
+                // }, 5000);
                 if (this.autoJump) {
                     // 倒计时60秒自动关闭
                     let that = this;
@@ -197,21 +197,20 @@
                     }, 1000)
                 }
             } else {
-                this.rankTimer = setInterval(() => {
-                    let Rs = fakeNews(18,3);
-                    that.UniteBreak(Rs);
-                }, 1000);
+                let Rs = fakeNews(27, 3);
+                that.UniteBreak(Rs);
             }
 
         },
         watch: {
             '$route': function (val) {
+                let that = this;
                 if (val.path == '/3pkRank') {
                     if (this.trueDate) {
                         this.getClassUserRank();
-                        this.rankTimer = setInterval(() => {
-                            this.getClassUserRank();
-                        }, 5000);
+                        // this.rankTimer = setInterval(() => {
+                        //     this.getClassUserRank();
+                        // }, 5000);
 
                         if (this.autoJump) {
                             // 倒计时60秒自动关闭
@@ -230,10 +229,8 @@
                         }
 
                     } else {
-                        this.rankTimer = setInterval(() => {
-                            let Rs = fakeNews(18,3);
-                            that.UniteBreak(Rs);
-                        }, 1000);
+                        let Rs = fakeNews(18, 3);
+                        that.UniteBreak(Rs);
                     }
 
                 } else {
@@ -310,12 +307,12 @@
             },
             // 结果排序
             getUnitRank(res) {
-                 let that = this;
+                let that = this;
                 let sum = res.sort(function (a, b) {
                     return b.val - a.val;
                 });
                 sum.map(function (item, i) {
-                    eval("that."+item['name']+".rank = i+1");
+                    eval("that." + item['name'] + ".rank = i+1");
                 });
             },
             getClassUserRank() {
@@ -387,6 +384,7 @@
     * {
         font-family: vista;
     }
+
     .pages {
         position: absolute;
         top: 0;
@@ -554,17 +552,17 @@
     }
 
     .mineUniteName {
-        width: 65%;
+        width: 67%;
         overflow: visible;
         display: block;
         margin: 0 auto;
         text-align: left;
-        font-size: 0.4rem;
+        font-size: 0.35rem;
     }
 
 
     .sumCK em {
-        font-size: 0.4rem;
+        font-size: 0.35rem;
     }
 
     .sumCK i {
@@ -643,7 +641,7 @@
     }
 
     li .CKscore {
-        width: 1.6rem;
+        /*width: 1.6rem;*/
         float: left;
         font-size: 0.4rem;
         margin-left: 2%;

+ 4 - 1
tv/src/views/Index.vue

@@ -73,7 +73,10 @@
                             // });
                             // 8e501b0bde9ce600
                             // 打印uuid
-                            // alert('getDeviceInfo success: ' + JSON.stringify(e.uuid))
+                            // alert('getDeviceInfo success: ' + JSON.stringify(e.uuid));
+                            // alert('clientWidth:' + document.documentElement.clientWidth);
+                            // alert('clientWidth:' + document.documentElement.clientHeight);
+                            // alert('devicePixelRatio:' + window.devicePixelRatio);
                             console.log('getDeviceInfo success: ' + JSON.stringify(e.uuid));
                         },
                         fail: function (e) {

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

@@ -146,7 +146,7 @@
             } else {
                 // 彩蛋
                 // this.OpenEgg(this.fakeEgg);
-                let Rs = fakeNews(21);
+                let Rs = fakeNews(24);
                 this.giveClassName(Rs);
                 this.students = Rs;
                 // this.mainTimer = setInterval(() => {
@@ -247,6 +247,7 @@
                 })
             },
             curgetClassStat() {
+                console.log(123);
                 let that = this;
                 let param = {
                     token: localStorage.token,

+ 17 - 14
tv/src/views/Rank.vue

@@ -8,7 +8,8 @@
                     <li v-for="(s,i) in students.CalSort">
                         <div :class="['rows',{'row_0':i == 0},{'row_1':i == 1},{'row_2':i == 2},{'row_3':i == 3},{'row_4':i == 4},{'row_5':i == 5},{'row_6':i == 6},{'row_7':i == 7}]">
                             <div class="head">
-                                <img :src="s.Head" class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../static/img/rank/king1.svg" class="king" alt="" v-if="i == 0">
                                 <img src="../static/img/rank/king2.svg" class="king" alt="" v-if="i == 1">
                                 <img src="../static/img/rank/king3.svg" class="king" alt="" v-if="i == 2">
@@ -32,7 +33,8 @@
                     <li v-for="(s,i) in students.CkSort">
                         <div :class="['rows',{'row_0':i == 0},{'row_1':i == 1},{'row_2':i == 2},{'row_3':i == 3},{'row_4':i == 4},{'row_5':i == 5},{'row_6':i == 6},{'row_7':i == 7}]">
                             <div class="head">
-                                <img :src="s.Head" class="headImg" alt="">
+                                <img :src="s.Head" class="headImg" v-if="s.Head">
+                                <img src="../static/img/people/flyhead.png" class="headImg" alt="" v-if="!s.Head">
                                 <img src="../static/img/rank/king1.svg" class="king" alt="" v-if="i == 0">
                                 <img src="../static/img/rank/king2.svg" class="king" alt="" v-if="i == 1">
                                 <img src="../static/img/rank/king3.svg" class="king" alt="" v-if="i == 2">
@@ -81,15 +83,15 @@
         mounted() {
             if (this.trueDate) {
                 this.getClassUserRank();
-                this.rankTimer  = setInterval(() => {
-                    this.getClassUserRank();
-                }, 5000);
+                // this.rankTimer  = setInterval(() => {
+                //     this.getClassUserRank();
+                // }, 5000);
 
             } else {
-                this.rankTimer  = setInterval(() => {
+                // this.rankTimer  = setInterval(() => {
                     this.students.CkSort = this.fakeNews();
                     this.students.CalSort = this.fakeNews();
-                }, 5000);
+                // }, 5000);
             }
             if (this.autoJump) {
                 // 倒计时60秒自动关闭
@@ -97,6 +99,7 @@
                 this.totalTime = 60;
                 let clock = window.setInterval(() => {
                     this.totalTime--;
+                    console.log(this.totalTime);
                     if (parseInt(this.totalTime) < 0) {
                         // 前往等待页面
                         that.$router.push({path: '/'});
@@ -111,15 +114,15 @@
                 if (val.path == '/rank') {
                     if (this.trueDate) {
                         this.getClassUserRank();
-                        this.rankTimer  = setInterval(() => {
-                            this.getClassUserRank();
-                        }, 5000);
+                        // this.rankTimer  = setInterval(() => {
+                        //     this.getClassUserRank();
+                        // }, 5000);
 
                     } else {
-                        this.rankTimer  = setInterval(() => {
+                        // this.rankTimer  = setInterval(() => {
                             this.students.CkSort = this.fakeNews();
                             this.students.CalSort = this.fakeNews();
-                        }, 5000);
+                        // }, 5000);
                     }
                     if (this.autoJump) {
                         // 倒计时60秒自动关闭
@@ -196,7 +199,7 @@
                         this.students.CkSort = [];
                         this.students.CalSort = [];
                         if (json.Code == '999') {
-                            that.$router.push({path: '/'});
+                            // that.$router.push({path: '/'});
                         } else {
                             // 已出错
                             that.$message.error(json.Memo);
@@ -299,7 +302,7 @@
     }
 
     li .head .headImg {
-        width: 100%;
+        width: 0.8rem;
         height: 0.8rem;
         overflow: hidden;
         display: block;

+ 4 - 2
tv/src/views/Wait.vue

@@ -131,7 +131,9 @@
             }
         },
         mounted() {
-            // this.$router.push({path: '/2pkRank'});
+            // for test
+            // this.$router.push({path: '/3pkRank'});
+
             if (this.trueDate) {
                 this.waitTimer = setInterval(() => {
                     // this.GetgetUserList();
@@ -664,7 +666,7 @@
         text-align: center;
         color: #fff;
         margin: 0;
-        margin-bottom: 0.6rem;
+        margin-bottom: 0.3rem;
         text-indent: 0.2rem;
     }
 

+ 16 - 12
tv/src/views/pk.vue

@@ -228,7 +228,7 @@
                 let Dp = json.Dp;
                 that.ReadLessonInfo(Dp);
                 // 载入学生信息
-                let Rs = fakeNews(16, 2);
+                let Rs = fakeNews(14, 2);
                 that.UniteBreak(Rs);
 
                 // 人口总数
@@ -365,7 +365,7 @@
                         // 已下课
                         console.log(json.Code);
                         if (json.Code == '999') {
-                            that.$router.push({path: '/2pkRank'});
+                            // that.$router.push({path: '/2pkRank'});
                         } else {
                             // 已出错
                             that.$message.error(json.Memo);
@@ -451,6 +451,7 @@
                             // 1:团课/私教 todo
                             // 2:竞技课2PK
                             // 3:竞技课3PK
+                            that.$router.push({path: '/2pkRank'});
                             switch (parseInt(json.dp)) {
                                 case 2:
                                     that.$router.push({path: '/2pkRank'});
@@ -1040,9 +1041,7 @@
         -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
     }
 
-
     /*two*/
-
     .pk_container li.two {
         width: 90%;
         overflow: hidden;
@@ -1101,6 +1100,10 @@
         height: 0.5rem;
         margin-top: 0.12rem;
     }
+    .two .urt img {
+        width: 0.3rem;
+        height: 0.3rem;
+    }
 
     /*three*/
 
@@ -1210,13 +1213,13 @@
 
     .four .user .ult em div {
         width: 90%;
-        margin-right: 0.05rem;
         font-size: 0.5rem;
         line-height: 1rem;
+        padding-right: 0.2rem;
     }
 
     .four .user .ult s {
-        font-size: 0.1rem;
+        font-size: 0.2rem;
         line-height: 1rem;
     }
 
@@ -1231,8 +1234,8 @@
     }
 
     .four .urt img {
-        width: 0.2rem;
-        height: 0.2rem;
+        width: 0.15rem;
+        height: 0.15rem;
         top: -0.8rem;
     }
 
@@ -1289,13 +1292,14 @@
 
     .eight .user .ult em div {
         width: 90%;
-        margin-right: 0.05rem;
+        margin-right:0rem;
         font-size: 0.5rem;
         line-height: 1rem;
+        padding-right: 0.2rem;
     }
 
     .eight .user .ult s {
-        font-size: 0.1rem;
+        font-size: 0.2rem;
         line-height: 1rem;
     }
 
@@ -1310,8 +1314,8 @@
     }
 
     .eight .urt img {
-        width: 0.2rem;
-        height: 0.2rem;
+        width: 0.15rem;
+        height: 0.15rem;
         top: -0.8rem;
     }
 

+ 39 - 38
tv/src/views/threepk.vue

@@ -172,7 +172,8 @@
                                 <div class="umd">
                                     <div class="circle">
                                         <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
-                                        <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt=""
+                                        <img :class="s.sportLevel"
+                                             src="../static/img/people/flyhead.png"
                                              v-if="!s.Head">
                                     </div>
                                 </div>
@@ -262,35 +263,32 @@
                 // }, 6000);
 
             } else {
-                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);
+                // 虚假的数据
+                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(24, 3);
+                that.UniteBreak(Rs);
+
+                // 人口总数
+                that.num = Rs ? Rs.length + 1 : 0;
+                this.ClacClassTime();
             }
         },
         watch: {
@@ -438,7 +436,7 @@
                         // 已下课
                         console.log(json.Code);
                         if (json.Code == '999') {
-                            that.$router.push({path: '/3pkRank'});
+                            // that.$router.push({path: '/3pkRank'});
                         } else {
                             // 已出错
                             that.$message.error(json.Memo);
@@ -528,6 +526,7 @@
                             // 1:团课/私教 todo
                             // 2:竞技课2PK
                             // 3:竞技课3PK
+                            that.$router.push({path: '/3pkRank'});
                             console.log('json.dp' + json.dp);
                             switch (parseInt(json.dp)) {
                                 case 2:
@@ -838,19 +837,21 @@
     }
 
     .lessonInfo .teamScore div {
-        width: 20%;
+        width: 25%;
         float: left;
-        text-align: center;
         color: #fff;
         font-size: 0.4rem;
+        text-align: left;
     }
 
     .lessonInfo .teamScore .md {
-        width: 60%;
+        width: 50%;
+        text-align: center;
     }
 
     .lessonInfo .teamScore .rt {
         float: right;
+        text-align: right;
     }
 
     .lessonInfo .teamScore em {
@@ -1391,7 +1392,7 @@
     }
 
     .four .user .ult s {
-        font-size: 0.1rem;
+        font-size: 0.2rem;
         line-height: 1rem;
     }
 
@@ -1406,8 +1407,8 @@
     }
 
     .four .urt img {
-        width: 0.2rem;
-        height: 0.2rem;
+        width: 0.15rem;
+        height: 0.15rem;
         top: -0.8rem;
     }
 
@@ -1471,7 +1472,7 @@
     }
 
     .eight .user .ult s {
-        font-size: 0.1rem;
+        font-size: 0.2rem;
         line-height: 1.3rem;
     }