From eb3ed4ee3b0dbb99112fd2d0dfaf588c05ee6223 Mon Sep 17 00:00:00 2001 From: zh-vah <1991249027@qq.com> Date: Wed, 19 Feb 2025 08:52:46 +0000 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=97=A5=E6=9C=9F=E6=97=B6=E5=8C=BA=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mis-web/src/pageComponents/file/apis.ts | 3 +++ apps/mis-web/src/pageComponents/finance/ChargeTable.tsx | 3 +++ apps/mis-web/src/pages/api/file/exportChargeRecord.ts | 7 ++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/mis-web/src/pageComponents/file/apis.ts b/apps/mis-web/src/pageComponents/file/apis.ts index 044bd74148..e4405d129b 100644 --- a/apps/mis-web/src/pageComponents/file/apis.ts +++ b/apps/mis-web/src/pageComponents/file/apis.ts @@ -23,12 +23,14 @@ export const urlToExport = ({ count, query, encoding, + timeZone, }: { exportApi: string columns: string[], count: number, query: Record encoding: Encoding + timeZone: string | undefined }, ) => { const params = new URLSearchParams(); @@ -54,6 +56,7 @@ export const urlToExport = ({ }); params.append("count", count.toString()); params.append("encoding", encoding); + params.append("timeZone",timeZone ?? "UTC"); const queryString = params.toString(); const fullPath = join(publicConfig.BASE_PATH, `/api/file/${exportApi}?${queryString}`); return fullPath; diff --git a/apps/mis-web/src/pageComponents/finance/ChargeTable.tsx b/apps/mis-web/src/pageComponents/finance/ChargeTable.tsx index c8e5080654..b5634539c5 100644 --- a/apps/mis-web/src/pageComponents/finance/ChargeTable.tsx +++ b/apps/mis-web/src/pageComponents/finance/ChargeTable.tsx @@ -167,6 +167,8 @@ export const ChargeTable: React.FC = ({ // 处理消费记录导出的函数 const handleExport = async (columns: string[], encoding: Encoding) => { + const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; + const totalCount = totalResultData?.totalCount ?? 0; if (totalCount > MAX_EXPORT_COUNT) { message.error(t(pCommon("exportMaxDataErrorMsg"), [MAX_EXPORT_COUNT])); @@ -176,6 +178,7 @@ export const ChargeTable: React.FC = ({ window.location.href = urlToExport({ encoding, exportApi: "exportChargeRecord", + timeZone:timeZone, columns, count: totalCount, query: { diff --git a/apps/mis-web/src/pages/api/file/exportChargeRecord.ts b/apps/mis-web/src/pages/api/file/exportChargeRecord.ts index e42e1138a1..61c3c56db6 100644 --- a/apps/mis-web/src/pages/api/file/exportChargeRecord.ts +++ b/apps/mis-web/src/pages/api/file/exportChargeRecord.ts @@ -48,6 +48,7 @@ export const ExportChargeRecordSchema = typeboxRouteSchema({ searchType: Type.Optional(Type.Enum(SearchType)), userIds: Type.Optional(Type.String()), encoding: Type.Enum(Encoding), + timeZone:Type.Optional(Type.String()), }), responses:{ @@ -62,7 +63,7 @@ export const ExportChargeRecordSchema = typeboxRouteSchema({ export default route(ExportChargeRecordSchema, async (req, res) => { const { query } = req; - const { columns, startTime, endTime, searchType, isPlatformRecords, count, userIds, encoding } = query; + const { columns, startTime, endTime, searchType, isPlatformRecords, count, userIds, encoding, timeZone } = query; let { accountNames, types } = query; accountNames = emptyStringArrayToUndefined(accountNames); types = emptyStringArrayToUndefined(types); @@ -92,7 +93,7 @@ export default route(ExportChargeRecordSchema, async (req, res) => { const client = getClient(ExportServiceClient); - const filename = `charge_record-${new Date().toLocaleString("zh-CN", { timeZone: "Asia/Shanghai" })}.csv`; + const filename = `charge_record-${new Date().toLocaleString("zh-CN", { timeZone: timeZone ?? "UTC" })}.csv`; const dispositionParm = "filename* = UTF-8''" + encodeURIComponent(filename); const contentTypeWithCharset = getContentTypeWithCharset(filename, encoding); @@ -125,7 +126,7 @@ export default route(ExportChargeRecordSchema, async (req, res) => { accountName: x.accountName, tenantName: x.tenantName, userId: x.userId, - time: x.time ? new Date(x.time).toISOString() : "", + time: x.time ? new Date(x.time).toLocaleString("zh-CN", { timeZone: timeZone ?? "UTC" }) : "", amount: nullableMoneyToString(x.amount), type: x.type, comment: x.comment, From f921e815911931b54b86d4219771489c24f8be1c Mon Sep 17 00:00:00 2001 From: zh-vah <1991249027@qq.com> Date: Wed, 19 Feb 2025 08:55:42 +0000 Subject: [PATCH 2/5] add changeset --- .changeset/three-starfishes-wave.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/three-starfishes-wave.md diff --git a/.changeset/three-starfishes-wave.md b/.changeset/three-starfishes-wave.md new file mode 100644 index 0000000000..854338d0ff --- /dev/null +++ b/.changeset/three-starfishes-wave.md @@ -0,0 +1,5 @@ +--- +"@scow/mis-web": patch +--- + +消费记录导出日期时区不一致修复 From 13828995f048e38c48f01af14d84e102697aa328 Mon Sep 17 00:00:00 2001 From: zh-vah <1991249027@qq.com> Date: Wed, 19 Feb 2025 09:39:57 +0000 Subject: [PATCH 3/5] update dockerfile --- dev/test-adapter/Dockerfile | 4 +++- docker/Dockerfile.docs | 4 +++- docker/Dockerfile.scow | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dev/test-adapter/Dockerfile b/dev/test-adapter/Dockerfile index c1428b6007..510415854d 100644 --- a/dev/test-adapter/Dockerfile +++ b/dev/test-adapter/Dockerfile @@ -9,10 +9,12 @@ # See the Mulan PSL v2 for more details. -FROM node:iron-alpine@sha256:558a6416c5e0da2cb0f19bbc766f0a76825a7e76484bc211af0bb1cedbb7ca1e AS base +FROM node:22-alpine@sha256:5bfc86520dfe026fd04c14fa55d26bc4917e249ac67bc5c6d8b7fd12b97e2c0e AS base RUN apk update && apk add libc6-compat python3 make gcc g++ git +RUN npm i -g corepack@0.31.0 + RUN corepack enable WORKDIR /app diff --git a/docker/Dockerfile.docs b/docker/Dockerfile.docs index d92069064c..3f20a8a333 100644 --- a/docker/Dockerfile.docs +++ b/docker/Dockerfile.docs @@ -9,10 +9,12 @@ # See the Mulan PSL v2 for more details. -FROM node:iron-alpine@sha256:558a6416c5e0da2cb0f19bbc766f0a76825a7e76484bc211af0bb1cedbb7ca1e AS base +FROM node:22-alpine@sha256:5bfc86520dfe026fd04c14fa55d26bc4917e249ac67bc5c6d8b7fd12b97e2c0e AS base RUN apk update && apk add libc6-compat python3 make gcc g++ git +RUN npm i -g corepack@0.31.0 + RUN corepack enable WORKDIR /app diff --git a/docker/Dockerfile.scow b/docker/Dockerfile.scow index 5211b4cf00..76e640eaeb 100644 --- a/docker/Dockerfile.scow +++ b/docker/Dockerfile.scow @@ -9,7 +9,7 @@ # See the Mulan PSL v2 for more details. -FROM node:iron-alpine@sha256:558a6416c5e0da2cb0f19bbc766f0a76825a7e76484bc211af0bb1cedbb7ca1e AS base +FROM node:22-alpine@sha256:5bfc86520dfe026fd04c14fa55d26bc4917e249ac67bc5c6d8b7fd12b97e2c0e AS base RUN apk update @@ -17,6 +17,8 @@ FROM base as builder RUN apk add libc6-compat python3 make gcc g++ curl git +RUN npm i -g corepack@0.31.0 + RUN corepack enable WORKDIR /app From 5588a884d160cfbc3c8ad6b8e8d432b8b3c185d5 Mon Sep 17 00:00:00 2001 From: zh-vah <1991249027@qq.com> Date: Fri, 21 Feb 2025 07:04:49 +0000 Subject: [PATCH 4/5] fix --- dev/test-adapter/Dockerfile | 4 +--- docker/Dockerfile.docs | 4 +--- docker/Dockerfile.scow | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/dev/test-adapter/Dockerfile b/dev/test-adapter/Dockerfile index 510415854d..c1428b6007 100644 --- a/dev/test-adapter/Dockerfile +++ b/dev/test-adapter/Dockerfile @@ -9,12 +9,10 @@ # See the Mulan PSL v2 for more details. -FROM node:22-alpine@sha256:5bfc86520dfe026fd04c14fa55d26bc4917e249ac67bc5c6d8b7fd12b97e2c0e AS base +FROM node:iron-alpine@sha256:558a6416c5e0da2cb0f19bbc766f0a76825a7e76484bc211af0bb1cedbb7ca1e AS base RUN apk update && apk add libc6-compat python3 make gcc g++ git -RUN npm i -g corepack@0.31.0 - RUN corepack enable WORKDIR /app diff --git a/docker/Dockerfile.docs b/docker/Dockerfile.docs index 3f20a8a333..d92069064c 100644 --- a/docker/Dockerfile.docs +++ b/docker/Dockerfile.docs @@ -9,12 +9,10 @@ # See the Mulan PSL v2 for more details. -FROM node:22-alpine@sha256:5bfc86520dfe026fd04c14fa55d26bc4917e249ac67bc5c6d8b7fd12b97e2c0e AS base +FROM node:iron-alpine@sha256:558a6416c5e0da2cb0f19bbc766f0a76825a7e76484bc211af0bb1cedbb7ca1e AS base RUN apk update && apk add libc6-compat python3 make gcc g++ git -RUN npm i -g corepack@0.31.0 - RUN corepack enable WORKDIR /app diff --git a/docker/Dockerfile.scow b/docker/Dockerfile.scow index 76e640eaeb..5211b4cf00 100644 --- a/docker/Dockerfile.scow +++ b/docker/Dockerfile.scow @@ -9,7 +9,7 @@ # See the Mulan PSL v2 for more details. -FROM node:22-alpine@sha256:5bfc86520dfe026fd04c14fa55d26bc4917e249ac67bc5c6d8b7fd12b97e2c0e AS base +FROM node:iron-alpine@sha256:558a6416c5e0da2cb0f19bbc766f0a76825a7e76484bc211af0bb1cedbb7ca1e AS base RUN apk update @@ -17,8 +17,6 @@ FROM base as builder RUN apk add libc6-compat python3 make gcc g++ curl git -RUN npm i -g corepack@0.31.0 - RUN corepack enable WORKDIR /app From cc1f0cf0e10aacaf2337131ca20647c0829e2163 Mon Sep 17 00:00:00 2001 From: zh-vah <1991249027@qq.com> Date: Mon, 24 Feb 2025 03:34:14 +0000 Subject: [PATCH 5/5] fix --- apps/mis-web/src/pageComponents/file/apis.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mis-web/src/pageComponents/file/apis.ts b/apps/mis-web/src/pageComponents/file/apis.ts index e4405d129b..eb20016c36 100644 --- a/apps/mis-web/src/pageComponents/file/apis.ts +++ b/apps/mis-web/src/pageComponents/file/apis.ts @@ -30,7 +30,7 @@ export const urlToExport = ({ count: number, query: Record encoding: Encoding - timeZone: string | undefined + timeZone?: string | undefined }, ) => { const params = new URLSearchParams();