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

85 lines (81 loc) 2.26 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, customDrawer, onViewOpen, ...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]); const handleSetOtherVisible = (record) => { if (onViewOpen) { onViewOpen(record); } }; 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}> <div className="globalSpin-div"></div> </Spin>} {!referenceLoad && ( <div className="drawer-reference-body"> <ReferenceInfo jumpFun={jumpFun} iframeJump={iframeJump} emptyType={emptyType} referenceData={referenceData || []} appList={appList || []} orgMap={orgMap || {}} unmountHandle={onClose} setOtherVisible={handleSetOtherVisible} showPagination={showPagination} onViewOpen={onViewOpen} /> </div> )} {customDrawer} </Drawer> ); });