Ver Fonte

qhse体系文件优化

yanghao há 2 semanas atrás
pai
commit
f1995611f7
1 ficheiros alterados com 44 adições e 3 exclusões
  1. 44 3
      src/views/pms/qhse/data/index.vue

+ 44 - 3
src/views/pms/qhse/data/index.vue

@@ -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
 }