| 
					
				 | 
			
			
				@@ -1,7 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-card style="margin-bottom:20px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-card style="margin-bottom: 20px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <headers title="数据总览" :hidenOrgan="true" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         class="wall" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13,8 +12,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <statistic :col="4" class="statistic" :cols="0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <statistic-item v-for="(item, key) in items" :key="key"  @click="active = key" :class="{ active: active === key }"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <span v-if="key!=='vipStudentRate'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <statistic-item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-for="(item, key) in items" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :key="key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @click="active = key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :class="{ active: active === key }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {{ item.title + "(人)" }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               v-if="item.desc" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,20 +32,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <span v-else> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {{ item.title + "(%)" }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-tooltip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              v-if="item.desc" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              :content="item.desc" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              :open-delay="0.3" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              placement="top" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                style="margin-left: 5px; cursor: pointer" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                class="el-icon-warning-outline" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span> <count-to :endVal="item.percent || 0" /> </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </statistic-item> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -75,7 +65,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             prop="totalStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            label="分部学员总数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="学员总数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <!-- <template slot="header" slot-scope="slot"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="titleCell"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -97,18 +87,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </template> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <el-table-column align="center" prop="vipStudentNum" label="会员总数" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            prop="waitActivateVipStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            label="待激活会员人数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="vipStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="会员总人数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            prop="effectiveVipStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            label="生效中会员人数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="effectiveStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="有效学员数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             prop="activeStudentNum" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -118,7 +110,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="titleCell"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <span>活跃人数</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <el-tooltip placement="top" popper-class="mTooltip"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div slot="content">过去四周内有三周及以上每周训练时长超过60分钟为活跃学员</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div slot="content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    过去四周内有三周及以上每周训练时长超过60分钟为活跃学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <i 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     class="el-icon-question micon el-tooltip" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     style=" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -132,7 +126,31 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="effectiveVipStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="生效中会员人数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="waitActivateVipStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="待激活会员人数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="vipStudentRate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="会员人数占比" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot-scope="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div>{{ numeral(scope.row.vipStudentRate || 0).format('0.00') }}%</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="totalStudentNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="今日使用人数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <!-- <pagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           :autoScroll="false" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -147,7 +165,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import pagination from "@/components/Pagination/index"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getOrganMemberList } from "../api"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { Export } from "@/utils/downLoadFile"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -155,13 +172,14 @@ import headers from "./modals/headers.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import countTo from "vue-count-to"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { descs, titles } from "../constant"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getCloudStudyStudentOverView } from "../api"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import numeral from "numeral"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import qs from "qs"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    props: ["data"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: ["data"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     headers, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pagination, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     countTo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    countTo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -177,13 +195,13 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       searchList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cloudStudyUseStudentDuty: "DESC", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tenantId:'', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       dataList:{}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      active:'' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tenantId: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataList: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      active: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   this.tenantId =  this.$helpers.tenantId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.tenantId = this.$helpers.tenantId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -197,21 +215,23 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const arr = [36,39,41,42,43,44,45,46,47,48,49,50,52,54,56] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const arr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          36, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 54, 56, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const res = await getCloudStudyStudentOverView({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           rows: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ...this.searchList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           organIds: this.organId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.tableList  = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //  res.data.forEach(ele => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //    if(arr.indexOf (ele.organId) == -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //      this.tableList.push(ele) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.tableList = res.data.list?.rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.rules.total = res.data.list?.total; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tableList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  res.data.forEach(ele => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    if(arr.indexOf (ele.organId) == -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //      this.tableList.push(ele) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tableList = res.data.list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // this.rules.total = res.data.list?.total; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.dataList = res.data?.overView || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log(this.tableList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch (e) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -261,26 +281,33 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         name: "organRankDetail", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    numeral(val){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return numeral(val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     items() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let obj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       //        "eVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let arr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "totalStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        "waitActivateVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        "effectiveVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "effectiveStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "vipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "cloudStudyLivelyStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "effectiveVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "waitActivateVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // "newCloudStudyStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // "cloudStudyTodayUseStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        "effectiveStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        "vipStudentRate", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // "vipStudentRate", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "cloudStudyUseStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "cloudStudyTodayUseStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       arr.forEach((str) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (this.dataList[str]+'') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          obj[str] ={title:titles[str],percent:this.dataList[str],desc:descs[str]}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.dataList[str] + "") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj[str] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            title: titles[str], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            percent: this.dataList[str], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            desc: descs[str], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return obj; 
			 |