Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master
| | |
| | | handleReturn({ |
| | | id, |
| | | caseId: props.caseId, |
| | | caseTaskId: props.caseTaskId, |
| | | returnContent: values.returnContent |
| | | }) |
| | | } |
| | |
| | | return $$.ax.request({ url: `caseTask/appearApply`, type: 'post', service: 'mediate', data }); |
| | | } |
| | | |
| | | function getAppearToUnit() { |
| | | return $$.ax.request({ url: `ctUnit/getAppearToUnit`, type: 'get', service: 'cust' }); |
| | | } |
| | | |
| | | export default function BackModel(props) { |
| | | const formRef = useRef(); |
| | | const [id, setId] = useState() |
| | | const [id, setId] = useState(); |
| | | const [unitData, setUnitData] = useState({}); |
| | | |
| | | useEffect(() => { |
| | | getAppId() |
| | | getAppearToUnitData() |
| | | }, []) |
| | | |
| | | //获取上报部门 |
| | | const getAppearToUnitData = async () => { |
| | | const res = await getAppearToUnit() |
| | | if (res.type) { |
| | | setUnitData({ |
| | | auditUnitId: res.data.auditUnitId, |
| | | auditUnitName: res.data.auditUnitName |
| | | }) |
| | | } |
| | | } |
| | | |
| | | //获取id |
| | | const getAppId = async () => { |
| | |
| | | handleEscala({ |
| | | id, |
| | | caseId: props.caseId, |
| | | returnContent: values.returnContent |
| | | caseTaskId: props.caseTaskId, |
| | | returnContent: values.returnContent, |
| | | ...unitData |
| | | }) |
| | | } |
| | | }) |
| | |
| | | } |
| | | |
| | | const handleTemplate = (type) => { |
| | | if(type === 1) { |
| | | if (type === 1) { |
| | | formRef.current.setFieldValue('returnContent', '经初步核查,该事项较为复杂,且涉及多个相关部门的协调配合,为确保能够高效、妥善地解决当事人的问题,特此请求上级给予指导和支持。') |
| | | } else { |
| | | formRef.current.setFieldValue('returnContent', '') |
| | |
| | | unmountOnExit={true} |
| | | maskClosable={false} |
| | | > |
| | | <BackModel caseId={props.caseId} onCancel={() => { setBackVisible(false) }} /> |
| | | <BackModel caseId={props.caseId} caseTaskId={props.caseTaskId} onCancel={() => { setBackVisible(false) }} /> |
| | | </Modal> |
| | | <Modal |
| | | title='上报' |
| | |
| | | unmountOnExit={true} |
| | | maskClosable={false} |
| | | > |
| | | <EscalationModel caseId={props.caseId} onCancel={() => { setEscalationVisible(false) }} /> |
| | | <EscalationModel caseId={props.caseId} caseTaskId={props.caseTaskId} onCancel={() => { setEscalationVisible(false) }} /> |
| | | </Modal> |
| | | <Modal |
| | | title='交办' |
| | |
| | | */ |
| | | import React, { useEffect, useState, useRef } from 'react'; |
| | | import { useNavigate } from 'react-router-dom'; |
| | | import { tab1, tab2, tab3, tab4, tab5, tab6, visitInto, checkInto } from '@/assets/images' |
| | | import { tab1, tab2, tab3, tab4, tab5, tab6 } from '@/assets/images' |
| | | import TableView from '../../components/TableView'; |
| | | import { Space } from 'antd'; |
| | | import { Tabs, Typography, Radio } from '@arco-design/web-react'; |
| | | import { Tabs, Typography, Radio, Form, Input, DatePicker, Button, Grid } from '@arco-design/web-react'; |
| | | import * as $$ from '@/utils/utility'; |
| | | import './index.less'; |
| | | |
| | | |
| | | const FormItem = Form.Item; |
| | | const TabPane = Tabs.TabPane; |
| | | const { RangePicker } = DatePicker; |
| | | const Row = Grid.Row; |
| | | const Col = Grid.Col; |
| | | |
| | | //工作总览数据 |
| | | function getCountListApi(data) { |
| | |
| | | |
| | | const VisitWorkBench = () => { |
| | | const navigate = useNavigate(); |
| | | const formRef = useRef(); |
| | | |
| | | // 静态数据 |
| | | //分派表头 |
| | |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '分派时限', |
| | |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '签收时限', |
| | |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 80, |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '受理时限', |
| | |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 80, |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | |
| | | title: '化解结果', |
| | | dataIndex: 'mediResult', |
| | | key: 'mediResult', |
| | | width: 80, |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '无法化解理由', |
| | |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '已办天数', |
| | |
| | | title: '结案申请时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 180, |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | |
| | | title: '化解结果', |
| | | dataIndex: 'mediResult', |
| | | key: 'mediResult', |
| | | width: 180, |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | |
| | | title: '督办时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: '回复时限', |
| | |
| | | }) |
| | | const [total, setTotal] = useState(0);//表格数据总数量 |
| | | const [loading, setLoading] = useState(false);//表格loading |
| | | const [selectedRowKeys, setSelectedRowKeys] = useState([]); |
| | | |
| | | useEffect(() => { |
| | | getCountData(); |
| | |
| | | useEffect(() => { |
| | | getTableData(tabActivekey) |
| | | }, [searchData, pageData]) |
| | | |
| | | //批量选择 |
| | | const onSelectChange = (newSelectedRowKeys, selectedRows) => { |
| | | setSelectedRowKeys(newSelectedRowKeys); |
| | | } |
| | | |
| | | //签收 |
| | | const handleSign = async (caseId, ownerId) => { |
| | |
| | | } |
| | | } |
| | | |
| | | //查询 |
| | | const handleSubmit = () => { |
| | | const data = formRef.current.getFieldsValue(); |
| | | const { time, ...rest } = data |
| | | setSearchData({ |
| | | ...searchData, |
| | | timeStart: time ? time[0] : '', |
| | | timeEnd: time ? time[1] : '', |
| | | ...rest |
| | | }) |
| | | } |
| | | |
| | | //批量签收 |
| | | const handleBatchQs = () => { |
| | | console.log(selectedRowKeys); |
| | | } |
| | | |
| | | const rowSelection = { |
| | | selectedRowKeys: selectedRowKeys, |
| | | onChange: onSelectChange, |
| | | } |
| | | |
| | | return ( |
| | | <div className='VisitWorkBench'> |
| | | <div className='VisitWorkBench' > |
| | | <div className='VisitWorkBench-top'> |
| | | <span style={{ fontWeight: 600 }}>工作总览</span> |
| | | <div className='VisitWorkBench-top-list'> |
| | |
| | | } |
| | | </div> |
| | | </div> |
| | | <div className='VisitWorkBench-middle'> |
| | | <div |
| | | className='VisitWorkBench-middle' |
| | | onKeyUp={(e) => { |
| | | if (e.key === 'Enter') { |
| | | handleSubmit() |
| | | } |
| | | }} |
| | | > |
| | | <Tabs |
| | | activeTab={searchData.status} |
| | | onChange={handleColumnType} |
| | |
| | | } |
| | | > |
| | | <Typography.Paragraph key={item.value}> |
| | | {tabActivekey == 5 && |
| | | {tabActivekey == '5' && |
| | | <Radio.Group |
| | | type='button' |
| | | value={searchData.type} |
| | |
| | | /> |
| | | } |
| | | <TableView |
| | | columns={tabActivekey == 5 ? item.columnsMap[searchData.type] : item.columns} |
| | | rowSelection={tabActivekey == '2' && item.value === '1' ? rowSelection : null} |
| | | columns={tabActivekey == '5' ? item.columnsMap[searchData.type] : item.columns} |
| | | dataSource={tableData} |
| | | size="small" |
| | | rowKey="caseId" |
| | |
| | | scroll={{ |
| | | x: 1300 |
| | | }} |
| | | offsetHeight={153} |
| | | offsetHeight={161} |
| | | loading={loading} |
| | | pagination={{ |
| | | current: pageData.page, |
| | |
| | | }} |
| | | /> |
| | | </Typography.Paragraph> |
| | | { |
| | | (tabActivekey == '2' && item.value === '1') && <div className='VisitWorkBench-middle-select'> |
| | | <span>已选{selectedRowKeys.length}项</span> |
| | | <span className='linkBtnColor' onClick={() => { setSelectedRowKeys([]) }}>取消</span> |
| | | <span className='linkBtnColor' onClick={handleBatchQs}>批量签收</span> |
| | | </div> |
| | | } |
| | | </TabPane> |
| | | })} |
| | | </Tabs> |
| | | <div className='VisitWorkBench-middle-search'> |
| | | <Form |
| | | ref={formRef} |
| | | layout="vertical" |
| | | > |
| | | <div style={{ display: 'flex' }}> |
| | | <FormItem |
| | | label=' ' |
| | | field='time' |
| | | > |
| | | <RangePicker |
| | | style={{ width: '100%' }} |
| | | format='YYYY-MM-DD HH:mm' |
| | | showTime={true} |
| | | /> |
| | | </FormItem> |
| | | <FormItem |
| | | label=' ' |
| | | field='partyName' |
| | | > |
| | | <Input |
| | | allowClear |
| | | placeholder='查询申请方/被申请方关键词' |
| | | /> |
| | | </FormItem> |
| | | <Button |
| | | type="primary" |
| | | className="dialogPrimary" |
| | | onClick={handleSubmit} |
| | | > |
| | | 查询 |
| | | </Button> |
| | | </div> |
| | | </Form> |
| | | </div> |
| | | </div> |
| | | <div className='VisitWorkBench-bottom'> |
| | | 群众来访接待 |
| | | <div style={{ display: 'flex', justifyContent: 'space-evenly',gap:'24px',marginTop:'16px' }}> |
| | | <div style={{ display: 'flex', justifyContent: 'space-evenly', gap: '24px', marginTop: '16px' }}> |
| | | <div className='bottomTab1' onClick={() => navigate(`/mediate/visit`)}> |
| | | <div className='VisitWorkBench-bottom-title' style={{ color: '#206BCD' }}>大厅来访</div> |
| | | <div className='VisitWorkBench-bottom-title' style={{ color: '#206BCD' }}>大厅来访</div> |
| | | {/* <img src={visitInto} alt='' className='VisitWorkBench-bottom-img' /> */} |
| | | </div> |
| | | <div className='bottomTab2'> |
| | |
| | | background: #ffffff; |
| | | padding: 12px 16px 16px 16px; |
| | | margin-top: 12px; |
| | | // height: 54vh; |
| | | position: relative; |
| | | |
| | | &-search { |
| | | position: absolute; |
| | | right: 16px; |
| | | top: 12px; |
| | | |
| | | .arco-form-item { |
| | | margin-right: 16px; |
| | | } |
| | | |
| | | .arco-form-layout-vertical>.arco-form-label-item { |
| | | margin-bottom: 0; |
| | | } |
| | | } |
| | | |
| | | &-select { |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 12px; |
| | | |
| | | .linkBtnColor { |
| | | color: #1A6FB8; |
| | | cursor: pointer; |
| | | margin-left: 16px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | &-bottom { |
| | |
| | | title: '操作', |
| | | dataIndex: 'perClassName', |
| | | key: 'perClassName', |
| | | width: props.isReview ? 60 : 125, |
| | | width: props.isReview ? 80 : 140, |
| | | fixed: 'right', |
| | | render: (text, record) => ( |
| | | <Space size="middle"> |
| | |
| | | rowKey="ownerType" |
| | | bordered={true} |
| | | scroll={{ x: 1300 }} |
| | | tableHeight={126} |
| | | tableHeight={137} |
| | | /> |
| | | <Modal |
| | | style={{ width: '512px' }} |