ソースを参照

Merge branch 'iteration-20250313-light' into dev

lex-xin 3 ヶ月 前
コミット
cde150169a

+ 2 - 2
src/components/layout/index.module.less

@@ -543,8 +543,8 @@
 .imGroupContainer,
 .container {
   background-color: #fff;
-  width: 868px;
-  height: 540px;
+  width: 1156px;
+  height: 834px;
   border-radius: 15px;
 }
 

+ 4 - 2
src/views/classList/api.ts

@@ -260,6 +260,8 @@ export const updateBatchInstrument = (params?: any) => {
 /**
  * 班级学生名单 统计
  */
-export const api_studentStat = (classGroupId: string) => {
-  return request.get(`/edu-app/classGroup/studentStat/${classGroupId}`);
+export const api_studentStat = (params?: any) => {
+  return request.post(`/edu-app/classGroup/studentStat`, {
+    data: params
+  });
 };

+ 5 - 1
src/views/classList/components/classStudent.tsx

@@ -57,6 +57,7 @@ export default defineComponent({
     );
     const search = () => {
       state.pagination.page = 1;
+      getInfo();
       getList();
       setCache({ current: state.searchForm, saveKey: 'classDetailStudent' });
     };
@@ -100,7 +101,10 @@ export default defineComponent({
 
     const getInfo = async () => {
       try {
-        const { data } = await api_studentStat(route.query.id as any);
+        const { data } = await api_studentStat({
+          classGroupId: route.query.id as any,
+          ...state.searchForm
+        });
         payForm.studentNum = data.studentNum || 0;
         payForm.vipStudentNum = data.vipStudentNum || 0;
       } catch (e) {

+ 6 - 5
src/views/classList/components/testRecode.tsx

@@ -113,16 +113,15 @@ export default defineComponent({
     const getList = async () => {
       state.loading = true;
       try {
-        const { keyword, ...more } = state.searchForm;
+        const searchForm = state.searchForm;
         const res = await api_practiceStatPage({
           classGroupId: route.query.id,
-          ...more,
-          studentName: keyword,
+          studentName: searchForm.keyword,
+          vipFlag: searchForm.vipFlag,
           ...state.pagination,
           ...getTimes(timer.value, ['startTime', 'endTime'], 'YYYY-MM-DD')
         });
 
-        console.log(res, 'res')
         state.tableList = res.data.rows;
 
         state.pagination.pageTotal = res.data.total;
@@ -135,10 +134,12 @@ export default defineComponent({
 
     const getInfo = async () => {
       try {
+        const searchForm = state.searchForm;
         const { data } = await getPracticePageStat({
           page: 1,
           rows: 999,
-          studentName: state.searchForm.keyword,
+          studentName: searchForm.keyword,
+          vipFlag: searchForm.vipFlag,
           classGroupId: route.query.id,
           ...getTimes(timer.value, ['startTime', 'endTime'], 'YYYY-MM-DD')
         });

+ 131 - 137
src/views/home/components/trainData.tsx

@@ -391,150 +391,144 @@ export default defineComponent({
     getList();
 
     return () => (
-      <>
-        <div class={styles.homeTrainData}>
-          <div class={styles.TrainDataTop}>
-            <div class={styles.TrainDataTopLeft}>
-              <div class={styles.TrainDataItem}>
-                <p class={styles.TrainDataItemTitle}>
-                  <div>
-                    <span>
-                      <NNumberAnimation
-                        from={0}
-                        to={
-                          totalDateRef.value.trainingCount
-                        }></NNumberAnimation>
-                    </span>
-                    次
-                  </div>
-                </p>
-                <p class={styles.TrainDataItemsubTitle}>作业次数</p>
-              </div>
-              <div class={styles.TrainDataItem}>
-                <p class={styles.TrainDataItemTitle}>
-                  <div>
-                    <span>
-                      <NNumberAnimation
-                        from={0}
-                        to={
-                          totalDateRef.value.totalStudentCount
-                        }></NNumberAnimation>
-                    </span>
-                    人次
-                  </div>
-                </p>
-                <p class={styles.TrainDataItemsubTitle}>应交总人次</p>
-              </div>
-              <div class={styles.TrainDataItem}>
-                <p class={styles.TrainDataItemTitle}>
-                  <div>
-                    <span>
-                      <NNumberAnimation
-                        from={0}
-                        to={
-                          totalDateRef.value.submitStudentCount
-                        }></NNumberAnimation>
-                    </span>
-                    人次
-                  </div>
-                </p>
-                <p class={styles.TrainDataItemsubTitle}>提交总人次</p>
-              </div>
-              <div class={styles.TrainDataItem}>
-                <p class={styles.TrainDataItemTitle}>
-                  <div>
-                    <span>
-                      <NNumberAnimation
-                        from={0}
-                        to={
-                          totalDateRef.value.qualifiedStudentCount
-                        }></NNumberAnimation>
-                    </span>
-                    人次
-                  </div>
-                </p>
-                <p class={styles.TrainDataItemsubTitle}>达标总人次</p>
-              </div>
-              <div class={styles.TrainDataItem}>
-                <p class={styles.TrainDataItemTitle}>
-                  <div>
-                    <span>
-                      <NNumberAnimation
-                        from={0}
-                        to={totalDateRef.value.trainingRate}></NNumberAnimation>
-                    </span>
-                    %
-                  </div>
-                </p>
-                <p class={styles.TrainDataItemsubTitle}>作业提交率</p>
-              </div>
-              <div class={styles.TrainDataItem}>
-                <p class={styles.TrainDataItemTitle}>
-                  <div>
-                    <span>
-                      <NNumberAnimation
-                        from={0}
-                        to={
-                          totalDateRef.value.qualifiedRate
-                        }></NNumberAnimation>
-                    </span>
-                    %
-                  </div>
-                </p>
-                <p class={styles.TrainDataItemsubTitle}>作业达标率</p>
-              </div>
+      <div class={styles.homeTrainData}>
+        <div class={styles.TrainDataTop}>
+          <div class={styles.TrainDataTopLeft}>
+            <div class={styles.TrainDataItem}>
+              <p class={styles.TrainDataItemTitle}>
+                <div>
+                  <span>
+                    <NNumberAnimation
+                      from={0}
+                      to={totalDateRef.value.trainingCount}></NNumberAnimation>
+                  </span>
+                  次
+                </div>
+              </p>
+              <p class={styles.TrainDataItemsubTitle}>作业次数</p>
             </div>
-            <div class={styles.TrainDataTopRight}>
-              <div
-                onClick={() => {
-                  qualifiedFlag.value = !qualifiedFlag.value;
-                  setChart();
-                }}
-                class={[
-                  styles.DataTopRightItem,
-                  qualifiedFlag.value ? '' : styles.DataTopRightItemDis
-                ]}>
-                <div class={styles.DataTopRightDot}></div>
-                <p>达标人数</p>
-              </div>
-              <div
-                onClick={() => {
-                  unqualifiedFlag.value = !unqualifiedFlag.value;
-                  setChart();
-                }}
-                class={[
-                  styles.DataTopRightItem,
-                  unqualifiedFlag.value ? '' : styles.DataTopRightItemDis
-                ]}>
-                <div class={[styles.DataTopRightDot, styles.red]}></div>
-                <p>未达标人数</p>
-              </div>
+            <div class={styles.TrainDataItem}>
+              <p class={styles.TrainDataItemTitle}>
+                <div>
+                  <span>
+                    <NNumberAnimation
+                      from={0}
+                      to={
+                        totalDateRef.value.totalStudentCount
+                      }></NNumberAnimation>
+                  </span>
+                  人次
+                </div>
+              </p>
+              <p class={styles.TrainDataItemsubTitle}>应交总人次</p>
+            </div>
+            <div class={styles.TrainDataItem}>
+              <p class={styles.TrainDataItemTitle}>
+                <div>
+                  <span>
+                    <NNumberAnimation
+                      from={0}
+                      to={
+                        totalDateRef.value.submitStudentCount
+                      }></NNumberAnimation>
+                  </span>
+                  人次
+                </div>
+              </p>
+              <p class={styles.TrainDataItemsubTitle}>提交总人次</p>
+            </div>
+            <div class={styles.TrainDataItem}>
+              <p class={styles.TrainDataItemTitle}>
+                <div>
+                  <span>
+                    <NNumberAnimation
+                      from={0}
+                      to={
+                        totalDateRef.value.qualifiedStudentCount
+                      }></NNumberAnimation>
+                  </span>
+                  人次
+                </div>
+              </p>
+              <p class={styles.TrainDataItemsubTitle}>达标总人次</p>
+            </div>
+            <div class={styles.TrainDataItem}>
+              <p class={styles.TrainDataItemTitle}>
+                <div>
+                  <span>
+                    <NNumberAnimation
+                      from={0}
+                      to={totalDateRef.value.trainingRate}></NNumberAnimation>
+                  </span>
+                  %
+                </div>
+              </p>
+              <p class={styles.TrainDataItemsubTitle}>作业提交率</p>
+            </div>
+            <div class={styles.TrainDataItem}>
+              <p class={styles.TrainDataItemTitle}>
+                <div>
+                  <span>
+                    <NNumberAnimation
+                      from={0}
+                      to={totalDateRef.value.qualifiedRate}></NNumberAnimation>
+                  </span>
+                  %
+                </div>
+              </p>
+              <p class={styles.TrainDataItemsubTitle}>作业达标率</p>
             </div>
           </div>
-          <div class={styles.chatrs}>
+          <div class={styles.TrainDataTopRight}>
             <div
-              ref={chartRef}
-              style={{ height: payForm.height, width: payForm.width }}></div>
-          </div>
-          <div class={styles.tableWrap}>
-            <NDataTable
-              v-slots={{
-                empty: () => <TheEmpty></TheEmpty>
+              onClick={() => {
+                qualifiedFlag.value = !qualifiedFlag.value;
+                setChart();
               }}
-              class={styles.classTable}
-              loading={state.loading}
-              columns={columns()}
-              data={state.tableList}></NDataTable>
-            <Pagination
-              v-model:page={state.pagination.page}
-              v-model:pageSize={state.pagination.rows}
-              v-model:pageTotal={state.pagination.pageTotal}
-              onList={getList}
-              sync
-            />
+              class={[
+                styles.DataTopRightItem,
+                qualifiedFlag.value ? '' : styles.DataTopRightItemDis
+              ]}>
+              <div class={styles.DataTopRightDot}></div>
+              <p>达标人数</p>
+            </div>
+            <div
+              onClick={() => {
+                unqualifiedFlag.value = !unqualifiedFlag.value;
+                setChart();
+              }}
+              class={[
+                styles.DataTopRightItem,
+                unqualifiedFlag.value ? '' : styles.DataTopRightItemDis
+              ]}>
+              <div class={[styles.DataTopRightDot, styles.red]}></div>
+              <p>未达标人数</p>
+            </div>
           </div>
         </div>
-      </>
+        <div class={styles.chatrs}>
+          <div
+            ref={chartRef}
+            style={{ height: payForm.height, width: payForm.width }}></div>
+        </div>
+        <div class={styles.tableWrap}>
+          <NDataTable
+            v-slots={{
+              empty: () => <TheEmpty></TheEmpty>
+            }}
+            class={styles.classTable}
+            loading={state.loading}
+            columns={columns()}
+            data={state.tableList}></NDataTable>
+          <Pagination
+            v-model:page={state.pagination.page}
+            v-model:pageSize={state.pagination.rows}
+            v-model:pageTotal={state.pagination.pageTotal}
+            onList={getList}
+            sync
+          />
+        </div>
+      </div>
     );
   }
 });