Browse Source

feat:修改分班

DESKTOP-USV654P\pc 8 months ago
parent
commit
1e46dbe217

+ 2 - 2
src/views/educational/division/components/DsionStep2.vue

@@ -81,9 +81,9 @@
     insertTableDataRecord({ id: buildUUID(), _newRow: true });
   };
 
-  const handleEdit = (record: EditRecordRow) => {
+  const handleEdit = async (record: EditRecordRow) => {
     currentEditKeyRef.value = record.id;
-    record.onEdit?.(true);
+    await record.onEdit?.(true);
   };
 
   const handleCancel = (record: EditRecordRow) => {

+ 2 - 3
src/views/educational/division/components/DsionStep4.vue

@@ -67,9 +67,8 @@
     if (selectRows.length > 0) {
       openModal(true, {
         isUpdate: false,
-        baseData: {
-          ...selectRows,
-        },
+        bandingTaskId: props.taskId,
+        baseData: [...selectRows],
       });
     }
   };

+ 26 - 3
src/views/educational/division/components/adjust.vue

@@ -27,13 +27,16 @@
   import { BasicForm, useForm } from '/@/components/Form/index';
 
   import { form4Schema } from '../data.config';
-  import { postBandingTaskClassChangeClass } from '/@/services/apis/BandingTaskClassController';
+  import {
+    getBandingTaskClassList,
+    postBandingTaskClassChangeClass,
+  } from '/@/services/apis/BandingTaskClassController';
 
   const isUpdate = ref(true);
   const modelRef = ref<Recordable[]>([]);
   const emit = defineEmits(['success', 'register']);
   const { createMessage } = useMessage();
-  const [registerForm, { validate, resetFields }] = useForm({
+  const [registerForm, { validate, resetFields, updateSchema }] = useForm({
     labelWidth: 100,
     schemas: form4Schema,
     showActionButtonGroup: false,
@@ -43,7 +46,27 @@
     resetFields();
     setModalProps({ confirmLoading: false });
     isUpdate.value = !!data?.isUpdate;
-    modelRef.value = { ...data.baseData };
+    modelRef.value = [...data.baseData];
+
+    const taskClassList = await getBandingTaskClassList({
+      bandingTaskId: data.bandingTaskId,
+    });
+
+    const classList = taskClassList.map((item) => {
+      return {
+        label: item.name,
+        value: item.id,
+      };
+    });
+
+    updateSchema([
+      {
+        field: 'bandingTaskClassId',
+        componentProps: {
+          options: classList,
+        },
+      },
+    ]);
   });
 
   const getTitle = computed(() => (!unref(isUpdate) ? '调整班级' : '调整班级'));

+ 4 - 1
src/views/educational/division/data.config.ts

@@ -291,8 +291,11 @@ export const form4Schema: FormSchema[] = [
   {
     field: 'bandingTaskClassId',
     label: '调到班级',
-    component: 'Input',
+    component: 'Select',
     colProps: { span: 24 },
+    componentProps: {
+      getPopupContainer: () => document.body,
+    },
   },
 ];