forked from gzzfw/frontEnd/gzDyh

zhangyongtian
2024-09-09 47e16d0a56559916c5fb9c4de08838e7a1d457d8
feat: 完善功能
7 files modified
169 ■■■■ changed files
gz-customerSystem/src/api/appUrl.js 4 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/components/personCard/DetailDialog.jsx 12 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/handleFeedback/index.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/matterDetail/FileTable.jsx 22 ●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx 2 ●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/matterDetail/index.jsx 125 ●●●●● patch | view | raw | blame | history
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx 2 ●●● 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://w88bsz.natappfree.cc",
  // baseUrl: 'http://mdqgnh.natappfree.cc',
  // 附件服务
  fileUrl: "http://192.168.3.108:9002",
  fileUrl: "http://w88bsz.natappfree.cc",
  // fileUrl: 'http://gz.hugeinfo.com.cn',
  // 文件查看url 后面接附件编号
gz-customerSystem/src/components/personCard/DetailDialog.jsx
@@ -1,6 +1,7 @@
import React, { useEffect, useState } from 'react'
import KeyVisits from "./KeyVisits";
import { link } from '@/assets/images'
import { link } from '@/assets/images';
import { Scrollbars } from "react-custom-scrollbars";
export default function DetailDialog(props) {
  const nuturalList = [
@@ -359,7 +360,12 @@
  }, [])
  return (
    <div style={{ maxHeight: '590px', overflowY: 'scroll' }}>
    <Scrollbars
      autoHide
      autoHeight
      autoHeightMin={200} // 最小高度为300px
      autoHeightMax={590}
    >
      <table border="1" align="center" cellpadding="8" className="table" style={{ marginBottom: '20px' }}>
        {
          tableList?.map((item, index) => {
@@ -385,6 +391,6 @@
      {/* <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
        <KeyVisits />
      </div> */}
    </div>
    </Scrollbars>
  )
}
gz-customerSystem/src/views/register/handleFeedback/index.jsx
@@ -178,7 +178,7 @@
                                </div>
                            }
                            {tabsActive === 'sxxq' &&
                                <MatterDetail hasApplet={true} hasEditBtn={true} />
                                <MatterDetail hasApplet={true} hasEditBtn={true} caseId={routeData.caseId}/>
                            }
                            {
                                tabsActive === 'sxbl' && <Typography.Paragraph style={style}>
gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
@@ -21,10 +21,6 @@
  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'delete', service: 'sys', data: { id } });
}
function listIdTypeInfoApi(data) {
  return $$.ax.request({ url: `fileInfo/listIdTypeInfo`, type: 'post', service: 'sys', data });
}
function deleteFileByIdApi(data) {
  return $$.ax.request({ url: `fileInfo/deleteFileByIds`, type: 'delete', service: 'sys', data });
}
@@ -48,6 +44,12 @@
    id: 2,
  },
]
/**
 * mainId*,//就是caseId,事件id
 * fileInfoList*, //文件列表
 * isReview,//是否查看,查看的话就不能删除上传,只能查看下载
 */
export default function FileTable(props) {
  const formRef = useRef();
@@ -98,7 +100,7 @@
      title: '操作',
      dataIndex: 'perClassName',
      key: 'perClassName',
      width: 125,
      width: props.isReview ? 60 : 125,
      fixed: 'right',
      render: (text, record) => (
        <Space size="middle">
@@ -108,7 +110,7 @@
          }}>
            查看
          </Link>
          <Link onClick={() => {
          {!props.isReview && <Link onClick={() => {
            if (record.fileInfoList && record.fileInfoList.length != 0) {
              let ids = record.fileInfoList?.map(item => item.id).join(',')
              handleDelete(ids)
@@ -117,7 +119,7 @@
            }
          }}>
            删除
          </Link>
          </Link>}
          <Link onClick={() => {
            if (record.fileInfoList && record.fileInfoList.length != 0) {
              let ids = record.fileInfoList?.map(item => item.id).join(',')
@@ -128,7 +130,7 @@
          }}>
            下载
          </Link>
          <Link onClick={() => {
          {!props.isReview && <Link onClick={() => {
            setSourceType(record.ownerType)
            setUpLoadVisible(true)
            setFileInfoList(record.fileInfoList)
@@ -137,7 +139,7 @@
            }, 0)
          }}>
            上传
          </Link>
          </Link>}
        </Space>
      )
    },
@@ -403,7 +405,7 @@
        maskClosable={false}
      >
        <div style={{ marginTop: '-16px' }}>
          <NewFileCheck menuList={tableData} sourceType={sourceType}/>
          <NewFileCheck menuList={tableData} sourceType={sourceType} />
        </div>
      </Modal>
    </Fragment>
gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx
@@ -140,7 +140,7 @@
                            <div style={{ width: '100%', height: '470px' }}>
                                {
                                    itemData.suffix === 'pdf' ?
                                        <embed src="fileUrl" type="application/pdf" width="100%" height="100%"></embed>
                                        <embed src={fileUrl} type="application/pdf" width="100%" height="100%"></embed>
                                        :
                                        <img src={fileUrl} alt="" style={{ width: '100%', height: '100%' }} />
                                }
gz-customerSystem/src/views/register/matterDetail/index.jsx
@@ -1,131 +1,28 @@
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 });
}
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(id)
    if (res.type) {
      let data = res.data
      const partyList = data.personList.concat(data.agentList)
@@ -261,15 +158,7 @@
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>事件材料</h5>
            </Space>
          </Col>
          <TableView
            columns={fakeColumns}
            dataSource={fakeData1}
            size="small"
            rowKey="id"
            bordered={true}
            style={{ marginBottom: '20px' }}
          />
          <FileTable mainId={props.caseId} fileInfoList={infoData.fileInfoList} isReview={true}/>
          <Col span={24} className='title'>
            <Space size='small'>
              <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>登记信息</h5>
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -390,7 +390,7 @@
          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
        </Space>
      </Col>
      <FileTable mainId={props.mainId} fileInfoList={props.fileInfoList}/>
      <FileTable mainId={props.mainId} fileInfoList={props.fileInfoList} isReview={false}/>
      <DocumentScanner
        visible={scanFile}