人生啊人生 3 mesi fa
parent
commit
ce1d1e9775
1 ha cambiato i file con 172 aggiunte e 42 eliminazioni
  1. 172 42
      user_web/src/view/admin/ManageCourse.vue

+ 172 - 42
user_web/src/view/admin/ManageCourse.vue

@@ -5,6 +5,8 @@ import { Search } from '@element-plus/icons-vue';
 import { ElMessage } from 'element-plus';
 const router = useRouter();
 
+import { courseList, courseAdd, courseDetail, courseUpdate, courseDelete } from "../../api/admin/course";
+
 // let state = ref({
 //     listParams: {
 //         keyword: '',
@@ -30,39 +32,39 @@ let state = ref({
     },
     // 具体分页的数据
     "list": [
-        {
-            "id": 661434193309765,
-            "createTime": "2025-04-03 10:42:39",
-            "name": "课程_1",
-        },
-        {
-            "id": 661434193309766,
-            "createTime": "2025-04-03 10:42:39",
-            "name": "课程_2",
-        },
-        {
-            "id": 661434193309767,
-            "createTime": "2025-04-03 10:42:39",
-            "name": "课程_3",
-        },
-        {
-            "id": 661434193309768,
-            "createTime": "2025-04-03 10:42:39",
-            "name": "课程_4",
-        },
-        {
-            "id": 661434193309769,
-            "createTime": "2025-04-03 10:42:39",
-            "name": "课程_5",
-        },
-        {
-            "id": 661434193309770,
-            "createTime": "2025-04-03 10:42:39",
-            "name": "课程_6",
-        },
+        // {
+        //     "id": 661434193309765,
+        //     "createTime": "2025-04-03 10:42:39",
+        //     "name": "课程_1",
+        // },
+        // {
+        //     "id": 661434193309766,
+        //     "createTime": "2025-04-03 10:42:39",
+        //     "name": "课程_2",
+        // },
+        // {
+        //     "id": 661434193309767,
+        //     "createTime": "2025-04-03 10:42:39",
+        //     "name": "课程_3",
+        // },
+        // {
+        //     "id": 661434193309768,
+        //     "createTime": "2025-04-03 10:42:39",
+        //     "name": "课程_4",
+        // },
+        // {
+        //     "id": 661434193309769,
+        //     "createTime": "2025-04-03 10:42:39",
+        //     "name": "课程_5",
+        // },
+        // {
+        //     "id": 661434193309770,
+        //     "createTime": "2025-04-03 10:42:39",
+        //     "name": "课程_6",
+        // },
     ],
     // 用户总数量
-    "total": 6,
+    "total": 0,
     // 是否弹出添加UI
     "showDialog": false,
     // 当前分页列表,多选的数据
@@ -88,14 +90,6 @@ let addParams = ref({
  */
 let addRules = ref({
     name: [{ required: true, message: '请填写课程', trigger: 'blur' }],
-    // username: [{ required: true, message: '请填写学号', trigger: 'blur' }],
-    // orgId: [
-    //     {
-    //         required: true,
-    //         message: '请选择班级',
-    //         trigger: 'change',
-    //     },
-    // ],
 });
 
 
@@ -106,13 +100,145 @@ let detailsDb = ref({
     name: '',
 });
 
+
+/**
+ * 因为这里的接口返回的不是分页的接口,是全部数据,所以这里就记录全部数据
+ * 后面通过逻辑,来控制分页的显示
+ */
+let pageDb = [];
+
 /**
  * 查找分页数据
  */
 const pageUpdateEvent = () => {
-    console.log(
-        "查找分页数据 pageUpdateEvent", state.value.listParams
-    );
+    
+    // console.log(
+    //     "查找分页数据 pageUpdateEvent", state.value.listParams
+    // );
+    
+    let keyword = state.value.listParams.keyword;
+
+    // let submit = {
+    //     // 默认优先去顶级所有,传 0 。 否则你要看到 学院, 专业 ,班级 的列表,这里固定就传 学院这个的id值
+    //     "schoolId" : 0,
+    // };
+
+    // schoolTree(submit)
+    // .then(response => {
+
+    //     let data = response?.data?.data;
+    //     // console.log(
+    //     //     "schoolTreeEvent response", response, data
+    //     // );
+
+    //     pageDb = [];
+        
+    //     // 重新拼接合理要展示的分页数据
+    //     for (let i = 0; i < data.length; i++) {
+    //         let thisData = data[i];
+    //         if (typeof keyword == 'string' && keyword != '' && keyword != ' ') {
+    //             if (typeof thisData.name == 'string' && thisData.name.indexOf(keyword) >= 0) {
+    //                 pageDb.push(thisData);
+    //             }
+
+    //         } else {
+    //             pageDb.push(thisData);
+    //         }
+    //     }
+
+    //     pageDbUpdateEvent();
+
+    // }).catch(error => {
+        
+    // });
+
+    /**
+     * 看起来像是分页的接口,实际有bug
+     * 不管如何传参,都是全部数据返回
+     */
+    let submit = {
+        // "dto" : JSON.stringify({
+        //     // 第几页
+        //     "pageNum": 1,
+        //     // 每页显示多少数据
+        //     "pageSize": 3,
+        //     // 搜索的名称
+        //     "name": ""
+        // })
+        // 第几页
+        "pageNum": 1,
+        // 每页显示多少数据
+        "pageSize": 5,
+        // 搜索的名称
+        "name": ""
+    };
+
+    courseList(submit)
+    .then(response => {
+
+        let dataOld = response?.data?.data;
+        // console.log(
+        //     "courseListEvent response", response, dataOld
+        // );
+
+        let data = dataOld?.list;
+        
+        pageDb = [];
+
+        // 重新拼接合理要展示的分页数据
+        for (let i = 0; i < data.length; i++) {
+            let thisData = data[i];
+            if (typeof keyword == 'string' && keyword != '' && keyword != ' ') {
+                if (typeof thisData.name == 'string' && thisData.name.indexOf(keyword) >= 0) {
+                    pageDb.push(thisData);
+                }
+
+            } else {
+                pageDb.push(thisData);
+            }
+        }
+
+        pageDbUpdateEvent();
+        
+    }).catch(error => {
+        
+    });
+    
+}
+
+/**
+ * 因为接口不是标准的分页接口,是直接返回所有数据的
+ * 这里进行单独处理,来展示第几页的数据
+ */
+const pageDbUpdateEvent = () => {
+
+    // console.log(
+    //     "查找分页数据 pageDbUpdateEvent", state.value.listParams, pageDb
+    // );
+
+    state.value.total = pageDb.length;
+    state.value.list = [];
+
+    let page = state.value.listParams.page;
+    let limit = state.value.listParams.limit;
+    let keyword = state.value.listParams.keyword;
+
+    // 从第几个数组下标开始
+    let indexStart = (page - 1) * limit;
+    // 到第几个数组下标结束
+    let indexEnd = indexStart + limit - 1;
+
+    for (let i = 0; i < pageDb.length; i++) {
+
+        // 在范围内
+        if (i >= indexStart && i <= indexEnd) {
+            let thisPageDb = pageDb[i];
+            state.value.list.push(thisPageDb);
+            
+        }
+        
+    }
+    
 }
 
 /**
@@ -253,6 +379,10 @@ const btnDetail = (res) => {
 
 }
 
+onMounted(function() {
+    pageUpdateEvent();
+});
+
 </script>
 
 <template>