@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
JavaScript
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>
);
});