From 61adf09dc8a95bd191c3fba7fb15c26f843ed083 Mon Sep 17 00:00:00 2001 From: xianyi Date: Thu, 27 Nov 2025 17:35:29 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/UI6/UI6.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/pages/UI6/UI6.tsx b/src/pages/UI6/UI6.tsx index 6a82ad8..4597004 100644 --- a/src/pages/UI6/UI6.tsx +++ b/src/pages/UI6/UI6.tsx @@ -36,22 +36,22 @@ const UI6: React.FC = () => { // 处理数据:将 project_id 和 project_name 字符串分离为数组 const processedData = res.Data.listPackDetail.map((item: any) => { // 将 project_id 字符串按中文顿号分割为数组 - const project_ids = item.project_id + const project_ids = item.project_id ? item.project_id.split("、").map((id: string) => id.trim()).filter((id: string) => id) : []; - + // 将 project_name 字符串按中文顿号分割为数组 const project_names = item.project_name ? item.project_name.split("、").map((name: string) => name.trim()).filter((name: string) => name) : []; - + return { ...item, project_ids, project_names, }; }); - + setListData(processedData); setPackageInfo(res.Data.packagItemInfo); } else { @@ -68,10 +68,10 @@ const UI6: React.FC = () => { - {localStorage.getItem("name")}{localStorage.getItem("gender") === "男" ? "先生" : "女士"}定制套餐 -
-
- 已帮您成功预约 {PackageInfo.appointment_datetime} 的体检,以下是体检套餐详情和价格。 + {localStorage.getItem("name")}{localStorage.getItem("gender") === "男" ? "先生" : "女士"}定制套餐 +
+
+ 以下是您预约的 {PackageInfo.appointment_datetime} 体检套餐详情,请核对确认
From 5c691727eb8f903d28c9ead8c4cd1a49df688726 Mon Sep 17 00:00:00 2001 From: xianyi Date: Thu, 27 Nov 2025 17:36:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AD=BE=E5=90=8D?= =?UTF-8?q?=E7=94=BB=E7=AC=94=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/UI7/UI7.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/UI7/UI7.tsx b/src/pages/UI7/UI7.tsx index 56ddb8b..4db6ac2 100644 --- a/src/pages/UI7/UI7.tsx +++ b/src/pages/UI7/UI7.tsx @@ -282,7 +282,7 @@ const UI7: React.FC = () => { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.restore(); ctx.strokeStyle = "#000000"; - ctx.lineWidth = 2; + ctx.lineWidth = 10; ctx.lineCap = "round"; ctx.lineJoin = "round"; }, []); From 914614cf2eac4f0b888aaa3a3c7e529c00fca3d4 Mon Sep 17 00:00:00 2001 From: xianyi Date: Thu, 27 Nov 2025 18:15:01 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B8=A9=E9=A6=A8?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.tsx | 2 + src/assets/error.png | Bin 0 -> 2897 bytes src/components/ConfirmButton.css | 6 +- src/pages/UI8/UI8.tsx | 2 +- src/pages/UI81/UI81.css | 138 +++++++++++++++++++++++++++++++ src/pages/UI81/UI81.tsx | 90 ++++++++++++++++++++ 6 files changed, 233 insertions(+), 5 deletions(-) create mode 100644 src/assets/error.png create mode 100644 src/pages/UI81/UI81.css create mode 100644 src/pages/UI81/UI81.tsx diff --git a/src/App.tsx b/src/App.tsx index 4e3edba..d4b605d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -12,6 +12,7 @@ import UI6 from "./pages/UI6/UI6"; import UI7 from "./pages/UI7/UI7"; import UI8 from "./pages/UI8/UI8"; import UI9 from "./pages/UI9/UI9"; +import UI81 from "./pages/UI81/UI81"; function App() { const [time, setTime] = useState(() => formatDate(new Date())); @@ -57,6 +58,7 @@ function App() { } /> } /> } /> + } /> } />
diff --git a/src/assets/error.png b/src/assets/error.png new file mode 100644 index 0000000000000000000000000000000000000000..0b7956c89b3b9142ff63b5893caeea0f18b97d21 GIT binary patch literal 2897 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 { alert("打印失败,请重试"); } finally { setIsPrinting(false); - navigate("/UI9"); + navigate("/UI81"); } }, [originPdfUrls, pdfFiles, printers.length, selectedPrinter]); diff --git a/src/pages/UI81/UI81.css b/src/pages/UI81/UI81.css new file mode 100644 index 0000000..ed901a2 --- /dev/null +++ b/src/pages/UI81/UI81.css @@ -0,0 +1,138 @@ +.ui81-table-container { + width: 754px; + max-height: 881px; + overflow-y: auto; + overflow-x: hidden; + /* 隐藏滚动条但保持滚动功能 */ + scrollbar-width: none; + /* Firefox */ + -ms-overflow-style: none; + /* IE 和 Edge */ +} + +.ui81-table-container::-webkit-scrollbar { + display: none; + /* Chrome, Safari, Opera */ +} + +.ui81-table { + width: 754px; + border-collapse: collapse; + background-color: #ffffff; +} + +.ui81-table-header { + color: rgba(0, 45, 93, 1); + font-size: 32px; + font-family: NotoSansCJKsc-Bold; + font-weight: 700; + text-align: center; + padding: 10px; + border: 1px solid rgba(0, 45, 93, 0.2); + background-color: rgba(233, 242, 245, 1); + position: sticky; + top: 0; + z-index: 10; +} + +.ui81-table-dept { + width: 200px; + background-color: #b12651; + color: white; +} + +.ui81-table-project { + width: 554px; + background-color: #053875; + color: white; +} + +.ui81-table-row { + border-bottom: 2px solid #d3d3d3; + border-right: 2px solid #d3d3d3; +} + +.ui81-table-dept-cell { + color: black; + background-color: #daeef2; + font-size: 24px; + font-family: NotoSansCJKsc-Medium; + font-weight: 500; + padding-left: 20px; + border-right: 2px solid #d3d3d3; + border-left: 2px solid #d3d3d3; +} + +.ui81-table-project-cell { + color: black; + font-size: 24px; + padding: 0; + font-family: NotoSansCJKsc-Regular; + text-align: left; +} + +.ui81-project-item { + border-bottom: 2px solid #d3d3d3; + line-height: 1.5; +} + +.ui81-project-item:last-child { + border-bottom: none; +} + +.ui81-error-container { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + gap: 20px; +} + +.ui81-error-container img { + position: relative; + top: 4px; +} + +.ui81-confirm-section { + width: 896px; + position: fixed; + bottom: 300px; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.ui81-paragraph { + width: 800px; + height: auto; + overflow-wrap: break-word; + color: rgba(0, 45, 93, 1); + font-size: 28px; + font-family: NotoSansCJKsc-Medium; + font-weight: 500; + text-align: center; + line-height: 26px; + margin: 0 0 53px 0; + text-align: left; + + +} + +.ui81-paragraph h4 { + font-size: 32px; + font-family: NotoSansCJKsc-Bold; + font-weight: 700; + text-align: left; + line-height: 40px; + margin-bottom: 60px; +} + +.ui81-paragraph p { + font-size: 32px; + font-family: NotoSansCJKsc-Medium; + font-weight: 500; + text-align: left; + line-height: 60px; + margin-bottom: 20px; +} \ No newline at end of file diff --git a/src/pages/UI81/UI81.tsx b/src/pages/UI81/UI81.tsx new file mode 100644 index 0000000..6a84d79 --- /dev/null +++ b/src/pages/UI81/UI81.tsx @@ -0,0 +1,90 @@ +import React, { useEffect, useState } from "react"; +import "./UI81.css"; +import "../../assets/css/basic.css"; +import { useNavigate } from "react-router-dom"; +import ConfirmButton from "../../components/ConfirmButton"; +import DecorLine from "../../components/DecorLine"; +import { getPackagItemDetail } from "../../api/hisApi"; +import errorIcon from "../../assets/error.png"; + +const UI81: React.FC = () => { + const navigate = useNavigate(); + + const handleBack = () => { + navigate(-1); + }; + + const handleConfirm = () => { + navigate("/UI9"); + }; + + const [ListData, setListData] = useState([]); + const [PackageInfo, setPackageInfo] = useState({}); + useEffect(() => { + getListData(); + }, []); + + + const getListData = async () => { + const id_no = localStorage.getItem("lastIdCardNo"); + if (!id_no) { + alert("请先输入身份证号"); + return; + } + const res = await getPackagItemDetail(id_no as string); + if (res.Status === 200) { + // 处理数据:将 project_id 和 project_name 字符串分离为数组 + const processedData = res.Data.listPackDetail.map((item: any) => { + // 将 project_id 字符串按中文顿号分割为数组 + const project_ids = item.project_id + ? item.project_id.split("、").map((id: string) => id.trim()).filter((id: string) => id) + : []; + + // 将 project_name 字符串按中文顿号分割为数组 + const project_names = item.project_name + ? item.project_name.split("、").map((name: string) => name.trim()).filter((name: string) => name) + : []; + + return { + ...item, + project_ids, + project_names, + }; + }); + + setListData(processedData); + setPackageInfo(res.Data.packagItemInfo); + } else { + alert(`获取列表数据失败: ${res.Message}`); + } + }; + + + return ( +
+
+
+
+ error + 温馨提示 +
+ + + +

尊敬的 {localStorage.getItem("name")} 先生/女士,体检过程中请您特别留意:

+

1、若您已怀孕或正在备孕,请务必提前告知工作人员,我们将为您避免放射类检查。

+

2、若您有糖尿病史或易发低血糖,请提前告知工作人员,我们将在完成空腹项目后优先安排用餐。

+

3、若您有长期服用任何药物、或体检过程中感到头晕、心慌等不适,请随时告知工作人员。

+
+ + +
+ +
+
+
+
+ ); +}; + +export default UI81;