From f5d2600e1423afe6a49dee541ea5599d588b19f3 Mon Sep 17 00:00:00 2001
From: dminyi <1301963064@qq.com>
Date: Tue, 10 Sep 2024 09:16:58 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master
---
gz-customerSystem/src/views/register/matterDetail/index.jsx | 125 -------------
gz-customerSystem/src/views/register/visit/component/previewTable.jsx | 8
gz-customerSystem/src/styles/public.less | 4
gz-customerSystem/src/components/personCard/DetailDialog.jsx | 12 +
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx | 3
gz-customerSystem/src/views/register/matterDetail/FileTable.jsx | 194 ++++++++++++++++++---
gz-customerSystem/src/views/register/handleFeedback/index.jsx | 2
gz-customerSystem/src/api/appUrl.js | 20 +-
gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx | 76 +++++++
gz-customerSystem/src/utils/download.js | 41 ++++
10 files changed, 309 insertions(+), 176 deletions(-)
diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js
index 9338a21..85b85ee 100644
--- a/gz-customerSystem/src/api/appUrl.js
+++ b/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 后面接附件编号
@@ -38,11 +38,11 @@
// 正式版
export const web = {
// web服务
- baseUrl: "/gz-dyh",
+ baseUrl: "https://zfw-dyh.by.gov.cn",
// baseUrl: 'http://146.4.99.61:8088/byzfw',
// 附件服务
- fileUrl: "https://dyh.hugeinfo.com.cn",
+ fileUrl: "https://zfw-dyh.by.gov.cn",
// 文件查看url 后面接附件编号
fileShowUrl: "/dyh-sys/api/v1/fileInfo/show/",
@@ -54,10 +54,10 @@
fileDocx2: "/InsertSeal/Word/AddSeal1/Word1",
// 不同服务接口type
- mediate: "dyh-mediate", // dyh-mediate
- cust: "dyh-cust", // dyh-cust
- oper: "dyh-oper", // dyh-oper
- sys: "dyh-sys", // dyh-sys
- disp: "dyh-disp", //dyh-disp
- utils: "dyh-utils",
+ mediate: "gzdyh-mediate", // dyh-mediate
+ cust: "gzdyh-cust", // dyh-cust
+ oper: "gzdyh-oper", // dyh-oper
+ sys: "gzdyh-sys", // dyh-sys
+ disp: "gzdyh-disp", //dyh-disp
+ utils: "gzdyh-utils",
};
diff --git a/gz-customerSystem/src/components/personCard/DetailDialog.jsx b/gz-customerSystem/src/components/personCard/DetailDialog.jsx
index 183501d..f5f7dce 100644
--- a/gz-customerSystem/src/components/personCard/DetailDialog.jsx
+++ b/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>
)
}
diff --git a/gz-customerSystem/src/styles/public.less b/gz-customerSystem/src/styles/public.less
index 05e8a8c..d54605e 100644
--- a/gz-customerSystem/src/styles/public.less
+++ b/gz-customerSystem/src/styles/public.less
@@ -805,10 +805,12 @@
.arco-modal-header {
padding: 0;
+ margin-bottom: 0;
}
- .arco-modal-header {
+ .arco-modal-footer {
text-align: right;
+ margin-top: 0;
}
}
diff --git a/gz-customerSystem/src/utils/download.js b/gz-customerSystem/src/utils/download.js
new file mode 100644
index 0000000..5ce3b11
--- /dev/null
+++ b/gz-customerSystem/src/utils/download.js
@@ -0,0 +1,41 @@
+import axios from 'axios'
+import qs from 'qs'
+import * as $$ from '@/utils/utility';
+
+export default function downloadFile(url, params) {
+ const link = document.createElement('a')
+ return axios({
+ url,
+ params,
+ method: 'GET',
+ headers: {
+ Authorization: $$.getSessionStorage('customerSystemToken')
+ },
+ responseType: 'blob',
+ paramsSerializer: (v) => qs.stringify(v, {
+ arrayFormat: 'repeat'
+ }),
+ })
+ .then((res) => {
+ // 切割文件名
+ const fileNameEncode = res.headers['content-disposition'].split('filename=')[1]
+ // 解码
+ const fileName = decodeURIComponent(fileNameEncode)
+ // 设置type类型
+ const blob = new Blob([res.data], {
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; application/octet-stream',
+ })
+ const fileUrl = window.URL.createObjectURL(blob)
+ link.href = fileUrl
+ link.setAttribute('download', fileName)
+ link.style.display = 'none'
+ link.click()
+ link.remove()
+ })
+ .catch(() => {
+ $$.info({
+ type: 'error',
+ content: '文件下载请求失败'
+ });
+ })
+}
\ No newline at end of file
diff --git a/gz-customerSystem/src/views/register/handleFeedback/index.jsx b/gz-customerSystem/src/views/register/handleFeedback/index.jsx
index 97a74a8..b928d2e 100644
--- a/gz-customerSystem/src/views/register/handleFeedback/index.jsx
+++ b/gz-customerSystem/src/views/register/handleFeedback/index.jsx
@@ -3,7 +3,7 @@
* @Author: dminyi 1301963064@qq.com
* @Date: 2024-08-09 09:59:43
* @LastEditors: dminyi 1301963064@qq.com
- * @LastEditTime: 2024-09-09 21:14:14
+ * @LastEditTime: 2024-09-10 09:16:47
* @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx
* @Description: 来访登记
*
diff --git a/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx b/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
index 84e9d1e..f1cc458 100644
--- a/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
@@ -2,7 +2,7 @@
import * as $$ from '@/utils/utility';
import ArcoUpload from '@/components/ArcoUpload';
import NewFileCheck from './NewFileCheck';
-import { Row, Col, Button } from 'antd';
+import { Row, Col, Button, Typography, Space } from 'antd';
import { Form, Modal } from '@arco-design/web-react';
import {
applyMaterials,
@@ -12,19 +12,17 @@
} from '@/assets/images';
import { CheckOutlined, } from '@ant-design/icons';
import TableView from '@/components/TableView';
+import downloadFile from "@/utils/download"
+const { Link, Text } = Typography;
const appUrl = $$.appUrl;
function delFile(id) {
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/deleteFileById`, type: 'delete', service: 'sys', data });
+ return $$.ax.request({ url: `fileInfo/deleteFileByIds`, type: 'delete', service: 'sys', data });
}
//表格数据
@@ -35,6 +33,7 @@
size: 0,
fileNames: "-",
updateTime: '',
+ id: 1,
},
{
ownerType: "22_00018-102",
@@ -42,16 +41,24 @@
size: 0,
fileNames: "-",
updateTime: '',
+ id: 2,
},
]
+
+/**
+ * mainId*,//就是caseId,事件id
+ * fileInfoList*, //文件列表
+ * isReview,//是否查看,查看的话就不能删除上传,只能查看下载
+ */
export default function FileTable(props) {
const formRef = useRef();
const [sourceType, setSourceType] = useState();
const [filesCheck, setFilesCheck] = useState(false);
- const [upload, setUpLoad] = useState(false);
+ const [uploadVisible, setUpLoadVisible] = useState(false);
const [tableData, setTableData] = useState(staticTableData);
const [fileMap, setFileMap] = useState({});
+ const [fileInfoList, setFileInfoList] = useState([]);
// 列配置
const fakeColumns = [
@@ -93,17 +100,47 @@
title: '操作',
dataIndex: 'perClassName',
key: 'perClassName',
- width: 200,
+ width: props.isReview ? 60 : 125,
+ fixed: 'right',
render: (text, record) => (
- <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}>
- <div onClick={() => setFilesCheck(true)}>查看</div>
- <div>删除</div>
- <div>下载</div>
- <div onClick={() => {
+ <Space size="middle">
+ <Link onClick={() => {
setSourceType(record.ownerType)
- setUpLoad(true)
- }}>上传</div>
- </div>
+ setFilesCheck(true)
+ }}>
+ 查看
+ </Link>
+ {!props.isReview && <Link onClick={() => {
+ if (record.fileInfoList && record.fileInfoList.length != 0) {
+ let ids = record.fileInfoList?.map(item => item.id).join(',')
+ handleDelete(ids)
+ } else {
+ $$.info({ type: 'warning', content: '还没上传关于该材料的文件!' });
+ }
+ }}>
+ 删除
+ </Link>}
+ <Link onClick={() => {
+ if (record.fileInfoList && record.fileInfoList.length != 0) {
+ let ids = record.fileInfoList?.map(item => item.id).join(',')
+ handleDownlod(ids)
+ } else {
+ $$.info({ type: 'warning', content: '还没上传关于该材料的文件!' });
+ }
+ }}>
+ 下载
+ </Link>
+ {!props.isReview && <Link onClick={() => {
+ setSourceType(record.ownerType)
+ setUpLoadVisible(true)
+ setFileInfoList(record.fileInfoList)
+ setTimeout(() => {
+ formRef.current.setFieldValue('file', record.fileInfoList)
+ }, 0)
+ }}>
+ 上传
+ </Link>}
+ </Space>
)
},
// 更多列配置...
@@ -114,9 +151,53 @@
]
useEffect(() => {
- console.log(props.fileInfoList);
- },[props.fileInfoList])
+ if (props.fileInfoList && props.fileInfoList.length != 0) {
+ //证明材料
+ const applyFile = props.fileInfoList.find(item => item.ownerType == "22_00018-101")
+ //证据材料
+ const evidenceFile = props.fileInfoList.find(item => item.ownerType == "22_00018-102")
+ setFileMap({
+ '22_00018-101': applyFile?.fileList || [],
+ '22_00018-102': evidenceFile?.fileList || []
+ })
+ const newList = tableData.map(item => {
+ if (item.ownerType == '22_00018-101' && applyFile) {
+ return {
+ ...item,
+ size: applyFile.fileList.length,
+ fileNames: applyFile.fileList?.map(item => item.trueName).join(','),
+ updateTime: $$.timeFormat(applyFile.fileList[applyFile.fileList.length - 1].updateTime),
+ fileInfoList: applyFile.fileList.map(item => {
+ return {
+ ...item,
+ uid: item.id,
+ name: item.trueName
+ }
+ })
+ }
+ }
+ if (item.ownerType == '22_00018-102' && evidenceFile) {
+ return {
+ ...item,
+ size: evidenceFile.fileList.length,
+ fileNames: evidenceFile.fileList?.map(item => item.trueName).join(','),
+ updateTime: $$.timeFormat(evidenceFile.fileList[evidenceFile.fileList.length - 1].updateTime),
+ fileInfoList: evidenceFile.fileList.map(item => {
+ return {
+ ...item,
+ uid: item.id,
+ name: item.trueName
+ }
+ })
+ }
+ }
+ return item
+ })
+ setTableData(newList)
+ }
+ }, [props.fileInfoList])
+ //上传弹窗判断用哪种种图标
const personIconType = (v) => {
switch (v) {
case '22_00018-101':
@@ -135,24 +216,34 @@
}
}
+ //上传弹窗完成后的事件
const handleUpload = () => {
const newList = tableData.map(item => {
if (item.ownerType == sourceType) {
const data = fileMap[sourceType]
+ console.log(data);
return {
...item,
size: data.length,
- fileNames: data.map(item => item.name).join(','),
- updateTime: $$.timeFormat(data[data.length - 1].response.data[0].updateTime)
+ fileNames: data.map(item => item.trueName).join(','),
+ updateTime: $$.timeFormat(data[data.length - 1].updateTime),
+ fileInfoList: data.map(item => {
+ return {
+ ...item,
+ name: item.trueName,
+ uid: item.id,
+ }
+ }),
}
} else {
return item
}
})
setTableData(newList)
- setUpLoad(false);
+ setUpLoadVisible(false);
};
+ //根据sourceType生成组件
const formType = (type) => {
if (type === '22_00018-101') {
//申请材料
@@ -165,11 +256,21 @@
}}
field='file'
label=''
- // editData={props.editData}
+ editData={{
+ file: fileInfoList
+ }}
handleDelFile={handleDelFile}
onFileListChange={(v) => {
+ let newList = v?.map(item => {
+ if (item.response) {
+ return item.response.data[0]
+ } else {
+ return item
+ }
+ })
setFileMap({
- '22_00018-101': v
+ ...fileMap,
+ '22_00018-101': newList
})
}}
/>
@@ -187,22 +288,50 @@
params={{
action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&&ownerId=${props.mainId}&ownerType=22_00018-102`,
}}
- field='file1'
+ field='file'
label=''
- // editData={props.editData}
+ editData={{
+ file: fileInfoList
+ }}
handleDelFile={handleDelFile}
onFileListChange={(v) => {
+ let newList = v?.map(item => {
+ if (item.response) {
+ return item.response.data[0]
+ } else {
+ return item
+ }
+ })
setFileMap({
- '22_00018-102': v
+ ...fileMap,
+ '22_00018-102': newList
})
}}
-
/>
{fileMap[sourceType]?.length > 0 && <div style={{ position: 'absolute', top: '198px', left: '16px', color: '#86909C' }}>证据材料累计上传:<span style={{ color: '#1A6FB8' }}>{fileMap[sourceType]?.length}</span></div>}
</Col>
</>
)
}
+ }
+
+ //删除
+ const handleDelete = (ids) => {
+ Modal.confirm({
+ title: '删除确认',
+ content: '确认全部删除该材料?',
+ onOk: async () => {
+ const res = await deleteFileByIdApi({ ids })
+ if (res.type) {
+ $$.infoSuccess({ content: '删除成功!' });
+ }
+ },
+ });
+ }
+
+ //下载
+ const handleDownlod = async (ids) => {
+ await downloadFile(`${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/down/batch`, { ids })
}
return (
@@ -214,14 +343,19 @@
rowKey="ownerType"
bordered={true}
style={{ marginBottom: '65px' }}
+ scroll={{ x: 1300 }}
/>
<Modal
style={{ width: '512px' }}
- visible={upload}
- onCancel={() => setUpLoad(false)}
+ visible={uploadVisible}
+ onCancel={() => setUpLoadVisible(false)}
footer={null}
title='上传材料'
centered
+ mountOnEnter={false}
+ unmountOnExit={true}
+ maskClosable={false}
+ focusLock={false}
>
<div style={{ paddingTop: '8px' }}>
<Row gutter={[30, 24]}>
@@ -271,7 +405,7 @@
maskClosable={false}
>
<div style={{ marginTop: '-16px' }}>
- <NewFileCheck />
+ <NewFileCheck menuList={tableData} sourceType={sourceType} />
</div>
</Modal>
</Fragment>
diff --git a/gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx b/gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx
index a65d6a0..ebabd3c 100644
--- a/gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/NewFileCheck.jsx
@@ -1,14 +1,42 @@
-import React, { useState, useEffect, useRef } from 'react';
+import React, { useState, useEffect, useRef, Fragment } from 'react';
import { Row, Col, Space } from 'antd';
-import { Select, DatePicker, Form, Button } from '@arco-design/web-react';
+import { Select, DatePicker, Form, Button, Menu } from '@arco-design/web-react';
import * as $$ from '@/utils/utility';
const FormItem = Form.Item;
+const MenuItem = Menu.Item;
+const SubMenu = Menu.SubMenu;
const appUrl = $$.appUrl;
+const formItemLayout = {
+ labelCol: {
+ span: 8,
+ },
+ wrapperCol: {
+ span: 16,
+ },
+};
const NewFileCheck = (props) => {
- const formRef = useRef()
+ const formRef = useRef();
+ const [fileUrl, setFileUrl] = useState('')
+ const [itemData, setItemData] = useState(null)
+
+ const peopleTypeMap = {
+ 1: '工作人员',
+ 2: '当事人'
+ }
+
+ useEffect(() => {
+ console.log(props.menuList, props.sourceType);
+ }, [])
+
+ //点击菜单
+ const clickItem = (data) => {
+ console.log(data);
+ setItemData(data)
+ setFileUrl(`${appUrl.fileUrl}/${appUrl.sys}${data.showUrl}`)
+ }
return (
<nav className="filesCheck-nav" style={{ borderRight: '1px solid transparent' }}>
@@ -17,8 +45,7 @@
layout='horizontal'
style={{ marginTop: '24px', marginBottom: '20px' }}
scrollToFirstError={true}
- initialValues={{
- }}//默认值
+ {...formItemLayout}
>
<Row gutter={24} style={{ marginRight: '0px' }}>
<Col span={7}>
@@ -79,17 +106,50 @@
<Col span={3}>
<Space>
<Button size="middle " type='primary'>查询</Button>
- <Button size="middle ">查询</Button>
+ <Button size="middle ">重置</Button>
</Space>
</Col>
</Row>
</Form>
- <div style={{ display: 'flex' }}>
- <div style={{ width: '200px' }}>
+ <div style={{ display: 'flex', height: '550px' }}>
+ <div style={{ width: '256px' }}>
+ <Menu
+ style={{ width: '100%', height: '100%' }}
+ >
+ {props.menuList?.map(item => {
+ return <SubMenu
+ key={item.id}
+ title={item.ownerTypeName + `(${item.fileInfoList && item.fileInfoList.length || 0})`}
+ >
+ {item.fileInfoList?.map(res => {
+ return <MenuItem key={res.id} onClick={() => { clickItem(res) }}>{res.trueName}</MenuItem>
+ })}
+ </SubMenu>
+ })}
+ </Menu>
</div>
<div style={{ flex: 1 }}>
+ {
+ itemData ? <Fragment>
+ <div style={{ background: '#e8f3ff', color: '#1A6FB8', padding: '5px 10px', marginBottom: '16px' }}>
+ <span>材料名称:{itemData.trueName}</span> |
+ <span>上传时间:{itemData.updateTime}</span> |
+ <span>上传人:{itemData.uploaderName} {itemData.uploaderType && <span>({peopleTypeMap[itemData.uploaderType]})</span>}</span>
+ </div>
+ <div style={{ width: '100%', height: '470px' }}>
+ {
+ itemData.suffix === 'pdf' ?
+ <embed src={fileUrl} type="application/pdf" width="100%" height="100%"></embed>
+ :
+ <img src={fileUrl} alt="" style={{ width: '100%', height: '100%' }} />
+ }
+ </div>
+ </Fragment> : <Fragment>
+ <div style={{ padding: '100px 0' }}>{$$.MyEmpty()}</div>
+ </Fragment>
+ }
</div>
</div>
</nav>
diff --git a/gz-customerSystem/src/views/register/matterDetail/index.jsx b/gz-customerSystem/src/views/register/matterDetail/index.jsx
index f1a6c20..6b957bb 100644
--- a/gz-customerSystem/src/views/register/matterDetail/index.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/index.jsx
@@ -1,132 +1,29 @@
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)
@@ -262,15 +159,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>
diff --git a/gz-customerSystem/src/views/register/visit/component/previewTable.jsx b/gz-customerSystem/src/views/register/visit/component/previewTable.jsx
index b4a700a..6ab1329 100644
--- a/gz-customerSystem/src/views/register/visit/component/previewTable.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/previewTable.jsx
@@ -7,7 +7,7 @@
<>
{
applyDialog?.map((item, index) => (
- <table border="1" align="center" cellpadding="6" className="table">
+ <table border="1" align="center" cellpadding="6" className="table" key={item.id}>
<tr>
<th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th>
<td width='380'><div style={{ display: 'flex' }}><div>{item.trueName || '-'}</div><div className="title-personRemark">自然人</div></div></td>
@@ -65,7 +65,7 @@
return (
<>
{agentDialog?.map((item, index) => (
- <table border="1" align="center" cellpadding="6" className="table" style={{ marginTop: '20px', marginBottom: '20px' }}>
+ <table border="1" align="center" cellpadding="6" className="table" style={{ marginTop: '20px', marginBottom: '20px' }} key={item.id}>
<tr>
<th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th>
<td width='380'><div style={{ display: 'flex' }}><div>{item.trueName || '-'}</div><div className="title-personRemark">代理人</div></div></td>
@@ -129,7 +129,7 @@
return (
<>
{respondent?.map((item, index) => (
- <table border="1" align="center" cellpadding="6" className="table" style={{ marginTop: '20px', marginBottom: '20px' }}>
+ <table border="1" align="center" cellpadding="6" className="table" style={{ marginTop: '20px', marginBottom: '20px' }} key={item.id}>
<tr>
<th bgcolor="#F7F8FA" className="table-title" width="120">企业名称</th>
<td width='380'><div style={{ display: 'flex' }}><div>{item.trueName}</div><div className="title-personRemark">{item.perClassName}</div></div></td>
@@ -175,7 +175,7 @@
return (
<>
{company?.map((item, index) => (
- <table border="1" align="center" cellpadding="6" className="table" style={{ marginTop: '20px', marginBottom: '20px' }}>
+ <table border="1" align="center" cellpadding="6" className="table" style={{ marginTop: '20px', marginBottom: '20px' }} key={item.id}>
<tr>
<th bgcolor="#F7F8FA" className="table-title" width="120">机构名称</th>
<td width='380'><div style={{ display: 'flex' }}><div>{item.trueName}</div><div className="title-personRemark">{item.perClassName}</div></div></td>
diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
index 46ee2b8..0a883e8 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -390,7 +390,8 @@
<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}
onConfirm={handleConfirm}
--
Gitblit v1.8.0