forked from gzzfw/frontEnd/gzDyh

zhangyongtian
2024-08-30 ca6f90dcc968c4dd83e0664aaab0ea724b7892a4
feat: 查看当事人详情
7 files modified
269 ■■■■■ changed files
gz-customerSystem/src/api/appUrl.js 5 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/index.less 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx 6 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/detailDialog.jsx 220 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx 11 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/index.jsx 21 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/preview.jsx 4 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/api/appUrl.js
@@ -10,11 +10,11 @@
export const debug = {
    // web服务
    // baseUrl: 'http://gz.hugeinfo.com.cn',
    baseUrl: 'http://192.168.3.108:9002',
    baseUrl: 'http://tj4jd4.natappfree.cc',
    // baseUrl: 'http://mdqgnh.natappfree.cc',
    // 附件服务
    fileUrl: 'http://192.168.3.108:9002',
    fileUrl: 'http://tj4jd4.natappfree.cc',
    // fileUrl: 'http://gz.hugeinfo.com.cn',
@@ -33,6 +33,7 @@
    oper: 'dyh-oper', // dyh-oper
    sys: 'dyh-sys', // dyh-sys
    disp: 'dyh-disp', //dyh-disp
    utils: 'dyh-utils'
};
// 正式版
gz-customerSystem/src/views/register/index.less
@@ -131,6 +131,7 @@
        margin-bottom: 8px;
        padding-left: 8px;
    }
}
    .dialogTag {
        line-height: 22px;
@@ -138,7 +139,6 @@
        border-radius: 4px;
        margin-top: 4px;
        color: #fff;
    }
}
.visitTableClass {
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -275,6 +275,12 @@
                        label: <span>{x.trueName}&nbsp;&nbsp;<span style={{ color: '#86909c' }}>({x.perTypeName})</span></span>,
                        value: x.id,
                      }))}
                      onChange={(value) => {
                        if (value) {
                          const personList = visitList.filter(item => value.indexOf(item.id) != -1).map(item => item.trueName)
                          formRef.current.setFieldValue('personNameList', personList)
                        }
                      }}
                    >
                    </CheckboxGroup>
                  </FormItem>
gz-customerSystem/src/views/register/visit/component/detailDialog.jsx
@@ -1,4 +1,4 @@
import React, { useState } from 'react'
import React, { useEffect, useState } from 'react'
import KeyVisits from "./keyVisits";
import { link } from '@/assets/images'
@@ -7,63 +7,72 @@
    [
      {
        label: '姓名',
        perClass: '自然人',
        width: '120',
        value: '李晓明',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        width: '120',
        value: '13380313411',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '证件类型',
        value: '居民身份证',
        value: '',
        field: 'certiTypeName',
      },
      {
        label: '证件号码',
        value: '440981199999999999',
        value: '',
        field: 'certiNo',
      },
    ],
    [
      {
        label: '联系地址',
        value: '居民身份证',
        value: '',
        field: 'addr',
      },
      {
        label: '户籍地址',
        value: '广州市天河区棠下街20号',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
      {
        label: '工作单位',
        value: '好又多',
        value: '',
        field: 'workUnit',
      },
      {
        label: '民族',
        value: '汉',
        value: '',
        field: 'nationName',
      },
    ],
    [
      {
        label: '性别',
        value: '男',
        value: '',
        field: 'sexName',
      },
      {
        label: '是否有个人极端倾向',
        value: '否',
        value: '',
        field: 'extreme',
      },
    ],
    [
      {
        label: '身份证新材料',
        label: '身份证明材料',
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
        </a>,
        isFile: true
      },
    ],
  ]
@@ -71,41 +80,46 @@
    [
      {
        label: '企业名称',
        perClass: '法人',
        width: '120',
        value: '李晓明',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        width: '120',
        value: '13380313411',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '企业所在地',
        value: '广州市天河区棠下街120号',
        value: '',
        field: 'addr',
      },
      {
        label: '统一社会信用代码',
        value: '440981199999999999',
        value: '',
        field: 'orgaCode',
      },
    ],
    [
      {
        label: '法定代表人',
        value: '蒋照月',
        value: '',
        field: 'deputy',
      },
      {
        label: '企业类型',
        value: '餐饮服务',
        value: '',
        field: 'orgaTypeName',
      },
    ],
    [
      {
        label: '住所',
        value: '广州市天河区棠下街120号',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
@@ -114,12 +128,14 @@
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
        </a>,
        isFile: true
      },
      {
        label: '法定代表人身份证明材料',
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />江照月个人身份.pdf
        </a>,
        isFile: true
      },
    ],
  ]
@@ -127,41 +143,46 @@
    [
      {
        label: '机构名称',
        perClass: '非法人组织',
        width: '120',
        value: '李晓明',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        width: '120',
        value: '13380313411',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '机构所在地',
        value: '广州市天河区棠下街120号',
        value: '',
        field: 'addr',
      },
      {
        label: '机构组织代码',
        value: '440981199999999999',
        value: '',
        field: 'orgaCode',
      },
    ],
    [
      {
        label: '机构代表人',
        value: '蒋照月',
        value: '',
        field: 'deputy',
      },
      {
        label: '机构类型',
        value: '餐饮服务',
        value: '',
        field: 'orgaTypeName',
      },
    ],
    [
      {
        label: '住所',
        value: '广州市天河区棠下街120号',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
@@ -170,12 +191,14 @@
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
        </a>,
        isFile: true
      },
      {
        label: '机构代表人身份证明材料',
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />江照月个人身份.pdf
        </a>,
        isFile: true
      },
    ],
  ]
@@ -183,71 +206,82 @@
    [
      {
        label: '姓名',
        perClass: '代理人',
        width: '120',
        value: '李晓明',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        width: '120',
        value: '13380313411',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '证件类型',
        value: '居民身份证',
        value: '',
        field: 'certiTypeName',
      },
      {
        label: '证件号码',
        value: '440981199999999999',
        value: '',
        field: 'certiNo',
      },
    ],
    [
      {
        label: '联系地址',
        value: '居民身份证',
        value: '',
        field: 'addr',
      },
      {
        label: '户籍地址',
        value: '广州市天河区棠下街20号',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
      {
        label: '工作单位',
        value: '好又多',
        value: '',
        field: 'workUnit',
      },
      {
        label: '民族',
        value: '汉',
        value: '',
        field: 'nationName',
      },
    ],
    [
      {
        label: '性别',
        value: '男',
        value: '',
        field: 'sexName',
      },
      {
        label: '是否有个人极端倾向',
        value: '否',
        value: '',
        field: 'extreme',
      },
    ],
    [
      {
        label: '委托关系',
        value: '亲属',
        value: '',
        field: 'agentRelateName',
      },
      {
        label: '委托类型',
        value: '一般授权代理',
        value: '',
        field: 'agentTypeName',
      },
    ],
    [
      {
        label: '代理对象',
        value: '广东好又多贸易公司',
        value: '',
        field: 'personList',
      },
    ],
    [
@@ -256,16 +290,63 @@
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
        </a>,
        isFile: true,
      },
      {
        label: '代理人授权委托书',
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />江照月个人身份.pdf
        </a>,
        isFile: true,
      },
    ],
  ]
  const tableList = agentList
  const [tableList, setTableList] = useState([])
  useEffect(() => {
    console.log(props.editData);
    const data = props.editData
    let newList
    let mapList = []
    if (data.perClass === "09_01001-1") {
      //自然人
      mapList = nuturalList
    }
    if (data.perClass === "09_01001-2") {
      //法人组织
      mapList = legalList
    }
    if (data.perClass === "09_01001-3") {
      //非法人组织
      mapList = organizationList
    }
    if (data.perType === "24_00006-1" || data.perType === "24_00006-1") {
      //代理人
      mapList = agentList
    }
    newList = mapList.map(item => {
      return item.map(res => {
        if (res.isFile) {
          return res
        }
        if (res.isName) {
          return {
            ...res,
            value: data[res.field],
            perClass: data.perClassName || data.perTypeName
          }
        } else {
          return {
            ...res,
            value: res.field === 'personList' ? data[res.field].join(',') : data[res.field]
          }
        }
      })
    })
    setTableList(newList)
  }, [])
  return (
    <div style={{maxHeight: '590px', overflowY: 'scroll'}}>
@@ -276,9 +357,9 @@
              {
                item?.map(res => {
                  return <>
                    <th bgcolor="#F7F8FA" className="table-title" width={res.width ? res.width : ''}>{res.label}</th>
                    <td width='380'>
                      <div style={{ display: 'flex' }}>
                    <th bgcolor="#F7F8FA" className="table-title" width='120'>{res.label}</th>
                    <td width={380}>
                      <div style={{ display: 'flex', minHeight: '22px' }}>
                        <div>{res.value}</div>
                        {res.isName && <div className="title-personRemark">{res.perClass}</div>}
                      </div>
@@ -289,35 +370,6 @@
            </tr>
          })
        }
        {/* <tr>
          <th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th>
          <td width='380'><div style={{ display: 'flex' }}><div>李晓明</div><div className="title-personRemark">自然人</div></div></td>
          <th bgcolor="#F7F8FA" className="table-title" width="120">联系方式</th>
          <td width='380'>19</td>
          <th bgcolor="#F7F8FA" className="table-title" width='140'>性别</th>
          <td>汉</td>
        </tr>
        <tr>
          <th bgcolor="#F7F8FA" className="table-title">证件类型</th>
          <td>19970000</td>
          <th bgcolor="#F7F8FA" className="table-title">证件号码</th>
          <td>团员</td>
          <th bgcolor="#F7F8FA" className="table-title">民族</th>
          <td>本科</td>
        </tr>
        <tr>
          <th bgcolor="#F7F8FA" className="table-title">联系地址</th>
          <td>网络工程</td>
          <th bgcolor="#F7F8FA" className="table-title">户籍地址</th>
          <td>淮南师范学院</td>
          <th bgcolor="#F7F8FA" className="table-title" rowspan="2" >是否有个人极端倾向</th>
          <td rowspan="2" >237483</td>
        </tr>
        <tr>
          <th bgcolor="#F7F8FA" className="table-title">工作单位</th>
          <td>玩,拆,装</td>
          <th bgcolor="#F7F8FA" className="table-title">身份证明材料</th>
        </tr> */}
      </table>
      {/* 重复来访重点人员 */}
      <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -302,6 +302,7 @@
  //查看
  const handleCheckParty = (value) => {
    setDialogType(value.perType)
    setEditData(value)
    setDetailVisabled(true)
  }
@@ -367,8 +368,7 @@
  return (
    <div className='dataSync-page'>
    <div className='dataSync-page' style={{ ...props.style }}>
      <Col span={24} style={{ display: 'flex', alignItems: 'center' }}>
        <Space size='small'>
          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px', }}></div><h4>当事人信息</h4>
@@ -765,14 +765,17 @@
        title={'查看' + peopleMap[dialogType]}
        visible={detailVisabled}
        onOk={() => setDetailVisabled(false)}
        onCancel={() => setDetailVisabled(false)}
        onCancel={() => {
          setDetailVisabled(false)
          setEditData(null)
        }}
        autoFocus={false}
        focusLock={true}
        footer={null}
        unmountOnExit={true}
        maskClosable={false}
      >
        <DetailDialog />
        <DetailDialog editData={editData} />
      </Modal>
      <Modal
        style={{ width: '1200px' }}
gz-customerSystem/src/views/register/visit/index.jsx
@@ -95,7 +95,14 @@
            return {
                ...newObj,
                personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"),
                agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2"),
                agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => {
                    //personNameList用于查看详情显示代理人名字,不需要上传,去除
                    const { personNameList, ...rest } = item
                    return {
                        ...rest,
                        personId: item.personId.join(',')
                    }
                }),
            }
        } else {
            const res = await getId()
@@ -103,7 +110,14 @@
                return {
                    ...newObj,
                    personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"),
                    agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2"),
                    agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => {
                        //personNameList用于查看详情显示代理人名字,不需要上传,去除
                        const { personNameList, ...rest } = item
                        return {
                            ...rest,
                            personId: item.personId.join(',')
                        }
                    }),
                    id: res.data
                }
            }
@@ -164,7 +178,8 @@
                                <Step title='结案归档' disabled />
                            </Steps>
                        </div>
                        {isReview ? <Preview /> : <VisitorRegister formRef={formRef} />}
                        <Preview style={{ display: isReview ? '' : 'none' }} />
                        <VisitorRegister formRef={formRef} style={{ display: isReview ? 'none' : '' }} />
                        <div className="dataSync-excel">
                            <Space size="large" style={{ margin: '4px 14px' }}>
                                <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={handleSave} >保存</Button>
gz-customerSystem/src/views/register/visit/preview.jsx
@@ -17,7 +17,7 @@
import { EventLevelDrawer, MattersDetail } from './component/levelDetail'
const Preview = () => {
const Preview = (props) => {
    const [filesCheck, setFilesCheck] = useState(false);
    const [apply, setApply] = useState(false);
    const [visible, setVisible] = useState(false);
@@ -128,7 +128,7 @@
    return (
        <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 211px)', overflowY: 'scroll' }}>
        <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', ...props.style }}>
            <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
                <Space size='small'>
                    <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>