From d3172188565254e8096192cbd5793ec1f3b42327 Mon Sep 17 00:00:00 2001 From: HOJI Date: Sun, 10 Sep 2023 22:50:46 +0800 Subject: [PATCH] updata receptionist --- Hotel_Management.pro.user | 2 +- cellstatus.cpp | 12 ++++++ cellstatus.h | 9 ++++- orderoom.cpp | 35 +++++++++++++++- orderoom.h | 8 +++- orderoom.ui | 12 ++++-- receptionist.cpp | 85 ++++++++++++++++++++++----------------- receptionist.h | 1 - receptionist.ui | 14 +++++-- 9 files changed, 128 insertions(+), 50 deletions(-) diff --git a/Hotel_Management.pro.user b/Hotel_Management.pro.user index 469b808..7b68e85 100644 --- a/Hotel_Management.pro.user +++ b/Hotel_Management.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/cellstatus.cpp b/cellstatus.cpp index fdac4c9..b883088 100644 --- a/cellstatus.cpp +++ b/cellstatus.cpp @@ -27,8 +27,20 @@ cellstatus::~cellstatus() delete ui; } +void cellstatus::setroomNum(int roomNum) +{ + this->roomNum = roomNum; +} + +void cellstatus::setDB(QSqlDatabase db) +{ + this->db = db; +} + void cellstatus::on_pushButton_clicked() { + m_order->setDB(db); + m_order->setrootNum(roomNum); m_order->show(); } diff --git a/cellstatus.h b/cellstatus.h index 13c61d6..a720086 100644 --- a/cellstatus.h +++ b/cellstatus.h @@ -3,7 +3,9 @@ #include #include "orderoom.h" - +#include +#include +#include namespace Ui { class cellstatus; } @@ -15,6 +17,8 @@ class cellstatus : public QWidget public: explicit cellstatus(QWidget *parent = nullptr); ~cellstatus(); + void setroomNum(int roomNum); + void setDB(QSqlDatabase db); private slots: void on_pushButton_clicked(); @@ -25,8 +29,9 @@ private slots: private: Ui::cellstatus *ui; - + int roomNum; orderoom *m_order; + QSqlDatabase db; }; #endif // CELLSTATUS_H diff --git a/orderoom.cpp b/orderoom.cpp index 6cecfe9..dd3aa63 100644 --- a/orderoom.cpp +++ b/orderoom.cpp @@ -1,6 +1,9 @@ #include "orderoom.h" #include "ui_orderoom.h" - +#include +#include +#include +#include orderoom::orderoom(QWidget *parent) : QWidget(parent), ui(new Ui::orderoom) @@ -13,8 +16,38 @@ orderoom::~orderoom() delete ui; } +void orderoom::setrootNum(int rootNum) +{ + this->rootNum = rootNum; +} + +void orderoom::setDB(QSqlDatabase db) +{ + this->db = db; +} + void orderoom::on_pushButton_2_clicked() { + + QString phone = ui->lineEdit_2->text(); + QString name = ui->lineEdit_3->text(); + QString gender = ui->lineEdit_4->text(); + QString user_id = ui->lineEdit_5->text(); + + //插入记录 + QString sql = QString("insert into customer(account, name, gender,id ,room_num) " + "VALUES ('%1','%2', '%3','%4','%5')") + .arg(phone).arg(name).arg(gender).arg(user_id).arg(rootNum); + QSqlQuery query; + if(query.exec(sql)) //执行sql语句是否成功 + { + + qDebug()<<"insert success"; + + }else + { + qDebug()<close(); } diff --git a/orderoom.h b/orderoom.h index cdc9111..15bc98f 100644 --- a/orderoom.h +++ b/orderoom.h @@ -2,7 +2,9 @@ #define ORDEROOM_H #include - +#include +#include +#include namespace Ui { class orderoom; } @@ -14,12 +16,16 @@ class orderoom : public QWidget public: explicit orderoom(QWidget *parent = nullptr); ~orderoom(); + void setrootNum(int rootNum); + void setDB(QSqlDatabase db); private slots: void on_pushButton_2_clicked(); private: Ui::orderoom *ui; + int rootNum; + QSqlDatabase db; signals: void ordersuccess(); diff --git a/orderoom.ui b/orderoom.ui index 1c6c5f5..f78e2dc 100644 --- a/orderoom.ui +++ b/orderoom.ui @@ -38,7 +38,7 @@ - 客户检索: + @@ -51,8 +51,14 @@ + + + 800 + 600 + + - *** * ************* + @@ -82,7 +88,7 @@ - 检索 + diff --git a/receptionist.cpp b/receptionist.cpp index 8f85724..67eb8a0 100644 --- a/receptionist.cpp +++ b/receptionist.cpp @@ -3,17 +3,38 @@ #include "cellstatus.h" #include #include +#include +#include +#include +#include +#include +#include // 添加这一行 receptionist::receptionist(QWidget *parent) : QMainWindow(parent), ui(new Ui::receptionist) { + // 设置主窗口大小为1920x1080 + this->setFixedSize(1920,1080); + + // 创建一个垂直布局管理器 + QVBoxLayout *layout = new QVBoxLayout(this); + + QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); + db.setHostName("127.0.0.1"); + db.setPort(3306); + db.setDatabaseName("hotel"); + db.setUserName("root"); + db.setPassword("111111"); + qDebug() << db.open(); ui->setupUi(this); + + // 创建 QTableWidget 和其他组件 ui->tableWidget->setRowCount(4); ui->tableWidget->verticalHeader()->setVisible(false); - QStringList strs = {QString::fromLocal8Bit("房间号"), QString::fromLocal8Bit(" 房间类型 "), QString::fromLocal8Bit(" 是否带窗 "), - QString::fromLocal8Bit(" 负责人 "),QString::fromLocal8Bit(" 状态 "),QString::fromLocal8Bit(" 退房时间 "), - QString::fromLocal8Bit("客户信息"),QString::fromLocal8Bit("操作")}; + QStringList strs = {QString::fromLocal8Bit(u8"房间号"), QString::fromLocal8Bit(u8" 房间类型 "), QString::fromLocal8Bit(u8" 是否带窗 "), + QString::fromLocal8Bit(u8" 负责人 "),QString::fromLocal8Bit(u8" 状态 "),QString::fromLocal8Bit(u8" 退房时间 "), + QString::fromLocal8Bit(u8"客户信息"),QString::fromLocal8Bit(u8"操作")}; ui->tableWidget->setColumnCount(strs.size()); ui->tableWidget->setStyleSheet("QTableWidget{border:2px groove gray;border-radius:15px;background-color:rgba(255, 255, 255, 30%);}"); ui->tableWidget->horizontalHeader()->setVisible(false); @@ -23,44 +44,34 @@ receptionist::receptionist(QWidget *parent) : { ui->tableWidget->setItem(0,i,new QTableWidgetItem(strs[i])); } - ui->tableWidget->setCellWidget(1,7,new cellstatus()); - ui->tableWidget->setCellWidget(1,6,new QPushButton(QString::fromLocal8Bit("查看"))); - - ui->tableWidget->setCellWidget(2,7,new cellstatus()); - ui->tableWidget->setCellWidget(2,6,new QPushButton(QString::fromLocal8Bit("查看"))); - - ui->tableWidget->setCellWidget(3,7,new cellstatus()); - ui->tableWidget->setCellWidget(3,6,new QPushButton(QString::fromLocal8Bit("查看"))); - + QSqlQuery query; + query.exec("select * from room"); + int i = 1; + while(query.next()){ //数据 - ui->tableWidget->setItem(1,0,new QTableWidgetItem(QString::fromLocal8Bit("1101"))); - ui->tableWidget->setItem(1,1,new QTableWidgetItem(QString::fromLocal8Bit("双床房"))); - ui->tableWidget->setItem(1,2,new QTableWidgetItem(QString::fromLocal8Bit("是"))); - ui->tableWidget->setItem(1,3,new QTableWidgetItem(QString::fromLocal8Bit("李田所"))); - ui->tableWidget->setItem(1,4,new QTableWidgetItem(QString::fromLocal8Bit("使用"))); - ui->tableWidget->setItem(1,5,new QTableWidgetItem(QString::fromLocal8Bit("8/22"))); - - ui->tableWidget->setItem(2,0,new QTableWidgetItem(QString::fromLocal8Bit("1102"))); - ui->tableWidget->setItem(2,1,new QTableWidgetItem(QString::fromLocal8Bit("大床房"))); - ui->tableWidget->setItem(2,2,new QTableWidgetItem(QString::fromLocal8Bit("是"))); - ui->tableWidget->setItem(2,3,new QTableWidgetItem(QString::fromLocal8Bit("李田所"))); - ui->tableWidget->setItem(2,4,new QTableWidgetItem(QString::fromLocal8Bit("空闲"))); - ui->tableWidget->setItem(2,5,new QTableWidgetItem(QString::fromLocal8Bit("-/--"))); - - ui->tableWidget->setItem(3,0,new QTableWidgetItem(QString::fromLocal8Bit("1103"))); - ui->tableWidget->setItem(3,1,new QTableWidgetItem(QString::fromLocal8Bit("电竞房"))); - ui->tableWidget->setItem(3,2,new QTableWidgetItem(QString::fromLocal8Bit("否"))); - ui->tableWidget->setItem(3,3,new QTableWidgetItem(QString::fromLocal8Bit("李田所"))); - ui->tableWidget->setItem(3,4,new QTableWidgetItem(QString::fromLocal8Bit("空闲"))); - ui->tableWidget->setItem(3,5,new QTableWidgetItem(QString::fromLocal8Bit("-/--"))); - setStyleSheet("QWidget#Widget{border-image:url(:/image/bg/backgroud.jpg);" - "background-repeat:no-repeat;" - "background-position: center;}"); + ui->tableWidget->setItem(i,0,new QTableWidgetItem(QString::fromLocal8Bit(query.value(0).toString().toUtf8().data()))); + ui->tableWidget->setItem(i,1,new QTableWidgetItem(QString::fromLocal8Bit(query.value(1).toString().toUtf8().data()))); + ui->tableWidget->setItem(i,2,new QTableWidgetItem(QString::fromLocal8Bit(query.value(2).toString().toUtf8().data()))); + ui->tableWidget->setItem(i,3,new QTableWidgetItem(QString::fromLocal8Bit(query.value(3).toString().toUtf8().data()))); + ui->tableWidget->setItem(i,4,new QTableWidgetItem(QString::fromLocal8Bit(query.value(4).toString().toUtf8().data()))); + ui->tableWidget->setItem(i,5,new QTableWidgetItem(QString::fromLocal8Bit(query.value(5).toString().toUtf8().data()))); + cellstatus* cell = new cellstatus(); + cell->setroomNum(query.value(0).toInt()); + cell->setDB(db); + ui->tableWidget->setCellWidget(i,7,cell); + ui->tableWidget->setCellWidget(i,6,new QPushButton(QString::fromLocal8Bit("查看"))); + i++; + } - /*room* m_room = new room(); - m_room->show();*/ + // 将 QTableWidget 和其他组件添加到布局管理器中 + layout->addWidget(ui->tableWidget); // 例如,添加您的表格 + layout->addStretch(); // 添加伸缩项,将组件推到窗口中央 + // 将布局管理器设置为主窗口的布局 + QWidget *centralWidget = new QWidget(this); + centralWidget->setLayout(layout); + setCentralWidget(centralWidget); } receptionist::~receptionist() diff --git a/receptionist.h b/receptionist.h index 00bcdf8..daae95f 100644 --- a/receptionist.h +++ b/receptionist.h @@ -2,7 +2,6 @@ #define RECEPTIONIST_H #include - namespace Ui { class receptionist; } diff --git a/receptionist.ui b/receptionist.ui index 6b9cce1..bc22828 100644 --- a/receptionist.ui +++ b/receptionist.ui @@ -6,10 +6,16 @@ 0 0 - 800 - 600 + 1920 + 1080 + + + 1920 + 1080 + + MainWindow @@ -60,8 +66,8 @@ 0 0 - 800 - 17 + 1920 + 21