From 42ad61a075d8a3c32949d83bf40acc53b2da25b1 Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Fri, 13 Sep 2024 20:53:35 +0800
Subject: [PATCH] fix: 修改预览的文件回显bug

---
 gz-customerSystem/src/views/register/visit/index.jsx |  382 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 206 insertions(+), 176 deletions(-)

diff --git a/gz-customerSystem/src/views/register/visit/index.jsx b/gz-customerSystem/src/views/register/visit/index.jsx
index e17a256..0002a87 100644
--- a/gz-customerSystem/src/views/register/visit/index.jsx
+++ b/gz-customerSystem/src/views/register/visit/index.jsx
@@ -2,7 +2,7 @@
  * @Author: dminyi 1301963064@qq.com
  * @Date: 2024-08-09 09:59:43
  * @LastEditors: dminyi 1301963064@qq.com
- * @LastEditTime: 2024-09-10 23:47:48
+ * @LastEditTime: 2024-09-12 14:39:18
  * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx
  * @Description: 来访登记
  */
@@ -21,206 +21,236 @@
 const Step = Steps.Step;
 
 function saveDispute(data) {
-  return $$.ax.request({ url: `casedraftInfo/caseDraftRegister`, type: 'post', service: 'mediate', data });
+	return $$.ax.request({ url: `casedraftInfo/caseDraftRegister`, type: 'post', service: 'mediate', data });
 }
 
 function getId() {
-  return $$.ax.request({ url: `caseUtils/getNewTimeCaseId`, type: 'get', service: 'utils' });
+	return $$.ax.request({ url: `caseUtils/getNewTimeCaseId`, type: 'get', service: 'utils' });
 }
 
 function submitDispute(data) {
-  return $$.ax.request({ url: `caseInfo/caseRegister`, type: 'post', service: 'mediate', data });
+	return $$.ax.request({ url: `caseInfo/caseRegister`, type: 'post', service: 'mediate', data });
 }
 
 function getDetailData(id) {
-  return $$.ax.request({ url: `casedraftInfo/getCasedraftInfo?id=${id}`, type: 'get', service: 'mediate' });
+	return $$.ax.request({ url: `casedraftInfo/getCasedraftInfo?id=${id}`, type: 'get', service: 'mediate' });
 }
 
 
 const Organization = (props) => {
-  const formRef = useRef();
-  const routeData = useParams();
-  const navigate = useNavigate();
-  const [isReview, setIsReview] = useState(false);//预览页面控制
-  const [current, setCurrent] = useState(1);
-  const [id, setId] = useState();
-  const [editData, setEditData] = useState({});//回显数据
+	const formRef = useRef();
+	const routeData = useParams();
+	const navigate = useNavigate();
+	const [isReview, setIsReview] = useState(false);//预览页面控制
+	const [current, setCurrent] = useState(1);
+	const [id, setId] = useState();
+	const [editData, setEditData] = useState({});//回显数据
 
-  useEffect(() => {
-    if (routeData.id) {
-      getDeatil(routeData.id)
-      setId(routeData.id)
-    } else {
-      getAppId()
-    }
+	useEffect(() => {
+		if (routeData.id) {
+			getDeatil(routeData.id)
+			setId(routeData.id)
+		} else {
+			getAppId()
+		}
 
-  }, [])
+	}, [])
 
-  //编辑
-  const getDeatil = async (id) => {
-    const res = await getDetailData(id)
-    if (res.type) {
-      const { agentList, personList, ...rest } = res.data
-      const parList = agentList.concat(personList)
-      const obj = {
-        ...rest,
-        fakeData: parList,
-        myCaseType: [rest.caseTypeFirst, rest.caseType],
-        myQuesAddress: rest.queRoad ? [rest.queProv, rest.queCity, rest.queArea, rest.queRoad] : undefined
-      }
-      formRef.current.setFieldsValue(obj)
-      setEditData(obj)
-    }
-  }
+	//编辑
+	const getDeatil = async (id) => {
+		const res = await getDetailData(id)
+		if (res.type) {
+			const { agentList, personList, ...rest } = res.data
+			const parList = agentList.concat(personList)
+			const newParList = parList?.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
+				}
+			}) || []
+			const obj = {
+				...rest,
+				fakeData: newParList,
+				myCaseType: [rest.caseTypeFirst, rest.caseType],
+				myQuesAddress: rest.queRoad ? [rest.queProv, rest.queCity, rest.queArea, rest.queRoad] : undefined
+			}
+			formRef.current.setFieldsValue(obj)
+			setEditData(obj)
+		}
+	}
 
-  //获取id
-  const getAppId = async () => {
-    const res = await getId()
-    if (res.type) {
-      setId(res.data)
-    }
-  }
+	//获取id
+	const getAppId = async () => {
+		const res = await getId()
+		if (res.type) {
+			setId(res.data)
+		}
+	}
 
-  //提交信息,需要校验规则
-  const handleSubmit = async () => {
-    if (formRef.current) {
-      formRef.current.validate(undefined, (errors, values) => {
-        if (!errors) {
-          const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields()
-          const params = handleData(rest)
-          $$.modalInfo({
-            title: '提醒',
-            content: '确定提交吗?',
-            cancelText: '我再想想',
-            onOk: () => {
-              reauestSubmit({
-                ...params,
-                isSelfAccept: 0,
-                isDraft: 0,
-                operateType: 0,
-              })
-            },
-          });
-        }
-      });
-    }
-  }
+	//提交信息,需要校验规则
+	const handleSubmit = async () => {
+		if (formRef.current) {
+			formRef.current.validate(undefined, (errors, values) => {
+				if (!errors) {
+					const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields()
+					const params = handleData(rest)
+					$$.modalInfo({
+						title: '提醒',
+						content: '确定提交吗?',
+						cancelText: '我再想想',
+						onOk: () => {
+							reauestSubmit({
+								...params,
+								isSelfAccept: 0,
+								isDraft: 0,
+								operateType: 0,
+							})
+						},
+					});
+				}
+			});
+		}
+	}
 
-  //保存草稿信息,不需要校验规则
-  const handleSave = () => {
-    if (formRef.current) {
-      const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields()
-      const params = handleData(rest)
-      requestSave(params)
-    }
-  }
+	//保存草稿信息,不需要校验规则
+	const handleSave = () => {
+		if (formRef.current) {
+			const { myCaseType, myQuesAddress, ...rest } = formRef.current.getFields()
+			const params = handleData(rest)
+			requestSave(params)
+		}
+	}
 
-  //数据处理
-  const handleData = (data) => {
-    const { fakeData, ...newObj } = data
-    if (data.id) {
-      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").map(item => {
-          return {
-            ...item,
-            personId: item.personId.join(',')
-          }
-        }),
-      }
-    } else {
-      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").map(item => {
-          return {
-            ...item,
-            personId: item.personId.join(',')
-          }
-        }),
-        id: id
-      }
-    }
-  }
+	//数据处理
+	const handleData = (data) => {
+		const { fakeData, ...newObj } = data
+		if (data.id) {
+			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").map(item => {
+					return {
+						...item,
+						personId: item.personId.join(',')
+					}
+				}),
+			}
+		} else {
+			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").map(item => {
+					return {
+						...item,
+						personId: item.personId.join(',')
+					}
+				}),
+				id: id
+			}
+		}
+	}
 
-  //预览信息
-  const handleReview = () => {
-    setIsReview(!isReview)
-  }
+	//预览信息
+	const handleReview = () => {
+		setIsReview(!isReview)
+	}
 
-  function selfAcceptance() {
-    $$.modalInfo({
-      title: '自行受理确认',
-      content: '确定自行受理吗?',
-      okText: '确定受理',
-      cancelText: '我再想想',
-      onOk: async () => {
-        setCurrent(3);
-        navigate(`mediate/visit/handleFeedback`, { replace: true })
-      },
-    });
-  }
+	function selfAcceptance() {
+		$$.modalInfo({
+			title: '自行受理确认',
+			content: '确定自行受理吗?',
+			okText: '确定受理',
+			cancelText: '我再想想',
+			onOk: async () => {
+				setCurrent(3);
+				navigate(`mediate/visit/handleFeedback`, { replace: true })
+			},
+		});
+	}
 
-  //保存请求
-  const requestSave = async (data) => {
-    const response = await saveDispute(data)
-    if (response.type) {
-      Message.success('保存草稿成功!')
-    }
-  }
+	//保存请求
+	const requestSave = async (data) => {
+		const response = await saveDispute(data)
+		if (response.type) {
+			Message.success('保存草稿成功!')
+		}
+	}
 
-  //提交请求
-  const reauestSubmit = async (data) => {
-    const response = await submitDispute(data)
-    if (response.type) {
-      Message.success('提交成功!')
-      navigate(`/mediate/visit/visitWorkBench`, { replace: true })
-      setCurrent(2)
-    }
-  }
+	//提交请求
+	const reauestSubmit = async (data) => {
+		const response = await submitDispute(data)
+		if (response.type) {
+			Message.success('提交成功!')
+			navigate(`/mediate/visit/visitWorkBench`, { replace: true })
+			setCurrent(2)
+		}
+	}
 
-  return (
-    <div style={{ position: 'relative' }}>
-      <NewPage
-        pageHead={
-          { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' }
-        }
-      >
-        <Fragment>
-          <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
-            <Steps type='navigation' current={current}>
-              <Step title='来访登记' disabled />
-              <Step title='事件流转' disabled />
-              <Step title='办理反馈' disabled />
-              <Step title='结案审核' disabled />
-              <Step title='当事人评价' disabled />
-              <Step title='结案归档' disabled />
-            </Steps>
-          </div>
-          <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', display: isReview ? '' : 'none' }}>
-            <Preview style={{ display: isReview ? '' : 'none' }} data={formRef?.current?.getFields()} mainId={id} />
-          </div>
-          <VisitorRegister
-            formRef={formRef}
-            style={{ display: isReview ? 'none' : '' }}
-            mainId={id}
-            partyList={editData.fakeData}
-            fileInfoList={editData.fileInfoList}
-          />
-          <div className="dataSync-excel">
-            <Space size="large" style={{ margin: '4px 14px' }}>
-              <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={handleSave} >保存</Button>
-              <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleReview}>{isReview ? '修改' : '预览'}</Button>
-              <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleSubmit}>提交</Button>
-              <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => selfAcceptance()}>自行受理</Button>
-              <Button type='secondary' onClick={handleReview}>返回上级页面</Button>
-            </Space>
-          </div>
-        </Fragment>
-      </NewPage>
-    </div>
-  )
+	return (
+		<div style={{ position: 'relative' }}>
+			<NewPage
+				pageHead={
+					{ breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' }
+				}
+			>
+				<Fragment>
+					<div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
+						<Steps type='navigation' current={current}>
+							<Step title='来访登记' disabled />
+							<Step title='事件流转' disabled />
+							<Step title='办理反馈' disabled />
+							<Step title='结案审核' disabled />
+							<Step title='当事人评价' disabled />
+							<Step title='结案归档' disabled />
+						</Steps>
+					</div>
+					<div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 82px 16px', height: 'calc(100vh - 231px)', overflowY: 'scroll', display: isReview ? '' : 'none' }}>
+						<Preview style={{ display: isReview ? '' : 'none' }} data={formRef?.current?.getFields()} mainId={id} />
+					</div>
+					<VisitorRegister
+						formRef={formRef}
+						style={{ display: isReview ? 'none' : '' }}
+						mainId={id}
+						partyList={editData.fakeData}
+						fileInfoList={editData.fileInfoList}
+					/>
+					<div className="dataSync-excel">
+						<Space size="middle" style={{ margin: '4px 14px' }}>
+							<Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={handleSave} >保存</Button>
+							<Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleReview}>{isReview ? '修改' : '预览'}</Button>
+							<Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={handleSubmit}>提交</Button>
+							<Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} onClick={() => selfAcceptance()}>自行受理</Button>
+							<Button type='secondary' onClick={() => { navigate(-1) }}>返回上级页面</Button>
+						</Space>
+					</div>
+				</Fragment>
+			</NewPage>
+		</div>
+	)
 }
 
 export default Organization;
\ No newline at end of file

--
Gitblit v1.8.0