aegon-lv97 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/gen-ai/build-report/chartStreamRefs.ts +227 -0
  2. package/gen-ai/build-report/coherence-check/index.vue +559 -0
  3. package/gen-ai/build-report/components/ReportChapterWorkspace.vue +4571 -0
  4. package/gen-ai/build-report/components/ReportConfigPanel.vue +727 -0
  5. package/gen-ai/build-report/components/ReportGenerateSettingsPanel.vue +2361 -0
  6. package/gen-ai/build-report/components/ReportGeneratingPanel.vue +1765 -0
  7. package/gen-ai/build-report/components/ReportPromptPanel.vue +625 -0
  8. package/gen-ai/build-report/components/ReportSourceFileSummary.vue +665 -0
  9. package/gen-ai/build-report/components/ReportSourcesPanel.vue +1327 -0
  10. package/gen-ai/build-report/components/ReportTemplateDetail.vue +191 -0
  11. package/gen-ai/build-report/components/ReportTemplateEditorFormPanel.vue +667 -0
  12. package/gen-ai/build-report/components/ReportTemplatePicker.vue +302 -0
  13. package/gen-ai/build-report/components/ReportWorkflowSidebar.vue +148 -0
  14. package/gen-ai/build-report/components/paramsSetting.vue +886 -0
  15. package/gen-ai/build-report/components/reportEdit.vue +2283 -0
  16. package/gen-ai/build-report/index.vue +856 -0
  17. package/gen-ai/build-report/report-domain.ts +1133 -0
  18. package/gen-ai/build-report/report-template-data.ts +295 -0
  19. package/gen-ai/build-report/useReportWorkflow.ts +1386 -0
  20. package/gen-ai/common/assets/NotoSans-SC.woff2 +0 -0
  21. package/gen-ai/common/assets/NotoSans-TC.woff2 +0 -0
  22. package/gen-ai/common/assets/NotoSans.woff2 +0 -0
  23. package/gen-ai/common/assets/fonts.css +278 -0
  24. package/gen-ai/common/assets/pagination.css +163 -0
  25. package/gen-ai/common/directives/btnLoading.ts +455 -0
  26. package/gen-ai/common/directives/debounce.ts +98 -0
  27. package/gen-ai/common/directives/index.ts +30 -0
  28. package/gen-ai/common/en.md +417 -0
  29. package/gen-ai/common/index.ts +36 -0
  30. package/gen-ai/common/types/component-expose.ts +9 -0
  31. package/gen-ai/common/utils/api-res-status.ts +7 -0
  32. package/gen-ai/common/utils/navigation.ts +59 -0
  33. package/gen-ai/common/utils/remote-request.ts +45 -0
  34. package/gen-ai/common/utils/scroll.ts +577 -0
  35. package/gen-ai/components/AIExport/docx-export.ts +950 -0
  36. package/gen-ai/components/AIExport/docxExport.ts +2566 -0
  37. package/gen-ai/components/AIExport/index.ts +52 -0
  38. package/gen-ai/components/AIExport/parseMarkdownHtml.ts +653 -0
  39. package/gen-ai/components/CapsuleScrollbar.vue +149 -0
  40. package/gen-ai/components/ChapterTitleScroll.vue +468 -0
  41. package/gen-ai/components/EntryHeroNavCards.vue +379 -0
  42. package/gen-ai/components/GenAiPagination.vue +52 -0
  43. package/gen-ai/components/ModelCard.vue +1114 -0
  44. package/gen-ai/components/Preview/FilePreviewPage.vue +949 -0
  45. package/gen-ai/components/Preview/PreviewCapsuleScroll.vue +205 -0
  46. package/gen-ai/components/Preview/PreviewOutlineTree.vue +148 -0
  47. package/gen-ai/components/Preview/index.ts +11 -0
  48. package/gen-ai/components/Preview/preview.ts +724 -0
  49. package/gen-ai/components/PromptField.vue +505 -0
  50. package/gen-ai/components/RecentReportsTable.vue +974 -0
  51. package/gen-ai/components/ReportCollapsibleSection.vue +172 -0
  52. package/gen-ai/components/ReportHistoryList.vue +637 -0
  53. package/gen-ai/components/ReportSectionConfirmPopover.vue +251 -0
  54. package/gen-ai/components/editor/ChapterTiptapEditor.vue +3718 -0
  55. package/gen-ai/components/editor/StructureBlockView.vue +441 -0
  56. package/gen-ai/components/editor/TiptapToolbar.vue +1036 -0
  57. package/gen-ai/components/editor/TypewriterDocEditor.vue +422 -0
  58. package/gen-ai/components/editor/_StructureOrgNode.vue +326 -0
  59. package/gen-ai/components/editor/index.ts +28 -0
  60. package/gen-ai/components/editor/parseMarkdownHtml.ts +754 -0
  61. package/gen-ai/components/editor/reviewCitationTip.ts +163 -0
  62. package/gen-ai/gen-entry/api/index.ts +32 -0
  63. package/gen-ai/gen-entry/index.vue +287 -0
  64. package/gen-ai/gen-entry/types/index.ts +4 -0
  65. package/gen-ai/i.mark +2 -0
  66. package/gen-ai/management-center/index.vue +1815 -0
  67. package/gen-ai/management-center/mockData.ts +248 -0
  68. package/gen-ai/management-center/types/index.ts +37 -0
  69. package/gen-ai/model-manager/TemplateEditorFormPanel.vue +661 -0
  70. package/gen-ai/model-manager/api/index.ts +32 -0
  71. package/gen-ai/model-manager/api/mockApi.ts +33 -0
  72. package/gen-ai/model-manager/index.vue +1583 -0
  73. package/gen-ai/model-manager/mockData.ts +177 -0
  74. package/gen-ai/model-manager/template-detail-shared.ts +154 -0
  75. package/gen-ai/model-manager/template-editor.vue +345 -0
  76. package/gen-ai/model-manager/types/index.ts +40 -0
  77. package/gen-ai/model-manager/utils.ts +25 -0
  78. package/package.json +12 -0
@@ -0,0 +1,559 @@
1
+ <template>
2
+ <div
3
+ class="report-coherence-check-page"
4
+ :class="{
5
+ 'is-aside-collapsed': asideCollapsed && !isStackedLayout,
6
+ 'is-stacked': isStackedLayout,
7
+ }"
8
+ >
9
+ <main class="report-coherence-check-page__main">
10
+ <!-- 右欄收起/展開:與 reportEdit 中欄右側 divider 同款;窄屏堆疊時隱藏 -->
11
+ <button
12
+ v-if="payload"
13
+ v-show="!isStackedLayout"
14
+ type="button"
15
+ class="report-coherence-check-page__col-divider"
16
+ :aria-expanded="!asideCollapsed"
17
+ :aria-label="asideCollapsed ? '展開右側欄' : '收起右側欄'"
18
+ @click="asideCollapsed = !asideCollapsed"
19
+ >
20
+ <el-icon :size="14" color="#c53355">
21
+ <DArrowRight v-if="!asideCollapsed" />
22
+ <DArrowLeft v-else />
23
+ </el-icon>
24
+ </button>
25
+
26
+ <el-scrollbar class="report-coherence-check-page__main-scroll">
27
+ <header class="report-coherence-check-page__hero">
28
+ <h1 class="report-coherence-check-page__title">報告連貫性檢查</h1>
29
+ <p v-if="payload" class="report-coherence-check-page__desc">
30
+ {{ displayReportName }}
31
+ </p>
32
+ </header>
33
+
34
+ <section v-if="payload" class="report-coherence-check-results">
35
+ <ReportTypewriterDocEditor
36
+ :chapters="typewriterChapters"
37
+ :ready="typewriterReady"
38
+ empty-text="暫無連貫性檢查結果正文"
39
+ replay-key="coherence-result"
40
+ :replay-token="typewriterReplayToken"
41
+ :disable-typewriter="false"
42
+ />
43
+ </section>
44
+
45
+ <section
46
+ v-else
47
+ class="report-coherence-check-results report-coherence-check-results--empty"
48
+ >
49
+ <p>未找到檢查配置,請從「生成報告設置」重新發起連貫性檢查。</p>
50
+ </section>
51
+ </el-scrollbar>
52
+ </main>
53
+
54
+ <aside
55
+ v-if="payload"
56
+ class="report-coherence-check-page__aside"
57
+ :class="{ 'is-collapsed': asideCollapsed && !isStackedLayout }"
58
+ >
59
+ <el-scrollbar
60
+ v-show="!asideCollapsed || isStackedLayout"
61
+ class="report-coherence-check-page__aside-scroll"
62
+ >
63
+ <ReportGenerateSettingsPanel readonly :coherence-session="payload" />
64
+ </el-scrollbar>
65
+ </aside>
66
+ </div>
67
+ </template>
68
+
69
+ <script setup lang="ts">
70
+ import { DArrowLeft, DArrowRight } from '@element-plus/icons-vue'
71
+ import { ElIcon, ElScrollbar } from 'element-plus'
72
+ import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
73
+ import { useRoute } from 'vue-router'
74
+ import { ReportTypewriterDocEditor } from '../../common/index.ts'
75
+ import '../common/assets/fonts.css'
76
+ import {
77
+ buildGenerationSignature,
78
+ loadCoherenceCheckSession,
79
+ markCoherenceCheckCompleted,
80
+ saveCoherenceCheckSession,
81
+ type CoherenceCheckSessionPayload,
82
+ } from '../report-domain.ts'
83
+ import { useReportWorkflow } from '../useReportWorkflow.ts'
84
+ import ReportGenerateSettingsPanel from '../components/ReportGenerateSettingsPanel.vue'
85
+
86
+ const route = useRoute()
87
+ const payload = ref<CoherenceCheckSessionPayload | null>(null)
88
+ const asideCollapsed = ref(false)
89
+ const typewriterReplayToken = ref(0)
90
+
91
+ const typewriterChapters = computed(() => {
92
+ const text = String(payload.value?.coherenceCheckContentText ?? '').trim()
93
+ if (!text) return []
94
+ return [
95
+ {
96
+ key: 'coherence-result',
97
+ title: '連貫性檢查結果',
98
+ intro: text,
99
+ },
100
+ ]
101
+ })
102
+
103
+ const typewriterReady = computed(() => !!payload.value)
104
+
105
+ const STACKED_MAX_WIDTH = 1024
106
+ const isStackedLayout = ref(
107
+ typeof window !== 'undefined' ? window.innerWidth <= STACKED_MAX_WIDTH : false
108
+ )
109
+
110
+ function syncStackedLayout() {
111
+ const stacked = window.innerWidth <= STACKED_MAX_WIDTH
112
+ isStackedLayout.value = stacked
113
+ if (stacked) {
114
+ asideCollapsed.value = false
115
+ }
116
+ }
117
+
118
+ const { loadDraftFromSession, loadTemplateFromSession, patchDraft } = useReportWorkflow()
119
+
120
+ const displayReportName = computed(() => {
121
+ if (!payload.value) return ''
122
+ const name = payload.value.reportName.trim() || '未命名報告'
123
+ return `${name} · ${payload.value.year}`
124
+ })
125
+
126
+ function applyPayload(session: CoherenceCheckSessionPayload) {
127
+ payload.value = session
128
+ saveCoherenceCheckSession(session)
129
+ patchDraft({
130
+ language: session.reportLanguage,
131
+ chapterContentLanguage: session.chapterContentLanguage,
132
+ })
133
+ markCoherenceCheckCompleted(
134
+ buildGenerationSignature(
135
+ session.templateId,
136
+ session.chapters,
137
+ session.reportLanguage,
138
+ session.chapterContentLanguage
139
+ )
140
+ )
141
+ typewriterReplayToken.value += 1
142
+ }
143
+
144
+ onMounted(() => {
145
+ loadDraftFromSession()
146
+ loadTemplateFromSession()
147
+ syncStackedLayout()
148
+ window.addEventListener('resize', syncStackedLayout)
149
+
150
+ const templateId = typeof route.query.templateId === 'string' ? route.query.templateId : ''
151
+ const session = loadCoherenceCheckSession()
152
+
153
+ if (session && (!templateId || session.templateId === templateId)) {
154
+ applyPayload(session)
155
+ return
156
+ }
157
+ // 無 session:不回落本地演示數據;引導用戶從生成設置重新發起
158
+ })
159
+
160
+ onBeforeUnmount(() => {
161
+ window.removeEventListener('resize', syncStackedLayout)
162
+ })
163
+ </script>
164
+
165
+ <style scoped>
166
+ /* 正文樣式與章節模板編輯器(ChapterTiptapEditor prose)對齊 */
167
+ .report-coherence-check-page {
168
+ --report-edit-border: #e5e7eb;
169
+ --report-edit-col-scroll-thumb: #999;
170
+ /* 與 reportEdit prompt 三欄(2fr 6fr 2fr)右側設置欄同寬:佔總寬 2/10 */
171
+ display: grid;
172
+ grid-template-columns: minmax(0, 8fr) minmax(0, 2fr);
173
+ gap: 15px;
174
+ column-gap: 20px;
175
+ align-items: stretch;
176
+ min-height: 100dvh;
177
+ height: 100dvh;
178
+ max-height: 100dvh;
179
+ padding: 15px;
180
+ box-sizing: border-box;
181
+ background: #fff;
182
+ font-family: var(--gen-ai-font-family, 'Noto Sans', 'Noto Sans TC', sans-serif);
183
+ font-size: 16px;
184
+ line-height: 1.6;
185
+ color: #374151;
186
+ overflow: hidden;
187
+ transition: grid-template-columns 0.25s ease;
188
+ }
189
+
190
+ .report-coherence-check-page.is-aside-collapsed {
191
+ grid-template-columns: minmax(0, 1fr);
192
+ }
193
+
194
+ .report-coherence-check-page__main {
195
+ position: relative;
196
+ display: flex;
197
+ flex-direction: column;
198
+ min-width: 0;
199
+ min-height: 0;
200
+ height: 100%;
201
+ padding: 16px 20px;
202
+ border: 1px solid var(--report-edit-border);
203
+ border-radius: 8px;
204
+ background: #fff;
205
+ box-sizing: border-box;
206
+ overflow: visible;
207
+ transition: box-shadow var(--el-transition-duration, 0.3s);
208
+ }
209
+
210
+ .report-coherence-check-page__main:hover {
211
+ box-shadow: var(--el-box-shadow-light, 0 0 12px rgba(0, 0, 0, 0.12));
212
+ }
213
+
214
+ /* 與 reportEdit 中欄右側 divider 同款 */
215
+ .report-coherence-check-page__col-divider {
216
+ z-index: 30;
217
+ position: absolute;
218
+ top: 50%;
219
+ right: calc(-1px - 4px - 14px);
220
+ left: auto;
221
+ display: inline-flex;
222
+ align-items: center;
223
+ justify-content: center;
224
+ box-sizing: border-box;
225
+ width: 14px;
226
+ height: 90px;
227
+ margin: 0;
228
+ padding: 0;
229
+ border: none;
230
+ border-radius: 4px;
231
+ background: transparent;
232
+ box-shadow: none;
233
+ cursor: pointer;
234
+ line-height: 0;
235
+ pointer-events: auto;
236
+ flex-shrink: 0;
237
+ appearance: none;
238
+ -webkit-appearance: none;
239
+ transform: translateY(-50%);
240
+ }
241
+
242
+ .report-coherence-check-page__col-divider:hover {
243
+ background: #fdf0f2;
244
+ }
245
+
246
+ .report-coherence-check-page.is-aside-collapsed .report-coherence-check-page__col-divider {
247
+ background: #fdf0f2;
248
+ }
249
+
250
+ .report-coherence-check-page__col-divider:focus-visible {
251
+ outline: 2px solid rgba(197, 51, 85, 0.35);
252
+ outline-offset: 1px;
253
+ }
254
+
255
+ /* 左 card:滾動條在 card 內(與中欄一致,距內邊 4px) */
256
+ .report-coherence-check-page__main-scroll {
257
+ flex: 1 1 auto;
258
+ min-height: 0;
259
+ height: 100%;
260
+ overflow: hidden;
261
+ border-radius: 4px;
262
+ }
263
+
264
+ .report-coherence-check-page__main-scroll :deep(.el-scrollbar) {
265
+ height: 100%;
266
+ overflow: hidden;
267
+ }
268
+
269
+ .report-coherence-check-page__main-scroll :deep(.el-scrollbar__wrap) {
270
+ overflow-x: hidden !important;
271
+ overflow-y: auto !important;
272
+ max-height: 100% !important;
273
+ scrollbar-width: none !important;
274
+ -ms-overflow-style: none !important;
275
+ }
276
+
277
+ .report-coherence-check-page__main-scroll :deep(.el-scrollbar__wrap::-webkit-scrollbar) {
278
+ width: 0 !important;
279
+ height: 0 !important;
280
+ display: none !important;
281
+ }
282
+
283
+ .report-coherence-check-page__main-scroll :deep(.el-scrollbar__bar.is-horizontal) {
284
+ display: none !important;
285
+ }
286
+
287
+ .report-coherence-check-page__main-scroll :deep(.el-scrollbar__bar.is-vertical) {
288
+ width: 8px !important;
289
+ right: 4px !important;
290
+ top: 2px !important;
291
+ bottom: 2px !important;
292
+ height: auto !important;
293
+ background: transparent !important;
294
+ opacity: 1 !important;
295
+ z-index: 10;
296
+ }
297
+
298
+ .report-coherence-check-page__main-scroll
299
+ :deep(.el-scrollbar__bar.is-vertical .el-scrollbar__thumb) {
300
+ display: block !important;
301
+ width: 8px !important;
302
+ height: 50px !important;
303
+ min-height: 50px !important;
304
+ border-radius: 4px !important;
305
+ background-color: var(--report-edit-col-scroll-thumb, #999) !important;
306
+ opacity: 1 !important;
307
+ }
308
+
309
+ .report-coherence-check-page__hero {
310
+ margin-bottom: 0;
311
+ }
312
+
313
+ .report-coherence-check-page__title {
314
+ margin: 0;
315
+ font-size: 36px;
316
+ font-weight: 700;
317
+ font-family: inherit;
318
+ line-height: 1.11;
319
+ color: #111827;
320
+ }
321
+
322
+ .report-coherence-check-page__desc {
323
+ margin: 20px 0;
324
+ font-size: 16px;
325
+ font-weight: 400;
326
+ font-family: inherit;
327
+ line-height: 1.6;
328
+ color: #374151;
329
+ }
330
+
331
+ .report-coherence-check-results {
332
+ flex: 1;
333
+ min-height: 0;
334
+ }
335
+
336
+ .report-coherence-check-results--empty {
337
+ display: flex;
338
+ align-items: center;
339
+ justify-content: center;
340
+ color: #909399;
341
+ font-size: 16px;
342
+ font-family: inherit;
343
+ }
344
+
345
+ .report-coherence-check-results__section-title {
346
+ margin: 48px 0 24px;
347
+ font-size: 24px;
348
+ font-weight: 700;
349
+ font-family: inherit;
350
+ line-height: 1.33;
351
+ color: #111827;
352
+ }
353
+
354
+ .report-coherence-check-results__section:first-child
355
+ .report-coherence-check-results__section-title {
356
+ margin-top: 32px;
357
+ }
358
+
359
+ .report-coherence-check-results__paragraph {
360
+ margin: 20px 0;
361
+ font-size: 16px;
362
+ font-weight: 400;
363
+ font-family: inherit;
364
+ line-height: 1.6;
365
+ color: #374151;
366
+ text-align: justify;
367
+ }
368
+
369
+ .report-coherence-check-results__paragraph:last-child {
370
+ margin-bottom: 0;
371
+ }
372
+
373
+ .report-coherence-check-page__aside {
374
+ position: relative;
375
+ display: flex;
376
+ flex-direction: column;
377
+ width: 100%;
378
+ min-width: 0;
379
+ min-height: 0;
380
+ height: 100%;
381
+ align-self: stretch;
382
+ font-family: inherit;
383
+ overflow: visible;
384
+ }
385
+
386
+ .report-coherence-check-page__aside.is-collapsed {
387
+ position: absolute;
388
+ width: 0;
389
+ height: 0;
390
+ min-width: 0;
391
+ min-height: 0;
392
+ overflow: hidden;
393
+ pointer-events: none;
394
+ }
395
+
396
+ /* 右欄:生成報告設置 — 滾動條在 card 外側 */
397
+ .report-coherence-check-page__aside-scroll {
398
+ flex: 1 1 auto;
399
+ min-height: 0;
400
+ height: 100%;
401
+ overflow: visible;
402
+ }
403
+
404
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar) {
405
+ height: 100%;
406
+ overflow: visible;
407
+ }
408
+
409
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__wrap) {
410
+ overflow-x: hidden !important;
411
+ overflow-y: auto !important;
412
+ max-height: 100% !important;
413
+ scrollbar-width: none !important;
414
+ -ms-overflow-style: none !important;
415
+ }
416
+
417
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__wrap::-webkit-scrollbar) {
418
+ width: 0 !important;
419
+ height: 0 !important;
420
+ display: none !important;
421
+ }
422
+
423
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__bar.is-horizontal) {
424
+ display: none !important;
425
+ }
426
+
427
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__bar.is-vertical) {
428
+ width: 8px !important;
429
+ right: -12px !important;
430
+ top: 2px !important;
431
+ bottom: 2px !important;
432
+ height: auto !important;
433
+ background: transparent !important;
434
+ opacity: 1 !important;
435
+ z-index: 10;
436
+ }
437
+
438
+ .report-coherence-check-page__aside-scroll
439
+ :deep(.el-scrollbar__bar.is-vertical .el-scrollbar__thumb) {
440
+ display: block !important;
441
+ width: 8px !important;
442
+ height: 50px !important;
443
+ min-height: 50px !important;
444
+ border-radius: 4px !important;
445
+ background-color: var(--report-edit-col-scroll-thumb, #999) !important;
446
+ opacity: 1 !important;
447
+ }
448
+
449
+ .report-coherence-check-page__aside :deep(.chatbot-report-panel) {
450
+ flex: 1;
451
+ width: 100%;
452
+ min-width: 0;
453
+ min-height: 0;
454
+ height: auto;
455
+ }
456
+
457
+ /* 詳情 popover 打開時抬高層級,避免被後續章節/滾動區遮擋 */
458
+ .report-coherence-check-page__aside :deep(.chatbot-report-chapter-row-wrap.is-popover-open) {
459
+ z-index: 50;
460
+ }
461
+
462
+ .report-coherence-check-page__aside :deep(.chatbot-report-panel.is-compact) {
463
+ flex: 0 0 auto;
464
+ height: auto;
465
+ align-self: flex-start;
466
+ }
467
+
468
+ .report-coherence-check-page__aside :deep(.chatbot-report-chapter-select) {
469
+ overflow: visible !important;
470
+ }
471
+
472
+ .report-coherence-check-page__aside
473
+ :deep(
474
+ .chatbot-report-panel--settings.is-readonly > .report-collapsible-section:not(.is-collapsed)
475
+ ),
476
+ .report-coherence-check-page__aside
477
+ :deep(
478
+ .chatbot-report-panel--settings.is-readonly
479
+ > .report-collapsible-section:not(.is-collapsed)
480
+ .report-collapsible-section__body
481
+ ) {
482
+ overflow: visible !important;
483
+ flex: 0 0 auto;
484
+ min-height: 0;
485
+ }
486
+
487
+ .report-coherence-check-page__aside :deep(.el-button),
488
+ .report-coherence-check-page__aside :deep(.el-select),
489
+ .report-coherence-check-page__aside :deep(.el-input) {
490
+ font-family: inherit;
491
+ }
492
+
493
+ /* ≤1024:上(連貫性檢查)→ 下(生成報告設置),隱藏收起箭頭 */
494
+ @media (max-width: 1024px) {
495
+ .report-coherence-check-page,
496
+ .report-coherence-check-page.is-aside-collapsed,
497
+ .report-coherence-check-page.is-stacked {
498
+ display: flex !important;
499
+ flex-direction: column !important;
500
+ align-items: stretch !important;
501
+ gap: 12px !important;
502
+ height: 100dvh !important;
503
+ max-height: 100dvh !important;
504
+ overflow-x: hidden !important;
505
+ overflow-y: auto !important;
506
+ -webkit-overflow-scrolling: touch;
507
+ }
508
+
509
+ .report-coherence-check-page__main {
510
+ order: 1;
511
+ flex: 0 0 auto;
512
+ width: 100% !important;
513
+ height: auto !important;
514
+ min-height: min(55dvh, 480px);
515
+ max-height: none;
516
+ overflow: hidden;
517
+ }
518
+
519
+ .report-coherence-check-page__aside,
520
+ .report-coherence-check-page__aside.is-collapsed {
521
+ order: 2;
522
+ position: relative !important;
523
+ flex: 0 0 auto;
524
+ width: 100% !important;
525
+ height: auto !important;
526
+ min-height: 280px;
527
+ max-height: none;
528
+ overflow: visible !important;
529
+ pointer-events: auto !important;
530
+ }
531
+
532
+ .report-coherence-check-page__col-divider {
533
+ display: none !important;
534
+ }
535
+
536
+ .report-coherence-check-page__aside-scroll {
537
+ height: auto !important;
538
+ max-height: none !important;
539
+ }
540
+
541
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar),
542
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__wrap) {
543
+ height: auto !important;
544
+ max-height: none !important;
545
+ }
546
+
547
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__wrap) {
548
+ overflow: visible !important;
549
+ }
550
+
551
+ .report-coherence-check-page__aside-scroll :deep(.el-scrollbar__bar.is-vertical) {
552
+ display: none !important;
553
+ }
554
+
555
+ .report-coherence-check-page__main-scroll {
556
+ min-height: 240px;
557
+ }
558
+ }
559
+ </style>