diff --git a/Hotel_Management.pro.user b/Hotel_Management.pro.user index 0d6618f..7b22485 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 d82ed63..605d6b8 100644 --- a/cellstatus.cpp +++ b/cellstatus.cpp @@ -52,7 +52,7 @@ void cellstatus::setDB(QSqlDatabase db) void cellstatus::on_pushButton_clicked() { - m_order->setrootNum(roomNum); + m_order->setroomNum(roomNum); m_order->setDB(db); m_order->show(); } diff --git a/checkbtn.cpp b/checkbtn.cpp index a691615..81ee6f6 100644 --- a/checkbtn.cpp +++ b/checkbtn.cpp @@ -33,10 +33,8 @@ void checkbtn::on_pushButton_clicked() void checkbtn::setisused(bool i){ isused = i; - qDebug()<pushButton->setEnabled(isused); - qDebug()<12 + + + 查看 diff --git a/customerinfo.cpp b/customerinfo.cpp index 80527c6..058e1c2 100644 --- a/customerinfo.cpp +++ b/customerinfo.cpp @@ -1,11 +1,25 @@ #include "customerinfo.h" #include "ui_customerinfo.h" +#include customerinfo::customerinfo(QWidget *parent) : QMainWindow(parent), ui(new Ui::customerinfo) { ui->setupUi(this); + QIcon logo(":/image/icon/logo.png"); + this->setWindowIcon(logo); + this->setWindowTitle("客户信息"); + this->setFixedSize(800,600); + bg = new QLabel(this); + bg->setScaledContents(true); + bg->setPixmap(QPixmap(":/image/bg/register.jpg")); + bg->lower(); + + ui->lineEdit->setEnabled(false); + ui->lineEdit_2->setEnabled(false); + ui->lineEdit_3->setEnabled(false); + ui->lineEdit_4->setEnabled(false); } customerinfo::~customerinfo() @@ -13,6 +27,21 @@ customerinfo::~customerinfo() delete ui; } +void customerinfo::paintEvent(QPaintEvent*) +{ + bg->resize(ui->widget->size()); + QSqlQuery query; + query.prepare("select * from customer where room_num like :roomNum;"); + query.bindValue(":roomNum",roomNum); + query.exec(); + if(query.next()){ + ui->lineEdit->setText(query.value(0).toString()); + ui->lineEdit_2->setText(query.value(2).toString()); + ui->lineEdit_3->setText(query.value(3).toString()); + ui->lineEdit_4->setText(query.value(4).toString()); + } +} + void customerinfo::setroomNum(int roomNum){ this->roomNum = roomNum; } @@ -20,3 +49,9 @@ void customerinfo::setroomNum(int roomNum){ void customerinfo::setDB(QSqlDatabase db){ this->db = db; } + +void customerinfo::on_pushButton_clicked() +{ + this->hide(); +} + diff --git a/customerinfo.h b/customerinfo.h index df1df78..bb10a58 100644 --- a/customerinfo.h +++ b/customerinfo.h @@ -4,6 +4,7 @@ #include #include #include +#include namespace Ui { class customerinfo; @@ -19,10 +20,17 @@ public: void setDB(QSqlDatabase db); void setroomNum(int roomNum); +protected: + void paintEvent(QPaintEvent*); + +private slots: + void on_pushButton_clicked(); + private: Ui::customerinfo *ui; QSqlDatabase db; int roomNum; + QLabel *bg; }; #endif // CUSTOMERINFO_H diff --git a/customerinfo.ui b/customerinfo.ui index 0b61ffd..0a111a7 100644 --- a/customerinfo.ui +++ b/customerinfo.ui @@ -1,7 +1,5 @@ + - - - customerinfo @@ -15,10 +13,166 @@ MainWindow - - + + + + + 0 + 0 + 800 + 600 + + + + + + 50 + 50 + 700 + 450 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 12 + true + + + + color: rgb(255, 255, 255); + + + 账号(手机号): + + + + + + + + 12 + + + + + + + + + 12 + true + + + + color: rgb(255, 255, 255); + + + 姓名: + + + + + + + + 12 + + + + + + + + + 12 + true + + + + color: rgb(255, 255, 255); + + + 性别: + + + + + + + + 12 + + + + + + + + + 12 + true + + + + color: rgb(255, 255, 255); + + + 身份证号: + + + + + + + + 12 + + + + + + + + + + 325 + 500 + 150 + 50 + + + + + 12 + + + + 确定 + + + + + + + + 0 + 0 + 800 + 17 + + + - + diff --git a/orderoom.cpp b/orderoom.cpp index cb5f309..99e7305 100644 --- a/orderoom.cpp +++ b/orderoom.cpp @@ -39,9 +39,9 @@ orderoom::~orderoom() delete ui; } -void orderoom::setrootNum(int rootNum) +void orderoom::setroomNum(int roomNum) { - this->rootNum = rootNum; + this->roomNum = roomNum; } void orderoom::setDB(QSqlDatabase db){ @@ -84,14 +84,16 @@ void orderoom::on_btn_order_clicked() if(findcustomer){ QDate date = QDate::currentDate(); int account = ui->tableWidget->model()->index(0,0).data().toString().toInt(); - QString sql1 = QString("UPDATE room set customer_id = %1 where room_num = %2").arg(account).arg(rootNum); - QString sql2 = QString("UPDATE room set status='使用' where room_num = %1").arg(rootNum); + QString sql1 = QString("UPDATE room set customer_id = %1 where room_num = %2").arg(account).arg(roomNum); + QString sql2 = QString("UPDATE room set status='使用' where room_num = %1").arg(roomNum); + QString sql3 = QString("UPDATE customer set room_num=%1 where account = %2").arg(roomNum).arg(ui->tableWidget->model()->index(0,0).data().toString()); QSqlQuery query; query.exec(sql1); query.exec(sql2); + query.exec(sql3); query.prepare("UPDATE room set checkout_time=DATE_ADD(:date, INTERVAL 1 DAY) where room_num = :num"); query.bindValue(":date",date); - query.bindValue(":num",rootNum); + query.bindValue(":num",roomNum); query.exec(); emit ordersuccess(); this->close(); diff --git a/orderoom.h b/orderoom.h index b8a6994..f65bd35 100644 --- a/orderoom.h +++ b/orderoom.h @@ -21,7 +21,7 @@ class orderoom : public QWidget public: explicit orderoom(QWidget *parent = nullptr); ~orderoom(); - void setrootNum(int rootNum); + void setroomNum(int roomNum); void setDB(QSqlDatabase db); private slots: @@ -35,7 +35,7 @@ private slots: private: Ui::orderoom *ui; QLabel *bg; - int rootNum; + int roomNum; QSqlDatabase db; bool findcustomer; diff --git a/receptionist.cpp b/receptionist.cpp index 59d67f2..ce97dc2 100644 --- a/receptionist.cpp +++ b/receptionist.cpp @@ -97,25 +97,40 @@ void receptionist::showall(){ void receptionist::search(QString str){ int s = str.toInt(); + ui->tableWidget->setRowCount(1); ui->tableWidget->clear(); ui->tableWidget->setHorizontalHeaderLabels({"房间号","房间类型","是否带窗","负责人","状态","退房时间","客户信息","操作"}); QSqlQuery query; query.prepare("select * from room where room_num like :str;"); query.bindValue(":str",s); - int i = 0; if(query.exec()){ while (query.next()){ for(int j = 0;j<6;j++){ QTableWidgetItem *twi = new QTableWidgetItem(query.value(j).toString()); twi->setTextAlignment(Qt::AlignCenter); - ui->tableWidget->setItem(i,j,twi); + ui->tableWidget->setItem(0,j,twi); ui->tableWidget->setColumnWidth(j,259); } cellstatus* cell = new cellstatus(); - cell->setroomNum(query.value(0).toInt()); + connect(cell,&cellstatus::flash,this,&receptionist::onflash); cell->setDB(db); - ui->tableWidget->setCellWidget(i,7,cell); - ui->tableWidget->setCellWidget(i,6,new QPushButton("查看")); + cell->setroomNum(query.value(0).toInt()); + checkbtn* cbtn = new checkbtn; + cbtn->setroomNum(query.value(0).toInt()); + cbtn->setDB(db); + cell->setcbtn(cbtn); + if(QString::compare(ui->tableWidget->model()->index(0,4).data().toString(),"使用")==0){ + cell->setisused(true); + cbtn->setisused(true); + }else{ + cell->setisused(false); + cbtn->setisused(false); + } + cell->setbtn(); + cbtn->setbtn(); + + ui->tableWidget->setCellWidget(0,7,cell); + ui->tableWidget->setCellWidget(0,6,cbtn); } } }