|
|
@@ -99,6 +99,7 @@
|
|
|
:loading="formLoading"
|
|
|
:data="list"
|
|
|
:stripe="true"
|
|
|
+ height="calc(100% - 40px)"
|
|
|
:show-overflow-tooltip="true"
|
|
|
settings-cache-key="system-tree-file-list"
|
|
|
@row-dblclick="inContent"
|
|
|
@@ -200,6 +201,17 @@
|
|
|
</template>
|
|
|
</zm-table-column>
|
|
|
</zm-table>
|
|
|
+
|
|
|
+ <div v-if="fileViewMode === 'file'" class="mt-4 flex justify-end">
|
|
|
+ <el-pagination
|
|
|
+ :current-page="queryParams.pageNo"
|
|
|
+ :page-size="queryParams.pageSize"
|
|
|
+ :total="total"
|
|
|
+ background
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ @size-change="handlePageSizeChange"
|
|
|
+ @current-change="handlePageChange" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -273,11 +285,25 @@ const rootDeptOriginId = ref<TreeKey | undefined>(undefined)
|
|
|
const rootNodeName = ref('')
|
|
|
const treeOriginIdMap = ref<Record<string, TreeKey | undefined>>({})
|
|
|
|
|
|
+const total = ref(0)
|
|
|
+
|
|
|
const normalizeListData = (data: any) => {
|
|
|
- if (fileViewMode.value !== 'file') return Array.isArray(data) ? data : []
|
|
|
+ if (fileViewMode.value !== 'file') {
|
|
|
+ total.value = 0
|
|
|
+ return Array.isArray(data) ? data : []
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Array.isArray(data)) {
|
|
|
+ total.value = data.length
|
|
|
+ return data
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Array.isArray(data?.list)) {
|
|
|
+ total.value = Number(data.total ?? data.list.length ?? 0)
|
|
|
+ return data.list
|
|
|
+ }
|
|
|
|
|
|
- if (Array.isArray(data)) return data
|
|
|
- if (Array.isArray(data?.list)) return data.list
|
|
|
+ total.value = 0
|
|
|
return []
|
|
|
}
|
|
|
|
|
|
@@ -293,6 +319,10 @@ const switchViewMode = async (mode: 'folder' | 'file') => {
|
|
|
fileViewMode.value = mode
|
|
|
queryParams.filename = ''
|
|
|
queryParams.allName = null
|
|
|
+ if (mode === 'file') {
|
|
|
+ queryParams.pageNo = 1
|
|
|
+ queryParams.pageSize = 10
|
|
|
+ }
|
|
|
if (mode === 'file' && queryParams.classId == null && topNodeId.value != null) {
|
|
|
queryParams.classId = topNodeId.value
|
|
|
}
|
|
|
@@ -300,6 +330,17 @@ const switchViewMode = async (mode: 'folder' | 'file') => {
|
|
|
await getList()
|
|
|
}
|
|
|
|
|
|
+const handlePageSizeChange = async (size: number) => {
|
|
|
+ queryParams.pageSize = size
|
|
|
+ queryParams.pageNo = 1
|
|
|
+ await getList()
|
|
|
+}
|
|
|
+
|
|
|
+const handlePageChange = async (page: number) => {
|
|
|
+ queryParams.pageNo = page
|
|
|
+ await getList()
|
|
|
+}
|
|
|
+
|
|
|
const syncSelectedTreeOriginId = () => {
|
|
|
queryParams.deptId = currentTreeOriginId.value
|
|
|
}
|