<template> <div> <div style="margin-bottom: 10px; display: flex; align-items: center"> <el-input class="input_content" placeholder="请输入内容" v-model="sourceList.pagination.keyword" style="width: 90%" clearable size="small" ></el-input> <div style="text-align: center; width: 10%"> <el-icon style="cursor: pointer" @click="getList"><Search /></el-icon> </div> </div> <el-row> <el-col :span="6" style="border-right: 1px solid #d7d7d7"> <div class="mulu"> <el-tree :data="treeListData" :props="{ label: 'name', children: 'netdiskList' }" ref="tree" node-key="id" @node-click="treeChange" default-expand-all :expand-on-click-node="false" ></el-tree> </div> </el-col> <el-col :span="18" style="padding: 0 5px"> <el-table :data="sourceList.data" style="width: 100%" v-loading="loading" :height="tableHeight" > <el-table-column prop="name" label="文件名" width="115" /> <el-table-column prop="createTime" label="上传时间" width="140" /> <!-- <el-table-column label="操作" width="60" fixed="right" align="center" v-if="isShowBtn" > <template #default="{ row }"> <el-button type="primary" text @click="handleClickRow(row)" ><i class="iconfont icon-iconm_wofqd"></i ></el-button> </template> </el-table-column> --> </el-table> <el-pagination style="margin-top: 10px" v-model:current-page="sourceList.pagination.pageNum" :page-size="10" layout="total, prev, pager, next" :total="sourceList.pagination.total" prev-text="上一页" next-text="下一页" @current-change="handleCurrentChange" /> </el-col> </el-row> </div> </template> <script setup> import useMailStore from "@/store/modules/mail"; const mailStore = useMailStore(); const isShowBtn = ref(false); mailStore.$subscribe((mutations, state) => { if (state.currentId.includes("write")) { isShowBtn.value = true; } else { isShowBtn.value = false; } }); const loading = ref(false); const sourceList = ref({ data: [], pagination: { total: 300, pageNum: 1, pageSize: 10, keyword: "", }, }); const treeListData = ref([]); const tableHeight = window.innerHeight - 250; const statusData = ref([ { label: "草稿", value: 0, }, { label: "审批中", value: 10, }, { label: "驳回", value: 20, }, { label: "通过", value: 30, }, { label: "终止", value: 99, }, ]); const { proxy } = getCurrentInstance(); const getList = (req) => { loading.value = true; proxy.post("/netdisk/page", sourceList.value.pagination).then((res) => { sourceList.value.data = res.rows; sourceList.value.pagination.total = res.total; setTimeout(() => { loading.value = false; }, 200); }); }; const handleCurrentChange = (val) => { sourceList.value.pagination.pageNum = val; getList(); }; const treeChange = (e) => { sourceList.value.pagination.parentFolderId = e.id; sourceList.value.pagination.pageNum = 1; getList(); }; const getTreeList = () => { proxy.get("/netdisk/tree", {}).then((res) => { treeListData.value = res.data; console.log(treeListData.value, "ada"); }); }; getTreeList(); getList(); const handleClickRow = (row) => { console.log(row, "ada"); }; </script> <style lang="scss" scoped> * { font-size: 12px; } .el-button { padding: 0px; } .btn { width: 100%; border-radius: 10px; padding: 6px 10px; height: 24px; } .el-pagination { padding-left: 30px; } :deep(.el-pagination button, .el-pager li) { font-size: 12px; } :deep(.el-table .el-table__cell) { padding: 2px 0px; } </style> <style lang="scss"> .mulu { width: 100%; padding: 0 5px; height: calc(100vh - 50px - 50px - 10px - 30px - 28px - 46px - 35px - 24px); overflow-y: auto; overflow-x: auto; .el-tree { .el-tree-node.is-expanded > .el-tree-node__children { overflow: visible; } .el-tree-node > .el-tree-node__children { overflow: visible; } .el-tree-node__content { height: 26px !important; } } } </style>