File size: 3,070 Bytes
fad2ec7
 
6b8fc2c
fad2ec7
 
6b8fc2c
 
fad2ec7
 
6b8fc2c
fad2ec7
 
 
 
 
 
 
 
 
6b8fc2c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import React from 'react';
import { connect, Dispatch } from 'umi';
import i18n from 'i18next';
import { useTranslation, } from 'react-i18next'
import { Modal, Tag, Space } from 'antd'
import { useEffect, useState } from 'react';
import styles from './index.less';
import type { kFModelState } from './model'
import type { settingModelState } from '@/pages/setting/model'
const { CheckableTag } = Tag;
interface kFProps {
    dispatch: Dispatch;
    kFModel: kFModelState;
    settingModel: settingModelState;
    getKfList: () => void;
    parser_id: string;
    doc_id: string;
}
const Index: React.FC<kFProps> = ({ kFModel, settingModel, dispatch, getKfList, parser_id, doc_id }) => {
    const [selectedTag, setSelectedTag] = useState('')
    const { tenantIfo = {} } = settingModel
    const { parser_ids = '' } = tenantIfo
    useEffect(() => {
        dispatch({
            type: 'settingModel/getTenantInfo',
            payload: {
            }
        });
        setSelectedTag(parser_id)
    }, [parser_id])
    const { isShowSegmentSetModal } = kFModel
    const { t } = useTranslation()
    const handleCancel = () => {
        dispatch({
            type: 'kFModel/updateState',
            payload: {
                isShowSegmentSetModal: false
            }
        });
    };
    const handleOk = () => {
        console.log(1111, selectedTag)
        dispatch({
            type: 'kFModel/document_change_parser',
            payload: {
                parser_id: selectedTag,
                doc_id
            },
            callback: () => {
                dispatch({
                    type: 'kFModel/updateState',
                    payload: {
                        isShowSegmentSetModal: false
                    }
                });
                getKfList && getKfList()
            }
        });
    };

    const handleChange = (tag: string, checked: boolean) => {
        const nextSelectedTag = checked
            ? tag
            : selectedTag;
        console.log('You are interested in: ', nextSelectedTag);
        setSelectedTag(nextSelectedTag);
    };

    return (
        <Modal title="Basic Modal" open={isShowSegmentSetModal} onOk={handleOk} onCancel={handleCancel}>

            <Space size={[0, 8]} wrap>

                <div className={styles.tags}>

                    {

                        parser_ids.split(',').map((tag: string) => {

                            return (<CheckableTag

                                key={tag}

                                checked={selectedTag === tag}

                                onChange={(checked) => handleChange(tag, checked)}

                            >

                                {tag}

                            </CheckableTag>)

                        })

                    }

                </div>

            </Space>

        </Modal >





    );

}

export default connect(({ kFModel, settingModel, loading }) => ({ kFModel, settingModel, loading }))(Index);