From 614c654ca266df52c11ce6a04e4a84c406a23c2d Mon Sep 17 00:00:00 2001 From: lq <121091329@qq.com> Date: Fri, 19 Sep 2025 17:58:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9task?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/date-selector.vue | 19 +-- .../components/task-item.vue | 144 ++++++++++++++++-- 2 files changed, 140 insertions(+), 23 deletions(-) diff --git a/src/views/property-marketing/assignment-management/components/date-selector.vue b/src/views/property-marketing/assignment-management/components/date-selector.vue index e4bf860..9ad0dbb 100644 --- a/src/views/property-marketing/assignment-management/components/date-selector.vue +++ b/src/views/property-marketing/assignment-management/components/date-selector.vue @@ -221,9 +221,10 @@ const emitChange = () => { monthModel: monthModel.value, dateRange: getDateRange(), // 父组件直接可用的日期范围 }; - emit('update:modelValue', result); - // 只有在初始化完成后才触发 date-change 事件 + + // 只有在初始化完成后才触发 update:modelValue 和 date-change 事件 if (!isInitializing) { + emit('update:modelValue', result); console.log('emitChange', result); emit('date-change', result); // 父组件监听此事件做后续处理 } @@ -233,26 +234,22 @@ const emitChange = () => { watch( () => props.modelValue, (newVal) => { - if (newVal) { + if (newVal && !isInitializing) { + // 只有在初始化完成后才响应外部props变化 choseType.value = newVal.choseType; dayModel.value = newVal.dayModel || new Date(); weekModel.value = newVal.weekModel || new Date(); monthModel.value = newVal.monthModel || new Date(); - // 只有在初始化完成后才触发 emitChange - if (!isInitializing) { - emitChange(); - } + emitChange(); } }, { deep: true }, ); -// 初始化时触发一次事件 -emitChange(); - -// 初始化完成,设置标志位 +// 初始化完成,设置标志位,并在之后触发一次事件 setTimeout(() => { isInitializing = false; + emitChange(); }, 0); diff --git a/src/views/property-marketing/assignment-management/components/task-item.vue b/src/views/property-marketing/assignment-management/components/task-item.vue index 4920b02..fef4203 100644 --- a/src/views/property-marketing/assignment-management/components/task-item.vue +++ b/src/views/property-marketing/assignment-management/components/task-item.vue @@ -1,35 +1,126 @@