UNPKG

@tntd/reference

Version:

<!-- * @Author: 周泽飞 zefei.zhou@tongdun.net * @Date: 2024-12-03 10:07:54 * @LastEditors: 郑泳健 * @LastEditTime: 2026-01-20 15:55:03 * @FilePath: /tntd3/packages/reference/README.md * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: http

104 lines (100 loc) 3.19 kB
import { WrapLocaleReceiver } from '../I18N'; import React, { useEffect, useState } from 'react'; import { Drawer, Spin, Tooltip, message, Collapse, Tag, Empty, Ellipsis } from "tntd"; import ReferenceInfo from '../ReferenceInfo'; const { Panel } = Collapse; export default WrapLocaleReceiver((props) => { const { fetchReference, data = null, orgMap = {}, appList = [], title, visible, onClose, value = undefined, onChange = () => {}, emptyType, showPagination, destroyOnClose = true, jumpFun, iframeJump, I18N, ...rest } = props; const [referenceData, setReferenceData] = useState(data); const [referenceLoad, setReferenceLoad] = useState(!data); useEffect(() => { if (visible && fetchReference) { fetchReference() .then((res) => { if (res?.success && res?.data) { setReferenceData(res?.data || []); } if (!res?.success) { message.error(res.message || I18N.referencebatchdrawer.index.chaXunYinYongGuan); } }) .finally(() => { setReferenceLoad(false); }); } }, [visible, fetchReference]); return ( <Drawer className="reference-drawer" width={650} title={typeof title==='string' ? <Ellipsis title={title || ''}/>:title} onClose={onClose} visible={visible} destroyOnClose={destroyOnClose} showFooter={false} {...rest} > {referenceLoad && <Spin className="globalSpin" tip={I18N.referencebatchdrawer.index.chaXunZhong} />} {(!referenceLoad && referenceData.length && ( <div className="drawer-reference-body"> <Collapse defaultActiveKey={value || [0]} onChange={onChange}> {referenceData?.map((d, i) => { let headerTxt = d?.componentName; if (d?.componentCode) { headerTxt += `[${d?.componentCode}]`; } return ( <Panel header={ <div className="refer-panel-head"> <Tooltip title={headerTxt} placement="topLeft"> <span>{headerTxt}</span> </Tooltip> {d?.componentVersion && <Tag color="green">V{d?.componentVersion}</Tag>} </div> } key={i} > <ReferenceInfo jumpFun={jumpFun} iframeJump={iframeJump} emptyType={emptyType} from="ReferenceBatchCheck" unmountHandle={() => {}} referenceData={d?.result || []} orgMap={orgMap} appList={appList} showPagination={showPagination} /> </Panel> ); })} </Collapse> </div> )) || ( <Empty description={I18N.referencebatchdrawer.index.zanWuShuJu} image={Empty.PRESENTED_IMAGE_SIMPLE} imageStyle={{ marginTop: 120 }} /> )} </Drawer> ); });