feat: 仅格式化

This commit is contained in:
2025-12-11 16:19:54 +08:00
parent 52b9e43fe8
commit 0526cd615f

View File

@ -13,10 +13,9 @@
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox"> <div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight" <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
>
<template #yjlx="{ row }"> <template #yjlx="{ row }">
<DictTag :tag="false" :value="row.yjlx" :options="dict.D_BZ_TPYJLX" /> <DictTag :tag="false" :value="row.yjlx" :options="dict.D_BZ_TPYJLX" />
</template> </template>
<template #controls="{ row }"> <template #controls="{ row }">
<el-link type="primary" size="small" @click="opneModel(row)">打开研判报告</el-link> <el-link type="primary" size="small" @click="opneModel(row)">打开研判报告</el-link>
@ -31,21 +30,21 @@
</div> </div>
</div> </div>
<YpModel v-model="showModel" @SaveReport="SaveReport" :heightNumber="436" v-model:textContent="textContent"></YpModel> <YpModel v-model="showModel" @SaveReport="SaveReport" :heightNumber="436" v-model:textContent="textContent"></YpModel>
<Yjdict ref="yjdict" :dict="dict"/> <Yjdict ref="yjdict" :dict="dict" />
</template> </template>
<script setup> <script setup>
import YpModel from '@/components/ypModel/index.vue' import YpModel from '@/components/ypModel/index.vue'
import emitter from "@/utils/eventBus.js"; import emitter from "@/utils/eventBus.js";
import { getYjxxPageList,getSsyjpzMxgzxl,mxglJqxqGetPageList } from "@/api/model"; import { getYjxxPageList, getSsyjpzMxgzxl, mxglJqxqGetPageList } from "@/api/model";
import PageTitle from "@/components/aboutTable/PageTitle.vue"; import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue"; import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue"; import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue"; import Search from "@/components/aboutTable/Search.vue";
import { timeValidate } from '@/utils/tools' import { timeValidate } from '@/utils/tools'
import { completions } from '@/api/semanticAnalysis' import { completions } from '@/api/semanticAnalysis'
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue"; import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue";
import { textStyle, Firstlevelheading, Subheading, BiheadlinegTitle, newTotitle,BigTitle,fbtool, headTitle, report, signature } from '../content.js' import { textStyle, Firstlevelheading, Subheading, BiheadlinegTitle, newTotitle, BigTitle, fbtool, headTitle, report, signature } from '../content.js'
import Yjdict from './yjdict.vue' import Yjdict from './yjdict.vue'
const props = defineProps({ const props = defineProps({
item: { item: {
@ -59,9 +58,9 @@ const props = defineProps({
const queryFrom = ref({}) const queryFrom = ref({})
const searchBox = ref(); //搜索框 const searchBox = ref(); //搜索框
const yjdict = ref(null)//详情弹窗 const yjdict = ref(null)//详情弹窗
const ItemData=ref()//模型数据 const ItemData = ref()//模型数据
const showModel = ref(false) const showModel = ref(false)
const textContent=ref('')//报告数据 const textContent = ref('')//报告数据
const SaveReport = () => { const SaveReport = () => {
} }
const opneModel = (row) => { const opneModel = (row) => {
@ -71,33 +70,33 @@ const opneModel = (row) => {
yjid: row.id, yjid: row.id,
}).then((res) => { }).then((res) => {
let str = { let str = {
model: "deepseek-32b", model: "deepseek-32b",
prompt: `# 角色定位\n你是一名资深警务人员尤其擅长对警情、案件、线索等非结构化文本数据进行阅读理解并从中提取各种对象特征信息进行结构化并总结各种对象之间的关联关系。\n`, prompt: `# 角色定位\n你是一名资深警务人员尤其擅长对警情、案件、线索等非结构化文本数据进行阅读理解并从中提取各种对象特征信息进行结构化并总结各种对象之间的关联关系。\n`,
max_tokens: 1000, max_tokens: 1000,
} }
res.forEach(item => { res.forEach(item => {
const lx = props.dict.D_BZ_JQLY.find(items => { const lx = props.dict.D_BZ_JQLY.find(items => {
return items.value == item.yjlx return items.value == item.yjlx
}).zdmc }).zdmc
str.prompt+=`警情内容:${item.bjnr},报警人姓名:${item.bjrmc},报警地址:${item.bjdz},报警类型:${lx},报警时间:${item.bjsj}\n` str.prompt += `警情内容:${item.bjnr},报警人姓名:${item.bjrmc},报警地址:${item.bjdz},报警类型:${lx},报警时间:${item.bjsj}\n`
}) })
str.prompt += `根据以上警情信息,总结出一个解决方案` str.prompt += `根据以上警情信息,总结出一个解决方案`
let jsonMatch let jsonMatch
completions(str).then(reslve => { completions(str).then(reslve => {
jsonMatch = reslve.choices[0].text jsonMatch = reslve.choices[0].text
textContent.value += BigTitle("林芝市公安局情指中心") + BigTitle("研判专刊(初稿)") + newTotitle({ textContent.value += BigTitle("林芝市公安局情指中心") + BigTitle("研判专刊(初稿)") + newTotitle({
org: "市公安局情指中心编", org: "市公安局情指中心编",
time: timeValidate() time: timeValidate()
}) + fbtool(`同类事件发生${res.length}次以上预警`) }) + fbtool(`同类事件发生${res.length}次以上预警`)
res.forEach((item,index) => { res.forEach((item, index) => {
const lx = props.dict.D_BZ_JQLY.find((items) => { const lx = props.dict.D_BZ_JQLY.find((items) => {
return items.value == item.yjlx return items.value == item.yjlx
}).zdmc }).zdmc
textContent.value += Subheading(`${index + 1}.警情内容`) + textContent.value += Subheading(`${index + 1}.警情内容`) +
// textStyle(`预警名称:${item.yjBt},预警人员姓名:${item.yjRyxm},身份证号:${item.yjRysfzh},车牌号:${item.yjClcph},预警地址:${item.yjDz},预警类型:${lx},预警内容:${item.yjnr},预警时间:${item.yjsj}\n`) // textStyle(`预警名称:${item.yjBt},预警人员姓名:${item.yjRyxm},身份证号:${item.yjRysfzh},车牌号:${item.yjClcph},预警地址:${item.yjDz},预警类型:${lx},预警内容:${item.yjnr},预警时间:${item.yjsj}\n`)
textStyle(`警情内容:${item.bjnr},报警人姓名:${item.bjrmc},报警地址:${item.bjdz},报警类型:${lx},报警时间:${item.bjsj}\n`) textStyle(`警情内容:${item.bjnr},报警人姓名:${item.bjrmc},报警地址:${item.bjdz},报警类型:${lx},报警时间:${item.bjsj}\n`)
}) })
textContent.value+=Subheading(`解决方案`)+textStyle(jsonMatch?jsonMatch:'暂无解决方案') textContent.value += Subheading(`解决方案`) + textStyle(jsonMatch ? jsonMatch : '暂无解决方案')
}) })
}) })
@ -127,8 +126,8 @@ const pageData = reactive({
controlsWidth: 300, controlsWidth: 300,
tableColumn: [ tableColumn: [
{ label: "预警时间", prop: "yjsj", showOverflowTooltip: true }, { label: "预警时间", prop: "yjsj", showOverflowTooltip: true },
{ label: "类型", prop: "yjlx" ,showSolt:true }, { label: "类型", prop: "yjlx", showSolt: true },
{ label: "内容", prop: "yjnr", showOverflowTooltip: true}, { label: "内容", prop: "yjnr", showOverflowTooltip: true },
// ypbg // ypbg
] ]
}); });
@ -141,15 +140,15 @@ const openYjdict = (val) => {
yjdict.value.init(val) yjdict.value.init(val)
} }
watch(() => props.item, (val) => { watch(() => props.item, (val) => {
ItemData.value=val ItemData.value = val
},{deep:true}) }, { deep: true })
// 获取列表 // 获取列表
const getList = () => { const getList = () => {
const promes = { const promes = {
...pageData.pageConfiger, ...pageData.pageConfiger,
...queryFrom.value, ...queryFrom.value,
mxid:props.item.id, mxid: props.item.id,
} }
getYjxxPageList(promes).then((res) => { getYjxxPageList(promes).then((res) => {
pageData.tableData = res.records pageData.tableData = res.records
@ -158,8 +157,8 @@ const getList = () => {
}; };
// 搜索 // 搜索
const onSearch = (val) => { const onSearch = (val) => {
queryFrom.value.startTime = val.startTime&&val.startTime.length > 0 ? val.startTime[0] : ''; queryFrom.value.startTime = val.startTime && val.startTime.length > 0 ? val.startTime[0] : '';
queryFrom.value.endTime = val.startTime&&val.startTime.length > 0 ? val.startTime[1] : ''; queryFrom.value.endTime = val.startTime && val.startTime.length > 0 ? val.startTime[1] : '';
pageData.pageConfiger.pageCurrent = 1; pageData.pageConfiger.pageCurrent = 1;
getList(); getList();
}; };
@ -180,7 +179,7 @@ const retenHome = () => {
// 表格高度计算 // 表格高度计算
const tabHeightFn = () => { const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250; pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
window.onresize = function () { window.onresize = function() {
tabHeightFn(); tabHeightFn();
}; };
}; };
@ -188,7 +187,7 @@ const tabHeightFn = () => {
const yzSsyjpzMxgzxl = (params) => { const yzSsyjpzMxgzxl = (params) => {
// getYjgzpzMxgzxl({id:'26aefb9f4c7c41b3a4bfb5b68449328b'}).then((res) => { // getYjgzpzMxgzxl({id:'26aefb9f4c7c41b3a4bfb5b68449328b'}).then((res) => {
// }) // })
getSsyjpzMxgzxl({id:'88c166e670da48e59324906648794b05'}).then((res) => { getSsyjpzMxgzxl({ id: '88c166e670da48e59324906648794b05' }).then((res) => {
}) })
} }
const warningDetails = (row) => { const warningDetails = (row) => {