diff --git a/app/Http/Controllers/Api/ActivityController.php b/app/Http/Controllers/Api/ActivityController.php
index 25b2811..b4de440 100644
--- a/app/Http/Controllers/Api/ActivityController.php
+++ b/app/Http/Controllers/Api/ActivityController.php
@@ -92,6 +92,19 @@ class ActivityController extends Controller
if ($request->filled('reservation_type')) {
$query->where('reservation_type', (string) $request->input('reservation_type'));
}
+ // 按活动开始日期区间筛选:start_date ≤ start_at ≤ end_date
+ if ($request->filled('start_date')) {
+ $startDate = CalendarDateFormat::ymdFromDateValue($request->input('start_date'));
+ if ($startDate !== null) {
+ $query->whereDate('start_at', '>=', $startDate);
+ }
+ }
+ if ($request->filled('end_date')) {
+ $endDate = CalendarDateFormat::ymdFromDateValue($request->input('end_date'));
+ if ($endDate !== null) {
+ $query->whereDate('start_at', '<=', $endDate);
+ }
+ }
$pageSize = max(1, min(100, (int) $request->input('page_size', 10)));
$page = $query->paginate($pageSize);
diff --git a/public/admin/assets/ActivityList-CKsMyBdg.css b/public/admin/assets/ActivityList-CKsMyBdg.css
new file mode 100644
index 0000000..0455c1b
--- /dev/null
+++ b/public/admin/assets/ActivityList-CKsMyBdg.css
@@ -0,0 +1 @@
+.activity-verify-inline-line[data-v-45a94292]{flex-wrap:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.activity-verify-inline-line--wrap[data-v-45a94292]{flex-wrap:wrap}.activity-verify-inline-line__label[data-v-45a94292]{color:var(--color-text-2);flex-shrink:0;font-size:13px}.activity-verify-inline-line__input--url[data-v-45a94292]{flex:200px;min-width:160px;max-width:420px}.activity-verify-inline-line__input--pin[data-v-45a94292]{flex-shrink:0;width:120px;min-width:100px}.activity-address-coord-row[data-v-45a94292]{flex-wrap:wrap;align-items:center;gap:12px;width:100%;display:flex}.activity-address-coord-row__address[data-v-45a94292]{flex:45%;min-width:320px;max-width:100%}.activity-address-coord-row--hide-lnglat .activity-address-coord-row__address[data-v-45a94292]{flex:200px;min-width:0;max-width:100%}.activity-address-coord-row__lng[data-v-45a94292],.activity-address-coord-row__lat[data-v-45a94292]{flex:180px;width:200px;min-width:180px}.activity-address-coord-row__map[data-v-45a94292]{flex-shrink:0}.activity-time-label-with-action[data-v-45a94292]{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.35;display:inline-flex}.activity-add-time-slot-btn[data-v-45a94292]{flex-shrink:0;min-width:unset!important;height:22px!important;padding:0 6px!important;font-size:11px!important;line-height:20px!important}.activity-time-slots-empty-hint[data-v-45a94292]{color:var(--color-text-3);font-size:12px}.activity-add-session-btn[data-v-45a94292]{width:auto}.activity-time-slot-row[data-v-45a94292]{flex-wrap:nowrap;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.activity-time-slot-row[data-v-45a94292] .activity-specific-time-slot-picker.arco-picker{box-sizing:border-box;flex:none;width:102px!important;min-width:102px!important;max-width:102px!important;padding:3px 8px 3px 4px!important}.activity-time-slot-row[data-v-45a94292] .activity-specific-time-slot-picker .arco-picker-input{flex:1 1 0;min-width:0;padding:0 4px 0 6px!important}.activity-time-slot-row[data-v-45a94292] .activity-specific-time-slot-picker input{min-width:0;font-size:12px;padding-left:4px!important}.activity-time-slot-row[data-v-45a94292] .activity-specific-time-slot-picker .arco-picker-suffix{margin-left:2px}.activity-time-slot-row[data-v-45a94292] .activity-specific-time-slot-picker .arco-picker-suffix .arco-icon{font-size:12px}.activity-time-slot-row__tilde[data-v-45a94292]{color:var(--color-text-3);flex-shrink:0;font-size:11px}.activity-time-slot-row__del[data-v-45a94292]{flex-shrink:0}.activity-cover-carousel-wrap[data-v-45a94292]{flex-wrap:wrap;align-items:flex-start;gap:20px;width:100%;display:flex}.activity-cover-carousel-row__col[data-v-45a94292]{flex:320px;min-width:min(100%,320px)}.activity-cover-carousel-row__sub[data-v-45a94292]{color:var(--color-text-1);margin-bottom:8px;font-weight:500}.activity-cover-thumb[data-v-45a94292]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:4px;width:120px;height:70px}.activity-gallery-grid[data-v-45a94292]{flex-wrap:wrap;align-items:flex-start;gap:12px;width:100%;display:flex}.activity-gallery-item[data-v-45a94292]{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.activity-gallery-thumb[data-v-45a94292]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:4px;width:120px;height:70px}.activity-gallery-thumb--video[data-v-45a94292]{display:block}.activity-form-tags[data-v-45a94292]{width:100%;max-width:100%}.activity-form-tags__line[data-v-45a94292]{flex-flow:row;align-items:center;gap:8px;width:100%;display:flex}.activity-form-tags__input[data-v-45a94292]{flex:auto;min-width:0}.activity-form-tags__input[data-v-45a94292] .arco-input-wrapper{width:100%}.activity-form-tags__save[data-v-45a94292]{flex-shrink:0}.activity-form-tags__chips[data-v-45a94292]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.activity-form-tags__empty[data-v-45a94292]{color:#86909c;font-size:12px}.activity-form-tags__chips--readonly[data-v-45a94292]{margin-top:0}.activity-form-tags__chips--inline[data-v-45a94292]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.activity-audit-inline[data-v-45a94292]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;padding-bottom:4px;display:grid}.activity-audit-inline-row[data-v-45a94292]{align-items:flex-start;gap:12px;min-width:0;font-size:14px;line-height:1.5715;display:flex}.activity-audit-inline-row--tags[data-v-45a94292]{align-items:center}.activity-audit-inline-row--images[data-v-45a94292]{flex-wrap:wrap;grid-column:1/-1;gap:16px;display:flex}.activity-audit-image-col[data-v-45a94292]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.activity-audit-image-col .activity-audit-inline-label[data-v-45a94292]{text-align:left;flex:none}.activity-audit-image-value[data-v-45a94292]{border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-small);background:var(--color-fill-2);box-sizing:border-box;min-height:100px;padding:8px}.activity-audit-inline-label[data-v-45a94292]{color:var(--color-text-3);text-align:right;flex:0 0 74px}.activity-audit-inline-value[data-v-45a94292]{min-width:0;color:var(--color-text-1);word-break:break-word;flex:1}.activity-audit-stack[data-v-45a94292]{margin-top:20px}.activity-audit-stack__label[data-v-45a94292]{color:var(--color-text-1);margin-bottom:8px;font-size:14px;font-weight:500}.activity-audit-stack__body[data-v-45a94292]{min-width:0}@media (width<=1400px){.activity-audit-inline[data-v-45a94292]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.activity-audit-inline[data-v-45a94292]{grid-template-columns:minmax(0,1fr)}}.activity-audit-static-text[data-v-45a94292]{color:var(--color-text-1);word-break:break-word;font-size:14px;line-height:1.5715}.activity-audit-static-text--fill[data-v-45a94292]{border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-small);background:var(--color-fill-2);box-sizing:border-box;align-items:center;min-height:32px;padding:4px 11px;display:flex}.activity-audit-static-coord[data-v-45a94292]{border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-small);background:var(--color-fill-2);box-sizing:border-box;min-height:32px;color:var(--color-text-2);font-variant-numeric:tabular-nums;align-items:center;padding:4px 11px;font-size:14px;line-height:1.5715;display:flex}.activity-audit-muted[data-v-45a94292]{color:var(--color-text-3);font-size:13px}.activity-audit-break[data-v-45a94292]{word-break:break-word}.activity-audit-rich[data-v-45a94292]{color:var(--color-text-1);background:#fafafa;border:1px solid #e5e6eb;border-radius:8px;max-height:380px;padding:12px;font-size:13px;line-height:1.7;overflow-y:auto}.activity-audit-rich[data-v-45a94292] img{vertical-align:top;max-width:100%;height:auto}.activity-audit-rich[data-v-45a94292] video{max-width:100%}.bts-preview-grid[data-v-45a94292]{flex-wrap:wrap;gap:16px;width:100%;display:flex}.bts-preview-item[data-v-45a94292]{box-sizing:border-box;flex:none;width:220px}.bts-preview-img[data-v-45a94292]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:8px;width:220px;height:220px;display:block}.bts-preview-actions[data-v-45a94292]{flex-flow:row;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.bts-preview-actions[data-v-45a94292] .bts-act-btn.arco-btn-size-mini{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px}
diff --git a/public/admin/assets/ActivityList-DS0koyVR.css b/public/admin/assets/ActivityList-DS0koyVR.css
deleted file mode 100644
index 1491699..0000000
--- a/public/admin/assets/ActivityList-DS0koyVR.css
+++ /dev/null
@@ -1 +0,0 @@
-.activity-verify-inline-line[data-v-2a269967]{flex-wrap:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.activity-verify-inline-line--wrap[data-v-2a269967]{flex-wrap:wrap}.activity-verify-inline-line__label[data-v-2a269967]{color:var(--color-text-2);flex-shrink:0;font-size:13px}.activity-verify-inline-line__input--url[data-v-2a269967]{flex:200px;min-width:160px;max-width:420px}.activity-verify-inline-line__input--pin[data-v-2a269967]{flex-shrink:0;width:120px;min-width:100px}.activity-address-coord-row[data-v-2a269967]{flex-wrap:wrap;align-items:center;gap:12px;width:100%;display:flex}.activity-address-coord-row__address[data-v-2a269967]{flex:45%;min-width:320px;max-width:100%}.activity-address-coord-row--hide-lnglat .activity-address-coord-row__address[data-v-2a269967]{flex:200px;min-width:0;max-width:100%}.activity-address-coord-row__lng[data-v-2a269967],.activity-address-coord-row__lat[data-v-2a269967]{flex:180px;width:200px;min-width:180px}.activity-address-coord-row__map[data-v-2a269967]{flex-shrink:0}.activity-time-label-with-action[data-v-2a269967]{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.35;display:inline-flex}.activity-add-time-slot-btn[data-v-2a269967]{flex-shrink:0;min-width:unset!important;height:22px!important;padding:0 6px!important;font-size:11px!important;line-height:20px!important}.activity-time-slots-empty-hint[data-v-2a269967]{color:var(--color-text-3);font-size:12px}.activity-add-session-btn[data-v-2a269967]{width:auto}.activity-time-slot-row[data-v-2a269967]{flex-wrap:nowrap;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.activity-time-slot-row[data-v-2a269967] .activity-specific-time-slot-picker.arco-picker{box-sizing:border-box;flex:none;width:102px!important;min-width:102px!important;max-width:102px!important;padding:3px 8px 3px 4px!important}.activity-time-slot-row[data-v-2a269967] .activity-specific-time-slot-picker .arco-picker-input{flex:1 1 0;min-width:0;padding:0 4px 0 6px!important}.activity-time-slot-row[data-v-2a269967] .activity-specific-time-slot-picker input{min-width:0;font-size:12px;padding-left:4px!important}.activity-time-slot-row[data-v-2a269967] .activity-specific-time-slot-picker .arco-picker-suffix{margin-left:2px}.activity-time-slot-row[data-v-2a269967] .activity-specific-time-slot-picker .arco-picker-suffix .arco-icon{font-size:12px}.activity-time-slot-row__tilde[data-v-2a269967]{color:var(--color-text-3);flex-shrink:0;font-size:11px}.activity-time-slot-row__del[data-v-2a269967]{flex-shrink:0}.activity-cover-carousel-wrap[data-v-2a269967]{flex-wrap:wrap;align-items:flex-start;gap:20px;width:100%;display:flex}.activity-cover-carousel-row__col[data-v-2a269967]{flex:320px;min-width:min(100%,320px)}.activity-cover-carousel-row__sub[data-v-2a269967]{color:var(--color-text-1);margin-bottom:8px;font-weight:500}.activity-cover-thumb[data-v-2a269967]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:4px;width:120px;height:70px}.activity-gallery-grid[data-v-2a269967]{flex-wrap:wrap;align-items:flex-start;gap:12px;width:100%;display:flex}.activity-gallery-item[data-v-2a269967]{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.activity-gallery-thumb[data-v-2a269967]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:4px;width:120px;height:70px}.activity-gallery-thumb--video[data-v-2a269967]{display:block}.activity-form-tags[data-v-2a269967]{width:100%;max-width:100%}.activity-form-tags__line[data-v-2a269967]{flex-flow:row;align-items:center;gap:8px;width:100%;display:flex}.activity-form-tags__input[data-v-2a269967]{flex:auto;min-width:0}.activity-form-tags__input[data-v-2a269967] .arco-input-wrapper{width:100%}.activity-form-tags__save[data-v-2a269967]{flex-shrink:0}.activity-form-tags__chips[data-v-2a269967]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.activity-form-tags__empty[data-v-2a269967]{color:#86909c;font-size:12px}.activity-form-tags__chips--readonly[data-v-2a269967]{margin-top:0}.activity-form-tags__chips--inline[data-v-2a269967]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.activity-audit-inline[data-v-2a269967]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;padding-bottom:4px;display:grid}.activity-audit-inline-row[data-v-2a269967]{align-items:flex-start;gap:12px;min-width:0;font-size:14px;line-height:1.5715;display:flex}.activity-audit-inline-row--tags[data-v-2a269967]{align-items:center}.activity-audit-inline-row--images[data-v-2a269967]{flex-wrap:wrap;grid-column:1/-1;gap:16px;display:flex}.activity-audit-image-col[data-v-2a269967]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.activity-audit-image-col .activity-audit-inline-label[data-v-2a269967]{text-align:left;flex:none}.activity-audit-image-value[data-v-2a269967]{border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-small);background:var(--color-fill-2);box-sizing:border-box;min-height:100px;padding:8px}.activity-audit-inline-label[data-v-2a269967]{color:var(--color-text-3);text-align:right;flex:0 0 74px}.activity-audit-inline-value[data-v-2a269967]{min-width:0;color:var(--color-text-1);word-break:break-word;flex:1}.activity-audit-stack[data-v-2a269967]{margin-top:20px}.activity-audit-stack__label[data-v-2a269967]{color:var(--color-text-1);margin-bottom:8px;font-size:14px;font-weight:500}.activity-audit-stack__body[data-v-2a269967]{min-width:0}@media (width<=1400px){.activity-audit-inline[data-v-2a269967]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.activity-audit-inline[data-v-2a269967]{grid-template-columns:minmax(0,1fr)}}.activity-audit-static-text[data-v-2a269967]{color:var(--color-text-1);word-break:break-word;font-size:14px;line-height:1.5715}.activity-audit-static-text--fill[data-v-2a269967]{border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-small);background:var(--color-fill-2);box-sizing:border-box;align-items:center;min-height:32px;padding:4px 11px;display:flex}.activity-audit-static-coord[data-v-2a269967]{border:1px solid var(--color-neutral-3);border-radius:var(--border-radius-small);background:var(--color-fill-2);box-sizing:border-box;min-height:32px;color:var(--color-text-2);font-variant-numeric:tabular-nums;align-items:center;padding:4px 11px;font-size:14px;line-height:1.5715;display:flex}.activity-audit-muted[data-v-2a269967]{color:var(--color-text-3);font-size:13px}.activity-audit-break[data-v-2a269967]{word-break:break-word}.activity-audit-rich[data-v-2a269967]{color:var(--color-text-1);background:#fafafa;border:1px solid #e5e6eb;border-radius:8px;max-height:380px;padding:12px;font-size:13px;line-height:1.7;overflow-y:auto}.activity-audit-rich[data-v-2a269967] img{vertical-align:top;max-width:100%;height:auto}.activity-audit-rich[data-v-2a269967] video{max-width:100%}.bts-preview-grid[data-v-2a269967]{flex-wrap:wrap;gap:16px;width:100%;display:flex}.bts-preview-item[data-v-2a269967]{box-sizing:border-box;flex:none;width:220px}.bts-preview-img[data-v-2a269967]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:8px;width:220px;height:220px;display:block}.bts-preview-actions[data-v-2a269967]{flex-flow:row;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.bts-preview-actions[data-v-2a269967] .bts-act-btn.arco-btn-size-mini{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px}
diff --git a/public/admin/assets/ActivityList-DiqA1uqs.js b/public/admin/assets/ActivityList-DiqA1uqs.js
new file mode 100644
index 0000000..5ee021d
--- /dev/null
+++ b/public/admin/assets/ActivityList-DiqA1uqs.js
@@ -0,0 +1,2 @@
+import{n as e,st as t}from"./axios-CiYFffbI.js";import{I as n,N as r,O as i,P as a,V as o,Y as s,_ as c,d as l,f as u,h as d,i as f,it as p,kt as m,l as h,nt as g,p as _,q as v,u as y,ut as ee,v as b,y as te,z as x}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as S}from"./http-LCi9aT1G.js";import{d as C,l as ne,s as re,u as ie}from"./index-CH5Tbw_W.js";import{n as ae,t as w}from"./xlsx-C0ANE5gA.js";import{t as oe}from"./RichEditorField-7rznqkEE.js";import{a as se}from"./h5Http-B0amz0Ts.js";import{t as ce}from"./useModalDirtyGuard-Cg6oNoR1.js";import{n as le,r as ue,t as de}from"./adminMediaLimits-BMNnjSzY.js";import{t as fe}from"./listTableRowIndex-PNK2HoFW.js";import{r as T}from"./datetime-4oTrw7tt.js";import{a as pe,c as me,i as he,n as ge,o as E,r as _e,s as D,t as ve}from"./mapGeo-BYJZtCg9.js";function ye(e,t=`当前有未保存改动,确定要离开吗?`){function n(t){e()&&(t.preventDefault(),t.returnValue=``)}ne((n,r,i)=>{if(!e()){i();return}i(window.confirm(t))}),r(()=>{window.addEventListener(`beforeunload`,n)}),a(()=>{window.removeEventListener(`beforeunload`,n)})}function O(e){return e==null||e===``?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):JSON.stringify(e)}function k(e){if(e==null||e===``)return``;let t=Number(e);return Number.isFinite(t)?t:``}function be(e){return e==null||e===``?``:String(e).replace(`T`,` `).slice(0,19)}function A(e){return e===!0||e===1||e===`1`||e===`true`?`是`:e===!1||e===0||e===`0`||e===`false`?`否`:``}function j(e,t=12e3){let n=String(e??``).trim();return n?n.replace(/
+
-
+