Spaces:
Running
Running
сделай сайт для учета сделок по продажам, додумай сам как сделать лучше, реализуй с помощью веб-технологий вроде HTML, CSS, JavaScript, PHPи базой данный SQL на первой странице должны быть представлены общая сумма на затраты на закупки, общая сумма продаж, маржинальность сделок, информация по сделками краткий список последних сделок, график статистики по продажам, сделки должны иметь собственный номер которые начинаются с MT сделки должны иметь статусы активные, в ожидании, завершены, отменены. В системе должен быть реализован поиск по сделками клиентам и поставщикам. В системе должна быть возможность учитывать клиентов поставщиков и сделки продаж по ним. при создании сделок должно открываться новое окно в котором будет табличная форма с редактируемыми полями "порядковый номер", "наименование товара", "количество", "цена за единицу с ндс 5%", "общая стоимость с ндс 5%", "накрутка в процентах", "наименование товара закупки", "цена закупки за шт.", "общая цена закупки за шт.", "поставщик товара", Столбец цена за единицу с ндс 5% должна зависеть от цена закупки за шт. и увеличиваться на процент указанный в столбике накрутка в процентах, при этом должна быть возможность менять цены в столбике "цена за единицу с ндс 5%" вручную если необходимо, должна быть возможность массовой работы с товарами на пример все проставить накрутку 30%, должна быть возможность указать что товар доставлен поставив галочку, должна быть возможность массовой загрузки товаров в таблицу с помощью excel, должен быть доступен импорт товаров путем скачивания таблицы excel на компьютер, должна быть возможность указывать поставщиков для каждой сделки, должна быть возможность добавлять множество сделок клиенту, у каждого клиента должна быть карточка в которой будет указаны какие сделки с ним совершались и какие товары он покупал, должна быть взаимосвязь между сделками клиентами и поставщиками, должна быть возможность хранить и заполнять данные о клиенте и поставщике такие как контактные данные почта телефон лицо для связи, должно быть место куда можно записать какие то комментарии, все расчеты должны быть в рублях, язык интерфейса русский
0c47432 verified | <html lang="ru"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>DealFlow Tracker - Главная</title> | |
| <link rel="stylesheet" href="style.css"> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> | |
| <script src="components/navbar.js"></script> | |
| <script src="components/sidebar.js"></script> | |
| <script src="components/quick-stats.js"></script> | |
| <script src="components/sales-chart.js"></script> | |
| <script src="components/recent-deals.js"></script> | |
| </head> | |
| <body class="bg-gray-50"> | |
| <custom-navbar></custom-navbar> | |
| <div class="flex"> | |
| <custom-sidebar></custom-sidebar> | |
| <main class="flex-1 p-8" style="margin-top: 60px;"> | |
| <h1 class="text-2xl font-bold text-gray-800 mb-6">Панель управления</h1> | |
| <custom-quick-stats></custom-quick-stats> | |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mt-6"> | |
| <div class="lg:col-span-2"> | |
| <div class="bg-white rounded-lg shadow p-6"> | |
| <div class="flex justify-between items-center mb-4"> | |
| <h2 class="text-lg font-semibold">Статистика продаж</h2> | |
| <select class="form-select text-sm" id="chartPeriod"> | |
| <option value="week">За неделю</option> | |
| <option value="month" selected>За месяц</option> | |
| <option value="quarter">За квартал</option> | |
| <option value="year">За год</option> | |
| </select> | |
| </div> | |
| <custom-sales-chart></custom-sales-chart> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="bg-white rounded-lg shadow p-6"> | |
| <h2 class="text-lg font-semibold mb-4">Последние сделки</h2> | |
| <custom-recent-deals></custom-recent-deals> | |
| <div class="mt-4 text-center"> | |
| <a href="deals.html" class="text-blue-600 hover:text-blue-800 text-sm font-medium">Все сделки →</a> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </main> | |
| </div> | |
| <script> | |
| feather.replace(); | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // Initialize sales chart | |
| const ctx = document.querySelector('custom-sales-chart').shadowRoot.querySelector('#salesChart'); | |
| new Chart(ctx, { | |
| type: 'line', | |
| data: { | |
| labels: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл'], | |
| datasets: [ | |
| { | |
| label: 'Продажи', | |
| data: [450000, 520000, 380000, 610000, 590000, 720000, 680000], | |
| borderColor: '#4F46E5', | |
| backgroundColor: 'rgba(79, 70, 229, 0.1)', | |
| tension: 0.3, | |
| fill: true | |
| }, | |
| { | |
| label: 'Закупки', | |
| data: [320000, 400000, 280000, 450000, 420000, 510000, 470000], | |
| borderColor: '#10B981', | |
| backgroundColor: 'rgba(16, 185, 129, 0.1)', | |
| tension: 0.3, | |
| fill: true | |
| } | |
| ] | |
| }, | |
| options: { | |
| responsive: true, | |
| plugins: { | |
| legend: { | |
| position: 'top', | |
| }, | |
| tooltip: { | |
| callbacks: { | |
| label: function(context) { | |
| return context.dataset.label + ': ' + context.raw.toLocaleString('ru-RU') + ' ₽'; | |
| } | |
| } | |
| } | |
| }, | |
| scales: { | |
| y: { | |
| ticks: { | |
| callback: function(value) { | |
| return value.toLocaleString('ru-RU') + ' ₽'; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| }); | |
| </script> | |
| <script src="script.js"></script> | |
| </body> | |
| </html> |