forked from gzzfw/frontEnd/gzDyh

dminyi
2024-08-30 db35bd251144da64188dfb8fca63a4fd8c0f5973
Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master
1 files deleted
2 files added
1 files renamed
10 files modified
1070 ■■■■■ changed files
gz-customerSystem/src/api/appUrl.js 5 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/components/personCard/DetailDialog.jsx 380 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/components/personCard/KeyVisits.jsx patch | view | raw | blame | history
gz-customerSystem/src/components/personCard/index.jsx 191 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/utils/caseTypeSelect.js 47 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/utils/selectOption.js 28 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/index.less 14 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx 8 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx 8 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/applyDialog.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/detailDialog.jsx 328 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx 27 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/index.jsx 28 ●●●● 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/components/personCard/DetailDialog.jsx
New file
@@ -0,0 +1,380 @@
import React, { useEffect, useState } from 'react'
import KeyVisits from "./KeyVisits";
import { link } from '@/assets/images'
export default function DetailDialog(props) {
  const nuturalList = [
    [
      {
        label: '姓名',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '证件类型',
        value: '',
        field: 'certiTypeName',
      },
      {
        label: '证件号码',
        value: '',
        field: 'certiNo',
      },
    ],
    [
      {
        label: '联系地址',
        value: '',
        field: 'addr',
      },
      {
        label: '户籍地址',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
      {
        label: '工作单位',
        value: '',
        field: 'workUnit',
      },
      {
        label: '民族',
        value: '',
        field: 'nationName',
      },
    ],
    [
      {
        label: '性别',
        value: '',
        field: 'sexName',
      },
      {
        label: '是否有个人极端倾向',
        value: '',
        field: 'extreme',
      },
    ],
    [
      {
        label: '身份证明材料',
        value: <a href="your-link-here.html" target="_blank">
          <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
        </a>,
        isFile: true
      },
    ],
  ]
  const legalList = [
    [
      {
        label: '企业名称',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '企业所在地',
        value: '',
        field: 'addr',
      },
      {
        label: '统一社会信用代码',
        value: '',
        field: 'orgaCode',
      },
    ],
    [
      {
        label: '法定代表人',
        value: '',
        field: 'deputy',
      },
      {
        label: '企业类型',
        value: '',
        field: 'orgaTypeName',
      },
    ],
    [
      {
        label: '住所',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
      {
        label: '登记企业材料',
        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 organizationList = [
    [
      {
        label: '机构名称',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '机构所在地',
        value: '',
        field: 'addr',
      },
      {
        label: '机构组织代码',
        value: '',
        field: 'orgaCode',
      },
    ],
    [
      {
        label: '机构代表人',
        value: '',
        field: 'deputy',
      },
      {
        label: '机构类型',
        value: '',
        field: 'orgaTypeName',
      },
    ],
    [
      {
        label: '住所',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
      {
        label: '机构登记材料',
        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 agentList = [
    [
      {
        label: '姓名',
        perClass: '',
        value: '',
        isName: true,//判断是否是姓名标签
        field: 'trueName',
      },
      {
        label: '联系方式',
        value: '',
        field: 'mobile',
      },
    ],
    [
      {
        label: '证件类型',
        value: '',
        field: 'certiTypeName',
      },
      {
        label: '证件号码',
        value: '',
        field: 'certiNo',
      },
    ],
    [
      {
        label: '联系地址',
        value: '',
        field: 'addr',
      },
      {
        label: '户籍地址',
        value: '',
        field: 'placeAddr',
      },
    ],
    [
      {
        label: '工作单位',
        value: '',
        field: 'workUnit',
      },
      {
        label: '民族',
        value: '',
        field: 'nationName',
      },
    ],
    [
      {
        label: '性别',
        value: '',
        field: 'sexName',
      },
      {
        label: '是否有个人极端倾向',
        value: '',
        field: 'extreme',
      },
    ],
    [
      {
        label: '委托关系',
        value: '',
        field: 'agentRelateName',
      },
      {
        label: '委托类型',
        value: '',
        field: 'agentTypeName',
      },
    ],
    [
      {
        label: '代理对象',
        value: '',
        field: 'personList',
      },
    ],
    [
      {
        label: '身份证明材料',
        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, 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' }}>
      <table border="1" align="center" cellpadding="8" className="table" style={{ marginBottom: '20px' }}>
        {
          tableList?.map((item, index) => {
            return <tr key={index}>
              {
                item?.map(res => {
                  return <>
                    <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>
                    </td>
                  </>
                })
              }
            </tr>
          })
        }
      </table>
      {/* 重复来访重点人员 */}
      <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
        <KeyVisits />
      </div>
    </div>
  )
}
gz-customerSystem/src/components/personCard/KeyVisits.jsx
gz-customerSystem/src/components/personCard/index.jsx
@@ -6,20 +6,30 @@
 * @FilePath: \gzDyh\gz-customerSystem\src\components\personCard\index.jsx
 * @Description: 来访登记当事人卡片
 */
import React from 'react';
import React, { Fragment, useState } from 'react';
import PropTypes from 'prop-types';
import { Typography, Row, Col, Space, Tooltip } from 'antd';
import { Modal } from '@arco-design/web-react';
import { del, add } from '../../assets/images';
import * as $$ from '@/utils/utility';
import DetailDialog from "./DetailDialog";
const { Link, Text } = Typography;
/**
 * isCheck, // 是否无操作
 * data, // 当事人数据
 * handleCheckParty, // 点击查看详情
 * handleDeleteParty, // 删除当事人
 */
const PersonCard = ({ isCheck, data, handleCheckParty, handleDeleteParty, handleAdd, handleEdit }) => {
const PersonCard = ({ isCheck, data, handleDeleteParty, handleAdd, handleEdit }) => {
  const [editData, setEditData] = useState(null);
  const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制
  const [dialogType, setDialogType] = useState(0);//添加当事人的类型
  const peopleMap = {
    '15_020008-1': '申请方',
    '15_020008-2': '被申请方',
    '24_00006-1': '申请方代理人',
    '24_00006-2': '被申请方代理人'
  }
  let isAgent = false
  let isAgentFor = false
  const typeList = data.map(item => {
@@ -31,83 +41,110 @@
  if (typeList.indexOf('15_020008-2') != -1) {
    isAgentFor = true
  }
  const handleCheckParty = (value) => {
    setDialogType(value.perType)
    setEditData(value)
    setDetailVisabled(true)
  }
  return (
    <Row gutter={[24, 16]}>
      {data.map((x, t) => (
        <Col span={7} key={t}>
          <div className="public-personCard" style={{ cursor: 'pointer' }}>
            <div
              className={`public-personCard-card public-personCard-card-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}
              onClick={() => handleCheckParty(x)}
            >
              {x.trueName.substr(0, 1)}
              <div className="public-personCard-card-check">查看</div>
              <img
                src={del}
                alt=''
                style={{ width: '16px', height: '16px', position: 'absolute', top: '-8px', left: '56px' }}
                onClick={(event) => { handleDeleteParty(event, x) }}
              />
            </div>
            <div className="public-personCard-content">
              <div className="public-personCard-title">
                <Text style={{ maxWidth: '80%', paddingRight: '8px' }} ellipsis={{ tooltip: x.trueName }}>
                  {x.trueName}
                </Text>
                <Text onClick={() => { handleEdit(x) }} ellipsis={{ tooltip: x.perTypeName }} className={`public-personCard-tag public-personCard-tag-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}>
                  {x.perTypeName}
                </Text>
    <Fragment>
      <Row gutter={[24, 16]}>
        {data.map((x, t) => (
          <Col span={7} key={t}>
            <div className="public-personCard" style={{ cursor: 'pointer' }}>
              <div
                className={`public-personCard-card public-personCard-card-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}
                onClick={() => handleCheckParty(x)}
              >
                {x.trueName.substr(0, 1)}
                <div className="public-personCard-card-check">查看</div>
                {isCheck && <img
                  src={del}
                  alt=''
                  style={{ width: '16px', height: '16px', position: 'absolute', top: '-8px', left: '56px' }}
                  onClick={(event) => { handleDeleteParty(event, x) }}
                />}
              </div>
              {
                (x.perClass === '09_01001-1' || !x.perClass) &&
                <>
                  <div>证件号码:{x.certiNo}</div>
                  <div>联系方式:{x.mobile}</div>
                </>
              }
              {
                x.perClass === '09_01001-2' &&
                <>
                  <div>统一社会信用代码:{x.orgaCode}</div>
                  <div>法定代表人:{x.deputy}</div>
                </>
              }
              {
                x.perClass === '09_01001-3' &&
                <>
                  <div>组织机构代码:{x.orgaCode}</div>
                  <div>机构代表人:{x.deputy}</div>
                </>
              }
              <Space style={{ display: 'flex', flexWrap: 'wrap' }}>
                {x.remark?.map((item, index) => (
                  <div key={index} style={{ lineHeight: '22px', padding: '0px 8px', backgroundColor: `${item.color}`, width: 'fit-content', borderRadius: '4px', marginTop: '4px', color: '#fff' }}>{item.label}</div>
                ))}
              </Space>
              <div className="public-personCard-content">
                <div className="public-personCard-title">
                  <Text style={{ maxWidth: '80%', paddingRight: '8px' }} ellipsis={{ tooltip: x.trueName }}>
                    {x.trueName}
                  </Text>
                  <Text onClick={() => { handleEdit(x) }} ellipsis={{ tooltip: x.perTypeName }} className={`public-personCard-tag public-personCard-tag-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}>
                    {x.perTypeName}
                  </Text>
                </div>
                {
                  (x.perClass === '09_01001-1' || !x.perClass) &&
                  <>
                    <div>证件号码:{x.certiNo}</div>
                    <div>联系方式:{x.mobile}</div>
                  </>
                }
                {
                  x.perClass === '09_01001-2' &&
                  <>
                    <div>统一社会信用代码:{x.orgaCode}</div>
                    <div>法定代表人:{x.deputy}</div>
                  </>
                }
                {
                  x.perClass === '09_01001-3' &&
                  <>
                    <div>组织机构代码:{x.orgaCode}</div>
                    <div>机构代表人:{x.deputy}</div>
                  </>
                }
                <Space style={{ display: 'flex', flexWrap: 'wrap' }}>
                  {x.remark?.map((item, index) => (
                    <div key={index} style={{ lineHeight: '22px', padding: '0px 8px', backgroundColor: `${item.color}`, width: 'fit-content', borderRadius: '4px', marginTop: '4px', color: '#fff' }}>{item.label}</div>
                  ))}
                </Space>
              </div>
            </div>
          </div>
        </Col>
      ))}
      <Col span={3}>
        <div className="dataSync-addBtn">
          <Tooltip
            title={(<Space direction='vertical '>
              <div className="dataSync-btnApply" style={{ backgroundColor: '#1A6FB8' }} onClick={() => { handleAdd('15_020008-1') }}>申请方当事人</div>
              {isAgent && <div className="dataSync-btnApply" style={{ backgroundColor: '#3491FA' }} onClick={() => { handleAdd('24_00006-1') }}>申请方代理人</div>}
              <div className="dataSync-btnApply" style={{ backgroundColor: '#EF6C24' }} onClick={() => { handleAdd('15_020008-2') }}>被申请方当事人</div>
              {isAgentFor && <div className="dataSync-btnApply" style={{ backgroundColor: '#FA8C16' }} onClick={() => { handleAdd('24_00006-2') }}>被申请方代理人</div>}
            </Space>)}
            placement={data.length !== 0 && data.length % 3 === 0 ? 'left' : "right"}
            color='#ffff'
            overlayStyle={{}}
          >
            <div style={{ backgroundColor: '#f2f3f5', borderRadius: '50%', width: '64px', height: '64px' }}>
              <img src={add} alt="添加" style={{ width: '32px', margin: '16px' }} />
          </Col>
        ))}
        {isCheck &&
          <Col span={3}>
            <div className="dataSync-addBtn">
              <Tooltip
                title={(<Space direction='vertical '>
                  <div className="dataSync-btnApply" style={{ backgroundColor: '#1A6FB8' }} onClick={() => { handleAdd('15_020008-1') }}>申请方当事人</div>
                  {isAgent && <div className="dataSync-btnApply" style={{ backgroundColor: '#3491FA' }} onClick={() => { handleAdd('24_00006-1') }}>申请方代理人</div>}
                  <div className="dataSync-btnApply" style={{ backgroundColor: '#EF6C24' }} onClick={() => { handleAdd('15_020008-2') }}>被申请方当事人</div>
                  {isAgentFor && <div className="dataSync-btnApply" style={{ backgroundColor: '#FA8C16' }} onClick={() => { handleAdd('24_00006-2') }}>被申请方代理人</div>}
                </Space>)}
                placement={data.length !== 0 && data.length % 3 === 0 ? 'left' : "right"}
                color='#ffff'
                overlayStyle={{}}
              >
                <div style={{ backgroundColor: '#f2f3f5', borderRadius: '50%', width: '64px', height: '64px' }}>
                  <img src={add} alt="添加" style={{ width: '32px', margin: '16px' }} />
                </div>
              </Tooltip>
            </div>
          </Tooltip>
        </div>
      </Col>
    </Row>
          </Col>
        }
      </Row>
      <Modal
        title={'查看' + peopleMap[dialogType]}
        visible={detailVisabled}
        onOk={() => setDetailVisabled(false)}
        onCancel={() => {
          setDetailVisabled(false)
          setEditData(null)
        }}
        autoFocus={false}
        focusLock={true}
        footer={null}
        unmountOnExit={true}
        maskClosable={false}
      >
        <DetailDialog editData={editData} />
      </Modal>
    </Fragment>
  );
};
gz-customerSystem/src/utils/caseTypeSelect.js
New file
@@ -0,0 +1,47 @@
/*
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-03-07 15:26:41
 * @LastEditTime: 2023-06-15 16:59:50
 * @LastEditors: lihl
 * @Version: 1.0.0
 * @Description: 纠纷类型下拉框
 */
let caseTypeSelect = [
  {
    'label': '家庭邻里',
    'value': '24_000010-1',
    'parentId': 'root',
    'children': [
      {
        'label': '邻里纠纷',
        'value': '24_000011-1',
        'parentId': '24_000010-1',
      },
      {
        'label': '婚姻家庭纠纷',
        'value': '24_000011-2',
        'parentId': '24_000010-1',
      }
    ]
  },
  {
    'label': '劳动社保',
    'value': '24_000010-2',
    'parentId': 'root',
    'children': [
      {
        'label': '拖欠、克扣工资',
        'value': '24_000011-3',
        'parentId': '24_000010-2',
      },
      {
        'label': '门诊及住院待遇',
        'value': '24_000011-4',
        'parentId': '24_000010-2',
      }
    ]
  },
]
gz-customerSystem/src/utils/selectOption.js
@@ -516,6 +516,20 @@
    label: '不同意' 
  },
];
// 企业类型
const enterpriseType = [
  {
    value: '24_00008-1',
    label: '餐饮服务',
  },
];
// 机构类型
const orgaType = [
  {
    value: '24_00009-1',
    label: '志愿者服务',
  },
];
//事项等级
const caseLevelList = [
  {
@@ -782,6 +796,17 @@
  {
    value: '22_00036-10',
    label: '其他部门委托移送',
  },
];
// 委托关系
const agentRelate = [
  {
    value: '24_00007-1',
    label: '亲属',
  },
  {
    value: '24_00007-2',
    label: '监护人',
  },
];
@@ -1091,6 +1116,9 @@
  meetWay,
  dispType,
  auditResult,
  agentRelate,
  enterpriseType,
  orgaType,
  caseLevelList,
  // VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 暂时用不到,防止以后会用的,先保留 VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
gz-customerSystem/src/views/register/index.less
@@ -131,14 +131,14 @@
        margin-bottom: 8px;
        padding-left: 8px;
    }
}
    .dialogTag {
        line-height: 22px;
        padding: 0 8px;
        border-radius: 4px;
        margin-top: 4px;
        color: #fff;
    }
.dialogTag {
    line-height: 22px;
    padding: 0 8px;
    border-radius: 4px;
    margin-top: 4px;
    color: #fff;
}
.visitTableClass {
gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx
@@ -180,12 +180,8 @@
            </Col>
            <div style={{ margin: '16px 0' }}>
              <PersonCard
                isCheck={true}
                partyType={'applicant'} // 这里设定为申请人
                isCheck={false}
                data={fakeData}
                handleCheckParty={handleCheckParty}
                handleAdd={handleAdd}
                handleDeleteParty={handleDeleteParty}
              />
            </div>
            <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}>
@@ -303,7 +299,7 @@
        </Typography.Paragraph>
      }
      {
        props.active === '3' && <Typography.Paragraph style={style}>
        (props.active === '3' && props.current === 3) && <Typography.Paragraph style={style}>
          <Handle />
        </Typography.Paragraph>
      }
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect, useRef, Fragment } from "react";
import { Row, Col, Space } from 'antd';
import { Form, Input, Button, Radio, Select, Checkbox, Upload } from '@arco-design/web-react';
import KeyVisits from "./keyVisits";
import KeyVisits from "@/components/personCard/KeyVisits";
import {
  IconLink,
} from '@arco-design/web-react/icon';
@@ -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/applyDialog.jsx
@@ -13,7 +13,7 @@
  caseperfection_organize_active,
} from '@/assets/images/icon';
import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
import KeyVisits from "./keyVisits";
import KeyVisits from "@/components/personCard/KeyVisits";
import SelectUnitDialog from "./selectUnitDialog";
import {
  IconLink,
gz-customerSystem/src/views/register/visit/component/detailDialog.jsx
File was deleted
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -15,7 +15,6 @@
import '../../index.less';
import ApplyDialog from "./applyDialog";
import AgentDialog from "./agentDialog";
import DetailDialog from "./detailDialog";
import NewFileCheck from '../../../filesCheck/newFileCheck';
import { IconLink } from '@arco-design/web-react/icon';
import MapView from './map'
@@ -32,7 +31,7 @@
const VisitorRegister = (props) => {
  const [dialogType, setDialogType] = useState(0);//添加当事人的类型
  const [dialogType, setDialogType] = useState();//添加当事人的类型
  const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制
  const [fakeData, setFakeData] = useState([]);//当事人信息数据
  const [scanFile, setScanFile] = useState(false);
@@ -43,7 +42,6 @@
  const [filesCheck, setFilesCheck] = useState(false);
  const [fileView, setFileView] = useState();
  const [fileTip, setFileTip] = useState('0');
  const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制
  const [mapView, setMapView] = useState(false);
  const [visible, setVisible] = useState(false);
  const [apply, setApply] = useState(false);
@@ -299,12 +297,6 @@
    }
  }
  //查看
  const handleCheckParty = (value) => {
    setDialogType(value.perType)
    setDetailVisabled(true)
  }
  //获取当前时间
  const getFormattedDateTime = () => {
    let now = new Date();
@@ -367,8 +359,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>
@@ -378,7 +369,6 @@
        <PersonCard
          isCheck={true}
          data={fakeData}
          handleCheckParty={handleCheckParty}
          handleAdd={handleAdd}
          handleDeleteParty={handleDeleteParty}
          handleEdit={handleEdit}
@@ -760,19 +750,6 @@
          dialogType={dialogType}
          editData={editData}
        />
      </Modal>
      <Modal
        title={'查看' + peopleMap[dialogType]}
        visible={detailVisabled}
        onOk={() => setDetailVisabled(false)}
        onCancel={() => setDetailVisabled(false)}
        autoFocus={false}
        focusLock={true}
        footer={null}
        unmountOnExit={true}
        maskClosable={false}
      >
        <DetailDialog />
      </Modal>
      <Modal
        style={{ width: '1200px' }}
gz-customerSystem/src/views/register/visit/index.jsx
@@ -39,7 +39,7 @@
    const formRef = useRef();
    const [isReview, setIsReview] = useState(false);//预览页面控制
    const [current, setCurrent] = useState(1);
    const [current, setCurrent] = useState(2);
    const [tabsActive, setTabsActive] = useState('1');
    const [tabsList, setTabList] = useState([
        {
@@ -56,6 +56,7 @@
    ])
    const breadcrumbDataMap = {
        1: { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' },
        2: { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' },
        3: { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' }
    }
@@ -95,7 +96,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 +111,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 +179,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>
@@ -177,7 +193,7 @@
                    </Fragment>
                }
                {
                    current === 3 &&
                    (current === 2 || current === 3) &&
                    <Tabs defaultActiveTab='1' onChange={(v) => setTabsActive(v)}>
                        {tabsList?.map(item => {
                            return <TabPane
@@ -201,7 +217,7 @@
                                        </Steps>
                                    </div>
                                }
                                <MattersInfo active={tabsActive} />
                                <MattersInfo active={tabsActive} current={current}/>
                            </TabPane>
                        })}
                    </Tabs>
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>