import Header from '@/components/Header' import { tenderStore } from '@/store/mobx' import consts from '@/utils/consts' import dayjs from 'dayjs' import React, { useEffect, useState, useMemo } from 'react' import { useActivate } from 'react-activation' import { Link } from 'react-router-dom' import { apiGetSafeSurvey } from './api' import ColumnChart from './columnChart' import './index.scss' import PieChart from './pieChart' export interface SafeColumnCharType { name: 'rectifyed' | 'submit' month: string count: number } export interface SafeLineChartType { month: string percentage: number } interface iRectifyData { auditName: string createTime: string id: string inspectionDetail: string status: number } interface iSummaryState { approvalTotal: number rectifyTotal: number rectifyedTotal: number rectifylist: iRectifyData[] columnarData: SafeColumnCharType[] lineData: SafeLineChartType[] } const Summary: React.FC<{}> = () => { const [ state, setState ] = useState({ approvalTotal: 0, rectifyTotal: 0, rectifyedTotal: 0, rectifylist: [], columnarData: [], lineData: [] }) useEffect(() => { initData() }, [ tenderStore.bid ]) useActivate(() => { initData() }) useActivate(() => initData()) const initData = async () => { const { data, code = -1 } = await apiGetSafeSurvey(tenderStore.bid) if (code === consts.RET_CODE.SUCCESS) { setState({ ...state, ...data }) } } const pieData = useMemo(() => { const data = [ { type: '审批中', value: state.approvalTotal }, { type: '整改中', value: state.rectifyTotal }, { type: '已整改', value: state.rectifyedTotal } ] return data }, [ state.approvalTotal, state.rectifyTotal, state.rectifyedTotal ]) const columnCharData = useMemo(() => { return { columnData: state.columnarData, lineData: state.lineData } }, [ state.columnarData, state.lineData ]) const handleDate = (createTime: string) => { return dayjs(new Date()).diff(dayjs(createTime), 'day') + '天' } return (
整改中 ({state.rectifyTotal})
{state.rectifylist.map(item => { return (
{item.inspectionDetail}
{item.auditName} {handleDate(item.createTime)}
) })}
整改趋势
) } export default Summary