|  | @@ -1,12 +1,20 @@
 | 
	
		
			
				|  |  | -import { Ref, defineComponent, reactive, ref } from 'vue';
 | 
	
		
			
				|  |  | +import { Ref, defineComponent, onMounted, reactive, ref } from 'vue';
 | 
	
		
			
				|  |  |  import styles from '../index.module.less';
 | 
	
		
			
				|  |  |  import { NButton, NDataTable, NNumberAnimation } from 'naive-ui';
 | 
	
		
			
				|  |  |  import numeral from 'numeral';
 | 
	
		
			
				|  |  |  import { useECharts } from '@/hooks/web/useECharts';
 | 
	
		
			
				|  |  |  import Pagination from '/src/components/pagination';
 | 
	
		
			
				|  |  | +import { getTimes } from '/src/utils/dateFormat';
 | 
	
		
			
				|  |  | +import { getTrainingStat } from '../../data-module/api';
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'home-trainData',
 | 
	
		
			
				|  |  | -  setup() {
 | 
	
		
			
				|  |  | +  props: {
 | 
	
		
			
				|  |  | +    timer: {
 | 
	
		
			
				|  |  | +      type: Array,
 | 
	
		
			
				|  |  | +      defaut: () => []
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  setup(props, { expose }) {
 | 
	
		
			
				|  |  |      const chartRef = ref<HTMLDivElement | null>(null);
 | 
	
		
			
				|  |  |      const { setOptions } = useECharts(chartRef as Ref<HTMLDivElement>);
 | 
	
		
			
				|  |  |      const qualifiedFlag = ref(true);
 | 
	
	
		
			
				|  | @@ -28,6 +36,14 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        studentList: [50, 100, 80, 180, 70, 99, 300],
 | 
	
		
			
				|  |  |        payInfoList: [100, 200, 300, 450, 330, 200, 10]
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | +    const totalDateRef = ref({
 | 
	
		
			
				|  |  | +      qualifiedRate: 9,
 | 
	
		
			
				|  |  | +      qualifiedStudentCount: 1,
 | 
	
		
			
				|  |  | +      submitStudentCount: 3,
 | 
	
		
			
				|  |  | +      totalStudentCount: 11,
 | 
	
		
			
				|  |  | +      trainingCount: 4,
 | 
	
		
			
				|  |  | +      trainingRate: 27, //
 | 
	
		
			
				|  |  | +    } as any);
 | 
	
		
			
				|  |  |      const state = reactive({
 | 
	
		
			
				|  |  |        loading: false,
 | 
	
		
			
				|  |  |        pagination: {
 | 
	
	
		
			
				|  | @@ -152,9 +168,16 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        ];
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  | -    const getList = () => {
 | 
	
		
			
				|  |  | -      console.log('1');
 | 
	
		
			
				|  |  | +    const getList = async () => {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        const res = await getTrainingStat({
 | 
	
		
			
				|  |  | +          ...getTimes(props.timer, ['startTime', 'endTime'], 'YYYY-MM-DD')
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      } catch (e) {
 | 
	
		
			
				|  |  | +        console.log(e);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  | +    expose({ getList });
 | 
	
		
			
				|  |  |      const setChart = () => {
 | 
	
		
			
				|  |  |        setOptions({
 | 
	
		
			
				|  |  |          tooltip: {
 | 
	
	
		
			
				|  | @@ -330,7 +353,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          // ]
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  | -    setChart();
 | 
	
		
			
				|  |  | +    onMounted(() => {
 | 
	
		
			
				|  |  | +      getList();
 | 
	
		
			
				|  |  | +      setChart();
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <>
 | 
	
		
			
				|  |  |          <div class={styles.homeTrainData}>
 | 
	
	
		
			
				|  | @@ -339,7 +366,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                <div class={styles.TrainDataItem}>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemTitle}>
 | 
	
		
			
				|  |  |                    <span>
 | 
	
		
			
				|  |  | -                    <NNumberAnimation from={0} to={6}></NNumberAnimation>
 | 
	
		
			
				|  |  | +                    <NNumberAnimation from={0} to={totalDateRef.value.trainingCount}></NNumberAnimation>
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                    次
 | 
	
		
			
				|  |  |                  </p>
 | 
	
	
		
			
				|  | @@ -348,7 +375,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                <div class={styles.TrainDataItem}>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemTitle}>
 | 
	
		
			
				|  |  |                    <span>
 | 
	
		
			
				|  |  | -                    <NNumberAnimation from={0} to={100}></NNumberAnimation>
 | 
	
		
			
				|  |  | +                    <NNumberAnimation from={0} to={totalDateRef.value.totalStudentCount}></NNumberAnimation>
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                    人次
 | 
	
		
			
				|  |  |                  </p>
 | 
	
	
		
			
				|  | @@ -357,7 +384,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                <div class={styles.TrainDataItem}>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemTitle}>
 | 
	
		
			
				|  |  |                    <span>
 | 
	
		
			
				|  |  | -                    <NNumberAnimation from={0} to={40}></NNumberAnimation>
 | 
	
		
			
				|  |  | +                    <NNumberAnimation from={0} to={totalDateRef.value.submitStudentCount}></NNumberAnimation>
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                    人次
 | 
	
		
			
				|  |  |                  </p>
 | 
	
	
		
			
				|  | @@ -367,7 +394,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemTitle}>
 | 
	
		
			
				|  |  |                    <span>
 | 
	
		
			
				|  |  |                      {' '}
 | 
	
		
			
				|  |  | -                    <NNumberAnimation from={0} to={30}></NNumberAnimation>
 | 
	
		
			
				|  |  | +                    <NNumberAnimation from={0} to={totalDateRef.value.qualifiedStudentCount}></NNumberAnimation>
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                    人次
 | 
	
		
			
				|  |  |                  </p>
 | 
	
	
		
			
				|  | @@ -376,7 +403,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                <div class={styles.TrainDataItem}>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemTitle}>
 | 
	
		
			
				|  |  |                    <span>
 | 
	
		
			
				|  |  | -                    <NNumberAnimation from={0} to={40}></NNumberAnimation>%
 | 
	
		
			
				|  |  | +                    <NNumberAnimation from={0} to={totalDateRef.value.trainingRate}></NNumberAnimation>%
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                  </p>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemsubTitle}>训练提交率</p>
 | 
	
	
		
			
				|  | @@ -384,7 +411,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                <div class={styles.TrainDataItem}>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemTitle}>
 | 
	
		
			
				|  |  |                    <span>
 | 
	
		
			
				|  |  | -                    <NNumberAnimation from={0} to={30}></NNumberAnimation>%
 | 
	
		
			
				|  |  | +                    <NNumberAnimation from={0} to={totalDateRef.value.qualifiedRate}></NNumberAnimation>%
 | 
	
		
			
				|  |  |                    </span>
 | 
	
		
			
				|  |  |                  </p>
 | 
	
		
			
				|  |  |                  <p class={styles.TrainDataItemsubTitle}>训练合格率</p>
 |