You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.5 KiB
113 lines
3.5 KiB
#include "orderoom.h"
|
|
#include "ui_orderoom.h"
|
|
#include "registers.h"
|
|
|
|
orderoom::orderoom(QWidget *parent) :
|
|
QWidget(parent),
|
|
ui(new Ui::orderoom)
|
|
{
|
|
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/order.png"));
|
|
bg->lower();
|
|
|
|
ui->tableWidget->setRowCount(0);
|
|
ui->tableWidget->setColumnCount(4);
|
|
ui->tableWidget->setHorizontalHeaderLabels({"手机号","姓名","性别","身份证号"});
|
|
ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color: rgb(0, 0, 0,30);}");//表头透明度
|
|
ui->tableWidget->setStyleSheet("QTableWidget{border:2px groove gray;border-radius:15px;background-color: rgb(0, 0, 0,30);color: rgb(255, 255, 255);}");
|
|
ui->tableWidget->verticalHeader()->setVisible(false);
|
|
ui->tableWidget->setColumnWidth(0,200);
|
|
ui->tableWidget->setColumnWidth(1,100);
|
|
ui->tableWidget->setColumnWidth(2,100);
|
|
ui->tableWidget->setColumnWidth(3,375);
|
|
|
|
findcustomer = false;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
orderoom::~orderoom()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void orderoom::setroomNum(int roomNum)
|
|
{
|
|
this->roomNum = roomNum;
|
|
}
|
|
|
|
void orderoom::setDB(QSqlDatabase db){
|
|
this->db = db;
|
|
}
|
|
|
|
void orderoom::on_btn_search_clicked()
|
|
{
|
|
QString str = ui->lineEdit->text();
|
|
ui->tableWidget->setRowCount(1);
|
|
ui->tableWidget->clear();
|
|
ui->tableWidget->setHorizontalHeaderLabels({"手机号","姓名","性别","身份证号"});
|
|
QSqlQuery query;
|
|
query.prepare("select * from customer where account like :str;");
|
|
query.bindValue(":str",str);
|
|
|
|
if(query.exec()){
|
|
while (query.next()){
|
|
QTableWidgetItem *twi = new QTableWidgetItem(query.value(0).toString());
|
|
twi->setTextAlignment(Qt::AlignCenter);
|
|
ui->tableWidget->setItem(0,0,twi);
|
|
for(int j = 2;j<5;j++){
|
|
QTableWidgetItem *twi = new QTableWidgetItem(query.value(j).toString());
|
|
twi->setTextAlignment(Qt::AlignCenter);
|
|
ui->tableWidget->setItem(0,j-1,twi);
|
|
}
|
|
}
|
|
}
|
|
if(ui->tableWidget->model()->index(0,0).data().toString() == NULL){
|
|
findcustomer = false;
|
|
ui->tableWidget->setRowCount(0);
|
|
}else{
|
|
findcustomer = true;
|
|
}
|
|
}
|
|
|
|
|
|
void orderoom::on_btn_order_clicked()
|
|
{
|
|
if(findcustomer){
|
|
QDate date = QDate::currentDate();
|
|
QString account = ui->tableWidget->model()->index(0,0).data().toString();
|
|
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",roomNum);
|
|
query.exec();
|
|
emit ordersuccess();
|
|
this->close();
|
|
}else{
|
|
QMessageBox::warning(this,tr("提示"),("请选择入住客户!"));
|
|
}
|
|
}
|
|
|
|
|
|
void orderoom::on_btn_registers_clicked()
|
|
{
|
|
registers *reg = new registers;
|
|
reg->settype(1);
|
|
reg->show();
|
|
}
|
|
|