From 14c264d6d3c85e3f711378abec1a702c997c7755 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 21 二月 2024 16:56:24 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java |   27 +++++++++++++
 zy-asrs-wcs/src/main/resources/mapper/system/UserMapper.xml                     |    1 
 zy-asrs-flow/src/pages/system/user/index.jsx                                    |   63 ++++++++++++++-----------------
 3 files changed, 56 insertions(+), 35 deletions(-)

diff --git a/zy-asrs-flow/src/pages/system/user/index.jsx b/zy-asrs-flow/src/pages/system/user/index.jsx
index 01fc646..8948771 100644
--- a/zy-asrs-flow/src/pages/system/user/index.jsx
+++ b/zy-asrs-flow/src/pages/system/user/index.jsx
@@ -7,7 +7,7 @@
     ProTable,
     LightFilter,
 } from '@ant-design/pro-components';
-import { PlusOutlined, ExportOutlined, DownOutlined } from '@ant-design/icons';
+import { PlusOutlined, ExportOutlined, DownOutlined, DeleteOutlined, ExclamationCircleOutlined } from '@ant-design/icons';
 import Http from '@/utils/http';
 import Edit from './components/edit'
 import Pwd from './components/pwd'
@@ -449,7 +449,7 @@
                 <Button
                     type="link"
                     danger
-                    key="batchRemove"
+                    key="remove"
                     onClick={async () => {
                         Modal.confirm({
                             title: '鍒犻櫎',
@@ -493,7 +493,7 @@
                             blockNode
                             defaultExpandAll    // 寮傛鍔犺浇澶辨晥
                             expandedKeys={deptExpandedKeys}
-                            onExpand={setDeptExpandedKeys} 
+                            onExpand={setDeptExpandedKeys}
                             treeData={deptTreeData}
                             switcherIcon={<DownOutlined />}
                             onSelect={(selectedKeys, info) => {
@@ -539,6 +539,30 @@
                             actions: [
                                 <Button
                                     type="primary"
+                                    danger
+                                    key="removeBatch"
+                                    hidden={selectedRows?.length === 0}
+                                    onClick={async () => {
+                                        Modal.confirm({
+                                            title: '鏄惁纭鍒犻櫎鎵�閫夋暟鎹」?',
+                                            icon: <ExclamationCircleOutlined />,
+                                            content: '璇疯皑鎱庢搷浣�',
+                                            async onOk() {
+                                                const success = await handleRemove(selectedRows);
+                                                if (success) {
+                                                    setSelectedRows([]);
+                                                    actionRef.current.reload();
+                                                }
+                                            },
+                                            onCancel() { },
+                                        });
+                                    }}
+                                >
+                                    <DeleteOutlined />
+                                    鍒犻櫎
+                                </Button>,
+                                <Button
+                                    type="primary"
                                     key="save"
                                     onClick={async () => {
                                         setModalVisible(true)
@@ -567,6 +591,7 @@
                                 }
                             })
                         }
+                        tableAlertRender={false}
                         rowSelection={{
                             onChange: (ids, rows) => {
                                 setSelectedRows(rows);
@@ -583,38 +608,6 @@
                         }}
                     />
                 </Col>
-
-                {selectedRows?.length > 0 && (
-                    <FooterToolbar
-                        extra={
-                            <div>
-                                宸查�夋嫨
-                                <a style={{ fontWeight: 600 }}>{selectedRows.length}</a>
-                                椤�
-                            </div>
-                        }
-                    >
-                        <Button
-                            key="remove"
-                            danger
-                            onClick={async () => {
-                                Modal.confirm({
-                                    title: '鍒犻櫎',
-                                    content: '纭畾鍒犻櫎璇ラ」鍚楋紵',
-                                    onOk: async () => {
-                                        const success = await handleRemove(selectedRows);
-                                        if (success) {
-                                            setSelectedRows([]);
-                                            actionRef.current?.reloadAndRest?.();
-                                        }
-                                    },
-                                });
-                            }}
-                        >
-                            鎵归噺鍒犻櫎
-                        </Button>
-                    </FooterToolbar>
-                )}
 
                 <Edit
                     open={modalVisible}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java
index 2d39a81..c1dcd49 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/system/controller/UserController.java
@@ -59,6 +59,18 @@
     @OperationLog("娣诲姞鐢ㄦ埛")
     @PostMapping("/user/save")
     public R save(@RequestBody User user) {
+        if (!Cools.isEmpty(user.getUsername())
+                && userService.count(new LambdaQueryWrapper<User>().eq(User::getUsername, user.getUsername())) > 0) {
+            return R.error("鐧诲綍璐﹀彿宸插瓨鍦�");
+        }
+        if (!Cools.isEmpty(user.getNickname())
+                && userService.count(new LambdaQueryWrapper<User>().eq(User::getNickname, user.getNickname())) > 0) {
+            return R.error("鐢ㄦ埛鍚嶇О宸插瓨鍦�");
+        }
+        if (!Cools.isEmpty(user.getPhone())
+                && userService.count(new LambdaQueryWrapper<User>().eq(User::getPhone, user.getPhone())) > 0) {
+            return R.error("鎵嬫満鍙峰凡瀛樺湪");
+        }
 
         user.setPassword(userService.encodePassword(COMMON_PASSWORD));
 
@@ -77,6 +89,21 @@
     @OperationLog("淇敼鐢ㄦ埛")
     @PostMapping("/user/update")
     public R update(@RequestBody User user) {
+        if (!Cools.isEmpty(user.getUsername()) && userService.count(new LambdaQueryWrapper<User>()
+                .eq(User::getUsername, user.getUsername())
+                .ne(User::getId, user.getId())) > 0) {
+            return R.error("鐧诲綍璐﹀彿宸插瓨鍦�");
+        }
+        if (!Cools.isEmpty(user.getNickname()) && userService.count(new LambdaQueryWrapper<User>()
+                .eq(User::getNickname, user.getNickname())
+                .ne(User::getId, user.getId())) > 0) {
+            return R.error("鐢ㄦ埛鍚嶇О宸插瓨鍦�");
+        }
+        if (!Cools.isEmpty(user.getPhone()) && userService.count(new LambdaQueryWrapper<User>()
+                .eq(User::getPhone, user.getPhone())
+                .ne(User::getId, user.getId())) > 0) {
+            return R.error("鎵嬫満鍙峰凡瀛樺湪");
+        }
 
         if (!Cools.isEmpty(user.getPassword())) {
             user.setPassword(userService.encodePassword(user.getPassword()));
diff --git a/zy-asrs-wcs/src/main/resources/mapper/system/UserMapper.xml b/zy-asrs-wcs/src/main/resources/mapper/system/UserMapper.xml
index 86fcc6e..3904f09 100644
--- a/zy-asrs-wcs/src/main/resources/mapper/system/UserMapper.xml
+++ b/zy-asrs-wcs/src/main/resources/mapper/system/UserMapper.xml
@@ -19,6 +19,7 @@
         from sys_user su
         left join sys_dept sd on su.dept_id = sd.id
         where 1=1
+        and su.deleted = 0
         <if test="param.deptId != null">
             and (FIND_IN_SET(#{param.deptId}, sd.`path`) OR sd.`id` = #{param.deptId})
         </if>

--
Gitblit v1.9.1