| 
					
				 | 
			
			
				@@ -1,49 +1,153 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OSticky from '@/components/o-sticky' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { Button, Grid, GridItem, Icon, Image, Popover, Popup } from 'vant' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { defineComponent, reactive } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { Button, DatePicker, Grid, GridItem, Icon, Image, List, Picker, Popover, Popup } from 'vant' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { defineComponent, nextTick, onMounted, reactive } from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import styles from './information.module.less' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import iconSaveImage from '../images/icon-save-image.png' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import iconWechat from '../images/icon-wechat.png' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OQrcode from '@/components/o-qrcode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import request from '@/helpers/request' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useRoute } from 'vue-router' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { CountUp } from 'countup.js' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import OEmpty from '@/components/o-empty' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import dayjs from 'dayjs' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'detail-information', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const route = useRoute() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      timeShow: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      currentData: [dayjs().year() + ''], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       showPopover: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      actions: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { text: '全部乐团', color: 'var(--van-primary-color)', value: 'ALL' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { text: '交付团', value: 'DELIVERY' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { text: '晋升团', value: 'PROMOTION' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      actionText: '上学期', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      actionType: 'up', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       actionTerm: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { text: '上学期', color: 'var(--van-primary-color)', value: 'ALL' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { text: '下学期', value: 'DELIVERY' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { text: '上学期', color: 'var(--van-primary-color)', value: 'up' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { text: '下学期', value: 'down' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       oPopover: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       check: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       checkboxRefs: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      showQrcode: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showQrcode: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      list: [] as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      listState: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dataShow: true, // 判断是否有数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finished: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        startTime: dayjs().year() + '-03-01 00:00:00', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        endTime: dayjs().year() + '-09-01 00:00:00', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rows: 20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 选择学期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onSelect = (val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.actionTerm.forEach((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        item.color = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val.color = 'var(--van-primary-color)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.actionText = val.text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.actionType = val.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (val === 'up') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.startTime = dayjs().year() + '-03-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.endTime = dayjs().year() + '-09-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (val === 'down') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.startTime = dayjs().year() + '-09-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.endTime = dayjs().add(1, 'year').year() + '-03-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onConfirmDate = (date: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.currentData = date.selectedValues 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (state.actionType == 'up') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.startTime = date.selectedValues[0] + '-03-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.endTime = date.selectedValues[0] + '-09-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (state.actionType == 'down') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.startTime = date.selectedValues[0] + 1 + '-03-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.endTime = date.selectedValues[0] + 1 + '-09-01 00:00:00' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.timeShow = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(state.params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getDetails = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await request.get('/api-school/orchestra/detail/' + route.query.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // console.log(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 班级列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (state.isLoading) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.isLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const res = await request.post('/api-school/classGroup/page', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ...state.params, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orchestraId: route.query.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.listState.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const result = res.data || {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 处理重复请求数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (state.list.length > 0 && result.pageNo === 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const rows = result.rows || [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.list = state.list.concat(rows) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.listState.finished = result.current >= result.pages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.params.page = result.current + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.listState.dataShow = state.list.length > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.isLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.listState.dataShow = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.listState.finished = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.isLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onSearch = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.params.page = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.listState.dataShow = true // 判断是否有数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.listState.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.listState.finished = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const initNumCountUp = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 在读学生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        new CountUp('currentStudentNum', Math.random() * 1000).start() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        new CountUp('time1', Math.random() * 100).start() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        new CountUp('time2', Math.random() * 100).start() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        new CountUp('time3', Math.random() * 100).start() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getDetails() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      initNumCountUp() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div style={{ padding: '12px 13px 16px', background: '#F8F8F8' }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <Popover 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            v-model:show={state.showPopover} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            actions={state.actions} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            showArrow={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            placement="bottom-start" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            offset={[0, 12]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            style={{ zIndex: '9999' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              reference: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <div class={styles.searchBand}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  全部乐团 <Icon name={state.showPopover ? 'arrow-up' : 'arrow-down'} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </Popover> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={styles.searchBand} onClick={() => (state.timeShow = true)}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {state.currentData[0]}年 <Icon name={state.showPopover ? 'arrow-up' : 'arrow-down'} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <Popover 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             v-model:show={state.oPopover} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             actions={state.actionTerm} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -51,11 +155,12 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             placement="bottom" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             offset={[0, 12]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             style={{ zIndex: '9999' }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onSelect={onSelect} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               reference: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class={styles.searchBand} style="margin-left: 16px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  上学期 <Icon name={state.oPopover ? 'arrow-up' : 'arrow-down'} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {state.actionText} <Icon name={state.oPopover ? 'arrow-up' : 'arrow-down'} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -65,46 +170,68 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <Grid border={false} class={styles.gridContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <p class={[styles.title, styles.red]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              92<span>名</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span id="currentStudentNum">0</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <i>名</i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <p class={styles.name}>在读学生</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <p class={[styles.title, styles.red]}>92%</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p class={[styles.title, styles.red]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span id="time1">0</span>% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <p class={styles.name}>到课率</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <p class={[styles.title, styles.red]}>92%</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p class={[styles.title, styles.red]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span id="time2">0</span>% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <p class={styles.name}>作业提交率</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <p class={[styles.title, styles.red]}>92%</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <p class={[styles.title, styles.red]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span id="time3">0</span>% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <p class={styles.name}>练习合格率</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </Grid> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {[1, 2, 3, 4, 5, 6].map((val: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={[styles.gridContainer, styles.gridClass]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class={styles.className}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <i class={styles.line}></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              长笛班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Grid border={false} columnNum={3}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <p class={styles.title}>18</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <p class={styles.name}>在读学生</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <p class={[styles.title, styles.teacher]}>张老师</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <p class={styles.name}>伴学指导</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <p class={styles.title}>10/16</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <p class={styles.name}>课时</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </Grid> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {state.listState.dataShow ? ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <List 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model:loading={state.listState.loading} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            finished={state.listState.finished} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            finishedText=" " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class={[styles.liveList]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onLoad={getList} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            immediateCheck={false} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {state.list.map((item: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class={[styles.gridContainer, styles.gridClass]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.className}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <i class={styles.line}></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  {item.name} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <Grid border={false} columnNum={3}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p class={styles.title}>{item.preStudentNum || 0}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p class={styles.name}>在读学生</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p class={[styles.title, styles.teacher]}>{item.teacherName || '/'}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p class={styles.name}>伴学指导</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p class={styles.title}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      {item.completeCourseScheduleNum || 0}/{item.courseScheduleNum || 0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p class={styles.name}>课时</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </GridItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </Grid> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </List> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) : ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <OEmpty btnStatus={false} classImgSize="SMALL" tips="暂无班级" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        )} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <OSticky position="bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class={'btnGroup'}> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -164,6 +291,17 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </Popup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <Popup v-model:show={state.timeShow} position="bottom" round> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <DatePicker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model={state.currentData} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            columnsType={['year']} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            minDate={new Date(2010, 0, 1)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            maxDate={new Date(2055, 11, 31)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onConfirm={onConfirmDate} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onCancel={() => (state.timeShow = false)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </Popup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |