Browse Source

fix: change probation report

DESKTOP-USV654P\pc 2 days ago
parent
commit
ef4e8cdb15

+ 1 - 1
Makefile

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

+ 5 - 8
src/views/educational/probation/report/data.config.ts

@@ -3,13 +3,10 @@ import { getDataOption } from '/@/api/system/dic';
 import { Switch } from 'ant-design-vue';
 import { h } from 'vue';
 import { useMessage } from '/@/hooks/web/useMessage';
-import {
-  deleteStudentStudentReportRecord,
-  postStudentStudentReportRecord,
-} from '/@/services/apis/StudentReportRecordController';
 import { formatToDate } from '/@/utils/dateUtil';
 import { getBasestudentcadreClasslist } from '/@/services/apis/BaseStudentCadreController';
 import { requestMagicApi } from '/@/api/magicApi';
+import { postTryReadingReportSign } from '/@/services/apis/StudentTryReadingReportController';
 
 export const tableColumns: BasicColumn[] = [
   {
@@ -61,7 +58,7 @@ export const tableColumns: BasicColumn[] = [
   },
   {
     title: '学生来源',
-    dataIndex: 'sourceCn',
+    dataIndex: 'studentTypeCn',
     align: 'left',
     width: 120,
   },
@@ -96,13 +93,13 @@ export const tableColumns: BasicColumn[] = [
           const newStatus = checked ? 1 : 0;
           const { createMessage } = useMessage();
           try {
+            await postTryReadingReportSign({ id: record.id });
             if (checked) {
-              await postStudentStudentReportRecord({ userId: record.userId });
+              record.reportTime = formatToDate(new Date());
             } else {
-              await deleteStudentStudentReportRecord([record.userId]);
+              record.reportTime = '';
             }
             record.isReport = newStatus;
-            record.reportTime = formatToDate(new Date());
             createMessage.success('修改成功');
           } finally {
             record.pendingStatus = false;

+ 19 - 7
src/views/educational/probation/report/edit.vue

@@ -17,15 +17,19 @@
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, useForm } from '/@/components/Form/index';
 
-  import { deleteBaseNewStudentDeleteByUserIds } from '/@/services/apis/BaseNewStudentController';
   import { formatToDate } from '/@/utils/dateUtil';
+  import {
+    getStudentReportPlanTryReadingPlan,
+    postStudentStudentReportPlan,
+    putStudentStudentReportPlan,
+  } from '/@/services/apis/StudentReportPlanController';
 
   const isUpdate = ref(true);
   const modelRef = ref<Recordable[]>([]);
   const emit = defineEmits(['success', 'register']);
   const { createMessage } = useMessage();
-  const [registerForm, { validate, resetFields }] = useForm({
-    labelWidth: 100,
+  const [registerForm, { validate, resetFields, setFieldsValue }] = useForm({
+    labelWidth: 150,
     schemas: [
       {
         label: '报到开始时间',
@@ -73,8 +77,12 @@
     resetFields();
     setModalProps({ confirmLoading: false });
     isUpdate.value = !!data?.isUpdate;
-    modelRef.value = { ...data.baseData };
-    //   resData['date'] = [resData['updateStartTime'], resData['updateEndTime']];
+    const resData = await getStudentReportPlanTryReadingPlan({
+      id: data.baseData.enrollmentPlanId,
+    });
+    resData['date'] = [resData['updateStartTime'], resData['updateEndTime']];
+    modelRef.value = { ...resData };
+    setFieldsValue(resData);
   });
 
   const getTitle = computed(() => (!unref(isUpdate) ? '报到日间设置' : '报到日间设置'));
@@ -88,8 +96,12 @@
       postParams['updateStartTime'] = formatToDate(values['date'][0]);
       postParams['updateEndTime'] = formatToDate(values['date'][1]);
       delete postParams['date'];
-
-      await deleteBaseNewStudentDeleteByUserIds(postParams);
+      postParams['studentReportPlanClassRelationList'] = [];
+      if (unref(isUpdate)) {
+        await putStudentStudentReportPlan(postParams);
+      } else {
+        await postStudentStudentReportPlan(postParams as API.AddStudentReportPlanDto);
+      }
 
       createMessage.success('操作成功');
       closeModal();

+ 30 - 11
src/views/educational/probation/report/index.vue

@@ -15,6 +15,7 @@
   import {
     getTryReadingReportPage,
     postTryReadingReportAllSign,
+    postTryReadingReportClearClass,
     postTryReadingReportExportQuery,
     postTryReadingReportUpdateStduyStatus,
   } from '/@/services/apis/StudentTryReadingReportController';
@@ -64,21 +65,33 @@
     reload();
   }
 
-  const handleDelete = (record: any) => {
-    openModal(true, {
-      isUpdate: false,
-      baseData: [
-        {
-          ...record,
-        },
-      ],
+  const handleDelete = async (record: any) => {
+    createConfirm({
+      iconType: 'warning',
+      title: '温馨提醒',
+      content: '确认当前学生非本班学生,确认之后该学生将从本班中移出?',
+      onOk: async () => {
+        try {
+          await postTryReadingReportClearClass({ id: record.id });
+          createMessage.success('操作成功');
+          await reload();
+        } catch (e) {
+          createMessage.error('操作失败');
+        }
+      },
+      okText: '确认',
+      cancelText: '取消',
     });
   };
 
   const handleDeleteBatch = () => {
+    if (!searchInfo.enrollmentPlanId) {
+      createMessage.warning('请先选择年级');
+      return;
+    }
     openModal(true, {
-      isUpdate: false,
-      baseData: {},
+      isUpdate: true,
+      baseData: { enrollmentPlanId: searchInfo.enrollmentPlanId },
     });
   };
 
@@ -142,7 +155,13 @@
     <ClassTree class="w-1/3 xl:w-1/4" @select="handleSelect" title="年级列表" />
     <BasicTable class="w-2/3 xl:w-3/4" @register="registerTable" :searchInfo="searchInfo">
       <template #toolbar>
-        <a-button type="primary" @click="handleDeleteBatch">报到日期设置</a-button>
+        <a-button
+          type="primary"
+          @click="handleDeleteBatch"
+          :disabled="!searchInfo.enrollmentPlanId"
+        >
+          报到日期设置
+        </a-button>
         <a-button type="primary" @click="handleChangeReport" :disabled="!hasSelected">
           变更为已报到
         </a-button>