|
|
@@ -13,16 +13,10 @@
|
|
|
</button>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 折叠态常驻行 -->
|
|
|
+ <!-- 完成人数/比例常驻行 -->
|
|
|
<div class="ai-completion">{{ completionLine }}</div>
|
|
|
|
|
|
- <!-- 展开/收起 -->
|
|
|
- <button class="ai-toggle" @click="expanded = !expanded">
|
|
|
- {{ expanded ? lang.ssSpkCollapseReport : lang.ssSpkViewFullReport }}
|
|
|
- <span class="ai-caret" :class="{ open: expanded }">▾</span>
|
|
|
- </button>
|
|
|
-
|
|
|
- <div v-if="expanded" class="ai-report-region">
|
|
|
+ <div class="ai-report-region">
|
|
|
<div v-if="error" class="ai-report-error">
|
|
|
<span>{{ lang.ssSpkReportFailed }}</span>
|
|
|
<button @click="$emit('refresh')">{{ lang.ssSpkRetry }}</button>
|
|
|
@@ -50,8 +44,6 @@ const props = defineProps<{
|
|
|
}>()
|
|
|
defineEmits<{ refresh: [] }>()
|
|
|
|
|
|
-const expanded = ref(false)
|
|
|
-
|
|
|
const renderedHtml = computed(() => renderReportMarkdown(props.markdown))
|
|
|
|
|
|
// 「刚刚生成」/「N 秒前生成」/「N 分钟前生成」 — 每秒重算
|
|
|
@@ -122,23 +114,6 @@ const generatedAtLabel = computed(() => {
|
|
|
margin-bottom: 8px;
|
|
|
}
|
|
|
|
|
|
-.ai-toggle {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- gap: 4px;
|
|
|
- font-size: 12px;
|
|
|
- font-weight: 500;
|
|
|
- color: #2563eb;
|
|
|
- background: transparent;
|
|
|
- border: none;
|
|
|
- cursor: pointer;
|
|
|
- padding: 0;
|
|
|
-}
|
|
|
-.ai-caret {
|
|
|
- transition: transform .15s;
|
|
|
- &.open { transform: rotate(180deg); }
|
|
|
-}
|
|
|
-
|
|
|
.ai-report-region {
|
|
|
margin-top: 12px;
|
|
|
max-height: 360px;
|