|  | @@ -1,96 +1,96 @@
 | 
	
		
			
				|  |  | -<template>
 | 
	
		
			
				|  |  | -  <div>
 | 
	
		
			
				|  |  | -    <el-card>
 | 
	
		
			
				|  |  | -      <div slot="header" class="clearfix">
 | 
	
		
			
				|  |  | -        <div class="box">
 | 
	
		
			
				|  |  | -          <span class="shape"></span>
 | 
	
		
			
				|  |  | -          <span>剩余时间</span>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <!-- <div
 | 
	
		
			
				|  |  | -        class="wall"
 | 
	
		
			
				|  |  | -        style="height: 68px"
 | 
	
		
			
				|  |  | -        v-if="JSON.stringify(items) == '{}'&&!data['CHARGE_STUDENT_CHANGE_RATE']&&!data['ACTIVATION_RATE']"
 | 
	
		
			
				|  |  | -      >
 | 
	
		
			
				|  |  | -        暂无数据
 | 
	
		
			
				|  |  | -      </div> -->
 | 
	
		
			
				|  |  | -      <statistic :col="5" class="statistic" :cols="0">
 | 
	
		
			
				|  |  | -        <statistic-item
 | 
	
		
			
				|  |  | -          v-for="(item, key) in items"
 | 
	
		
			
				|  |  | -          :key="key"
 | 
	
		
			
				|  |  | -          :class="{ active: active === key }"
 | 
	
		
			
				|  |  | -          @click="active = key"
 | 
	
		
			
				|  |  | -        >
 | 
	
		
			
				|  |  | -          <span>
 | 
	
		
			
				|  |  | -            {{ item.text }}
 | 
	
		
			
				|  |  | -          </span>
 | 
	
		
			
				|  |  | -          <span> <count-to :endVal="item.value" /> </span>
 | 
	
		
			
				|  |  | -        </statistic-item>
 | 
	
		
			
				|  |  | -      </statistic>
 | 
	
		
			
				|  |  | -    </el-card>
 | 
	
		
			
				|  |  | -  </div>
 | 
	
		
			
				|  |  | -</template>
 | 
	
		
			
				|  |  | -<script>
 | 
	
		
			
				|  |  | -import countTo from "vue-count-to";
 | 
	
		
			
				|  |  | -export default {
 | 
	
		
			
				|  |  | -  props: ["data"],
 | 
	
		
			
				|  |  | -  components: {
 | 
	
		
			
				|  |  | -    "count-to": countTo,
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  data() {
 | 
	
		
			
				|  |  | -    return {
 | 
	
		
			
				|  |  | -      active: "",
 | 
	
		
			
				|  |  | -    };
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  computed: {
 | 
	
		
			
				|  |  | -    dataEmpty() {
 | 
	
		
			
				|  |  | -      return !this.chartData.rows.length;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    items() {
 | 
	
		
			
				|  |  | -      let tempArr = [{
 | 
	
		
			
				|  |  | -        text: '待续费人数',
 | 
	
		
			
				|  |  | -        value: 0,
 | 
	
		
			
				|  |  | -        id: 'waitRenewNum'
 | 
	
		
			
				|  |  | -      }, {
 | 
	
		
			
				|  |  | -        text: '未开始课时',
 | 
	
		
			
				|  |  | -        value: 0,
 | 
	
		
			
				|  |  | -        id: 'subCourseNum'
 | 
	
		
			
				|  |  | -      }, {
 | 
	
		
			
				|  |  | -        text: '未排课课时',
 | 
	
		
			
				|  |  | -        value: 0,
 | 
	
		
			
				|  |  | -        id: 'noScheduleNum'
 | 
	
		
			
				|  |  | -      }]
 | 
	
		
			
				|  |  | -      tempArr.forEach(item => {
 | 
	
		
			
				|  |  | -        if(this.data[item.id]) {
 | 
	
		
			
				|  |  | -          item.value = this.data[item.id]
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      })
 | 
	
		
			
				|  |  | -      return tempArr
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | -</script>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -<style lang="scss" scoped>
 | 
	
		
			
				|  |  | -/deep/ .el-card__body .statistic {
 | 
	
		
			
				|  |  | -    margin-bottom: 15px;
 | 
	
		
			
				|  |  | -    padding: 0;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -/deep/.el-card__header {
 | 
	
		
			
				|  |  | -    padding: 0 20px!important;
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -.box {
 | 
	
		
			
				|  |  | -  display: flex;
 | 
	
		
			
				|  |  | -  flex-direction: row;
 | 
	
		
			
				|  |  | -  align-items: center;
 | 
	
		
			
				|  |  | -  height: 55px;
 | 
	
		
			
				|  |  | -  line-height: 55px;
 | 
	
		
			
				|  |  | -  .shape {
 | 
	
		
			
				|  |  | -    margin-right: 10px;
 | 
	
		
			
				|  |  | -    height: 18px;
 | 
	
		
			
				|  |  | -    width: 4px;
 | 
	
		
			
				|  |  | -    background-color: var(--color-primary);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -</style>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div>
 | 
	
		
			
				|  |  | +    <el-card>
 | 
	
		
			
				|  |  | +      <div slot="header" class="clearfix">
 | 
	
		
			
				|  |  | +        <div class="box">
 | 
	
		
			
				|  |  | +          <span class="shape"></span>
 | 
	
		
			
				|  |  | +          <span>剩余课时</span>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +      <!-- <div
 | 
	
		
			
				|  |  | +        class="wall"
 | 
	
		
			
				|  |  | +        style="height: 68px"
 | 
	
		
			
				|  |  | +        v-if="JSON.stringify(items) == '{}'&&!data['CHARGE_STUDENT_CHANGE_RATE']&&!data['ACTIVATION_RATE']"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  | +        暂无数据
 | 
	
		
			
				|  |  | +      </div> -->
 | 
	
		
			
				|  |  | +      <statistic :col="5" class="statistic" :cols="0">
 | 
	
		
			
				|  |  | +        <statistic-item
 | 
	
		
			
				|  |  | +          v-for="(item, key) in items"
 | 
	
		
			
				|  |  | +          :key="key"
 | 
	
		
			
				|  |  | +          :class="{ active: active === key }"
 | 
	
		
			
				|  |  | +          @click="active = key"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <span>
 | 
	
		
			
				|  |  | +            {{ item.text }}
 | 
	
		
			
				|  |  | +          </span>
 | 
	
		
			
				|  |  | +          <span> <count-to :endVal="item.value" /> </span>
 | 
	
		
			
				|  |  | +        </statistic-item>
 | 
	
		
			
				|  |  | +      </statistic>
 | 
	
		
			
				|  |  | +    </el-card>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import countTo from "vue-count-to";
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  props: ["data"],
 | 
	
		
			
				|  |  | +  components: {
 | 
	
		
			
				|  |  | +    "count-to": countTo,
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      active: "",
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  computed: {
 | 
	
		
			
				|  |  | +    dataEmpty() {
 | 
	
		
			
				|  |  | +      return !this.chartData.rows.length;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    items() {
 | 
	
		
			
				|  |  | +      let tempArr = [{
 | 
	
		
			
				|  |  | +        text: '待续费人数',
 | 
	
		
			
				|  |  | +        value: 0,
 | 
	
		
			
				|  |  | +        id: 'waitRenewNum'
 | 
	
		
			
				|  |  | +      }, {
 | 
	
		
			
				|  |  | +        text: '未开始课时',
 | 
	
		
			
				|  |  | +        value: 0,
 | 
	
		
			
				|  |  | +        id: 'subCourseNum'
 | 
	
		
			
				|  |  | +      }, {
 | 
	
		
			
				|  |  | +        text: '未排课课时',
 | 
	
		
			
				|  |  | +        value: 0,
 | 
	
		
			
				|  |  | +        id: 'noScheduleNum'
 | 
	
		
			
				|  |  | +      }]
 | 
	
		
			
				|  |  | +      tempArr.forEach(item => {
 | 
	
		
			
				|  |  | +        if(this.data[item.id]) {
 | 
	
		
			
				|  |  | +          item.value = this.data[item.id]
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      return tempArr
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +/deep/ .el-card__body .statistic {
 | 
	
		
			
				|  |  | +    margin-bottom: 15px;
 | 
	
		
			
				|  |  | +    padding: 0;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +/deep/.el-card__header {
 | 
	
		
			
				|  |  | +    padding: 0 20px!important;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.box {
 | 
	
		
			
				|  |  | +  display: flex;
 | 
	
		
			
				|  |  | +  flex-direction: row;
 | 
	
		
			
				|  |  | +  align-items: center;
 | 
	
		
			
				|  |  | +  height: 55px;
 | 
	
		
			
				|  |  | +  line-height: 55px;
 | 
	
		
			
				|  |  | +  .shape {
 | 
	
		
			
				|  |  | +    margin-right: 10px;
 | 
	
		
			
				|  |  | +    height: 18px;
 | 
	
		
			
				|  |  | +    width: 4px;
 | 
	
		
			
				|  |  | +    background-color: var(--color-primary);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 | 
	
		
			
				|  |  | +
 |