| 
					
				 | 
			
			
				@@ -0,0 +1,132 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { defineComponent, onMounted, reactive } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { NAvatar, NButton, NForm, NFormItem, NSpace, NTag } from 'naive-ui'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Pagination from '@/components/pagination'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { courseSchedulePage } from '../api'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useRoute } from 'vue-router'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import CDatePicker from '/src/components/CDatePicker'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import styles from './classRecord.module.less'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import teacherIcon from '@components/layout/images/teacherIcon.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import dayjs from 'dayjs'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getTimes } from '/src/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'class-record', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  setup() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const nowTime = dayjs().format('YYYY-MM-DD'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const state = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      searchForm: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createTimer: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dayjs(nowTime).subtract(1, 'month').valueOf(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dayjs(nowTime).valueOf() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pagination: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rows: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pageTotal: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tableList: [] as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const route = useRoute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const search = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.pagination.page = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onReset = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.searchForm = { createTimer: null as any }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      search(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      state.loading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const res = await courseSchedulePage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          classGroupId: route.query.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ...getTimes( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            state.searchForm.createTimer, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ['startTime', 'endTime'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'YYYY-MM-DD' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ...state.pagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.tableList = res.data.rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.pagination.pageTotal = res.data.total; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        state.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class={styles.searchList}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <NForm label-placement="left" inline> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <CDatePicker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model:timerValue={state.searchForm.createTimer} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                separator={'-'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="daterange"></CDatePicker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <NSpace justify="end"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <NButton type="primary" class="searchBtn" onClick={search}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  搜索 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </NButton> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <NButton 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  type="primary" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ghost 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  class="resetBtn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  onClick={onReset}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  重置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </NButton> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </NSpace> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </NFormItem> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </NForm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class={styles.tableWrap}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <NSpace> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {state.tableList.map((item: any) => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class={styles.tableContainer}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.header}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class={styles.time}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    {dayjs(item.classDate).format('YYYY-MM-DD')} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NTag type="primary" class={styles.ntag} strong> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    三年二班 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </NTag> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class={styles.content}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <NAvatar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    class={styles.navatar} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    round 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    src={item.teacherAvatar || teacherIcon} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class={styles.userInfo}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <h2>{item.teacherName}</h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      人教版二年级上册 | 第二十一单元 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      |【歌表演】我和我的祖国一刻也不能分割 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ))} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </NSpace> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <Pagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model:page={state.pagination.page} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model:pageSize={state.pagination.rows} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model:pageTotal={state.pagination.pageTotal} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            onList={getList} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sync 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            saveKey="classRecord-key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 |