|
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);
|
|
|