fix(chat): 默认时间窗改全部时间(原近2周把老对话过滤成空——7-26的对话打开显示暂无聊天记录)

点「查看聊天记录」就该看到记录;需要过滤再手动选日期(已开clearable,
清除即回全部);stat-modal 带窗入口(?start&end)不受影响

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
浅念
2026-08-22 16:16:01 +08:00
parent 4056dfb49e
commit b9d250cdc1
+13 -16
View File
@@ -108,15 +108,6 @@ const conversationTitle = computed(() => {
return '聊天记录'
})
const TWO_WEEKS_MS = 14 * 86_400_000
function defaultRange(): [Date, Date] {
const end = new Date()
end.setHours(23, 59, 59, 999)
const start = new Date(end.getTime() - TWO_WEEKS_MS)
start.setHours(0, 0, 0, 0)
return [start, end]
}
function rangeFromQuery(): [Date, Date] | null {
const s = route.query.start,
e = route.query.end
@@ -127,11 +118,12 @@ function rangeFromQuery(): [Date, Date] | null {
}
return null
}
// 本地日期窗 ref:mount 时取 route.query(stat modal 带窗入口)否则默认近 2 周;
// 跨会话切换持久(不随路由 param 变化重置),与云客真机一致。
const dateRange = ref<[Date, Date]>(rangeFromQuery() ?? defaultRange())
const winStart = computed(() => dateRange.value[0].getTime())
const winEnd = computed(() => dateRange.value[1].getTime())
// 本地日期窗 ref:mount 时取 route.query(stat modal 带窗入口)否则**全部时间**——
// 默认近 2 周会把老对话过滤成空(实测 7-26 的对话在 08-22 打开显示「暂无聊天
// 记录」,2026-08-22);点「查看聊天记录」就该看到记录,要过滤再手动选时间。
const dateRange = ref<[Date, Date] | null>(rangeFromQuery())
const winStart = computed(() => dateRange.value?.[0].getTime())
const winEnd = computed(() => dateRange.value?.[1].getTime())
const keyword = ref('')
/** 归属账号昵称(账号表查,回退原始 id)。 */
@@ -159,7 +151,9 @@ const subtitle = computed(() => {
let s =
`渠道:${channelLabel(channelTyped.value)} · 归属账号:${ownerLabel}` +
(total.value > 0 ? ` · 共 ${total.value} 条` : '')
s += ` · 时段:${formatTime(winStart.value)} ~ ${formatTime(winEnd.value)}`
s += winStart.value && winEnd.value
? ` · 时段:${formatTime(winStart.value)} ~ ${formatTime(winEnd.value)}`
: ' · 时段:全部时间'
return s
})
@@ -357,7 +351,10 @@ onMounted(() => {
v-model="dateRange"
type="daterange"
size="small"
:clearable="false"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
clearable
@change="onDateChange"
/>
<el-input