This commit is contained in:
2025-07-19 14:06:46 +08:00
parent e447346af5
commit ce8eee2380
4 changed files with 91 additions and 51 deletions

View File

@ -77,10 +77,6 @@ const formData = ref([
{ prop: "gapline", type: "slot",width:'100%' },
{ prop: "scfj", type: "slot",width:'100%'},
{ label: "线索内容", prop: "xsNr", type: "textarea",width:'100%'},
{ label: "群体类型", prop: "qtlx", type: "select",options:props.dic.D_GS_XS_QTLX },
{ label: "群体名称", prop: "qtmc", type: "input"},
{ label: "涉及人数", prop: "sjrs", type: "inputNumber"},
{ label: "线索报送单位", prop: "ssbmdm", type: "department"},
]);
const fjdz = ref()
const listQuery = ref({}); //表单

View File

@ -45,10 +45,11 @@
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn1"
:tableData="pageData.tableDataR"
:tableColumn="pageData.tableColumnR"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
element-loading-text="模型加载中......"
:tableConfiger="pageData.tableConfigerR"
:controlsWidth="pageData.controlsWidthR"
>
@ -116,8 +117,10 @@ const queryFrom = ref({});
const container = ref('')
const btnLoading = ref(false)
const prsentText = ref(null)
const qbid = ref('') //情报id
const pageData = reactive({
tableData: [], //表格数据
tableDataR: [], //表格数据
keyCount: 0,
tableConfiger: {
rowHieght: 61,
@ -143,7 +146,7 @@ const pageData = reactive({
{ label: "要素名称", prop: "ysmc",showOverflowTooltip:true },
{ label: "要素描述", prop: "ysms",showOverflowTooltip:true },
],
tableColumn1: [
tableColumnR: [
{ label: "线索名称", prop: "yymc",showOverflowTooltip:true },
{ label: "线索类型", prop: "yslx",showOverflowTooltip:true },
{ label: "指向地点", prop: "ysms",showOverflowTooltip:true },
@ -155,8 +158,6 @@ onMounted(() => {
getList();
});
// 搜索
const onSearch = (val) => {
queryFrom.value = { ...val };
@ -218,22 +219,16 @@ const changeSize = (val) => {
};
// 新增
const addEdit = (type, row) => {
};
// 提取数据
const getText = (val) =>{
prsentText.value = null; //先清空
container.value = val.text;
let obj = {
let obj = {
"model": "deepseek-reasoner",
"messages": [
{
"role": "system",
"content": "# 角色定位\n你是一名资深警务人员尤其擅长对警情、案件、线索等非结构化文本数据进行阅读理解并从中提取各种对象特征信息进行结构化并总结各种对象之间的关联关系。\n##  - person:人物    - id:唯一值   - name:姓名   - enName:英文姓名   - nickName:绰号   - aliasName:别名   - screenName:网名   - idcard:身份证号码   - phoneNo:手机号码   - bankCard:银行卡号   - passporNumber:护照号码   - permanentResidenceAddress:户籍地址   - residenceAddress:现住地址 - jbxx:基本信息     - id:唯一值     - xsmc:线索名称     - xslx:线索类型     - qbly:情报来源     - kssj:开始时间     - jssj:结束时间     - qtlx:群体类型     - qtmc:群体名称     - sjrs:设计人数     - sbdw:送报单位## 注意点\n- 地址信息能够根据上下文信息按照省、市、县、街道/乡镇、路名分段补全并标准化。例如:四川省 成都市 高新区 桂溪街道 交子大道11号\n- 对象之间的关联关系由对象类型、对象id、关系类型、目标对象类型、目标对象id 5个属性组成。\n"
"content": "# 角色定位\n你是一名资深警务人员尤其擅长对警情、案件、线索等非结构化文本数据进行阅读理解并从中提取各种对象特征信息进行结构化并总结各种对象之间的关联关系。\n##  - ryList:人物    - id:唯一值   - xm:姓名   - enName:英文姓名   - nickName:绰号   - aliasName:别名   - screenName:网名   - sfzh:身份证号码   - lxdh:手机号码   - bankCard:银行卡号   - passporNumber:护照号码   - hjdz:户籍地址   - xjzdz:现住地址 - jbxx:基本信息     - id:唯一值     - xsMc:线索名称     - xlLx:线索类型     - qbLy:情报来源     - zxkssj:开始时间     - zxjssj:结束时间     - qtlx:群体类型     - qtmc:群体名称     - sjrs:设计人数     - sbdw:送报单位## 注意点\n- 地址信息能够根据上下文信息按照省、市、县、街道/乡镇、路名分段补全并标准化。例如:四川省 成都市 高新区 桂溪街道 交子大道11号\n- 对象之间的关联关系由对象类型、对象id、关系类型、目标对象类型、目标对象id 5个属性组成。\n"
},
{
"role": "user",
@ -243,24 +238,44 @@ const getText = (val) =>{
"max_tokens": 4096,
"stream": false
}
// 拼接字典
// 线索类型:
let xslx = '线索类型是一个字典,字典内容包括:' + (D_GS_XS_LX.value.map(item=>item.dm+':'+item.zdmc).join(','))+'\n'
let qbLy = '情报来源是一个字典,字典内容包括:' + (D_GS_XS_LY.value.map(item=>item.dm+':'+item.zdmc).join(','))+'\n'
let sszt = '所属专题是一个字典,字典内容包括:' + (D_BZ_SSZT.value.map(item=>item.dm+':'+item.zdmc).join(','))+'\n'
obj.messages[0].content = obj.messages[0].content + xslx + qbLy + sszt;
// *********************
obj.messages[1].content = obj.messages[1].content + val.text;
prsentText.value = obj;
qcckPost({fjdz:val.fjdz,tjnr:val.text},'/mosty-gsxt/qbcjjl/add').then((res)=>{
qbid.value = res || ''
})
}
const handleFx = () => {
if(!prsentText.value) return proxy.$message({ type: "warning", message: "请先上传要解析的文件" });;
btnLoading.value = true;
pageData.tableConfigerR.loading = true;
ParsingText( prsentText.value,(res)=>{
pageData.tableConfigerR.loading = false;
btnLoading.value = false;
let content = res.data.choices[0].message.content;
let message = null;
try{
message = content ? JSON.parse(content):''
}catch(err){
proxy.$message({ type: "danger", message: "解析异常,请重新上传解析" });;
proxy.$message({ type: "danger", message: "解析异常,请重新上传解析" });
}
if(!message) return;
console.log(message,'=================将结果');
if(!message) return proxy.$message({ type: "danger", message: "解析异常,请重新上传解析" });
let params = {
qbid:qbid.value,
...message.jbxx[0],
ryList:message.ryList,
}
qcckPost(params,'/mosty-gsxt/qbcj/add').then((res)=>{
console.log(res,'============');
})
})
}