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

#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();
}