@@ -216,11 +216,12 @@ export default {
}
apiCourseTag.portalPageList(query).then((res) => {
if (res.status == 200) {
- this.total = res.result.count
- this.pageData.list = res.result.list
+ this.total = res.result?.count || 0
+ this.pageData.list = res.result?.list || []
+ } else {
+ this.$message.error('获取数据失败')
}
- })
- .catch(() => {
+ }).catch(() => {
this.$message.error('获取数据失败')
})
},
From 701c26fd333dd69ab988c7f1c06b77b2eaf5cbae Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Fri, 24 Oct 2025 15:27:44 +0800
Subject: [PATCH 06/41] =?UTF-8?q?=E5=8E=9Fportal=E5=B5=8C=E5=A5=97?=
=?UTF-8?q?=E9=87=8D=E5=86=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/tag/PortalTagManage.vue | 390 ++++++++++++
src/views/tag/TagManage.vue | 961 +++++++++++++++++++-----------
2 files changed, 996 insertions(+), 355 deletions(-)
create mode 100644 src/views/tag/PortalTagManage.vue
diff --git a/src/views/tag/PortalTagManage.vue b/src/views/tag/PortalTagManage.vue
new file mode 100644
index 00000000..489701fc
--- /dev/null
+++ b/src/views/tag/PortalTagManage.vue
@@ -0,0 +1,390 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+ 解绑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/tag/TagManage.vue b/src/views/tag/TagManage.vue
index 489701fc..1015a958 100644
--- a/src/views/tag/TagManage.vue
+++ b/src/views/tag/TagManage.vue
@@ -1,390 +1,641 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查询
-
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.$index + 1 }}
-
-
-
-
-
-
-
-
-
-
- 解绑
-
-
-
-
-
-
+
+
@@ -196,7 +208,8 @@ export default {
pageSize: 10,
id: "",
tagName: "",
- isHot: undefined
+ isHot: undefined,
+ isPublic: undefined
},
courseSearchParam: {
@@ -254,6 +267,34 @@ export default {
key: "isHot",
width: 220,
align: "center"
+ },
+ {
+ title: "创建人",
+ dataIndex: "sysCreateBy",
+ key: "sysCreateBy",
+ width: 220,
+ align: "center"
+ },
+ {
+ title: "创建时间",
+ dataIndex: "sysCreateTime",
+ key: "sysCreateTime",
+ width: 220,
+ align: "center"
+ },
+ {
+ title: "更新人",
+ dataIndex: "sysUpdateBy",
+ key: "sysUpdateBy",
+ width: 220,
+ align: "center"
+ },
+ {
+ title: "更新时间",
+ dataIndex: "sysUpdateTime",
+ key: "sysUpdateTime",
+ width: 220,
+ align: "center"
}
]);
@@ -311,6 +352,7 @@ export default {
// 获取标签列表
const getTagList = async () => {
+ console.log("获取标签列表");
state.tableLoading = true;
try {
const params = {
@@ -318,10 +360,12 @@ export default {
pageSize: state.searchParam.pageSize,
id: state.searchParam.id || undefined,
tagName: state.searchParam.tagName || undefined,
- isHot: state.searchParam.isHot || undefined
+ isHot: state.searchParam.isHot || undefined,
+ isPublic: state.searchParam.isPublic || undefined
};
-
+ console.log("获取标签列表 参数 : ",params);
const res = await apiCourseTag.portalPageList(params);
+ console.log("获取标签列表 结果 : ",res);
if (res.status === 200) {
state.tableData = res.result?.list || [];
state.tableDataTotal = res.result?.count || 0;
@@ -462,6 +506,18 @@ export default {
}
};
+ const exportTag = async () => {
+ console.log("调用导出标签接口");
+ try {
+ // const res = await apiCourseTag.exportTag();
+ // if (res.status === 200) {
+ // console.log("导出标签成功", res.data.data);
+ // }
+ } catch (error) {
+ message.error('导出标签失败');
+ }
+ };
+
// 日期格式化
const formatDate = (date) => {
return date ? moment(date).format('YYYY-MM-DD') : '';
@@ -484,7 +540,8 @@ export default {
closeCourseDialog,
changeCoursePagination,
unbindCurrentTag,
- formatDate
+ formatDate,
+ exportTag
};
}
};
From 79541f3e67075a1c2a12591b7c704f1a24fc6d34 Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 26 Oct 2025 13:34:04 +0800
Subject: [PATCH 08/41] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/courseTag.js | 28 +++++++++++++++-------------
src/views/tag/TagManage.vue | 22 +++++++++++-----------
2 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/src/api/courseTag.js b/src/api/courseTag.js
index 3d02a377..41093323 100644
--- a/src/api/courseTag.js
+++ b/src/api/courseTag.js
@@ -1,41 +1,43 @@
/**课程标签模块的相关处理*/
// import ajax from '@/utils/xajax.js'
-import http from "@/api/configPublic";
+// import http from "@/api/configPublic";
+// import {getCookieForName} from "@/api/method";
+import http from "./config";
/**
* 分页查询:标签列表
* @param {Object} query
*/
-const portalPageList = (query = {}) => http.post(`/systemapi/xboe/m/coursetag/page`, query);
+const portalPageList = (query = {}) => http.post(`/admin/courseTag/list`, {params: query});
//改变标签的公共属性
-const changeTagPublic = (row = {}) => http.post(`/systemapi/xboe/m/coursetag/changePublicStatus`, {
- id: row.id,
- isPublic: row.isPublic
+const changeTagPublic = (row = {}) => http.post(`/admin/courseTag/changePublicStatus`, {
+ id: row.id
+ // isPublic: row.isPublic
});
//改变标签的热点属性
-const changeTagHot = (row = {}) => http.post(`/systemapi/xboe/m/coursetag/changeHotStatus`, {
- id: row.id,
- isPublic: row.isHot
+const changeTagHot = (row = {}) => http.post(`/admin/courseTag/changeHotStatus`, {
+ id: row.id
+ // isPublic: row.isHot
});
//查询指定id的标签关联的所有课程
-const showCourseByTag = (query = {}) => http.post(`/systemapi/xboe/m/coursetag/showCourseByTag`, query);
+const showCourseByTag = (query = {}) => http.post(`/admin/courseTag/showCourseByTag`, query);
//解除指定id的课程和某个标签之间的关联关系
-const unbindCourseTagRelation = (params = {}) => http.post(`/systemapi/xboe/m/coursetag/unbind`, params);
+const unbindCourseTagRelation = (params = {}) => http.post(`/admin/courseTag/unbind`, params);
//编辑课程:标签模糊查询
-const searchTags = (params = {}) => http.post(`/systemapi/xboe/m/coursetag/searchTags`, params);
+const searchTags = (params = {}) => http.post(`/admin/courseTag/searchTags`, params);
//编辑课程:创建标签(与当前课程关联)
-const createTag = (params = {}) => http.post(`/systemapi/xboe/m/coursetag/createTag`, params);
+const createTag = (params = {}) => http.post(`/admin/courseTag/createTag`, params);
//获取最新前10个热点标签
-const getHotTagList = (params = {}) => http.post(`/systemapi/xboe/m/coursetag/getHotTagList`, params);
+const getHotTagList = (params = {}) => http.post(`/admin/courseTag/getHotTagList`, params);
export default {
portalPageList,
diff --git a/src/views/tag/TagManage.vue b/src/views/tag/TagManage.vue
index b2c53a2f..c20a6798 100644
--- a/src/views/tag/TagManage.vue
+++ b/src/views/tag/TagManage.vue
@@ -111,7 +111,7 @@
:showQuickJumper="true"
:hideOnSinglePage="true"
:pageSize="pageSize"
- v-model:current="searchParam.pageIndex"
+ v-model:current="searchParam.pageNo"
:total="tableDataTotal"
class="pagination"
@change="changePagination"
@@ -177,7 +177,7 @@
:showQuickJumper="true"
:hideOnSinglePage="true"
:pageSize="coursePageSize"
- v-model:current="courseSearchParam.pageIndex"
+ v-model:current="courseSearchParam.pageNo"
:total="courseTableTotal"
class="pagination"
@change="changeCoursePagination"
@@ -204,7 +204,7 @@ export default {
courseDialogVisible: false,
searchParam: {
- pageIndex: 1,
+ pageNo: 1,
pageSize: 10,
id: "",
tagName: "",
@@ -213,7 +213,7 @@ export default {
},
courseSearchParam: {
- pageIndex: 1,
+ pageNo: 1,
pageSize: 10,
id: null
},
@@ -356,7 +356,7 @@ export default {
state.tableLoading = true;
try {
const params = {
- pageIndex: state.searchParam.pageIndex,
+ pageNo: state.searchParam.pageNo,
pageSize: state.searchParam.pageSize,
id: state.searchParam.id || undefined,
tagName: state.searchParam.tagName || undefined,
@@ -381,14 +381,14 @@ export default {
// 搜索提交
const searchSubmit = () => {
- state.searchParam.pageIndex = 1;
+ state.searchParam.pageNo = 1;
getTagList();
};
// 搜索重置
const searchReset = () => {
state.searchParam = {
- pageIndex: 1,
+ pageNo: 1,
pageSize: 10,
id: "",
tagName: "",
@@ -399,7 +399,7 @@ export default {
// 分页变化
const changePagination = (page) => {
- state.searchParam.pageIndex = page;
+ state.searchParam.pageNo = page;
getTagList();
};
@@ -444,7 +444,7 @@ export default {
const showCourseByTag = async (tagId) => {
state.courseDialogVisible = true;
state.courseSearchParam.id = tagId;
- state.courseSearchParam.pageIndex = 1;
+ state.courseSearchParam.pageNo = 1;
await getCourseListByTag();
};
@@ -453,7 +453,7 @@ export default {
state.courseTableLoading = true;
try {
const params = {
- pageIndex: state.courseSearchParam.pageIndex,
+ pageNo: state.courseSearchParam.pageNo,
pageSize: state.courseSearchParam.pageSize,
id: state.courseSearchParam.id
};
@@ -482,7 +482,7 @@ export default {
// 课程分页变化
const changeCoursePagination = (page) => {
- state.courseSearchParam.pageIndex = page;
+ state.courseSearchParam.pageNo = page;
getCourseListByTag();
};
From 518e467579248e7bbd51a7237068608005ffe0f0 Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 26 Oct 2025 14:43:51 +0800
Subject: [PATCH 09/41] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/courseTag.js | 2 +-
src/views/tag/TagManage.vue | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/api/courseTag.js b/src/api/courseTag.js
index 41093323..323e066a 100644
--- a/src/api/courseTag.js
+++ b/src/api/courseTag.js
@@ -8,7 +8,7 @@ import http from "./config";
* 分页查询:标签列表
* @param {Object} query
*/
-const portalPageList = (query = {}) => http.post(`/admin/courseTag/list`, {params: query});
+const portalPageList = (query = {}) => http.get(`/manageApi/admin/courseTag/list`, {params: query});
//改变标签的公共属性
const changeTagPublic = (row = {}) => http.post(`/admin/courseTag/changePublicStatus`, {
diff --git a/src/views/tag/TagManage.vue b/src/views/tag/TagManage.vue
index c20a6798..bbd4f9e2 100644
--- a/src/views/tag/TagManage.vue
+++ b/src/views/tag/TagManage.vue
@@ -206,10 +206,10 @@ export default {
searchParam: {
pageNo: 1,
pageSize: 10,
- id: "",
- tagName: "",
- isHot: undefined,
- isPublic: undefined
+ id: null,
+ tagName: null,
+ isHot: null,
+ isPublic: null
},
courseSearchParam: {
@@ -358,10 +358,10 @@ export default {
const params = {
pageNo: state.searchParam.pageNo,
pageSize: state.searchParam.pageSize,
- id: state.searchParam.id || undefined,
- tagName: state.searchParam.tagName || undefined,
- isHot: state.searchParam.isHot || undefined,
- isPublic: state.searchParam.isPublic || undefined
+ id: state.searchParam.id || null,
+ tagName: state.searchParam.tagName || null,
+ isHot: state.searchParam.isHot || null,
+ isPublic: state.searchParam.isPublic || null
};
console.log("获取标签列表 参数 : ",params);
const res = await apiCourseTag.portalPageList(params);
From 61575e6a98e3b6e6fe6dcf28f293e8e53c2cf4b2 Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 26 Oct 2025 15:55:37 +0800
Subject: [PATCH 10/41] =?UTF-8?q?=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/courseTag.js | 26 +++++++++++++-------------
src/views/tag/TagManage.vue | 33 +++++++++++++++++++++++----------
2 files changed, 36 insertions(+), 23 deletions(-)
diff --git a/src/api/courseTag.js b/src/api/courseTag.js
index 323e066a..fa16ded3 100644
--- a/src/api/courseTag.js
+++ b/src/api/courseTag.js
@@ -6,12 +6,12 @@ import http from "./config";
/**
* 分页查询:标签列表
- * @param {Object} query
*/
-const portalPageList = (query = {}) => http.get(`/manageApi/admin/courseTag/list`, {params: query});
+// const portalPageList = (query = {}) => http.get(`/manageApi/admin/courseTag/list`, {params: query});
+export const portalPageList = (obj) => http.get('/admin/courseTag/list', {params: obj})
//改变标签的公共属性
-const changeTagPublic = (row = {}) => http.post(`/admin/courseTag/changePublicStatus`, {
+export const changeTagPublic = (row = {}) => http.post(`/admin/courseTag/changePublicStatus`, {
id: row.id
// isPublic: row.isPublic
});
@@ -39,13 +39,13 @@ const createTag = (params = {}) => http.post(`/admin/courseTag/createTag`, param
//获取最新前10个热点标签
const getHotTagList = (params = {}) => http.post(`/admin/courseTag/getHotTagList`, params);
-export default {
- portalPageList,
- changeTagPublic,
- changeTagHot,
- showCourseByTag,
- unbindCourseTagRelation,
- searchTags,
- createTag,
- getHotTagList
-}
+// export default {
+// portalPageList,
+// changeTagPublic,
+// changeTagHot,
+// showCourseByTag,
+// unbindCourseTagRelation,
+// searchTags,
+// createTag,
+// getHotTagList
+// }
diff --git a/src/views/tag/TagManage.vue b/src/views/tag/TagManage.vue
index bbd4f9e2..dc462fdd 100644
--- a/src/views/tag/TagManage.vue
+++ b/src/views/tag/TagManage.vue
@@ -193,6 +193,7 @@
import { reactive, toRefs, ref } from "vue";
import { message } from "ant-design-vue";
import { apiCourseTag } from "@/api/courseTag.js";
+import { portalPageList } from "../../api/courseTag.js";
import moment from "moment";
export default {
@@ -364,16 +365,27 @@ export default {
isPublic: state.searchParam.isPublic || null
};
console.log("获取标签列表 参数 : ",params);
- const res = await apiCourseTag.portalPageList(params);
- console.log("获取标签列表 结果 : ",res);
- if (res.status === 200) {
- state.tableData = res.result?.list || [];
- state.tableDataTotal = res.result?.count || 0;
- } else {
- message.error('获取数据失败');
- }
+ // const res = await portalPageList(params);
+ // console.log("获取标签列表 结果 : ",res);
+ // if (res.status === 200) {
+ // state.tableData = res.result?.list || [];
+ // state.tableDataTotal = res.result?.count || 0;
+ // } else {
+ // message.error('获取数据失败1');
+ // }
+ portalPageList(params).then ((res) => {
+ console.log("获取标签列表 结果 : ",res);
+ console.log("获取标签列表 结果 : ",res.status);
+ if (res.status === 200) {
+ state.tableData = res.data.data.records?.list || [];
+ state.tableDataTotal = res.data.data.records?.total || 0;
+ }else {
+ message.error('获取数据失败1');
+ }
+ })
+
} catch (error) {
- message.error('获取数据失败');
+ message.error('获取数据失败2');
} finally {
state.tableLoading = false;
}
@@ -541,7 +553,8 @@ export default {
changeCoursePagination,
unbindCurrentTag,
formatDate,
- exportTag
+ exportTag,
+ portalPageList
};
}
};
From 73c3db7f2b21acba5cd09f7ae52fe5848da4becf Mon Sep 17 00:00:00 2001
From: 670788339 <670788339@qq.com>
Date: Sun, 26 Oct 2025 16:30:49 +0800
Subject: [PATCH 11/41] =?UTF-8?q?=E8=B0=83=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/courseTag.js | 12 +++---
src/views/tag/TagManage.vue | 78 +++++++++++++++++++++++++++++--------
2 files changed, 68 insertions(+), 22 deletions(-)
diff --git a/src/api/courseTag.js b/src/api/courseTag.js
index fa16ded3..5c0683cf 100644
--- a/src/api/courseTag.js
+++ b/src/api/courseTag.js
@@ -17,27 +17,27 @@ export const changeTagPublic = (row = {}) => http.post(`/admin/courseTag/changeP
});
//改变标签的热点属性
-const changeTagHot = (row = {}) => http.post(`/admin/courseTag/changeHotStatus`, {
+export const changeTagHot = (row = {}) => http.post(`/admin/courseTag/changeHotStatus`, {
id: row.id
// isPublic: row.isHot
});
//查询指定id的标签关联的所有课程
-const showCourseByTag = (query = {}) => http.post(`/admin/courseTag/showCourseByTag`, query);
+export const showCourseByTag = (query = {}) => http.post(`/admin/courseTag/showCourseByTag`, query);
//解除指定id的课程和某个标签之间的关联关系
-const unbindCourseTagRelation = (params = {}) => http.post(`/admin/courseTag/unbind`, params);
+export const unbindCourseTagRelation = (params = {}) => http.post(`/admin/courseTag/unbind`, params);
//编辑课程:标签模糊查询
-const searchTags = (params = {}) => http.post(`/admin/courseTag/searchTags`, params);
+export const searchTags = (params = {}) => http.post(`/admin/courseTag/searchTags`, params);
//编辑课程:创建标签(与当前课程关联)
-const createTag = (params = {}) => http.post(`/admin/courseTag/createTag`, params);
+export const createTag = (params = {}) => http.post(`/admin/courseTag/createTag`, params);
//获取最新前10个热点标签
-const getHotTagList = (params = {}) => http.post(`/admin/courseTag/getHotTagList`, params);
+export const getHotTagList = (params = {}) => http.post(`/admin/courseTag/getHotTagList`, params);
// export default {
// portalPageList,
diff --git a/src/views/tag/TagManage.vue b/src/views/tag/TagManage.vue
index dc462fdd..3999b4a8 100644
--- a/src/views/tag/TagManage.vue
+++ b/src/views/tag/TagManage.vue
@@ -75,7 +75,7 @@
{{ record.useCount }}
@@ -192,8 +192,8 @@