Resource.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Ellipsis, TableCard } from '@/components';
  2. import { StatusColorEnum } from '@/components/BadgeStatus';
  3. import '@/style/common.less';
  4. import '../../index.less';
  5. import React from 'react';
  6. export interface ResourceCardProps extends Partial<ResourceItem> {
  7. detail?: React.ReactNode;
  8. actions?: React.ReactNode[];
  9. avatarSize?: number;
  10. className?: string;
  11. content?: React.ReactNode[];
  12. onClick?: () => void;
  13. showTool?: boolean;
  14. }
  15. const defaultImage = require('/public/images/device-type-3-big.png');
  16. export default (props: ResourceCardProps) => {
  17. return (
  18. <TableCard
  19. showMask={false}
  20. detail={props.detail}
  21. actions={props.actions}
  22. status={props.state?.value}
  23. statusText={props.state?.text}
  24. statusNames={{
  25. enabled: StatusColorEnum.success,
  26. disabled: StatusColorEnum.error,
  27. }}
  28. >
  29. <div className={'pro-table-card-item'}>
  30. <div className={'card-item-avatar'}>
  31. <img width={88} height={88} src={defaultImage} alt={''} />
  32. </div>
  33. <div className={'card-item-body'}>
  34. <div className={'card-item-header'}>
  35. <Ellipsis title={props.name} titleClassName={'card-item-header-name'} />
  36. </div>
  37. <div className={'card-item-content'}>
  38. <div>
  39. <label>通讯协议</label>
  40. <Ellipsis title={props?.category || ''} />
  41. </div>
  42. <div>
  43. <label>所属边缘网关</label>
  44. <Ellipsis title={props?.sourceName || ''} />
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </TableCard>
  50. );
  51. };