import React,{useEffect,useState,useRef,useMemo} from 'react'
import { Table, Button,Modal} from 'antd'
import ModalForm from './form';
import apiurl from '../../../service/apiurl';
import { httppost2 } from '../../../utils/request';
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
import BasicCrudModal from '../../../components/crud/BasicCrudModal2';
import moment from "moment"
export default function Zrtx() {
const refModal = useRef();
const [iframeSrc, setIframeSrc] = useState('')
const [pdfViewOPen, setPdfViewOPen] = useState(false)
const columns = [
{ title: '序号', key: 'idx', dataIndex: 'idx', width: 60, align:"center" },
{ title: '调度规程名称', key: 'planName', dataIndex: 'planName', width: 200,align:"center" },
{ title: '编制单位', key: 'prepOrg', dataIndex: 'prepOrg', width: 200 ,align:"center" },
{
title: '编制日期', key: 'prepTime', dataIndex: 'prepTime', width: 200, align: "center",
render: (r) => {r ? moment(r).format("YYYY-MM-DD") : ''}
},
{ title: '批复部门', key: 'apprOrg', dataIndex: 'apprOrg', width: 200 ,align:"center" },
{
title: '批复日期', key: 'apprTime', dataIndex: 'apprTime', width: 200, align: "center",
render: (r) => {r ? moment(r).format("YYYY-MM-DD") : ''}
},
{
title: '文件', key: 'planName', dataIndex: 'planName', width: 200, align: "center",
render: (rec, record) => reviewFile(record?.files[0])}>{record?.files[0]?.fileName}
},
{ title: '上传时间', key: 'moditime', dataIndex: 'moditime', width: 150,align:"center" },
{
title: '操作', dataIndex: 'orgName', key: 'orgName', align: "center",width: 240, fixed: 'right',
render: (value, row, index) => ( () => command(cmd)(row)} />)
},
];
const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]);
const [data, setData] = useState([])
const getData = async () => {
try {
const res = await httppost2(apiurl.fxya.page, { resCode: "42112230001",type:2 })
let newData = res.data.filter(s => s.type == 2)
setData(newData.map((item,i) => ({...item,idx:i+1})))
} catch (error) {
console.log(error);
}
}
const download = (params) => {
let downloadLink = document.createElement("a");
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/tsg/resPlanB/file/download/${params?.fileId}`;
downloadLink.download = `${params.fileName}`;
downloadLink.style.display = "none";
// 将链接添加到页面中
document.body.appendChild(downloadLink);
// 模拟点击事件,开始下载
downloadLink.click();
}
const reviewFile = (params) => {
if (params.fileName.split('.').pop() == "pdf") {
setPdfViewOPen(true)
setIframeSrc(params)
} else {
download(params)
}
}
const command = (type) => (params) => {
if (type === 'save') {
refModal.current.showSave({});
} else if (type === 'edit') {
refModal.current.showEdit(params)
} else if (type === 'view') {
refModal.current.showView(params);
} else if (type === 'del') {
refModal.current.onDeleteGet(apiurl.fxya.delete + `/${params.id}`);
}
}
useEffect(() => {
getData();
}, [])
return (
{
setPdfViewOPen(false)
}}
>
)
}