|
@@ -49,7 +49,13 @@
|
|
|
:model="searchForm"
|
|
|
class="demo-form-inline"
|
|
|
label-width="100px"
|
|
|
- >
|
|
|
+ ><el-form-item label="名称:">
|
|
|
+ <el-input
|
|
|
+ v-model="searchForm.name"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入文献名称"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="创建时间:">
|
|
|
<el-date-picker
|
|
|
v-model="searchForm.createTimeRange"
|
|
@@ -57,22 +63,23 @@
|
|
|
range-separator="至"
|
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文本时间:">
|
|
|
+ <!-- <el-form-item label="文本时间:">
|
|
|
<el-date-picker
|
|
|
v-model="searchForm.textTimeRange"
|
|
|
type="daterange"
|
|
|
range-separator="至"
|
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
/>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="标签:">
|
|
|
<el-select
|
|
|
- v-model="searchForm.tag"
|
|
|
+ v-model="searchForm.id"
|
|
|
+ multiple
|
|
|
filterable
|
|
|
remote
|
|
|
reserve-keyword
|
|
@@ -85,7 +92,7 @@
|
|
|
v-for="tag in searchTagOptions"
|
|
|
:key="tag.id"
|
|
|
:label="tag.name"
|
|
|
- :value="tag.id"
|
|
|
+ :value="tag.name"
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -111,13 +118,26 @@
|
|
|
@selection-change="handleSelectionChange"
|
|
|
>
|
|
|
<el-table-column type="selection" width="55" />
|
|
|
- <el-table-column prop="id" label="ID" />
|
|
|
+ <el-table-column prop="id" label="ID" width="80" />
|
|
|
<el-table-column prop="name" label="名称">
|
|
|
<template #default="{ row }">
|
|
|
<el-link @click="handleNameClick(row)">{{ row.name }}</el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="type" label="文档类型" />
|
|
|
+ <el-table-column prop="create_time" label="创建时间" />
|
|
|
+ <el-table-column prop="type" label="文档类型" width="100" />
|
|
|
+ <el-table-column prop="tags" label="已绑定标签">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-tag
|
|
|
+ v-for="(item, index) in row.tags"
|
|
|
+ :key="index"
|
|
|
+ type=""
|
|
|
+ :style="index !== 0 ? 'margin-left: 5px;' : ''"
|
|
|
+ >
|
|
|
+ {{ item }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="status" label="处理状态">
|
|
|
<template #default="{ row }">
|
|
|
<el-tag :type="getStatusType(row.status)">
|
|
@@ -167,11 +187,12 @@
|
|
|
<el-dialog
|
|
|
title="批量绑定标签"
|
|
|
:visible.sync="tagDialogVisible"
|
|
|
- width="500px"
|
|
|
+ width="800px"
|
|
|
>
|
|
|
- <el-form :model="tagForm">
|
|
|
- <el-form-item label="标签">
|
|
|
+ <el-form :model="tagForm" label-width="150px">
|
|
|
+ <el-form-item label="标签:">
|
|
|
<el-select
|
|
|
+ style="width: 350px"
|
|
|
v-model="tagForm.tags"
|
|
|
multiple
|
|
|
filterable
|
|
@@ -210,6 +231,7 @@ import {
|
|
|
getDetail,
|
|
|
search_tags,
|
|
|
edit_tags,
|
|
|
+ search,
|
|
|
} from "@/api/knowledge";
|
|
|
import axios from "axios";
|
|
|
// 状态映射表
|
|
@@ -240,9 +262,10 @@ export default {
|
|
|
sotaDetailsList: [], // SOTA详情列表数据
|
|
|
sotaSummaryList: [], // SOTA汇总表数据
|
|
|
searchForm: {
|
|
|
+ name: "",
|
|
|
createTimeRange: [],
|
|
|
textTimeRange: [],
|
|
|
- tag: "",
|
|
|
+ id: [],
|
|
|
},
|
|
|
selectedRows: [], // 选中的行
|
|
|
tagDialogVisible: false, // 标签对话框显示状态
|
|
@@ -324,7 +347,7 @@ export default {
|
|
|
ids,
|
|
|
tagIds: this.tagForm.tags, // 现在传递的是标签ID数组
|
|
|
}); */
|
|
|
- const idObject={literature_ids:ids,tag_ids:this.tagForm.tags}
|
|
|
+ const idObject = { literature_ids: ids, tag_ids: this.tagForm.tags };
|
|
|
const response = await axios.post(
|
|
|
`${process.env.VUE_APP_BASE_API}/literature-tags/relation_tags/`,
|
|
|
idObject,
|
|
@@ -334,7 +357,7 @@ export default {
|
|
|
},
|
|
|
}
|
|
|
);
|
|
|
- if(response.status!==200) return
|
|
|
+ if (response.status !== 200) return;
|
|
|
console.log(this.tagForm.tags);
|
|
|
this.$message.success("标签更新成功");
|
|
|
this.tagDialogVisible = false;
|
|
@@ -352,9 +375,10 @@ export default {
|
|
|
// 重置搜索
|
|
|
resetSearch() {
|
|
|
this.searchForm = {
|
|
|
+ name: "",
|
|
|
createTimeRange: [],
|
|
|
textTimeRange: [],
|
|
|
- tag: "",
|
|
|
+ id: [],
|
|
|
};
|
|
|
this.handleSearch();
|
|
|
},
|
|
@@ -430,20 +454,37 @@ export default {
|
|
|
async fetchGpuList() {
|
|
|
this.isLoading = true;
|
|
|
try {
|
|
|
+ // 构建基础参数
|
|
|
const params = {
|
|
|
page: this.currentPage,
|
|
|
page_size: this.pageSize,
|
|
|
doc_type_id: this.selectedType || 36,
|
|
|
- // 添加搜索参数
|
|
|
- create_time_start: this.searchForm.createTimeRange[0],
|
|
|
- create_time_end: this.searchForm.createTimeRange[1],
|
|
|
- text_time_start: this.searchForm.textTimeRange[0],
|
|
|
- text_time_end: this.searchForm.textTimeRange[1],
|
|
|
- tag: this.searchForm.tag,
|
|
|
+ keyword: this.searchForm.name,
|
|
|
+ tag_names: this.searchForm.id,
|
|
|
};
|
|
|
|
|
|
- const { data } = await GET_list(params);
|
|
|
- this.gpuList = data.list.map((item) => {
|
|
|
+ // 只有当日期范围存在且有效时才添加日期参数
|
|
|
+ if (
|
|
|
+ this.searchForm.createTimeRange &&
|
|
|
+ this.searchForm.createTimeRange.length === 2
|
|
|
+ ) {
|
|
|
+ params.create_time_start = this.searchForm.createTimeRange[0];
|
|
|
+ params.create_time_end = this.searchForm.createTimeRange[1];
|
|
|
+ }
|
|
|
+
|
|
|
+ const response = await axios.post(
|
|
|
+ `${process.env.VUE_APP_BASE_API}/literature-data/search/`,
|
|
|
+ params,
|
|
|
+ {
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ if (response.status !== 200) return;
|
|
|
+
|
|
|
+ this.gpuList = response.data.data.list.map((item) => {
|
|
|
const nameParts = item.name.split(".");
|
|
|
return {
|
|
|
...item,
|
|
@@ -451,11 +492,12 @@ export default {
|
|
|
type: nameParts.length > 1 ? nameParts.pop() : "未知",
|
|
|
};
|
|
|
});
|
|
|
- console.log(this.gpuList);
|
|
|
- this.total = data.total;
|
|
|
- this.currentPage = data.current_page;
|
|
|
- this.pageSize = data.page_size;
|
|
|
+
|
|
|
+ this.total = response.data.data.total;
|
|
|
+ this.currentPage = response.data.data.current_page;
|
|
|
+ this.pageSize = response.data.data.page_size;
|
|
|
} catch (error) {
|
|
|
+ console.error("获取列表数据失败:", error); // 添加错误日志输出
|
|
|
this.$message.error("获取列表数据失败");
|
|
|
} finally {
|
|
|
this.isLoading = false;
|