From a7cba2f05df12ab546ef1c20b63aad10ec0e7a5c Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Fri, 30 Aug 2024 16:45:54 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh --- gz-customerSystem/src/views/register/visit/component/handle.jsx | 297 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 186 insertions(+), 111 deletions(-) diff --git a/gz-customerSystem/src/views/register/visit/component/handle.jsx b/gz-customerSystem/src/views/register/visit/component/handle.jsx index 0d8e7db..620a5fc 100644 --- a/gz-customerSystem/src/views/register/visit/component/handle.jsx +++ b/gz-customerSystem/src/views/register/visit/component/handle.jsx @@ -1,126 +1,201 @@ import React, { useState } from 'react'; -import { Steps, Button } from '@arco-design/web-react'; -import { Col, Space, Row, Tooltip } from 'antd'; +import { Steps } from '@arco-design/web-react'; +import { Col, Space, Row, Tooltip, Button } from 'antd'; import { register, empty } from '../../../../assets/images' -import { Form, Select, Empty } from '@arco-design/web-react'; +import { Form, Input, Empty, Tabs, Typography, Modal } from '@arco-design/web-react'; import { question1, } from '@/assets/images'; +import ProgressStep from '../../../../components/ProgressStep/VisitStep' +import SelectObjModal from '../../../../components/SelectObjModal/selectPerson' +import WantUserTag from '../../../../components/WantUserTag/Handling' -const Option = Select.Option; +const InputSearch = Input.Search; const FormItem = Form.Item; +const TabPane = Tabs.TabPane; + +const style = { + textAlign: 'center', + marginTop: 20, +}; + const Handle = () => { - const [current, setCurrent] = useState(3); - const Step = Steps.Step; + const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab + const [wantUser, setWantUser] = useState({}); + const tabs = [ + { index: '1', label: '承办部门' }, + { index: '2', label: '配合部门' }, + ]; - return ( - <> - <div className='steps'> - <Steps type='navigation' current={current} onChange={setCurrent} style={{}}> - <Step title='来访登记' disabled /> - <Step title='事件流转' disabled /> - <Step title='办理反馈' disabled /> - <Step title='结案审核' disabled /> - <Step title='当事人评价' disabled /> - <Step title='结案归档' disabled /> - </Steps> - </div> - <div className='container'> - <div className='container-top'> - <Col span={24}> - <Space size='small'> - <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5> - </Space> - </Col> - <Row gutter={[16, 16]}> - <Col span={8} style={{ display: 'flex' }}> - <div><div className="title-text">承办部门:</div></div> - <div>天河区棠下街综治中心</div> - </Col> - <Col span={8} style={{ display: 'flex' }}> - <div><div className="title-text">经办人:</div></div> - <div style={{ display: 'flex' }}> - <div>王一顺</div> - <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} /> - </div> - </Col> - <Col span={8} style={{ display: 'flex' }}> - <div><div className="title-text">配合部门:</div></div> - <div>-</div> - </Col> - <Col span={8} style={{ display: 'flex' }}> - <div><div className="title-text">受理时间:</div></div> - <div>2024-7-5 11:45</div> - </Col> - </Row> + const [isModalVisible, setIsModalVisible] = useState(false); + const showModal = () => { + setIsModalVisible(true); + }; + + const hideModal = () => { + setIsModalVisible(false); + }; + + const handleTabChange = (newTabIndex) => { + setSelectedTab(newTabIndex); + }; + + return ( + <> + <div className='container'> + <div className='container-top'> + <Col span={24}> + <Space size='small'> + <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5> + </Space> + </Col> + <Row gutter={[16, 16]}> + <Col span={8} style={{ display: 'flex' }}> + <div><div className="title-text">承办部门:</div></div> + <div>天河区棠下街综治中心</div> + </Col> + <Col span={8} style={{ display: 'flex' }}> + <div><div className="title-text">经办人:</div></div> + <div style={{ display: 'flex' }}> + <div>王一顺</div> + <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} /> + </div> + </Col> + <Col span={8} style={{ display: 'flex' }}> + <div><div className="title-text">配合部门:</div></div> + <div>-</div> + </Col> + <Col span={8} style={{ display: 'flex' }}> + <div><div className="title-text">受理时间:</div></div> + <div>2024-7-5 11:45</div> + </Col> + </Row> + + </div> + + <div className='container-bottom'> + <div className='container-bottom-left'> + <Col span={24} style={{ marginBottom: '8px' }}> + <Space size='small'> + <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理反馈</h5> + </Space> + </Col> + <Form + layout='vertical' + requiredSymbol={false} + scrollToFirstError={true} + > + <Col span={8}> + <FormItem label={<div style={{ display: 'flex' }}> + <span style={{ color: '#86909C' }}>经办人</span> + <Tooltip> + <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} /> + </Tooltip> </div> - - <div className='container-bottom'> - <div className='container-bottom-left'> - <Col span={24} style={{ marginBottom: '8px' }}> - <Space size='small'> - <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>办理反馈</h5> - </Space> - </Col> - <Form - layout='vertical' - requiredSymbol={false} - scrollToFirstError={true} - > - <Row> - <Col span={8}> - <FormItem label={<div style={{ display: 'flex' }}> - <span style={{ color: '#86909C' }}>经办人</span> - <Tooltip> - <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} /> - </Tooltip> - </div> - } - field='level' > - <Select placeholder='请选择' allowClear> - {['一级', '二级', '三级', '四级'].map((option, index) => ( - <Option key={option} value={option}> - {option} - </Option> - ))} - - </Select> - <Button type='primary' style={{ position: 'absolute', right: 0 }}>保存</Button> - </FormItem> - </Col> - <Col span={24}> - <div style={{ color: 'rgb(134, 144, 156)' }}>办理记录</div> - <Empty - icon={ - <div - style={{ - display: 'flex', - // width: 160, - justifyContent: 'center', - }} - > - <img src={empty} alt='' style={{width:'160px',height:'160px'}}/> - </div> - } - description='暂无数据' - /> - </Col> - </Row> - </Form> - <Space> - <Button type="primary" style={{ backgroundColor: '#1A6FB8' }}>保存</Button> - <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} >预览</Button> - <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }}>提交</Button> - <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} >自行受理</Button> - <Button type='secondary'>返回上级页面</Button> - </Space> + } + field='level' > + {wantUser.wantUserId ? + <WantUserTag name={wantUser.wantUserName} onClose={() => setWantUser({ wantUserId: null, wantUserName: null })} /> + : + <InputSearch + searchButton='选择' + placeholder='请选择' + style={{ width: 350 }} + onClick={() => setIsModalVisible(true)} + onSearch={() => setIsModalVisible(true)} + /> + } + </FormItem> + </Col> + <Col span={24}> + <div style={{ color: 'rgb(134, 144, 156)' }}>办理记录</div> + <Empty + icon={ + <div + style={{ + display: 'flex', + // width: 160, + justifyContent: 'center', + }} + > + <img src={empty} alt='' style={{ width: '160px', height: '160px' }} /> </div> - <div className='container-bottom-right'>22</div> - </div> - </div> - </> - ) + } + description='暂无数据' + /> + </Col> + </Form> + <Space> + <Button type="primary" style={{ backgroundColor: '#1A6FB8' }}>添加办理记录</Button> + <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} >结案申请</Button> + <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }}>联合处置申请</Button> + <Button type='secondary'>返回上级页面</Button> + </Space> + </div> + <div className='container-bottom-right'> + <Tabs defaultActiveTab='1' className='tabs-container' > + <TabPane + key='1' + title={ + <span style={{ fontSize: '15px' }}> + 流转进度 + </span> + } + > + <Typography.Paragraph> + <div style={{ display: 'flex', marginLeft: '16px', gap: '16px' }}> + {tabs.map((tab) => ( + <div + key={tab.index} + style={{ + color: selectedTab === tab.index ? 'rgba(26,111,184,1)' : 'rgba(0,0,0,0.45)', + padding: '6px 12px', + border: `1px solid ${selectedTab === tab.index ? 'rgba(26,111,184,1)' : 'rgba(229,230,235,1)'}`, + borderRadius: '4px', + cursor: 'pointer', + }} + onClick={() => handleTabChange(tab.index)} + > + {tab.label} + </div> + ))} + </div> + {selectedTab === '1' && + <div className='progress'> + <ProgressStep caseId='202408291012566613' pageFrom="dispatchRecord" /> + </div> + } + </Typography.Paragraph> + </TabPane> + <TabPane + key='2' + title={ + <span style={{ fontSize: '15px' }}> + 督办信息 + </span> + } + > + <Typography.Paragraph style={style}>Content of Tab Panel 2</Typography.Paragraph> + </TabPane> + </Tabs> + + </div> + </div> + + {/* 选择经办人*/} + <SelectObjModal + visible={isModalVisible} + checkKeys={wantUser.wantUserId ? [{ label: wantUser.wantUserName, value: wantUser.wantUserId }] : undefined} + onOk={(value) => { + setIsModalVisible(false); + setWantUser({ wantUserId: value.keys[0], wantUserName: value.items[0].name }); + }} + onClose={() => setIsModalVisible(false)} + /> + </div> + </> + ) } -- Gitblit v1.8.0