Преглед изворни кода

Merge branch 'develop' of http://120.55.44.4:10080/xujunjie/gt_client_pad into develop

Renxy пре 1 година
родитељ
комит
fb4fcd3f60

+ 19 - 2
src/components/PageContent/index.js

@@ -1,19 +1,36 @@
 import { UnityAction } from '@/utils/utils';
-import { CloseOutlined } from '@ant-design/icons';
+import { CloseOutlined, LeftOutlined } from '@ant-design/icons';
+import { history } from '@umijs/max';
 import { ConfigProvider } from 'antd';
 import locale from 'antd/es/locale/zh_CN';
 import styles from './index.less';
 
 export default (props) => {
-  const { children, style, closeable = true, tabs = false } = props;
+  const {
+    children,
+    style,
+    closeable = true,
+    returnable = false,
+    tabs = false,
+  } = props;
 
   const handleClose = () => {
     UnityAction.sendMsg('closePage');
   };
+  const handleReturn = () => {
+    history.back();
+  };
 
   return (
     <ConfigProvider locale={locale}>
       <div className={styles.page} style={style}>
+        {returnable && (
+          <LeftOutlined
+            onClick={handleReturn}
+            className={styles.return}
+            style={{ top: tabs ? 42.5 : '' }}
+          />
+        )}
         {closeable && (
           <CloseOutlined
             onClick={handleClose}

+ 8 - 0
src/components/PageContent/index.less

@@ -13,4 +13,12 @@
     color: #4a4a4a;
     cursor: pointer;
   }
+  .return {
+    position: absolute;
+    top: 26px;
+    left: 20px;
+    font-size: 34px;
+    color: #4a4a4a;
+    cursor: pointer;
+  }
 }

+ 23 - 15
src/pages/Center/MyTask/Detail/WorkOrderDetail.js

@@ -15,10 +15,9 @@ import { connect, useRequest } from '@umijs/max';
 import { Col, Row, Steps } from 'antd';
 import dayjs from 'dayjs';
 import { useEffect, useState } from 'react';
-import 'react-photo-view/dist/react-photo-view.css';
 import styles from './workOrderDetail.less';
-
-import { PhotoProvider, PhotoView } from 'react-photo-view';
+// @ts-ignore
+import ReactZmage from 'react-zmage';
 
 const WorkOrderDetail = (props) => {
   const { userList, dispatch } = props;
@@ -263,23 +262,32 @@ const WorkOrderDetail = (props) => {
 
   const renderImg = () => {
     return (
-      <PhotoProvider>
-        <Col className={styles.fontS28} span={18}>
-          {orderInfo?.MandateImages?.map((photo, index) => (
-            <PhotoView key={index} src={photo.src}>
-              <img
+      <Col span={18}>
+        {orderInfo?.MandateImages?.length > 0 &&
+          orderInfo?.MandateImages?.map((item, index) => {
+            return (
+              <ReactZmage
+                key={index}
+                controller={{
+                  close: true,
+                  flip: true,
+                  zoom: true,
+                  pagination: true,
+                  download: false,
+                }}
+                backdrop="rgba(255,255,255,0.5)"
                 style={{
                   maxWidth: `${Math.floor(
-                    100 / (orderInfo?.MandateImages?.length || 1),
+                    100 / orderInfo?.MandateImages?.length,
                   )}%`,
                 }}
-                src={photo.src}
-                alt=""
+                src={item.src}
+                set={orderInfo?.MandateImages}
+                defaultPage={index}
               />
-            </PhotoView>
-          ))}
-        </Col>
-      </PhotoProvider>
+            );
+          })}
+      </Col>
     );
   };
 

+ 2 - 0
src/pages/Center/MyTask/List/WorkOrderList.less

@@ -9,7 +9,9 @@
 }
 
 .workOrderCard {
+  background-color: white;
   padding: 20px;
+  margin-top: 20px;
   margin-bottom: 10px;
   border-radius: 10px;
   box-shadow: 0px 0px 8px 2px rgba(191, 191, 191, 0.2);

+ 1 - 1
src/pages/Center/MyTask/index.js

@@ -118,7 +118,7 @@ const MyTask = () => {
   };
 
   return (
-    <PageContent tabs closeable={false}>
+    <PageContent tabs closeable={false} returnable>
       <TabsContent
         defaultActiveKey={tab}
         onChange={onTabChange}

+ 2 - 1
src/pages/EqSelfInspection/index.js

@@ -78,13 +78,14 @@ const EqSelfInspection = (props) => {
     if (!autoReport.Id) {
       return;
     }
-    const mandateIDs = await getMandateIDs({
+    let mandateIDs = await getMandateIDs({
       project_id: projectId,
       id: autoReport.Id,
     }).catch((err) => {
       console.log(err);
     });
     if (mandateIDs?.length) {
+      mandateIDs = [...new Set(mandateIDs)];
       UnityAction.sendMsg('OpenTaskModal', `mandate_id=${mandateIDs.join()}`);
     } else {
       message.info('未查询到相关任务');

+ 1 - 0
src/pages/TaskManage/Detail/WorkOrderList/WorkOrderList.less

@@ -11,6 +11,7 @@
 .workOrderCard {
   background-color: white;
   padding: 20px;
+  margin-top: 20px;
   margin-bottom: 10px;
   border-radius: 10px;
   box-shadow: 0px 0px 8px 2px rgba(191, 191, 191, 0.2);

+ 24 - 15
src/pages/TaskManage/Popup/WorkOrderModal.js

@@ -8,16 +8,15 @@ import {
 } from '@/services/TaskManage';
 import { CloseOutlined } from '@ant-design/icons';
 import { connect, useLocation, useParams, useRequest } from '@umijs/max';
-import { Button, Col, Row, Steps } from 'antd';
+import { Button, Col, Divider, Row, Steps } from 'antd';
 import dayjs from 'dayjs';
 import { useEffect, useState } from 'react';
-import { PhotoProvider, PhotoView } from 'react-photo-view';
+import ReactZmage from 'react-zmage';
 import SubTitle from '../components/SubTitle';
 import { OrderStatus, OrderType } from '../constent';
 import styles from './WorkOrderModal.less';
 
 import { UnityAction } from '@/utils/utils';
-import 'react-photo-view/dist/react-photo-view.css';
 
 const WorkOrderModal = (props) => {
   const { userList, dispatch } = props;
@@ -200,23 +199,32 @@ const WorkOrderModal = (props) => {
 
   const renderImg = () => {
     return (
-      <PhotoProvider>
-        <Col className={styles.fontS24} span={20}>
-          {orderInfo?.MandateImages?.map((photo) => (
-            <PhotoView src={photo.src}>
-              <img
+      <Col span={18}>
+        {orderInfo?.MandateImages?.length > 0 &&
+          orderInfo?.MandateImages?.map((item, index) => {
+            return (
+              <ReactZmage
+                key={index}
+                controller={{
+                  close: true,
+                  flip: true,
+                  zoom: true,
+                  pagination: true,
+                  download: false,
+                }}
+                backdrop="rgba(255,255,255,0.5)"
                 style={{
                   maxWidth: `${Math.floor(
-                    100 / (orderInfo?.MandateImages?.length || 1),
+                    100 / orderInfo?.MandateImages?.length,
                   )}%`,
                 }}
-                src={photo.src}
-                alt=""
+                src={item.src}
+                set={orderInfo?.MandateImages}
+                defaultPage={index}
               />
-            </PhotoView>
-          ))}
-        </Col>
-      </PhotoProvider>
+            );
+          })}
+      </Col>
     );
   };
 
@@ -250,6 +258,7 @@ const WorkOrderModal = (props) => {
         icon={<CloseOutlined style={{ fontSize: '24px' }} />}
         onClick={closePage}
       />
+      <Divider style={{ margin: '0 0 30px 0' }} />
       <div
         style={{
           marginTop: '20px',

+ 3 - 3
src/pages/TaskManage/Popup/WorkOrderModal.less

@@ -1,11 +1,11 @@
 .modalContainer {
-  padding: 0 30px 30px 30px;
+  padding: 20px 30px 0px 30px;
 }
 
 .closeModalBtn {
   position: absolute;
-  top: 15px;
-  right: 20px;
+  top: 30px;
+  right: 30px;
 }
 
 .modalTitle {

+ 3 - 1
src/pages/TaskManage/Popup/index.js

@@ -6,7 +6,7 @@ import {
 import { UnityAction } from '@/utils/utils';
 import { CloseOutlined } from '@ant-design/icons';
 import { connect, useLocation, useParams, useRequest } from '@umijs/max';
-import { Button, Tabs } from 'antd';
+import { Button, Divider, Tabs } from 'antd';
 import { useEffect, useState } from 'react';
 import MandateDetail from '../components/MandateDetail';
 import styles from './index.less';
@@ -125,6 +125,7 @@ const TaskModal = (props) => {
         icon={<CloseOutlined style={{ fontSize: '24px' }} />}
         onClick={closePage}
       />
+
       {mandateIDs && Array.isArray(mandateIDs) ? (
         <Tabs
           defaultActiveKey={String(mandateIDs[0])}
@@ -135,6 +136,7 @@ const TaskModal = (props) => {
       ) : (
         <>
           {modalTitle}
+          <Divider style={{ margin: '10px 0' }} />
           <MandateDetail
             mandateID={mandateIDs}
             userList={userList}

+ 3 - 3
src/pages/TaskManage/Popup/index.less

@@ -1,11 +1,11 @@
 .modalContainer {
-  padding: 0 30px 30px 30px;
+  padding: 30px;
 }
 
 .closeModalBtn {
   position: absolute;
-  top: 15px;
-  right: 20px;
+  top: 40px;
+  right: 30px;
 }
 
 .mandate > * {

+ 1 - 1
src/services/eqSelfInspection.js

@@ -94,5 +94,5 @@ export async function getMandateIDs(params) {
   const res = await request(
     `/api/v1//patrol/relation-task?${stringify(params)}`,
   );
-  return res?.data?.list || [];
+  return res?.data || [];
 }