|
|
|
@ -89,12 +89,13 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="message.qaSplitList.length > 0 || message.evidenceNames.length > 0" class="collapse" @click="changeShowFlag(message)">
|
|
|
|
|
<span>相关笔录及证据</span>
|
|
|
|
|
<i class="el-icon-arrow-down" />
|
|
|
|
|
<i v-if="!message.showFlag" class="el-icon-arrow-down" />
|
|
|
|
|
<i v-if="message.showFlag" class="el-icon-arrow-up" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="message.showFlag" class="collapse-content">
|
|
|
|
|
<div v-if="message.qaSplitList.length > 0" class="title">涉及笔录:</div>
|
|
|
|
|
<div v-for="(item, index) in message.qaSplitList" :key="index" class="record-item">
|
|
|
|
|
<span class="file-name">{{ item.noteRecordName }}</span>
|
|
|
|
|
<span class="file-name" @click="downloadRecord(item)">{{ item.noteName }}</span>
|
|
|
|
|
<span>{{ item.answer }}</span>
|
|
|
|
|
<span>{{ item.question }}</span>
|
|
|
|
|
</div>
|
|
|
|
@ -117,12 +118,13 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="message.segmentVOList.length > 0" class="collapse">
|
|
|
|
|
<span>相关知识内容</span>
|
|
|
|
|
<i class="el-icon-arrow-down" />
|
|
|
|
|
<i v-if="!message.showFlag" class="el-icon-arrow-down" />
|
|
|
|
|
<i v-if="message.showFlag" class="el-icon-arrow-up" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="message.segmentVOList.length > 0" class="collapse-content">
|
|
|
|
|
<div v-if="message.segmentVOList.length > 0 && message.showFlag" class="collapse-content">
|
|
|
|
|
<div class="title">涉及文件:</div>
|
|
|
|
|
<div v-for="(item, index) in message.segmentVOList" :key="index" class="record-item">
|
|
|
|
|
<span>{{ item.name }}</span>
|
|
|
|
|
<span class="file-name ">{{ item.name }}</span>
|
|
|
|
|
<span v-html="item.snippet" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -149,10 +151,11 @@
|
|
|
|
|
<div class="send-bottom">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="sendText"
|
|
|
|
|
placeholder="可咨询案件内容、输入@或# 可选择查询指标结果"
|
|
|
|
|
placeholder="可咨询案件内容、输入@可选择查询指标结果"
|
|
|
|
|
@keyup.enter.native="handleSend"
|
|
|
|
|
/>
|
|
|
|
|
<img src="@/assets/police/send.png" alt="" @click="handleSend">
|
|
|
|
|
<img v-if="!loading" src="@/assets/police/send.png" alt="" @click="handleSend">
|
|
|
|
|
<img v-if="loading" src="@/assets/police/pause.png" alt="">
|
|
|
|
|
<div v-if="indexFlag" class="select_index">
|
|
|
|
|
<div class="top">
|
|
|
|
|
<span v-for="(item, index) in indexTypeList" :key="index" :class="[item.type === activedIndex?'actived':'']" @click="changeType(item)">
|
|
|
|
@ -162,6 +165,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="searchName"
|
|
|
|
|
maxlength="50"
|
|
|
|
|
class="top-input"
|
|
|
|
|
placeholder="请输入内容"
|
|
|
|
|
>
|
|
|
|
@ -184,7 +188,7 @@ import { queryCaseList, robotChat, conversationInfoList } from '@/api/caseManage
|
|
|
|
|
import { queryIndexData } from '@/api/indexRule'
|
|
|
|
|
import HistoricalRecords from './HistoricalRecords.vue'
|
|
|
|
|
import { baseURL } from '@/config'
|
|
|
|
|
import { downloadEvidence } from '@/api/config/uploadApi'
|
|
|
|
|
import { downloadEvidence, commonDownloadFile } from '@/api/config/uploadApi'
|
|
|
|
|
export default {
|
|
|
|
|
name: 'PoliceAi',
|
|
|
|
|
components: {
|
|
|
|
@ -266,6 +270,7 @@ export default {
|
|
|
|
|
methods: {
|
|
|
|
|
// 获取详情
|
|
|
|
|
async getDetail(id, caseId) {
|
|
|
|
|
this.loading = false
|
|
|
|
|
this.caseId = caseId
|
|
|
|
|
this.selectCase(this.caseId)
|
|
|
|
|
this.conversationList = []
|
|
|
|
@ -320,6 +325,7 @@ export default {
|
|
|
|
|
this.caseActorName = obj.caseActorName
|
|
|
|
|
},
|
|
|
|
|
selectCaseType(item) {
|
|
|
|
|
if (this.loading) return
|
|
|
|
|
if (!this.caseId) {
|
|
|
|
|
this.$baseMessage.error('请选择案件!')
|
|
|
|
|
return
|
|
|
|
@ -353,8 +359,14 @@ export default {
|
|
|
|
|
downloadEvidence(item) {
|
|
|
|
|
this.downloadFile(`${baseURL}${downloadEvidence}${item.evidenceId}`, item.evidenceName)
|
|
|
|
|
},
|
|
|
|
|
// 下载笔录
|
|
|
|
|
downloadRecord(item) {
|
|
|
|
|
// const fileId = item.fileIds.split(',')[0]
|
|
|
|
|
this.downloadFile(`${baseURL}${commonDownloadFile}${item.noteFileId}`, item.noteName)
|
|
|
|
|
},
|
|
|
|
|
// 选择指标
|
|
|
|
|
selectIndex(item) {
|
|
|
|
|
if (this.loading) return
|
|
|
|
|
this.indexFlag = false
|
|
|
|
|
this.searchName = ''
|
|
|
|
|
this.conversationList.push({
|
|
|
|
@ -451,6 +463,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleSend() {
|
|
|
|
|
if (this.loading) return
|
|
|
|
|
if (!this.caseId) {
|
|
|
|
|
this.$baseMessage.error('请选择案件!')
|
|
|
|
|
return
|
|
|
|
@ -459,7 +472,7 @@ export default {
|
|
|
|
|
this.$baseMessage.error('请输入内容!')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.sendText = ''
|
|
|
|
|
|
|
|
|
|
this.conversationList.push({
|
|
|
|
|
role: 'user',
|
|
|
|
|
text: this.sendText
|
|
|
|
@ -472,6 +485,7 @@ export default {
|
|
|
|
|
type: '0',
|
|
|
|
|
intentType: ''
|
|
|
|
|
})
|
|
|
|
|
this.sendText = ''
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -536,8 +550,9 @@ export default {
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
width: 1154px;
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
// padding-right: 16px;
|
|
|
|
|
.robot {
|
|
|
|
|
|
|
|
|
|
.robot-top {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
@ -574,6 +589,7 @@ export default {
|
|
|
|
|
line-height: 28px;font-size: 16px;
|
|
|
|
|
color: #333333;
|
|
|
|
|
padding: 16px;
|
|
|
|
|
width: 90%;
|
|
|
|
|
margin-bottom: 16px;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
@ -665,6 +681,7 @@ export default {
|
|
|
|
|
margin: 24px 0;
|
|
|
|
|
text-align: right;font-size: 16px;
|
|
|
|
|
color: #333333;
|
|
|
|
|
padding-right: 16px;
|
|
|
|
|
}
|
|
|
|
|
.nav-list {
|
|
|
|
|
display: flex;
|
|
|
|
|