diff --git a/src/api/mall/product/spu.ts b/src/api/mall/product/spu.ts
index c78bef4738e7009a0402a56d7476651ed28fa2bb..5cc4d8fef639b39dfeacd7c1610342b39f8cc4a3 100644
--- a/src/api/mall/product/spu.ts
+++ b/src/api/mall/product/spu.ts
@@ -104,5 +104,5 @@ export const exportSpu = async (params) => {
// 获得商品 SPU 精简列表
export const getSpuSimpleList = async () => {
- return request.get({ url: '/product/spu/get-simple-list' })
+ return request.get({ url: '/product/spu/list-all-simple' })
}
diff --git a/src/api/mall/promotion/article/index.ts b/src/api/mall/promotion/article/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c2941d0573359e7dd99ef8f6fb4449c87d55e1ec
--- /dev/null
+++ b/src/api/mall/promotion/article/index.ts
@@ -0,0 +1,47 @@
+import request from '@/config/axios'
+
+export interface ArticleVO {
+ id: number
+ categoryId: number
+ title: string
+ author: string
+ picUrl: string
+ introduction: string
+ browseCount: string
+ sort: number
+ status: number
+ spuId: number
+ recommendHot: boolean
+ recommendBanner: boolean
+ content: string
+}
+
+// 查询文章管理列表
+export const getArticlePage = async (params) => {
+ return await request.get({ url: `/promotion/article/page`, params })
+}
+
+// 查询文章管理详情
+export const getArticle = async (id: number) => {
+ return await request.get({ url: `/promotion/article/get?id=` + id })
+}
+
+// 新增文章管理
+export const createArticle = async (data: ArticleVO) => {
+ return await request.post({ url: `/promotion/article/create`, data })
+}
+
+// 修改文章管理
+export const updateArticle = async (data: ArticleVO) => {
+ return await request.put({ url: `/promotion/article/update`, data })
+}
+
+// 删除文章管理
+export const deleteArticle = async (id: number) => {
+ return await request.delete({ url: `/promotion/article/delete?id=` + id })
+}
+
+// 导出文章管理 Excel
+export const exportArticle = async (params) => {
+ return await request.download({ url: `/promotion/article/export-excel`, params })
+}
diff --git a/src/api/mall/promotion/articleCategory/index.ts b/src/api/mall/promotion/articleCategory/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2950d759e690d0902e3a9a9c9cfdf7361862480e
--- /dev/null
+++ b/src/api/mall/promotion/articleCategory/index.ts
@@ -0,0 +1,44 @@
+import request from '@/config/axios'
+
+export interface ArticleCategoryVO {
+ id: number
+ name: string
+ picUrl: string
+ status: number
+ sort: number
+}
+
+// 查询文章分类列表
+export const getArticleCategoryPage = async (params) => {
+ return await request.get({ url: `/promotion/article-category/page`, params })
+}
+
+// 查询文章分类精简信息列表
+export const getSimpleArticleCategoryList = async () => {
+ return await request.get({ url: `/promotion/article-category/list-all-simple` })
+}
+
+// 查询文章分类详情
+export const getArticleCategory = async (id: number) => {
+ return await request.get({ url: `/promotion/article-category/get?id=` + id })
+}
+
+// 新增文章分类
+export const createArticleCategory = async (data: ArticleCategoryVO) => {
+ return await request.post({ url: `/promotion/article-category/create`, data })
+}
+
+// 修改文章分类
+export const updateArticleCategory = async (data: ArticleCategoryVO) => {
+ return await request.put({ url: `/promotion/article-category/update`, data })
+}
+
+// 删除文章分类
+export const deleteArticleCategory = async (id: number) => {
+ return await request.delete({ url: `/promotion/article-category/delete?id=` + id })
+}
+
+// 导出文章分类 Excel
+export const exportArticleCategory = async (params) => {
+ return await request.download({ url: `/promotion/article-category/export-excel`, params })
+}
diff --git a/src/views/mall/promotion/article/ArticleForm.vue b/src/views/mall/promotion/article/ArticleForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..36fc13409756a2e6a207f855d1efa2e581032f8a
--- /dev/null
+++ b/src/views/mall/promotion/article/ArticleForm.vue
@@ -0,0 +1,236 @@
+
+
+
+
diff --git a/src/views/mall/promotion/article/category/ArticleCategoryForm.vue b/src/views/mall/promotion/article/category/ArticleCategoryForm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..39b1fc0fbabd17314b9a2cfee973d90f35bc5d77
--- /dev/null
+++ b/src/views/mall/promotion/article/category/ArticleCategoryForm.vue
@@ -0,0 +1,119 @@
+
+
+
+
diff --git a/src/views/mall/promotion/article/category/index.vue b/src/views/mall/promotion/article/category/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..32d385c34f0f51ecefa02019be9e32100a18c90c
--- /dev/null
+++ b/src/views/mall/promotion/article/category/index.vue
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ 重置
+
+
+
+ 新增
+
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mall/promotion/article/index.vue b/src/views/mall/promotion/article/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..7f5f4b7040befe314945c6dd8b9bac57d0e0b36c
--- /dev/null
+++ b/src/views/mall/promotion/article/index.vue
@@ -0,0 +1,321 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ 重置
+
+
+
+ 新增
+
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+ {{ categoryList.find((item) => item.id === scope.row.categoryId)?.name }}
+
+
+
+
+
+ {{ spuList.find((item) => item.id === scope.row.spuId)?.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+