вухуху

master
Алексей Алексей 2026-06-16 08:34:28 +10:00
parent cd4c66e5c6
commit 36561fc1bb
5 changed files with 227 additions and 191 deletions

349
code/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -164,9 +164,9 @@ impl eframe::App for App<'_> {
}
struct MainTabViewer {
positions: Arc<RwLock<Option<Vec<Position>>>>,
workers: Arc<RwLock<Vec<Worker>>>,
equipment: Arc<RwLock<Option<Vec<Equipment>>>>,
db_oper: DBOperator,
worker_tabs: WorkerTabViewer,
worker_tree: egui_dock::DockState<Tab>,
@ -183,9 +183,6 @@ impl Default for MainTabViewer {
let rt = tokio::runtime::Runtime::new().unwrap();
let db_oper = rt.block_on(async { DBOperator::new().await });
Self {
positions: Arc::new(RwLock::new(Option::Some(
rt.block_on(async { db_oper.get_position().await.unwrap() }),
))),
workers: Arc::new(RwLock::new(
rt.block_on(async { db_oper.get_workers().await.unwrap() }),
)),
@ -317,7 +314,7 @@ impl MainTabViewer {
.insert("name".into(), eq.name.clone());
self.equipment_modal_state
.data
.insert("inv_numver".into(), eq.inv_number.clone());
.insert("inv_number".into(), eq.inv_number.clone());
self.equipment_modal_state
.data
.insert("worker_id".into(), eq.worker.id.to_string());
@ -335,10 +332,14 @@ impl MainTabViewer {
.insert("name".into(), eq.name.clone());
self.equipment_modal_state
.data
.insert("inv_numver".into(), eq.inv_number.clone());
.insert("inv_number".into(), eq.inv_number.clone());
self.equipment_modal_state
.data
.insert("worker_id".into(), eq.worker.id.to_string());
self.equipment_modal_state.data.insert(
"maintenance_date".into(),
eq.maintenance_date.date_naive().to_string(),
);
}
});
}
@ -365,19 +366,37 @@ impl MainTabViewer {
ui.end_row();
ui.label("Ответственный");
egui::ComboBox::new("process_equipment_combobox", "").show_ui(ui, |ui| {
for wkrk in self.workers.read().clone().iter() {
ui.selectable_value(
&mut self
let workname = self
.workers
.read()
.clone()
.iter()
.find(|w| {
w.id.to_string()
== self
.equipment_modal_state
.data
.get_mut("worker_id")
.unwrap(),
&mut wkrk.id.to_string(),
wkrk.full_name.clone(),
);
}
});
.get("worker_id")
.unwrap()
.clone()
})
.unwrap()
.full_name
.clone();
egui::ComboBox::new("process_equipment_combobox", "")
.selected_text(workname)
.show_ui(ui, |ui| {
for wkrk in self.workers.read().clone().iter() {
ui.selectable_value(
self.equipment_modal_state
.data
.get_mut("worker_id")
.unwrap(),
wkrk.id.to_string(),
&wkrk.full_name,
);
}
});
ui.end_row();
ui.label("Дата последнего\nтехобслуживания");
@ -388,6 +407,13 @@ impl MainTabViewer {
.unwrap(),
);
});
} else {
ui.label("Вы уверены, что хотите удалить:");
ui.strong(format!(
"{} | {}?",
self.equipment_modal_state.data.get("name").unwrap(),
self.equipment_modal_state.data.get("inv_number").unwrap()
));
}
});
}
@ -406,9 +432,7 @@ impl MainTabViewer {
.id(id)
.show_inside(ui, &mut self.material_tabs);
}
fn show_salary(&mut self, ui: &mut egui::Ui) {
ui.label("Помогите");
}
fn show_salary(&mut self, ui: &mut egui::Ui) {}
fn show_settings(&mut self, ui: &mut egui::Ui) {
ui.checkbox(&mut self.is_dark_theme, "Тёмная тема");

View File

@ -7,6 +7,7 @@ mod payment_tab;
mod recipe_tab;
mod tab;
mod worker_tab;
mod worker_database;
// mod schema;
fn main() {
dotenvy::dotenv().ok();

View File

@ -2,7 +2,9 @@ use crate::{
database::DBOperator,
tab::{TABS_CAN_BE_WINDOWS, Tab, TabTypes},
};
/*
* Я не придумал, зачем я сделал данный файл. Мой глупый разум решил, что он нужен.
*/
pub struct PaymentTabViewer {
db_oper: DBOperator,
is_admin: bool,

View File