|  | @@ -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>
 |