diff --git a/src/pages/Analytics/Analytics.tsx b/src/pages/Analytics/Analytics.tsx index 74c92a1c..dcff2555 100644 --- a/src/pages/Analytics/Analytics.tsx +++ b/src/pages/Analytics/Analytics.tsx @@ -38,6 +38,9 @@ export default function Analytics() { const [isOpenEnd, setOpenEnd] = useState(false); const [from, setFrom] = useState(null); const [to, setTo] = useState(moment().add(1, "days")); + console.log(moment(to).unix() - moment(from).unix()) + console.log((86400 - (moment(to).unix() - moment(from).unix())) ) + console.log((86400 - (moment(to).unix() - moment(from).unix())) > 0) const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(1000)); @@ -248,7 +251,7 @@ export default function Analytics() { {isMobile ? : "Сбросить"} - + 0}/> diff --git a/src/pages/Analytics/General.tsx b/src/pages/Analytics/General.tsx index ad02d802..fa93cfff 100644 --- a/src/pages/Analytics/General.tsx +++ b/src/pages/Analytics/General.tsx @@ -12,10 +12,12 @@ type GeneralItemsProps = { numberType: "sum" | "percent" | "time"; calculateTime?: boolean; conversionValue?: number; + day: boolean; }; type GeneralProps = { data: GeneralResponse | null; + day: boolean; }; const COLORS: Record = { @@ -28,7 +30,7 @@ const COLORS: Record = { const dateParser = (object: Record): Record => { const result = {} as Record; for (var key in object) { - result[moment.utc(Number(key) * 1000).format("DD/MM/YYYY")] = object[key]; + result[moment.unix(Number(key) * 1000).format("DD/MM/YYYY")] = object[key]; console.log(result); } return result; @@ -48,6 +50,7 @@ const GeneralItem = ({ numberType, calculateTime = false, conversionValue, + day }: GeneralItemsProps) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(700)); @@ -93,7 +96,7 @@ const GeneralItem = ({ { data: Object.keys(general), valueFormatter: (value) => - moment.utc(Number(value) * 1000).format("DD/MM/YYYY"), + moment.unix(Number(value)).format("DD/MM/YYYY HH") + "ч", }, ]} series={[ @@ -121,10 +124,13 @@ const GeneralItemTimeConv = ({ numberType, calculateTime = false, conversionValue, + day }: GeneralItemsProps) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(700)); + console.log("day", day) + const data = Object.entries(general) .sort((a, b) => a[0] - b[0]); @@ -138,7 +144,7 @@ const GeneralItemTimeConv = ({ } return buffer }) - + console.log("data", data) console.log("time", time.reduce((a, b) => (Number(a) + Number(b)), 0)) @@ -179,8 +185,7 @@ const GeneralItemTimeConv = ({ xAxis={[ { data: days, - valueFormatter: (value) => - moment.utc(Number(value) * 1000).format("DD/MM/YYYY"), + valueFormatter: (value) => moment.unix(Number(value)).format("DD/MM/YYYY HH") + "ч", }, ]} series={[ @@ -188,9 +193,9 @@ const GeneralItemTimeConv = ({ data: Object.values(time), valueFormatter: (value) => { console.log("log", value) - return calculateTime ? getCalculatedTime(value) : String((value*100).toFixed(2)) + "%" + return calculateTime ? getCalculatedTime(value) : String((value * 100).toFixed(2)) + "%" } - , + , }, ]} // dataset={Object.entries(general).map(([, v]) => moment.unix(v).format("ss:mm:HH")).reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})} @@ -205,7 +210,7 @@ const GeneralItemTimeConv = ({ ); }; -export const General: FC = ({ data }) => { +export const General: FC = ({ data, day }) => { const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(1000)); const isMobile = useMediaQuery(theme.breakpoints.down(700)); @@ -217,13 +222,34 @@ export const General: FC = ({ data }) => { ); } + + const DATA = {} as GeneralResponse + const currentDate = moment().unix() + const futureCutter = ({ fatherKey, values }: {fatherKey: string, values: Record}) => { + const buffer = {} as Record + for (let key in values) { + console.log(Number(key)) + console.log(currentDate) + console.log((Number(key) - currentDate)) + console.log((Number(key) - currentDate) < 0) + console.log(moment.unix(key).format("HH")) + if ((Number(key) - currentDate) < 0) buffer[key] = values[key] + } + DATA[fatherKey] = buffer + } + + for (let key in data) { + futureCutter({ fatherKey: key, values: data[key] }) + } + console.log(DATA) + const conversionValue = - (Object.values(data.Result).reduce((total, item) => total + item, 0) / - Object.values(data.Open).reduce((total, item) => total + item, 0)) * + (Object.values(DATA.Result).reduce((total, item) => total + item, 0) / + Object.values(DATA.Open).reduce((total, item) => total + item, 0)) * 100; console.log(conversionValue); - // console.log(data.Result) + // console.log(DATA.Result) return ( = ({ data }) => {