import React, { useEffect, useState } from 'react'; import { useNavigate, connect } from 'umi' import { Button, Form, Input, InputNumber, Radio, Select, Tag, Space, Avatar, Divider, List, Skeleton } from 'antd'; import styles from './index.less' const { CheckableTag } = Tag; const layout = { labelCol: { span: 8 }, wrapperCol: { span: 16 }, labelAlign: 'left' as const }; const { Option } = Select /* eslint-disable no-template-curly-in-string */ const validateMessages = { required: '${label} is required!', types: { email: '${label} is not a valid email!', number: '${label} is not a valid number!', }, number: { range: '${label} must be between ${min} and ${max}', }, }; /* eslint-enable no-template-curly-in-string */ interface DataType { gender: string; name: { title: string; first: string; last: string; }; email: string; picture: { large: string; medium: string; thumbnail: string; }; nat: string; } const tags = [{ title: '研报' }, { title: '法律' }, { title: '简历' }, { title: '说明书' }, { title: '书籍' }, { title: '演讲稿' }] const Index: React.FC = ({ settingModel, kSModel, dispatch, ...props }) => { let navigate = useNavigate(); const { tenantIfo = {} } = settingModel const { parser_ids = '', embd_id = '' } = tenantIfo const { id = '' } = props const [form] = Form.useForm(); useEffect(() => { dispatch({ type: 'settingModel/getTenantInfo', payload: { } }); if (id) { dispatch({ type: 'kSModel/getKbDetail', payload: { kb_id: id }, callback(detail: any) { console.log(detail) const { description, name, permission, embd_id } = detail form.setFieldsValue({ description, name, permission, embd_id }) setSelectedTag(detail.parser_id) } }); } }, [id]) const [selectedTag, setSelectedTag] = useState('') const values = Form.useWatch([], form); console.log(values, '......变化') const onFinish = () => { form.validateFields().then( () => { if (id) { dispatch({ type: 'kSModel/updateKb', payload: { ...values, parser_id: selectedTag, kb_id: id, embd_id: undefined } }); } else { dispatch({ type: 'kSModel/createKb', payload: { ...values, parser_id: selectedTag }, callback(id: string) { navigate(`/knowledge/add/setting?activeKey=file&id=${id}`); } }); } }, () => { }, ); }; const handleChange = (tag: string, checked: boolean) => { const nextSelectedTag = checked ? tag : selectedTag; console.log('You are interested in: ', nextSelectedTag); setSelectedTag(nextSelectedTag); }; return