Эта гавно я перепишу

master
Алексей Алексей 2026-05-21 13:52:05 +10:00
parent 666cd516c2
commit 7ccb55cb43
5 changed files with 29 additions and 17 deletions

8
code/Cargo.lock generated
View File

@ -743,7 +743,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"chrono",
"dotenv",
"dotenvy",
"eframe",
"egui",
"egui_dock",
@ -986,12 +986,6 @@ dependencies = [
"litrs",
]
[[package]]
name = "dotenv"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
[[package]]
name = "dotenvy"
version = "0.15.7"

View File

@ -6,7 +6,7 @@ edition = "2024"
[dependencies]
anyhow = "1.0.102"
chrono = { version = "0.4.44", features = ["serde"] }
dotenv = "0.15.0"
dotenvy = "0.15.7"
eframe = "0.34.2"
egui = "0.34.2"
egui_dock = "0.19.1"

View File

@ -16,7 +16,9 @@ enum TabTypes{
Recipe,
Product,
Order,
Settings
Settings,
WorkerList,
WorkerPosition,
}
struct Tab{
tab_type: TabTypes,
@ -84,6 +86,7 @@ struct MainTabViewer {
equipment: std::vec::Vec<crate::models::Equipment>,
db_oper: DBOperator,
worker_tabs: WorkerTabViewer,
worker_tree: egui_dock::DockState<Tab>,
}
impl Default for MainTabViewer{
@ -95,7 +98,17 @@ impl Default for MainTabViewer{
workers: Arc::new(RwLock::new(Option::Some(rt.block_on(async{db_oper.get_workers().await.unwrap()})))),
equipment: vec![models::Equipment::default()],
db_oper,
worker_tabs: WorkerTabViewer{}
worker_tabs: WorkerTabViewer{},
worker_tree: egui_dock::DockState::new(vec![
Tab{
title:"ГойдаЗов".to_owned(),
tab_type:TabTypes::WorkerList,
},
Tab{
title:"Еееееее".to_owned(),
tab_type:TabTypes::WorkerPosition,
}
]),
}
}
}
@ -190,7 +203,9 @@ impl MainTabViewer{
})
}
fn show_salary(&mut self, ui: &mut egui::Ui){
self.worker_tabs.
DockArea::new(&mut self.worker_tree)
.style(Style::from_egui(ui.style().as_ref()))
.show_inside(ui, &mut WorkerTabViewer::default());
}
fn show_material(&mut self, ui: &mut egui::Ui){
ui.label("Сырьё короче да");
@ -234,9 +249,11 @@ impl egui_dock::TabViewer for MainTabViewer{
}
}
#[derive(Default)]
struct WorkerTabViewer{
}
impl egui_dock::TabViewer for WorkerTabViewer{
type Tab = Tab;
fn title(&mut self, tab: &mut Self::Tab) -> egui::WidgetText {

View File

@ -2,7 +2,8 @@ use sqlx::mysql::MySqlPoolOptions;
use sqlx::mysql::MySqlPool;
use dotenv::dotenv;
use dotenvy::dotenv_override;
use std::env;
// use crate::schema::equipment::dsl::*;
// use crate::schema::worker::dsl::*;
use crate::models::*;
@ -12,8 +13,8 @@ pub struct DBOperator{
}
impl DBOperator{
pub fn new() -> Self{
dotenv().ok();
let db_url = dotenv::var("DATABASE_URL").expect("DATABASE_URL установи!");
dotenv_override().ok();
let db_url = env::var("DATABASE_URL").expect("DATABASE_URL установи!");
Self{connection_string:db_url}
}
@ -46,8 +47,8 @@ impl DBOperator{
pub async fn estabilish_connection() -> Result<(), sqlx::Error>{
dotenv().ok();
let db_url = dotenv::var("DATABASE_URL").expect("DATABASE_URL установи!");
dotenv_override().ok();
let db_url = env::var("DATABASE_URL").expect("DATABASE_URL установи!");
let pool = MySqlPoolOptions::new()
.max_connections(5)
.connect(&db_url).await?;

View File

@ -10,7 +10,7 @@ mod database;
// mod schema;
fn main()
{
database::estabilish_connection();
dotenvy::dotenv().ok(); database::estabilish_connection();
let native_opts = eframe::NativeOptions {
viewport: egui::ViewportBuilder::default()
.with_inner_size([400.0,300.0])