From a54284270f39f155960e7bd9d0921e7b204ccdae Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Tue, 03 Sep 2024 11:31:31 +0800
Subject: [PATCH] feat: 事件流转回退弹窗、文件样式调整
---
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx | 124 ++++++++++++++++++++++++++++-------------
1 files changed, 84 insertions(+), 40 deletions(-)
diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
index 1a2c4f0..3419f2f 100644
--- a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -1,21 +1,29 @@
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 {
- IconLink,
-} from '@arco-design/web-react/icon';
+import KeyVisits from "@/components/personCard/KeyVisits";
import * as $$ from '@/utils/utility';
+import ArcoUpload from '@/components/ArcoUpload';
const FormItem = Form.Item;
const Option = Select.Option;
const InputSearch = Input.Search;
const RadioGroup = Radio.Group;
const CheckboxGroup = Checkbox.Group;
+const appUrl = $$.appUrl;
+
+function getId() {
+ return $$.ax.request({ url: `caseUtils/getNewTimeId`, type: 'get', service: 'utils' });
+}
+
+function delFile(id) {
+ return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
+}
export default function AgentDialog(props) {
const formRef = useRef();
const [visitList, setVisitList] = useState([])
+ const [id, setId] = useState()
useEffect(() => {
if (props.editData) {
@@ -23,7 +31,6 @@
formRef.current.setFieldsValue({
...props.editData
})
- console.log(props);
//过滤代理人
setVisitList(props.fakeData.filter(item => {
if (props.editData.perType === '24_00006-1') {
@@ -41,8 +48,18 @@
return item.perType === '15_020008-2'
}
}))
+ //获取id
+ getAppId()
}
}, [])
+
+ //获取id
+ const getAppId = async () => {
+ const res = await getId()
+ if (res.type) {
+ setId(res.data)
+ }
+ }
//保存信息
const handleSave = () => {
@@ -53,17 +70,39 @@
if (props.editData) {
props.handleAddParty({
...fieldValue
- })
+ }, true)
} else {
props.handleAddParty({
...fieldValue,
perType: props.dialogType,
perTypeName: $$.options.personType.find(item => item.value === props.dialogType).label,
- })
+ id: id
+ }, false)
}
props.onClose()
}
});
+ }
+ }
+
+ //上传身份证识别
+ const handleChangeFile = (data) => {
+ if (data.data && data.data.length != 0) {
+ if (data.data[0].idcardOcrResult) {
+ const { birthday, ...rest } = data.data[0].idcardOcrResult
+ //回填信息
+ formRef.current.setFieldsValue({
+ ...rest
+ })
+ }
+ }
+ }
+
+ //删除文件
+ const handleDelFile = async (id) => {
+ const res = await delFile(id)
+ if (res.type) {
+ $$.infoSuccess({ content: '删除成功!' });
}
}
@@ -81,40 +120,27 @@
scrollToFirstError
>
<Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
- <Col span={24}>
- <FormItem
- label='身份证明材料'
+ <Col span={24} className="doubleFile">
+ <ArcoUpload
+ params={{
+ action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
+ }}
field='file'
- >
- <Upload
- drag
- multiple
- accept='image/*'
- action='/'
- onDrop={(e) => {
- }}
- tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
- showUploadList={{
- fileIcon: <IconLink style={{ color: '#1D2129' }} />,
- }}
- />
- </FormItem>
+ handleChangeFile={handleChangeFile}
+ label='身份证明材料'
+ editData={props.editData}
+ handleDelFile={handleDelFile}
+ />
</Col>
- <Col span={24}>
- <FormItem
- label='代理人委托书'
+ <Col span={24} className="doubleFile">
+ <ArcoUpload
+ params={{
+ action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
+ }}
field='file1'
- >
- <Upload
- drag
- multiple
- accept='image/*'
- action='/'
- onDrop={(e) => {
- }}
- tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
- />
- </FormItem>
+ label='代理人委托书'
+ editData={props.editData}
+ />
</Col>
<Col span={12}>
<FormItem
@@ -241,7 +267,7 @@
<Select
placeholder='请选择'
allowClear
- options={$$.options.agentType}
+ options={$$.options.agentRelate}
onChange={(value, options) => {
formRef.current.setFieldValue('agentRelateName', options && options.children)
}}
@@ -275,6 +301,12 @@
label: <span>{x.trueName} <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>
@@ -297,7 +329,19 @@
>
保存
</Button>
- <Button className="dialogBack">
+ <Button
+ className="dialogBack"
+ onClick={() => {
+ if (props.editData) {
+ formRef.current.resetFields();
+ formRef.current.setFieldsValue({
+ ...props.editData
+ })
+ } else {
+ formRef.current.resetFields();
+ }
+ }}
+ >
重置
</Button>
</div>
--
Gitblit v1.8.0