noticeConfig.tsx 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import React from 'react';
  2. import { Ellipsis, TableCard } from '@/components';
  3. import '@/style/common.less';
  4. import '../index.less';
  5. import { imgMap, typeList } from './noticeTemplate';
  6. import { CheckOutlined } from '@ant-design/icons';
  7. export interface NoticeCardProps extends ConfigItem {
  8. detail?: React.ReactNode;
  9. actions?: React.ReactNode[];
  10. avatarSize?: number;
  11. className?: string;
  12. onUnBind?: (e: any) => void;
  13. showBindBtn?: boolean;
  14. cardType?: 'bind' | 'unbind';
  15. showTool?: boolean;
  16. onClick?: () => void;
  17. }
  18. export const ExtraNoticeConfigCard = (props: NoticeCardProps) => {
  19. return (
  20. <TableCard
  21. showTool={props.showTool}
  22. showMask={false}
  23. showStatus={false}
  24. actions={props.actions}
  25. onClick={props.onClick}
  26. className={props.className}
  27. >
  28. <div className={'pro-table-card-item'}>
  29. <div className={'card-item-avatar'}>
  30. <img width={88} height={88} src={imgMap[props.type][props.provider]} alt={props.type} />
  31. </div>
  32. <div className={'card-item-body'}>
  33. <div className={'card-item-header'}>
  34. <Ellipsis title={props.name} titleClassName={'card-item-header-name'} />
  35. </div>
  36. <div className={'card-item-content'}>
  37. <div>
  38. <label>通知方式</label>
  39. <Ellipsis title={typeList[props.type][props.provider] || '暂无'} />
  40. </div>
  41. <div>
  42. <label>说明</label>
  43. <Ellipsis title={props.description} />
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. <div className={'checked-icon'}>
  49. <div>
  50. <CheckOutlined />
  51. </div>
  52. </div>
  53. </TableCard>
  54. );
  55. };
  56. export default (props: NoticeCardProps) => {
  57. return (
  58. <TableCard detail={props.detail} actions={props.actions} showStatus={false} showMask={false}>
  59. <div className={'pro-table-card-item'}>
  60. <div className={'card-item-avatar'}>
  61. <img width={88} height={88} src={imgMap[props.type][props.provider]} alt={props.type} />
  62. </div>
  63. <div className={'card-item-body'}>
  64. <div className={'card-item-header'}>
  65. {/*<span className={'card-item-header-name ellipsis'}>*/}
  66. {/* <Tooltip placement="topLeft" title={props.name}>*/}
  67. {/* {props.name}*/}
  68. {/* </Tooltip>*/}
  69. {/*</span>*/}
  70. <Ellipsis title={props.name} titleClassName={'card-item-header-name'} />
  71. </div>
  72. <div className={'card-item-content'}>
  73. <div>
  74. <label>通知方式</label>
  75. <Ellipsis title={typeList[props.type][props.provider] || '暂无'} />
  76. {/*<div className={'ellipsis'}>{typeList[props.type][props.provider] || '暂无'}</div>*/}
  77. </div>
  78. <div>
  79. <label>说明</label>
  80. <Ellipsis title={props.description} />
  81. {/*<div className={'ellipsis'}>*/}
  82. {/* <Tooltip placement="topLeft" title={props.description}>*/}
  83. {/* {props.description}*/}
  84. {/* </Tooltip>*/}
  85. {/*</div>*/}
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </TableCard>
  91. );
  92. };