something new

master
2290867136 2 years ago
parent 14adcb035b
commit 9bfc0a8eb3

@ -1,14 +1,13 @@
#include "customer.h" #include "customer.h"
#include "ui_customer.h" #include "ui_customer.h"
/*
* ID
*/
customer::customer(QWidget *parent) : customer::customer(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::customer) ui(new Ui::customer)
{ {
init(); init();
ResetMessage *RM = new ResetMessage;
RM->getid(id);
} }
@ -26,8 +25,7 @@ void customer::paintEvent(QPaintEvent*)
void customer::init()//初始化 void customer::init()//初始化
{ {
id = "123"; account_roomaccount = 0;//账户订房的数量
//id = login->ui->lineEdit_account->text();崩溃
ui->setupUi(this); ui->setupUi(this);
this->setFixedSize(1920,1080); this->setFixedSize(1920,1080);
this->setWindowTitle("用户界面"); this->setWindowTitle("用户界面");
@ -54,6 +52,10 @@ void customer::init()//初始化
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//表格不可编辑 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//表格不可编辑
} }
void customer::setid(QString str){
id = str;
}
void customer::setmousehand()//鼠标小手 完成 void customer::setmousehand()//鼠标小手 完成
{ {
ui->search->setCursor(QCursor(Qt::PointingHandCursor)); ui->search->setCursor(QCursor(Qt::PointingHandCursor));
@ -67,6 +69,7 @@ void customer::on_checking_out1_clicked()//退房 完成
{ {
int c = row;//总之是获取选中的行 int c = row;//总之是获取选中的行
if( ui->tableWidget->model()->index(c,6).data().toString() == id ){ if( ui->tableWidget->model()->index(c,6).data().toString() == id ){
account_roomaccount = 0;
QString QS = "空闲"; QString QS = "空闲";
QSqlQuery query((db)); QSqlQuery query((db));
@ -78,18 +81,20 @@ void customer::on_checking_out1_clicked()//退房 完成
query.prepare("UPDATE room set status=:QS where room_num = :num"); query.prepare("UPDATE room set status=:QS where room_num = :num");
query.bindValue(":QS",QS); query.bindValue(":QS",QS);
query.bindValue(":num",num); query.bindValue(":num",num);
query.exec(); query.exec();//开始操作数据库
query.prepare("UPDATE room set checkout_time=NULL where room_num = :num"); query.prepare("UPDATE room set checkout_time=NULL where room_num = :num");
query.bindValue(":num",num); query.bindValue(":num",num);
query.exec(); query.exec();
query.prepare("UPDATE room set customer_id=NULL where room_num = :num"); query.prepare("UPDATE room set customer_id=NULL where room_num = :num");
query.bindValue(":num",num); query.bindValue(":num",num);
query.exec();//开始操作数据库 query.exec();
query.prepare("UPDATE customer set room_num=NULL where account = :a");
query.bindValue(":a",id);
query.exec();
if(c >= 0){ if(c >= 0){
QTableWidgetItem *Q1 = new QTableWidgetItem(QS); QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
ui->tableWidget->setItem(c,4,Q1); ui->tableWidget->setItem(c,4,Q1);
ui->tableWidget->setItem(c,5,NULL);
ui->tableWidget->setItem(c,6,NULL); ui->tableWidget->setItem(c,6,NULL);
Q1->setTextAlignment(Qt::AlignCenter); Q1->setTextAlignment(Qt::AlignCenter);
QMessageBox::about(this,"提示","退房成功"); QMessageBox::about(this,"提示","退房成功");
@ -105,37 +110,46 @@ void customer::on_checking_out1_clicked()//退房 完成
void customer::on_Reservation1_clicked()//订房 完成 void customer::on_Reservation1_clicked()//订房 完成
{ {
int c = row;//总之是获取选中的行 int c = row;//总之是获取选中的行
QString QS = "使用"; if(account_roomaccount == 0){
QSqlQuery query((db)); account_roomaccount = 1;
QString n = 0; QString QS = "使用";
n = ui->tableWidget->model()->index(c,0).data().toString(); QSqlQuery query((db));
QDate d = QDate::currentDate(); QString n = 0;
n = ui->tableWidget->model()->index(c,0).data().toString();
QDate d = QDate::currentDate();
int num = n.toInt();
query.prepare("UPDATE room set status=:QS where room_num = :num");
query.bindValue(":QS",QS);
query.bindValue(":num",num);
query.exec();
query.prepare("UPDATE room set checkout_time=DATE_ADD(:d, INTERVAL 1 DAY) where room_num = :num");
query.bindValue(":d",d);
query.bindValue(":num",num);
query.exec();
query.prepare("UPDATE room set customer_id=:id where room_num = :num");
query.bindValue(":id",id);
query.bindValue(":num",num);
query.exec();
if(c>=0){
QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
ui->tableWidget->setItem(c,4,Q1);
Q1->setTextAlignment(Qt::AlignCenter);
QMessageBox::about(this,"提示","订房成功");
ui->Reservation1->setEnabled(false);
ui->checking_out1->setEnabled(true);
}
int num = n.toInt();
query.prepare("UPDATE room set status=:QS where room_num = :num");
query.bindValue(":QS",QS);
query.bindValue(":num",num);
query.exec();
query.prepare("UPDATE room set checkout_time=DATE_ADD(:d, INTERVAL 1 DAY) where room_num = :num");
query.bindValue(":d",d);
query.bindValue(":num",num);
query.exec();
query.prepare("UPDATE room set customer_id=:id where room_num = :num");
query.bindValue(":id",id);
query.bindValue(":num",num);
query.exec();
query.prepare("UPDATE customer set room_num=:rn where account = :a");
query.bindValue(":a",id);
query.bindValue(":rn",num);
query.exec();
if(c>=0){
QTableWidgetItem *Q1 = new QTableWidgetItem(QS);
QTableWidgetItem *Q3 = new QTableWidgetItem(id);
ui->tableWidget->setItem(c,4,Q1);
ui->tableWidget->setItem(c,6,Q3);
Q1->setTextAlignment(Qt::AlignCenter);
QMessageBox::about(this,"提示","订房成功");
ui->Reservation1->setEnabled(false);
ui->checking_out1->setEnabled(true);
}
}
else QMessageBox::about(this,"警告","一个账户只能预定一个房间");
} }
@ -197,7 +211,7 @@ void customer::flush_data(QVector<QVector<QString>>&userinfo)//插入数据 完
QW->setTextAlignment(Qt::AlignCenter);//设置中心对齐 QW->setTextAlignment(Qt::AlignCenter);//设置中心对齐
} }
} }
//ui->tableWidget->setHorizontalHeaderLabels({"房间号","房间类型","是否带窗","负责人","状态"});//设置表头 ui->tableWidget->setHorizontalHeaderLabels({"房间号","房间类型","是否带窗","负责人","状态"});//设置表头
} }
void customer::on_tableWidget_itemClicked(QTableWidgetItem *item)//点击表格格子 获取行数 完成 void customer::on_tableWidget_itemClicked(QTableWidgetItem *item)//点击表格格子 获取行数 完成

@ -1,7 +1,6 @@
#ifndef CUSTOMER_H #ifndef CUSTOMER_H
#define CUSTOMER_H #define CUSTOMER_H
#include "login.h"
#include <QMainWindow> #include <QMainWindow>
#include <QLabel> #include <QLabel>
#include <QIcon> #include <QIcon>
@ -10,7 +9,6 @@
#include <QSqlRecord> #include <QSqlRecord>
#include <resetmessage.h> #include <resetmessage.h>
#include <QDate> #include <QDate>
#include <ui_login.h>
namespace Ui { namespace Ui {
class customer; class customer;
@ -28,6 +26,7 @@ public:
void flush_data(QVector<QVector<QString>>&userinfo); void flush_data(QVector<QVector<QString>>&userinfo);
bool find_byname(QString name); bool find_byname(QString name);
void setmousehand(); void setmousehand();
void setid(QString str);
void init(); void init();
private slots: private slots:
@ -56,8 +55,8 @@ private:
QSqlDatabase db; QSqlDatabase db;
QVector<QVector<QString>>userinfo; QVector<QVector<QString>>userinfo;
int row; int row;
login *login;
QString id; QString id;
int account_roomaccount;
}; };
#endif // CUSTOMER_H #endif // CUSTOMER_H

@ -118,7 +118,7 @@
<string notr="true">color:rgb(255, 255, 255)</string> <string notr="true">color:rgb(255, 255, 255)</string>
</property> </property>
<property name="text"> <property name="text">
<string>房间检索-&gt;</string> <string>房间检索</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
@ -211,7 +211,7 @@ color: rgb(255, 255, 255);</string>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">image:url(:/image/icon/resetcode.png); <string notr="true">image:url(:/image/icon/resetcode.png);
background-color: rgb(108, 162, 162); background-color: rgba(0, 0, 0, 0);
</string> </string>
</property> </property>
<property name="text"> <property name="text">
@ -254,19 +254,6 @@ background-color: rgb(108, 162, 162);
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="checkBox_3">
<property name="styleSheet">
<string notr="true">color:rgb(255, 255, 255)</string>
</property>
<property name="text">
<string>交替背景色</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>

@ -1,6 +1,6 @@
#include "resetmessage.h" #include "resetmessage.h"
#include "qicon.h" #include "QIcon"
#include "qlabel.h" #include "QLabel"
#include "ui_resetmessage.h" #include "ui_resetmessage.h"
ResetMessage::ResetMessage(QWidget *parent) : ResetMessage::ResetMessage(QWidget *parent) :
@ -12,12 +12,7 @@ ResetMessage::ResetMessage(QWidget *parent) :
this->setWindowIcon(logo); this->setWindowIcon(logo);
setWindowTitle("宜客酒店"); setWindowTitle("宜客酒店");
this->setFixedSize(800,600); this->setFixedSize(800,600);
/*
bg = new QLabel(this);
bg->setScaledContents(true);
bg->setPixmap(QPixmap(":/image/bg/sea.jpg"));//未完
bg->lower();
*/
QPalette q;//调色板 QPalette q;//调色板
q.setBrush(QPalette::Window,QBrush(QPixmap("/image/bg/sea,jpg"))); q.setBrush(QPalette::Window,QBrush(QPixmap("/image/bg/sea,jpg")));
this->setPalette(q); this->setPalette(q);
@ -44,11 +39,6 @@ ResetMessage::~ResetMessage()
delete ui; delete ui;
} }
void ResetMessage::paintEvent(QPaintEvent*)
{
//bg->resize(ui->ResetMessage->size());
}
bool ResetMessage::verify(int x){ bool ResetMessage::verify(int x){
if(x==2){//密码判别 if(x==2){//密码判别
if(ui->code->text().size()<6||ui->code->text().size()>16){ if(ui->code->text().size()<6||ui->code->text().size()>16){
@ -105,11 +95,15 @@ void ResetMessage::on_pushButton_clicked()
QMessageBox::warning(this, tr("提示"), tr("请检查身份证信息是否符合规范并重新输入!\n请注意X为大写字母")); QMessageBox::warning(this, tr("提示"), tr("请检查身份证信息是否符合规范并重新输入!\n请注意X为大写字母"));
}else{ }else{
sign_in(); sign_in();
QMessageBox::information(this, tr("提示"), tr("注册成功!")); QMessageBox::information(this, tr("提示"), tr("更新成功!"));
this->hide(); this->hide();
} }
} }
void ResetMessage::getid(QString str){
id = str;
}
void ResetMessage::sign_in(){ void ResetMessage::sign_in(){
QString gender; QString gender;
if(ui->radioButton_man->isChecked()){ if(ui->radioButton_man->isChecked()){
@ -117,8 +111,10 @@ void ResetMessage::sign_in(){
}else{ }else{
gender = ""; gender = "";
} }
QString sql = QString("INSERT INTO customer VALUES('%2','%3','%4','%5',NULL);").arg(ui->code->text()).arg(ui->name->text()).
arg(gender).arg(ui->ID_card->text());
QSqlQuery query; QSqlQuery query;
query.exec(sql); query.prepare("UPDATE customer set password = :p where account = :a");
query.bindValue(":p",ui->code->text());
query.bindValue(":a",id);
query.exec();
} }

@ -20,8 +20,9 @@ class ResetMessage : public QDialog
public: public:
explicit ResetMessage(QWidget *parent = nullptr); explicit ResetMessage(QWidget *parent = nullptr);
~ResetMessage(); ~ResetMessage();
void getid(QString str);
protected: protected:
void paintEvent(QPaintEvent*);
private: private:
Ui::ResetMessage *ui; Ui::ResetMessage *ui;
@ -29,6 +30,7 @@ private:
void sign_in(); void sign_in();
QLabel *bg; QLabel *bg;
QSqlDatabase db; QSqlDatabase db;
QString id;
private slots: private slots:
void on_pushButton_clicked(); void on_pushButton_clicked();

@ -34,7 +34,7 @@
<string notr="true">color: rgb(255, 255, 127);</string> <string notr="true">color: rgb(255, 255, 127);</string>
</property> </property>
<property name="text"> <property name="text">
<string>密码</string> <string>密码</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>

Loading…
Cancel
Save