aegon-lv82 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 (148) hide show
  1. package/package.json +12 -0
  2. package/src/App.vue +44 -0
  3. package/src/api/index.ts +19 -0
  4. package/src/api/modules/build-report/reportEditor.ts +526 -0
  5. package/src/api/modules/build-report/reportPermission.ts +64 -0
  6. package/src/api/modules/index.ts +69 -0
  7. package/src/api/modules/industry/green_mortgage.ts +42 -0
  8. package/src/api/modules/user/index.ts +4 -0
  9. package/src/api/request.ts +124 -0
  10. package/src/assets/sample-access-icon.png +0 -0
  11. package/src/assets/sample-pie-chart.png +0 -0
  12. package/src/assets/vue.svg +1 -0
  13. package/src/components/CapsuleScrollbar.vue +7 -0
  14. package/src/components/Export/ExcelExport.vue +592 -0
  15. package/src/components/Export/ExcelExport2.vue +494 -0
  16. package/src/components/Export/ExcelExport3.vue +342 -0
  17. package/src/components/Export/ExcelExport4.vue +665 -0
  18. package/src/components/Export/excelExport.js +547 -0
  19. package/src/components/Export/excelExport.ts +551 -0
  20. package/src/components/GEN-AI/index.vue +140 -0
  21. package/src/components/GEN-AI/index1.vue +422 -0
  22. package/src/components/GEN-AI/index10.vue +5 -0
  23. package/src/components/GEN-AI/index2.vue +548 -0
  24. package/src/components/GEN-AI/index3.vue +605 -0
  25. package/src/components/GEN-AI/index4.vue +609 -0
  26. package/src/components/GEN-AI/index5.vue +558 -0
  27. package/src/components/GEN-AI/index6.vue +634 -0
  28. package/src/components/GEN-AI/index7.vue +688 -0
  29. package/src/components/GEN-AI/index8.vue +458 -0
  30. package/src/components/GEN-AI/index9.vue +1217 -0
  31. package/src/components/GEN-AI/types.ts +12 -0
  32. package/src/components/GEN-AI/utils.ts +42 -0
  33. package/src/components/HelloWorld.vue +41 -0
  34. package/src/components/PageCard.vue +124 -0
  35. package/src/components/PageHeader.vue +32 -0
  36. package/src/components/backup/index5 copy.vue +556 -0
  37. package/src/components/backup/index5.vue +620 -0
  38. package/src/components/backup/index9 copy.vue +1029 -0
  39. package/src/components/backup/index9-pro.vue +1065 -0
  40. package/src/components/backup/index9.vue +1057 -0
  41. package/src/directives/btnLoading.ts +455 -0
  42. package/src/directives/debounce copy.ts +670 -0
  43. package/src/directives/debounce.ts +98 -0
  44. package/src/directives/index.ts +25 -0
  45. package/src/layouts/MainLayout.vue +129 -0
  46. package/src/main.ts +76 -0
  47. package/src/router/index.ts +142 -0
  48. package/src/router/menus.ts +28 -0
  49. package/src/store/modules/gen-ai/index.ts +1 -0
  50. package/src/store/modules/gen-ai/reportBuild.ts +37 -0
  51. package/src/style.css +79 -0
  52. package/src/styles/report-config-popover.css +39 -0
  53. package/src/styles/report-icon-btn.css +19 -0
  54. package/src/test/mock.ts +101 -0
  55. package/src/test/test1.vue +402 -0
  56. package/src/test/test2.vue +1689 -0
  57. package/src/types/gen-ai/build-report/reportEditor.ts +684 -0
  58. package/src/utils/function.ts +46 -0
  59. package/src/utils/gen-ai-navigation.ts +1 -0
  60. package/src/utils/gen-ai-scroll.ts +1 -0
  61. package/src/utils/openDataLoaderWordExport.ts +33 -0
  62. package/src/utils/pageScrollbar.ts +115 -0
  63. package/src/utils/randomTranscode.ts +87 -0
  64. package/src/utils/reportPdfExport.ts +44 -0
  65. package/src/views/Blank.vue +68 -0
  66. package/src/views/Home.vue +29 -0
  67. package/src/views/TemplateCenter/Knowledge.ts +83 -0
  68. package/src/views/TemplateCenter/data.d.ts +10 -0
  69. package/src/views/TemplateCenter/index.vue +1128 -0
  70. package/src/views/TemplateCenter/service.ts +69 -0
  71. package/src/views/gen-ai/build-report/chartStreamRefs.ts +174 -0
  72. package/src/views/gen-ai/build-report/coherence-check/index.vue +559 -0
  73. package/src/views/gen-ai/build-report/components/ReportChapterWorkspace.vue +4258 -0
  74. package/src/views/gen-ai/build-report/components/ReportConfigPanel.vue +727 -0
  75. package/src/views/gen-ai/build-report/components/ReportGenerateSettingsPanel.vue +2361 -0
  76. package/src/views/gen-ai/build-report/components/ReportGeneratingPanel.vue +1765 -0
  77. package/src/views/gen-ai/build-report/components/ReportPromptPanel.vue +614 -0
  78. package/src/views/gen-ai/build-report/components/ReportSourceFileSummary.vue +656 -0
  79. package/src/views/gen-ai/build-report/components/ReportSourcesPanel.vue +1327 -0
  80. package/src/views/gen-ai/build-report/components/ReportTemplateDetail.vue +191 -0
  81. package/src/views/gen-ai/build-report/components/ReportTemplateEditorFormPanel.vue +667 -0
  82. package/src/views/gen-ai/build-report/components/ReportTemplatePicker.vue +302 -0
  83. package/src/views/gen-ai/build-report/components/ReportWorkflowSidebar.vue +148 -0
  84. package/src/views/gen-ai/build-report/components/paramsSetting.vue +886 -0
  85. package/src/views/gen-ai/build-report/components/reportEdit.vue +2283 -0
  86. package/src/views/gen-ai/build-report/index.vue +856 -0
  87. package/src/views/gen-ai/build-report/report-domain.ts +1133 -0
  88. package/src/views/gen-ai/build-report/report-template-data.ts +295 -0
  89. package/src/views/gen-ai/build-report/useReportWorkflow.ts +1408 -0
  90. package/src/views/gen-ai/common/assets/NotoSans-SC.woff2 +0 -0
  91. package/src/views/gen-ai/common/assets/NotoSans-TC.woff2 +0 -0
  92. package/src/views/gen-ai/common/assets/NotoSans.woff2 +0 -0
  93. package/src/views/gen-ai/common/assets/fonts.css +278 -0
  94. package/src/views/gen-ai/common/assets/pagination.css +163 -0
  95. package/src/views/gen-ai/common/directives/btnLoading.ts +455 -0
  96. package/src/views/gen-ai/common/directives/debounce.ts +98 -0
  97. package/src/views/gen-ai/common/directives/index.ts +30 -0
  98. package/src/views/gen-ai/common/en.md +417 -0
  99. package/src/views/gen-ai/common/index.ts +36 -0
  100. package/src/views/gen-ai/common/types/component-expose.ts +9 -0
  101. package/src/views/gen-ai/common/utils/api-res-status.ts +7 -0
  102. package/src/views/gen-ai/common/utils/navigation.ts +59 -0
  103. package/src/views/gen-ai/common/utils/remote-request.ts +45 -0
  104. package/src/views/gen-ai/common/utils/scroll.ts +577 -0
  105. package/src/views/gen-ai/components/AIExport/docx-export.ts +950 -0
  106. package/src/views/gen-ai/components/AIExport/docxExport.ts +2566 -0
  107. package/src/views/gen-ai/components/AIExport/index.ts +52 -0
  108. package/src/views/gen-ai/components/AIExport/parseMarkdownHtml.ts +649 -0
  109. package/src/views/gen-ai/components/CapsuleScrollbar.vue +149 -0
  110. package/src/views/gen-ai/components/ChapterTitleScroll.vue +468 -0
  111. package/src/views/gen-ai/components/EntryHeroNavCards.vue +379 -0
  112. package/src/views/gen-ai/components/GenAiPagination.vue +52 -0
  113. package/src/views/gen-ai/components/ModelCard.vue +1114 -0
  114. package/src/views/gen-ai/components/Preview/FilePreviewPage.vue +947 -0
  115. package/src/views/gen-ai/components/Preview/PreviewCapsuleScroll.vue +205 -0
  116. package/src/views/gen-ai/components/Preview/PreviewOutlineTree.vue +148 -0
  117. package/src/views/gen-ai/components/Preview/index.ts +11 -0
  118. package/src/views/gen-ai/components/Preview/preview.ts +722 -0
  119. package/src/views/gen-ai/components/PromptField.vue +505 -0
  120. package/src/views/gen-ai/components/RecentReportsTable.vue +974 -0
  121. package/src/views/gen-ai/components/ReportCollapsibleSection.vue +172 -0
  122. package/src/views/gen-ai/components/ReportHistoryList.vue +637 -0
  123. package/src/views/gen-ai/components/ReportSectionConfirmPopover.vue +251 -0
  124. package/src/views/gen-ai/components/editor/ChapterTiptapEditor.vue +3139 -0
  125. package/src/views/gen-ai/components/editor/StructureBlockView.vue +441 -0
  126. package/src/views/gen-ai/components/editor/TiptapToolbar.vue +1036 -0
  127. package/src/views/gen-ai/components/editor/TypewriterDocEditor.vue +398 -0
  128. package/src/views/gen-ai/components/editor/_StructureOrgNode.vue +326 -0
  129. package/src/views/gen-ai/components/editor/index.ts +12 -0
  130. package/src/views/gen-ai/components/editor/parseMarkdownHtml.ts +667 -0
  131. package/src/views/gen-ai/gen-entry/api/index.ts +32 -0
  132. package/src/views/gen-ai/gen-entry/index.vue +287 -0
  133. package/src/views/gen-ai/gen-entry/types/index.ts +4 -0
  134. package/src/views/gen-ai/i.mark +2 -0
  135. package/src/views/gen-ai/management-center/index.vue +1815 -0
  136. package/src/views/gen-ai/management-center/mockData.ts +248 -0
  137. package/src/views/gen-ai/management-center/types/index.ts +37 -0
  138. package/src/views/gen-ai/model-manager/TemplateEditorFormPanel.vue +661 -0
  139. package/src/views/gen-ai/model-manager/api/index.ts +32 -0
  140. package/src/views/gen-ai/model-manager/api/mockApi.ts +33 -0
  141. package/src/views/gen-ai/model-manager/index.vue +1583 -0
  142. package/src/views/gen-ai/model-manager/mockData.ts +177 -0
  143. package/src/views/gen-ai/model-manager/template-detail-shared.ts +154 -0
  144. package/src/views/gen-ai/model-manager/template-editor.vue +345 -0
  145. package/src/views/gen-ai/model-manager/types/index.ts +40 -0
  146. package/src/views/gen-ai/model-manager/utils.ts +25 -0
  147. package/src/views/greenMortgage.vue +1834 -0
  148. package/src/vite-env.d.ts +46 -0
@@ -0,0 +1,12 @@
1
+ export interface ReportChapter {
2
+ id: string
3
+ title: string
4
+ version: string
5
+ selected: boolean
6
+ }
7
+
8
+ export interface ReportState {
9
+ title: string
10
+ content: string
11
+ isTyping: boolean
12
+ }
@@ -0,0 +1,42 @@
1
+ // src/components/GEN-AI/utils.ts
2
+ import html2pdf from 'html2pdf.js'
3
+ import { asBlob } from 'html-docx-js-typescript'
4
+ import { saveAs } from 'file-saver'
5
+
6
+ export const exportToPDF = (elementId: string, filename: string) => {
7
+ const element = document.getElementById(elementId)
8
+
9
+ if (!element) return
10
+
11
+ const opt = {
12
+ margin: 10,
13
+ filename: `${filename}.pdf`,
14
+ image: { type: 'jpeg' as const, quality: 0.98 },
15
+ html2canvas: { scale: 2, useCORS: true },
16
+ jsPDF: { unit: 'mm' as const, format: 'a4' as const, orientation: 'portrait' as const },
17
+ }
18
+
19
+ html2pdf().set(opt).from(element).save()
20
+ }
21
+
22
+ export const exportToWord = async (elementId: string, filename: string) => {
23
+ const element = document.getElementById(elementId)
24
+
25
+ if (!element) return
26
+
27
+ // 包装标准的 HTML 文档结构,否则 Word 打开可能乱码
28
+ const htmlString = `
29
+ <!DOCTYPE html>
30
+ <html lang="zh">
31
+ <head><meta charset="utf-8"></head>
32
+ <body>${element.innerHTML}</body>
33
+ </html>
34
+ `
35
+
36
+ try {
37
+ const blob = await asBlob(htmlString)
38
+ saveAs(blob as Blob, `${filename}.docx`)
39
+ } catch (error) {
40
+ console.error('Word 匯出失敗:', error)
41
+ }
42
+ }
@@ -0,0 +1,41 @@
1
+ <script setup lang="ts">
2
+ import { ref } from "vue";
3
+
4
+ defineProps<{ msg: string }>();
5
+
6
+ const count = ref(0);
7
+ </script>
8
+
9
+ <template>
10
+ <h1>{{ msg }}</h1>
11
+
12
+ <div class="card">
13
+ <button type="button" @click="count++">count is {{ count }}</button>
14
+ <p>
15
+ // Edit
16
+ <code>components/HelloWorld.vue</code> to test HMR
17
+ </p>
18
+ </div>
19
+
20
+ <p>
21
+ Check out
22
+ <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
23
+ >create-vue</a
24
+ >, the official Vue + Vite starter
25
+ </p>
26
+ <p>
27
+ Learn more about IDE Support for Vue in the
28
+ <a
29
+ href="https://vuejs.org/guide/scaling-up/tooling.html#ide-support"
30
+ target="_blank"
31
+ >Vue Docs Scaling up Guide</a
32
+ >.
33
+ </p>
34
+ <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
35
+ </template>
36
+
37
+ <style scoped>
38
+ .read-the-docs {
39
+ color: #888;
40
+ }
41
+ </style>
@@ -0,0 +1,124 @@
1
+ <template>
2
+ <el-card class="page-card" shadow="hover">
3
+ <div class="page-card__inner">
4
+ <slot />
5
+ </div>
6
+ </el-card>
7
+ </template>
8
+
9
+ <style scoped>
10
+ .page-card {
11
+ --page-inner-spacing: 20px;
12
+ --page-card-radius: 4px;
13
+ --page-card-border: #e8eaec;
14
+ flex: 1;
15
+ min-height: 0;
16
+ border-radius: var(--page-card-radius);
17
+ border: 1px solid var(--page-card-border);
18
+ display: flex;
19
+ flex-direction: column;
20
+ background-color: #fff;
21
+ }
22
+
23
+ .page-card :deep(.el-card__body) {
24
+ flex: 1;
25
+ display: flex;
26
+ flex-direction: column;
27
+ min-height: 0;
28
+ padding: var(--page-inner-spacing);
29
+ box-sizing: border-box;
30
+ }
31
+
32
+ .page-card__inner {
33
+ flex: 1;
34
+ display: flex;
35
+ flex-direction: column;
36
+ min-height: 0;
37
+ box-sizing: border-box;
38
+ }
39
+
40
+ .page-card__inner > :deep(.min-h-screen),
41
+ .page-card__inner > :deep(.h-screen) {
42
+ min-height: auto;
43
+ height: auto;
44
+ background: transparent;
45
+ }
46
+
47
+ /* 報告生成 >14 章:勿在卡片層建立滾動/裁切,否則右側視頻 sticky 會跟著滾走 */
48
+ .page-card:has(:deep(.report-generating-page.is-outer-scroll)),
49
+ .page-card:has(:deep(.report-generating-page.is-outer-scroll)) :deep(.el-card__body),
50
+ .page-card:has(:deep(.report-generating-page.is-outer-scroll)) .page-card__inner {
51
+ overflow: visible;
52
+ height: auto;
53
+ max-height: none;
54
+ min-height: min-content;
55
+ }
56
+
57
+ /* 報告生成 ≤14 章:卡片內貼合,無最外層滾動條 */
58
+ .page-card:has(:deep(.report-generating-page:not(.is-outer-scroll))),
59
+ .page-card:has(:deep(.report-generating-page:not(.is-outer-scroll))) :deep(.el-card__body),
60
+ .page-card:has(:deep(.report-generating-page:not(.is-outer-scroll))) .page-card__inner {
61
+ overflow: hidden;
62
+ height: 100%;
63
+ max-height: 100%;
64
+ min-height: 0;
65
+ }
66
+
67
+ /* 報告編輯三欄:貼合 PageCard,無最外層滾動條 */
68
+ .page-card:has(:deep(.report-edit-page)),
69
+ .page-card:has(:deep(.report-edit-page)) :deep(.el-card__body),
70
+ .page-card:has(:deep(.report-edit-page)) .page-card__inner {
71
+ overflow: hidden;
72
+ height: 100%;
73
+ max-height: 100%;
74
+ min-height: 0;
75
+ }
76
+
77
+ .page-card:has(:deep(.report-edit-page.is-prompt)),
78
+ .page-card:has(:deep(.report-edit-page.is-prompt)) :deep(.el-card__body),
79
+ .page-card:has(:deep(.report-edit-page.is-prompt)) .page-card__inner {
80
+ height: auto;
81
+ max-height: calc(100dvh - 62px);
82
+ padding: 0;
83
+ background: #fff;
84
+ overflow: visible;
85
+ }
86
+
87
+ /* Green Mortgage:外殼透明;iOS card 效果只留在 el-card__body */
88
+ .page-card:has(:deep(.green-mortgage-page)) {
89
+ border: none !important;
90
+ box-shadow: none !important;
91
+ background: transparent !important;
92
+ border-radius: 0;
93
+ }
94
+
95
+ .page-card:has(:deep(.green-mortgage-page)) :deep(.el-card__body) {
96
+ --gm-card-padding: 20px;
97
+ box-sizing: border-box;
98
+ height: 100%;
99
+ max-height: 100%;
100
+ min-height: 0;
101
+ padding: var(--gm-card-padding);
102
+ overflow: hidden;
103
+ /* Apple iOS card(原 green-mortgage-page / .green-mortgage 效果) */
104
+ border-radius: 16px;
105
+ border: 0.5px solid rgba(0, 0, 0, 0.06);
106
+ background: rgba(255, 255, 255, 0.96);
107
+ -webkit-backdrop-filter: saturate(180%) blur(20px);
108
+ backdrop-filter: saturate(180%) blur(20px);
109
+ box-shadow:
110
+ 0 1px 2px rgba(0, 0, 0, 0.04),
111
+ 0 4px 12px rgba(0, 0, 0, 0.05),
112
+ 0 12px 28px rgba(0, 0, 0, 0.06);
113
+ }
114
+
115
+ .page-card:has(:deep(.green-mortgage-page)) .page-card__inner {
116
+ padding: 0;
117
+ /* 勿裁切伸入 el-card__body padding 的豎條 */
118
+ overflow: visible;
119
+ height: 100%;
120
+ max-height: 100%;
121
+ min-height: 0;
122
+ background: transparent;
123
+ }
124
+ </style>
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <header class="page-header">
3
+ <h1 class="page-header__title">{{ title }}</h1>
4
+ </header>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ defineProps({
9
+ title: { type: String, required: true },
10
+ })
11
+ </script>
12
+
13
+ <style scoped>
14
+ .page-header {
15
+ flex-shrink: 0;
16
+ height: var(--gen-ai-page-header-h, 62px);
17
+ display: flex;
18
+ align-items: center;
19
+ padding: 0 24px;
20
+ background: #fff;
21
+ border-bottom: 1px solid #e8eaec;
22
+ box-shadow: none;
23
+ }
24
+
25
+ .page-header__title {
26
+ margin: 0;
27
+ font-size: var(--gen-ai-fs-md);
28
+ font-weight: var(--gen-ai-fw-semibold);
29
+ color: #2d3139;
30
+ line-height: 1;
31
+ }
32
+ </style>