From ad847473401730c14a5d667bd06afcb7d4575eb6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 22 二月 2024 09:33:40 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/system/menu/index.jsx | 102 ++++++++++----------
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java | 40 ++++++++
zy-asrs-flow/src/pages/system/dept/index.jsx | 82 ++++++++--------
zy-asrs-flow/src/pages/system/user/index.jsx | 20 ++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/DeptController.java | 13 +-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/MenuController.java | 15 ++-
6 files changed, 163 insertions(+), 109 deletions(-)
diff --git a/zy-asrs-flow/src/pages/system/dept/index.jsx b/zy-asrs-flow/src/pages/system/dept/index.jsx
index 6b689dc..1db8636 100644
--- a/zy-asrs-flow/src/pages/system/dept/index.jsx
+++ b/zy-asrs-flow/src/pages/system/dept/index.jsx
@@ -110,12 +110,12 @@
valueType: 'text',
hidden: false,
width: 240,
- filterDropdown: (props) => <TextFilter
- name='name'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <TextFilter
+ // name='name'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '涓婄骇閮ㄩ棬',
@@ -188,12 +188,12 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <TextFilter
- name='leader'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <TextFilter
+ // name='leader'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '鏁伴噺',
@@ -214,12 +214,12 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <TextFilter
- name='sort'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <TextFilter
+ // name='sort'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
render: (_, record) => {
return <span style={{ fontWeight: "bold" }}>{_}</span>
}
@@ -230,16 +230,16 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <SelectFilter
- name='status'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- data={[
- { label: '姝e父', value: 1 },
- { label: '绂佺敤', value: 0 },
- ]}
- />,
+ // filterDropdown: (props) => <SelectFilter
+ // name='status'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // data={[
+ // { label: '姝e父', value: 1 },
+ // { label: '绂佺敤', value: 0 },
+ // ]}
+ // />,
render: (_, record) => {
const status = statusMap[record.status]
return <Tag color={status.color}>{status.text}</Tag>
@@ -251,12 +251,12 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <DatetimeRangeFilter
- name='updateTime'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <DatetimeRangeFilter
+ // name='updateTime'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '淇敼浜哄憳',
@@ -264,13 +264,13 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <LinkFilter
- name='updateBy'
- major='user'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <LinkFilter
+ // name='updateBy'
+ // major='user'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '澶囨敞',
diff --git a/zy-asrs-flow/src/pages/system/menu/index.jsx b/zy-asrs-flow/src/pages/system/menu/index.jsx
index d2ad362..c86ee75 100644
--- a/zy-asrs-flow/src/pages/system/menu/index.jsx
+++ b/zy-asrs-flow/src/pages/system/menu/index.jsx
@@ -122,12 +122,12 @@
valueType: 'text',
hidden: false,
width: 240,
- filterDropdown: (props) => <TextFilter
- name='name'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <TextFilter
+ // name='name'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '涓婄骇鑿滃崟',
@@ -187,12 +187,12 @@
valueType: 'text',
hidden: false,
width: 200,
- filterDropdown: (props) => <TextFilter
- name='route'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <TextFilter
+ // name='route'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '椤甸潰缁勪欢',
@@ -243,16 +243,16 @@
const type = typeMap[record.type]
return <Tag color={type.color}>{type.text}</Tag>
},
- filterDropdown: (props) => <SelectFilter
- name='type'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- data={[
- { label: '鑿滃崟', value: 0 },
- { label: '鎸夐挳', value: 1 },
- ]}
- />,
+ // filterDropdown: (props) => <SelectFilter
+ // name='type'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // data={[
+ // { label: '鑿滃崟', value: 0 },
+ // { label: '鎸夐挳', value: 1 },
+ // ]}
+ // />,
},
{
title: '鏉冮檺鏍囪瘑',
@@ -260,12 +260,12 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <TextFilter
- name='authority'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <TextFilter
+ // name='authority'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '鑿滃崟鍥炬爣',
@@ -310,16 +310,16 @@
const status = statusMap[record.status]
return <Tag color={status.color}>{status.text}</Tag>
},
- filterDropdown: (props) => <SelectFilter
- name='status'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- data={[
- { label: '姝e父', value: 1 },
- { label: '绂佺敤', value: 0 },
- ]}
- />,
+ // filterDropdown: (props) => <SelectFilter
+ // name='status'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // data={[
+ // { label: '姝e父', value: 1 },
+ // { label: '绂佺敤', value: 0 },
+ // ]}
+ // />,
},
{
title: '娣诲姞鏃堕棿',
@@ -354,12 +354,12 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <DatetimeRangeFilter
- name='updateTime'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <DatetimeRangeFilter
+ // name='updateTime'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '淇敼浜哄憳',
@@ -367,13 +367,13 @@
valueType: 'text',
hidden: false,
width: 140,
- filterDropdown: (props) => <LinkFilter
- name='updateBy'
- major='user'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
+ // filterDropdown: (props) => <LinkFilter
+ // name='updateBy'
+ // major='user'
+ // {...props}
+ // actionRef={actionRef}
+ // setSearchParam={setSearchParam}
+ // />,
},
{
title: '澶囨敞',
diff --git a/zy-asrs-flow/src/pages/system/user/index.jsx b/zy-asrs-flow/src/pages/system/user/index.jsx
index 60919b4..dae8e2a 100644
--- a/zy-asrs-flow/src/pages/system/user/index.jsx
+++ b/zy-asrs-flow/src/pages/system/user/index.jsx
@@ -121,12 +121,8 @@
const [deptExpandedKeys, setDeptExpandedKeys] = useState([]);
const [pwdModalVisible, setPwdModalVisible] = useState(false);
- useEffect(() => {
- const handleResize = () => setBoxHeight(window.innerHeight - 368);
- window.addEventListener('resize', handleResize);
- handleResize();
-
- Http.doPostPromise('/api/dept/tree', {}, (res) => {
+ const loadDeptTreeData = (param) => {
+ Http.doPostPromise('/api/dept/tree', param, (res) => {
const rootMenu = { id: 0, name: '鍏ㄩ儴', value: 0, children: [] };
rootMenu.children = res.data;
// const treeData = transformTreeData([rootMenu]);
@@ -135,6 +131,14 @@
const treeAllKeys = getTreeAllKeys(treeData);
setDeptExpandedKeys(treeAllKeys);
})
+ }
+
+ useEffect(() => {
+ const handleResize = () => setBoxHeight(window.innerHeight - 368);
+ window.addEventListener('resize', handleResize);
+ handleResize();
+
+ loadDeptTreeData();
return () => window.removeEventListener('resize', handleResize);
}, []);
@@ -485,7 +489,9 @@
placeholder="Search"
onChange={(e) => {
const { value } = e.target;
- console.log(value);
+ loadDeptTreeData({
+ condition: value
+ })
}}
/>
<div style={{height: 'calc(100vh - 350px)', overflowY: 'auto' }}>
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/DeptController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/DeptController.java
index 7d32bd4..5043785 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/DeptController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/DeptController.java
@@ -1,7 +1,6 @@
package com.zy.asrs.wcs.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
@@ -45,10 +44,14 @@
@PreAuthorize("hasAuthority('system:dept:list')")
@PostMapping("/dept/tree")
public R tree(@RequestBody Map<String, Object> map) {
- PageParam<Dept, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Dept.class);
- QueryWrapper<Dept> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
- List<Dept> deptList = deptService.list(wrapper);
- return R.ok().add(Utils.toTreeData(deptList, 0L, Dept::getParentId, Dept::getId, Dept::setChildren));
+// PageParam<Dept, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Dept.class);
+// QueryWrapper<Dept> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
+ List<Dept> deptList = deptService.list(new LambdaQueryWrapper<Dept>().orderByAsc(Dept::getSort));
+ List<Dept> treeData = Utils.toTreeData(deptList, 0L, Dept::getParentId, Dept::getId, Dept::setChildren);
+ if (!Cools.isEmpty(map.get("condition"))) {
+ treeData = Utils.treeRemove(deptList, String.valueOf(map.get("condition")), Dept::getName, Dept::getChildren, Dept::setChildren);
+ }
+ return R.ok().add(treeData);
}
@PreAuthorize("hasAuthority('system:dept:list')")
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/MenuController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/MenuController.java
index 1335746..70787b8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/MenuController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/MenuController.java
@@ -1,7 +1,6 @@
package com.zy.asrs.wcs.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
@@ -45,10 +44,16 @@
@PreAuthorize("hasAuthority('system:menu:list')")
@PostMapping("/menu/tree")
public R tree(@RequestBody Map<String, Object> map) {
- PageParam<Menu, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Menu.class);
- QueryWrapper<Menu> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
- List<Menu> menus = menuService.list(wrapper);
- return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren));
+// PageParam<Menu, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Menu.class);
+// QueryWrapper<Menu> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
+// List<Menu> menus = menuService.list(wrapper);
+// return R.ok().add(Utils.toTreeData(menus, 0L, Menu::getParentId, Menu::getId, Menu::setChildren));
+ List<Menu> menuList = menuService.list(new LambdaQueryWrapper<Menu>().orderByAsc(Menu::getSort));
+ List<Menu> treeData = Utils.toTreeData(menuList, 0L, Menu::getParentId, Menu::getId, Menu::setChildren);
+ if (!Cools.isEmpty(map.get("condition"))) {
+ treeData = Utils.treeRemove(menuList, String.valueOf(map.get("condition")), Menu::getName, Menu::getChildren, Menu::setChildren);
+ }
+ return R.ok().add(treeData);
}
@PreAuthorize("hasAuthority('system:menu:list')")
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
index fe7d834..fca97c6 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
@@ -10,6 +10,7 @@
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
+import java.util.function.Predicate;
/**
* Created by vincent on 2023/3/14
@@ -48,6 +49,45 @@
return result;
}
+// public static <T> List<T> treeRemove(List<T> data, String condition,
+// Function<? super T, ? extends String> fetcher,
+// Function<T, List<T>> childrenGetter,
+// BiConsumer<T, List<T>> childrenSetter) {
+// List<T> result = new ArrayList<>();
+// for (T node : data) {
+// List<T> children = childrenGetter.apply(node);
+//
+// if (children != null && !children.isEmpty()) {
+// List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
+// childrenSetter.accept(node, newChildren);
+// }
+//
+// if (fetcher.apply(node).contains(condition)) {
+// result.add(node);
+// }
+// }
+// return result;
+// }
+
+ public static <T> List<T> treeRemove(List<T> data, String condition,
+ Function<? super T, ? extends String> fetcher,
+ Function<T, List<T>> childrenGetter,
+ BiConsumer<T, List<T>> childrenSetter) {
+ List<T> result = new ArrayList<>();
+ Predicate<T> predicate = node -> fetcher.apply(node).contains(condition);
+ for (T node : data) {
+ List<T> children = childrenGetter.apply(node);
+ if (children != null && !children.isEmpty()) {
+ List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
+ childrenSetter.accept(node, newChildren);
+ }
+ if (predicate.test(node)) {
+ result.add(node);
+ }
+ }
+ return result;
+ }
+
/**
* 鏁扮粍鍊掑簭
* @param bytes
--
Gitblit v1.9.1