ソースを参照

完成分配卡学校选择

month-red-love 1 ヶ月 前
コミット
58a856bd6c

+ 12 - 3
back-ui/src/components/Table/index.vue

@@ -159,9 +159,9 @@
       v-if="showPagination"
       v-show="total > 0"
       :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
+      :page="queryParams.pageNum"
+      :limit="queryParams.pageSize"
+      @pagination="handlePagination"
     />
   </div>
 </template>
@@ -344,6 +344,15 @@ const getStatusText = (row, column) => {
 const getList = () => {
   emit("getList");
 };
+
+// 处理分页事件
+const handlePagination = (pagination) => {
+  // 更新queryParams中的分页参数
+  props.queryParams.pageNum = pagination.page;
+  props.queryParams.pageSize = pagination.limit;
+  // 触发getList事件
+  emit("getList");
+};
 </script>
 
 <style scoped>

+ 25 - 16
back-ui/src/views/dz/cards/components/AssignCardDialog.vue

@@ -136,7 +136,7 @@
 import { ref, computed, watch } from "vue";
 import { assignCard, getExamTypes, getAgentList } from "@/api/dz/cards";
 import { getPaperProvinces } from "@/api/dz/papers";
-import { listUniversity } from "@/api/dz/school";
+import { getCampusList } from "@/api/dz/cards";
 
 const props = defineProps({
   modelValue: {
@@ -252,32 +252,41 @@ async function getSchoolListByProvince(province) {
       return;
     }
 
-    const response = await listUniversity({
+    const response = await getCampusList({
       location: province,
       pageNum: 1,
-      pageSize: 1000,
+      pageSize: 9999,
     });
     if (response.code === 200) {
       // 处理API返回的数据结构
       let schoolData = [];
 
-      // 检查是否有rows字段(直接在response中)
-      if (response.rows) {
-        schoolData = response.rows;
-      }
-      // 检查是否有data.rows字段
-      else if (response.data && response.data.rows) {
-        schoolData = response.data.rows;
+      // 检查是否有data字段
+      if (response.data) {
+        schoolData = Array.isArray(response.data) ? response.data : [];
       }
-      // 检查是否有data数组
-      else if (response.data && Array.isArray(response.data)) {
-        schoolData = response.data;
+      // 检查是否有rows字段
+      else if (response.rows) {
+        schoolData = response.rows;
       }
-      // 检查是否有data对象
-      else if (response.data && response.data.id) {
-        schoolData = [response.data];
+      // 检查是否有list字段
+      else if (response.list) {
+        schoolData = response.list;
       }
 
+      // 确保数据格式符合配置要求
+      schoolData = schoolData.map((item) => {
+        // 如果API返回的是 {id, name, ...} 格式,直接使用
+        if (item.id && item.name) {
+          return item;
+        }
+        // 如果是其他格式,需要转换
+        return {
+          id: item.id || item.value || item.schoolId,
+          name: item.name || item.label || item.schoolName || item.title,
+        };
+      });
+
       schoolList.value = schoolData;
       console.log("学校数据:", schoolData); // 添加调试日志
     }

+ 2 - 1
back-ui/src/views/dz/cards/config/table.js

@@ -3,7 +3,8 @@ const tableConfig = {
   columns: [
     {
       label: "序号",
-      type: "index",
+      type: "slot",
+      slotName: "index",
       align: "center",
       width: 80,
     },

+ 14 - 3
back-ui/src/views/dz/cards/index.vue

@@ -103,7 +103,6 @@
         <el-button
           type="primary"
           plain
-
           @click="handleAssociateCampus"
           v-hasPermi="['dz:cards:add']"
           style="border-color: #1890ff; color: #1890ff; font-weight: 500"
@@ -167,6 +166,15 @@
       @selection-change="handleSelectionChange"
       @getList="getList"
     >
+      <!-- 序号插槽 -->
+      <template #index="{ row, $index }">
+        {{
+          (data.queryParams.pageNum - 1) * data.queryParams.pageSize +
+          $index +
+          1
+        }}
+      </template>
+
       <!-- 姓名-手机插槽 -->
       <template #studentInfo="{ row }">
         <div class="student-info">
@@ -362,6 +370,9 @@ const searchConfig = computed(() => {
       case "assignSchoolId":
         item.option = schoolList.value || [];
         break;
+      case "registerSchoolId":
+        item.option = schoolList.value || [];
+        break;
     }
   });
 
@@ -522,8 +533,8 @@ function getSchoolList() {
   // 传递pageNum和pageSize参数
   const requestParams = {
     location,
-    pageNum: queryParams.value.pageNum || 1,
-    pageSize: queryParams.value.pageSize || 10,
+    pageNum: 1,
+    pageSize: 9999, // 获取所有学校选项
   };
 
   listUniversity(requestParams)