Procházet zdrojové kódy

🐛 fix(admin): 修复优惠券状态筛选功能异常

- 将"全部批次"和"全部状态"选项值从空字符串改为"all"
- 优化筛选逻辑,当选择"全部"选项时清空对应的查询参数
- 修复因空字符串参数导致的筛选条件不生效问题
yourname před 6 měsíci
rodič
revize
a69532b0dd

+ 4 - 4
src/client/admin-shadcn/pages/RedemptionCodes.tsx

@@ -272,13 +272,13 @@ export const RedemptionCodesPage = () => {
             </div>
             <Select
               value={searchParams.batchId}
-              onValueChange={(value) => setSearchParams(prev => ({ ...prev, batchId: value, page: 1 }))}
+              onValueChange={(value) => setSearchParams(prev => ({ ...prev, batchId: value === 'all' ? '' : value, page: 1 }))}
             >
               <SelectTrigger className="w-[150px]">
                 <SelectValue placeholder="选择批次" />
               </SelectTrigger>
               <SelectContent>
-                <SelectItem value="">全部批次</SelectItem>
+                <SelectItem value="all">全部批次</SelectItem>
                 {stockData?.data.map((stock) => (
                   <SelectItem key={stock.id} value={String(stock.id)}>
                     {stock.stockName}
@@ -288,13 +288,13 @@ export const RedemptionCodesPage = () => {
             </Select>
             <Select
               value={searchParams.status}
-              onValueChange={(value) => setSearchParams(prev => ({ ...prev, status: value, page: 1 }))}
+              onValueChange={(value) => setSearchParams(prev => ({ ...prev, status: value === 'all' ? '' : value, page: 1 }))}
             >
               <SelectTrigger className="w-[150px]">
                 <SelectValue placeholder="全部状态" />
               </SelectTrigger>
               <SelectContent>
-                <SelectItem value="">全部状态</SelectItem>
+                <SelectItem value="all">全部状态</SelectItem>
                 <SelectItem value="ACTIVE">有效</SelectItem>
                 <SelectItem value="USED">已使用</SelectItem>
                 <SelectItem value="EXPIRED">已过期</SelectItem>

+ 2 - 2
src/client/admin-shadcn/pages/WechatCouponStocks.tsx

@@ -206,13 +206,13 @@ export const WechatCouponStocksPage = () => {
             </div>
             <Select
               value={searchParams.status}
-              onValueChange={(value) => setSearchParams(prev => ({ ...prev, status: value, page: 1 }))}
+              onValueChange={(value) => setSearchParams(prev => ({ ...prev, status: value === 'all' ? '' : value, page: 1 }))}
             >
               <SelectTrigger className="w-[150px]">
                 <SelectValue placeholder="全部状态" />
               </SelectTrigger>
               <SelectContent>
-                <SelectItem value="">全部状态</SelectItem>
+                <SelectItem value="all">全部状态</SelectItem>
                 <SelectItem value="CREATED">已创建</SelectItem>
                 <SelectItem value="RUNNING">运行中</SelectItem>
                 <SelectItem value="STOPED">已停止</SelectItem>