diff --git a/apps/web-antd/src/components/summary-card/index.ts b/apps/web-antd/src/components/summary-card/index.ts
new file mode 100644
index 000000000..598d73d61
--- /dev/null
+++ b/apps/web-antd/src/components/summary-card/index.ts
@@ -0,0 +1,2 @@
+export { default as SummaryCard } from './summary-card.vue';
+export type { SummaryCardProps } from './typing';
diff --git a/apps/web-antd/src/components/summary-card/summary-card.vue b/apps/web-antd/src/components/summary-card/summary-card.vue
new file mode 100644
index 000000000..6778a9c40
--- /dev/null
+++ b/apps/web-antd/src/components/summary-card/summary-card.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+
+
+ {{ Math.abs(Number(percent)) }}%
+
+
+
+
+
+
diff --git a/apps/web-antd/src/components/summary-card/typing.ts b/apps/web-antd/src/components/summary-card/typing.ts
new file mode 100644
index 000000000..0ef1fdc6f
--- /dev/null
+++ b/apps/web-antd/src/components/summary-card/typing.ts
@@ -0,0 +1,11 @@
+export interface SummaryCardProps {
+ title: string;
+ tooltip?: string;
+ icon?: string;
+ iconColor?: string;
+ iconBgColor?: string;
+ prefix?: string;
+ value?: number;
+ decimals?: number;
+ percent?: number | string;
+}