diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/api/axios.js b/src/api/axios.js index cff5057..ad29c3a 100644 --- a/src/api/axios.js +++ b/src/api/axios.js @@ -2,7 +2,7 @@ import { message } from "antd"; import axios from "axios"; import { logout } from "../features/auth/authSlice"; -const baseURL = "http://127.0.0.1:8080"; +const baseURL = import.meta.env.VITE_API_URL; const axiosInstance = axios.create({ baseURL: baseURL, diff --git a/src/config/menuConfig.js b/src/config/menuConfig.js index 1ce51bc..a9aa6a4 100644 --- a/src/config/menuConfig.js +++ b/src/config/menuConfig.js @@ -65,7 +65,7 @@ const menuConfig = [ path: "/userdetail", label: "个人信息", icon: UserOutlined, - roles: ["USER", "LEADER", "DEVICE_ADMIN"], + roles: ["USER", "LEADER", "DEVICE_ADMIN", "ADMIN"], }, ]; diff --git a/src/pages/admin/UserDetailModal.jsx b/src/pages/admin/UserDetailModal.jsx index 18ea8b8..fdd797f 100644 --- a/src/pages/admin/UserDetailModal.jsx +++ b/src/pages/admin/UserDetailModal.jsx @@ -7,27 +7,21 @@ export default function UserDetailModal({ visiable, mode = "create", user, + roles, onclose, onSuccess, }) { const [form] = Form.useForm(); const [initialValues, setInitialValues] = useState(); const [teams, setTeams] = useState([]); - const [roles, setRoles] = useState([]); const fetchTeams = async () => { const data = await axiosInstance.get("/teams"); setTeams(data); }; - const fetchRoles = async () => { - const data = await axiosInstance.get("/role"); - setRoles(data); - }; - useEffect(() => { fetchTeams(); - fetchRoles(); }, []); useEffect(() => { diff --git a/src/pages/admin/UserManage.jsx b/src/pages/admin/UserManage.jsx index 4f85b3d..f5cfad6 100644 --- a/src/pages/admin/UserManage.jsx +++ b/src/pages/admin/UserManage.jsx @@ -11,12 +11,18 @@ export default function UserManage() { const [modalMode, setModalMode] = useState(); const [selectedUser, setSelectedUser] = useState(); const [modalOpen, setModalOpen] = useState(false); + const [roles, setRoles] = useState([]); const [pagination, setPagination] = useState({ current: 1, pageSize: 10, total: 0, }); + const fetchRoles = async () => { + const data = await axiosInstance.get("/role"); + setRoles(data); + }; + const fetchData = async (pagination, name) => { const data = await axiosInstance.get("/user", { params: { @@ -32,13 +38,8 @@ export default function UserManage() { }); }; - const fetchTeams = async () => { - const data = await axiosInstance.get("/teams"); - setTeams(data); - }; - useEffect(() => { - // fetchTeams(); + fetchRoles(); fetchData({ current: 1, pageSize: 10, @@ -98,6 +99,13 @@ export default function UserManage() { + + roles.find((r) => r.value === roleId)?.label || "未知角色" + } + /> { @@ -131,6 +139,7 @@ export default function UserManage() { visiable={modalOpen} mode={modalMode} user={selectedUser} + roles={roles} onclose={() => { setModalOpen(false); setSelectedUser(null); diff --git a/src/pages/deviceAdmin/DeviceDetailModal.jsx b/src/pages/deviceAdmin/DeviceDetailModal.jsx index 0289ecc..12e640f 100644 --- a/src/pages/deviceAdmin/DeviceDetailModal.jsx +++ b/src/pages/deviceAdmin/DeviceDetailModal.jsx @@ -76,7 +76,7 @@ export default function DeviceDetailModal({ if (imageFile) { const formData = new FormData(); formData.append("image", imageFile); - await axiosInstance.post(`device/${device.id}/image`, formData, { + await axiosInstance.post(`device/${device.deviceId}/image`, formData, { headers: { "Content-Type": "multipart/form-data", },