noticeConfig.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import React from 'react';
  2. import { TableCard } from '@/components';
  3. import '@/style/common.less';
  4. import '../index.less';
  5. import { imgMap, typeList } from './noticeTemplate';
  6. export interface NoticeCardProps extends ConfigItem {
  7. detail?: React.ReactNode;
  8. actions?: React.ReactNode[];
  9. avatarSize?: number;
  10. }
  11. export default (props: NoticeCardProps) => {
  12. return (
  13. <TableCard detail={props.detail} actions={props.actions} showStatus={false}>
  14. <div className={'pro-table-card-item'}>
  15. <div className={'card-item-avatar'}>
  16. <img width={88} height={88} src={imgMap[props.type]} alt={props.type} />
  17. </div>
  18. <div className={'card-item-body'}>
  19. <div className={'card-item-header'}>
  20. <span className={'card-item-header-name ellipsis'}>{props.name}</span>
  21. </div>
  22. <div className={'card-item-content'}>
  23. <div>
  24. <label>通知方式</label>
  25. <div className={'ellipsis'}>{typeList[props.type][props.provider] || '暂无'}</div>
  26. </div>
  27. <div>
  28. <label>说明</label>
  29. <div className={'ellipsis'}>{props.description}</div>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. </TableCard>
  35. );
  36. };