|
@@ -12,7 +12,10 @@
|
|
|
getDatasetFileList,
|
|
|
deleteFileById
|
|
|
} from '@/api/ai'
|
|
|
-
|
|
|
+ import {
|
|
|
+ ElMessage,
|
|
|
+ ElMessageBox
|
|
|
+ } from 'element-plus'
|
|
|
import {
|
|
|
useUserStore
|
|
|
} from '@/store'
|
|
@@ -22,7 +25,10 @@
|
|
|
const userStore = useUserStore().userData;
|
|
|
const datasetId = ref('');
|
|
|
const dataSetUploadRef = ref(null);
|
|
|
+ const loading = ref(false)
|
|
|
const total = ref(0);
|
|
|
+ const currentPage = ref(1);
|
|
|
+ const pageSize = ref(10);
|
|
|
const init = async () => {
|
|
|
let list = await getDatasetList({
|
|
|
organizationId: userStore.organization.id
|
|
@@ -40,18 +46,19 @@
|
|
|
organizationId: userStore.organization.id,
|
|
|
userId: userStore.userId
|
|
|
})
|
|
|
- // if (insertData.state) init();
|
|
|
+ if (insertData.state) datasetId.value = insertData.data;
|
|
|
}
|
|
|
const getFileData = async () => {
|
|
|
- let fileData = await getDatasetFileList(datasetId.value)
|
|
|
- console.log(fileData);
|
|
|
-
|
|
|
+ loading.value = true;
|
|
|
+ let fileData = await getDatasetFileList(datasetId.value, currentPage.value, pageSize.value);
|
|
|
+ if (fileData.state) {
|
|
|
+ total.value = fileData.data.total;
|
|
|
+ tableData.value = fileData.data.data;
|
|
|
+ }
|
|
|
+ loading.value = false;
|
|
|
}
|
|
|
const upload = () => {
|
|
|
dataSetUploadRef.value.handleUpload();
|
|
|
- }
|
|
|
- const uploadImage = () => {
|
|
|
-
|
|
|
}
|
|
|
const testWordCount = (num) => {
|
|
|
return num < 1000 ? num : parseFloat(num / 1000).toFixed(1) + 'K'
|
|
@@ -62,7 +69,22 @@
|
|
|
let date = new Date(time)
|
|
|
return dayjs(date).format('YYYY-MM-DD HH:mm:ss')
|
|
|
}
|
|
|
-
|
|
|
+ const deleteFile = (item) => {
|
|
|
+ ElMessageBox.confirm(
|
|
|
+ '是否确认删除该文档,删除后不可恢复?',
|
|
|
+ 'WorkArk.AI提示', {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ }
|
|
|
+ ).then(async () => {
|
|
|
+ let deleteNode = await deleteFileById(item.id);
|
|
|
+ if (deleteNode.state) {
|
|
|
+ ElMessage.success('操作成功');
|
|
|
+ init();
|
|
|
+ }
|
|
|
+ }).catch(() => {})
|
|
|
+ }
|
|
|
onMounted(() => {
|
|
|
init();
|
|
|
})
|
|
@@ -74,11 +96,11 @@
|
|
|
<el-button type="primary" :icon="Plus" @click="upload">添加文件</el-button>
|
|
|
<DataSetUpload v-if="datasetId" :action="`/api/ai/dataset/file/${datasetId}`" ref="dataSetUploadRef"
|
|
|
accept=".TXT,.MARKDOWN,.MDX,.PDF,.HTML,.XLSX,.XLS,.DOCX,.CSV,.VTT,.PROPERTIES,.MD,.HTM" v-show="false"
|
|
|
- @uploadImage="uploadImage">
|
|
|
+ @uploadSuccess="getFileData">
|
|
|
</DataSetUpload>
|
|
|
</div>
|
|
|
<div class="wui-flex-box">
|
|
|
- <el-table :data="tableData" height="100%">
|
|
|
+ <el-table :data="tableData" height="100%" v-loading="loading">
|
|
|
<el-table-column label="序号" width="80">
|
|
|
<template #default="{ $index }">{{ $index + 1 }}</template>
|
|
|
</el-table-column>
|
|
@@ -86,13 +108,19 @@
|
|
|
<el-table-column label="字符数" width="180">
|
|
|
<template #default="scope">{{ testWordCount(scope.row.word_count)}}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="上传时间" width="180">
|
|
|
+ <el-table-column label="上传时间" width="200">
|
|
|
<template #default="scope">{{ formatTime(scope.row.created_at)}}</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="状态" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-tag type="success" v-if="scope.row.enabled">可用</el-tag>
|
|
|
+ <el-tag type="info" v-else>禁用</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="操作" width="180">
|
|
|
<template #default="scope">
|
|
|
- <div class="">
|
|
|
- <el-button type="danger" size="small">删除</el-button>
|
|
|
+ <div>
|
|
|
+ <el-button type="danger" size="small" @click="deleteFile(scope.row)">删除</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -102,7 +130,10 @@
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<div class="wui-table-pagination">
|
|
|
- <el-pagination background layout="prev, pager, next" :total="total"></el-pagination>
|
|
|
+ <el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize" background
|
|
|
+ layout="total,sizes, prev, pager, next" :pager-count="7" :total="total" :page-sizes="[10,15,20,25]"
|
|
|
+ @change="getFileData">
|
|
|
+ </el-pagination>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|