feat: 数字民警问题修改

ocr_2.1
xiangcongshuai 6 months ago
parent 4701c9e3db
commit ace6fb3c81

@ -61,6 +61,7 @@ export default {
}, },
methods: { methods: {
onBtnClicked() { onBtnClicked() {
store.dispatch('user/setConversationId', 'addNew')
this.$router.push({ this.$router.push({
path: '/policeAi' path: '/policeAi'
}) })

@ -43,6 +43,7 @@ const handleCode = (code, msg) => {
const instance = axios.create({ const instance = axios.create({
baseURL, baseURL,
timeout: requestTimeout, timeout: requestTimeout,
withCredentials: true,
headers: { headers: {
'Content-Type': contentType, 'Content-Type': contentType,
'X-Frame-Options': 'SAMEORIGIN', 'X-Frame-Options': 'SAMEORIGIN',

@ -3,7 +3,7 @@
<div class="historical-records"> <div class="historical-records">
<div class="top"> <div class="top">
<img src="../../assets/police/robot.png" alt=""> <img src="../../assets/police/robot.png" alt="">
<span>伏小羲</span> <span>数字民警</span>
</div> </div>
<div class="main-new-item" @click="onBtnClicked"> <div class="main-new-item" @click="onBtnClicked">
<img src="@/assets/common/new.png" alt=""> <img src="@/assets/common/new.png" alt="">
@ -52,8 +52,6 @@
<script> <script>
import { conversationList, conversationDelete } from '@/api/caseManagement' import { conversationList, conversationDelete } from '@/api/caseManagement'
import { mapGetters } from 'vuex'
import store from '@/store'
export default { export default {
name: 'HistoricalRecords', name: 'HistoricalRecords',
data() { data() {
@ -68,14 +66,23 @@ export default {
showCaseList: [] showCaseList: []
} }
}, },
computed: { // computed: {
...mapGetters({ // ...mapGetters({
testConversationId: 'user/conversationId' // testConversationId: 'user/conversationId'
}) // })
}, // },
mounted() { mounted() {
this.getList() this.getList()
}, },
activated() {
if (this.$store.state.user.conversationId === 'addNew') {
this.$emit('addNew')
this.selectId = ''
this.$store.state.user.conversationId = ''
} else {
this.getList()
}
},
methods: { methods: {
delCase(item) { delCase(item) {
this.$baseConfirm('你确定要删除吗?', null, async() => { this.$baseConfirm('你确定要删除吗?', null, async() => {
@ -83,7 +90,12 @@ export default {
}) })
}, },
delAll() { delAll() {
if (this.checkedCase.length === 0) {
this.$baseMessage.error('请选择要删除的对话')
return
}
this.$baseConfirm('你确定要删除吗?', null, async() => { this.$baseConfirm('你确定要删除吗?', null, async() => {
this.changeDelFlag()
this.delCaseList(this.checkedCase) this.delCaseList(this.checkedCase)
}) })
}, },
@ -104,22 +116,24 @@ export default {
this.selectId = '' this.selectId = ''
}, },
// //
async getList() { async getList(id) {
const res = await conversationList({ const res = await conversationList({
pageNum: 1, pageNum: 1,
pageSize: 99999 pageSize: 99999
}) })
if (res.code === 200) { if (res.code === 200) {
this.caseList = res.data.records this.caseList = res.data.records
if (this.testConversationId) { if (this.$store.state.user.conversationId) {
this.selectId = this.testConversationId this.selectId = this.$store.state.user.conversationId
for (const item of this.caseList) { for (const item of this.caseList) {
if (item.conversationId === this.testConversationId) { if (item.conversationId === this.$store.state.user.conversationId) {
this.selectCase(item) this.selectCase(item)
} }
} }
this.testConversationId = '' this.$store.state.user.conversationId = ''
store.dispatch('user/setConversationId', '') }
if (id) {
this.selectId = id
} }
} }
}, },
@ -231,7 +245,7 @@ export default {
// justify-content: space-between; // justify-content: space-between;
border-radius: 8px 8px 8px 8px; border-radius: 8px 8px 8px 8px;
.name { .name {
width: 250px; width: 240px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@ -252,6 +266,9 @@ export default {
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
border-radius: 8px 8px 8px 8px; border-radius: 8px 8px 8px 8px;
.date {
color: #333333;
}
} }
.case-item:hover { .case-item:hover {
background: #EAECF2; background: #EAECF2;

@ -1,8 +1,8 @@
<template> <template>
<div class="PoliceAi"> <div class="PoliceAi">
<HistoricalRecords ref="HistoricalRecordsRef" @getDetail="getDetail" @addNew="addNew" /> <HistoricalRecords v-if="caseOptions.length > 0" ref="HistoricalRecordsRef" @getDetail="getDetail" @addNew="addNew" />
<div class="PoliceAi-main"> <div class="PoliceAi-main">
<div class="case-title"> <div v-if="!conversationId" class="case-title">
<div class="case-item"> <div class="case-item">
<span>案件名称</span> <span>案件名称</span>
<span>|</span> <span>|</span>
@ -13,12 +13,12 @@
</div> </div>
<el-input v-model="caseActorName" class="case-input" readonly placeholder="行为人" /> <el-input v-model="caseActorName" class="case-input" readonly placeholder="行为人" />
</div> </div>
<el-scrollbar ref="scrollbar" :style="{marginTop:firstEnter?'110px':'0px'}" class="main-content" @scroll="handleScroll"> <div ref="scrollbar" :style="{marginTop:!conversationId?'110px':'0px'}" class="main-content" @scroll="handleScroll">
<div class="robot"> <div class="robot">
<div class="robot-top"> <div class="robot-top">
<img src="../../assets/police/robot.png" alt=""> <img src="../../assets/police/robot.png" alt="">
<span>数字民警</span> <span>伏小羲</span>
</div> </div>
<span class="robot-item"> <span class="robot-item">
你好本数字民警可为您提供案件分析结果查询服务您还能通过输入 @来选取特定罪与非罪指标结果以便精准获取您所需信息 你好本数字民警可为您提供案件分析结果查询服务您还能通过输入 @来选取特定罪与非罪指标结果以便精准获取您所需信息
@ -48,80 +48,87 @@
<div v-if="message.role === 'robot'" class="robot"> <div v-if="message.role === 'robot'" class="robot">
<div class="robot-top"> <div class="robot-top">
<img src="../../assets/police/robot.png" alt=""> <img src="../../assets/police/robot.png" alt="">
<span>数字民警</span> <span>伏小羲</span>
</div> </div>
<div v-if="index !== conversationList.length -1 || !loading"> <div v-if="index !== conversationList.length -1 || !loading">
<!-- 案件分析结果 --> <!-- 不询问 -->
<div v-if="message.intentType === '1'" class="robot-item"> <div v-if="message.dialogueCount !== 1 ">
<span>您好<span>{{ message.caseName }}</span> 的综合得分为<span :class="['score', message.totalScore >= 70 ? 'success' : 'warning']">{{ `${message.commonScore}+${message.specificCrimeScore}=${message.totalScore}` }}</span> <!-- 案件分析结果 -->
, 认定<span :class="['score', message.totalScore >= 70 ? 'success' : 'warning']">{{ message.scoreDesc }}</span> <div v-if="message.intentType === '1'" class="robot-item">
</span> <span>您好<span>{{ message.caseName }}</span> 的综合得分为<span :class="['score', message.totalScore >= 70 ? 'success' : 'warning']">{{ `${message.commonScore}+${message.specificCrimeScore}=${message.totalScore}` }}</span>
<span class="robot-message-item"> , 认定<span :class="['score', message.totalScore >= 70 ? 'success' : 'warning']">{{ message.scoreDesc }}</span>
<span class="point" />
<span>{{ `${message.commonIndexCount}个共性证据指标占${message.commonIndexHitCount}` }}</span>
</span>
<span class="robot-message-item">
<span class="point" />
<span>{{ `${message.specificCrimeIndexCount}${message.specificCrime}${message.specificCrimeIndexHitCount}` }}</span>
</span>
</div>
<!-- 案件概述 案件证据指引 -->
<div v-if="message.intentType === '2' || message.intentType === '3'" class="robot-item">
<span class="robot-message-item">
{{ message.text }}
</span>
</div>
<!-- 指标回答 -->
<div v-if="message.intentType === '0'">
<div class="robot-item index-content">
<span class="index-item">
<span class="label">指标类型</span>
<span class="value">{{ getIndexType(message.indexType) }}</span>
</span> </span>
<span class="index-item"> <span class="robot-message-item">
<span class="label">指标名称</span> <span class="point" />
<span class="value">{{ message.indexName }}</span> <span>{{ `${message.commonIndexCount}个共性证据指标占${message.commonIndexHitCount}` }}</span>
</span> </span>
<span class="index-item"> <span class="robot-message-item">
<span class="label">分析结果</span> <span class="point" />
<span class="value">{{ message.result }}</span> <span>{{ `${message.specificCrimeIndexCount}${message.specificCrime}${message.specificCrimeIndexHitCount}` }}</span>
</span> </span>
</div> </div>
<div v-if="message.qaSplitList.length > 0 || message.evidenceNames.length > 0" class="collapse" @click="changeShowFlag(message)"> <!-- 案件概述 案件证据指引 -->
<span>相关笔录及证据</span> <div v-if="message.intentType === '2' || message.intentType === '3'" class="robot-item">
<i v-if="!message.showFlag" class="el-icon-arrow-down" /> <span class="robot-message-item">
<i v-if="message.showFlag" class="el-icon-arrow-up" /> {{ message.text }}
</span>
</div> </div>
<div v-if="message.showFlag" class="collapse-content"> <!-- 指标回答 -->
<div v-if="message.qaSplitList.length > 0" class="title"></div> <div v-if="message.intentType === '0'">
<div v-for="(item, index) in message.qaSplitList" :key="index" class="record-item"> <div class="robot-item index-content">
<span class="file-name" @click="downloadRecord(item)">{{ item.noteName }}</span> <span class="index-item">
<span>{{ item.answer }}</span> <span class="label">指标类型</span>
<span>{{ item.question }}</span> <span :title="getIndexType(message.indexType)" class="value">{{ getIndexType(message.indexType) }}</span>
</span>
<span class="index-item">
<span class="label">指标名称</span>
<span class="value">{{ message.indexName }}</span>
</span>
<span class="index-item">
<span class="label">分析结果</span>
<span class="value">{{ message.result }}</span>
</span>
</div> </div>
<div v-if="message.evidenceNames.length > 0" class="title"></div> <div v-if="message.qaSplitList.length > 0 || message.evidenceNames.length > 0" class="collapse" @click="changeShowFlag(message)">
<div class="evidence-list"> <span>相关笔录及证据</span>
<div v-for="(item, index) in message.evidenceNames" :key="index" class="evidence-item"> <i v-if="!message.showFlag" class="el-icon-arrow-down" />
<span class="file-name" @click="downloadEvidence(item)">{{ item.evidenceName }}</span> <i v-if="message.showFlag" class="el-icon-arrow-up" />
</div>
</div> </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" @click="downloadRecord(item)">{{ item.noteName }}</span>
<span>{{ item.answer }}</span>
<span>{{ item.question }}</span>
</div>
<div v-if="message.evidenceNames.length > 0" class="title"></div>
<div class="evidence-list">
<div v-for="(item, index) in message.evidenceNames" :key="index" class="evidence-item">
<span class="file-name" @click="downloadEvidence(item)">{{ item.evidenceName }}</span>
</div>
</div>
</div>
</div> </div>
</div> </div>
<!-- dify回答 --> <!-- dify回答 -->
<div v-if="message.type === '0'"> <div v-if="message.type === '0' ">
<div class="robot-item"> <div class="robot-item">
<span class="robot-message-item"> <span class="robot-message-item">
{{ message.answer }} {{ message.answer }}
</span> </span>
<div v-if="message.askFlag && message.intentType" class="btns">
<div class="btn-item" @click="selectAskItem(message,'是')"></div>
<div class="btn-item" @click="selectAskItem(message,'否')"></div>
</div>
</div> </div>
<div v-if="message.segmentList.length > 0" class="collapse" @click="changeShowFlag(message)"> <div v-if="message.segmentList && message.segmentList.length > 0" class="collapse" @click="changeShowFlag(message)">
<span>相关知识内容</span> <span>相关知识内容</span>
<i v-if="!message.showFlag" 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" /> <i v-if="message.showFlag" class="el-icon-arrow-up" />
</div> </div>
<div v-if="message.segmentList.length > 0 && message.showFlag" class="collapse-content"> <div v-if="message.segmentList && message.segmentList.length > 0 && message.showFlag" class="collapse-content">
<div class="title">涉及文件</div> <div class="title">涉及文件</div>
<div v-for="(item, index) in message.segmentList" :key="index" class="record-item"> <div v-for="(item, index) in message.segmentList" :key="index" class="record-item">
<span style="color: #333333;" class="file-name ">{{ item.name }}</span> <span style="color: #333333;" class="file-name ">{{ item.name }}</span>
@ -129,28 +136,32 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 指标询问选项 -->
<div v-if="message.adviceList && message.askFlag " class="option-list">
<span v-for="(item, index) in message.adviceList" :key="index" class="option-item" @click="selectAskIndex(message,item)">
<span class="name">{{ item }}</span>
<i class="el-icon-arrow-right" />
</span>
</div>
</div> </div>
<!-- <div v-if="!message.adviceList && message.askFlag ">
</div> -->
<div v-else class="loading"> <div v-else class="loading">
<img src="../../assets/common/loading.gif" alt=""> <img src="../../assets/common/loading.gif" alt="">
<span>模型正在生成结果....</span> <span>模型正在生成结果....</span>
</div> </div>
<!-- <div v-if="message.type === '3'">
<div>您好您是要查询案件名称的分析结果吗</div>
<div class="btns">
<div class="btn-item"></div>
<div class="btn-item"></div>
</div>
</div> -->
</div> </div>
</transition> </transition>
</div> </div>
</el-scrollbar> </div>
<div class="send-bottom"> <div class="send-bottom">
<el-input <el-input
v-model="sendText" v-model="sendText"
:readonly="!caseId"
placeholder="可咨询案件内容、输入@可选择查询指标结果" placeholder="可咨询案件内容、输入@可选择查询指标结果"
@keyup.enter.native="handleSend" @keyup.enter.native="handleSend"
/> />
@ -172,12 +183,12 @@
<i slot="prefix" class="el-input__icon el-icon-search" /> <i slot="prefix" class="el-input__icon el-icon-search" />
</el-input> </el-input>
<div class="index-list"> <div class="index-list">
<span v-for="(item,index) in showIndexList" :key="index" class="index-list-item" @click="selectIndex(item)"> <span v-for="(item,index) in showIndexList" :key="index" class="index-list-item" @click="selectIndex(item.name)">
{{ item.name }} {{ item.name }}
</span> </span>
</div> </div>
</div> </div>
<div v-if="isShowDownIcon" class="scroll-icon"> <div v-if="isShowDownIcon" class="scroll-icon" @click="scrollToBottom">
<img src="../../assets/police/down.png" alt=""> <img src="../../assets/police/down.png" alt="">
</div> </div>
</div> </div>
@ -370,18 +381,44 @@ export default {
// const fileId = item.fileIds.split(',')[0] // const fileId = item.fileIds.split(',')[0]
this.downloadFile(`${baseURL}${commonDownloadFile}${item.noteFileId}`, item.noteName) this.downloadFile(`${baseURL}${commonDownloadFile}${item.noteFileId}`, item.noteName)
}, },
//
selectAskIndex(item, name) {
this.$set(item, 'askFlag', false)
this.selectIndex(name)
},
//
selectAskItem(item, val) {
this.$set(item, 'askFlag', false)
if (this.loading) return
this.indexFlag = false
this.searchName = ''
this.conversationList.push({
role: 'user',
text: val
})
this.sendText = ''
this.chat({
caseId: this.caseId,
query: val,
conversationId: this.conversationId,
dialogueCount: item.dialogueCount,
type: '0',
intentType: item.intentType
})
},
// //
selectIndex(item) { selectIndex(name) {
if (this.loading) return if (this.loading) return
this.indexFlag = false this.indexFlag = false
this.searchName = '' this.searchName = ''
this.conversationList.push({ this.conversationList.push({
role: 'user', role: 'user',
text: item.name text: name
}) })
this.sendText = ''
this.chat({ this.chat({
caseId: this.caseId, caseId: this.caseId,
query: item.name, query: name,
conversationId: this.conversationId, conversationId: this.conversationId,
type: '1', type: '1',
intentType: '0' intentType: '0'
@ -394,59 +431,86 @@ export default {
}) })
this.scrollToBottom() this.scrollToBottom()
robotChat(obj).then(res => { robotChat(obj).then(res => {
this.conversationList.splice(this.conversationList.length - 1, 1)
if (res.code === 200) { if (res.code === 200) {
this.conversationList.splice(this.conversationList.length - 1, 1)
if (this.conversationId !== res.data.conversationId) { if (this.conversationId !== res.data.conversationId) {
this.$refs.HistoricalRecordsRef.getList() this.$refs.HistoricalRecordsRef.getList(res.data.conversationId)
} }
this.conversationId = res.data.conversationId this.conversationId = res.data.conversationId
this.getAnswerContent(res.data) this.getAnswerContent(res.data, 'add')
} }
}) }).catch(() => {
}, //
// this.loading = false
getAnswerContent(data) { this.conversationList.splice(this.conversationList.length - 1, 1)
if (data.intentType === '1') {
this.conversationList.push({ this.conversationList.push({
...data.answwerMap,
role: 'robot', role: 'robot',
intentType: data.intentType intentType: '2',
}) text: '抱歉,我可能没理解清楚。如需进一步咨询,请明确您的问题。同时,输入“@”可选取特定指标结果,以便精准获取信息。'
} else if (data.intentType === '2') {
this.conversationList.push({
role: 'robot',
intentType: data.intentType,
text: data.answwerMap.answerText
}) })
} else if (data.intentType === '3') { })
this.conversationList.push({ },
role: 'robot', //
intentType: data.intentType, getAnswerContent(data, type) {
text: data.answwerMap.guideDesc //
if (data.dialogueCount === 1) {
})
//
} else if (data.intentType === '0') {
this.conversationList.push({
role: 'robot',
intentType: data.intentType,
...data.answwerMap
})
}
// dify
if (data.type === '0') {
this.conversationList.push({ this.conversationList.push({
role: 'robot', role: 'robot',
answer: data.answer, answer: data.answer,
type: data.type, type: data.type,
segmentList: data.segmentList ...data.answwerMap,
intentType: data.intentType,
dialogueCount: data.dialogueCount,
askFlag: type === 'add'
}) })
} else {
if (data.intentType === '1') {
this.conversationList.push({
...data.answwerMap,
role: 'robot',
intentType: data.intentType
})
data.type = '1'
} else if (data.intentType === '2') {
this.conversationList.push({
role: 'robot',
intentType: data.intentType,
text: data.answwerMap.answerText
})
data.type = '1'
} else if (data.intentType === '3') {
this.conversationList.push({
role: 'robot',
intentType: data.intentType,
text: data.answwerMap.guideDesc
})
data.type = '1'
//
} else if (data.intentType === '0' && data.answwerMap.indexName) {
this.conversationList.push({
role: 'robot',
intentType: data.intentType,
...data.answwerMap
})
data.type = '1'
}
// dify
if (data.type === '0') {
this.conversationList.push({
role: 'robot',
answer: data.answer,
type: data.type,
segmentList: data.segmentList,
...data.answwerMap
})
}
} }
this.$nextTick(() => { this.$nextTick(() => {
setTimeout(() => { setTimeout(() => {
this.loading = false this.loading = false
}, 3000) }, 2000)
this.scrollToBottom() this.scrollToBottom()
}) })
@ -468,20 +532,18 @@ export default {
} }
}, },
scrollToBottom() { scrollToBottom() {
const scrollbar = this.$refs.scrollbar // const scrollbar = this.$refs.scrollbar
if (scrollbar) { // if (scrollbar) {
scrollbar.wrap.scrollTo(0, scrollbar.wrap.scrollHeight) // scrollbar.wrap.scrollTo(0, scrollbar.wrap.scrollHeight)
} // }
const div = this.$refs.scrollbar
div.scrollTop = div.scrollHeight
}, },
// //
handleScroll(event) { handleScroll(event) {
console.log('1111111111111')
debugger
const scrollTop = event.target.scrollTop // const scrollTop = event.target.scrollTop //
const clientHeight = event.target.clientHeight // const clientHeight = event.target.clientHeight //
const scrollHeight = this.$refs.scrollContent.scrollHeight // const scrollHeight = this.$refs.scrollbar.scrollHeight //
// //
this.distanceToBottom = scrollHeight - (scrollTop + clientHeight) this.distanceToBottom = scrollHeight - (scrollTop + clientHeight)
if (this.distanceToBottom > 0) { if (this.distanceToBottom > 0) {
@ -622,6 +684,23 @@ export default {
margin-bottom: 16px; margin-bottom: 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.btns {
display: flex;
margin-top: 16px;
.btn-item {
width: 80px;
height: 40px;
box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.04);
border-radius: 6px 6px 6px 6px;
border: 1px solid #3763FF;
margin-right: 24px;
font-size: 16px;
color: #3763FF;
cursor: pointer;
text-align: center;
line-height: 40px;
}
}
.success { .success {
color: #00975E; color: #00975E;
font-weight: bold; font-weight: bold;
@ -657,6 +736,10 @@ export default {
.value { .value {
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
width: 900px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} }
} }
} }
@ -706,6 +789,37 @@ export default {
} }
} }
} }
.option-list {
display: flex;
flex-direction: column;
.option-item {
display: flex;
align-items: center;
position: relative;
font-size: 16px;
cursor: pointer;
color: #464546;
margin-bottom: 16px;
.name {
border-radius: 9px 9px 9px 9px;
border: 1px solid #D9D9D9;
padding: 8px 36px 8px 16px;
}
i {
margin-left: -32px;
}
}
.option-item:hover {
color: #3763FF;
.name{
border: 1px solid #3763FF;
}
}
}
} }
.user-message { .user-message {
margin: 24px 0; margin: 24px 0;
@ -817,7 +931,10 @@ export default {
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
cursor: pointer; cursor: pointer;
margin-bottom: 24px; line-height: 45px;
}
.index-list-item:hover {
background: #F2F6FD;
} }
} }
} }

@ -53,7 +53,7 @@
<span class="main-title">{{ item.caseName }}</span> <span class="main-title">{{ item.caseName }}</span>
</div> </div>
<div> <div>
<img src="~@/assets/caseManagement/duihua@2x.png" class="tag-icon" @click.stop="handleContact(item)"> <!-- <img src="~@/assets/caseManagement/duihua@2x.png" class="tag-icon" @click.stop="handleContact(item)"> -->
<!-- <img src="~@/assets/caseManagement/tuola@2x.png" class="tag-icon mover"> --> <!-- <img src="~@/assets/caseManagement/tuola@2x.png" class="tag-icon mover"> -->
</div> </div>
</div> </div>

@ -176,7 +176,7 @@ export default {
prompt: [{ required: true, message: 'prompt内容不能为空!', trigger: 'blur' }], prompt: [{ required: true, message: 'prompt内容不能为空!', trigger: 'blur' }],
queryLang: [{ required: true, message: '查询语句不能为空!', trigger: 'blur' }], queryLang: [{ required: true, message: '查询语句不能为空!', trigger: 'blur' }],
name: [{ required: true, message: '原子指标名称不能为空!', trigger: 'blur' }], name: [{ required: true, message: '原子指标名称不能为空!', trigger: 'blur' }],
categoryIdPath: [{ required: true, message: '分类不能为空!', trigger: 'change' }], categoryIdPath: [{ required: true, message: '分类不能为空!', trigger: 'blur' }],
promptId: [{ required: true, message: '查询语句不能为空!', trigger: 'change' }] promptId: [{ required: true, message: '查询语句不能为空!', trigger: 'change' }]
}, },
treeData: [], treeData: [],
@ -207,6 +207,7 @@ export default {
this.selectInfo.extractAttributes = data.properties ? data.properties.split(',') : [] this.selectInfo.extractAttributes = data.properties ? data.properties.split(',') : []
this.selectInfo.promptName = data.promptName this.selectInfo.promptName = data.promptName
this.selectInfo.promptId = data.promptId this.selectInfo.promptId = data.promptId
this.$refs.form.clearValidate()
}) })
}, },
// //
@ -223,7 +224,7 @@ export default {
} else { } else {
this.ruleForm = { indexSource: '2' } this.ruleForm = { indexSource: '2' }
} }
this.$refs.form.clearValidate()
// this.$refs.form.clearValidate() // this.$refs.form.clearValidate()
}, },
// //
@ -274,6 +275,7 @@ export default {
// //
changeType(val) { changeType(val) {
this.ruleForm = { indexSource: val, caseType: this.ruleForm.caseType, name: this.ruleForm.name } this.ruleForm = { indexSource: val, caseType: this.ruleForm.caseType, name: this.ruleForm.name }
this.$refs.form.clearValidate()
// this.ruleForm['indexSource'] = val // this.ruleForm['indexSource'] = val
} }
} }

@ -62,6 +62,7 @@ module.exports = {
target: baseURL, target: baseURL,
/* 允许跨域将请求地址host修改为和被请求的接口一致 */ /* 允许跨域将请求地址host修改为和被请求的接口一致 */
changeOrigin: true, changeOrigin: true,
withCredentials: true,
/* 路径重写 */ /* 路径重写 */
pathRewrite: { pathRewrite: {
'^/fuHsiApi': '' '^/fuHsiApi': ''

Loading…
Cancel
Save