// index.tsx import { ERROR_CODE } from '@/constants/constants'; import { getBindImageAdd, getBindImageList } from '@/services/terminal'; import { Button, Form, message, Modal } from 'antd'; import React, { useEffect, useState } from 'react'; import SelectedTable from '../ImageSelectedTable/index'; import styles from './index.less'; interface UserEditModalProps { onCancel: () => void; onOk: (values?: any) => void; confirmLoading?: boolean; dataDetial?: Termial.ModalBaseNode; } const BindUserModal: React.FC = ({ onCancel, onOk, confirmLoading = false, dataDetial, }) => { const { recordData, visible } = dataDetial || {}; const { device_id } = recordData || {}; const [form] = Form.useForm(); const [dataSource, setDataSource] = useState([]); useEffect(() => { const params = { device_id: device_id }; getBindImageList(params).then((res: any) => { const { code, data = [] } = res || {}; if (code === ERROR_CODE) { if (data && data.length) { const imageList: any[] = []; data.forEach((item: any) => { imageList.push({ id: item.image_id, image_name: item.image_name, // current_id: item.id, }); }); setDataSource(data); const initialValues = { image_list: imageList }; form.setFieldsValue(initialValues); } } }); }, [visible, form, recordData]); const onBind = (payload: any) => { getBindImageAdd(payload).then((res: any) => { const { code } = res || {}; if (code === ERROR_CODE) { message.success('绑定成功'); if (onOk) onOk(); } else { message.error('绑定失败'); } }); }; const handleOk = async () => { try { const values = await form.validateFields(); const { image_list = [] } = values || {}; console.log('image_list=====', image_list); const list: any[] = []; image_list.forEach((item: any) => { const obj: any = { device_id: device_id, image_id: item.id, }; const newData = dataSource.filter( (record) => record.image_id === item.id, ); if (newData && newData.length === 1) { obj.id = newData[0].id; } list.push({ ...obj }); }); const payload: any = { data: list, device_id:device_id, }; onBind(payload); } catch (error) { message.error('请检查表单字段'); } }; return ( // // // // } >
{/* */}
); }; export default BindUserModal;