import React, { useState, useEffect } from "react"; import { Modal, Form, Input, Select, message } from "antd"; import styles from "./update.module.less"; import { adminRole } from "../../../../api/index"; interface PropInterface { id: number; open: boolean; onCancel: () => void; } export const SystemAdminrolesUpdate: React.FC = ({ id, open, onCancel, }) => { const [form] = Form.useForm(); const [loading, setLoading] = useState(true); const [permissions, setPermissions] = useState([]); const [actions, setActions] = useState([]); useEffect(() => { getParams(); }, []); useEffect(() => { if (id === 0) { return; } getDetail(); }, [id]); const getParams = () => { adminRole.createAdminRole().then((res: any) => { const arr = []; const arr2 = []; let actions = res.data.perm_action.action; let permissions = res.data.perm_action.data; for (let i = 0; i < permissions.length; i++) { arr.push({ label: permissions[i].group_name + "-" + permissions[i].name, value: permissions[i].id, }); } for (let j = 0; j < actions.length; j++) { arr2.push({ label: actions[j].group_name + "-" + actions[j].name, value: actions[j].id, }); } setPermissions(arr); setActions(arr2); }); }; const getDetail = () => { adminRole.adminRole(id).then((res: any) => { let role = res.data.role; form.setFieldsValue({ name: role.name, permission_ids: res.data.perm_data, action_ids: res.data.perm_action, }); }); }; const onFinish = (values: any) => { let pids = []; let aids = []; if (values.permission_ids) { pids = values.permission_ids; } if (values.action_ids) { aids = values.action_ids; } const params = aids.concat(pids); adminRole.updateAdminRole(id, values.name, params).then((res: any) => { message.success("保存成功!"); onCancel(); }); }; const onFinishFailed = (errorInfo: any) => { console.log("Failed:", errorInfo); }; return ( <> form.submit()} onCancel={() => onCancel()} maskClosable={false} >
); };