|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
#include <QTimer>
|
|
|
|
|
|
+#include "QMessageBox"
|
|
|
#include "ui_detinfopage.h"
|
|
|
|
|
|
DetInfoPage::DetInfoPage(QWidget* parent) : QWidget(parent), ui(new Ui::DetInfoPage) {
|
|
@@ -92,7 +93,7 @@ DetInfoPage::~DetInfoPage() { delete ui; }
|
|
|
void DetInfoPage::on_pushButton_clicked() {
|
|
|
dialog = new DetDialog;
|
|
|
dialog->setModal(false);
|
|
|
- connect(dialog, &DetDialog::validateDetNum, this, &DetInfoPage::insertDet);
|
|
|
+ connect(dialog, &DetDialog::createDets, this, &DetInfoPage::insertDet);
|
|
|
int ref = dialog->exec();
|
|
|
if (ref == QDialog::Accepted) {};
|
|
|
}
|
|
@@ -101,23 +102,27 @@ void DetInfoPage::insertDet(const QJsonDocument& jsonDoc) {
|
|
|
QNetworkAccessManager manager;
|
|
|
QUrl localUrl("det");
|
|
|
QUrl fullUrl = apiBackendUrl.resolved(localUrl);
|
|
|
- qDebug() << "-----insert Det" << fullUrl;
|
|
|
- QUrlQuery query;
|
|
|
+
|
|
|
+ QJsonObject postData;
|
|
|
if (!jsonDoc.isNull() && jsonDoc.isObject()) {
|
|
|
QJsonObject obj = jsonDoc.object();
|
|
|
for (const QString& key : obj.keys()) {
|
|
|
QJsonValue value = obj.value(key);
|
|
|
if (value.isString()) {
|
|
|
- query.addQueryItem(key, value.toString());
|
|
|
+ postData[key] = value.toString();
|
|
|
}
|
|
|
}
|
|
|
+ postData["xmbh"] = DET_PARAM_XMBH;
|
|
|
+ postData["dwdm"] = DET_PARAM_DWDM;
|
|
|
+ postData["htid"] = DET_PARAM_HTID;
|
|
|
+ postData["sbbh"] = DET_PARAM_SBBH;
|
|
|
}
|
|
|
-
|
|
|
- fullUrl.setQuery(query);
|
|
|
QNetworkRequest request(fullUrl);
|
|
|
-
|
|
|
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
|
|
|
request.setRawHeader("Authorization", globalAuthority.toUtf8());
|
|
|
- QNetworkReply* reply = manager.get(request);
|
|
|
+ QJsonDocument jsonDocument(postData);
|
|
|
+ QByteArray jsonData = jsonDocument.toJson();
|
|
|
+ QNetworkReply* reply = manager.post(request, jsonData);
|
|
|
// 使用事件循环等待请求完成
|
|
|
QEventLoop loop;
|
|
|
QObject::connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
|
|
@@ -126,12 +131,25 @@ void DetInfoPage::insertDet(const QJsonDocument& jsonDoc) {
|
|
|
if (reply->error() == QNetworkReply::NoError) {
|
|
|
// 获取响应数据
|
|
|
QByteArray responseData = reply->readAll();
|
|
|
- QString responseString = QString::fromUtf8(responseData);
|
|
|
- qDebug() << "Response:" << responseString;
|
|
|
- loadAndRefreshData();
|
|
|
+ QJsonDocument respData = QJsonDocument::fromJson(responseData);
|
|
|
+ QJsonObject responseObject = respData.object();
|
|
|
+ if (responseObject.contains("code") && responseObject["code"].toInt() == 200) {
|
|
|
+ // 处理成功响应
|
|
|
+ QMessageBox::information(nullptr, "雷管密文下发",
|
|
|
+ "密文下发已经成功申请,由于请求较慢,请2分钟后刷新确认下发成功");
|
|
|
+ loadAndRefreshData();
|
|
|
+ } else {
|
|
|
+ // 处理错误响应
|
|
|
+ QMessageBox::information(nullptr, "雷管密文下发",
|
|
|
+ QString("密文下发申请失败: %1").arg(responseObject.value("msg").toString()));
|
|
|
+ Logger::getInstance().error(
|
|
|
+ QString("请求创建雷管报错. Error: %1\n\t response: %2").arg(reply->errorString()).arg(responseData));
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
// 处理请求错误
|
|
|
- qDebug() << "Error:" << reply->errorString();
|
|
|
+ Logger::getInstance().error(
|
|
|
+ QString("请求创建雷管报错. Error: %1\n\t query: %2").arg(reply->errorString()).arg(jsonData));
|
|
|
}
|
|
|
// 释放资源
|
|
|
reply->deleteLater();
|