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

72 lines (69 loc) 1.96 kB
import { WrapLocaleReceiver } from '../I18N'; import React, { useEffect, useState } from 'react'; import { Drawer, Spin, Ellipsis, message } from 'tntd'; import ReferenceInfo from '../ReferenceInfo'; import './index.less'; export default WrapLocaleReceiver((props) => { const { fetchReference, data = null, orgMap = {}, appList = [], title, visible, onClose, 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.referencedrawer.index.chaXunYinYongGuan); } }) .finally(() => { setReferenceLoad(false); }); } }, [visible,I18N, fetchReference]); return ( <Drawer className="reference-drawer" width={900} title={typeof title==='string' ? <Ellipsis title={title || ''}/>:title} onClose={onClose} visible={visible} destroyOnClose={destroyOnClose} showFooter={false} {...rest} > {referenceLoad && <Spin className="globalSpin" tip={I18N.referencedrawer.index.chaXunZhong}></Spin>} {!referenceLoad && ( <div className="drawer-reference-body"> <ReferenceInfo jumpFun={jumpFun} iframeJump={iframeJump} emptyType={emptyType} referenceData={referenceData || []} appList={appList || []} orgMap={orgMap || {}} unmountHandle={onClose} showPagination={showPagination} /> </div> )} </Drawer> ); });