|
@@ -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>
|