mo 2 年之前
父節點
當前提交
cf0cce3f8a

+ 1 - 1
src/router/routes-school.ts

@@ -170,7 +170,7 @@ export default [
         name: 'attendance',
         component: () => import('@/school/attendance/index'),
         meta: {
-          title: '考勤管理'
+          title: '异常考勤'
         }
       },
       {

+ 26 - 24
src/school/attendance/components/attend-student.tsx

@@ -1,5 +1,5 @@
 import OSearch from '@/components/o-search'
-import oEmpty from '@/components/o-empty'
+import OEmpty from '@/components/o-empty'
 import dayjs from 'dayjs'
 import {
   Icon,
@@ -48,9 +48,12 @@ export default defineComponent({
     const finished = ref(false)
     const showContact = ref(false)
     const list = ref([])
-
+    const schoolId = globalState.user.data.schoolInfos
+      .map((item) => {
+        return item.id
+      })
+      .join(',')
     const getList = async () => {
-      console.log('getList')
       loading.value = true
       try {
         if (refreshing.value) {
@@ -62,17 +65,18 @@ export default defineComponent({
         const res = await request.post(
           '/api-school/courseScheduleStudentAttendance/studentAttendance',
           {
-            data: { ...forms }
+            data: { ...forms, schoolId: schoolId }
           }
         )
-
+        console.log(list.value, 'list.value')
         if (list.value.length > 0 && res.data.pages === 1) {
           return
         }
 
         // forms.page = res.data.current + 1
         list.value = res.data
-        // showContact.value = list.value.length > 0
+
+        showContact.value = list.value.length > 0
         // console.log(showContact.value, ' showContact.value ')
         loading.value = false
 
@@ -108,11 +112,6 @@ export default defineComponent({
       getList()
     }
     const getOrchestraList = async () => {
-      const schoolId = globalState.user.data.schoolInfos
-        .map((item) => {
-          return item.id
-        })
-        .join(',')
       try {
         const res = await request.post('/api-school/orchestra/page', {
           data: { page: 1, rows: 9999, schoolId }
@@ -201,19 +200,22 @@ export default defineComponent({
         </div>
         {/* </OSticky> */}
 
-        {}
-        <PullRefresh v-model={refreshing.value} onRefresh={onRefresh}>
-          <List
-            v-model:loading={loading.value}
-            finished={finished.value}
-            finished-text="没有更多了"
-            onLoad={getList}
-          >
-            {list.value.map((item: any) => (
-              <StudentAttItem item={item}></StudentAttItem>
-            ))}
-          </List>
-        </PullRefresh>
+        {showContact.value ? (
+          <PullRefresh v-model={refreshing.value} onRefresh={onRefresh}>
+            <List
+              v-model:loading={loading.value}
+              finished={finished.value}
+              finished-text="没有更多了"
+              onLoad={getList}
+            >
+              {list.value.map((item: any) => (
+                <StudentAttItem item={item}></StudentAttItem>
+              ))}
+            </List>
+          </PullRefresh>
+        ) : (
+          <OEmpty></OEmpty>
+        )}
 
         <Popup v-model:show={state.showPopoverTime} position="bottom" style="{ height: '30%' }">
           <DatePicker

+ 8 - 6
src/school/attendance/index.tsx

@@ -17,14 +17,16 @@ export default defineComponent({
         <OSticky position="top" background="#F8F8F8">
           <OHeader isBack={true}></OHeader>
           <Tabs v-model:active={activeName.value}>
-            <Tab name="student" title="学生考勤">
-              <AttendStudent></AttendStudent>
-            </Tab>
-            <Tab name="teacher" title="伴学指导考勤">
-              <AttendTeacher></AttendTeacher>
-            </Tab>
+            <Tab name="student" title="学生考勤"></Tab>
+            <Tab name="teacher" title="伴学指导考勤"></Tab>
           </Tabs>
         </OSticky>
+
+        {activeName.value == 'student' ? (
+          <AttendStudent></AttendStudent>
+        ) : (
+          <AttendTeacher></AttendTeacher>
+        )}
       </>
     )
   }

+ 2 - 1
src/school/attendance/student-att-day.tsx

@@ -49,7 +49,6 @@ export default defineComponent({
     const list = ref([])
 
     const getList = async () => {
-      console.log('getList')
       loading.value = true
       try {
         if (refreshing.value) {
@@ -86,6 +85,7 @@ export default defineComponent({
       forms.timeName =
         val.selectedValues[0] + '年' + val.selectedValues[1] + '月' + val.selectedValues[2] + '日'
       state.showPopoverTime = false
+      refreshing.value = true
       getList()
     }
 
@@ -122,6 +122,7 @@ export default defineComponent({
           background="#f6f6f6"
           onSearch={(val: any) => {
             forms.nickName = val
+            refreshing.value = true
             getList()
           }}
           modelValue={forms.nickName}

+ 2 - 2
src/school/exercise-record/exercis-detail.tsx

@@ -177,7 +177,7 @@ export default defineComponent({
                     {infoDetail.value.practiceTimes ? infoDetail.value.practiceTimes : 0}{' '}
                     <span>分钟</span>
                   </p>
-                  <p class={styles.infoDaysub}>练习天数</p>
+                  <p class={styles.infoDaysub}>练习时长</p>
                 </div>
               </div>
             </div>
@@ -262,7 +262,7 @@ export default defineComponent({
                 <p>
                   练习数据是学生通过云教练自主练习的数据统计,可根据时间段查询学生的练习天数和练习时长{' '}
                 </p>
-                <p>练习天数:当天曲目播放或测评记录即算练习</p>
+                <p>练习天数:当天曲目播放或测评记录即算练习</p>
                 <p>练习时长:曲目播放和曲目测评的时长总和</p>
               </div>
             )

+ 19 - 3
src/school/exercise-record/index.tsx

@@ -22,7 +22,6 @@ import { state as globalState } from '@/state'
 import { useRouter } from 'vue-router'
 import styles from './index.module.less'
 import request from '@/helpers/request'
-
 export default defineComponent({
   name: 'exercise-record',
   setup() {
@@ -35,8 +34,17 @@ export default defineComponent({
       actions: [] as any,
       subjects: [] as any,
       actionSorts: [
-        { text: '按天数', value: 'PRACTICE_DAY' },
-        { text: '按时长', value: 'PRACTICE_TIMES' }
+        {
+          text: '按天数',
+          value: 'PRACTICE_DAY',
+          color: '#f67146'
+        },
+        {
+          text: '按时长',
+          value: 'PRACTICE_TIMES',
+          color: '#333'
+        }
+        //   color: forms.sortType == 'PRACTICE_DAY' ? '#FF8057' : '#333'
       ],
       currentDate: [dayjs().format('YYYY'), dayjs().format('MM')]
     })
@@ -53,6 +61,7 @@ export default defineComponent({
       page: 1,
       rows: 20
     })
+
     const minDate = ref(new Date(dayjs().subtract(5, 'year').format('YYYY-MM-DD')))
     const maxDate = ref(new Date(dayjs().add(5, 'year').format('YYYY-MM-DD')))
     const columnsType = ref<DatePickerColumnType[]>(['year', 'month'])
@@ -105,6 +114,13 @@ export default defineComponent({
     const checkSort = (val: any) => {
       forms.sortType = val.value
       forms.sortTypeName = val.text
+      state.actionSorts.forEach((element) => {
+        if (element.value == val.value) {
+          element.color = '#f67146'
+        } else {
+          element.color = '#333'
+        }
+      })
       refreshing.value = true
       getList()
     }

二進制
src/school/images/Image4.png