diff --git a/LibManagementSystem/book_info.cpp b/LibManagementSystem/book_info.cpp index 3218563beb412287b057adc3c469c33ca1bf2e34..fb2342e0ceab0d3e5ea91e7e4b5f6012dce8e70f 100644 --- a/LibManagementSystem/book_info.cpp +++ b/LibManagementSystem/book_info.cpp @@ -28,6 +28,7 @@ book_info::book_info(User *u,Book v,QHash*Pixmap,QWidget *pare ui->opre->setText(q); ui->onu->setText(toQstring(v.num)); ui->oty->setText(v.type); + ui->pushButton->hide(); } book_info::~book_info() @@ -43,6 +44,7 @@ void book_info::picture_get() ui->progressBar->hide(); ui->bkcover->setPixmap(*((*pixmap)[QString::number(book.lib_code)])); } + ui->pushButton->show(); } void book_info::picture_fail(QString e) @@ -53,6 +55,7 @@ void book_info::picture_fail(QString e) box->setText(e); box->show(); ui->reload->show(); + ui->pushButton->show(); } void book_info::on_reload_clicked() @@ -104,6 +107,23 @@ void book_info::on_pushButton_clicked() QByteArray msg; char t = stopChar; msg += "BORROW" + toQstring(book.lib_code).toStdString() + t + user->account.toStdString(); + if(borbookcut(user->appointedbook,1) == book.name) + { + QStringMatcher match("预约"); + int re = QMessageBox::question(this,"提示","此书为您预约的书籍,是否取消预约并完成借阅?" + ,QMessageBox::Yes|QMessageBox::No); + switch(re){ + case QMessageBox::Yes: + emit send_bkif(msg); + if(match.indexIn(user->message) != -1){ + user->message = ""; + } + return; + + default: + return; + } + } emit send_bkif(msg); return; } diff --git a/LibManagementSystem/borrow.cpp b/LibManagementSystem/borrow.cpp index e7a95b52779d370efe6c5cfb6a18105315489681..8599ef8ac8530dd87b41aff8c6bb072dde4529e5 100644 --- a/LibManagementSystem/borrow.cpp +++ b/LibManagementSystem/borrow.cpp @@ -265,6 +265,7 @@ void borrow::fillInfo() ui->to_userInfo->setText("· " + t + "··"); } } + clearall(); } void borrow::on_to_userInfo_clicked() diff --git a/LibManagementSystem/mainwindow.cpp b/LibManagementSystem/mainwindow.cpp index 47497ce60ced738ebe51157b23298837b04bb5e3..68c63dad97b38bd649b97563cbadabaf09a95195 100644 --- a/LibManagementSystem/mainwindow.cpp +++ b/LibManagementSystem/mainwindow.cpp @@ -277,6 +277,10 @@ void MainWindow::loncon() void MainWindow::ifborcon() { disconnectAll(); + disconnect(sea->w,&book_info::ifborcon,this,&MainWindow::ifborcon); + disconnect(sea->w,&book_info::ifappcon,this,&MainWindow::ifappcon); + disconnect(client,&communication_module::sendfail,sea->w,&book_info::fail_infoapp); + disconnect(client,&communication_module::msg_received,sea->w,&book_info::receive_infoapp); connect(sea->w,&book_info::send_bkif,client,&communication_module::sendmsgPreparation); connect(client,&communication_module::sendfail,sea->w,&book_info::fail_infobor); connect(client,&communication_module::msg_received,sea->w,&book_info::receive_infobor); @@ -286,6 +290,10 @@ void MainWindow::ifborcon() void MainWindow::ifappcon() { disconnectAll(); + disconnect(client,&communication_module::sendfail,sea->w,&book_info::fail_infobor); + disconnect(client,&communication_module::msg_received,sea->w,&book_info::receive_infobor); + disconnect(sea->w,&book_info::ifborcon,this,&MainWindow::ifborcon); + disconnect(sea->w,&book_info::ifappcon,this,&MainWindow::ifappcon); connect(sea->w,&book_info::send_bkif,client,&communication_module::sendmsgPreparation); connect(client,&communication_module::sendfail,sea->w,&book_info::fail_infoapp); connect(client,&communication_module::msg_received,sea->w,&book_info::receive_infoapp); diff --git a/LibManagementSystem/search.cpp b/LibManagementSystem/search.cpp index 212051942a5040d092e5d3d1814ceaa268c94f79..23d786acb0f983294241ab244dcbab71d5da2166 100644 --- a/LibManagementSystem/search.cpp +++ b/LibManagementSystem/search.cpp @@ -69,6 +69,10 @@ void search::on_back_clicked() ui->bpress->clear(); ui->comboBox->setCurrentIndex(0); mod->setRowCount(0); + i=1; + ui->page->setText(""); + ui->pre->show(); + ui->pos->show(); } void search::on_search_2_clicked() { @@ -206,6 +210,10 @@ void search::on_to_userInfo_clicked() ui->bauthor->clear(); ui->bpress->clear(); ui->comboBox->setCurrentIndex(0); + i=1; + ui->page->setText(""); + ui->pre->show(); + ui->pos->show(); }