Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master
1 files deleted
2 files added
11 files modified
| | |
| | | import down from "./down.png"; |
| | | import tip from "./tip.png"; |
| | | import apply from "./apply.png"; |
| | | import examine from "./examine.png"; |
| | | |
| | | export { |
| | | ledger_1, |
| | |
| | | fold, |
| | | down, |
| | | tip, |
| | | apply |
| | | apply, |
| | | examine |
| | | }; |
| | |
| | | return { |
| | | ...res, |
| | | value: <> |
| | | {data[res.field].map(item => { |
| | | {data[res.field]?.map(item => { |
| | | return <a target="_blank"> |
| | | <img src={link} alt="" className="title-file" />{item.name} |
| | | </a> |
| | |
| | | export function verifyEmpty(value) { |
| | | return value?.replace(/\s+/g, ''); |
| | | } |
| | | |
| | | // 获取元素距离可视区域顶部、左部的距离 |
| | | export const getOffset = (ele) => { |
| | | var top = ele.offsetTop |
| | | var left = ele.offsetLeft |
| | | while (ele.offsetParent) { |
| | | ele = ele.offsetParent |
| | | if (window.navigator.userAgent.indexOf('MSTE 8') > -1) { |
| | | top += ele.offsetTop |
| | | left += ele.offsetLeft |
| | | } else { |
| | | top += ele.offsetTop + ele.clientTop |
| | | left += ele.offsetLeft + ele.clientLeft |
| | | } |
| | | } |
| | | return { |
| | | left: left, |
| | | top: top, |
| | | } |
| | | } |
| | | |
| | | export const getSize = () => { |
| | | let windowW, windowH, contentH, contentW, scrollT; |
| | | windowH = window.innerHeight; |
| | | windowW = window.innerWidth; |
| | | scrollT = document.documentElement.scrollTop || document.body.scrollTop; |
| | | contentH = |
| | | document.documentElement.scrollHeight > document.body.scrollHeight ? |
| | | document.documentElement.scrollHeight : |
| | | document.body.scrollHeight; |
| | | contentW = |
| | | document.documentElement.scrollWidth > document.body.scrollWidth ? |
| | | document.documentElement.scrollWidth : |
| | | document.body.scrollWidth; |
| | | return { |
| | | windowW, |
| | | windowH, |
| | | contentH, |
| | | contentW, |
| | | scrollT |
| | | }; |
| | | }; |
| | |
| | | import { Row, Col } from 'antd'; |
| | | import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react'; |
| | | import ArcoUpload from '@/components/ArcoUpload'; |
| | | import { Scrollbars } from "react-custom-scrollbars"; |
| | | |
| | | const RadioGroup = Radio.Group; |
| | | const FormItem = Form.Item; |
| | |
| | | } |
| | | return ( |
| | | <div> |
| | | <Row style={{ margin: '0 2px 0 0' }}> |
| | | <Col span={24}> |
| | | <Scrollbars style={{ height: '550px' }} autoHide> |
| | | <Form |
| | | ref={formRef} |
| | | layout='vertical' |
| | |
| | | }}//默认值 |
| | | scrollToFirstError |
| | | > |
| | | <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}> |
| | | <Row> |
| | | <Col span={24}> |
| | | <FormItem |
| | | label={(<div style={{ display: 'flex' }}>回退理由<div className="must">必填</div></div>)} |
| | |
| | | </Col> |
| | | </Row> |
| | | </Form> |
| | | </Col> |
| | | </Row> |
| | | </Scrollbars> |
| | | <div className='dialogFooter'> |
| | | <Button |
| | | type="primary" |
| | |
| | | import React, { useState } from 'react'; |
| | | import { Button, Modal, Tabs } from '@arco-design/web-react'; |
| | | import React, { useState, useRef, useEffect } from 'react'; |
| | | import { Button, Modal, Tabs, Badge } from '@arco-design/web-react'; |
| | | import { Space } from 'antd'; |
| | | import ProgressStep from '@/components/ProgressStep/VisitStep'; |
| | | import BackModel from "./BackModel"; |
| | | import { Scrollbars } from "react-custom-scrollbars"; |
| | | import { getOffset, getSize } from '@/utils/utility'; |
| | | |
| | | const TabPane = Tabs.TabPane; |
| | | |
| | |
| | | ]; |
| | | |
| | | export default function EventFlow(props) { |
| | | const scrollRef = useRef(null) |
| | | const [backVisible, setBackVisible] = useState(false) |
| | | const tabs = [ |
| | | { index: '1', label: '流转进度' }, |
| | | { index: '2', label: '督办信息' }, |
| | | ]; |
| | | const [height, setHeight] = useState(500) |
| | | |
| | | useEffect(() => { |
| | | onWindowResize() |
| | | window.addEventListener("resize", onWindowResize); |
| | | }, []) |
| | | |
| | | const onWindowResize = () => { |
| | | let offsetLeft = 0; |
| | | let offsetTop = 0; |
| | | if (scrollRef.current.container) { |
| | | offsetLeft = getOffset(scrollRef.current.container).left; |
| | | offsetTop = getOffset(scrollRef.current.container).top; |
| | | } |
| | | setHeight(getSize().windowH - offsetTop - 65) |
| | | }; |
| | | |
| | | return ( |
| | | <div className='dataSync'> |
| | | <div className='dataSync-hasTabPage' > |
| | |
| | | </span> |
| | | } |
| | | > |
| | | <div styles={{ height: "400px" }}><ProgressStep progressData={fakeData} /></div> |
| | | <Scrollbars |
| | | style={{ height: height }} |
| | | ref={scrollRef} |
| | | autoHide |
| | | > |
| | | <ProgressStep progressData={fakeData} /> |
| | | </Scrollbars> |
| | | </TabPane> |
| | | <TabPane |
| | | key='2' |
| | | title={ |
| | | <span style={{ fontSize: '15px' }}> |
| | | 督办信息 |
| | | <Badge maxCount={99} count={1000} /> |
| | | </span> |
| | | } |
| | | > |
| | | <Scrollbars |
| | | style={{ height: height }} |
| | | ref={scrollRef} |
| | | ></Scrollbars> |
| | | </TabPane> |
| | | </Tabs> |
| | | |
New file |
| | |
| | | import React from 'react' |
| | | import { Space } from 'antd'; |
| | | |
| | | export default function Examine(props) { |
| | | return ( |
| | | <div className='dataSync'> |
| | | <div className='dataSync-noBackTabPage'> |
| | | <div className='whiteBox'> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-8px' }}></div><h5>回退申请</h5> |
| | | </Space> |
| | | </div> |
| | | <div className='whiteBox'> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-8px' }}></div><h5>审核</h5> |
| | | </Space> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | ) |
| | | } |
| | |
| | | import * as $$ from '@/utils/utility'; |
| | | import "@arco-themes/react-gzzz/css/arco.css"; |
| | | import '../index.less'; |
| | | import { Button, Steps, Tabs, Message } from '@arco-design/web-react'; |
| | | import { question, register, Matter, transfer } from '@/assets/images' |
| | | import { Steps, Tabs } from '@arco-design/web-react'; |
| | | import { examine, Matter, transfer } from '@/assets/images' |
| | | import EventFlow from './component/EventFlow'; |
| | | import MatterDetail from '../matterDetail'; |
| | | import Examine from "./component/Examine"; |
| | | |
| | | const Step = Steps.Step; |
| | | const TabPane = Tabs.TabPane; |
| | |
| | | key: '2', |
| | | isNeedStep: true,//加上这个就有进度条 |
| | | }, |
| | | { |
| | | img: examine, |
| | | label: '审核', |
| | | key: '3', |
| | | }, |
| | | ]) |
| | | |
| | | |
| | |
| | | <div style={{ position: 'relative' }}> |
| | | <NewPage |
| | | pageHead={ |
| | | { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' } |
| | | { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '处理' } |
| | | } |
| | | > |
| | | <Tabs |
| | |
| | | } |
| | | > |
| | | { |
| | | item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> |
| | | item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '0 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> |
| | | <Steps type='navigation' current={current}> |
| | | <Step title='来访登记' disabled /> |
| | | <Step title='事件流转' disabled /> |
| | |
| | | </Steps> |
| | | </div> |
| | | } |
| | | {tabsActive === '1' && |
| | | <MatterDetail /> |
| | | } |
| | | { |
| | | (tabsActive === '2' && current === 2) && <EventFlow /> |
| | | } |
| | | {tabsActive === '1' && <MatterDetail />} |
| | | {tabsActive === '2' && <EventFlow />} |
| | | {tabsActive === '3' && <Examine />} |
| | | </TabPane> |
| | | })} |
| | | </Tabs> |
| | |
| | | |
| | | &-page { |
| | | background-color: #fff; |
| | | margin: 8px 8px 0px 16px; |
| | | margin: 0px 8px 0px 16px; |
| | | padding: 12px 16px 16px 16px; |
| | | height: calc(100vh - 228px); |
| | | overflow-y: scroll; |
| | |
| | | overflow-y: scroll; |
| | | } |
| | | } |
| | | |
| | | &-noBackTabPage { |
| | | margin: 0 16px 0px 16px; |
| | | height: calc(100vh - 219px); |
| | | |
| | | .whiteBox { |
| | | background-color: #fff; |
| | | padding: 12px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .applyDialog { |
| | |
| | | import KeyVisits from "@/components/personCard/KeyVisits"; |
| | | import * as $$ from '@/utils/utility'; |
| | | import ArcoUpload from '@/components/ArcoUpload'; |
| | | import { Scrollbars } from "react-custom-scrollbars"; |
| | | |
| | | const FormItem = Form.Item; |
| | | const Option = Select.Option; |
| | |
| | | |
| | | return ( |
| | | <div className="applyDialog"> |
| | | <div style={{ height: '590px', overflowY: 'scroll' }}> |
| | | <Scrollbars style={{ height: '590px' }} autoHide> |
| | | <Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}> |
| | | <Col span={24}> |
| | | <Form |
| | |
| | | <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}> |
| | | <KeyVisits /> |
| | | </div> |
| | | </div> |
| | | </Scrollbars> |
| | | <div className='dialogFooter'> |
| | | <Button |
| | | type="primary" |
| | |
| | | import KeyVisits from "@/components/personCard/KeyVisits"; |
| | | import SelectUnitDialog from "./selectUnitDialog"; |
| | | import ArcoUpload from '@/components/ArcoUpload'; |
| | | import { Scrollbars } from "react-custom-scrollbars"; |
| | | |
| | | const FormItem = Form.Item; |
| | | const Option = Select.Option; |
| | |
| | | |
| | | return ( |
| | | <div className="applyDialog"> |
| | | <div style={{ height: '590px', overflowY: 'scroll' }}> |
| | | <Scrollbars style={{ height: '590px' }} autoHide> |
| | | <div className="dialogTitle">当事人类型</div> |
| | | <Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}> |
| | | {$$.options.personClass.map((x, t) => { |
| | |
| | | <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}> |
| | | <KeyVisits /> |
| | | </div> |
| | | </div> |
| | | </Scrollbars> |
| | | <div className='dialogFooter'> |
| | | <Button |
| | | type="primary" |
| | |
| | | |
| | | |
| | | return ( |
| | | <div className='dataSync-page' style={{ ...props.style }}> |
| | | <div className='dataSync-page' style={{ ...props.style, marginTop: '8px' }}> |
| | | <Col span={24} style={{ display: 'flex', alignItems: 'center' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px', }}></div><h4>当事人信息</h4> |