From 3730e55e939d1167b00b7eb0b48adc236d363a31 Mon Sep 17 00:00:00 2001 From: "jif2.zhang" Date: Mon, 9 Nov 2026 15:23:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=89=93=E5=8D=A1):=20=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E6=89=93=E5=8D=A1=E9=A1=B9=E5=8E=BB=E6=8E=89=E3=80=8C=E6=AF=8F?= =?UTF-8?q?=E5=B9=B4=E3=80=8D=E5=91=A8=E6=9C=9F=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新建时只保留 每天/每周/每月; 历史遗留的 year 项在编辑时仍显示「每年」, 避免当前周期无选中项 --- src/pages/checkin/MergedView.jsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pages/checkin/MergedView.jsx b/src/pages/checkin/MergedView.jsx index 2a82bd8..fb1c203 100644 --- a/src/pages/checkin/MergedView.jsx +++ b/src/pages/checkin/MergedView.jsx @@ -21,12 +21,15 @@ import { const GROUP_ORDER = ['day', 'week', 'month'] const GROUP_LABEL = { day: '每天', week: '每周', month: '每月' } +// 新建时只提供 每天 / 每周 / 每月 (「每年」已下线) const PERIOD_OPTIONS = [ { label: '每天', value: 'day' }, { label: '每周', value: 'week' }, { label: '每月', value: 'month' }, - { label: '每年', value: 'year' }, ] +// 历史遗留的 year 项仍可编辑: 仅在编辑该周期时补回「每年」选项, +// 避免打开编辑弹窗时当前周期没有任何选中项 +const YEAR_OPTION = { label: '每年', value: 'year' } const COLORS = ['#1677ff', '#00b578', '#ff8f1f', '#ff3141', '#a855f7', '#14b8a6', '#f43f9e'] const EMPTY_FORM = { id: null, name: '', period: 'day', target: 1, color: COLORS[0], note: '' } @@ -255,6 +258,11 @@ export default function MergedView({ date, onDateChange }) { } // ---------- 渲染 ---------- + // 只有编辑历史 year 项时才显示「每年」选项; 新建一律不给该周期 + const periodOptions = form.period === 'year' + ? [...PERIOD_OPTIONS, YEAR_OPTION] + : PERIOD_OPTIONS + return (
{/* 月历 */} @@ -440,7 +448,7 @@ export default function MergedView({ date, onDateChange }) {
setForm((f) => ({ ...f, period: v[0] }))} />