Browse Source

fix: change probation report

DESKTOP-USV654P\pc 1 day ago
parent
commit
feb295ff29

+ 1 - 1
Makefile

@@ -12,7 +12,7 @@ build:
 
 commit:
 	git add . && \
-	git commit --no-verify -m "fix: change statistics"
+	git commit --no-verify -m "fix: change probation report"
 
 checkPre:
 	git checkout pre

+ 9 - 0
src/services/apis/StudentTryReadingReportController.ts

@@ -18,6 +18,12 @@ export async function postTryReadingReportAllSign(params:string[],mode: ErrorMes
 export async function postTryReadingReportChangeClass(params:API.StudentReportSignDto
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
         ({url: '/student/tryReadingReport/change-class', data:params},{errorMessageMode:mode});}
+/** 查询班级信息 GET /student/tryReadingReport/class-list */
+export async function getTryReadingReportClassList(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.BandingTaskClassPageVo[]>
+        ({url: '/student/tryReadingReport/class-list', params:params},{errorMessageMode:mode});}
+/** 班级数据统计 GET /student/tryReadingReport/class-statistics */
+export async function getTryReadingReportClassStatistics(params:string,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.BandingTaskClassReportStatisticsVo>
+        ({url: '/student/tryReadingReport/class-statistics',params},{errorMessageMode:mode});}
 /** 非本班学生 POST /student/tryReadingReport/clear-class */
 export async function postTryReadingReportClearClass(params:API.ChangeBandingStatusDto
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
@@ -33,6 +39,9 @@ export async function getTryReadingReportPage(params:any,mode: ErrorMessageMode
 export async function postTryReadingReportSign(params:API.StudentReportSignDto
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
         ({url: '/student/tryReadingReport/sign', data:params},{errorMessageMode:mode});}
+/** 领导统计 GET /student/tryReadingReport/statistics */
+export async function getTryReadingReportStatistics(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.StudentReportRecordStatisticsVo>
+        ({url: '/student/tryReadingReport/statistics', params:params},{errorMessageMode:mode});}
 /** 切换就读方式 POST /student/tryReadingReport/update-stduyStatus */
 export async function postTryReadingReportUpdateStduyStatus(params:API.StudentReportSignDto
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>

+ 45 - 0
src/services/typing.d.ts

@@ -5309,6 +5309,41 @@ teacherId?: string;
 teacherName?: string;
 }
 
+type BandingTaskClassReportStatisticsVo = {
+/** 学生人数 */
+allCount?: number;
+/** 已到人数 */
+arrivedCount?: number;
+/** 已到女生人数 */
+arrivedFemaleCount?: number;
+/** 已到男生人数 */
+arrivedMaleCount?: number;
+/** 班级类型 */
+classType?: string;
+/** 教室id */
+classroomId?: string;
+/** 教室名称 */
+classroomName?: string;
+/** 女生人数 */
+femaleCount?: number;
+/** 主键编号 */
+id?: string;
+/** 是否订单班(0:否 1:是) */
+isOrderClass?: number;
+/** 男生人数 */
+maleCount?: number;
+/** 班级名称 */
+name?: string;
+/** 未到人数 */
+notArrivedCount?: number;
+/** 班级人数 */
+number?: number;
+/** 班主任id */
+teacherId?: string;
+/** 班主任名称 */
+teacherName?: string;
+}
+
 type BandingTaskClassStudentListVo = {
 /** 班级名称 */
 className?: string;
@@ -12999,6 +13034,8 @@ enrollmentPlanId?: string;
 field?: string;
 /** 年级id */
 gradeId?: string;
+/** 是否移动端(1:是 0:否) */
+isMoible?: number;
 /** 是否已报到(1:是 0:否) */
 isReport?: number;
 /** 关键词 */
@@ -17712,16 +17749,24 @@ type StudentReportRecordPlanPageVo = {
 archivesStatusCn?: string;
 /** 班级 */
 className?: string;
+/** 班级类型 */
+classType?: string;
 /** 身份证号 */
 credentialNumber?: string;
+/** 部门名称 */
+deptName?: string;
 /** 性别 */
 gender?: string;
 /** 年级 */
 gradeName?: string;
+/** 毕业学校 */
+graduateSchool?: string;
 /** 主键id */
 id?: string;
 /** 是否已报到(1:是 0:否) */
 isReport?: number;
+/** 专业名称 */
+majorName?: string;
 /** 手机号 */
 mobile?: string;
 /** 学生姓名 */

+ 25 - 45
src/views/educational/probation/report/adjust.vue

@@ -8,16 +8,7 @@
     :title="getTitle"
     :width="1002"
   >
-    <BasicForm @register="registerForm">
-      <template #studentIds>
-        <div class="flex" style="flex-wrap: wrap">
-          <div v-for="(item, index) in modelRef" :key="index">
-            <div style="margin: 4px" v-if="index < 6"> {{ item.name }}</div>
-          </div>
-          <div style="margin: 4px" v-if="modelRef.length > 6"> ... 等{{ modelRef.length }}个 </div>
-        </div>
-      </template>
-    </BasicForm>
+    <BasicForm @register="registerForm" />
   </BasicModal>
 </template>
 <script setup lang="ts">
@@ -26,34 +17,28 @@
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, useForm } from '/@/components/Form/index';
 
+  import { requestMagicApi } from '/@/api/magicApi';
   import {
-    getBandingTaskClassList,
-    postBandingTaskClassChangeClass,
-  } from '/@/services/apis/BandingTaskClassController';
+    getTryReadingReportClassList,
+    postTryReadingReportChangeClass,
+  } from '/@/services/apis/StudentTryReadingReportController';
 
   const isUpdate = ref(true);
-  const modelRef = ref<Recordable[]>([]);
+  const modelRef = ref<Recordable>({});
   const emit = defineEmits(['success', 'register']);
   const { createMessage } = useMessage();
   const [registerForm, { validate, resetFields, updateSchema, setFieldsValue }] = useForm({
     labelWidth: 100,
     schemas: [
       {
-        field: 'studentName',
+        field: 'name',
         label: '调整学生',
         component: 'Input',
         colProps: { span: 24 },
         dynamicDisabled: true,
       },
       {
-        field: 'gradeName',
-        label: '年级',
-        component: 'Input',
-        colProps: { span: 24 },
-        dynamicDisabled: true,
-      },
-      {
-        field: 'bandingTaskClassId',
+        field: 'classId',
         label: '调到班级',
         component: 'ApiSelect',
         colProps: { span: 24 },
@@ -78,10 +63,10 @@
     resetFields();
     setModalProps({ confirmLoading: false });
     isUpdate.value = !!data?.isUpdate;
-    modelRef.value = [...data.baseData];
-
-    const taskClassList = await getBandingTaskClassList({
-      bandingTaskId: data.bandingTaskId,
+    modelRef.value = { ...data.baseData };
+    setFieldsValue({ ...data.baseData });
+    const taskClassList = await getTryReadingReportClassList({
+      enrollmentPlanId: data.baseData.enrollmentPlanId,
     });
 
     const classList = taskClassList.map((item) => {
@@ -93,16 +78,17 @@
 
     updateSchema([
       {
-        field: 'bandingTaskClassId',
+        field: 'classId',
+        component: 'Select',
         componentProps: {
           options: classList,
-          onChange: (value: string) => {
-            const filterItme = taskClassList.find((it) => it.id === value);
-            if (filterItme) {
-              setFieldsValue({ teacherName: filterItme.teacherName });
-              // formModel.teacherName = filterItme.teacherName;
-            }
-          },
+          // onChange: (value: string) => {
+          //   const filterItme = taskClassList.find((it) => it.id === value);
+          //   if (filterItme) {
+          //     setFieldsValue({ teacherName: filterItme.teacherName });
+          //     // formModel.teacherName = filterItme.teacherName;
+          //   }
+          // },
         },
       },
     ]);
@@ -114,18 +100,12 @@
       const values = await validate();
       setModalProps({ confirmLoading: true });
 
-      const newStudentIds: string[] = [];
-
-      modelRef.value.forEach((item) => {
-        newStudentIds.push(item.id);
-      });
-
-      const postParams = {
-        newStudentIds: newStudentIds,
+      const postData = {
+        id: unref(modelRef).id,
+        classId: values['classId'],
       };
-      Object.assign(postParams, values);
 
-      await postBandingTaskClassChangeClass(postParams as API.ChangeClassDto);
+      await postTryReadingReportChangeClass(postData as API.StudentReportSignDto);
 
       createMessage.success('操作成功');
       closeModal();

+ 1 - 0
src/views/educational/probation/report/data.config.ts

@@ -80,6 +80,7 @@ export const tableColumns: BasicColumn[] = [
     align: 'left',
     width: 80,
     customRender: ({ record }) => {
+      if (!record.className) return '';
       if (!Reflect.has(record, 'pendingStatus')) {
         record.pendingStatus = false;
       }

+ 1 - 1
src/views/educational/probation/report/index.vue

@@ -147,7 +147,7 @@
   const handleAjdust = (record: any) => {
     openAdjustModal(true, {
       isUpdate: false,
-      baseData: { ...record },
+      baseData: { ...record, ...searchInfo },
     });
   };