diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 2763062..9b4bb57 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -3627,8 +3627,11 @@ struct Index { */ private async openTodoCreator(): Promise { // ⭐ 改为独立页面(与新建日程一致):预置参数后跳转 + // 待办默认**没有截止时间**(与日程不同:待办不是"发生在某天的事", + // 而是"要完成的事",多数待办一开始并不确定哪天截止)。 + // 所以不传 pendingTodoDate(0 = 不预填)。 AppStorage.setOrCreate('pendingTodoId', 0); - AppStorage.setOrCreate('pendingTodoDate', this.selectedDate); + AppStorage.setOrCreate('pendingTodoDate', 0); router.pushUrl({ url: 'pages/TodoEditPage' }); } diff --git a/entry/src/main/ets/pages/TodoEditPage.ets b/entry/src/main/ets/pages/TodoEditPage.ets index dc4e25f..b1aa26b 100644 --- a/entry/src/main/ets/pages/TodoEditPage.ets +++ b/entry/src/main/ets/pages/TodoEditPage.ets @@ -191,19 +191,15 @@ struct TodoEditPage { if (this.books.length > 0) { this.bookKey = this.books[0].calKey; } - // 预填截止日(从月视图某天点进来时带过来) - const preDate: number = AppStorage.get('pendingTodoDate') ?? 0; - AppStorage.setOrCreate('pendingTodoDate', 0); - if (preDate > 0) { - const d = new Date(preDate); - this.pickDate = new Date(d.getFullYear(), d.getMonth(), d.getDate()); - this.hasDue = true; - this.dueMs = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 9, 0).getTime(); - } else { - // 默认"明天 09:00",与新建日程口径一致 - const base = new Date(); - this.pickDate = new Date(base.getFullYear(), base.getMonth(), base.getDate() + 1); - } + // ⭐ 新建待办默认**无截止时间**(hasDue 保持 false)。 + // 待办是"要完成的事",不是"发生在某天的事",多数一开始不确定哪天截止。 + // 日期选择器只预置一个合理的初始值(明天),用户点了才会真正设置。 + const base = new Date(); + this.pickDate = new Date(base.getFullYear(), base.getMonth(), base.getDate() + 1); + this.pickHour = 9; + this.pickMin = 0; + this.hasDue = false; + this.dueMs = 0; } } catch (err) { LogUtil.write(`待办编辑页初始化失败: ${(err as BusinessError).message ?? ''}`);