From 874ae825083ee5576c6e6cacc7cb4bba15c0077a Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Sat, 14 Sep 2024 10:36:53 +0800
Subject: [PATCH] feat: 对接网格单点登录

---
 gz-customerSystem/src/views/register/matterDetail/index.jsx |  222 ++++++++++++++++++-------------------------------------
 1 files changed, 73 insertions(+), 149 deletions(-)

diff --git a/gz-customerSystem/src/views/register/matterDetail/index.jsx b/gz-customerSystem/src/views/register/matterDetail/index.jsx
index 7a9acb8..84efe13 100644
--- a/gz-customerSystem/src/views/register/matterDetail/index.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/index.jsx
@@ -1,139 +1,67 @@
 import React, { useState, useEffect } from 'react';
 import { Row, Col, Space, Button, Switch } from 'antd';
 import PersonCard from '@/components/personCard';
-import TableView from '@/components/TableView';
 import * as $$ from '@/utils/utility';
-import { Typography, Steps } from '@arco-design/web-react';
-import { question, register, Matter, transfer } from '@/assets/images'
+import { Typography } from '@arco-design/web-react';
+import { question, register } from '@/assets/images';
+import FileTable from "./FileTable";
 
 function getCaseInfoApi(id) {
-  return $$.ax.request({ url: 'caseInfo/getCaseInfo?id=' + id, type: 'get', service: 'mediate' });
-}
-
-function listIdTypeInfoApi(data) {
-  return $$.ax.request({ url: `fileInfo/listIdTypeInfo`, type: 'post', service: 'sys', data });
+  return $$.ax.request({ url: '/caseInfo/getCaseInfo?id=' + id, type: 'get', service: 'mediate' });
 }
 
 
 export default function MatterDetail(props) {
   const [fakeData, setFakeData] = useState([]);//当事人信息数据
-  const [upload, setUpLoad] = useState(false);
-  const [filesCheck, setFilesCheck] = useState(false);
   const [infoData, setInfoData] = useState({});
-
-  const fakeColumns = [
-    {
-      title: '序号',
-      dataIndex: 'caseNo',
-      key: 'caseNo',
-      width: 100,
-      render: (text, record, index) => <span>{index + 1}</span>,
-    },
-    {
-      title: '材料类型',
-      dataIndex: 'ownerTypeName',
-      key: 'ownerTypeName',
-      width: 60,
-
-    },
-    {
-      title: '材料数量',
-      dataIndex: 'size',
-      key: 'size',
-      width: 180,
-      render: (text) => <span>{text}份</span>,
-
-    },
-    {
-      title: '材料名称',
-      dataIndex: 'fileNames',
-      key: 'fileNames',
-      width: 180,
-
-    },
-    {
-      title: '最新上传时间',
-      dataIndex: 'fileNames',
-      key: 'fileNames',
-      width: 180,
-
-    },
-    {
-      title: '操作',
-      dataIndex: 'perClassName',
-      key: 'perClassName',
-      width: 200,
-      render: (text) => (
-        <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}>
-          <div onClick={() => setFilesCheck(true)}>查看</div>
-          <div>删除</div>
-          <div>下载</div>
-          <div onClick={() => setUpLoad(true)}>上传</div>
-        </div>
-      )
-    },
-    // 更多列配置...
-  ];
-
-
-  const [fakeData1, setFakeData1] = useState([
-    {
-      ownerTyp: "22_00018-101",
-      ownerTypeName: "申请材料",
-      size: '0',
-      ownerId: null,
-      ownerName: null,
-      perType: null,
-      agentStatus: null,
-      fileNames: "-",
-      fileList: []
-    },
-    {
-      ownerType: "22_00018-102",
-      ownerTypeName: "证据材料",
-      size: '0',
-      ownerId: null,
-      ownerName: null,
-      perType: null,
-      agentStatus: null,
-      fileNames: "-",
-      fileList: []
-    },
-
-  ]);
-
-  const listIdTypeInfo = async () => {
-    const res = await listIdTypeInfoApi({
-      mainId: props.id, //事项ID
-      ownerIdList: [props.id], //具体所属编号
-      typeList: []
-    })
-    if (res.type) {
-      let data = res.data?.[0]?.fileList
-      if (res.data.length > 0) {
-        setFakeData1(data)
-      }
-    }
-  }
 
   useEffect(() => {
     console.log(props);
-    getCaseInfo(props.id)
-    listIdTypeInfo()
-  }, [props.id])
+    getCaseInfo(props.caseId)
+  }, [props.caseId])
+
 
   //获取id
   const getCaseInfo = async (id) => {
-    const res = await getCaseInfoApi('24083010062110001')
-
+    const res = await getCaseInfoApi(props.caseId)
     if (res.type) {
       let data = res.data
+      const partyList = data.personList.concat(data.agentList)
       setInfoData({
         ...data,
-        questionName: data.queProvName === null ? '-' : data.queProvName + '/' + data.queCityName + '/' + data.queAreaName + '/' + data.queRoadName + '/' + data.queVillageName,
+        questionName: data.queProvName === null ? '-' : data.queCityName + '/' + data.queAreaName + '/' + data.queRoadName,
         caseType: data.caseTypeFirstName === null ? '-' : data.caseTypeFirstName + '/' + data.caseTypeName
       })
-      setFakeData(data.personList.concat(data.agentList))
+      setFakeData(partyList.map(item => {
+        const fileInfoList = item.fileInfoList
+        let file = [];//身份证明材料、企业登记材料
+        let file1 = [];//法人、机构身份证明材料、代理人授权委托书
+        if (fileInfoList && fileInfoList.length != 0) {
+          fileInfoList.forEach(item => {
+            if (item.ownerType == '22_00018-202' || item.ownerType == '22_00018-203') {
+              item.fileList.forEach(res => {
+								file.push({
+									...res,
+									uid: res.id,
+								})
+							})
+            }
+            if (item.ownerType == '22_00018-204' || item.ownerType == '22_00018-207') {
+              item.fileList.forEach(res => {
+								file1.push({
+									...res,
+									uid: res.id,
+								})
+							})
+            }
+          })
+        }
+        return {
+          ...item,
+          file,
+          file1
+        }
+      }) || [])
     }
 
   }
@@ -145,7 +73,7 @@
 
           <Col span={24} style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
             <Space size='small'>
-              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5>
+              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>
             </Space>
             {props.hasApplet && <div>
               <Switch checkedChildren="当事人小程序可见" unCheckedChildren="当事人小程序不可见" defaultChecked />
@@ -160,7 +88,7 @@
           </div>
           <Col span={24} className='title'>
             <Space size='small'>
-              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5>
+              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>纠纷基本情况</h4>
             </Space>
           </Col>
           <Row gutter={[16, 16]}>
@@ -227,47 +155,43 @@
             </Col>
             <Col span={16}>
               <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div>
-              <div>{infoData.majorStatus === '0' ? '否' : infoData.majorStatus === '1' ? '是' : '-'}</div>
+              <div>{infoData.majorStatus === '1' ? '是' : '否'}</div>
             </Col>
           </Row>
           <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
             <Space size='small'>
-              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>事件材料</h5>
+              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
             </Space>
           </Col>
-
-          <TableView
-            columns={fakeColumns}
-            dataSource={fakeData1}
-            size="small"
-            rowKey="id"
-            bordered={true}
-            style={{ marginBottom: '20px' }}
-          />
-          <Col span={24} className='title'>
-            <Space size='small'>
-              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>登记信息</h5>
-            </Space>
-          </Col>
-          <Row gutter={[16, 16]}>
-            {/*事项等级分为三级,颜色需要做判断*/}
-            <Col span={8}>
-              <div className="title"><div className="title-text">登记机构</div><img src={question} alt="" style={{ width: '14px', height: '14px', marginTop: '4px', marginLeft: '4px' }} /></div>
-              <div>{infoData.inputUnitName || '-'}</div>
-            </Col>
-            <Col span={8}>
-              <div><div className="title-text">登记人</div></div>
-              <div style={{ display: 'flex' }}>
-                <div>{infoData.inputUserName || '-'}</div>
-                <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
-              </div>
-            </Col>
-            <Col span={8}>
-              <div ><div className="title-text">登记时间</div></div>
-              <div>{infoData.createTime || '-'}</div>
-            </Col>
-          </Row>
-          {props.hasEditBtn && <Button type='primary' style={{ marginTop: '20px' }}>修改</Button>}
+          <FileTable mainId={props.caseId} fileInfoList={infoData.fileInfoList} isReview={true} />
+          {infoData?.canal === '22_00001-1' &&
+            <>
+              <Col span={24} style={{ marginTop: '12px' }}>
+                <Space size='small'>
+                  <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>登记信息</h4>
+                </Space>
+              </Col>
+              <Row gutter={[16, 16]}>
+                {/*事项等级分为三级,颜色需要做判断*/}
+                <Col span={8}>
+                  <div className="title"><div className="title-text">登记机构</div><img src={question} alt="" style={{ width: '14px', height: '14px', marginTop: '4px', marginLeft: '4px' }} /></div>
+                  <div>{infoData.inputUnitName || '-'}</div>
+                </Col>
+                <Col span={8}>
+                  <div><div className="title-text">登记人</div></div>
+                  <div style={{ display: 'flex' }}>
+                    <div>{infoData.inputUserName || '-'}</div>
+                    <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
+                  </div>
+                </Col>
+                <Col span={8}>
+                  <div ><div className="title-text">登记时间</div></div>
+                  <div>{infoData.createTime || '-'}</div>
+                </Col>
+              </Row>
+            </>
+          }
+          {/* {props.hasEditBtn && <Button type='primary' style={{ marginTop: '20px' }}>修改</Button>} */}
         </div>
 
       </Typography.Paragraph>

--
Gitblit v1.8.0