"use client"; import * as React from "react"; import Grid from "@mui/material/Grid"; import { useState,useEffect, useMemo } from 'react' import Paper from "@mui/material/Paper"; import { TFunction } from "i18next"; import { useTranslation } from "react-i18next"; import {Card,CardHeader} from '@mui/material'; import CustomSearchForm from "../CustomSearchForm/CustomSearchForm"; import CustomDatagrid from '../CustomDatagrid/CustomDatagrid'; import ReactApexChart from 'react-apexcharts'; import { ApexOptions } from 'apexcharts'; import { GridColDef, GridRowSelectionModel} from '@mui/x-data-grid'; import ReportProblemIcon from '@mui/icons-material/ReportProblem'; import dynamic from 'next/dynamic'; import '../../app/global.css'; import { AnyARecord, AnyCnameRecord } from "dns"; import SearchBox, { Criterion } from "../SearchBox"; import ProgressByClientSearch from "@/components/ProgressByClientSearch"; import { Suspense } from "react"; import ProgressCashFlowSearch from "@/components/ProgressCashFlowSearch"; const ProjectCashFlow: React.FC = () => { const [selectionModel, setSelectionModel] : any[] = React.useState([]); // const series: ApexAxisChartSeries | ApexNonAxisChartSeries = [{ // name: 'Monthly Income', // type: 'line', // data: [80, 55, 40, 65, 70], // }, // { // name: 'Monthly Incomess', // type: 'column', // data: [80, 55, 40, 65, 70], // } // ]; const columns = [ { id: 'projectCode', field: 'projectCode', headerName: "Project Code", flex: 1, }, { id: 'projectName', field: 'projectName', headerName: "Project Name", flex: 1, }, { id: 'team', field: 'team', headerName: "Team", flex: 1, }, { id: 'teamLeader', field: 'teamLeader', headerName: "Team Leader", flex: 1, }, { id: 'startDate', field: 'startDate', headerName: "Start Date", flex: 1, }, { id: 'targetEndDate', field: 'targetEndDate', headerName: "Target End Date", flex: 1, }, { id: 'client', field: 'client', headerName: "Client", flex: 1, }, { id: 'subsidiary', field: 'subsidiary', headerName: "Subsidiary", flex: 1, }, ]; const options: ApexOptions = { chart: { height: 350, type: 'line', }, plotOptions: { bar: { horizontal: false, distributed: false, }, }, dataLabels: { enabled: false }, xaxis: { categories: [ 'Q1', 'Q2', 'Q3', 'Q4', 'Q5', 'Q6', 'Q7', 'Q8', 'Q9', 'Q10', 'Q11', 'Q12', ], }, yaxis: [{ title: { text: 'Monthly Income and Expenditure (HKD)' }, labels: { maxWidth: 300, style: { cssClass: 'apexcharts-yaxis-label', }, }, }, { opposite: true, title: { text: 'Cumulative Income and Expenditure (HKD)' }} ], title: { text: 'Current Stage Completion Percentage', align: 'center' }, grid: { borderColor: '#f1f1f1', }, annotations: { }, series:[ { name:"Monthly Income", type:"column", color: "#ffde91", data:[0,110000,0,0,185000,0,0,189000,0,0,300000,0] }, { name:"Monthly Expenditure", type:"column", color: "#82b59d", data:[0,160000,120000,120000,55000,55000,55000,55000,55000,70000,55000,55000] }, { name:"Cumulative Income", type:"line", color: "#EE6D7A", data:[1,2,3,5,6,9,8,5,6,1,16,15] }, { name:"Cumulative Expenditure", type:"line", color: "#EE6D7A", data:[1,2,3,5,6,9,8,5,6,1,16,15] } ] }; const rows = [{id: 1,projectCode:"M1001",projectName:"Consultancy Project A", team:"XXX", teamLeader:"XXX", startDate:"01/07/2022", targetEndDate: "01/04/2024", client:"Client B", subsidiary:"N/A"}, {id: 2,projectCode:"M1301",projectName:"Consultancy Project AAAA", team:"XXX", teamLeader:"XXX", startDate:"01/09/2022", targetEndDate: "20/02/2024", client:"Client C", subsidiary:"Subsidiary A"}, {id: 3,projectCode:"M1354",projectName:"Consultancy Project BBB", team:"YYY", teamLeader:"YYY", startDate:"01/02/2023", targetEndDate: "31/01/2024", client:"Client D", subsidiary:"Subsidiary C"} ] const [selectedTeamData, setSelectedTeamData] : any[] = React.useState(rows); const handleSelectionChange = (newSelectionModel: GridRowSelectionModel) => { const selectedRowsData = selectedTeamData.filter((row:any) => newSelectionModel.includes(row.id) ); console.log(selectedRowsData) } return ( <> }>
); }; export default ProjectCashFlow;