From cc8b8faf63ce04a5f1a7dcd5a32d00413c5a1327 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, 12 Aug 2025 11:32:35 +0800
Subject: [PATCH] =?UTF-8?q?feat(shopOrder):=20=E4=BC=98=E5=8C=96=E8=AE=A2?=
=?UTF-8?q?=E5=8D=95=E6=90=9C=E7=B4=A2=E5=92=8C=E7=AE=A1=E7=90=86=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 添加订单编号、用户ID、手机号、昵称等搜索条件
- 修改订单删除条件,仅允许删除已取消的订单
- 更新已退款订单的状态显示为"退货/售后"- 移除多余的环境变量配置
---
.env.development | 4 +-
src/api/shop/shopOrder/model/index.ts | 3 +
.../shop/shopOrder/components/orderInfo.vue | 4 +-
.../shop/shopOrder/components/search.vue | 59 +++++++++++++++++--
src/views/shop/shopOrder/index.vue | 14 ++---
5 files changed, 69 insertions(+), 15 deletions(-)
diff --git a/.env.development b/.env.development
index 179be86..fbcc74b 100644
--- a/.env.development
+++ b/.env.development
@@ -1,6 +1,6 @@
VITE_APP_NAME=后台管理(开发环境)
-#VITE_API_URL=http://127.0.0.1:9200/api
+VITE_API_URL=http://127.0.0.1:9200/api
#VITE_SERVER_API_URL=http://127.0.0.1:8000/api
-VITE_API_URL=https://cms-api.websoft.top/api
+#VITE_API_URL=https://cms-api.s209.websoft.top/api
diff --git a/src/api/shop/shopOrder/model/index.ts b/src/api/shop/shopOrder/model/index.ts
index 2ba4d0e..d0255bc 100644
--- a/src/api/shop/shopOrder/model/index.ts
+++ b/src/api/shop/shopOrder/model/index.ts
@@ -157,6 +157,9 @@ export interface ShopOrderParam extends PageParam {
orderNo?: string;
type?: number;
phone?: string;
+ userId?: number;
+ payUserId?: number;
+ nickname?: string;
payStatus?: number;
orderStatus?: number;
payType?: number;
diff --git a/src/views/shop/shopOrder/components/orderInfo.vue b/src/views/shop/shopOrder/components/orderInfo.vue
index 5121f85..cc8f387 100644
--- a/src/views/shop/shopOrder/components/orderInfo.vue
+++ b/src/views/shop/shopOrder/components/orderInfo.vue
@@ -836,8 +836,8 @@ const isRefundStatus = (orderStatus?: number) => {
// 判断是否可以删除订单
const canDeleteOrder = (order: ShopOrder) => {
- // 已完成、已取消、退款成功的订单可以删除
- return [1, 2, 6].includes(order.orderStatus || 0);
+ // 已完成、已取消、退款成功的订单可以删除 (原来是[1, 2, 6],后面改成只有取消的订单能删除)
+ return [2].includes(order.orderStatus || 0);
};
// 判断是否可以申请退款
diff --git a/src/views/shop/shopOrder/components/search.vue b/src/views/shop/shopOrder/components/search.vue
index 2df74b5..0dedc23 100644
--- a/src/views/shop/shopOrder/components/search.vue
+++ b/src/views/shop/shopOrder/components/search.vue
@@ -13,6 +13,14 @@
+
+ >
+
+
+ 全部
+
+ 用户ID
+
+
+ 手机号
+
+
+ 昵称
+
+
+
+
重置
导出
@@ -106,6 +133,8 @@
createTimeStart: undefined,
createTimeEnd: undefined,
userId: undefined,
+ payUserId: undefined,
+ nickname: undefined,
phone: undefined,
payStatus: undefined,
orderStatus: undefined,
@@ -113,7 +142,7 @@
});
const reload = () => {
- emit('search', where);
+ emit('search', {...where, keywords: type.value == '' ? where.keywords : undefined});
};
// 批量删除
@@ -121,6 +150,27 @@
emit('remove');
};
+ const onType = () => {
+ resetFields();
+ };
+
+ // 获取搜索框placeholder
+ const getSearchPlaceholder = () => {
+ switch (type.value){
+ case 'userId':
+ where.userId = Number(where.keywords);
+ return '请输入用户ID';
+ case 'phone':
+ where.phone = where.keywords;
+ return '请输入手机号';
+ case 'nickname':
+ where.nickname = where.keywords;
+ return '请输入用户昵称';
+ default:
+ return '请输入搜索内容';
+ }
+ }
+
/* 搜索 */
const search = () => {
const [d1, d2] = dateRange.value ?? [];
@@ -143,6 +193,7 @@
const loading = ref(false);
const orders = ref([])
const xlsFileName = ref();
+ const type = ref('');
// 导出
const handleExport = async () => {
diff --git a/src/views/shop/shopOrder/index.vue b/src/views/shop/shopOrder/index.vue
index 0f9a355..e6e23f0 100644
--- a/src/views/shop/shopOrder/index.vue
+++ b/src/views/shop/shopOrder/index.vue
@@ -16,7 +16,7 @@
-
+
取消
@@ -179,9 +179,9 @@
-
+
删除
@@ -399,7 +399,7 @@ const onTabs = () => {
filterParams.statusFilter = 8;
break;
case 'refunded':
- // 已退款:order_status = 6
+ // 退款/售后:order_status = 6
filterParams.statusFilter = 6;
break;
case 'deleted':
@@ -464,8 +464,8 @@ const isRefundStatus = (orderStatus?: number) => {
// 判断是否可以删除订单
const canDeleteOrder = (order: ShopOrder) => {
- // 已完成、已取消、退款成功的订单可以删除
- return [1, 2, 6].includes(order.orderStatus || 0);
+ // 已完成、已取消、退款成功的订单可以删除 (原来是[1, 2, 6],后面改成只有取消的订单能删除)
+ return [2].includes(order.orderStatus || 0);
};
/* 订单操作方法 */