文件编辑相关 上传 获取列表 下载

This commit is contained in:
XaoLi717 2024-09-23 11:33:06 +08:00
parent f4a887c4a1
commit af3e24ec48
4 changed files with 71 additions and 81 deletions

View File

@ -14,13 +14,12 @@ export interface onlyofVO {
// 文件编辑 API // 文件编辑 API
export const onlyofApi = { export const onlyofApi = {
// 文件编辑 // 文件编辑
getonlyofedit: async (editvo) => { getOnlyOfList: async () => {
console.log("getonlyofedit",editvo) console.log('getOnlyOfList',await request.get({ url: `/only/onlyof/filelist`}))
return await request.get({ url: `/only/onlyof/edit`,params: editvo}) return await request.get({ url: `/only/onlyof/filelist`})
}, },
// 新增文件编辑 // 新增文件编辑
uploadFile: async (data) => { uploadFile: async (data) => {
console.log("4567890",data)
return await request.post({ url: `/only/onlyof/update`, data }) return await request.post({ url: `/only/onlyof/update`, data })
}, },
// 查询文件编辑分页 // 查询文件编辑分页

View File

@ -5,7 +5,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="4"> <el-col :span="4">
<input type="file" ref="myfile"/> <input type="file" ref="myfile"/>
<el-button @click="upload" type="success" size="mini" icon="el-icon-upload2">上传文件</el-button> <el-button @click="upload" type="success" size="small" icon="el-icon-upload2">上传文件</el-button>
</el-col> </el-col>
</el-row> </el-row>
<!-- 用户列表区域--> <!-- 用户列表区域-->
@ -13,7 +13,7 @@
<!-- stripe: 斑马条纹 <!-- stripe: 斑马条纹
border边框--> border边框-->
<el-table-column type="index" label="#"/> <el-table-column type="index" label="#"/>
<el-table-column prop="file_name" label="文件名称"/> <el-table-column prop="fileName" label="文件名称"/>
<el-table-column label="操作"> <el-table-column label="操作">
<template v-slot="scope"> <template v-slot="scope">
<el-button <el-button
@ -48,7 +48,7 @@
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
import axios from 'axios'; import axios from 'axios';
import { getAccessToken } from '@/utils/auth' import { getAccessToken } from '@/utils/auth'
import {onlyofApi} from "@/api/only/only"; // import {onlyofApi} from "@/api/only/only";
// //
const fileList = ref([]); const fileList = ref([]);
@ -56,10 +56,10 @@ const myfile = ref(null);
// //
const getFileList = async () => { const getFileList = async () => {
console.log("123456789") const token = getAccessToken();
try { try {
const response = await axios.get('http://192.168.1.3:20053/filelist'); const response = await axios.get(`http://192.168.1.3:48080/admin-api/only/onlyof/filelist?token=${token}`);
console.log("response",response) // const response = await onlyofApi.getOnlyOfList();
fileList.value = response.data; fileList.value = response.data;
} catch (error) { } catch (error) {
console.error('Failed to fetch file list:', error); console.error('Failed to fetch file list:', error);
@ -70,20 +70,15 @@ const getFileList = async () => {
const upload = async () => { const upload = async () => {
const fileInput = myfile.value; const fileInput = myfile.value;
const file = fileInput.files[0]; const file = fileInput.files[0];
console.log("222",file)
const formData = new FormData(); const formData = new FormData();
const token = getAccessToken(); const token = getAccessToken();
console.log("token",token)
const configs = { const configs = {
headers: { 'Authorization': `Bearer ${token}`,'Content-Type': 'multipart/form-data' } headers: { 'Authorization': `Bearer ${token}`,'Content-Type': 'multipart/form-data' }
} }
formData.append('file', file); formData.append('file', file);
console.log("6789",formData)
try { try {
// const response = await axios.post('http://192.168.1.3:48080/upload', formData, configs);
const response = await axios.post('http://192.168.1.3:48080/admin-api/only/onlyof/update', formData, configs); const response = await axios.post('http://192.168.1.3:48080/admin-api/only/onlyof/update', formData, configs);
// const response = await onlyofApi.uploadFile(file)
console.log(response); console.log(response);
} catch (error) { } catch (error) {
console.error('Upload failed:', error); console.error('Upload failed:', error);
@ -98,32 +93,28 @@ const editvo = ({
// //
const edit = async (row) => { const edit = async (row) => {
const token = getAccessToken(); const token = getAccessToken();
console.log("row", token) editvo.name=row.fileName
editvo.name=row.file_name
editvo.username="admin" editvo.username="admin"
editvo.userid="1" editvo.userid="1"
console.log("editvo", editvo) window.open(`http://192.168.1.3:48080/admin-api/only/onlyof/edit?name=${row.fileName}&userName=admin&userId=1&token=${token}`);
// const response = await onlyofApi.getonlyofedit(editvo);
window.open(`http://192.168.1.3:48080/admin-api/only/onlyof/edit?name=${row.file_name}&userName=admin&userId=1&token=${token} `);
}; };
// //
const review = (row) => { const review = () => {
// Implement review functionality here
}; };
// //
const download = async (row) => { const download = async (row) => {
try { try {
const response = await axios.get(`http://192.168.1.3:20053/editStatus?name=${row.file_name}`); const token = getAccessToken();
const response = await axios.get(`http://192.168.1.3:48080/admin-api/only/onlyof/editStatus?name=${row.fileName}&token=${token}`);
if (response.data.error === 0) { if (response.data.error === 0) {
alert('文档正在编辑5秒后开始下载最新版'); alert('文档正在编辑5秒后开始下载最新版');
setTimeout(() => { setTimeout(() => {
window.location.href = `http://192.168.1.3:20053/download?name=v1${row.file_name}`; window.location.href = `http://192.168.1.3:48080/admin-api/only/onlyof/download?name=v1${row.fileName}&token=${token}`;
}, 5000); }, 5000);
} else { } else {
alert('文档未编辑,开始下载!'); window.location.href = `http://192.168.1.3:48080/admin-api/only/onlyof/download?name=${row.fileName}&token=${token}`;
window.location.href = `http://192.168.0.58:20053/download?name=${row.file_name}`;
} }
} catch (error) { } catch (error) {
console.error('Download failed:', error); console.error('Download failed:', error);

View File

@ -17,55 +17,55 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="文件大小" prop="fileSize"> <!-- <el-form-item label="文件大小" prop="fileSize">-->
<el-input <!-- <el-input-->
v-model="queryParams.fileSize" <!-- v-model="queryParams.fileSize"-->
placeholder="请输入文件大小" <!-- placeholder="请输入文件大小"-->
clearable <!-- clearable-->
@keyup.enter="handleQuery" <!-- @keyup.enter="handleQuery"-->
class="!w-240px" <!-- class="!w-240px"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="文件类型" prop="fileType"> <!-- <el-form-item label="文件类型" prop="fileType">-->
<el-select <!-- <el-select-->
v-model="queryParams.fileType" <!-- v-model="queryParams.fileType"-->
placeholder="请选择文件类型" <!-- placeholder="请选择文件类型"-->
clearable <!-- clearable-->
class="!w-240px" <!-- class="!w-240px"-->
> <!-- >-->
<el-option label="请选择字典生成" value="" /> <!-- <el-option label="请选择字典生成" value="" />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="文件路径" prop="filePath"> <!-- <el-form-item label="文件路径" prop="filePath">-->
<el-input <!-- <el-input-->
v-model="queryParams.filePath" <!-- v-model="queryParams.filePath"-->
placeholder="请输入文件路径" <!-- placeholder="请输入文件路径"-->
clearable <!-- clearable-->
@keyup.enter="handleQuery" <!-- @keyup.enter="handleQuery"-->
class="!w-240px" <!-- class="!w-240px"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="更新时间" prop="uploadDate"> <!-- <el-form-item label="更新时间" prop="uploadDate">-->
<el-date-picker <!-- <el-date-picker-->
v-model="queryParams.uploadDate" <!-- v-model="queryParams.uploadDate"-->
value-format="YYYY-MM-DD HH:mm:ss" <!-- value-format="YYYY-MM-DD HH:mm:ss"-->
type="daterange" <!-- type="daterange"-->
start-placeholder="开始日期" <!-- start-placeholder="开始日期"-->
end-placeholder="结束日期" <!-- end-placeholder="结束日期"-->
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" <!-- :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"-->
class="!w-240px" <!-- class="!w-240px"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="知识状态0正常 1停用" prop="status"> <!-- <el-form-item label="知识状态0正常 1停用" prop="status">-->
<el-select <!-- <el-select-->
v-model="queryParams.status" <!-- v-model="queryParams.status"-->
placeholder="请选择知识状态0正常 1停用" <!-- placeholder="请选择知识状态0正常 1停用"-->
clearable <!-- clearable-->
class="!w-240px" <!-- class="!w-240px"-->
> <!-- >-->
<el-option label="请选择字典生成" value="" /> <!-- <el-option label="请选择字典生成" value="" />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker
v-model="queryParams.createTime" v-model="queryParams.createTime"
@ -104,13 +104,13 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="id" align="center" prop="id" /> <!-- <el-table-column label="id" align="center" prop="id" />-->
<el-table-column label="文件名" align="center" prop="fileName" /> <el-table-column label="文件名" align="center" prop="fileName" />
<el-table-column label="文件大小" align="center" prop="fileSize" /> <el-table-column label="文件大小" align="center" prop="fileSize" />
<el-table-column label="文件类型" align="center" prop="fileType" /> <el-table-column label="文件类型" align="center" prop="fileType" />
<el-table-column label="文件路径" align="center" prop="filePath" /> <el-table-column label="文件路径" align="center" prop="filePath" />
<el-table-column label="更新时间" align="center" prop="uploadDate" /> <!-- <el-table-column label="更新时间" align="center" prop="uploadDate" />-->
<el-table-column label="知识状态0正常 1停用" align="center" prop="status" /> <el-table-column label="知识状态" align="center" prop="status" />
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"
@ -243,4 +243,4 @@ const handleExport = async () => {
onMounted(() => { onMounted(() => {
getList() getList()
}) })
</script> </script>

View File

@ -29,7 +29,7 @@
placeholder="选择更新时间" placeholder="选择更新时间"
/> />
</el-form-item> </el-form-item>
<el-form-item label="知识状态0正常 1停用" prop="status"> <el-form-item label="知识状态" prop="status">
<el-radio-group v-model="formData.status"> <el-radio-group v-model="formData.status">
<el-radio label="1">请选择字典生成</el-radio> <el-radio label="1">请选择字典生成</el-radio>
</el-radio-group> </el-radio-group>
@ -124,4 +124,4 @@ const resetForm = () => {
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }
</script> </script>