From 4e231ec4012236c02151da326e0b762dafff09a1 Mon Sep 17 00:00:00 2001
From: lys <971387674@qq.com>
Date: Mon, 14 Apr 2025 16:36:42 +0800
Subject: [PATCH 1/5] master
---
src/pages/OCTable/index.tsx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/pages/OCTable/index.tsx b/src/pages/OCTable/index.tsx
index 87ca8bf..133c470 100644
--- a/src/pages/OCTable/index.tsx
+++ b/src/pages/OCTable/index.tsx
@@ -65,10 +65,10 @@ const OCTable: FC = (props) => {
{excelResultValue}
{
- showDifference &&
+ showDifference && !!parseInt(calculateDifference(acctResultValue, excelResultValue || 0)) &&
{lanObj["差值"]}:
- {calculateDifference(acctResultValue, excelResultValue)}
+ {calculateDifference(acctResultValue, excelResultValue || 0)}
}
;
@@ -104,7 +104,7 @@ const OCTable: FC = (props) => {
return
Date: Thu, 24 Apr 2025 16:51:07 +0800
Subject: [PATCH 2/5] master
---
src/pages/calcTable/index.tsx | 4 +-
src/pages/unitTable/renderColsOpts.tsx | 52 ++++++++++++++++++++++++++
2 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/src/pages/calcTable/index.tsx b/src/pages/calcTable/index.tsx
index 0e74e6d..52e4e4e 100644
--- a/src/pages/calcTable/index.tsx
+++ b/src/pages/calcTable/index.tsx
@@ -240,8 +240,8 @@ const index: FunctionComponent = (props) => {
};
const rowSelection = {
columnWidth: 50,
- columnTitle: isDetailTable ? "序号" : "",
- renderCell: (value: boolean, record: any, index: number, originNode: React.ReactNode) => (isDetailTable ? {index + 1} : originNode),
+ columnTitle: isDetailTable && _.isNil(showSee) ? "序号" : "",
+ renderCell: (value: boolean, record: any, index: number, originNode: React.ReactNode) => (isDetailTable && _.isNil(showSee) ? {index + 1} : originNode),
selectedRowKeys,
preserveSelectedRowKeys: true,
onChange: (rowKeys: React.Key[]) => {
diff --git a/src/pages/unitTable/renderColsOpts.tsx b/src/pages/unitTable/renderColsOpts.tsx
index 784233f..16761d4 100644
--- a/src/pages/unitTable/renderColsOpts.tsx
+++ b/src/pages/unitTable/renderColsOpts.tsx
@@ -434,6 +434,58 @@ export function renderCols(initialState: any[], type: string, i18n?: AnyObject,
return col;
})
];
+ } else if (type === "attendanceView") {
+ return [
+ ..._.map(initialState, (g) => {
+ let col = { ...g, ellipsis: true };
+ switch (g.dataIndex) {
+ case "operate":
+ col = {
+ ...col,
+ width: 176,
+ fixed: "right" // render: (__: string, record: any) => {
+ // let items: MenuProps["items"] = [
+ // {
+ // key: "DeleteList",
+ // label: i18n?.["删除"],
+ // onClick: () => postMessageToParent("DEL", record)
+ // },
+ // {
+ // key: "Log",
+ // label: i18n?.["操作日志"],
+ // onClick: () => postMessageToParent("log", record)
+ // }
+ // ];
+ // isSpecial && items.shift();
+ // return (
+ //
+ //
+ // {isSpecial ? (
+ //
+ // ) : (
+ //
+ // )}
+ //
+ // } />
+ //
+ //
+ // );
+ // }
+ };
+ break;
+ default:
+ col = { ...col };
+ break;
+ }
+ return col;
+ })
+ ];
}
return initialState;
}, [initialState, type, i18n, extraParams]);
From f46a01daf2e2c95d44dc4a81d32e228d3b6cd238 Mon Sep 17 00:00:00 2001
From: lys <971387674@qq.com>
Date: Wed, 4 Jun 2025 09:12:20 +0800
Subject: [PATCH 3/5] master
---
src/pages/unitTable/renderColsOpts.tsx | 48 +++++++-------------------
1 file changed, 13 insertions(+), 35 deletions(-)
diff --git a/src/pages/unitTable/renderColsOpts.tsx b/src/pages/unitTable/renderColsOpts.tsx
index 16761d4..67c4644 100644
--- a/src/pages/unitTable/renderColsOpts.tsx
+++ b/src/pages/unitTable/renderColsOpts.tsx
@@ -442,41 +442,19 @@ export function renderCols(initialState: any[], type: string, i18n?: AnyObject,
case "operate":
col = {
...col,
- width: 176,
- fixed: "right" // render: (__: string, record: any) => {
- // let items: MenuProps["items"] = [
- // {
- // key: "DeleteList",
- // label: i18n?.["删除"],
- // onClick: () => postMessageToParent("DEL", record)
- // },
- // {
- // key: "Log",
- // label: i18n?.["操作日志"],
- // onClick: () => postMessageToParent("log", record)
- // }
- // ];
- // isSpecial && items.shift();
- // return (
- //
- //
- // {isSpecial ? (
- //
- // ) : (
- //
- // )}
- //
- // } />
- //
- //
- // );
- // }
+ ellipsis: false,
+ width: 120,
+ render: (__: string, record: any) => {
+ return (
+
+ {_.map(col?.operateType, (o) => (
+
+ ))}
+
+ );
+ }
};
break;
default:
From 57811df6e2e7ec37bd7141265b049e357a7f3251 Mon Sep 17 00:00:00 2001
From: lys <971387674@qq.com>
Date: Wed, 4 Jun 2025 11:22:44 +0800
Subject: [PATCH 4/5] master
---
src/pages/demo/index.less | 22 ++++++
.../demo/website/[picLazyLoading]/index.tsx | 48 +++++++++++++
src/pages/demo/website/default.jpeg | Bin 0 -> 8236 bytes
src/pages/demo/website/index.tsx | 43 ++++++++++++
src/pages/demo/website/slideInItem.tsx | 64 ++++++++++++++++++
5 files changed, 177 insertions(+)
create mode 100644 src/pages/demo/index.less
create mode 100644 src/pages/demo/website/[picLazyLoading]/index.tsx
create mode 100644 src/pages/demo/website/default.jpeg
create mode 100644 src/pages/demo/website/index.tsx
create mode 100644 src/pages/demo/website/slideInItem.tsx
diff --git a/src/pages/demo/index.less b/src/pages/demo/index.less
new file mode 100644
index 0000000..43b13e3
--- /dev/null
+++ b/src/pages/demo/index.less
@@ -0,0 +1,22 @@
+.block {
+ height: 300px;
+ border: 3px solid #ccc;
+ margin-bottom: 20px;
+ color: white;
+ padding: 24px;
+ line-height: 32px;
+ font-size: 24px;
+}
+
+.lazyloadImg{
+ display: flex;
+ flex-wrap: wrap;
+ &>li{
+ width: 400px;
+ margin-right: 10px;
+ margin-bottom: 10px;
+ img{
+ width: 100%;
+ }
+ }
+}
diff --git a/src/pages/demo/website/[picLazyLoading]/index.tsx b/src/pages/demo/website/[picLazyLoading]/index.tsx
new file mode 100644
index 0000000..fd37f4d
--- /dev/null
+++ b/src/pages/demo/website/[picLazyLoading]/index.tsx
@@ -0,0 +1,48 @@
+import React, { useEffect, useRef } from "react";
+import styles from "../../index.less";
+
+interface OwnProps {}
+
+type Props = OwnProps;
+
+const Index: React.FC = (props) => {
+ const itemRef = useRef([]);
+ const ob = new IntersectionObserver((entries) => {
+ for (const entry of entries) {
+ if (entry.isIntersecting) {
+ const img: any = entry.target;
+ img.src = img.dataset.src;
+ ob.unobserve(entry.target);
+ }
+ }
+ });
+ useEffect(() => {
+ if (itemRef.current) {
+ _.forEach(itemRef.current, (item) => {
+ ob.observe(item);
+ });
+ }
+
+ return () => {
+ if (itemRef.current) {
+ _.forEach(itemRef.current, (item) => {
+ ob.unobserve(item);
+ });
+ }
+ };
+ }, [itemRef.current]);
+ return (
+
+ {_.map(
+ Array.from({ length: 200 }, () => Math.floor(Math.random() * 100)),
+ (item, index) => (
+ -
+
(itemRef.current[index] = el as HTMLElement)} />
+
+ )
+ )}
+
+ );
+};
+
+export default Index;
diff --git a/src/pages/demo/website/default.jpeg b/src/pages/demo/website/default.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..deb573f41e2b97e1683d77f800949d1a46ac6cad
GIT binary patch
literal 8236
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
S5B`4a;|~q|Ki2@1O8OTqOMu4!
literal 0
HcmV?d00001
diff --git a/src/pages/demo/website/index.tsx b/src/pages/demo/website/index.tsx
new file mode 100644
index 0000000..fe98cd2
--- /dev/null
+++ b/src/pages/demo/website/index.tsx
@@ -0,0 +1,43 @@
+import React from "react";
+import SlideInItem from "./slideInItem";
+
+interface OwnProps {}
+
+type Props = OwnProps;
+
+const list = [
+ { id: 1, bg: "red" },
+ { id: 2, bg: "blue" },
+ { id: 3, bg: "green" },
+ { id: 4, bg: "yellowgreen" },
+ { id: 5, bg: "orange" },
+ { id: 6, bg: "pink" },
+ { id: 7, bg: "antiquewhite" },
+ { id: 8, bg: "darkseagreen" },
+ { id: 9, bg: "purple" },
+ { id: 10, bg: "red" },
+ { id: 11, bg: "black" }
+];
+const Index: React.FC = (props) => {
+ const map = new WeakMap();
+ const ob = new IntersectionObserver((entries) => {
+ for (const entry of entries) {
+ if (entry.isIntersecting) {
+ const animation = map.get(entry.target);
+ if (animation) {
+ animation.play();
+ ob.unobserve(entry.target);
+ }
+ }
+ }
+ });
+ return (
+ <>
+ {list.map((item, index) => {
+ return ;
+ })}
+ >
+ );
+};
+
+export default Index;
diff --git a/src/pages/demo/website/slideInItem.tsx b/src/pages/demo/website/slideInItem.tsx
new file mode 100644
index 0000000..6b82e92
--- /dev/null
+++ b/src/pages/demo/website/slideInItem.tsx
@@ -0,0 +1,64 @@
+import React, { useEffect, useRef } from "react";
+import styles from "../index.less";
+
+interface OwnProps {
+ item: any;
+ ob: any;
+ map: any;
+}
+
+type Props = OwnProps;
+const SLIDE_FADE_DISTANCE = 50;
+const SLIDE_FADE_DURATION = 1000;
+
+const isBelowViewport = (el: HTMLDivElement) => {
+ const rect = el.getBoundingClientRect();
+ return rect.top - SLIDE_FADE_DISTANCE > window.innerHeight;
+};
+const slideInItem: React.FC = (props) => {
+ const { item, ob, map } = props;
+ const itemRef = useRef(null);
+
+ useEffect(() => {
+ if (itemRef.current && ob) {
+ if (!isBelowViewport(itemRef.current)) {
+ return;
+ }
+ const animation = itemRef.current.animate(
+ [
+ {
+ transform: `translateY(${SLIDE_FADE_DISTANCE}px)`,
+ opacity: 0.1
+ },
+ {
+ transform: `translateY(0)`,
+ opacity: 1
+ }
+ ],
+ {
+ duration: SLIDE_FADE_DURATION,
+ easing: "ease-in-out",
+ fill: "forwards" // 当动画完成后,保留最后一个关键帧的样式
+ }
+ );
+ animation.pause();
+ map.set(itemRef.current, animation);
+ ob.observe(itemRef.current);
+ }
+
+ return () => {
+ ob.unobserve(itemRef.current);
+ };
+ }, [itemRef.current]);
+
+ return (
+
+
The most popular component library
+
+
for Tailwind CSS
+
daisyUI adds component class names to Tailwind CSS so you can make beautiful websites faster than ever.
+
+ );
+};
+
+export default slideInItem;
From 2be569f8ebe704dc031cdbe4376b1649d2f27fbf Mon Sep 17 00:00:00 2001
From: lys <971387674@qq.com>
Date: Wed, 11 Jun 2025 09:55:13 +0800
Subject: [PATCH 5/5] master
---
src/pages/unitTable/renderColsOpts.tsx | 30 ++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/src/pages/unitTable/renderColsOpts.tsx b/src/pages/unitTable/renderColsOpts.tsx
index 67c4644..c38e0ee 100644
--- a/src/pages/unitTable/renderColsOpts.tsx
+++ b/src/pages/unitTable/renderColsOpts.tsx
@@ -464,6 +464,36 @@ export function renderCols(initialState: any[], type: string, i18n?: AnyObject,
return col;
})
];
+ } else if (type === "declare") {
+ return [
+ ..._.map(initialState, (g) => {
+ let col = { ...g, ellipsis: true };
+ switch (g.dataIndex) {
+ case "operate":
+ col = {
+ ...col,
+ ellipsis: false,
+ width: 120,
+ render: (__: string, record: any) => {
+ return (
+
+ {_.map(col?.operateType, (o) => (
+
+ ))}
+
+ );
+ }
+ };
+ break;
+ default:
+ col = { ...col };
+ break;
+ }
+ return col;
+ })
+ ];
}
return initialState;
}, [initialState, type, i18n, extraParams]);