From 743a085df156140f4a3f4ae2d03e910790181945 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期一, 08 四月 2024 15:05:12 +0800
Subject: [PATCH] 新增查询条件

---
 src/views/Home.vue |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/src/views/Home.vue b/src/views/Home.vue
index 145fe60..f2cc6f3 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -56,6 +56,7 @@
   import { loginOut, getDistrictInfo } from "@/api/login";
   import { Session, getUserInfo} from '@/util/storage';
   import Cookies from "js-cookie";
+  import {getAreaWithUserIfo} from "@/api/user";
 	export default {
 		name: "Home",
 		data() {
@@ -84,6 +85,7 @@
 				})
 				this.addListener()
 			}
+      this.getAreaUsers(getUserInfo().districtId)
 		},
 		watch: {
 			'$route': function(newRoute) {
@@ -217,6 +219,59 @@
 				const path = closePath && closePath.split('?')[0]
 				this.remove(path, nextRoute)
 			},
+      async getAreaUsers(districtId) {
+        let t = this
+        let res = await getAreaWithUserIfo()
+        if (res.data.code == 100) {
+          if (res.data.data) {
+            t.userTitTree(res.data.data)
+            const areaUsers = t.findNodeById(res.data.data, districtId).children
+            localStorage.removeItem('areaUsers')
+            localStorage.setItem('areaUsers',JSON.stringify(areaUsers))
+          } else {
+            console.log('暂无数据')
+          }
+        } else {
+          this.$message.warning(res.data.msg);
+        }
+      },
+
+      // 根据id查对象
+      findNodeById(data, value) {
+        for (const node of data) {
+          if (node.id === value) {
+            return node;
+          }
+          if (node.children) {
+            const foundNode = this.findNodeById(node.children, value);
+            if (foundNode) {
+              return foundNode;
+            }
+          }
+        }
+        return null;
+      },
+
+      // 将树状数据name字段放入users的姓名电话
+      userTitTree(treeData) {
+        for (const node of treeData) {
+          if (node.users) {
+            node.users = node.users.filter(i => i.roleId == 3)
+            node.users = node.users.map((i) => {
+              return {
+                ...i,
+                unittype: node.type,
+                districtId: node.id
+              }
+            })
+            node.name = node.name + '(' + node.users.map(i => i.realName + ' ' + i.phone).join(',') + ')'
+          }
+          if (node.children) {
+            this.userTitTree(node.children)
+          }
+        }
+        return treeData
+      }
 		}
 	};
 </script>

--
Gitblit v1.9.2