вухуху
parent
cd4c66e5c6
commit
36561fc1bb
File diff suppressed because it is too large
Load Diff
|
|
@ -164,9 +164,9 @@ impl eframe::App for App<'_> {
|
||||||
}
|
}
|
||||||
|
|
||||||
struct MainTabViewer {
|
struct MainTabViewer {
|
||||||
positions: Arc<RwLock<Option<Vec<Position>>>>,
|
|
||||||
workers: Arc<RwLock<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>,
|
||||||
|
|
@ -183,9 +183,6 @@ impl Default for MainTabViewer {
|
||||||
let rt = tokio::runtime::Runtime::new().unwrap();
|
let rt = tokio::runtime::Runtime::new().unwrap();
|
||||||
let db_oper = rt.block_on(async { DBOperator::new().await });
|
let db_oper = rt.block_on(async { DBOperator::new().await });
|
||||||
Self {
|
Self {
|
||||||
positions: Arc::new(RwLock::new(Option::Some(
|
|
||||||
rt.block_on(async { db_oper.get_position().await.unwrap() }),
|
|
||||||
))),
|
|
||||||
workers: Arc::new(RwLock::new(
|
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() }),
|
||||||
)),
|
)),
|
||||||
|
|
@ -317,7 +314,7 @@ impl MainTabViewer {
|
||||||
.insert("name".into(), eq.name.clone());
|
.insert("name".into(), eq.name.clone());
|
||||||
self.equipment_modal_state
|
self.equipment_modal_state
|
||||||
.data
|
.data
|
||||||
.insert("inv_numver".into(), eq.inv_number.clone());
|
.insert("inv_number".into(), eq.inv_number.clone());
|
||||||
self.equipment_modal_state
|
self.equipment_modal_state
|
||||||
.data
|
.data
|
||||||
.insert("worker_id".into(), eq.worker.id.to_string());
|
.insert("worker_id".into(), eq.worker.id.to_string());
|
||||||
|
|
@ -335,10 +332,14 @@ impl MainTabViewer {
|
||||||
.insert("name".into(), eq.name.clone());
|
.insert("name".into(), eq.name.clone());
|
||||||
self.equipment_modal_state
|
self.equipment_modal_state
|
||||||
.data
|
.data
|
||||||
.insert("inv_numver".into(), eq.inv_number.clone());
|
.insert("inv_number".into(), eq.inv_number.clone());
|
||||||
self.equipment_modal_state
|
self.equipment_modal_state
|
||||||
.data
|
.data
|
||||||
.insert("worker_id".into(), eq.worker.id.to_string());
|
.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.end_row();
|
||||||
|
|
||||||
ui.label("Ответственный");
|
ui.label("Ответственный");
|
||||||
egui::ComboBox::new("process_equipment_combobox", "").show_ui(ui, |ui| {
|
let workname = self
|
||||||
for wkrk in self.workers.read().clone().iter() {
|
.workers
|
||||||
ui.selectable_value(
|
.read()
|
||||||
&mut self
|
.clone()
|
||||||
|
.iter()
|
||||||
|
.find(|w| {
|
||||||
|
w.id.to_string()
|
||||||
|
== self
|
||||||
.equipment_modal_state
|
.equipment_modal_state
|
||||||
.data
|
.data
|
||||||
.get_mut("worker_id")
|
.get("worker_id")
|
||||||
.unwrap(),
|
.unwrap()
|
||||||
&mut wkrk.id.to_string(),
|
.clone()
|
||||||
wkrk.full_name.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.end_row();
|
||||||
|
|
||||||
ui.label("Дата последнего\nтехобслуживания");
|
ui.label("Дата последнего\nтехобслуживания");
|
||||||
|
|
@ -388,6 +407,13 @@ impl MainTabViewer {
|
||||||
.unwrap(),
|
.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)
|
.id(id)
|
||||||
.show_inside(ui, &mut self.material_tabs);
|
.show_inside(ui, &mut self.material_tabs);
|
||||||
}
|
}
|
||||||
fn show_salary(&mut self, ui: &mut egui::Ui) {
|
fn show_salary(&mut self, ui: &mut egui::Ui) {}
|
||||||
ui.label("Помогите");
|
|
||||||
}
|
|
||||||
fn show_settings(&mut self, ui: &mut egui::Ui) {
|
fn show_settings(&mut self, ui: &mut egui::Ui) {
|
||||||
ui.checkbox(&mut self.is_dark_theme, "Тёмная тема");
|
ui.checkbox(&mut self.is_dark_theme, "Тёмная тема");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ mod payment_tab;
|
||||||
mod recipe_tab;
|
mod recipe_tab;
|
||||||
mod tab;
|
mod tab;
|
||||||
mod worker_tab;
|
mod worker_tab;
|
||||||
|
mod worker_database;
|
||||||
// mod schema;
|
// mod schema;
|
||||||
fn main() {
|
fn main() {
|
||||||
dotenvy::dotenv().ok();
|
dotenvy::dotenv().ok();
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@ use crate::{
|
||||||
database::DBOperator,
|
database::DBOperator,
|
||||||
tab::{TABS_CAN_BE_WINDOWS, Tab, TabTypes},
|
tab::{TABS_CAN_BE_WINDOWS, Tab, TabTypes},
|
||||||
};
|
};
|
||||||
|
/*
|
||||||
|
* Я не придумал, зачем я сделал данный файл. Мой глупый разум решил, что он нужен.
|
||||||
|
*/
|
||||||
pub struct PaymentTabViewer {
|
pub struct PaymentTabViewer {
|
||||||
db_oper: DBOperator,
|
db_oper: DBOperator,
|
||||||
is_admin: bool,
|
is_admin: bool,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue