From 870a70222cfd6d373e3e3b38d5c2badd1c317b0a Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Sat, 10 May 2025 14:55:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E7=9A=84=E8=A1=A8=E5=89=8D=E7=AB=AF=20=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/table-custom.vue | 2 + src/views/system/manage-file.vue | 41 ++++++++++++++++++-- src/views/system/manage-function.vue | 42 ++++++++++++++++++--- src/views/system/manage-kbase.vue | 47 +++++++++++++++++++---- src/views/system/manage-model.vue | 56 ++++++++++++++++++++++++++-- src/views/system/manage-session.vue | 41 ++++++++++++++++++-- src/views/system/user.vue | 50 ++++++++++++++++++++----- 7 files changed, 246 insertions(+), 33 deletions(-) diff --git a/src/components/table-custom.vue b/src/components/table-custom.vue index 363aafa..61cab51 100644 --- a/src/components/table-custom.vue +++ b/src/components/table-custom.vue @@ -183,6 +183,8 @@ const handleSelectionChange = (selection: any[]) => { // 当前页码变化的事件 const handleCurrentChange = (val: number) => { + //console.log("currentPage:", val) + //console.log("props.changePage:", props.changePage) props.changePage(val) } diff --git a/src/views/system/manage-file.vue b/src/views/system/manage-file.vue index b6bd837..47ca97b 100644 --- a/src/views/system/manage-file.vue +++ b/src/views/system/manage-file.vue @@ -3,7 +3,7 @@
+ :delFunc="handleDelete" :changePage="changePage" :currentPage="page.index" :editFunc="handleEdit" :genOperate="handleGenOperate" :refresh="getData"> @@ -38,6 +38,7 @@ import TableDetail from '@/components/table-detail.vue'; import TableSearch from '@/components/table-search.vue'; import UploadFile from '@/components/upload-file.vue'; import { FormOption, FormOptionList } from '@/types/form-option'; +import { pa } from 'element-plus/es/locale'; const page = reactive({ @@ -46,6 +47,7 @@ const page = reactive({ total: 122, }) const tableData = ref([]); +const allData = ref([]); // 查询相关 const query = reactive({ @@ -69,8 +71,19 @@ const handleSearch = async () => { return; } let result = await FindUserFileService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; // 表格相关 @@ -91,14 +104,34 @@ const getData = async () => { type: "all" } let result = await FindUserFileService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; getData(); const changePage = (val: number) => { page.index = val; - getData(); + //分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); }; // 新增弹窗 diff --git a/src/views/system/manage-function.vue b/src/views/system/manage-function.vue index 90365e9..87c8982 100644 --- a/src/views/system/manage-function.vue +++ b/src/views/system/manage-function.vue @@ -3,7 +3,7 @@
+ :delFunc="handleDelete" :changePage="changePage" :currentPage="page.index" :editFunc="handleEdit" :refresh="getData"> @@ -58,8 +58,19 @@ const handleSearch = async () => { id: parseInt(query.name) } let result = await FindFunctionService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; // 表格相关 @@ -79,6 +90,7 @@ const page = reactive({ total: 122, }) const tableData = ref([]); +const allData = ref([]); const model_select_opts = ref([]); const getData = async () => { let req={ @@ -94,14 +106,34 @@ const getData = async () => { }) } let result = await FindFunctionService(req); - tableData.value = result.data; - page.total = 12; + page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; getData(); const changePage = (val: number) => { page.index = val; - getData(); + //分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); }; diff --git a/src/views/system/manage-kbase.vue b/src/views/system/manage-kbase.vue index f4dd043..06f9837 100644 --- a/src/views/system/manage-kbase.vue +++ b/src/views/system/manage-kbase.vue @@ -3,7 +3,7 @@
+ :delFunc="handleDelete" :changePage="changePage" :currentPage="page.index" :editFunc="handleEdit" :genOperate="handleGenOperate" :refresh="getData"> @@ -63,8 +63,19 @@ const handleSearch = async () => { id: parseInt(query.name) } let result = await FindKnowledgeBaseService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; // 表格相关 @@ -84,6 +95,7 @@ const page = reactive({ total: 122, }) const tableData = ref([]); +const allData = ref([]); const file_ids_select_opts = ref([]); const getData = async () => { let req={ @@ -104,10 +116,10 @@ const getData = async () => { value: userFile.ID }) } - tableData.value = result.data; + allData.value = result.data; //将文件id与对应文件对应的文件名拼接成字符串 - for (let i = 0; i < tableData.value.length; i++) { - let file_ids = JSON.parse(tableData.value[i].FileIDs.toString()) + for (let i = 0; i < allData.value.length; i++) { + let file_ids = JSON.parse(allData.value[i].FileIDs.toString()) let file_id_list = [] for (let j = 0; j < file_ids.length; j++) { file_id_list.push(file_ids[j]["file_id"]) @@ -122,16 +134,37 @@ const getData = async () => { } } } - tableData.value[i].FileNameList = file_name_list.join(",") + allData.value[i].FileNameList = file_name_list.join(",") // console.log("file_name_list:", file_name_list) } page.total = result.data.length; + page.index = 1; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); + }; getData(); const changePage = (val: number) => { page.index = val; - getData(); + //分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); }; // 新增弹窗 diff --git a/src/views/system/manage-model.vue b/src/views/system/manage-model.vue index fa8394e..c1bccba 100644 --- a/src/views/system/manage-model.vue +++ b/src/views/system/manage-model.vue @@ -3,7 +3,7 @@
+ :delFunc="handleDelete" :changePage="changePage2" :currentPage="page.currentPage" :editFunc="handleEdit" :genOperate="handleGenOperate" :refresh="getData"> @@ -38,6 +38,7 @@ import TableCustom from '@/components/table-custom.vue'; import TableDetail from '@/components/table-detail.vue'; import TableSearch from '@/components/table-search.vue'; import { FormOption, FormOptionList } from '@/types/form-option'; +import { pa } from 'element-plus/es/locale'; // 查询相关 @@ -63,8 +64,23 @@ const handleSearch = async () => { id: parseInt(query.name) } let result = await FindModelService(req); - tableData.value = result.data; + if (result["data"]==null){ + ElMessage.error("没有该模型"); + return; + } page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; // 表格相关 @@ -83,24 +99,56 @@ const page = reactive({ index: 1, size: 10, total: 122, + pageSizes: [10, 20, 30, 40], + currentPage: 1, }) const tableData = ref([]); +const allData = ref([]); const getData = async () => { let req={ token: localStorage.getItem('token'), type: "UserID" } let result = await FindModelService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); + }; getData(); -const changePage = (val: number) => { +const changePage = async (val: number) => { + console.log("page index:", page.index); page.index = val; getData(); }; +const changePage2 = async (val: number) => { + //console.log("page index:", page.index); + page.index = val; + //分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); + page.currentPage = val; +}; + // 新增弹窗 let options = ref({ labelWidth: '100px', diff --git a/src/views/system/manage-session.vue b/src/views/system/manage-session.vue index 809afc1..29c4f3a 100644 --- a/src/views/system/manage-session.vue +++ b/src/views/system/manage-session.vue @@ -3,7 +3,7 @@
+ :delFunc="handleDelete" :changePage="changePage" :currentPage="page.index" :editFunc="handleEdit" :genOperate="handleGenOperate" :refresh="getData"> @@ -47,6 +47,7 @@ const page = reactive({ total: 122, }) const tableData = ref([]); +const allData = ref([]); // 查询相关 const query = reactive({ @@ -77,8 +78,19 @@ const handleSearch = async () => { } let result = await FindSessionService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; // 表格相关 @@ -101,14 +113,35 @@ const getData = async () => { session_type: -1, } let result = await FindSessionService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; getData(); const changePage = (val: number) => { page.index = val; - getData(); + //分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); + //page.currentPage = val; }; const handleGenOperate = async (row: File) => { diff --git a/src/views/system/user.vue b/src/views/system/user.vue index 591e1d2..ca0a32f 100644 --- a/src/views/system/user.vue +++ b/src/views/system/user.vue @@ -3,7 +3,7 @@
+ :delFunc="handleDelete" :changePage="changePage" :currentPage="page.index" :editFunc="handleEdit"> @@ -52,11 +52,11 @@ const handleSearch = async () => { ElMessage.error('请输入用户名或ID'); return; } - try{ - search_id = parseInt(query.name); - }catch(e){ - search_id = -1; + // 判断query.name是否是数字 + if (isNaN(Number(query.name))) { keyword_ = query.name; + } else { + search_id = parseInt(query.name); } let req={ token: localStorage.getItem('token'), @@ -64,8 +64,19 @@ const handleSearch = async () => { keyword: keyword_, } let result = await SearchUserService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; // 表格相关 @@ -85,6 +96,7 @@ const page = reactive({ total: 122, }) const tableData = ref([]); +const allData = ref([]); const getData = async () => { let req={ token: localStorage.getItem('token'), @@ -92,14 +104,34 @@ const getData = async () => { keyword: "_121", } let result = await SearchUserService(req); - tableData.value = result.data; page.total = result.data.length; + page.index = 1; + allData.value = result.data; + // 分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = result.data.slice(start, end); }; getData(); const changePage = (val: number) => { - page.index = val; - getData(); + page.index = val; + //分页 + let start = (page.index - 1) * page.size; + let end = start + page.size; + if (end > page.total) { + end = page.total; + } + if (start > page.total) { + start = page.total; + } + tableData.value = allData.value.slice(start, end); }; // 新增弹窗