feat: 样式修改,提示词功能修改

dev
xiangcongshuai 2 months ago
parent feea049c35
commit 73f21f1ed9

@ -157,6 +157,22 @@ export const asyncRoutes = [
// }
]
},
{
path: '/operationManagement',
name: 'OperationManagement',
permission: 'p_operationManagement',
component: Layout,
meta: { title: '运营管理' },
children: [
{
path: '/task-list',
name: 'TaskList',
permission: 'p_taskList',
component: () => import('@/views/operationManagement/TaskList/index.vue'),
meta: { title: '任务列表', affix: false }
}
]
},
{
path: '/system',
name: 'System',

@ -412,4 +412,7 @@ input::-webkit-inner-spin-button{
.vxe-table--tooltip-wrapper {
z-index: 9999999 !important; /* 设定一个较高的 z-index 值 */
}
}
// .vxe-body--column :hover {
// background-color: #F8FBFF !important; /* 你想设置的悬停颜色 */
// }

@ -38,9 +38,9 @@
<el-input v-model="searchName" class="search" placeholder="搜索名称" style="width: 300px" />
</div>
<vxe-grid
v-if="gridOptions.data.length > 0"
ref="entityTable"
v-bind="gridOptions"
:row-config="{isHover: true}"
style="margin-top: 10px"
>
<template #status="{row}">
@ -371,7 +371,7 @@ export default {
}
}
.evidence-main {
flex: 1;
width: calc(100% - 250px);
}
.status {
display: flex;

@ -22,7 +22,7 @@
<el-input v-model="searchName" placeholder="搜索名称" style="width: 300px" />
</div>
<vxe-grid v-if="gridOptions.data.length > 0" v-bind="gridOptions" style="margin-top: 10px">
<vxe-grid :row-config="{isHover: true}" v-bind="gridOptions" style="margin-top: 10px">
<template #opera="{row}">
<!-- <el-button v-if="row.children.length === 0" type="text" icon="el-icon-video-play" :disabled="!isEdit" title="笔录分析" @click="handleCreateAtlas(row)" /> -->

@ -20,7 +20,7 @@
<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-if="gridOptions.data.length > 0" v-bind="gridOptions" style="margin-top: 10px">
<vxe-grid v-if="gridOptions.data.length > 0" :row-config="{isHover: true}" v-bind="gridOptions" style="margin-top: 10px">
<template #operate="{row}">
<div class="btn-item">
<span>{{ row.record }}</span>
@ -34,10 +34,10 @@
<template #result="{row}">
<div v-if="row.newFlag" style="padding: 10px 0;">
<el-badge value="new" class="item">
<el-tag :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? '存在' : '不存在': '未评估' }}</el-tag>
<el-tag :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? row.parentIndexName?'存在':'符合' : row.parentIndexName?'不存在':'不符合': '未评估' }}</el-tag>
</el-badge>
</div>
<el-tag v-else :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? '存在' : '不存在': '未评估' }}</el-tag>
<el-tag v-else :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? row.parentIndexName?'存在':'符合' : row.parentIndexName?'不存在':'不符合': '未评估' }}</el-tag>
</template>
</vxe-grid>
<!-- <div style="text-align: center">
@ -81,10 +81,10 @@ export default {
name: '未评估',
id: '0'
}, {
name: '存在',
name: '符合',
id: '1'
}, {
name: '不存在',
name: '不符合',
id: '2'
}],
gridOptions: {

@ -20,7 +20,7 @@
<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" v-if="gridOptions.data.length > 0" style="margin-top: 10px">
<vxe-grid v-if="gridOptions.data.length > 0" :row-config="{isHover: true}" v-bind="gridOptions" style="margin-top: 10px">
<template #operate="{row}">
<div class="btn-item">
<span>{{ row.record }}</span>
@ -28,17 +28,16 @@
</div>
</template>
<template #detail="{row}">
<span v-if="row.parentIndexName"><a v-if="!row.isRead" style="text-decoration: underline;" @click="handleDetails(row)">{{ row.indexName }}</a><span style="text-decoration: underline;cursor: pointer;" v-else @click="handleDetails(row)">{{ row.indexName }}</span></span>
<span v-if="row.parentIndexName"><a v-if="!row.isRead" style="text-decoration: underline;" @click="handleDetails(row)">{{ row.indexName }}</a><span v-else style="text-decoration: underline;cursor: pointer;" @click="handleDetails(row)">{{ row.indexName }}</span></span>
<span v-else>{{ row.indexName }}</span>
</template>
<template #result="{row}">
<div v-if="row.newFlag" style="padding: 10px 0;">
<el-badge value="new" class="item">
<el-tag :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? '存在' : '不存在': '未评估' }}</el-tag>
<el-tag :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? row.parentIndexName?'存在':'符合' : row.parentIndexName?'不存在':'不符合': '未评估' }}</el-tag>
</el-badge>
</div>
<el-tag v-else :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? '存在' : '不存在': '未评估' }}</el-tag>
<el-tag v-else :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? row.parentIndexName?'存在':'符合' : row.parentIndexName?'不存在':'不符合': '未评估' }}</el-tag>
</template>
</vxe-grid>
@ -83,10 +82,10 @@ export default {
name: '未评估',
id: '0'
}, {
name: '存在',
name: '符合',
id: '1'
}, {
name: '不存在',
name: '不符合',
id: '2'
}],
gridOptions: {
@ -99,8 +98,8 @@ export default {
{ title: '序号', type: 'seq', width: '80px' },
{ title: '分析结果', width: '200px', field: 'indexResult', slots: { default: 'result' }},
// { title: '', width: '200px', slots: { default: 'operate' }, align: 'center' },
{ title: '指标名称', field: 'indexName',slots: { default: 'detail' }, align: 'left' },
{ title: '分值', width: '200px', field: 'score' },
{ title: '指标名称', field: 'indexName', slots: { default: 'detail' }, align: 'left' },
{ title: '分值', width: '200px', field: 'score' }
// { title: '', field: 'indexSource', width: '200px', formatter: ({ cellValue }) => {
// return cellValue ? this.indexSourceList.find(item => item.value === cellValue).label : ''
// } }

@ -20,7 +20,7 @@
<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-if="gridOptions.data.length > 0" v-bind="gridOptions" style="margin-top: 10px">
<vxe-grid :row-config="{isHover: true}" v-if="gridOptions.data.length > 0" v-bind="gridOptions" style="margin-top: 10px">
<template #operate="{row}">
<div class="btn-item">
<span>{{ row.record }}</span>
@ -34,10 +34,10 @@
<template #result="{row}">
<div v-if="row.newFlag" style="padding: 10px 0;">
<el-badge value="new" class="item">
<el-tag :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? '存在' : '不存在': '未评估' }}</el-tag>
<el-tag :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? row.parentIndexName?'存在':'符合' : row.parentIndexName?'不存在':'不符合': '未评估' }}</el-tag>
</el-badge>
</div>
<el-tag v-else :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? '存在' : '不存在': '未评估' }}</el-tag>
<el-tag v-else :type="row.indexResult === 'true' ? 'success' : 'error'">{{ row.indexResult?row.indexResult=== 'true' ? row.parentIndexName?'存在':'符合' : row.parentIndexName?'不存在':'不符合': '未评估' }}</el-tag>
</template>
</vxe-grid>
<!-- <div style="text-align: center">
@ -81,10 +81,10 @@ export default {
name: '未评估',
id: '0'
}, {
name: '存在',
name: '符合',
id: '1'
}, {
name: '不存在',
name: '不符合',
id: '2'
}],
gridOptions: {

@ -1,7 +1,7 @@
<template>
<div class="evidence-content">
<vxe-grid ref="xTable" v-bind="gridOptions">
<vxe-grid :row-config="{isHover: true}" ref="xTable" v-bind="gridOptions">
<template #result_edit="{row}">
<el-select v-model="row['atomicResult']" placeholder="请选择" @change="save">
<el-option

@ -20,6 +20,7 @@
<vxe-grid
ref="xTable"
:row-config="{isHover: true}"
:checkbox-config="{ labelField: '', highlight: true, trigger: 'row', reserve: true , range: true}"
row-id="id"
v-bind="gridOptions"

@ -632,7 +632,8 @@ export default {
// overflow-x: hidden;
}
.info-right {
flex: 1;
// flex: 1;
width: calc(100% - 250px);
margin-left: 10px;
>div {
margin-top: 10px;

@ -260,15 +260,18 @@ export default {
},
//
handleConfirmAnalysis(item) {
if (item.isAnalysing === true) return
this.$set(item, 'isAnalysing', true)
const params = {
caseId: item.id,
lawActorName: item.lawActorName,
lawParty: item.lawParty
}
executeModelAnalyse(params).then(res => {
this.$set(item, 'isAnalysing', false)
executeModelAnalyse(params).then(async res => {
this.fetchData()
setTimeout(() => {
this.$set(item, 'isAnalysing', false)
}, 1000)
}).catch(() => {
this.$set(item, 'isAnalysing', false)
})
@ -279,17 +282,18 @@ export default {
},
//
formatterStatusName(item) {
const score = item['totalScore']
let statusName = ''
if (score) {
statusName = '已分析'
const score = item['totalScore']
if (item['isAnalysing']) {
statusName = '正在分析...'
} else {
if (item['isAnalysing']) {
statusName = '正在分析'
if (score) {
statusName = '分析'
} else {
statusName = '未分析'
}
}
return statusName
},
// tab

@ -0,0 +1,106 @@
<template>
<div class="content">
<cs-search title="指标检索" :data="searchData" :span="6" direction="row" @onSearch="onSearch" @getData="onSearch" />
<div class="index-content">
<div class="header">
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="handleAdd"></el-button>
</div>
<vxe-grid v-bind="gridOptions" style="margin-top: 20px">
<template #operate="{row}">
<el-button type="text" @click="handleEdit(row)"></el-button>
<!-- <el-button type="text" @click="handleAtlas(row)"></el-button> -->
<el-button type="text" style="color: red" @click="handleDel(row)"></el-button>
</template>
</vxe-grid>
<div style="text-align: center">
<cs-page
:page.sync="queryForm.page"
:limit.sync="queryForm.size"
:total="queryForm.total"
@pagination="fetchData"
/>
</div>
</div>
</div>
</template>
<script>
import mixin from '@/views/mixin'
import { queryIndexData, deleteModelIndex } from '@/api/indexRule'
export default {
name: 'Index',
mixins: [mixin],
data() {
return {
//
searchData: [
{ label: '指标名称', model: 'name', type: 'input' },
{ label: '指标类别', model: 'indexType', type: 'select', option: JSON.parse(sessionStorage.getItem('index_type')) },
// { label: '', model: 'doer', type: 'input' },
{ label: '案件类型', model: 'caseType', type: 'select', option: JSON.parse(sessionStorage.getItem('case_type')) },
{ label: '原子指标', model: 'atomicIndexName', type: 'input' }
],
//
gridOptions: {
...mixin.data().gridOptions,
columns: [
{ type: 'expand', width: '40px', slots: { content: 'content' }},
{ title: '序号', type: 'seq', width: '50px' },
{ title: '指标名称', field: 'name', align: 'left' },
{ title: '指标类别', field: 'indexTypeName', width: '150px' },
{ title: '指标分数', field: 'indexScore', width: '150px', sortable: true },
{ title: '原子指标数量', field: 'atomicIndexNum', width: '150px' },
{ title: '最新时间', field: 'updateTime', width: '150px' },
{ title: '操作', slots: { default: 'operate' }, fixed: 'right', width: '150px' }
],
data: []
}
}
},
mounted() {
this.tableHeight(390)
},
methods: {
//
fetchData() {
queryIndexData({ ...this.searchFormData }, this.queryForm.page, this.queryForm.size).then(res => {
this.gridOptions.data = res.data.result
this.queryForm.total = res.data.total
})
},
//
handleDel(row) {
this.$baseConfirm('确定要删除吗?', null, async() => {
const { code, msg } = await deleteModelIndex(row.id)
code === 200 ? this.$baseMessage.success(msg || '删除成功!') : this.$baseMessage.error(msg || '删除失败!')
this.fetchData()
})
},
//
onSearch(data, callback) {
this.searchFormData = Object.assign({}, data)
this.queryForm.page = 1
this.fetchData()
if (callback) callback(true)
}
}
}
</script>
<style scoped lang="scss">
.content {
height: 100%;
.index-content {
border-radius: 8px;
background: white;
padding: 20px;
box-sizing: border-box;
margin-top: 10px;
height: calc(100% - 123px);
}
}
</style>

@ -832,3 +832,8 @@ export default {
}
}
</style>
<style lang="scss" >
.vxe-table--tooltip-wrapper {
display: none!important;
}
</style>

@ -11,7 +11,7 @@
</el-select>
</el-form-item>
<el-form-item label="提示词类型" prop="type">
<el-select v-model="dataInfo['type']" style="width: 100%;" placeholder="请选择提示词类型" @change="selectType">
<el-select disabled v-model="dataInfo['type']" style="width: 100%;" placeholder="请选择提示词类型" @change="selectType">
<el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -145,7 +145,7 @@ export default {
dataInfo: {
rules: '(问[:](.*?))\s*答[:](.*?)(?=(问[:]|$))',
caseType: '1',
type: '1',
type: '2',
name: '',
evidenceCategoryList: [],
typeList: [],
@ -160,7 +160,7 @@ export default {
'1': ['source_text', 'attr_define'],
'2': ['headEntityType', 'tailEntityType', 'relation']
},
showFlag: true,
showFlag: false,
//
entityOptions: {
...mixin.data().gridOptions,
@ -213,7 +213,7 @@ export default {
if (this.$route.params.id) {
this.getDetails()
} else {
this.selectType('1')
this.selectType('2')
}
},
methods: {
@ -325,14 +325,14 @@ export default {
rules: '(问[:](.*?))\s*答[:](.*?)(?=(问[:]|$))',
caseType: '',
type: '1',
type: '2',
name: '',
evidenceCategoryIdList: [],
typeList: [],
extractAttributes: [],
prompt: ''
}
this.selectType('1')
this.selectType('2')
},
hasDuplicateValue(arr, key) {
const values = arr.map(obj => obj[key])
@ -390,7 +390,7 @@ export default {
display: flex;
flex-direction: column;
padding: 0 40px;
.tip {
width: 100%;
height: 70px;

@ -13,7 +13,7 @@
<vxe-grid v-bind="gridOptions" style="margin-top: 20px">
<template #operate="{row}">
<el-button type="text" @click="handleEdit(row)"></el-button>
<el-button type="text" style="color: red" @click="handleDel(row)"></el-button>
<el-button v-if="row.type ==='2'" type="text" style="color: red" @click="handleDel(row)"></el-button>
</template>
<template #type="{row}">
<span>{{ getTypeName(row.type) }}</span>
@ -147,3 +147,8 @@ export default {
}
}
</style>
<style lang="scss" >
.vxe-table--tooltip-wrapper {
display: block!important;
}
</style>

Loading…
Cancel
Save