diff --git a/src/components/widgets/WeekplanWidget.vue b/src/components/widgets/WeekplanWidget.vue index 01bfae6..657572a 100644 --- a/src/components/widgets/WeekplanWidget.vue +++ b/src/components/widgets/WeekplanWidget.vue @@ -43,9 +43,9 @@ :href="overviewUrl" target="_blank" rel="noopener" - >查看概览 › + >查看概览 - +
-
{{ metaOf(item) }}
+ +
{{ metaOf(item) || "-" }}
{{ currentDayLabel }}
- -
+ +
{{ remarkText }}
{{ remarkExpanded ? "收起" : "展开" }}
@@ -139,7 +141,8 @@ const titleFull = computed(() => { * 真正无周对象(oapi 降级返回 {})才走大图标空态。 */ const hasWeek = computed(() => titleStr.value !== ""); -const remarkText = computed(() => weekData.value.remark || ""); +// trim:备注尾部换行/空格会多出一个空行,让「展开」在只有 2 行内容时也误判溢出 +const remarkText = computed(() => String(weekData.value.remark || "").trim()); const canPrev = computed(() => weekOffset.value > minWeek.value); const canNext = computed(() => weekOffset.value < maxWeek.value); @@ -185,6 +188,7 @@ async function loadWeek(week: number) { loading.value = false; // 换周/换数据后重置备注折叠态并重测溢出 remarkExpanded.value = false; + remarkOverflow.value = false; nextTick(measureRemark); reportHeight(); } @@ -246,7 +250,7 @@ function monthDay(day: any) { return String((day && day.dateText) || ""); } -/** 次要信息行:地点 / 负责人 / 参与人员,全部为空则不显示 */ +/** 次要信息行:地点 / 负责人 / 参与人员;三者全空时落「-」,不留白(条目保持等高) */ function metaOf(item: any) { if (!item) return ""; const parts: string[] = []; @@ -275,7 +279,15 @@ function reportHeight() {