zhangjie 1 жил өмнө
parent
commit
8e1342f435

+ 5 - 3
src/api/order.ts

@@ -13,7 +13,7 @@ import type {
   OrderRecordPrintTimeItem,
   OrderRecordPrintParam,
 } from './types/order';
-import { AbleParams } from './types/common';
+import { AbleParams, PageParams } from './types/common';
 
 // 通用查询
 // 通用查询-任务查询
@@ -77,8 +77,10 @@ export function deleteTaskTime(timeId: number): Promise<boolean> {
 
 // 考生信息导入
 // 考生信息导入分页
-export function studentImportListPage(): Promise<StudentExportListPageRes> {
-  return axios.post('/api/admin/std/page', {});
+export function studentImportListPage(
+  params: PageParams
+): Promise<StudentExportListPageRes> {
+  return axios.post('/api/admin/std/page', params);
 }
 // 考生信息导入-导入模板下载
 export function studentInfoTemplate(): Promise<AxiosResponse<Blob>> {

+ 18 - 0
src/components/import-dialog/index.vue

@@ -269,6 +269,24 @@
   function handleSuccess(fileItem: FileItem) {
     canUpload.value = false;
     loading.value = false;
+
+    // 所有excel导入的特殊处理
+    if (fileItem.response.hasError) {
+      const failRecords = fileItem.response.failRecords as Array<{
+        msg: string;
+        lineNum: number;
+      }>;
+      const msg = failRecords
+        .map((item) => `第${item.lineNum}行:${item.msg}`)
+        .join('。');
+      result.value = {
+        success: false,
+        message: msg,
+      };
+      emit('uploadError', result.value);
+      return;
+    }
+
     result.value = {
       success: true,
       message: '上传成功!',

+ 5 - 3
src/components/select-range-datetime/index.vue

@@ -3,8 +3,12 @@
     v-model="selected"
     :show-time="showTime"
     value-format="timestamp"
-    :format="format"
+    format="YYYY-MM-DD HH:mm"
+    :time-picker-props="{
+      defaultValue: '00:00:00',
+    }"
     :style="{ width: '340px' }"
+    unmount-on-close
     v-bind="attrs"
     @change="onChange"
   />
@@ -24,11 +28,9 @@
       startTime: TimeType;
       endTime: TimeType;
       showTime?: boolean;
-      format?: string;
     }>(),
     {
       showTime: true,
-      format: 'YYYY-MM-DD HH:mm',
     }
   );
   const emit = defineEmits(['update:startTime', 'update:endTime', 'change']);

+ 3 - 3
src/views/base/agent-manage/modifyAgent.vue

@@ -106,7 +106,7 @@
         message: '请输入名称',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '名称不能超过50字符',
       },
     ],
@@ -116,7 +116,7 @@
         message: '请输入代码',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '代码不能超过50字符',
       },
     ],
@@ -126,7 +126,7 @@
         message: '请输入地址',
       },
       {
-        max: 100,
+        maxLength: 100,
         message: '地址不能超过100字符',
       },
     ],

+ 3 - 3
src/views/base/room-manage/modifyRoom.vue

@@ -114,7 +114,7 @@
         message: '请输入名称',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '名称不能超过50字符',
       },
     ],
@@ -124,7 +124,7 @@
         message: '请输入代码',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '代码不能超过50字符',
       },
     ],
@@ -134,7 +134,7 @@
         message: '请输入地址',
       },
       {
-        max: 100,
+        maxLength: 100,
         message: '地址不能超过100字符',
       },
     ],

+ 2 - 2
src/views/base/teaching-manage/modifyTeaching.vue

@@ -100,7 +100,7 @@
         message: '请输入名称',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '名称不能超过50字符',
       },
     ],
@@ -110,7 +110,7 @@
         message: '请输入代码',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '代码不能超过50字符',
       },
     ],

+ 1 - 8
src/views/order/student-import/index.vue

@@ -66,14 +66,7 @@
   const appStore = useAppStore();
   appStore.setInfo({ breadcrumbs: ['考试预约管理', '考生信息导入'] });
 
-  const searchModel = reactive({
-    taskId: '',
-    teachingId: '',
-    agentId: '',
-    name: '',
-    identityNumber: '',
-    studentCode: '',
-  });
+  const searchModel = reactive({});
 
   const columns: TableColumnData[] = [
     {

+ 0 - 1
src/views/order/task-manage/addTimes.vue

@@ -33,7 +33,6 @@
           v-model:startTime="formData.date.startTime"
           v-model:endTime="formData.date.endTime"
           :show-time="false"
-          format="YYYY-MM-DD"
         >
         </select-range-datetime>
       </a-form-item>

+ 1 - 1
src/views/order/task-manage/ruleForm.vue

@@ -90,7 +90,7 @@
         message: '请输入名称',
       },
       {
-        max: 50,
+        maxLength: 50,
         message: '名称不能超过50字符',
       },
     ],

+ 3 - 0
src/views/order/task-manage/timeForm.vue

@@ -8,6 +8,9 @@
         class="time-box"
         :virtual-list-props="{
           height: 400,
+          fixedSize: true,
+          threshold: 20,
+          buffer: 5,
         }"
         :data="formData.times"
         :bordered="false"