Browse Source

多张图片左右滑动

Renxy 1 year ago
parent
commit
83066f9aca
3 changed files with 31 additions and 29 deletions
  1. 1 0
      package.json
  2. 25 29
      src/pages/TaskManage/Detail/TaskOrder/TaskOrder.tsx
  3. 5 0
      yarn.lock

+ 1 - 0
package.json

@@ -18,6 +18,7 @@
     "echarts": "^5.4.3",
     "md5": "^2.3.0",
     "qs": "^6.11.2",
+    "react-photo-view": "^1.2.3",
     "react-zmage": "^0.8.5"
   },
   "devDependencies": {

+ 25 - 29
src/pages/TaskManage/Detail/TaskOrder/TaskOrder.tsx

@@ -14,9 +14,10 @@ import { Col, Row } from 'antd';
 import dayjs from 'dayjs';
 import { DefaultOptionType } from 'rc-select/es/Select';
 import React, { useEffect, useState } from 'react';
+import 'react-photo-view/dist/react-photo-view.css';
 import styles from './taskOrder.less';
 
-import ReactZmage from 'react-zmage';
+import { PhotoProvider, PhotoView } from 'react-photo-view';
 
 interface IPropsType {
   userList: IUserType[];
@@ -229,6 +230,28 @@ const TaskOrder: React.FC<IPropsType> = (props) => {
   //   '[{"name":"1694762306412_Screenshot_20230815_180902_uni.UNI7E61B21.jpg","path":"work_order_files/1694762306412_Screenshot_20230815_180902_uni.UNI7E61B21.jpg","created_time":"2023-09-15 15:18:29","url":"https://water-service-test.oss-cn-hangzhou.aliyuncs.com/work_order_files/1694762306412_Screenshot_20230815_180902_uni.UNI7E61B21.jpg"},{"name":"1694762306230_Screenshot_20230815_180907_uni.UNI7E61B21.jpg","path":"work_order_files/1694762306230_Screenshot_20230815_180907_uni.UNI7E61B21.jpg","created_time":"2023-09-15 15:18:29","url":"https://water-service-test.oss-cn-hangzhou.aliyuncs.com/work_order_files/1694762306230_Screenshot_20230815_180907_uni.UNI7E61B21.jpg"}]',
   // );
 
+  const renderImg = () => {
+    return (
+      <PhotoProvider>
+        <Col className={styles.fontS28} span={18}>
+          {orderInfo?.MandateImages?.map((photo) => (
+            <PhotoView src={photo.src}>
+              <img
+                style={{
+                  maxWidth: `${Math.floor(
+                    100 / (orderInfo?.MandateImages?.length || 1),
+                  )}%`,
+                }}
+                src={photo.src}
+                alt=""
+              />
+            </PhotoView>
+          ))}
+        </Col>
+      </PhotoProvider>
+    );
+  };
+
   return (
     <PageContent closeable={false}>
       <PageTitle returnable>工单详情</PageTitle>
@@ -287,34 +310,7 @@ const TaskOrder: React.FC<IPropsType> = (props) => {
             {orderInfo?.MandateImages?.length > 0 && (
               <Row className={styles.rowMarginTop}>
                 <Col className={styles.fontS28}>任务图片:</Col>
-                <Col className={styles.fontS28} span={18}>
-                  {orderInfo?.MandateImages?.length > 0 &&
-                    orderInfo?.MandateImages?.map((item, index) => (
-                      <ReactZmage
-                        controller={{
-                          // 关闭按钮
-                          close: true,
-                          // 缩放按钮
-                          zoom: false,
-                          // 下载按钮
-                          download: false,
-                          // 翻页按钮
-                          flip: true,
-                          // 多页指示
-                          pagination: true,
-                        }}
-                        backdrop="rgba(255,255,255,0.5)"
-                        style={{
-                          maxWidth: `${Math.floor(
-                            100 / orderInfo?.MandateImages?.length,
-                          )}%`,
-                        }}
-                        src={item.src}
-                        set={orderInfo?.MandateImages}
-                        defaultPage={index}
-                      />
-                    ))}
-                </Col>
+                {renderImg()}
               </Row>
             )}
           </div>

+ 5 - 0
yarn.lock

@@ -8114,6 +8114,11 @@ react-merge-refs@^1.1.0:
   resolved "https://registry.yarnpkg.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz#73d88b892c6c68cbb7a66e0800faa374f4c38b06"
   integrity sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==
 
+react-photo-view@^1.2.3:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/react-photo-view/-/react-photo-view-1.2.3.tgz#436f81ad0a611dfaa43bbc72a4fef26a057b5aef"
+  integrity sha512-dtaFjU8nAB/rD8mxBaaJcvESlDOweAd1tmvXujS/d3oh1QyGew3xD4C02l46E6Dhn3Tshzl2+IM1h0MWV9nG7g==
+
 react-redux@^8.0.5:
   version "8.1.2"
   resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.2.tgz#9076bbc6b60f746659ad6d51cb05de9c5e1e9188"