mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-11 20:06:52 +08:00
feat: 增加任务轨迹页面
- 增加 `/knowledge/track` - 增加任务轨迹列表的界面显示 - 增加任务轨迹列表详情 - 增加 `/docManage/docSplitTask/docPageEx` 接口请求
This commit is contained in:
11
src/api/knowledge/task-page.js
Normal file
11
src/api/knowledge/task-page.js
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import request from '@/assets/js/utils/request'
|
||||||
|
import getUrl from '@/assets/js/utils/get-url'
|
||||||
|
|
||||||
|
// 获取 docPageEx
|
||||||
|
export function getDocByPage(data){
|
||||||
|
return request({
|
||||||
|
url: getUrl('/docManage/docSplitTask/docPageEx'),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -1,73 +1,84 @@
|
|||||||
import layout from '@/views/app/layout/index.vue'
|
import layout from "@/views/app/layout/index.vue";
|
||||||
import redirect from '@/views/app/redirect/index.vue'
|
import redirect from "@/views/app/redirect/index.vue";
|
||||||
export default [
|
|
||||||
|
export default [
|
||||||
{
|
{
|
||||||
path: '/knowledge',
|
path: "/knowledge",
|
||||||
name: 'home',
|
name: "home",
|
||||||
component: layout,
|
component: layout,
|
||||||
redirect: '/knowledge/list',
|
redirect: "/knowledge/list",
|
||||||
meta: {
|
meta: {
|
||||||
title: 'AI知识库',
|
title: "AI知识库",
|
||||||
icon: 'el-icon-s-home',
|
icon: "el-icon-s-home",
|
||||||
affix: true
|
affix: true
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/knowledge/list',
|
path: "/knowledge/list",
|
||||||
name: 'home',
|
name: "home",
|
||||||
component: redirect,
|
component: redirect,
|
||||||
redirect: '/knowledge/list',
|
redirect: "/knowledge/list",
|
||||||
meta: {
|
meta: {
|
||||||
title: '知识库',
|
title: "知识库",
|
||||||
icon: 'el-icon-s-home',
|
icon: "el-icon-s-home",
|
||||||
affix: true
|
affix: true
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/knowledge/list',
|
path: "/knowledge/list",
|
||||||
name: 'home',
|
name: "home",
|
||||||
component: () => import('@/views/knowledge/index.vue'),
|
component: () => import("@/views/knowledge/index.vue"),
|
||||||
meta: {
|
meta: {
|
||||||
breadcrumb:false,
|
breadcrumb: false,
|
||||||
title: '知识库',
|
title: "知识库",
|
||||||
icon: 'el-icon-s-home',
|
icon: "el-icon-s-home"
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/knowledge/detail',
|
path: "/knowledge/detail",
|
||||||
name: 'detail',
|
name: "detail",
|
||||||
component: redirect,
|
component: redirect,
|
||||||
redirect: '/knowledge/detail',
|
redirect: "/knowledge/detail",
|
||||||
hidden:true,
|
hidden: true,
|
||||||
meta: {
|
meta: {
|
||||||
title: '知识库详情',
|
title: "知识库详情",
|
||||||
icon: 'el-icon-s-home',
|
icon: "el-icon-s-home"
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/knowledge/detail',
|
path: "/knowledge/detail",
|
||||||
name: 'detail',
|
name: "detail",
|
||||||
component: () => import('@/views/knowledge/detail/index.vue'),
|
component: () => import("@/views/knowledge/detail/index.vue"),
|
||||||
meta: {
|
meta: {
|
||||||
breadcrumb:false,
|
breadcrumb: false,
|
||||||
title: '知识库详情',
|
title: "知识库详情",
|
||||||
icon: 'el-icon-s-home',
|
icon: "el-icon-s-home"
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/knowledge/detail/create',
|
path: "/knowledge/detail/create",
|
||||||
name: 'create',
|
name: "create",
|
||||||
component: () => import('@/views/knowledge/detail/create.vue'),
|
component: () => import("@/views/knowledge/detail/create.vue"),
|
||||||
meta: {
|
meta: {
|
||||||
title: '知识库新增',
|
title: "知识库新增",
|
||||||
icon: 'el-icon-s-home',
|
icon: "el-icon-s-home"
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/knowledge/track",
|
||||||
|
name: "track",
|
||||||
|
component: () => import("@/views/knowledge/track/Index.vue"),
|
||||||
|
meta: {
|
||||||
|
breadcrumb: false,
|
||||||
|
title: "任务轨迹",
|
||||||
|
icon: "el-icon-s-home"
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
];
|
||||||
|
|||||||
128
src/views/knowledge/track/Index.vue
Normal file
128
src/views/knowledge/track/Index.vue
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
<script>
|
||||||
|
import { getDocByPage } from "@/api/knowledge/task-page";
|
||||||
|
import KnowledgeInfo from "@/views/knowledge/track/views/knowledge-info/Index.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
KnowledgeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
infoDialogVisible: false,
|
||||||
|
activeForm: {},
|
||||||
|
tabList: [],
|
||||||
|
currentPage: 1,
|
||||||
|
form: {
|
||||||
|
knowledge: "",
|
||||||
|
knowledgeName: "",
|
||||||
|
uploadUser: "",
|
||||||
|
taskStatus: "",
|
||||||
|
taskTime: ""
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods: {
|
||||||
|
getTableData() {
|
||||||
|
const payload = {
|
||||||
|
page: this.currentPage,
|
||||||
|
pageSize: 10,
|
||||||
|
docId: ""
|
||||||
|
};
|
||||||
|
|
||||||
|
getDocByPage(payload).then(res => {
|
||||||
|
this.tabList = res.content.content.list ? res.content.content.list : [];
|
||||||
|
console.log(res.content.content.list ? res.content.content.list : []);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleActiveInfo(scope) {
|
||||||
|
this.infoDialogVisible = true;
|
||||||
|
console.log(scope.row);
|
||||||
|
|
||||||
|
this.activeForm = scope.row;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeMount() {
|
||||||
|
console.log(`onMounted`);
|
||||||
|
this.getTableData();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<!-- 知识库信息 -->
|
||||||
|
<div>
|
||||||
|
<el-form>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="知识库">
|
||||||
|
<el-select v-model="form.knowledge">
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="知识文件名称">
|
||||||
|
<el-select v-model="form.knowledgeName">
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="上传用户">
|
||||||
|
<el-select v-model="form.uploadUser">
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="任务状态">
|
||||||
|
<el-select v-model="form.taskStatus">
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="任务时间">
|
||||||
|
<el-date-picker v-model="form.taskTime" type="daterange" unlink-panels
|
||||||
|
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 任务列表 -->
|
||||||
|
<div>
|
||||||
|
<el-table :data="tabList" style="width: 100%">
|
||||||
|
<el-table-column prop="taskCode" label="任务号" width="180">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="docTypeName" label="知识库" width="180">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="fileName" label="知识文件名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="processStatus" label="上传状态">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="createdUser" label="上传用户">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="uploadDate" label="上传时间">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="processStatus" label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button type="primary" size="mini" @click="handleActiveInfo(scope)">查看详情</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 弹出提示框, 里面是各种详情内容 -->
|
||||||
|
<el-dialog title="提示" :visible.sync="infoDialogVisible" width="60%"
|
||||||
|
:before-close="() => infoDialogVisible = false">
|
||||||
|
<knowledge-info :form="activeForm"></knowledge-info>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped></style>
|
||||||
122
src/views/knowledge/track/views/knowledge-info/Index.vue
Normal file
122
src/views/knowledge/track/views/knowledge-info/Index.vue
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'index',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
form: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({
|
||||||
|
knowledge: '',
|
||||||
|
knowledgeName: '',
|
||||||
|
uploadUser: '',
|
||||||
|
uploadTime: '',
|
||||||
|
taskNumber: '',
|
||||||
|
splitMode: '',
|
||||||
|
processStatus: 1,
|
||||||
|
failReason: '',
|
||||||
|
knowledgeContent: '',
|
||||||
|
originalContent: ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card class="box-card">
|
||||||
|
<div slot="header" class="clearfix">
|
||||||
|
<span>上传任务详情</span>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="知识库">
|
||||||
|
<el-input v-model="form.docTypeName" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="知识文件名称">
|
||||||
|
<el-input v-model="form.fileName" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="上传用户">
|
||||||
|
<el-input v-model="form.createdUser" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="上传时间">
|
||||||
|
<el-input v-model="form.createdDate" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="任务号">
|
||||||
|
<el-input v-model="form.taskCode" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="分段模式">
|
||||||
|
<el-input v-model="form.segmentMode" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="拆分模式">
|
||||||
|
<el-input v-model="form.splitMode" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="任务状态">
|
||||||
|
<el-input v-model="form.processStatus" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="3">
|
||||||
|
<el-button type="primary" size="small"
|
||||||
|
@click="() => { form.processStatus = form.processStatus === 1 ? 2 : 1 }">switch
|
||||||
|
status</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" v-if="form.processStatus === 1">
|
||||||
|
<el-form-item label="失败原因">
|
||||||
|
<el-input v-model="form.failReason" placeholder=""></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="知识内容">
|
||||||
|
<el-input type="textarea" :rows="8" v-model="form.knowledgeContent"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="原文内容">
|
||||||
|
<el-input type="textarea" :rows="8" v-model="form.originalContent"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped></style>
|
||||||
Reference in New Issue
Block a user