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