From c4a14f3ca4542f93d9275845687a89645741e768 Mon Sep 17 00:00:00 2001 From: YuanHongbo <782242184@qq.com> Date: Fri, 1 Mar 2024 10:45:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WarningRecordCard/WarningRecordCard.tsx | 83 +++++++++++++++++++ .../meta/src/WarningRecordCard/demo/base.tsx | 29 +++++++ .../meta/src/WarningRecordCard/index.less | 27 ++++++ packages/meta/src/WarningRecordCard/index.md | 19 +++++ packages/meta/src/WarningRecordCard/index.tsx | 5 ++ packages/meta/src/index.tsx | 1 + 6 files changed, 164 insertions(+) create mode 100644 packages/meta/src/WarningRecordCard/WarningRecordCard.tsx create mode 100644 packages/meta/src/WarningRecordCard/demo/base.tsx create mode 100644 packages/meta/src/WarningRecordCard/index.less create mode 100644 packages/meta/src/WarningRecordCard/index.md create mode 100644 packages/meta/src/WarningRecordCard/index.tsx diff --git a/packages/meta/src/WarningRecordCard/WarningRecordCard.tsx b/packages/meta/src/WarningRecordCard/WarningRecordCard.tsx new file mode 100644 index 0000000..6e0b6eb --- /dev/null +++ b/packages/meta/src/WarningRecordCard/WarningRecordCard.tsx @@ -0,0 +1,83 @@ +import { Card, Space, Divider } from 'antd'; +import React from 'react'; +import './index.less' +import dayjs from 'dayjs'; + +const componentName = `zhst-warning-record-card`; + +export interface Record { + + imgSrc?: string; + + id?: string; + + /** + * 图片的描述 + */ + description?: string; + /* + 用于显示 盒子 点位 柜子 等信息 + */ + info?: string[] + /* + 右侧 柜子id 显示 + */ + cabietInfo?: string; + /* + 直接传格式化好的时间 + */ + warningTime?: string | number; + /* + 传格时间戳 + */ + warningTimestamp?: string | number + /* + 传格时间格式 + @default YYYY-MM-DD HH:mm:ss + */ + warningTimeFormat?: string; +}; + +export interface WarningRecordCardProps { + record?: Record; + onRecordClick?: (record?: Record) => void; + style?: React.CSSProperties; +}; + +export const WarningRecordCard: React.FC = (props) => { + const { record, onRecordClick, style = { width: 356, height: 302 } } = props; + const { imgSrc = '', id = '', description = '', info = [], cabietInfo = '', warningTime, warningTimestamp, warningTimeFormat = 'YYYY-MM-DD HH:mm:ss' } = record || {} + const formattedDate = warningTimestamp ? dayjs(warningTimestamp).format(warningTimeFormat) : ''; + const warningTimeShow = warningTime ? warningTime : formattedDate + const handleClick = () => { + onRecordClick?.(record); + }; + + return ( +
+ + } + > + +
+
{description}
+ }> + {info?.map((item, index) => ( +
+ {item} +
+ ))} +
+
{warningTimeShow}
+
+ +
{cabietInfo}
+ +
+
+ ); +}; + +export default WarningRecordCard; diff --git a/packages/meta/src/WarningRecordCard/demo/base.tsx b/packages/meta/src/WarningRecordCard/demo/base.tsx new file mode 100644 index 0000000..cd9c569 --- /dev/null +++ b/packages/meta/src/WarningRecordCard/demo/base.tsx @@ -0,0 +1,29 @@ + +import React from 'react'; +import WarningRecordCard , {type Record}from '../WarningRecordCard'; +import { Space } from 'antd/es'; + +const props = { + record : + { + imgSrc: 'https://i.yourimageshare.com/lRHiD2UnAT.png', + id: '1561561', + description: '火焰识别', + info:['盒子1','点位1'], + cabietInfo: '柜子ID : C001', + // warningTime: "2023-03-01 ", + warningTimestamp :Date.now() , + // warningTimeFormat:"YYYY-MM-DD" + }, + onRecordClick:(record?:Record) =>{ + console.log(record) + } +} + +export default () => { + return ( + + + + ) +} diff --git a/packages/meta/src/WarningRecordCard/index.less b/packages/meta/src/WarningRecordCard/index.less new file mode 100644 index 0000000..0470b70 --- /dev/null +++ b/packages/meta/src/WarningRecordCard/index.less @@ -0,0 +1,27 @@ +.zhst-warning-record-card { + .ant-card-body { + padding: 0 !important; + font-family: MicrosoftYaHei; + line-height: 19px; + display: flex; + margin-top: 10px; + + .left-context { + flex: 1; + + > div{ + margin-top: 6px; + } + + > div:nth-child(1) { + margin-top: 0; + } + } + + .description{ + font-weight: bold; + } + } + + +} diff --git a/packages/meta/src/WarningRecordCard/index.md b/packages/meta/src/WarningRecordCard/index.md new file mode 100644 index 0000000..a804761 --- /dev/null +++ b/packages/meta/src/WarningRecordCard/index.md @@ -0,0 +1,19 @@ +--- +group: 数据展示 +category: Components +subtitle: 预警记录卡片 +title: WarningRecordCard 预警记录卡片 +--- + +# WarningRecordCard 预警记录卡片 + + + + + + +## API + +| 参数 | 说明 | 类型 | 默认值 | 版本 | +| --- | --- | --- | --- | --- | + diff --git a/packages/meta/src/WarningRecordCard/index.tsx b/packages/meta/src/WarningRecordCard/index.tsx new file mode 100644 index 0000000..a3ebea8 --- /dev/null +++ b/packages/meta/src/WarningRecordCard/index.tsx @@ -0,0 +1,5 @@ +import WarningRecordCard from './WarningRecordCard' + +export type { Record, WarningRecordCardProps} from './WarningRecordCard' + +export default WarningRecordCard diff --git a/packages/meta/src/index.tsx b/packages/meta/src/index.tsx index 544fb69..1191958 100644 --- a/packages/meta/src/index.tsx +++ b/packages/meta/src/index.tsx @@ -81,3 +81,4 @@ export { default as Tour } from './tour' export type { TourLocale, TourProps, TourStepProps } from './tour/interface' export { default as Segmented } from './segmented' export type { SegmentedLabeledOption, SegmentedProps, SegmentedValue } from './segmented' +export type { default as WarningRecordCard } from './WarningRecordCard'