From 463d13dd669905200aecb974cd65a251e83f4df7 Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Wed, 28 Aug 2024 17:37:56 +0800 Subject: [PATCH] 修改页面架构 --- gz-customerSystem/src/views/register/index.less | 2 gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx | 584 +++++++++++++++++------------------- gz-customerSystem/src/views/register/visit/index.jsx | 152 ++++---- gz-customerSystem/src/views/register/visit/component/handle.jsx | 202 +++++------ 4 files changed, 455 insertions(+), 485 deletions(-) diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less index 8ead686..ae1a332 100644 --- a/gz-customerSystem/src/views/register/index.less +++ b/gz-customerSystem/src/views/register/index.less @@ -267,7 +267,7 @@ .container { background-color: rgb(242, 243, 245); - height: calc(-281px + 100vh); + height: calc(-293px + 100vh); overflow-y: scroll; &-top { diff --git a/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx b/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx index 90c0514..4e346eb 100644 --- a/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx +++ b/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx @@ -20,321 +20,297 @@ const TabPane = Tabs.TabPane; const style = { - // textAlign: 'center', - // marginTop: 20, + // textAlign: 'center', + // marginTop: 20, }; -const MattersInfo = () => { +const MattersInfo = (props) => { - const [fakeData, setFakeData] = useState([]);//当事人信息数据 - const [agentVisible, setAgentVisible] = useState(false); - const [dialogType, setDialogType] = useState(0);//添加当事人的类型 - const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制 - const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制 - const [upload, setUpLoad] = useState(false); - const [filesCheck, setFilesCheck] = useState(false); - const [active, setActive] = useState('1') - const [current, setCurrent] = useState(3); - const Step = Steps.Step; + const [fakeData, setFakeData] = useState([]);//当事人信息数据 + const [agentVisible, setAgentVisible] = useState(false); + const [dialogType, setDialogType] = useState(0);//添加当事人的类型 + const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制 + const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制 + const [upload, setUpLoad] = useState(false); + const [filesCheck, setFilesCheck] = useState(false); + const Step = Steps.Step; - const fakeColumns = [ - { - title: '序号', - dataIndex: 'caseNo', - key: 'caseNo', - width: 100, - render: (text, record, index) => <span>{index + 1}</span>, - }, - { - title: '材料类型', - dataIndex: 'judicNo', - key: 'judicNo', - width: 60, + const fakeColumns = [ + { + title: '序号', + dataIndex: 'caseNo', + key: 'caseNo', + width: 100, + render: (text, record, index) => <span>{index + 1}</span>, + }, + { + title: '材料类型', + dataIndex: 'judicNo', + key: 'judicNo', + width: 60, - }, - { - title: '材料数量', - dataIndex: 'inputUserName', - key: 'perClassName', - width: 180, - render: (text) => ( - <> - {text}份 - </> - ) + }, + { + title: '材料数量', + dataIndex: 'inputUserName', + key: 'perClassName', + width: 180, + render: (text) => ( + <> + {text}份 + </> + ) - }, - { - title: '材料名称', - dataIndex: 'perClassName', - key: 'perClassName', - width: 180, + }, + { + title: '材料名称', + dataIndex: 'perClassName', + key: 'perClassName', + width: 180, - }, - { - title: '最新上传时间', - dataIndex: 'mediateUserName', - key: 'mediateUserName', - width: 180, + }, + { + title: '最新上传时间', + dataIndex: 'mediateUserName', + key: 'mediateUserName', + width: 180, - }, - { - title: '操作', - dataIndex: 'perClassName', - key: 'perClassName', - width: 200, - render: (text) => ( - <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}> - <div onClick={() => setFilesCheck(true)}>查看</div> - <div>删除</div> - <div>下载</div> - <div onClick={() => setUpLoad(true)}>上传</div> - </div> - ) - }, - // 更多列配置... - ]; - - const fakeData1 = [ - { - id: 1, - caseNo: 'A20230101', - judicNo: '申请材料', - perClassName: '李晓明的纠纷化解申请表、身份证...', - inputUserName: '0', - mediateUserName: '2024-7-12 12:00', - judgeName: '王五', - mediator: '赵六', - handlerUserName: '钱七', - returnUserName: '孙八', - expireTime: '2023-08-10T08:00:00.000Z', - processName: '进行中', - otherMediator: '周九', - canalName: '网络', - judicResult: '通过', - assistName: '吴十', - mediTypeName: '民事调解', - serieStatus: '1', // 1 表示非系列案,2 表示系列案 - // 更多字段... - }, - { - id: 2, - caseNo: 'A20230101', - judicNo: '证据材料', - perClassName: '李晓明的纠纷化解申请表、身份证...', - inputUserName: '0', - mediateUserName: '2024-7-12 12:00', - judgeName: '王五', - mediator: '赵六', - handlerUserName: '钱七', - returnUserName: '孙八', - expireTime: '2023-08-10T08:00:00.000Z', - processName: '进行中', - otherMediator: '周九', - canalName: '网络', - judicResult: '通过', - assistName: '吴十', - mediTypeName: '民事调解', - serieStatus: '1', // 1 表示非系列案,2 表示系列案 - // 更多字段... - }, - - // 更多数据... - ]; - - - //查看 - const handleCheckParty = (value) => { - console.log(value); - setDialogType(value.partyType) - setDetailVisabled(true) - } - - //添加申请人: 0、被申请人: 1、申请代理人: 2、被申请代理人:3 - const handleAdd = (type) => { - if (type === 2 || type === 3) { - setAgentVisible(true) - } else { - setAddVisabled(true) - } - setDialogType(type) - } - - //删除当事人 - const handleDeleteParty = (event, value) => { - event.stopPropagation(); - const filterData = fakeData.filter(item => item.id !== value.id) - setFakeData(filterData) - } - - return ( - <div style={{ position: 'relative' }}> - <Tabs defaultActiveTab='1' onChange={(v) => setActive(v)}> - <TabPane - key='1' - title={ - <span> - {active === '1' && <img src={Matter} alt="" style={{ width: '16px', height: '16px', margin: '-5px 12px 0px 0px' }} />} - <span style={{ fontSize: '16px' }}>事项详情</span> - </span> - } - - > - <Typography.Paragraph style={style}> - <div className='dataSync-page'> - - <Col span={24} style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> - <Space size='small'> - <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5> - </Space> - <div> - <Switch checkedChildren="当事人小程序可见" unCheckedChildren="当事人小程序不可见" defaultChecked /> - </div> - </Col> - <div style={{ margin: '16px 0' }}> - <PersonCard - isCheck={true} - partyType={'applicant'} // 这里设定为申请人 - data={fakeData} - handleCheckParty={handleCheckParty} - handleAdd={handleAdd} - handleDeleteParty={handleDeleteParty} - /> - </div> - <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}> - <Space size='small'> - <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5> - </Space> - </Col> - <Row gutter={[16, 16]}> - <Col span={8}> - <div><div className="title-text">事项状态</div></div> - <div style={{ color: '#1A6FB8' }}>待办理</div> - </Col> - <Col span={16}> - <div><div className="title-text">事项编号</div></div> - <div>GZ202408010001</div> - </Col> - {/*事项等级分为三级,颜色需要做判断*/} - <Col span={8}> - <div className="title"><div className="title-text">事项等级</div></div> - <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>3</div></div>级</div> - </Col> - <Col span={8}> - <div><div className="title-text">来访时间</div></div> - <div>2024-7-12 10:00</div> - </Col> - <Col span={8}> - <div ><div className="title-text">来访人数(人)</div></div> - <div>2</div> - </Col> - <Col span={8}> - <div ><div className="title-text">纠纷类型</div></div> - <div>市场监管/金融纠纷</div> - </Col> - <Col span={8}> - <div ><div className="title-text">纠纷发生时间</div></div> - <div>2024-7-11</div> - </Col> - <Col span={8}> - <div ><div className="title-text">纠纷发生地点</div></div> - <div>广州市天河区中山七路康王柏德来商业城</div> - </Col> - <Col span={8}> - <div ><div className="title-text">问题属地</div></div> - <div>广州市/天河区/棠下街道</div> - </Col> - <Col span={8}> - <div ><div className="title-text">涉及人数(人)</div></div> - <div>2</div> - </Col> - <Col span={8}> - <div ><div className="title-text">涉及金额(元)</div></div> - <div>{$$.thousands(20000)}</div> - </Col> - <Col span={8}> - <div ><div className="title-text">事项来源</div></div> - <div>大厅来访</div> - </Col> - <Col span={16}> - <div ><div className="title-text">来访形式</div></div> - <div>来访</div> - </Col> - <Col span={24}> - <div className="title"><div className="title-text">事项概况</div></div> - <div>张先生与李先生是多年的朋友关系。2023年4月,李先生因生意周转需要向张先生借款人民币20万元,并口头承诺于一年内还清。出于信任,张先生未要求签订书面借条或借款合同。然而,到了2024年4月,李先生并未如约归还借款。张先生多次通过电话、微信等方式催促还款,但李先生先是拖延,后干脆以各种理由拒绝偿还,甚至声称该笔款项属于赠予而非借款,这使得张先生感到十分无奈。 </div> - </Col> - <Col span={24}> - <div className="title"><div className="title-text">事项申请</div></div> - <div>张先生与李先生是多年的朋友关系。2023年4月,李先生因生意周转需要向张先生借款人民币20万元,并口头承诺于一年内还清。出于信任,张先生未要求签订书面借条或借款合同。然而,到了2024年4月,李先生并未如约归还借款。张先生多次通过电话、微信等方式催促还款,但李先生先是拖延,后干脆以各种理由拒绝偿还,甚至声称该笔款项属于赠予而非借款,这使得张先生感到十分无奈。 </div> - </Col> - <Col span={16}> - <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div> - <div>否</div> - </Col> - </Row> - <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}> - <Space size='small'> - <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>事件材料</h5> - </Space> - </Col> - - <TableView - columns={fakeColumns} - dataSource={fakeData1} - size="small" - rowKey="id" - bordered={true} - style={{ marginBottom: '20px' }} - /> - <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}> - <Space size='small'> - <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>登记信息</h5> - </Space> - </Col> - <Row gutter={[16, 16]}> - {/*事项等级分为三级,颜色需要做判断*/} - <Col span={8}> - <div className="title"><div className="title-text">登记机构</div><img src={question} alt="" style={{ width: '14px', height: '14px', marginTop: '4px', marginLeft: '4px' }} /></div> - <div>天河区棠下街道综治中心</div> - </Col> - <Col span={8}> - <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}> - <div ><div className="title-text">登记时间</div></div> - <div>2024-7-8 10:00</div> - </Col> - </Row> - <Button type='primary' style={{ marginTop: '20px' }}>修改</Button> - </div> - - </Typography.Paragraph> - </TabPane> - <TabPane - key='3' - title={ - <span> - {active === '3' && <img src={transfer} alt="" style={{ width: '16px', height: '16px', margin: '-5px 12px 0px 0px' }} />} - <span style={{ fontSize: '16px' }}>流转办理</span> - </span> - } - > - <Typography.Paragraph style={style}> - - <Handle /> - - </Typography.Paragraph> - </TabPane> - </Tabs> + }, + { + title: '操作', + dataIndex: 'perClassName', + key: 'perClassName', + width: 200, + render: (text) => ( + <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}> + <div onClick={() => setFilesCheck(true)}>查看</div> + <div>删除</div> + <div>下载</div> + <div onClick={() => setUpLoad(true)}>上传</div> </div> - ) + ) + }, + // 更多列配置... + ]; + const fakeData1 = [ + { + id: 1, + caseNo: 'A20230101', + judicNo: '申请材料', + perClassName: '李晓明的纠纷化解申请表、身份证...', + inputUserName: '0', + mediateUserName: '2024-7-12 12:00', + judgeName: '王五', + mediator: '赵六', + handlerUserName: '钱七', + returnUserName: '孙八', + expireTime: '2023-08-10T08:00:00.000Z', + processName: '进行中', + otherMediator: '周九', + canalName: '网络', + judicResult: '通过', + assistName: '吴十', + mediTypeName: '民事调解', + serieStatus: '1', // 1 表示非系列案,2 表示系列案 + // 更多字段... + }, + { + id: 2, + caseNo: 'A20230101', + judicNo: '证据材料', + perClassName: '李晓明的纠纷化解申请表、身份证...', + inputUserName: '0', + mediateUserName: '2024-7-12 12:00', + judgeName: '王五', + mediator: '赵六', + handlerUserName: '钱七', + returnUserName: '孙八', + expireTime: '2023-08-10T08:00:00.000Z', + processName: '进行中', + otherMediator: '周九', + canalName: '网络', + judicResult: '通过', + assistName: '吴十', + mediTypeName: '民事调解', + serieStatus: '1', // 1 表示非系列案,2 表示系列案 + // 更多字段... + }, + + // 更多数据... + ]; + + + //查看 + const handleCheckParty = (value) => { + console.log(value); + setDialogType(value.partyType) + setDetailVisabled(true) + } + + //添加申请人: 0、被申请人: 1、申请代理人: 2、被申请代理人:3 + const handleAdd = (type) => { + if (type === 2 || type === 3) { + setAgentVisible(true) + } else { + setAddVisabled(true) + } + setDialogType(type) + } + + //删除当事人 + const handleDeleteParty = (event, value) => { + event.stopPropagation(); + const filterData = fakeData.filter(item => item.id !== value.id) + setFakeData(filterData) + } + + return ( + <div style={{ position: 'relative' }}> + {props.active === '1' && + <Typography.Paragraph style={style}> + <div className='dataSync-page'> + + <Col span={24} style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> + <Space size='small'> + <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>当事人信息</h5> + </Space> + <div> + <Switch checkedChildren="当事人小程序可见" unCheckedChildren="当事人小程序不可见" defaultChecked /> + </div> + </Col> + <div style={{ margin: '16px 0' }}> + <PersonCard + isCheck={true} + partyType={'applicant'} // 这里设定为申请人 + data={fakeData} + handleCheckParty={handleCheckParty} + handleAdd={handleAdd} + handleDeleteParty={handleDeleteParty} + /> + </div> + <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}> + <Space size='small'> + <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5> + </Space> + </Col> + <Row gutter={[16, 16]}> + <Col span={8}> + <div><div className="title-text">事项状态</div></div> + <div style={{ color: '#1A6FB8' }}>待办理</div> + </Col> + <Col span={16}> + <div><div className="title-text">事项编号</div></div> + <div>GZ202408010001</div> + </Col> + {/*事项等级分为三级,颜色需要做判断*/} + <Col span={8}> + <div className="title"><div className="title-text">事项等级</div></div> + <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>3</div></div>级</div> + </Col> + <Col span={8}> + <div><div className="title-text">来访时间</div></div> + <div>2024-7-12 10:00</div> + </Col> + <Col span={8}> + <div ><div className="title-text">来访人数(人)</div></div> + <div>2</div> + </Col> + <Col span={8}> + <div ><div className="title-text">纠纷类型</div></div> + <div>市场监管/金融纠纷</div> + </Col> + <Col span={8}> + <div ><div className="title-text">纠纷发生时间</div></div> + <div>2024-7-11</div> + </Col> + <Col span={8}> + <div ><div className="title-text">纠纷发生地点</div></div> + <div>广州市天河区中山七路康王柏德来商业城</div> + </Col> + <Col span={8}> + <div ><div className="title-text">问题属地</div></div> + <div>广州市/天河区/棠下街道</div> + </Col> + <Col span={8}> + <div ><div className="title-text">涉及人数(人)</div></div> + <div>2</div> + </Col> + <Col span={8}> + <div ><div className="title-text">涉及金额(元)</div></div> + <div>{$$.thousands(20000)}</div> + </Col> + <Col span={8}> + <div ><div className="title-text">事项来源</div></div> + <div>大厅来访</div> + </Col> + <Col span={16}> + <div ><div className="title-text">来访形式</div></div> + <div>来访</div> + </Col> + <Col span={24}> + <div className="title"><div className="title-text">事项概况</div></div> + <div>张先生与李先生是多年的朋友关系。2023年4月,李先生因生意周转需要向张先生借款人民币20万元,并口头承诺于一年内还清。出于信任,张先生未要求签订书面借条或借款合同。然而,到了2024年4月,李先生并未如约归还借款。张先生多次通过电话、微信等方式催促还款,但李先生先是拖延,后干脆以各种理由拒绝偿还,甚至声称该笔款项属于赠予而非借款,这使得张先生感到十分无奈。 </div> + </Col> + <Col span={24}> + <div className="title"><div className="title-text">事项申请</div></div> + <div>张先生与李先生是多年的朋友关系。2023年4月,李先生因生意周转需要向张先生借款人民币20万元,并口头承诺于一年内还清。出于信任,张先生未要求签订书面借条或借款合同。然而,到了2024年4月,李先生并未如约归还借款。张先生多次通过电话、微信等方式催促还款,但李先生先是拖延,后干脆以各种理由拒绝偿还,甚至声称该笔款项属于赠予而非借款,这使得张先生感到十分无奈。 </div> + </Col> + <Col span={16}> + <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div> + <div>否</div> + </Col> + </Row> + <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}> + <Space size='small'> + <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>事件材料</h5> + </Space> + </Col> + + <TableView + columns={fakeColumns} + dataSource={fakeData1} + size="small" + rowKey="id" + bordered={true} + style={{ marginBottom: '20px' }} + /> + <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}> + <Space size='small'> + <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>登记信息</h5> + </Space> + </Col> + <Row gutter={[16, 16]}> + {/*事项等级分为三级,颜色需要做判断*/} + <Col span={8}> + <div className="title"><div className="title-text">登记机构</div><img src={question} alt="" style={{ width: '14px', height: '14px', marginTop: '4px', marginLeft: '4px' }} /></div> + <div>天河区棠下街道综治中心</div> + </Col> + <Col span={8}> + <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}> + <div ><div className="title-text">登记时间</div></div> + <div>2024-7-8 10:00</div> + </Col> + </Row> + <Button type='primary' style={{ marginTop: '20px' }}>修改</Button> + </div> + + </Typography.Paragraph> + } + { + props.active === '3' && <Typography.Paragraph style={style}> + <Handle /> + </Typography.Paragraph> + } + </div> + ) } export default MattersInfo; \ No newline at end of file diff --git a/gz-customerSystem/src/views/register/visit/component/handle.jsx b/gz-customerSystem/src/views/register/visit/component/handle.jsx index 0d8e7db..6c8cb7b 100644 --- a/gz-customerSystem/src/views/register/visit/component/handle.jsx +++ b/gz-customerSystem/src/views/register/visit/component/handle.jsx @@ -10,117 +10,105 @@ const Handle = () => { - const [current, setCurrent] = useState(3); - const Step = Steps.Step; - 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> + 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> - <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> - ))} + <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> - </div> - <div className='container-bottom-right'>22</div> - </div> - </div> - </> - ) + </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> + </div> + <div className='container-bottom-right'>22</div> + </div> + </div> + </> + ) } diff --git a/gz-customerSystem/src/views/register/visit/index.jsx b/gz-customerSystem/src/views/register/visit/index.jsx index dcb8029..2032a9b 100644 --- a/gz-customerSystem/src/views/register/visit/index.jsx +++ b/gz-customerSystem/src/views/register/visit/index.jsx @@ -7,19 +7,20 @@ * @Description: 来访登记 */ -import React, { useState, useEffect, useRef, Fragment } from "react"; +import React, { useState, useRef, Fragment } from "react"; import NewPage from '@/components/NewPage'; -import RegisterTab from '@/components/registerTab'; import * as $$ from '@/utils/utility'; import "@arco-themes/react-gzzz/css/arco.css"; import '../index.less'; import { Space } from 'antd'; -import { Button, Steps } from '@arco-design/web-react'; +import { Button, Steps, Tabs } from '@arco-design/web-react'; import VisitorRegister from './component/visitorRegister'; import Preview from './preview'; import MattersInfo from './component/MattersInfo'; +import { question, register, Matter, transfer } from '@/assets/images' const Step = Steps.Step; +const TabPane = Tabs.TabPane; function getCaseDataApi(submitData) { return $$.ax.request({ url: `caseInfo/getCaseInfo?id=${submitData}`, type: 'get', service: 'mediate' }); @@ -33,16 +34,20 @@ const [isReview, setIsReview] = useState(false);//预览页面控制 const [current, setCurrent] = useState(1); const [tabsActive, setTabsActive] = useState('1'); + const [tabsList, setTabList] = useState([ + { + img: Matter, + label: '事项详情', + key: '1' + }, + { + img: transfer, + label: '流转办理', + key: '3', + isNeedStep: true,//加上这个就有进度条 + }, + ]) - const tabs = [ - { label: '事件登记', key: '1' }, - { label: '事件流转', key: '2' }, - { label: '办理反馈', key: '3' }, - { label: '申请结案', key: '4' }, - { label: '当事人评价', key: '5' }, - { label: '结案归档', key: '6', img1: true }, - - ]; //提交信息,需要校验规则 const handleSubmit = async () => { @@ -73,74 +78,75 @@ okText: '确定受理', cancelText: '我再想想', onOk: async () => { - setTabsActive('2') + setCurrent(3) }, }); - } - - function submit() { - $$.info({ type: 'warning', content: '您没有预约记录,暂时无法提交' }) - } - console.log(current, 'current') return ( <div style={{ position: 'relative' }}> - {tabsActive !== '2' && - - <NewPage - pageHead={ - { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' } - } - > - {/*onChange={(activeKey) => setTabsActive(activeKey)}*/} - - {/* <RegisterTab tabs={tabs} activeKey={tabsActive} style={{ background: '#fff' }} /> */} - - <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> - <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> - {tabsActive === '1' && - <Fragment> - {isReview ? <Preview /> : <VisitorRegister formRef={formRef} />} - <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}>预览</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> - } - {tabsActive === '2' && - <div style={{ position: 'relative' }}> - - <NewPage - pageHead={ - { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' } - } - > - - <Fragment> - - <MattersInfo /> - </Fragment> - </NewPage> - </div> - } + <NewPage + pageHead={ + { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' } + } + > + { + current === 1 && + <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> + {isReview ? <Preview /> : <VisitorRegister formRef={formRef} />} + <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}>预览</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> + } + { + current === 3 && + <Tabs defaultActiveTab='1' onChange={(v) => setTabsActive(v)}> + {tabsList?.map(item => { + return <TabPane + key={item.key} + title={ + <span> + {tabsActive === item.key && <img src={item.img} alt="" style={{ width: '16px', height: '16px', margin: '-5px 12px 0px 0px' }} />} + <span style={{ fontSize: '16px' }}>{item.label}</span> + </span> + } + > + { + item.isNeedStep && <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> + } + <MattersInfo active={tabsActive} /> + </TabPane> + })} + </Tabs> + } + </NewPage> </div> ) } -- Gitblit v1.8.0