Спаси и сохрани
parent
14c9038df2
commit
07a8d64167
|
|
@ -7,7 +7,7 @@ use crate::{
|
|||
Worker,
|
||||
},
|
||||
};
|
||||
use egui::{TextBuffer, mutex::RwLock};
|
||||
use egui::{TextBuffer, Vec2, mutex::RwLock};
|
||||
use egui_dock::{DockArea, Style, TabViewer};
|
||||
use egui_extras::{Column, TableBuilder};
|
||||
use sqlx::types::BigDecimal;
|
||||
|
|
@ -171,9 +171,22 @@ impl Default for MainTabViewer {
|
|||
impl MainTabViewer {
|
||||
fn show_equipment(&mut self, ui: &mut egui::Ui) {
|
||||
ui.horizontal(|ui| {
|
||||
if ui.button("Добавить").clicked() {}
|
||||
if ui.button("Редактировать").clicked() {}
|
||||
if ui.button("Удалить").clicked() {}
|
||||
if ui.button("Добавить").clicked() {
|
||||
self.equipment_modal_state.is_open = true;
|
||||
self.equipment_modal_state.status = ModalStatus::Add;
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("id".into(), "0".into());
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("name".into(), "".into());
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("inv_numver".into(), "".into());
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("worker_id".into(), "0".into());
|
||||
}
|
||||
});
|
||||
let mut table = TableBuilder::new(ui)
|
||||
.striped(true)
|
||||
|
|
@ -186,9 +199,6 @@ impl MainTabViewer {
|
|||
.column(Column::auto())
|
||||
.sense(egui::Sense::click())
|
||||
.header(30.0, |mut header| {
|
||||
header.col(|ui| {
|
||||
ui.heading("ID");
|
||||
});
|
||||
header.col(|ui| {
|
||||
ui.heading("Название");
|
||||
});
|
||||
|
|
@ -199,15 +209,13 @@ impl MainTabViewer {
|
|||
ui.heading("Ответственный");
|
||||
});
|
||||
header.col(|ui| {
|
||||
ui.heading("Дата последнего\nя техобслуживания");
|
||||
ui.heading("Дата последнего\nтехобслуживания");
|
||||
});
|
||||
})
|
||||
.body(|mut body| {
|
||||
body.ui_mut().style_mut().interaction.selectable_labels = false;
|
||||
for eq in self.equipment.read().clone().unwrap().iter() {
|
||||
body.row(20.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(eq.id.to_string());
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.label(&eq.name);
|
||||
});
|
||||
|
|
@ -220,12 +228,64 @@ impl MainTabViewer {
|
|||
row.col(|ui| {
|
||||
ui.label(eq.maintenance_date.date_naive().to_string());
|
||||
});
|
||||
row.col(|ui| {
|
||||
if ui.button("Удалить").clicked() {
|
||||
println!("WOr!k");
|
||||
}
|
||||
});
|
||||
if row.response().double_clicked() {
|
||||
println!("I love Paris!");
|
||||
self.equipment_modal_state.is_open = true;
|
||||
self.equipment_modal_state.status = ModalStatus::Edit;
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("id".into(), eq.id.to_string());
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("name".into(), eq.name.clone());
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("inv_numver".into(), eq.inv_number.clone());
|
||||
self.equipment_modal_state
|
||||
.data
|
||||
.insert("worker_id".into(), eq.worker.id.to_string());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
if self.equipment_modal_state.is_open {
|
||||
egui::Modal::new(egui::Id::new("process_equipment_modal")).show(ui.ctx(), |ui| {
|
||||
if ui.button("Закрыть").clicked() {
|
||||
self.equipment_modal_state.is_open = false;
|
||||
}
|
||||
egui::Grid::new("process_equipment_grid").show(ui, |ui| {
|
||||
ui.label("Название");
|
||||
let mut name = self.equipment_modal_state.data.get_mut("name").unwrap();
|
||||
ui.add_sized(Vec2::new(200.0, 20.0), egui::TextEdit::singleline(name));
|
||||
ui.end_row();
|
||||
|
||||
ui.label("Инв. номер");
|
||||
let mut inv_num = self
|
||||
.equipment_modal_state
|
||||
.data
|
||||
.get_mut("inv_number")
|
||||
.unwrap();
|
||||
ui.text_edit_singleline(inv_num);
|
||||
ui.end_row();
|
||||
|
||||
ui.label("Ответственный");
|
||||
// egui::ComboBox::new("process_equipment_combobox");
|
||||
ui.end_row();
|
||||
|
||||
ui.label("Дата последнего\nтехобслуживания");
|
||||
let mut maintenance = self
|
||||
.equipment_modal_state
|
||||
.data
|
||||
.get_mut("maintenance_date")
|
||||
.unwrap();
|
||||
ui.text_edit_singleline(maintenance);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
fn show_worker(&mut self, ui: &mut egui::Ui) {
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||
|
||||
|
||||
mod app;
|
||||
mod models;
|
||||
mod database;
|
||||
mod models;
|
||||
// mod schema;
|
||||
fn main()
|
||||
{
|
||||
fn main() {
|
||||
dotenvy::dotenv().ok();
|
||||
database::estabilish_connection();
|
||||
let native_opts = eframe::NativeOptions {
|
||||
viewport: egui::ViewportBuilder::default()
|
||||
.with_inner_size([400.0,300.0])
|
||||
.with_min_inner_size([300.0,200.0]),
|
||||
.with_inner_size([700.0, 300.0])
|
||||
.with_min_inner_size([650.0, 200.0]),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
eframe::run_native("BCS", native_opts, Box::new(|cc| Ok(Box::new(app::App::new(cc)))),);
|
||||
|
||||
}
|
||||
eframe::run_native(
|
||||
"BCS",
|
||||
native_opts,
|
||||
Box::new(|cc| Ok(Box::new(app::App::new(cc)))),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue