From 59c008f9b7add6e949c9c7b2840a5b469d82e232 Mon Sep 17 00:00:00 2001 From: Ycc Date: Fri, 8 Aug 2025 11:51:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BE=E7=89=87=E9=A2=84?= =?UTF-8?q?=E8=A7=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ImageUploader.jsx | 47 +++++++++++++++++++++++++++++++- src/views/trainticket/plan.jsx | 8 +++++- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/src/components/ImageUploader.jsx b/src/components/ImageUploader.jsx index 3437e70..75c8c5b 100644 --- a/src/components/ImageUploader.jsx +++ b/src/components/ImageUploader.jsx @@ -82,7 +82,7 @@ const getSignature = async (file, key, onSuccess, onError) => { } }; -const ImageUploader = props => { +export const ImageUploader = props => { const [fileList, setFileList] = useState([]); const [isLoading, setIsLoading] = useState(false); const [previewOpen, setPreviewOpen] = useState(false); @@ -188,4 +188,49 @@ const ImageUploader = props => { ); }; +export const ImageViewer = props => { + const [fileList, setFileList] = useState([]); + const key = simple_encrypt(props.osskey); + + // 组件挂载时获取图片列表 + useEffect(() => { + const loadImages = async () => { + const images = await getImageList(key); + setFileList(images); + if (props.onChange) { + //作用是回调函数,给外面的组件传递数据 + props.onChange(images); + } + }; + + if (key) { + loadImages(); + } + }, [key]); + + return ( + <> + { + const isImage = /\.(jpg|jpeg|png|gif|bmp|pdf)$/i.test(item.key); + if (isImage) { + return ( + + + + ); + } + }} + /> + + ); +}; + export default ImageUploader; diff --git a/src/views/trainticket/plan.jsx b/src/views/trainticket/plan.jsx index 1b23194..fc84f00 100644 --- a/src/views/trainticket/plan.jsx +++ b/src/views/trainticket/plan.jsx @@ -10,7 +10,7 @@ import { usingStorage } from "@/hooks/usingStorage"; import BackBtn from "@/components/BackBtn"; import { station_names } from "@/views/trainticket/station_name"; import { Upload } from "antd"; -import ImageUploader from "@/components/ImageUploader"; +import { ImageUploader, ImageViewer } from "@/components/ImageUploader"; const TrainticketPlan = props => { const { coli_sn, gri_sn } = useParams(); @@ -526,6 +526,12 @@ const TrainticketPlan = props => { + + 客人护照 + + + + {planDetail ? `${planDetail[0].GRI_No} - ${planDetail[0].WL}` : ""}