From c4c49d5b721db3e96342e48296144200eb61dd9e Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Wed, 28 Aug 2024 14:05:47 +0800
Subject: [PATCH] feat: 纠纷发生地(地图)功能完成

---
 gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx |   69 +++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
index 75e5910..73224d7 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -1,9 +1,8 @@
 import React, { useState, useEffect, useRef } from "react";
 import { Row, Col, Space, Tooltip, Button } from 'antd';
 import { Form, Input, Radio, Select, DatePicker, Cascader, Modal, Upload, InputNumber } from '@arco-design/web-react';
-import '@arco-themes/react-gzzz/index.less';
-import PersonCard from '../../../../components/personCard';
-import * as $$ from '../../../../utils/utility';
+import PersonCard from '@/components/personCard';
+import * as $$ from '@/utils/utility';
 import {
   question1,
   applyMaterials,
@@ -11,9 +10,9 @@
   evidenceMaterials,
   evidenceMaterials_active,
 
-} from '../../../../assets/images';
+} from '@/assets/images';
 import { CheckOutlined, } from '@ant-design/icons';
-import TableView from '../../../../components/TableView';
+import TableView from '@/components/TableView';
 import '../../index.less';
 import ApplyDialog from "./applyDialog";
 import AgentDialog from "./agentDialog";
@@ -22,8 +21,8 @@
 import NewFileCheck from '../../../filesCheck/newFileCheck';
 import { IconLink } from '@arco-design/web-react/icon';
 import MapView from './map'
-import { scan } from '../../../../assets/images/icon'
-import MyDrawer from '../../../../components/MyDrawer';
+import { scan } from '@/assets/images/icon'
+import MyDrawer from '@/components/MyDrawer';
 
 const RadioGroup = Radio.Group;// 根据调解案号获取纠纷登记信息
 const FormItem = Form.Item;
@@ -47,9 +46,10 @@
   const [fileTip, setFileTip] = useState('0');
   const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制
   const [mapView, setMapView] = useState(false);
-  const [flagId, setFlagId] = useState(0);//赋予当事人唯一id,用于删除
+  const [flagId, setFlagId] = useState(1);//赋予当事人唯一id,用于删除
   const [visible, setVisible] = useState(false);
   const [apply, setApply] = useState(false);
+  const [editData, setEditData] = useState(null);
 
   const addressOptions = [
     { label: '地址1', value: 'address1' },
@@ -370,12 +370,24 @@
 
   //添加当事人
   const handleAddParty = (value) => {
-    console.log(value);
-    setFakeData([...fakeData, {
-      ...value,
-      id: flagId
-    }])
-    setFlagId(flagId + 1)
+    if (value.id) {
+      //编辑
+      const newList = fakeData.map(item => {
+        if (item.id === value.id) {
+          return value
+        } else {
+          return item
+        }
+      })
+      setFakeData(newList)
+      setEditData(null)
+    } else {
+      setFakeData([...fakeData, {
+        ...value,
+        id: flagId
+      }])
+      setFlagId(flagId + 1)
+    }
   }
 
   //删除当事人
@@ -383,6 +395,19 @@
     event.stopPropagation();
     const filterData = fakeData.filter(item => item.id !== value.id)
     setFakeData(filterData)
+  }
+
+  //编辑
+  const handleEdit = (value) => {
+    console.log(value);
+    if (value.partyType === 0 || value.partyType === 1) {
+      //当事人
+      setAddVisabled(true)
+    } else {
+      //代理人
+      setAgentVisible(true)
+    }
+    setEditData(value)
   }
 
 
@@ -402,6 +427,7 @@
           handleCheckParty={handleCheckParty}
           handleAdd={handleAdd}
           handleDeleteParty={handleDeleteParty}
+          handleEdit={handleEdit}
         />
       </div>
       <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
@@ -727,6 +753,7 @@
           dialogType={dialogType}
           onClose={() => setAddVisabled(false)}
           handleAddParty={handleAddParty}
+          editData={editData}
         />
       </Modal>
       <Modal
@@ -745,6 +772,7 @@
           onClose={() => setAgentVisible(false)}
           fakeData={fakeData}
           dialogType={dialogType}
+          editData={editData}
         />
       </Modal>
       <Modal
@@ -770,7 +798,12 @@
         unmountOnExit={true}
         maskClosable={false}
       >
-        <MapView />
+        <MapView
+          selectAdd={(value) => {
+            props.formRef.current.setFieldValue('disputeAddress', value)
+            setMapView(false)
+          }}
+        />
       </Modal>
       <MyDrawer
         title='事项概况指南'
@@ -796,7 +829,7 @@
       >
         <div style={{ marginTop: '-8px' }}>
           <div>
-            <div style={{ color: '#1A6FB8', fontSize: '15px',lineHeight:'23px',marginBottom:'8px' }}>一类重点事件</div>
+            <div style={{ color: '#1A6FB8', fontSize: '15px', lineHeight: '23px', marginBottom: '8px' }}>一类重点事件</div>
             1、5人(含5人)以上到非接待场所聚集、滞留、静坐、游行或准备上访;<br />
             2、拉横幅、穿着“状衣”、呼喊口号、呼喊标语、堵塞交通非法占据公其场所、扰乱公共秩序、向他人散发传单等上访材料;<br />
             3、拖欠工资、劳资纠纷涉及人数5人以上;<br />
@@ -806,7 +839,7 @@
             7、群体性民事纠纷(5人及5人以上的邻里矛盾纠纷、经济债务纠纷、家庭纠纷等可能导致“民转刑”的民事纠纷);8、存在重大安全隐患、重大不稳定因索的矛盾;9、涉及政治类,非宗教类的非访宣传(在出租屋内从事涉邪教迷信印刷、存放资料的;在公共场所粘贴类似邪教的符号、图案、标志等)10、县(市、区)职能部门、各镇(街道)分管领导根据应急情况认为有必要启动红色预警机制的其他矛盾纠纷。
           </div>
           <div>
-            <div style={{ color: '#1A6FB8', fontSize: '15px',lineHeight:'23px',marginBottom:'8px',marginTop:'20px' }}>二类重点事件</div>
+            <div style={{ color: '#1A6FB8', fontSize: '15px', lineHeight: '23px', marginBottom: '8px', marginTop: '20px' }}>二类重点事件</div>
             1、5人(含5人)以上到非接待场所聚集、滞留、静坐、游行或准备上访;<br />
             2、拉横幅、穿着“状衣”、呼喊口号、呼喊标语、堵塞交通非法占据公其场所、扰乱公共秩序、向他人散发传单等上访材料;<br />
             3、拖欠工资、劳资纠纷涉及人数5人以上;<br />
@@ -816,7 +849,7 @@
             7、群体性民事纠纷(5人及5人以上的邻里矛盾纠纷、经济债务纠纷、家庭纠纷等可能导致“民转刑”的民事纠纷);8、存在重大安全隐患、重大不稳定因索的矛盾;9、涉及政治类,非宗教类的非访宣传(在出租屋内从事涉邪教迷信印刷、存放资料的;在公共场所粘贴类似邪教的符号、图案、标志等)10、县(市、区)职能部门、各镇(街道)分管领导根据应急情况认为有必要启动红色预警机制的其他矛盾纠纷。
           </div>
           <div>
-            <div style={{ color: '#1A6FB8', fontSize: '15px',lineHeight:'23px',marginBottom:'8px',marginTop:'20px' }}>三类普通事件</div>
+            <div style={{ color: '#1A6FB8', fontSize: '15px', lineHeight: '23px', marginBottom: '8px', marginTop: '20px' }}>三类普通事件</div>
             1、5人(含5人)以上到非接待场所聚集、滞留、静坐、游行或准备上访;<br />
             2、拉横幅、穿着“状衣”、呼喊口号、呼喊标语、堵塞交通非法占据公其场所、扰乱公共秩序、向他人散发传单等上访材料;<br />
             3、拖欠工资、劳资纠纷涉及人数5人以上;<br />

--
Gitblit v1.8.0