From 421682641d0bdf37c722c0abf894b1bdb71f54a2 Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Thu, 15 Aug 2024 18:12:15 +0800
Subject: [PATCH] feat:添加申请方弹窗静态
---
gz-customerSystem/src/views/register/visit/component/applyDialog.jsx | 140 ++++++++++++++++
gz-customerSystem/src/views/register/visit/component/keyVisits.jsx | 174 +++++++++++++++++++++
gz-customerSystem/src/views/register/index.less | 37 ++++
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx | 125 +++++++--------
gz-customerSystem/src/components/personCard/index.jsx | 2
5 files changed, 406 insertions(+), 72 deletions(-)
diff --git a/gz-customerSystem/src/components/personCard/index.jsx b/gz-customerSystem/src/components/personCard/index.jsx
index 11c098c..987bdae 100644
--- a/gz-customerSystem/src/components/personCard/index.jsx
+++ b/gz-customerSystem/src/components/personCard/index.jsx
@@ -57,7 +57,7 @@
}
<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' }}>{item.label}</div>
+ <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>
diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 2e34353..ece0f13 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -128,6 +128,41 @@
.applyDialog {
.dialogTitle {
margin-bottom: 8px;
- padding-left: 8px;
+ padding-left: 8px;
+ }
+
+ .dialogTag {
+ line-height: 22px;
+ padding: 0 8px;
+ border-radius: 4px;
+ margin-top: 4px;
+ color: #fff;
+ }
+}
+
+.visitTableClass {
+ color: #1A6FB8;
+
+ .ant-table-thead>tr>th {
+ color: #fff;
+ background-color: #1a6fb8 !important;
+ }
+
+ .ant-table-tbody>tr>td {
+ background-color: #f2f3f5;
+ }
+
+ .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th {
+ border-right: 1px solid rgba(0,0,0,0.2);
+ border-bottom: 1px solid rgba(0,0,0,0.2);
+ }
+
+ .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td {
+ border-right: 1px solid rgba(0,0,0,0.2);
+ border-bottom: 1px solid rgba(0,0,0,0.2);
+ }
+
+ .ant-table.ant-table-bordered > .ant-table-container {
+ border-left: 1px solid rgba(0,0,0,0.2);
}
}
\ No newline at end of file
diff --git a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
index 5e0e010..78003e0 100644
--- a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
@@ -1,6 +1,6 @@
import React, { useState, useEffect, useRef, Fragment } from "react";
import * as $$ from '../../../../utils/utility';
-import { Row, Col } from 'antd';
+import { Row, Col, Space } from 'antd';
import {
CheckOutlined,
} from '@ant-design/icons';
@@ -13,14 +13,17 @@
caseperfection_organize_active,
} from '../../../../assets/images/icon';
import { Form, Input, Button, Radio, Select, DatePicker, Cascader, Upload, Message } from '@arco-design/web-react';
+import KeyVisits from "./keyVisits";
const FormItem = Form.Item;
const Option = Select.Option;
const InputSearch = Input.Search;
+const RadioGroup = Radio.Group;
export default function ApplyDialog(props) {
const formRef = useRef();
- const [perClass, setPerClass] = useState('09_01001-1')
+ const [perClass, setPerClass] = useState('09_01001-1');
+
const personIconType = (v) => {
switch (v) {
@@ -51,7 +54,7 @@
action='/'
onDrop={(e) => {
}}
- tip='Only pictures can be uploaded'
+ tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
/>
</FormItem>
</Col>
@@ -115,7 +118,7 @@
<Col span={12}>
<FormItem
label='民族'
- field='民族'
+ field='minzu'
>
<Select placeholder='请选择' allowClear>
{['汉族',].map((option, index) => (
@@ -126,14 +129,136 @@
</Select>
</FormItem>
</Col>
+ <Col span={12}>
+ <FormItem
+ label='性别'
+ field='sex'
+ >
+ <RadioGroup
+ type='button'
+ >
+ <Radio value='0'>男</Radio>
+ <Radio value='1'>女</Radio>
+ </RadioGroup>
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem
+ label='是否极具个人极端倾向'
+ field='isBad'
+ >
+ <RadioGroup>
+ <Radio value='0'>否</Radio>
+ <Radio value='1'>是</Radio>
+ </RadioGroup>
+ </FormItem>
+ </Col>
+ </>
+ )
+ } else {
+ //法人、非法人组织
+ return (
+ <>
+ <Col span={24}>
+ <FormItem
+ label='企业登记材料'
+ field='file'
+ >
+ <Upload
+ drag
+ multiple
+ accept='image/*'
+ action='/'
+ onDrop={(e) => {
+ }}
+ tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+ />
+ </FormItem>
+ </Col>
+ <Col span={24}>
+ <FormItem
+ label='法定代表人身份证明材料'
+ field='file1'
+ >
+ <Upload
+ drag
+ multiple
+ accept='image/*'
+ action='/'
+ onDrop={(e) => {
+ }}
+ tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+ />
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem
+ label='企业名称'
+ rules={[{ required: true }]}
+ field='peopleNumber'
+ >
+ <InputSearch
+ searchButton='选择'
+ placeholder='请填写'
+ />
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem label='联系方式' field='money'>
+ <Input placeholder='请填写' />
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem label='企业所在地' field='money'>
+ <Input placeholder='请填写' />
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem label='统一社会信用代码' field='money'>
+ <Input placeholder='请填写' />
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem label='法定代表人' field='money'>
+ <Input placeholder='请填写' />
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem
+ label='企业类型'
+ field='minzu'
+ >
+ <Select placeholder='请选择' allowClear>
+ {['餐饮服务',].map((option, index) => (
+ <Option key={option} value={option}>
+ {option}
+ </Option>
+ ))}
+ </Select>
+ </FormItem>
+ </Col>
+ <Col span={12}>
+ <FormItem label='住所' field='money'>
+ <Input placeholder='请填写' />
+ </FormItem>
+ </Col>
</>
)
}
}
+ //保存信息
+ const handleSave = () => {
+ if (formRef.current) {
+ formRef.current.validate(undefined, (errors, values) => {
+ console.log(errors, values);
+ });
+ }
+ }
+
return (
<div className="applyDialog">
- <div>
+ <div style={{ height: '590px', overflowY: 'scroll' }}>
<div className="dialogTitle">当事人类型</div>
<Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}>
{$$.options.personClass.map((x, t) => {
@@ -167,11 +292,16 @@
</Form>
</Col>
</Row>
+ {/* 重复来访重点人员 */}
+ <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
+ <KeyVisits />
+ </div>
</div>
<div className='dialogFooter'>
<Button
type="primary"
className="dialogPrimary"
+ onClick={handleSave}
>
保存信息
</Button>
diff --git a/gz-customerSystem/src/views/register/visit/component/keyVisits.jsx b/gz-customerSystem/src/views/register/visit/component/keyVisits.jsx
new file mode 100644
index 0000000..ed4cb16
--- /dev/null
+++ b/gz-customerSystem/src/views/register/visit/component/keyVisits.jsx
@@ -0,0 +1,174 @@
+import React, { useState, useEffect, useRef, Fragment } from "react";
+import { Row, Col, Space } from 'antd';
+import TableView from '../../../../components/TableView';
+
+export default function KeyVisits(props) {
+ const tagList = [{ label: '精神障碍', color: '#C64FBE' }, { label: '吸毒', color: '#D8A247' }, { label: '社区矫正', color: '#B82F6E' }, { label: '刑满释放', color: '#199C8F' }, { label: '流浪', color: '#3ECB7A' }, { label: '重点青少年', color: '#117AC1' }, { label: '涉稳涉访', color: '#6865D7' }, { label: '潜在风险', color: '#2661CE' }]
+ const visitMap = {
+ visitTotal: 12,
+ channelList: [
+ {
+ name: '综治中心',
+ number: 3
+ },
+ {
+ name: '信访',
+ number: 4
+ },
+ {
+ name: '网格',
+ number: 2
+ },
+ {
+ name: '12345热线',
+ number: 3
+ },
+ ],
+ identityList: [
+ {
+ name: '申请方当事人',
+ number: 3
+ },
+ {
+ name: '被申请方当事人',
+ number: 8
+ },
+ {
+ name: '被申请方代理人',
+ number: 1
+ },
+ ]
+ }
+
+ const fakeData1 = [
+ {
+ id: 1,
+ caseNo: 'A20230101',
+ judicNo: 'J20230101',
+ perClassName: '自然人',
+ inputUserName: '张三',
+ mediateUserName: '李四',
+ judgeName: '王五',
+ mediator: '赵六',
+ handlerUserName: '钱七',
+ returnUserName: '孙八',
+ expireTime: '2023-08-10T08:00:00.000Z',
+ processName: '进行中',
+ otherMediator: '周九',
+ canalName: '网络',
+ judicResult: '通过',
+ assistName: '吴十',
+ mediTypeName: '民事调解',
+ serieStatus: '1', // 1 表示非系列案,2 表示系列案
+ // 更多字段...
+ },
+ // 更多数据...
+ ];
+
+ // 列配置
+ const fakeColumns = [
+ {
+ title: '来访时间',
+ dataIndex: 'expireTime',
+ key: 'expireTime',
+ defaultSortOrder: 'descend',
+ width: 180,
+ sorter: (a, b) => a.age - b.age,
+ },
+ {
+ title: '渠道',
+ dataIndex: 'judicNo',
+ key: 'judicNo',
+ },
+ {
+ title: '事项状态',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '化解结果',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '事件类型',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '问题属地',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '事项来源',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '事项等级',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '申请方',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '被申请方',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ },
+ {
+ title: '操作',
+ dataIndex: 'perClassName',
+ key: 'perClassName',
+ width: 120,
+ fixed: 'right',
+ render: (text) => (
+ <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}>
+ <div>详情</div>
+ </div>
+ )
+ },
+ ];
+ return (
+ <div>
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' ></div><span style={{ fontWeight: '600' }}>重点人员标签</span>
+ </Space>
+ </Col>
+ <Space style={{ marginBottom: '20px' }}>
+ {tagList?.map((item, index) => (
+ <div key={index} className="dialogTag" style={{ backgroundColor: item.color }}>{item.label}</div>
+ ))}
+ </Space>
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' ></div><span style={{ fontWeight: '600' }}>重复来访记录</span>
+ </Space>
+ </Col>
+ <div style={{marginBottom: '16px'}}>
+ <div><span>来访总数: </span><span style={{ color: '#1a6fb8' }}>{visitMap.visitTotal}</span> 次</div>
+ <div><span>来访渠道: </span>{visitMap.channelList.map((item, index) => {
+ return <span>{index !== 0 && '、'}{item.name}<span style={{ color: '#1a6fb8' }}>{item.number}</span>次</span>
+ })}</div>
+ <div><span>来访身份:</span>{visitMap.identityList.map((item, index) => {
+ return <span>{index !== 0 && '、'}作为{item.name}:<span style={{ color: '#1a6fb8' }}>{item.number}</span>次</span>
+ })}</div>
+ </div>
+ <TableView
+ columns={fakeColumns}
+ dataSource={fakeData1}
+ size="small"
+ rowKey="id"
+ bordered={true}
+ style={{ marginBottom: '60px' }}
+ className='visitTableClass'
+ scroll={{ x: 1300 }}
+ />
+ </div>
+ )
+}
diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
index 428a66d..313efeb 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -21,76 +21,71 @@
const VisitorRegister = (props) => {
const [dialogType, setDialogType] = useState(0);//添加当事人的类型
const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制
-
-
-
-
- const formRef = useRef();
+ const [fakeData, setFakeData] = useState([
+ // {
+ // id: 3,
+ // perClassName: '申请方当事人',
+ // trueName: '蓝海科技有限公司',
+ // mobile: '9144010188453Z',
+ // company: true,
+ // companyName: '张晓梅',//公司法人
+ // partyType: 'applicant',//申请人
+ // },
+ // {
+ // id: 1,
+ // perClassName: '申请方代理人',
+ // trueName: '王小明',
+ // mobile: '410106198802121125',
+ // person: true,
+ // personNumber: '13388888888',//联系方式
+ // partyType: 'applicant',
+ // },
+ // {
+ // id: 2,
+ // perClassName: '被申请方当事人',
+ // trueName: '大海科技有限公司',
+ // mobile: '13800000002',
+ // company: true,
+ // companyName: '郭小聪',//公司法人
+ // partyType: 'respondent',//被申请方
+ // remark: [{ label: '精神障碍', color: '#C64FBE' }, { label: '吸毒', color: '#D8A247' }, { label: '社区矫正', color: '#B82F6E' }, { label: '刑满释放', color: '#199C8F' }, { label: '流浪', color: '#3ECB7A' }, { label: '重点青少年', color: '#117AC1' }, { label: '涉稳涉访', color: '#6865D7' }, { label: '潜在风险', color: '#2661CE' }]
+ // },
+ // {
+ // id: 2,
+ // perClassName: '被申请方代理人',
+ // trueName: '张三',
+ // mobile: '13800000002',
+ // person: true,
+ // personNumber: '13399999999',//联系方式
+ // partyType: 'respondent',
+ // remark: [{ label: '精神障碍', color: '#C64FBE' }]
+ // },
+ // {
+ // id: 2,
+ // perClassName: '被申请方代理人',
+ // trueName: '张三',
+ // mobile: '13800000002',
+ // person: true,
+ // personNumber: '13399999999',//联系方式
+ // partyType: 'respondent',
+ // remark: [{ label: '精神障碍', color: '#C64FBE' }]
+ // },
+ // {
+ // id: 2,
+ // perClassName: '被申请方代理人',
+ // trueName: '张三',
+ // mobile: '13800000002',
+ // person: true,
+ // personNumber: '13399999999',//联系方式
+ // partyType: 'respondent',
+ // remark: [{ label: '精神障碍', color: '#C64FBE' }]
+ // },
+ ]);//当事人信息数据
const [scanFile, setScanFile] = useState(false);
const [filesList, setFilesList] = useState([]);
const [scanImage, setScanImage] = useState(false);
const [scaned, setScaned] = useState(false);
const [upload, setUpLoad] = useState(false);
- const fakeData = [
- {
- id: 3,
- perClassName: '申请方当事人',
- trueName: '蓝海科技有限公司',
- mobile: '9144010188453Z',
- company: true,
- companyName: '张晓梅',//公司法人
- partyType: 'applicant',//申请人
- },
- {
- id: 1,
- perClassName: '申请方代理人',
- trueName: '王小明',
- mobile: '410106198802121125',
- person: true,
- personNumber: '13388888888',//联系方式
- partyType: 'applicant',
- },
- {
- id: 2,
- perClassName: '被申请方当事人',
- trueName: '大海科技有限公司',
- mobile: '13800000002',
- company: true,
- companyName: '郭小聪',//公司法人
- partyType: 'respondent',//被申请方
- remark: [{ label: '精神障碍', color: '#C64FBE' }, { label: '吸毒', color: '#D8A247' }, { label: '社区矫正', color: '#B82F6E' }, { label: '刑满释放', color: '#199C8F' }, { label: '流浪', color: '#3ECB7A' }, { label: '重点青少年', color: '#117AC1' }, { label: '涉稳涉访', color: '#6865D7' }, { label: '潜在风险', color: '#2661CE' }]
- },
- {
- id: 2,
- perClassName: '被申请方代理人',
- trueName: '张三',
- mobile: '13800000002',
- person: true,
- personNumber: '13399999999',//联系方式
- partyType: 'respondent',
- remark: [{ label: '精神障碍', color: '#C64FBE' }]
- },
- {
- id: 2,
- perClassName: '被申请方代理人',
- trueName: '张三',
- mobile: '13800000002',
- person: true,
- personNumber: '13399999999',//联系方式
- partyType: 'respondent',
- remark: [{ label: '精神障碍', color: '#C64FBE' }]
- },
- {
- id: 2,
- perClassName: '被申请方代理人',
- trueName: '张三',
- mobile: '13800000002',
- person: true,
- personNumber: '13399999999',//联系方式
- partyType: 'respondent',
- remark: [{ label: '精神障碍', color: '#C64FBE' }]
- },
- ];
const peopleMap = {
0: '申请方',
1: '被申请方',
--
Gitblit v1.8.0