|
|
|
@ -8,10 +8,24 @@
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<div class="common-content">
|
|
|
|
|
<el-input v-model="indexName" placeholder="指标名称" clearable style="width: 200px" />
|
|
|
|
|
<el-select v-model="indexResult" style="margin-left: 16px;" clearable placeholder="请选择指标结果">
|
|
|
|
|
<el-option v-for="item in indexResultOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-select v-model="indexHasRecord" style="margin-left: 16px;" clearable placeholder="请选择笔录结果">
|
|
|
|
|
<el-option label="有笔录" :value="true" />
|
|
|
|
|
<el-option label="无笔录" :value="false" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-select v-model="indexSource" style="margin-left: 16px;" clearable placeholder="请选择数据来源">
|
|
|
|
|
<el-option v-for="item in indexSourceList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
<el-input v-model="atomicName" placeholder="原子指标名称" clearable style="width: 200px;margin-left: 16px;" />
|
|
|
|
|
<vxe-grid v-bind="gridOptions" style="margin-top: 10px">
|
|
|
|
|
<template #opera="{row}">
|
|
|
|
|
<el-button type="text" icon="el-icon-check" @click="handelStart(row)" />
|
|
|
|
|
<el-button type="text" icon="el-icon-close" @click="handleDel(row)" />
|
|
|
|
|
<template #operate="{row}">
|
|
|
|
|
<div class="btn-item">
|
|
|
|
|
<span>{{ row.record }}</span>
|
|
|
|
|
<span v-if="row.recordSegmentationList && row.recordSegmentationList.length > 0">【<el-button type="text" @click="handleDetails(row)">详情</el-button>】</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template #result="{row}">
|
|
|
|
|
<div v-if="row.newFlag" style="padding: 10px 0;">
|
|
|
|
@ -30,16 +44,21 @@
|
|
|
|
|
@pagination="fetchData"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<record-details ref="details" />
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import mixin from '@/views/mixin'
|
|
|
|
|
import { queryIndexDetail } from '@/api/caseDetails'
|
|
|
|
|
|
|
|
|
|
import { debounce } from '@/utils'
|
|
|
|
|
import RecordDetails from './RecordDetails.vue'
|
|
|
|
|
export default {
|
|
|
|
|
name: 'CommonIndex',
|
|
|
|
|
mixins: [mixin],
|
|
|
|
|
components: {
|
|
|
|
|
RecordDetails
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
// 是否编辑
|
|
|
|
|
isEdit: {
|
|
|
|
@ -54,20 +73,30 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
indexResultOptions: [{
|
|
|
|
|
name: '未评估',
|
|
|
|
|
id: '0'
|
|
|
|
|
}, {
|
|
|
|
|
name: '符合',
|
|
|
|
|
id: '1'
|
|
|
|
|
}, {
|
|
|
|
|
name: '不符合',
|
|
|
|
|
id: '2'
|
|
|
|
|
}],
|
|
|
|
|
gridOptions: {
|
|
|
|
|
...mixin.data().gridOptions,
|
|
|
|
|
treeConfig: {},
|
|
|
|
|
columns: [
|
|
|
|
|
{ title: '', width: '50px', treeNode: true },
|
|
|
|
|
{ title: '序号', type: 'seq', width: '50px' },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ title: '分析结果', width: '200px', field: 'indexResult', slots: { default: 'result' }},
|
|
|
|
|
{ title: '指标名称', field: 'indexName', align: 'left' },
|
|
|
|
|
{ title: '分值', field: 'score', width: '50px' },
|
|
|
|
|
{ title: '数据来源', field: 'indexSource', width: '200px', formatter: ({ cellValue }) => {
|
|
|
|
|
return cellValue ? this.indexSourceList.find(item => item.value === cellValue).label : ''
|
|
|
|
|
} },
|
|
|
|
|
{ title: '笔录结果', field: 'record' }
|
|
|
|
|
{ title: '笔录结果', width: '200px', slots: { default: 'operate' }, align: 'center' }
|
|
|
|
|
// { title: '原子指标', field: 'atomicIndex' }
|
|
|
|
|
// { title: '必要证据', field: 'questioner' },
|
|
|
|
|
// { title: '评估结果', field: 'startTime' },
|
|
|
|
@ -75,6 +104,11 @@ export default {
|
|
|
|
|
],
|
|
|
|
|
data: []
|
|
|
|
|
},
|
|
|
|
|
indexName: '',
|
|
|
|
|
indexResult: '',
|
|
|
|
|
indexSource: '',
|
|
|
|
|
indexHasRecord: undefined,
|
|
|
|
|
atomicName: '',
|
|
|
|
|
indexSourceList: JSON.parse(sessionStorage.getItem('index_source'))
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
@ -86,19 +120,51 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
immediate: true
|
|
|
|
|
},
|
|
|
|
|
indexName: function() {
|
|
|
|
|
this.debounceSearch(this)
|
|
|
|
|
},
|
|
|
|
|
indexResult: function() {
|
|
|
|
|
this.debounceSearch(this)
|
|
|
|
|
},
|
|
|
|
|
indexHasRecord: function() {
|
|
|
|
|
this.debounceSearch(this)
|
|
|
|
|
},
|
|
|
|
|
atomicName: function() {
|
|
|
|
|
this.debounceSearch(this)
|
|
|
|
|
},
|
|
|
|
|
indexSource: function() {
|
|
|
|
|
this.debounceSearch(this)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.fetchData()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 防抖查询数据
|
|
|
|
|
debounceSearch: debounce((_this) => {
|
|
|
|
|
_this.fetchData()
|
|
|
|
|
}),
|
|
|
|
|
// 获取数据
|
|
|
|
|
fetchData() {
|
|
|
|
|
queryIndexDetail({ caseId: this.$route.params['id'], indexType: '1' }, this.queryForm.page, this.queryForm.size).then(res => {
|
|
|
|
|
const params = { caseId: this.$route.params['id'],
|
|
|
|
|
indexType: '1',
|
|
|
|
|
page: this.queryForm.page,
|
|
|
|
|
size: this.queryForm.size,
|
|
|
|
|
indexName: this.indexName,
|
|
|
|
|
indexResult: this.indexResult,
|
|
|
|
|
indexHasRecord: this.indexHasRecord,
|
|
|
|
|
atomicName: this.atomicName,
|
|
|
|
|
indexSource: this.indexSource
|
|
|
|
|
}
|
|
|
|
|
queryIndexDetail(params).then(res => {
|
|
|
|
|
this.gridOptions.data = res.data.records
|
|
|
|
|
this.queryForm.total = res.data.total
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleDetails(row) {
|
|
|
|
|
this.$refs.details.show(row.recordSegmentationList)
|
|
|
|
|
},
|
|
|
|
|
// 开始分析
|
|
|
|
|
handelStart(row) {
|
|
|
|
|
|
|
|
|
@ -114,5 +180,11 @@ export default {
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
|
|
|
|
.common-content {
|
|
|
|
|
.btn-item {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|