From a54284270f39f155960e7bd9d0921e7b204ccdae Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Tue, 03 Sep 2024 11:31:31 +0800
Subject: [PATCH] feat: 事件流转回退弹窗、文件样式调整

---
 gz-customerSystem/src/components/ProgressStep/VisitStep.jsx            |    6 +
 gz-customerSystem/src/views/register/visit/component/applyDialog.jsx   |    6 +-
 gz-customerSystem/src/components/personCard/KeyVisits.jsx              |    4 
 gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx |   21 +++++++
 gz-customerSystem/src/assets/images/index.js                           |    6 +
 gz-customerSystem/src/components/personCard/DetailDialog.jsx           |   32 +++++++---
 gz-customerSystem/src/views/register/visit/component/agentDialog.jsx   |    4 
 gz-customerSystem/src/assets/images/ledger_13.png                      |    0 
 gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx |   41 +++++++++++--
 gz-customerSystem/src/assets/images/ledger_12.png                      |    0 
 gz-customerSystem/src/views/register/visit/index.jsx                   |    1 
 gz-customerSystem/src/components/ArcoUpload/index.less                 |   27 +++++----
 12 files changed, 111 insertions(+), 37 deletions(-)

diff --git a/gz-customerSystem/src/assets/images/index.js b/gz-customerSystem/src/assets/images/index.js
index 8dee383..daa12d4 100644
--- a/gz-customerSystem/src/assets/images/index.js
+++ b/gz-customerSystem/src/assets/images/index.js
@@ -18,6 +18,8 @@
 import ledger_9 from "./ledger_9.svg";
 import ledger_10 from "./ledger_10.png";
 import ledger_11 from "./ledger_11.png";
+import ledger_12 from "./ledger_12.png";
+import ledger_13 from "./ledger_13.png";
 import mediateBigData_1 from "./mediateBigData_1.png";
 import mediateBigData_2 from "./mediateBigData_2.png";
 import mediateBigData_3 from "./mediateBigData_3.png";
@@ -65,6 +67,8 @@
   ledger_9,
   ledger_10,
   ledger_11,
+  ledger_12,
+  ledger_13,
   mediateBigData_1,
   mediateBigData_2,
   mediateBigData_3,
@@ -99,4 +103,4 @@
   fold,
   down,
   tip
-};
+};
\ No newline at end of file
diff --git a/gz-customerSystem/src/assets/images/ledger_12.png b/gz-customerSystem/src/assets/images/ledger_12.png
new file mode 100644
index 0000000..4467c98
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/ledger_12.png
Binary files differ
diff --git a/gz-customerSystem/src/assets/images/ledger_13.png b/gz-customerSystem/src/assets/images/ledger_13.png
new file mode 100644
index 0000000..941122c
--- /dev/null
+++ b/gz-customerSystem/src/assets/images/ledger_13.png
Binary files differ
diff --git a/gz-customerSystem/src/components/ArcoUpload/index.less b/gz-customerSystem/src/components/ArcoUpload/index.less
index f7cf232..828de4e 100644
--- a/gz-customerSystem/src/components/ArcoUpload/index.less
+++ b/gz-customerSystem/src/components/ArcoUpload/index.less
@@ -1,16 +1,19 @@
-.arco-upload-list {
-  display: flex;
-  align-items: center;
-  flex-wrap: wrap;
-}
-.arco-upload-list-item {
-  width: calc(50% - 17px);
-  margin-top: 24px;
-  margin-left: 17px;
+.doubleFile {
+  .arco-upload-list {
+    display: flex;
+    align-items: center;
+    flex-wrap: wrap;
+  }
 
-  &:nth-child(2n+1) {
+  .arco-upload-list-item {
     width: calc(50% - 17px);
-    margin-right: 17px;
-    margin-left: 0px;
+    margin-top: 24px;
+    margin-left: 17px;
+
+    &:nth-child(2n+1) {
+      width: calc(50% - 17px);
+      margin-right: 17px;
+      margin-left: 0px;
+    }
   }
 }
\ No newline at end of file
diff --git a/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx b/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx
index 7af8187..7a40a68 100644
--- a/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx
+++ b/gz-customerSystem/src/components/ProgressStep/VisitStep.jsx
@@ -10,7 +10,7 @@
 import React, { useEffect, useState } from 'react';
 import { Tooltip, Space } from 'antd';
 import Icon, { PaperClipOutlined, RollbackOutlined, EllipsisOutlined } from '@ant-design/icons';
-import { feedback, ledger_8, ledger_7 } from '../../assets/images';
+import { ledger_8, ledger_7, ledger_12, ledger_13 } from '../../assets/images';
 import NameCard from '../NameCard';
 import * as $$ from '../../utils/utility';
 import FilesDrawer from '../FilesDrawer';
@@ -23,6 +23,8 @@
   const iconMap = {
     1: ledger_8,
     2: ledger_7,
+    3: ledger_12,
+    4: ledger_13
   }
 
   // 已处理列表第一个元素
@@ -102,7 +104,7 @@
             <div key={t + 1}>
               <div className="myStep-item">
                 {t === progressData.length - 1 ? null : <div className={`${!x.handleContent ? 'myStep-item-divider' : x.fileInfoList?.length > 0 ? 'myStep-item-divider2' : "myStep-item-divider1"} ${x.status === '2' && 'myStep-item-divider-success'}`} />}
-                <div className={`myStep-item-icon1 myStep-item-${x.status === '2' ? 'success1' : 'noStarted1'}`}>
+                <div className={`myStep-item-icon1 myStep-item-${x.status === '1' ? 'noStarted1' : 'success1'}`}>
                   <div className="myStep-item-title">{x.taskNodeName}</div>
                   <img className='myStep-item-img' src={iconMap[x.status]} alt="" />
                 </div>
diff --git a/gz-customerSystem/src/components/personCard/DetailDialog.jsx b/gz-customerSystem/src/components/personCard/DetailDialog.jsx
index 2e177df..f241b8f 100644
--- a/gz-customerSystem/src/components/personCard/DetailDialog.jsx
+++ b/gz-customerSystem/src/components/personCard/DetailDialog.jsx
@@ -69,10 +69,9 @@
     [
       {
         label: '身份证明材料',
-        value: <a href="your-link-here.html" target="_blank">
-          <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
-        </a>,
-        isFile: true
+        value: '',
+        isFile: true,
+        field: 'file',
       },
     ],
   ]
@@ -128,14 +127,16 @@
         value: <a href="your-link-here.html" target="_blank">
           <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
         </a>,
-        isFile: true
+        isFile: true,
+        field: 'file',
       },
       {
         label: '法定代表人身份证明材料',
         value: <a href="your-link-here.html" target="_blank">
           <img src={link} alt="" className="title-file" />江照月个人身份.pdf
         </a>,
-        isFile: true
+        isFile: true,
+        field: 'file1',
       },
     ],
   ]
@@ -191,14 +192,16 @@
         value: <a href="your-link-here.html" target="_blank">
           <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
         </a>,
-        isFile: true
+        isFile: true,
+        field: 'file',
       },
       {
         label: '机构代表人身份证明材料',
         value: <a href="your-link-here.html" target="_blank">
           <img src={link} alt="" className="title-file" />江照月个人身份.pdf
         </a>,
-        isFile: true
+        isFile: true,
+        field: 'file1',
       },
     ],
   ]
@@ -291,6 +294,7 @@
           <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
         </a>,
         isFile: true,
+        field: 'file',
       },
       {
         label: '代理人授权委托书',
@@ -298,6 +302,7 @@
           <img src={link} alt="" className="title-file" />江照月个人身份.pdf
         </a>,
         isFile: true,
+        field: 'file1',
       },
     ],
   ]
@@ -328,7 +333,16 @@
     newList = mapList.map(item => {
       return item.map(res => {
         if (res.isFile) {
-          return res
+          return {
+            ...res,
+            value: <>
+              {data[res.field].map(item => {
+                return <a target="_blank">
+                  <img src={link} alt="" className="title-file" />{item.name}
+                </a>
+              })}
+            </>
+          }
         }
         if (res.isName) {
           return {
diff --git a/gz-customerSystem/src/components/personCard/KeyVisits.jsx b/gz-customerSystem/src/components/personCard/KeyVisits.jsx
index 35fe67f..0159544 100644
--- a/gz-customerSystem/src/components/personCard/KeyVisits.jsx
+++ b/gz-customerSystem/src/components/personCard/KeyVisits.jsx
@@ -157,10 +157,10 @@
       <div style={{marginBottom: '16px'}}>
         <div><span>来访总数: </span><span style={{ color: '#1a6fb8' }}>{visitMap.visitTotal}</span> 次</div>
         <div><span>来访渠道: </span>{visitMap.channelList.map((item, index) => {
-          return <span>{index !== 0 && '、'}{item.name}<span style={{ color: '#1a6fb8' }}>{item.number}</span>次</span>
+          return <span key={index}>{index !== 0 && '、'}{item.name}<span style={{ color: '#1a6fb8' }}>{item.number}</span>次</span>
         })}</div>
         <div><span>来访身份:</span>{visitMap.identityList.map((item, index) => {
-          return <span>{index !== 0 && '、'}{item.name}:<span style={{ color: '#1a6fb8' }}>{item.number}</span>次</span>
+          return <span key={index}>{index !== 0 && '、'}{item.name}:<span style={{ color: '#1a6fb8' }}>{item.number}</span>次</span>
         })}</div>
       </div>
       <TableView
diff --git a/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx b/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx
new file mode 100644
index 0000000..e59235e
--- /dev/null
+++ b/gz-customerSystem/src/views/register/eventFlow/component/BackModel.jsx
@@ -0,0 +1,21 @@
+import React from 'react'
+import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
+
+export default function BackModel(props) {
+  const handleSubmit = () => {
+
+  }
+  return (
+    <div>
+      <div className='dialogFooter'>
+        <Button
+          type="primary"
+          className="dialogPrimary"
+          onClick={handleSubmit}
+        >
+          提交
+        </Button>
+      </div>
+    </div>
+  )
+}
diff --git a/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx b/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx
index 091e29d..d5f7c12 100644
--- a/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx
+++ b/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx
@@ -1,7 +1,8 @@
-import React from 'react';
-import { Button } from '@arco-design/web-react';
+import React, { useState } from 'react';
+import { Button, Modal } from '@arco-design/web-react';
 import { Space } from 'antd';
 import ProgressStep from '@/components/ProgressStep/VisitStep';
+import BackModel from "./BackModel";
 
 const fakeData = [
   {
@@ -35,12 +36,22 @@
   },
   {
     handlerUserName: '白云区新市街市场监管所',
-    finishTime: new Date().getTime() - 11 * 60 * 60 * 1000, // 半天前的时间
+    finishTime: new Date().getTime() - 10 * 60 * 60 * 1000, // 半天前的时间
     handleResult: '1',
     status: '3',
     taskNodeName: '事件回退',
     mediResult: '22_00025-1',
     // handleContent: '已签收',
+    operationName: '赵菲菲'
+  },
+  {
+    handlerUserName: '白云区新市街综治中心',
+    finishTime: new Date().getTime() - 9 * 60 * 60 * 1000, // 半天前的时间
+    handleResult: '1',
+    status: '2',
+    taskNodeName: '回退审核',
+    mediResult: '22_00025-1',
+    handleContent: '通过',
     operationName: '赵菲菲'
   },
   {
@@ -56,9 +67,10 @@
 ];
 
 export default function EventFlow(props) {
+  const [backVisible, setBackVisible] = useState(false)
   const tabs = [
-    { index: '1', label: '承办部门' },
-    { index: '2', label: '配合部门' },
+    { index: '1', label: '流转进度' },
+    { index: '2', label: '督办信息' },
   ];
   return (
     <div className='dataSync'>
@@ -68,10 +80,27 @@
       <div className="dataSync-excel">
         <Space size="large" style={{ margin: '4px 14px' }}>
           <Button type="primary"  >受理</Button>
-          <Button type='outline' status='danger'>回退</Button>
+          <Button type="primary"  >提交</Button>
+          <Button type="primary"  >自行受理</Button>
+          <Button type='outline' status='danger' onClick={() => setBackVisible(true)}>回退</Button>
+          <Button type='outline'>交办</Button>
+          <Button type='outline'>上报</Button>
           <Button type='secondary' >返回上级页面</Button>
         </Space>
       </div>
+      <Modal
+        title='回退'
+        visible={backVisible}
+        onOk={() => setBackVisible(false)}
+        onCancel={() => { setBackVisible(false) }}
+        autoFocus={false}
+        focusLock={true}
+        footer={null}
+        unmountOnExit={true}
+        maskClosable={false}
+      >
+        <BackModel />
+      </Modal>
     </div>
   )
 }
diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
index 32433b2..3419f2f 100644
--- a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -120,7 +120,7 @@
               scrollToFirstError
             >
               <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
-                <Col span={24}>
+                <Col span={24} className="doubleFile">
                   <ArcoUpload
                     params={{
                       action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
@@ -132,7 +132,7 @@
                     handleDelFile={handleDelFile}
                   />
                 </Col>
-                <Col span={24}>
+                <Col span={24} className="doubleFile">
                   <ArcoUpload
                     params={{
                       action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
diff --git a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
index c16b16e..a801a02 100644
--- a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
@@ -97,7 +97,7 @@
       //自然人
       return (
         <>
-          <Col span={24}>
+          <Col span={24} className="doubleFile">
             <ArcoUpload
               params={{
                 action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
@@ -234,7 +234,7 @@
       let isLegal = type === '09_01001-2'
       return (
         <>
-          <Col span={24}>
+          <Col span={24} className="doubleFile">
             <ArcoUpload
               params={{
                 action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
@@ -245,7 +245,7 @@
               handleDelFile={handleDelFile}
             />
           </Col>
-          <Col span={24}>
+          <Col span={24} className="doubleFile">
             <ArcoUpload
               params={{
                 action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
diff --git a/gz-customerSystem/src/views/register/visit/index.jsx b/gz-customerSystem/src/views/register/visit/index.jsx
index 60a8177..2978bd8 100644
--- a/gz-customerSystem/src/views/register/visit/index.jsx
+++ b/gz-customerSystem/src/views/register/visit/index.jsx
@@ -48,6 +48,7 @@
 	useEffect(() => {
 		if (routeData.id) {
 			getDeatil(routeData.id)
+			setId(routeData.id)
 		} else {
 			getAppId()
 		}

--
Gitblit v1.8.0