From bdcb779cf8352332ff70f00fedb9578ef36a1cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 23 Dec 2025 23:29:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(order):=20=E6=9B=B4=E6=96=B0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E9=A1=B5=E9=9D=A2=E8=A1=A8=E5=8D=95=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E4=B8=8E=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改页面提示标题为"欢迎留言" - 简化表单字段,移除产品选择、参考链接及文件上传功能 - 调整表单布局和标签文案,统一使用"留言标题"和"留言内容" - 更新内容输入框的占位符文本 - 修改必填项验证提示信息,适配新的留言场景 --- .env.development | 4 +- api/cms/cmsOrder/index.ts | 15 ++++++++ api/cms/cmsOrder/model/index.ts | 1 + pages/order/[id].vue | 67 +++++++++++++++++++++++++++------ 4 files changed, 74 insertions(+), 13 deletions(-) diff --git a/.env.development b/.env.development index 3d6e829..dd91e97 100644 --- a/.env.development +++ b/.env.development @@ -1,6 +1,6 @@ # 应用模块接口 VITE_SERVER_URL=https://server.gxbsnx.com/api -API_BASE=https://server.gxbsnx.com/api +#API_BASE=https://server.gxbsnx.com/api -#API_BASE=http://127.0.0.1:9001/api +API_BASE=http://127.0.0.1:9001/api #VITE_SERVER_URL=http://127.0.0.1:8000/api diff --git a/api/cms/cmsOrder/index.ts b/api/cms/cmsOrder/index.ts index 1d32dd6..bd034e6 100644 --- a/api/cms/cmsOrder/index.ts +++ b/api/cms/cmsOrder/index.ts @@ -19,6 +19,21 @@ export async function pageCmsOrder(params: CmsOrderParam) { return Promise.reject(new Error(res.message)); } +export async function displayCmsOrder(params: CmsOrderParam) { + const res = await request.get>>( + '/cms/cms-order/display', + { + params + } + ); + if (res.code === 0) { + return res.data; + } + return Promise.reject(new Error(res.message)); +} + + + /** * 查询订单列表 */ diff --git a/api/cms/cmsOrder/model/index.ts b/api/cms/cmsOrder/model/index.ts index 8169012..1356174 100644 --- a/api/cms/cmsOrder/model/index.ts +++ b/api/cms/cmsOrder/model/index.ts @@ -73,5 +73,6 @@ export interface CmsOrderParam extends PageParam { orderId?: number; websiteId?: number; isSettled?: boolean; + sceneType?: string; keywords?: string; } diff --git a/pages/order/[id].vue b/pages/order/[id].vue index 528702c..5123ea7 100644 --- a/pages/order/[id].vue +++ b/pages/order/[id].vue @@ -70,17 +70,30 @@
-
- -
- {{ item.realName }} - {{ item.createTime }} -
+
+ +
+ {{ item.realName }} + {{ item.createTime }} +
{{ item.content }}
+
{{ item.comments }}
+
-
{{ item.content }}
+
+ +
@@ -132,6 +145,9 @@ const captcha = ref(''); const text = ref(''); const loading = ref(false) const orders = ref([]) +const currentPage = ref(1) +const pageSize = ref(5) +const total = ref(0) const {form, resetFields} = useFormData({ @@ -217,6 +233,24 @@ const changeCaptcha = async () => { }) }; +// 加载留言列表(带分页) +const loadOrders = async () => { + try { + const response = await pageCmsOrder({ + isSettled: true, + page: currentPage.value, + limit: pageSize.value, + sort: 'createTime', + order: 'desc', + sceneType: 'display' + }) + orders.value = response?.list || [] + total.value = response?.count || 0 + } catch (error) { + console.error('Failed to load orders:', error) + } +} + // 将 SEO 相关的逻辑修改为 const updateSeo = (data: any) => { const title = data?.title || ''; @@ -262,10 +296,9 @@ const reload = async () => { form.email = user.value.email } - // 留言列表 - pageCmsOrder({isSettled: true}).then(response => { - orders.value = response?.list || [] - }) + // 重置分页并加载留言列表 + currentPage.value = 1 + await loadOrders() changeCaptcha() } catch (error) { @@ -340,6 +373,18 @@ const goBack = () => { router.back(); } +// 分页切换 +const handlePageChange = (pageNum: number) => { + currentPage.value = pageNum + loadOrders() +} + +const handleSizeChange = (size: number) => { + pageSize.value = size + currentPage.value = 1 + loadOrders() +} + watch( () => route.params.id, (id) => {