import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import { DeleteOutlined, EllipsisOutlined, FormOutlined } from '@ant-design/icons';
import { Spin, Space, Button, Popconfirm, Row, Col, Tree, Table, Card, Switch, Tooltip, Breadcrumb } from 'antd';
import ProTable from '@ant-design/pro-table';
import { getDepById } from '../actions/user';
import { getDepMessage, getDepUser, createUser, updateUser, delUser, resetPwd, createDep, delDep, updateDep } from '../actions/user'
import { postUserRes } from '../actions/authority'
import UserModal from '../components/userModal';
import ResetPwd from '../components/resetPwd';
import DepModal from '../components/depModal';
const TreeNode = Tree.TreeNode;
const UserManage = (props) => {
const { dispatch, loading, depMessage, depUser, clientHeight, user } = props
const [modalVisible, setModalVisible] = useState(false);
const [modalType, setModalType] = useState();
const [modalRecord, setModalRecord] = useState();
const [pwdModalVisible, setPwdModalVisible] = useState(false);
const [depSelectedKeys, setDepSelectedKeys] = useState([])
const [rowSelected, setRowSelected] = useState([])
const [depModalVisible, setDepModalVisible] = useState(false);
const [depModalType, setDepModalType] = useState();
const [depModalRecord, setDepModalRecord] = useState();
const [selectedTree, setSelectedTree] = useState();
const [depCrumbs, setDepCrumbs] = useState([]);
const [depUserCopy, setDepUserCopy] = useState([])//用于存放除了自己的管理的数组,即自己不能调整自己是否为管理员
const [uid, setuid] = useState()
const [editAble, setEditAble] = useState(user?.username !== 'SuperAdmin' && user?.userResources?.filter(i => i.resourceId === 'USERMANAGE')[0].isshow === "true" ? true : '')//控制操作(新增删除等操作,对应权限的'不可编辑')是否可操作
const [depMessagedata, setdepMessagedata] = useState(depMessage)
console.log('depMessagedata', depMessagedata)
useEffect(async () => {
if (depMessage.length) {
console.log('depMessage', depMessage)
//超级管理员展示所有部门
if (user?.username === 'SuperAdmin') {
setdepMessagedata(depMessage)
setDepSelectedKeys([depMessage[0].id])
dispatch(getDepUser(depMessage[0].id))
} else {
//不是超级管理员,展示相应部门的数据
dispatch(getDepUser(user.departmentId))
const res = await dispatch(getDepById({ deptId: parseInt(user.departmentId) }))
console.log('resssss', res)
setdepMessagedata(res.payload.data)
// setDepSelectedKeys([res.payload.data[0].id])
// dispatch(getDepUser(res.payload.data[0].id))
}
}
}, [depMessage])
useEffect(() => {
let code = ['USERMANAGE', 'AUTHORIMANAGE']
//console.log('你來u盧克嗎', depUser, uid)
// console.log(depUser.filter(i=>i.phone===uid)[0]?.id,'当前的用户user')
if (depUser?.filter(i => i.phone === uid)[0]?.id) {
//console.log('你來u盧克嗎', depUser, uid)
dispatch(postUserRes({ userId: depUser.filter(i => i.phone === uid)[0]?.id, resCode: code, isShow: false }))
}
}, [uid])
useEffect(() => {
dispatch(getDepMessage())
}, [])
useEffect(() => {
console.log('depuser', depUser, user)
const copy = depUser.filter((item) => {
console.log('item1', item)
return item.id !== user.id//把自己筛选出去
})
console.log('copy', copy)
setDepUserCopy(copy)
}, [depUser])
useEffect(() => {
if (depMessage.length) {
}
}, [depMessage])
useEffect(() => {
const list = handleCrumbs(depSelectedKeys)
setDepCrumbs(list)
}, [depSelectedKeys])
const columns =
[
{
title: '姓名',
dataIndex: 'name',
},
{
title: '手机号(用户名)',
dataIndex: 'phone',
},
{
title: '邮箱',
dataIndex: 'email',
}, {
title: '启用状态',
dataIndex: 'enable',
render: (_, r) => {
return