вабба-лабба-даб-даб

master
Алексей Алексей 2026-06-13 11:35:28 +10:00
parent 60ecbc5361
commit 38bf6c33c7
3 changed files with 31 additions and 24 deletions

View File

@ -8,7 +8,7 @@ anyhow = "1.0.102"
bigdecimal = "0.4.10" bigdecimal = "0.4.10"
chrono = { version = "0.4.44", features = ["serde"] } chrono = { version = "0.4.44", features = ["serde"] }
dotenvy = "0.15.7" dotenvy = "0.15.7"
eframe = "0.34.2" eframe = {version = "0.34.2", features = ["glow"]}
egui = "0.34.2" egui = "0.34.2"
egui_dock = "0.19.1" egui_dock = "0.19.1"
egui_extras = {version = "0.34.2", features = ["datepicker"]} egui_extras = {version = "0.34.2", features = ["datepicker"]}
@ -20,5 +20,3 @@ tokio={version = "1.52.3", features = ["full"]}
[target.'cfg(target_os="windows")'.dependencies] [target.'cfg(target_os="windows")'.dependencies]
eframe = {version ="0.34.2",default-features=false, features=["glow"]} eframe = {version ="0.34.2",default-features=false, features=["glow"]}

View File

@ -7,7 +7,6 @@ use crate::{
Equipment, LoginModalState, LoginStatus, Material, MaterialCategory, MaterialRow, Equipment, LoginModalState, LoginStatus, Material, MaterialCategory, MaterialRow,
ModalStatus, ModalWinState, Position, Worker, ModalStatus, ModalWinState, Position, Worker,
}, },
payment_tab::PaymentTabViewer,
tab::*, tab::*,
worker_tab::{self, *}, worker_tab::{self, *},
}; };
@ -166,14 +165,13 @@ impl eframe::App for App<'_> {
struct MainTabViewer { struct MainTabViewer {
positions: Arc<RwLock<Option<Vec<Position>>>>, positions: Arc<RwLock<Option<Vec<Position>>>>,
workers: Arc<RwLock<Option<Vec<Worker>>>>, workers: Arc<RwLock<Vec<Worker>>>,
equipment: Arc<RwLock<Option<Vec<Equipment>>>>, equipment: Arc<RwLock<Option<Vec<Equipment>>>>,
db_oper: DBOperator, db_oper: DBOperator,
worker_tabs: WorkerTabViewer, worker_tabs: WorkerTabViewer,
worker_tree: egui_dock::DockState<Tab>, worker_tree: egui_dock::DockState<Tab>,
material_tabs: MaterialTabViewer, material_tabs: MaterialTabViewer,
material_tree: egui_dock::DockState<Tab>, material_tree: egui_dock::DockState<Tab>,
payment_tabs: PaymentTabViewer,
rt: tokio::runtime::Runtime, rt: tokio::runtime::Runtime,
equipment_modal_state: ModalWinState, equipment_modal_state: ModalWinState,
is_dark_theme: bool, is_dark_theme: bool,
@ -188,9 +186,9 @@ impl Default for MainTabViewer {
positions: Arc::new(RwLock::new(Option::Some( positions: Arc::new(RwLock::new(Option::Some(
rt.block_on(async { db_oper.get_position().await.unwrap() }), rt.block_on(async { db_oper.get_position().await.unwrap() }),
))), ))),
workers: Arc::new(RwLock::new(Option::Some( workers: Arc::new(RwLock::new(
rt.block_on(async { db_oper.get_workers().await.unwrap() }), rt.block_on(async { db_oper.get_workers().await.unwrap() }),
))), )),
equipment: Arc::new(RwLock::new(Option::Some( equipment: Arc::new(RwLock::new(Option::Some(
rt.block_on(async { db_oper.get_equipment().await.unwrap() }), rt.block_on(async { db_oper.get_equipment().await.unwrap() }),
))), ))),
@ -217,7 +215,6 @@ impl Default for MainTabViewer {
tab_type: TabTypes::MaterialTypeList, tab_type: TabTypes::MaterialTypeList,
}, },
]), ]),
payment_tabs: PaymentTabViewer::default(),
rt, rt,
is_dark_theme: true, is_dark_theme: true,
interface_scale_ratio: 1.2, interface_scale_ratio: 1.2,
@ -243,7 +240,6 @@ impl MainTabViewer {
is_admin, is_admin,
worker_tabs: WorkerTabViewer::new(is_admin), worker_tabs: WorkerTabViewer::new(is_admin),
material_tabs: MaterialTabViewer::new(is_admin), material_tabs: MaterialTabViewer::new(is_admin),
payment_tabs: PaymentTabViewer::new(is_admin),
..Default::default() ..Default::default()
} }
} }
@ -360,25 +356,37 @@ impl MainTabViewer {
ui.end_row(); ui.end_row();
ui.label("Инв. номер"); ui.label("Инв. номер");
let mut inv_num = self ui.text_edit_singleline(
.equipment_modal_state self.equipment_modal_state
.data .data
.get_mut("inv_number") .get_mut("inv_number")
.unwrap(); .unwrap(),
ui.text_edit_singleline(inv_num); );
ui.end_row(); ui.end_row();
ui.label("Ответственный"); ui.label("Ответственный");
// egui::ComboBox::new("process_equipment_combobox"); egui::ComboBox::new("process_equipment_combobox", "").show_ui(ui, |ui| {
for wkrk in self.workers.read().clone().iter() {
ui.selectable_value(
&mut self
.equipment_modal_state
.data
.get_mut("worker_id")
.unwrap(),
&mut wkrk.id.to_string(),
wkrk.full_name.clone(),
);
}
});
ui.end_row(); ui.end_row();
ui.label("Дата последнего\nтехобслуживания"); ui.label("Дата последнего\nтехобслуживания");
let mut maintenance = self ui.text_edit_singleline(
.equipment_modal_state self.equipment_modal_state
.data .data
.get_mut("maintenance_date") .get_mut("maintenance_date")
.unwrap(); .unwrap(),
ui.text_edit_singleline(maintenance); );
}); });
} }
}); });

View File

@ -11,12 +11,13 @@ mod worker_tab;
fn main() { fn main() {
dotenvy::dotenv().ok(); dotenvy::dotenv().ok();
database::estabilish_connection(); database::estabilish_connection();
let native_opts = eframe::NativeOptions { let mut native_opts = eframe::NativeOptions {
viewport: egui::ViewportBuilder::default() viewport: egui::ViewportBuilder::default()
.with_inner_size([700.0, 300.0]) .with_inner_size([700.0, 300.0])
.with_min_inner_size([650.0, 200.0]), .with_min_inner_size([650.0, 200.0]),
..Default::default() ..Default::default()
}; };
native_opts.renderer = eframe::Renderer::Glow;
eframe::run_native( eframe::run_native(
"BCS", "BCS",