From 33889c6b19467e2f8dae9990359704adc6e3419d Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期日, 07 七月 2024 22:13:49 +0800
Subject: [PATCH] 部门管理树状

---
 src/views/education/department/list.vue |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/views/education/department/list.vue b/src/views/education/department/list.vue
index 9c2dc67..1e2e0fe 100644
--- a/src/views/education/department/list.vue
+++ b/src/views/education/department/list.vue
@@ -15,7 +15,14 @@
       </el-form-item>
     </el-form>
 
-    <el-table v-loading="listLoading" :data="tableData" stripe border fit highlight-current-row style="width: 100%">
+    <el-table
+      v-loading="listLoading"
+      :data="tableData" border fit
+      style="width: 100%"
+      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+      :row-class-name="tableRowClassName"
+      row-key="id"
+    >
       <el-table-column prop="name" label="閮ㄩ棬"/>
       <el-table-column prop="adminNames" label="閮ㄩ棬璐熻矗浜�"/>
 <!--      <el-table-column prop="levelName" label="閮ㄩ棬" />-->
@@ -29,8 +36,6 @@
         </template>
       </el-table-column>
     </el-table>
-    <pagination v-show="total>0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize"
-                @pagination="search"/>
 
     <el-dialog
       :title="title"
@@ -74,8 +79,6 @@
       depart: [],
       queryParam: {
         level: null,
-        pageIndex: 1,
-        pageSize: 10
       },
       listLoading: true,
       tableData: [],
@@ -86,6 +89,12 @@
     this.search()
   },
   methods: {
+    tableRowClassName({row, rowIndex}) {
+      if (row.children && row.children.length > 0) {
+        return 'success-row';
+      }
+      return '';
+    },
     changSelect( value ) {
       this.updateAdminForm.adminId = value
     },
@@ -123,19 +132,16 @@
     search () {
       this.listLoading = true
       departmentApi.pageList(this.queryParam).then(data => {
-        const re = data.response
-        this.tableData = re.list
-        this.tableData.map(item => {
+        this.tableData = data.response
+        this.tableData.forEach(item => {
           if (item.adminNames) {
             item.adminNames = item.adminNames.join("銆�")
           }
         })
-        this.total = re.total
-        this.queryParam.pageIndex = re.pageNum
         this.listLoading = false
 
-        this.depart = data.response.list
-        this.depart.map(item => {
+        this.depart = data.response
+        this.depart.forEach(item => {
           item.key = item.id
           item.value = item.name
         })
@@ -143,7 +149,6 @@
       })
     },
     submitForm () {
-      this.queryParam.pageIndex = 1
       this.search()
     },
     delSubject (row) {
@@ -172,3 +177,8 @@
   }
 }
 </script>
+<style scoped>
+.el-table .success-row {
+  background: oldlace;
+}
+</style>

--
Gitblit v1.8.0