| 
					
				 | 
			
			
				@@ -1,5 +1,53 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-card style="margin-bottom:20px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <headers title="数据总览" :hidenOrgan="true" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="wall" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        style="height: 68px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        v-if="JSON.stringify(items) == '{}'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        暂无数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <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'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ 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 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> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </statistic> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <headers title="分部数据" @changeOrgan="changeOrgan" :special="true" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="tableWrap"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -99,15 +147,21 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import headers from "./modals/headers.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import pagination from "@/components/Pagination/index"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getOrganMemberList } from "../api"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { Export } from "@/utils/downLoadFile"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import headers from "./modals/headers.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import countTo from "vue-count-to"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { descs, titles } from "../constant"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getCloudStudyStudentOverView } from "../api"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import qs from "qs"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    props: ["data"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     headers, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pagination, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     countTo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,7 +177,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       searchList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         cloudStudyUseStudentDuty: "DESC", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tenantId:'' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tenantId:'', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       dataList:{}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      active:'' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mounted() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -132,22 +188,31 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async getList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       * try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const res = await getCloudStudyStudentOverView(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataList = res.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const arr = [36,39,41,42,43,44,45,46,47,48,49,50,52,54,56] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const res = await getOrganMemberList({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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.rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // this.rules.total = res.data.total; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //  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.dataList = res.data?.overView || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log(this.tableList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log(e); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -197,6 +262,30 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    items() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let obj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //        "eVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let arr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "totalStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "waitActivateVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "effectiveVipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "vipStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "cloudStudyLivelyStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // "newCloudStudyStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // "cloudStudyTodayUseStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "effectiveStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "vipStudentRate", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "cloudStudyUseStudentNum", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      arr.forEach((str) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.dataList[str]+'') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          obj[str] ={title:titles[str],percent:this.dataList[str],desc:descs[str]}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style lang="scss" scoped> 
			 |