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