增加html报告展示

main
rogersun 4 weeks ago
parent 52450e1546
commit 713fb4ed53
  1. 27
      package-lock.json
  2. 1
      package.json
  3. 18
      src/views/ai_show/index.vue
  4. 21
      yarn.lock

27
package-lock.json generated

@ -22,6 +22,7 @@
"sortablejs": "^1.15.2", "sortablejs": "^1.15.2",
"vite-plugin-commonjs": "^0.10.1", "vite-plugin-commonjs": "^0.10.1",
"vue": "^3.3.8", "vue": "^3.3.8",
"vue-dompurify-html": "^5.3.0",
"vue-router": "^4.0.13", "vue-router": "^4.0.13",
"vue3-ace-editor": "^2.2.4", "vue3-ace-editor": "^2.2.4",
"vuex": "^4.0.2", "vuex": "^4.0.2",
@ -1328,6 +1329,12 @@
"undici-types": "~6.21.0" "undici-types": "~6.21.0"
} }
}, },
"node_modules/@types/trusted-types": {
"version": "2.0.7",
"resolved": "https://mirrors.cloud.tencent.com/npm/@types/trusted-types/-/trusted-types-2.0.7.tgz",
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
"optional": true
},
"node_modules/@types/web-bluetooth": { "node_modules/@types/web-bluetooth": {
"version": "0.0.20", "version": "0.0.20",
"resolved": "https://mirrors.cloud.tencent.com/npm/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
@ -1719,6 +1726,14 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/dompurify": {
"version": "3.4.12",
"resolved": "https://mirrors.cloud.tencent.com/npm/dompurify/-/dompurify-3.4.12.tgz",
"integrity": "sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
}
},
"node_modules/dunder-proto": { "node_modules/dunder-proto": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://mirrors.cloud.tencent.com/npm/dunder-proto/-/dunder-proto-1.0.1.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/dunder-proto/-/dunder-proto-1.0.1.tgz",
@ -3631,6 +3646,18 @@
"integrity": "sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ==", "integrity": "sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/vue-dompurify-html": {
"version": "5.3.0",
"resolved": "https://mirrors.cloud.tencent.com/npm/vue-dompurify-html/-/vue-dompurify-html-5.3.0.tgz",
"integrity": "sha512-HJQGBHbfSPcb6Mu97McdKbX7TqRHZa6Ji8OCpCNyuHca5QvQZ8IiuwghFPSO8OkSQfqXPNPKFMZdCOrnGGmOSQ==",
"license": "MIT",
"dependencies": {
"dompurify": "^3.2.5"
},
"peerDependencies": {
"vue": "^3.4.36"
}
},
"node_modules/vue-router": { "node_modules/vue-router": {
"version": "4.6.4", "version": "4.6.4",
"resolved": "https://mirrors.cloud.tencent.com/npm/vue-router/-/vue-router-4.6.4.tgz", "resolved": "https://mirrors.cloud.tencent.com/npm/vue-router/-/vue-router-4.6.4.tgz",

@ -23,6 +23,7 @@
"sortablejs": "^1.15.2", "sortablejs": "^1.15.2",
"vite-plugin-commonjs": "^0.10.1", "vite-plugin-commonjs": "^0.10.1",
"vue": "^3.3.8", "vue": "^3.3.8",
"vue-dompurify-html": "^5.3.0",
"vue-router": "^4.0.13", "vue-router": "^4.0.13",
"vue3-ace-editor": "^2.2.4", "vue3-ace-editor": "^2.2.4",
"vuex": "^4.0.2", "vuex": "^4.0.2",

@ -30,6 +30,7 @@ const loading = ref(false)
const think = ref('') const think = ref('')
const aiModel = ref('') const aiModel = ref('')
const promptVersion = ref('') const promptVersion = ref('')
const htmlView = ref('')
// //
const calendarStart = ref('') const calendarStart = ref('')
@ -106,6 +107,7 @@ async function get_data(type) {
force.value = compareSwitch.value === 'new' force.value = compareSwitch.value === 'new'
test_date_option.value = [] test_date_option.value = []
promptVersion.value = '' promptVersion.value = ''
htmlView.value = ''
console.log('get_test_date-type', type) console.log('get_test_date-type', type)
if (set_default.includes(type)) { if (set_default.includes(type)) {
test_date.value = '' test_date.value = ''
@ -128,6 +130,10 @@ async function get_data(type) {
think.value = res.data.think think.value = res.data.think
aiModel.value = res.data.ai_model aiModel.value = res.data.ai_model
promptVersion.value = res.data.prompt_version promptVersion.value = res.data.prompt_version
if (res.data.report) {
htmlView.value = res.data.report
console.log('htmlView', htmlView.value)
}
if (compareSwitch.value === 'template') { if (compareSwitch.value === 'template') {
showData.value = res.data.template_obj showData.value = res.data.template_obj
compareCount.value = res.data.template_count compareCount.value = res.data.template_count
@ -534,10 +540,10 @@ onBeforeMount(
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3" align="right"> <el-col :span="3" align="right">
<el-text style="font-weight: bold">AI返回结果</el-text> <el-text style="font-weight: bold">报告</el-text>
</el-col> </el-col>
<el-col :span="21" align="left"> <el-col :span="21" align="left">
<el-text>{{ showResult }}</el-text> <iframe :srcdoc="htmlView" style="width: 100%; height: 600px; border: 1px solid #ccc; border-radius: 20px"></iframe>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -556,6 +562,14 @@ onBeforeMount(
<el-text>{{ prompt }}</el-text> <el-text>{{ prompt }}</el-text>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="3" align="right">
<el-text style="font-weight: bold">AI返回结果</el-text>
</el-col>
<el-col :span="21" align="left">
<el-text>{{ showResult }}</el-text>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="3" align="right"> <el-col :span="3" align="right">
<el-text style="font-weight: bold">AI思考过程</el-text> <el-text style="font-weight: bold">AI思考过程</el-text>

@ -177,6 +177,11 @@
dependencies: dependencies:
undici-types "~6.21.0" undici-types "~6.21.0"
"@types/trusted-types@^2.0.7":
version "2.0.7"
resolved "https://mirrors.cloud.tencent.com/npm/@types/trusted-types/-/trusted-types-2.0.7.tgz"
integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
"@types/web-bluetooth@^0.0.20": "@types/web-bluetooth@^0.0.20":
version "0.0.20" version "0.0.20"
resolved "https://mirrors.cloud.tencent.com/npm/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz" resolved "https://mirrors.cloud.tencent.com/npm/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz"
@ -447,6 +452,13 @@ detect-libc@^2.0.3:
resolved "https://mirrors.cloud.tencent.com/npm/detect-libc/-/detect-libc-2.1.2.tgz" resolved "https://mirrors.cloud.tencent.com/npm/detect-libc/-/detect-libc-2.1.2.tgz"
integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==
dompurify@^3.2.5:
version "3.4.12"
resolved "https://mirrors.cloud.tencent.com/npm/dompurify/-/dompurify-3.4.12.tgz"
integrity sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==
optionalDependencies:
"@types/trusted-types" "^2.0.7"
dunder-proto@^1.0.1: dunder-proto@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/dunder-proto/-/dunder-proto-1.0.1.tgz" resolved "https://mirrors.cloud.tencent.com/npm/dunder-proto/-/dunder-proto-1.0.1.tgz"
@ -1330,6 +1342,13 @@ vue-component-type-helpers@^3.2.4:
resolved "https://mirrors.cloud.tencent.com/npm/vue-component-type-helpers/-/vue-component-type-helpers-3.2.6.tgz" resolved "https://mirrors.cloud.tencent.com/npm/vue-component-type-helpers/-/vue-component-type-helpers-3.2.6.tgz"
integrity sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ== integrity sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ==
vue-dompurify-html@^5.3.0:
version "5.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/vue-dompurify-html/-/vue-dompurify-html-5.3.0.tgz"
integrity sha512-HJQGBHbfSPcb6Mu97McdKbX7TqRHZa6Ji8OCpCNyuHca5QvQZ8IiuwghFPSO8OkSQfqXPNPKFMZdCOrnGGmOSQ==
dependencies:
dompurify "^3.2.5"
vue-router@^4.0.13: vue-router@^4.0.13:
version "4.6.4" version "4.6.4"
resolved "https://mirrors.cloud.tencent.com/npm/vue-router/-/vue-router-4.6.4.tgz" resolved "https://mirrors.cloud.tencent.com/npm/vue-router/-/vue-router-4.6.4.tgz"
@ -1337,7 +1356,7 @@ vue-router@^4.0.13:
dependencies: dependencies:
"@vue/devtools-api" "^6.6.4" "@vue/devtools-api" "^6.6.4"
vue@^3, vue@^3.2.0, vue@^3.2.25, vue@^3.3.0, vue@^3.3.8, vue@^3.5.0, vue@^3.5.13, "vue@2 || 3", vue@3.5.31: vue@^3, vue@^3.2.0, vue@^3.2.25, vue@^3.3.0, vue@^3.3.8, vue@^3.4.36, vue@^3.5.0, vue@^3.5.13, "vue@2 || 3", vue@3.5.31:
version "3.5.31" version "3.5.31"
resolved "https://mirrors.cloud.tencent.com/npm/vue/-/vue-3.5.31.tgz" resolved "https://mirrors.cloud.tencent.com/npm/vue/-/vue-3.5.31.tgz"
integrity sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q== integrity sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q==

Loading…
Cancel
Save