import React from 'react' import {useNavigate, useParams} from 'react-router' import {amisRender, commonInfo, crudCommonOptions, mappingField, mappingItem} from '../../../util/amis.tsx' const statusMapping = [ mappingItem('解析中', 'RUNNING', 'bg-warning'), mappingItem('使用中', 'FINISHED', 'bg-success'), ] const DataDetail: React.FC = () => { const {knowledge_id} = useParams() const navigate = useNavigate() return (
{amisRender( { className: 'h-full', type: 'page', title: { type: 'wrapper', size: 'none', body: [ '数据详情 (知识库:', { type: 'service', className: 'inline', api: `${commonInfo.baseAiUrl}/knowledge/${knowledge_id}/name`, body: { type: 'tpl', tpl: '${name}', }, }, ')', ], }, size: 'lg', actions: [], body: [ { type: 'crud', api: { method: 'post', url: `${commonInfo.baseAiUrl}/knowledge/group/list`, data: { query: { equal: { 'knowledge/id': knowledge_id, } }, page: { index: '${page}', size: '${perPage}', } } }, ...crudCommonOptions(), headerToolbar: [ 'reload', { type: 'action', icon: 'fa fa-plus', label: '', tooltip: '新增', tooltipPlacement: 'top', onEvent: { click: { actions: [ { actionType: 'custom', // @ts-ignore script: (context, action, event) => { navigate(`/ai/knowledge/import/${knowledge_id}`) }, }, ], }, }, }, { type: 'action', icon: 'fa fa-magnifying-glass', label: '', tooltip: '命中测试', tooltipPlacement: 'top', actionType: 'dialog', dialog: { title: '命中测试', size: 'lg', actions: [], body: [ { type: 'input-text', addOn: { type: 'action', label: '检索', icon: 'fa fa-magnifying-glass', }, }, { name: '182e8657-5352-42ad-9ab4-8252d33eef91', type: 'crud', source: '${search_items}', ...crudCommonOptions(), canAccessSuperData: false, columns: [ { name: 'text', label: '内容', }, ], }, ], }, }, ], columns: [ { name: 'id', hidden: true, }, { name: 'name', label: '文件名', }, { name: 'status', label: '状态', width: 50, align: 'center', ...mappingField('status', statusMapping), }, { type: 'operation', label: '操作', width: 100, buttons: [ { type: 'action', label: '查看', level: 'link', size: 'sm', onEvent: { click: { actions: [ { actionType: 'custom', // @ts-ignore script: (context, action, event) => { navigate(`/ai/knowledge/detail/${knowledge_id}/segment/${context.props.data['id']}`) }, }, ], }, }, }, { type: 'action', label: '删除', className: 'text-danger btn-deleted', level: 'link', size: 'sm', actionType: 'ajax', api: `get:${commonInfo.baseAiUrl}/knowledge/group/remove/\${id}`, confirmText: '确认删除', confirmTitle: '删除', }, ], }, ], }, ], }, { name: name, }, )}
) } export default DataDetail