ruleInstance.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import React from 'react';
  2. import { TableCard } from '@/components';
  3. import { StatusColorEnum } from '@/components/BadgeStatus';
  4. import '@/style/common.less';
  5. import type { InstanceItem } from '@/pages/rule-engine/Instance/typings';
  6. export interface RuleInstanceCardProps extends InstanceItem {
  7. detail?: React.ReactNode;
  8. actions?: React.ReactNode[];
  9. avatarSize?: number;
  10. }
  11. const defaultImage = require('/public/images/device-type-3-big.png');
  12. export default (props: RuleInstanceCardProps) => {
  13. return (
  14. <TableCard
  15. detail={props.detail}
  16. actions={props.actions}
  17. status={props.state.value}
  18. statusText={props.state.text}
  19. statusNames={{
  20. started: StatusColorEnum.success,
  21. disable: StatusColorEnum.error,
  22. }}
  23. >
  24. <div className={'pro-table-card-item'}>
  25. <div className={'card-item-avatar'}>
  26. <img width={88} height={88} src={defaultImage} alt={''} />
  27. </div>
  28. <div className={'card-item-body'}>
  29. <div className={'card-item-header'}>
  30. <span className={'card-item-header-name ellipsis'}>{props.name}</span>
  31. </div>
  32. <div className={'card-item-content'}>{props.description}</div>
  33. </div>
  34. </div>
  35. </TableCard>
  36. );
  37. };