import './Correction.css'; import { useState, useEffect, } from 'react'; import { // Table, Pagination, Modal, // Tag, message, Spin, Empty, Dropdown } from 'antd'; // import { // // MenuFoldOutlined, // ClearOutlined // } from '@ant-design/icons'; import { useSelector, useDispatch } from 'react-redux' import { get, put, downloadUrl, Axios } from '../../util/AjaxUtils' // import type { TableProps } from 'antd'; import { useLocation } from 'react-router-dom'; // import { getMenuActive } from '../../util/cache' // import { useNavigate } from "react-router-dom"; // interface DataType { // projName: string; // type: string; //类型 // correctionType: string; //补正种类 // correctionReason: string; // gmtCreate: string; //补正时间 // gmtReview: string;//审核时间 // reviewReason: string;//审核意见 // projId: string; // applyStatus: string;//审核状态 // correctionVoucherFileKVs: any //补正凭证 // projCorrectionApplyId: string // authorName: string; // } import revokeImg from '../../static/revoke.png' // import { useLocation } from 'react-router-dom' import logoImg from '../../static/projBox/logo.png' import reason from '../../static/projBox/reson.png' import green from '../../static/projBox/green.png' import red from '../../static/projBox/red.png' import blue from '../../static/projBox/blue.png' import black from '../../static/projBox/black.png' export default function Correction() { const height = window.innerHeight - 180; const [messageApi, contextHolder] = message.useMessage(); // const nav = useNavigate(); const { state } = useLocation() // const MenuActive = getMenuActive() == 'Correction-PENDING' ? 'PENDING' : getMenuActive() == 'Correction-APPROVED' ? 'APPROVED' : getMenuActive() == 'Correction-REJECTED' ? 'REJECTED' : getMenuActive() == 'Correction-CANCELED' ? 'CANCELED' : '' // const [type, setType] = useState(null) const [isLoading, setIsLoading] = useState(false) const [page, setPage] = useState(1) // 分页 const [revokeModal, setRevokeModal] = useState(false) //撤销弹窗 // const [numtype, setnumtype] = useState(null) //类型 一次 二次 // const [correctionType, setcorrectionType] = useState(null) //补正种类 // const init = () => { // setnumtype(null) // setcorrectionType(null) // setType(null) // } const keyWords = state ? state.keywords : '' const applyStatus = state ? state.applyStatus : '' const authorId = state ? state.authorId : '' const correctionNumType = state ? state.correctionNumType : '' const correctionType = state ? state.correctionType : '' // const columns: TableProps['columns'] = // // 撤销状态 // applyStatus == 'CANCELED' ? [ // { // title: '序号', // dataIndex: 'index', // align: 'center', // width: 80, // fixed: 'left', // render: (_text, _record, index) => (page - 1) * 20 + index + 1, // 显示序号,从1开始 // }, // { // title: '系统名称', // dataIndex: 'projName', // align: 'center', // key: 'projName', // fixed: 'left', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '产权所属者', // dataIndex: 'authorName', // align: 'center', // key: 'authorName', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '类型', // dataIndex: 'type', // key: 'type', // width: 130, // align: 'center', // render: (text) =>
{text == 'CORRECTION1' ? '一次补正' : text == 'CORRECTION2' ? '二次补正' : ''}
, // }, // { // title: '补正种类', // dataIndex: 'correctionType', // key: 'correctionType', // align: 'center', // width: 130, // render: (text) =>
{text == 'CODE' ? '代码' : text == 'MANUAL' ? '操作手册' : text == 'ALL' ? '全部补正' : ''}
, // }, // { // title: '补正原因', // dataIndex: 'correctionReason', // key: 'correctionReason', // align: 'center', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '申请补正时间', // dataIndex: 'gmtCreate', // key: 'gmtCreate', // align: 'center', // width: 200, // }, // { // title: '审核状态', // dataIndex: 'applyStatus', // key: 'applyStatus', // align: 'center', // width: 100, // render: (text) => {text == "APPROVED" ? '已通过' : text == "REJECTED" ? '未通过' : text == "PENDING" ? '待审核' : text == "CANCELED" ? '已取消' : '未知'}, // }, // { // title: '补正凭证', // dataIndex: 'correctionVoucherFileKVs', // key: 'correctionVoucherFileKVs', // width: 150, // align: 'center', // render: (_, record) => ( // (record.correctionVoucherFileKVs).map((item: any, index: number) => ( //
{ // window.open(downloadUrl(item.key, false), '_blank') // }}>{item.value}
// )) // ), // }, // ] // : applyStatus == 'PENDING' ? // // PENDING待审核状态 // [ // { // title: '序号', // dataIndex: 'index', // align: 'center', // width: 80, // fixed: 'left', // render: (_text, _record, index) => (page - 1) * 20 + index + 1, // 显示序号,从1开始 // }, // { // title: '系统名称', // dataIndex: 'projName', // align: 'center', // key: 'projName', // width: 150, // fixed: 'left', // render: (text) =>
{text}
, // }, // { // title: '产权所属者', // dataIndex: 'authorName', // align: 'center', // key: 'authorName', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '类型', // dataIndex: 'type', // key: 'type', // align: 'center', // width: 130, // render: (text) =>
{text == 'CORRECTION1' ? '一次补正' : text == 'CORRECTION2' ? '二次补正' : ''}
, // }, // { // title: '补正种类', // dataIndex: 'correctionType', // key: 'correctionType', // width: 130, // align: 'center', // render: (text) =>
{text == 'CODE' ? '代码' : text == 'MANUAL' ? '操作手册' : text == 'ALL' ? '全部补正' : ''}
, // }, // { // title: '补正原因', // dataIndex: 'correctionReason', // key: 'correctionReason', // align: 'center', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '申请补正时间', // dataIndex: 'gmtCreate', // key: 'gmtCreate', // align: 'center', // width: 200, // }, // { // title: '审核状态', // dataIndex: 'applyStatus', // key: 'applyStatus', // align: 'center', // width: 100, // render: (text) => {text == "APPROVED" ? '已通过' : text == "REJECTED" ? '未通过' : text == "PENDING" ? '待审核' : text == "CANCELED" ? '已取消' : '未知'}, // }, // { // title: '补正凭证', // dataIndex: 'correctionVoucherFileKVs', // key: 'correctionVoucherFileKVs', // width: 150, // align: 'center', // render: (_, record) => ( // (record.correctionVoucherFileKVs).map((item: any, index: number) => ( //
{ // window.open(downloadUrl(item.key, false), '_blank') // }}>{item.value}
// )) // ), // }, // { // title: '操作', // align: 'center', // fixed: 'right', // width: 100, // render: (_, record) => ( // // {record.name} //
{ // // console.log(record); // setRevokeModal(true) // setprojCorrectionApplyId(record.projCorrectionApplyId) // }}> 撤销
// ), // }, // ] // // 未通过 状态 // : applyStatus == 'REJECTED' ? // [ // { // title: '序号', // dataIndex: 'index', // align: 'center', // width: 80, // fixed: 'left', // render: (_text, _record, index) => (page - 1) * 20 + index + 1, // 显示序号,从1开始 // }, // { // title: '系统名称', // dataIndex: 'projName', // align: 'center', // key: 'projName', // fixed: 'left', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '产权所属者', // dataIndex: 'authorName', // align: 'center', // key: 'authorName', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '类型', // dataIndex: 'type', // key: 'type', // width: 130, // align: 'center', // render: (text) =>
{text == 'CORRECTION1' ? '一次补正' : text == 'CORRECTION2' ? '二次补正' : ''}
, // }, // { // title: '补正种类', // dataIndex: 'correctionType', // key: 'correctionType', // align: 'center', // width: 130, // render: (text) =>
{text == 'CODE' ? '代码' : text == 'MANUAL' ? '操作手册' : text == 'ALL' ? '全部补正' : ''}
, // }, // { // title: '补正原因', // dataIndex: 'correctionReason', // key: 'correctionReason', // align: 'center', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '申请补正时间', // dataIndex: 'gmtCreate', // key: 'gmtCreate', // align: 'center', // width: 200, // }, // { // title: '审核时间', // dataIndex: 'gmtReview', // key: 'gmtReview', // align: 'center', // width: 200, // render: (text) =>
// {text ? text : '—'} //
// }, // { // title: '审核状态', // dataIndex: 'applyStatus', // key: 'applyStatus', // align: 'center', // width: 100, // render: (text) => {text == "APPROVED" ? '已通过' : text == "REJECTED" ? '未通过' : text == "PENDING" ? '待审核' : text == "CANCELED" ? '已取消' : '未知'}, // }, // { // title: '审核意见', // dataIndex: 'reviewReason', // key: 'reviewReason', // align: 'center', // width: 150, // render: (text) =>
{text ? text : '—'}
, // }, // { // title: '补正凭证', // dataIndex: 'correctionVoucherFileKVs', // key: 'correctionVoucherFileKVs', // width: 150, // align: 'center', // render: (_, record) => ( // (record.correctionVoucherFileKVs).map((item: any, index: number) => ( //
{ // window.open(downloadUrl(item.key, false), '_blank') // }}>{item.value}
// )) // ), // }, // ] // //已通过状态 // : applyStatus == 'APPROVED' ? // [ // { // title: '序号', // dataIndex: 'index', // align: 'center', // fixed: 'left', // width: 80, // render: (_text, _record, index) => (page - 1) * 20 + index + 1, // 显示序号,从1开始 // }, // { // title: '系统名称', // dataIndex: 'projName', // align: 'center', // key: 'projName', // width: 150, // fixed: 'left', // render: (text) =>
{text}
, // }, // { // title: '产权所属者', // dataIndex: 'authorName', // align: 'center', // width: 150, // key: 'authorName', // render: (text) =>
{text}
, // }, // { // title: '类型', // dataIndex: 'type', // key: 'type', // width: 130, // align: 'center', // render: (text) =>
{text == 'CORRECTION1' ? '一次补正' : text == 'CORRECTION2' ? '二次补正' : ''}
, // }, // { // title: '补正种类', // width: 130, // dataIndex: 'correctionType', // key: 'correctionType', // align: 'center', // render: (text) =>
{text == 'CODE' ? '代码' : text == 'MANUAL' ? '操作手册' : text == 'ALL' ? '全部补正' : ''}
, // }, // { // title: '补正原因', // width: 150, // dataIndex: 'correctionReason', // key: 'correctionReason', // align: 'center', // render: (text) =>
{text}
, // }, // { // title: '申请补正时间', // dataIndex: 'gmtCreate', // key: 'gmtCreate', // align: 'center', // width: 200, // }, // { // title: '审核时间', // dataIndex: 'gmtReview', // key: 'gmtReview', // align: 'center', // width: 200, // render: (text) =>
// {text ? text : '—'} //
// }, // { // title: '审核状态', // dataIndex: 'applyStatus', // key: 'applyStatus', // align: 'center', // width: 100, // render: (text) => {text == "APPROVED" ? '已通过' : text == "REJECTED" ? '未通过' : text == "PENDING" ? '待审核' : text == "CANCELED" ? '已取消' : '未知'}, // }, // { // title: '审核意见', // dataIndex: 'reviewReason', // key: 'reviewReason', // align: 'center', // width: 150, // render: (text) =>
{text ? text : '—'}
, // }, // { // title: '补正凭证', // dataIndex: 'correctionVoucherFileKVs', // key: 'correctionVoucherFileKVs', // width: 150, // align: 'center', // render: (_, record) => ( // (record.correctionVoucherFileKVs).map((item: any, index: number) => ( //
{ // window.open(downloadUrl(item.key, false), '_blank') // }}>{item.value}
// )) // ), // }, // { // title: '操作', // align: 'center', // width: 180, // fixed: 'right', // render: (_, record) => ( // //
{ // // if (record.correctionType == 'CODE') { // // window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/correction/${record.projId}`) // // } // // if (record.correctionType == 'MANUAL') { // // window.open(`${Axios.defaults?.baseURL}/route/proj/download/manual/correction/${record.projId}`) // // } // // }}> 下载
//
// // //
// ), // } // ] : [{ // title: '序号', // dataIndex: 'index', // align: 'center', // width: 80, // fixed: 'left', // render: (_text, _record, index) => (page - 1) * 20 + index + 1, // 显示序号,从1开始 // }, // { // title: '系统名称', // dataIndex: 'projName', // align: 'center', // key: 'projName', // fixed: 'left', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '产权所属者', // dataIndex: 'authorName', // align: 'center', // key: 'authorName', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '类型', // dataIndex: 'type', // width: 130, // key: 'type', // align: 'center', // render: (text) =>
{text == 'CORRECTION1' ? '一次补正' : text == 'CORRECTION2' ? '二次补正' : ''}
, // }, // { // title: '补正种类', // dataIndex: 'correctionType', // width: 130, // key: 'correctionType', // align: 'center', // render: (text) =>
{text == 'CODE' ? '代码' : text == 'MANUAL' ? '操作手册' : text == 'ALL' ? '全部补正' : ''}
, // }, // { // title: '补正原因', // dataIndex: 'correctionReason', // key: 'correctionReason', // align: 'center', // width: 150, // render: (text) =>
{text}
, // }, // { // title: '申请补正时间', // dataIndex: 'gmtCreate', // key: 'gmtCreate', // align: 'center', // width: 200, // }, // { // title: '审核时间', // dataIndex: 'gmtReview', // key: 'gmtReview', // align: 'center', // width: 200, // render: (text) =>
// {text ? text : '—'} //
// }, // { // title: '审核状态', // dataIndex: 'applyStatus', // key: 'applyStatus', // align: 'center', // width: 100, // render: (text) => {text == "APPROVED" ? '已通过' : text == "REJECTED" ? '未通过' : text == "PENDING" ? '待审核' : text == "CANCELED" ? '已取消' : '未知'}, // }, // { // title: '审核意见', // dataIndex: 'reviewReason', // key: 'reviewReason', // align: 'center', // width: 150, // render: (text) =>
{text ? text : '—'}
, // }, // { // title: '补正凭证', // dataIndex: 'correctionVoucherFileKVs', // key: 'correctionVoucherFileKVs', // width: 150, // align: 'center', // render: (_, record) => ( // (record.correctionVoucherFileKVs).map((item: any, index: number) => ( //
{ // window.open(downloadUrl(item.key, false), '_blank') // }}>{item.value}
// )) // ), // }, // { // title: '操作', // align: 'center', // fixed: 'right', // width: 180, // render: (_, record) => ( // // {record.applyStatus} // record.applyStatus == 'APPROVED' ? ( //
// // //
// ) : record.applyStatus == 'PENDING' ? (
{ // // console.log(record); // setRevokeModal(true) // setprojCorrectionApplyId(record.projCorrectionApplyId) // }}> 撤销
) : (<>—) // ), // } // ] const dispath = useDispatch() const redxuState: any = useSelector(state => state) const correctionArray = redxuState.correctionArray const total = redxuState.correctionTotal const newCorrection = redxuState.newCorrection const [projCorrectionApplyId, setprojCorrectionApplyId] = useState('') //要撤销的id // const correctionType = state?state.correctionType:'' const getData = (page: number) => { get({ messageApi, url: `/api/proj/correction/apply/listpage/self`, // url: `/api/proj/refund/apply/listpage?applyStatus=${state.type}`, config: { params: { page: page, rows: 20, projName: keyWords, applyStatus: applyStatus, type: correctionNumType, correctionType: correctionType, authorId: authorId } }, onBefore() { setIsLoading(true) }, onSuccess(data: any) { // console.log('呵呵', data.data.rows); // setData(data.data.rows) dispath({ type: 'upCorrectionArray', val: data.data.rows }) dispath({ type: 'upCorrectionTotal', val: data.data.total }) // setTotal(data.data.total) }, onFinally() { setIsLoading(false) }, }) } // 撤销补正 const projRefund = () => { put({ messageApi, url: `/api/proj/correction/apply/cancel/self/${projCorrectionApplyId}`, onBefore() { }, onSuccess() { setRevokeModal(false) messageApi.success('已撤销'); get({ messageApi, url: `/api/proj/correction/apply/listpage/self`, // url: `/api/proj/refund/apply/listpage?applyStatus=${state.type}`, config: { params: { page: page, rows: 20, projName: keyWords, applyStatus: applyStatus, type: correctionNumType, correctionType: correctionType, authorId: authorId } }, onSuccess(data: any) { // console.log(data.data.rows); // setData(data.data.rows) // setTotal(data.data.total) if (data.data.rows.length == 0 && page > 1) { getData(page - 1) } else { dispath({ type: 'upCorrectionArray', val: data.data.rows }) dispath({ type: 'upCorrectionTotal', val: data.data.total }) } } }) }, onFinally() { // setIsProjIntroductionLoading(false) // renderData() } }) } useEffect(() => { // getData(1) setPage(1) getData(1) // console.log(type); // console.log('嘻嘻',correctionArray); }, [keyWords, applyStatus, authorId, correctionNumType, correctionType]) useEffect(() => { // 获取id为refun的元素 const refun: any = document.getElementById('refun'); // 当更换页码时候滚动到最上面 refun.scrollTop = 0; }, [correctionArray]) useEffect(() => { // getData(1) if (newCorrection) { setPage(1) getData(1) dispath({ type: 'newCorrection', val: false }) } }, [newCorrection]) return (
{contextHolder}
{correctionArray.length == 0 ?
: <> {correctionArray.map((item: any, index: any) => { const downCode = [ { key: 'downword', label: (
{ window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/correction/${item.projId}`) }} > Word
), }, { key: 'downpdf', label: (
{ window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/correction/pdf/${item.projId}`) }} > PDF
), }, ] const downManual = [ { key: 'downword', label: (
{ window.open(`${Axios.defaults?.baseURL}/route/proj/download/manual/correction/${item.projId}`) }} > Word
), }, { key: 'downpdf', label: (
{ window.open(`${Axios.defaults?.baseURL}/route/proj/download/manual/correction/pdf/${item.projId}`) }} > PDF
), }, ] const voucherItems = item.correctionVoucherFileKVs.map((item: any) => ({ key: item.key, label: (
{ window.open(downloadUrl(item.key, false), '_blank') }} style={{ maxWidth: 200, whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }} title={item.value} > {item.value}
), })); return (
{/*
{(page - 1) * 20 + index + 1}
*/}
申请时间 : {item.gmtCreate}
{item.projName}
{item.type == 'CORRECTION1' ? '一次补正' : item.type == 'CORRECTION2' ? '二次补正' : ''}
{item.correctionType == 'CODE' ? '代码' : item.correctionType == 'MANUAL' ? '操作手册' : item.correctionType == 'ALL' ? '全部补正' : ''}
100 ? '12px' : '18px' }} > {(page - 1) * 20 + index + 1}
{item.authorName}
补正凭证
(查看)
补正原因
{item.correctionReason}
{/*
{item.applyStatus}
*/}
{item.applyStatus == 'PENDING' ? '待审核' : item.applyStatus == 'CANCELED' ? '已撤销' : item.applyStatus == 'APPROVED' ? '已通过' : item.applyStatus == 'REJECTED' ? '未通过' : '未知状态'}
{item.gmtReview}
审核意见 : {item.reviewReason}
{ setRevokeModal(true) setprojCorrectionApplyId(item.projCorrectionApplyId) }} style={{ display: item.applyStatus == 'PENDING' ? 'block' : 'none' }} >撤销补正
下载代码
下载手册
) })} }
{ setPage(page) getData(page) }} />
{ setRevokeModal(false) projRefund() }} onCancel={() => { setRevokeModal(false) }} okButtonProps={{ style: { background: 'red', color: 'white' } }} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: `${height}px`, }}>
是否撤销该条补正申请
) }