import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react'; import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd'; import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, FileExcelOutlined } from '@ant-design/icons'; import { useSelector } from 'react-redux'; import ToolBar from './toolbar'; import ModalForm from './editTabs'; import apiurl from '../../../../service/apiurl'; import usePageTable from '../../../../components/crud/usePageTable2'; import { createCrudService } from '../../../../components/crud/_'; import { CrudOpRender_text } from '../../../../components/crud/CrudOpRender'; import dayjs from 'dayjs' const url = "http://223.75.53.141:9100/gs-tsg" const caseTypeOb = { 0: '违建', 1: '毁林垦荒', 2: '筑坝拦汊', 3: '填占库容', 4: '违法取水', 5: '其他' } const caseSourceOb = { 0: '巡查上报', 1: '自主发现', 2: '公共举报', 3: '电话举报', 4: '其他' } const Page = () => { const role = useSelector(state => state.auth.role); const editBtn = role?.rule?.find(item => item.menuName == "编辑"); const viewBtn = role?.rule?.find(item => item.menuName == "查看"); const delBtn = role?.rule?.find(item => item.menuName == "删除"); const refModal = useRef(); const [searchVal, setSearchVal] = useState(false) const [iframeSrc, setIframeSrc] = useState('') const [pdfViewOPen, setPdfViewOPen] = useState(false) const [isFetch, setIsFetch] = useState(false) const columns = [ { title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" }, { title: '填报时间', key: 'createTime', dataIndex: 'createTime', ellipsis: true,render: (value) => {dayjs(value).format('YYYY-MM-DD HH:mm')}, }, { title: '案件名称', key: 'caseName', dataIndex: 'caseName', }, { title: '案件编号', key: 'caseId', dataIndex: 'caseId', }, { title: '发现时间', key: 'caseDate', dataIndex: 'caseDate', render: (value) => {dayjs(value).format('YYYY-MM-DD')}, }, { title: '案件类型', key: 'caseType', dataIndex: 'caseType', render: (value) => {caseTypeOb[value]}, }, { title: '案件来源', key: 'caseSource', dataIndex: 'caseSource', render: (value) => {caseSourceOb[value]}, }, { title: '操作', key: 'operation', width: 240, render: (value, row, index) => ( () => command(cmd)(row)} />) }, ]; const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]); const command = (type) => (params) => { if (type === 'save') { refModal.current.showSave(); } else if (type === 'edit') { let obj={} if (params.caseDate) { obj.caseDate = params.caseDate ? dayjs(params.caseDate) :undefined } if(params.IllegalDate){ obj.IllegalDate= dayjs(params.IllegalDate) } refModal.current.showEdit({ ...params,...obj }); } else if (type === 'view') { refModal.current.showView(params); } else if (type === 'del') { refModal.current.onDeleteGet(apiurl.szzf.ajdj.del + `/${params.id}`); } } const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.szzf.ajdj.list).find_noCode); /** * @description 处理成功的回调 */ const successCallback = () => { refresh() setIsFetch(!isFetch) } const viewPdf = (params) => { setIframeSrc(params) setPdfViewOPen(true) } useEffect(() => { const params = { search: { ...searchVal, } }; search(params) }, [searchVal]) return ( <>
{refresh({addvcd:localStorage.getItem('ADCD6')})}} /> { setPdfViewOPen(false) }} >