|
@@ -1,45 +1,47 @@
|
|
|
<template>
|
|
|
<div class="view-table-content">
|
|
|
<div style="width: 100%">
|
|
|
- <div class="view-dataType-title">
|
|
|
- <div class="view-dataType-title-btn">
|
|
|
- <el-button type="success" @click="openDialog()">上传文件</el-button>
|
|
|
- <el-button type="warning" @click="remove(tableCheckItems)" :disabled="tableCheckItems.length == 0">删除</el-button>
|
|
|
- </div>
|
|
|
- <div class="view-dataType-title-search">
|
|
|
- <el-input placeholder="请输入名称" v-model="keyWordData" class="input1">
|
|
|
- <el-button slot="append" icon="el-icon-search" @click="searchClick"></el-button>
|
|
|
- </el-input>
|
|
|
- </div>
|
|
|
+ <div style="width: 80%; margin-left: 10%">
|
|
|
+ <!-- 分句、抽取、审核、入库 -->
|
|
|
+ <el-steps :active="active" finish-status="success" process-status="finish">
|
|
|
+ <!-- 需要判断分句中、抽取中、。。。。 -->
|
|
|
+ <el-step title="分句"></el-step>
|
|
|
+ <el-step title="抽取"></el-step>
|
|
|
+ <el-step title="审核"></el-step>
|
|
|
+ <el-step title="入库"></el-step>
|
|
|
+ </el-steps>
|
|
|
+ </div>
|
|
|
+ <div class="view-dataType-title-btn" style="float: right; margin: 10px">
|
|
|
+ <el-button v-if="active === 0" type="primary">返 回</el-button>
|
|
|
+ <el-button style="margin-right: 300px" v-if="active === 0" type="warning" @click="handleClause">分 句</el-button>
|
|
|
+ <el-button v-if="active === 1" type="warning" @click="handleExtract">抽 取</el-button>
|
|
|
+ <div style="clear: both"></div>
|
|
|
</div>
|
|
|
<div class="view-dataType-table">
|
|
|
- <LTable ref="table" @selection-change="selection" :defaultFetch="false" :fetch="fetch" :columns="columns" :dataSource="tableData" :options="options" :pagination="tableRequset"></LTable>
|
|
|
+ <div v-if="active === 0" style="width: 500px; margin: 50px 0px 0px 300px">
|
|
|
+ <el-form ref="taskFormRef" disabled :model="taskForm" label-width="80px">
|
|
|
+ <el-form-item label="任务名称" prop="taskName">
|
|
|
+ <el-input v-model="taskForm.taskName" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="抽取文件" prop="fileName">
|
|
|
+ <el-input v-model="taskForm.fileName" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <LTable ref="table" v-if="active === 1" @selection-change="selection" :defaultFetch="false" :fetch="fetch" :columns="clauseColumns" :dataSource="clauseTableData" :options="clauseOptions" :pagination="clauseTableRequset"></LTable>
|
|
|
</div>
|
|
|
<!-- 添加或修改模型信息对话框 -->
|
|
|
- <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
|
|
|
- <el-form ref="form" :model="form" label-width="80px">
|
|
|
- <!-- <el-form-item label="文件名称" prop="fileName">
|
|
|
- <el-input v-model="form.fileName" placeholder="请输入文件名称" />
|
|
|
+ <el-dialog :title="clauseDialogTitle" :visible.sync="clauseDialogVisible" width="600px" :before-close="handleClauseClose">
|
|
|
+ <el-form ref="clauseFormRef" :model="clauseForm" label-width="80px">
|
|
|
+ <el-form-item label="内容" prop="content">
|
|
|
+ <el-input type="textarea" :rows="2" v-model="clauseForm.content" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文件类型" prop="fileType">
|
|
|
- <el-select v-model="form.fileType" placeholder="请选择文件类型">
|
|
|
- <el-option v-for="item in fileTypeList" :key="item.key" :label="item.name" :value="item.key" />
|
|
|
- </el-select>
|
|
|
- </el-form-item> -->
|
|
|
- <el-form-item label="选择抽取文件" label-width="100px" prop="file">
|
|
|
- <el-select v-model="form.file" placeholder="请选择文件" @change="handleFile">
|
|
|
- <el-option v-for="item in fileList" :key="item.ossId" :label="item.fileName" :value="item.ossId" />
|
|
|
- </el-select>
|
|
|
- <!-- <FileUpload v-model="form.ossId" :limit="1" :fileSize="500" :fileType="['docx', 'doc', 'pdf', 'txt']" /> -->
|
|
|
- </el-form-item>
|
|
|
- <!-- <el-form-item label="备注" prop="remarks">
|
|
|
- <el-input type="textarea" :rows="2" v-model="form.remarks" placeholder="请输入备注" />
|
|
|
- </el-form-item> -->
|
|
|
</el-form>
|
|
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="handleClose">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submit">确 定</el-button>
|
|
|
+ <el-button @click="handleClauseClose">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="clauseSubmit">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -47,7 +49,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getknowledgeExtraction, addknowledgeExtraction, updateknowledgeExtraction, removeknowledgeExtraction } from '@/api/als/knowledgeExtraction'
|
|
|
+import { getTaskListAPI, addTaskAPI, getTaskInfoAPI, getClauseListAPI, updateClauseAPI, removeClauseAPI } from '@/api/als/knowledgeExtraction'
|
|
|
import { getAtlasFile } from '@/api/als/atlasFile'
|
|
|
import { getOssIdDataAPI } from '@/api/als/algorithm'
|
|
|
import { deepClone, debounce } from '@/utils/index'
|
|
@@ -61,67 +63,61 @@ export default {
|
|
|
return {
|
|
|
dialogTitle: '新增',
|
|
|
dialogVisible: false,
|
|
|
+ clauseDialogTitle: '编辑',
|
|
|
+ clauseDialogVisible: false,
|
|
|
keyWordData: '',
|
|
|
searchValue: '',
|
|
|
- columns: [
|
|
|
+ clauseColumns: [
|
|
|
{
|
|
|
- prop: 'file',
|
|
|
- label: '文件'
|
|
|
+ prop: 'content',
|
|
|
+ label: '内容'
|
|
|
},
|
|
|
{
|
|
|
prop: 'status',
|
|
|
- label: '文件名称'
|
|
|
+ label: '状态',
|
|
|
+ width: '240px',
|
|
|
+ render: (h, params) => {
|
|
|
+ return h('span', { class: 'success-state' }, '已分句')
|
|
|
+ }
|
|
|
},
|
|
|
- // {
|
|
|
- // prop: 'fileType',
|
|
|
- // label: '文件类型'
|
|
|
- // },
|
|
|
- // {
|
|
|
- // prop: 'ossId',
|
|
|
- // label: '文件编号'
|
|
|
- // },
|
|
|
- // {
|
|
|
- // prop: 'remarks',
|
|
|
- // label: '备注'
|
|
|
- // },
|
|
|
{
|
|
|
button: true,
|
|
|
label: '操作',
|
|
|
width: '240px',
|
|
|
group: [
|
|
|
{
|
|
|
- name: '查看抽取结果',
|
|
|
+ name: '编辑',
|
|
|
+ type: 'text',
|
|
|
+ round: false,
|
|
|
+ plain: false,
|
|
|
+ onClick: (row, index, scope) => {
|
|
|
+ this.clauseHandUpdate(row)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '删除',
|
|
|
type: 'text',
|
|
|
round: false,
|
|
|
plain: false,
|
|
|
onClick: (row, index, scope) => {
|
|
|
- this.checkExtractList(row)
|
|
|
+ this.clauseRemove([row])
|
|
|
}
|
|
|
}
|
|
|
- // {
|
|
|
- // name: '删除',
|
|
|
- // type: 'text',
|
|
|
- // round: false,
|
|
|
- // plain: false,
|
|
|
- // onClick: (row, index, scope) => {
|
|
|
- // this.remove([row])
|
|
|
- // }
|
|
|
- // }
|
|
|
]
|
|
|
}
|
|
|
],
|
|
|
- options: {
|
|
|
+ clauseOptions: {
|
|
|
stripe: true, // 斑马纹
|
|
|
- mutiSelect: true, // 多选框
|
|
|
- index: false, // 显示序号, 多选则 mutiSelect
|
|
|
+ mutiSelect: false, // 多选框
|
|
|
+ index: true, // 显示序号, 多选则 mutiSelect
|
|
|
loading: false, // 表格动画
|
|
|
initTable: false, // 是否一挂载就加载数据
|
|
|
border: true,
|
|
|
- height: 'calc(100vh - 300px)'
|
|
|
+ height: 'calc(100vh - 335px)'
|
|
|
},
|
|
|
tableCheckItems: [],
|
|
|
- tableData: [],
|
|
|
- tableRequset: {
|
|
|
+ clauseTableData: [{ content: 'XXXXXXXXX水水水水水水水' }, { content: 'mmmmmmmmmmmAAAAAAAAAAA' }],
|
|
|
+ clauseTableRequset: {
|
|
|
total: 0,
|
|
|
pageIndex: 1,
|
|
|
pageSize: 10,
|
|
@@ -133,12 +129,21 @@ export default {
|
|
|
},
|
|
|
debounceFn: debounce(this.fetch, 500),
|
|
|
fileList: [],
|
|
|
- extractId: ''
|
|
|
+ extractId: '',
|
|
|
+ active: 0,
|
|
|
+ taskForm: {
|
|
|
+ id: '',
|
|
|
+ taskName: '任务名称',
|
|
|
+ fileName: '抽取文件'
|
|
|
+ },
|
|
|
+ clauseForm: {
|
|
|
+ content: ''
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
keyWord() {
|
|
|
- this.tableRequset.pageIndex = 1
|
|
|
+ this.clauseTableRequset.pageIndex = 1
|
|
|
this.debounceFn()
|
|
|
}
|
|
|
},
|
|
@@ -171,12 +176,12 @@ export default {
|
|
|
async getknowledgeExtractionAPI(params) {
|
|
|
if (this.$refs.table) this.$refs.table.clearSelection()
|
|
|
const { keyWord } = this
|
|
|
- const { pageSize, pageIndex } = this.tableRequset
|
|
|
+ const { pageSize, pageIndex } = this.clauseTableRequset
|
|
|
const {
|
|
|
data: { list, total }
|
|
|
} = await getknowledgeExtraction({ pageSize, pageNum: pageIndex, ...params })
|
|
|
- this.tableData = list
|
|
|
- this.tableRequset.total = total
|
|
|
+ this.clauseTableData = list
|
|
|
+ this.clauseTableRequset.total = total
|
|
|
},
|
|
|
|
|
|
fetch() {
|
|
@@ -187,24 +192,9 @@ export default {
|
|
|
this.getknowledgeExtractionAPI({ name: keyWordData })
|
|
|
},
|
|
|
|
|
|
- async addknowledgeExtractionAPI() {
|
|
|
- try {
|
|
|
- delete this.form.aircaftModelName
|
|
|
- const { code } = await addknowledgeExtraction({ ...this.form })
|
|
|
- if (code === 200) {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '操作成功!'
|
|
|
- })
|
|
|
- this.handleClose()
|
|
|
- this.getknowledgeExtractionAPI()
|
|
|
- }
|
|
|
- } catch (error) {}
|
|
|
- },
|
|
|
-
|
|
|
async updateknowledgeExtractionAPI() {
|
|
|
try {
|
|
|
- const { code } = await updateknowledgeExtraction({ ...this.form })
|
|
|
+ const { code } = await updateknowledgeExtraction({ ...this.clauseForm })
|
|
|
if (code === 200) {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
@@ -218,36 +208,44 @@ export default {
|
|
|
|
|
|
openDialog() {
|
|
|
this.dialogTitle = '新增'
|
|
|
- this.dialogVisible = true
|
|
|
+ this.clauseDialogVisible = true
|
|
|
},
|
|
|
|
|
|
handleClose() {
|
|
|
- this.dialogVisible = false
|
|
|
- this.form = {
|
|
|
+ this.taskForm = {
|
|
|
id: '',
|
|
|
- fileName: '',
|
|
|
- fileType: '',
|
|
|
- ossId: '',
|
|
|
- status: '',
|
|
|
- remarks: ''
|
|
|
+ taskName: '',
|
|
|
+ fileName: ''
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- handUpdate(row) {
|
|
|
- this.dialogTitle = '编辑'
|
|
|
- this.form = deepClone(row)
|
|
|
- this.dialogVisible = true
|
|
|
+ handleClauseClose() {
|
|
|
+ this.clauseDialogVisible = false
|
|
|
+ this.clauseForm = {
|
|
|
+ content: ''
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
- submit() {
|
|
|
- switch (this.dialogTitle) {
|
|
|
- case '编辑':
|
|
|
- this.updateknowledgeExtractionAPI()
|
|
|
+ handleClause() {
|
|
|
+ // 调用分句接口
|
|
|
+ this.active = 1
|
|
|
+ },
|
|
|
|
|
|
- break
|
|
|
- case '新增':
|
|
|
- this.addknowledgeExtractionAPI()
|
|
|
+ handleExtract() {
|
|
|
+ // 调用抽取
|
|
|
+ this.active = 2
|
|
|
+ },
|
|
|
+
|
|
|
+ clauseHandUpdate(row) {
|
|
|
+ this.clauseDialogTitle = '编辑'
|
|
|
+ this.clauseForm = deepClone(row)
|
|
|
+ this.clauseDialogVisible = true
|
|
|
+ },
|
|
|
|
|
|
+ clauseSubmit() {
|
|
|
+ switch (this.clauseDialogTitle) {
|
|
|
+ case '编辑':
|
|
|
+ // this.updateknowledgeExtractionAPI()
|
|
|
break
|
|
|
}
|
|
|
},
|
|
@@ -256,8 +254,8 @@ export default {
|
|
|
this.tableCheckItems = val
|
|
|
},
|
|
|
|
|
|
- remove(row) {
|
|
|
- this.$confirm('是否删除该模型', '提示', {
|
|
|
+ clauseRemove(row) {
|
|
|
+ this.$confirm('是否删除该数据', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|