SN号逻辑修改

This commit is contained in:
JIe 2025-03-26 15:10:09 +08:00
parent c5d17ba613
commit 32cfe3d7df

View File

@ -67,6 +67,7 @@ struct MysqlConfig {
password: String, password: String,
database: String, database: String,
work_order: String, work_order: String,
order_number: String
} }
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
enum Message { enum Message {
@ -77,6 +78,7 @@ enum Message {
PasswordChanged(String), PasswordChanged(String),
DatabaseChanged(String), DatabaseChanged(String),
WorkOrderChanged(String), WorkOrderChanged(String),
OrderNumberChanged(String),
LabelChanged(String), LabelChanged(String),
TypeSelected(DownloadType), TypeSelected(DownloadType),
OnlineChecked(bool), OnlineChecked(bool),
@ -127,6 +129,10 @@ impl MainWindow {
self.mysql_config.work_order = work_order; self.mysql_config.work_order = work_order;
Task::none() Task::none()
} }
Message::OrderNumberChanged(order_number) =>{
self.mysql_config.order_number = order_number;
Task::none()
}
Message::TypeSelected(download_type) => { Message::TypeSelected(download_type) => {
self.selection = Some(download_type); self.selection = Some(download_type);
Task::none() Task::none()
@ -241,6 +247,8 @@ impl MainWindow {
text_input("Database", &self.mysql_config.database).on_input(Message::DatabaseChanged); text_input("Database", &self.mysql_config.database).on_input(Message::DatabaseChanged);
let work_order_input = text_input("WorkOrder", &self.mysql_config.work_order) let work_order_input = text_input("WorkOrder", &self.mysql_config.work_order)
.on_input(Message::WorkOrderChanged); .on_input(Message::WorkOrderChanged);
let order_number_input = text_input("OrderNumber", &self.mysql_config.order_number)
.on_input(Message::OrderNumberChanged);
let label_input = text_input("label", &self.label) let label_input = text_input("label", &self.label)
.on_input(Message::LabelChanged) .on_input(Message::LabelChanged)
.on_submit(Message::Start()) .on_submit(Message::Start())
@ -248,7 +256,8 @@ impl MainWindow {
let content = column![ let content = column![
row![ip_input, port_input].spacing(5), row![ip_input, port_input].spacing(5),
row![username_input, password_input].spacing(5), row![username_input, password_input].spacing(5),
row![database_input, work_order_input].spacing(5), row![database_input, order_number_input].spacing(5),
row![work_order_input].spacing(5),
row![ row![
radio( radio(
"App", "App",
@ -292,18 +301,22 @@ impl MainWindow {
fn start(&mut self, sender: Sender<Message>) -> () { fn start(&mut self, sender: Sender<Message>) -> () {
let mes_config = self.mysql_config.clone(); let mes_config = self.mysql_config.clone();
let label = self.label.clone(); let mut label = self.label.clone();
let download_type: DownloadType = self.selection.unwrap(); let download_type: DownloadType = self.selection.unwrap();
let online = self.is_online.clone(); let online = self.is_online.clone();
if label == "" { if label == "" {
add_log("请输入Label".to_string()); add_log("请输入Label".to_string());
return; return;
} }
label = label.replace(":", "");
label = label.to_uppercase();
label = self.mysql_config.order_number.clone() + &label[label.len() - 6..];
if label.contains(":"){ if label.contains(":"){
add_log("Label不合法".to_string()); add_log("Label不合法".to_string());
self.label = "".to_string(); self.label = "".to_string();
return; return;
} }
add_log("Label: ".to_string() + label.as_str());
std::thread::spawn(move || { std::thread::spawn(move || {
sleep(std::time::Duration::from_secs(5)); sleep(std::time::Duration::from_secs(5));
let mut download_wrapper = download_wrapper::DownloadWrapper::new(); let mut download_wrapper = download_wrapper::DownloadWrapper::new();
@ -450,6 +463,10 @@ impl MainWindow {
"work_order".to_string(), "work_order".to_string(),
self.mysql_config.work_order.clone().into(), self.mysql_config.work_order.clone().into(),
); );
config.insert(
"order_number".to_string(),
self.mysql_config.order_number.clone().into(),
);
config.insert("is_online".to_string(), self.is_online.clone().into()); config.insert("is_online".to_string(), self.is_online.clone().into());
config.insert( config.insert(
"selection".to_string(), "selection".to_string(),
@ -470,6 +487,7 @@ impl MainWindow {
self.mysql_config.password = config["password"].as_str().unwrap().to_string(); self.mysql_config.password = config["password"].as_str().unwrap().to_string();
self.mysql_config.database = config["database"].as_str().unwrap().to_string(); self.mysql_config.database = config["database"].as_str().unwrap().to_string();
self.mysql_config.work_order = config["work_order"].as_str().unwrap().to_string(); self.mysql_config.work_order = config["work_order"].as_str().unwrap().to_string();
self.mysql_config.order_number = config["order_number"].as_str().unwrap().to_string();
self.is_online = config["is_online"].as_bool().unwrap(); self.is_online = config["is_online"].as_bool().unwrap();
match config["selection"].as_str().unwrap() { match config["selection"].as_str().unwrap() {
"BootLoader" => { "BootLoader" => {