浏览代码

界面调整

chengxr 1 年之前
父节点
当前提交
1fa1ac1ac9

+ 10 - 0
QFD/common/QFDConfig.cpp

@@ -85,3 +85,13 @@ void QFDConfig::setProject(const QString project)
 {
     defaultConfig()->setValue("USERCONFIG/Project", project);
 }
+
+bool QFDConfig::passwordModified()
+{
+    return defaultConfig()->value("USERCONFIG/PasswordModified", false).toBool();
+}
+
+void QFDConfig::setPasswordModified(bool modified)
+{
+    defaultConfig()->setValue("USERCONFIG/PasswordModified", modified);
+}

+ 3 - 0
QFD/common/QFDConfig.h

@@ -32,6 +32,9 @@ public:
     static const QString project();
     static void setProject(QString const project);
 
+    static bool passwordModified();
+    static void setPasswordModified(bool modified);
+
 signals:
 };
 

+ 17 - 12
QFD/view/LoginView.cpp

@@ -2,6 +2,7 @@
 
 #include "LoginWidget.h"
 #include "RegisterWidget.h"
+#include "QFDConfig.h"
 
 #include <dbService/ClassSet.h>
 
@@ -37,10 +38,9 @@ void LoginView::setStackIndex(int index)
 
 void LoginView::initialize()
 {
-    m_vBoxLayout    = new QVBoxLayout();
-    m_stackedWidget = new QStackedWidget(this);
-    m_loginWidget   = new LoginWidget(this);
-    m_loginWidget->setTitle("登录管理员账号");
+    m_vBoxLayout     = new QVBoxLayout();
+    m_stackedWidget  = new QStackedWidget(this);
+    m_loginWidget    = new LoginWidget(this);
     m_registerWidget = new RegisterWidget(this);
 }
 
@@ -63,7 +63,7 @@ void LoginView::connectSignalsAndSlots()
 }
 
 /// 提示登录错误信息
-void LoginView::showLoginAlert(int code) const
+void LoginView::showAlertWithCode(int code) const
 {
     if (code == QF_CODE_COMPLETED) {
         return;
@@ -86,24 +86,29 @@ void LoginView::showLoginAlert(int code) const
     }
 }
 
+// admin "21232f297a57a5a743894a0e4a801fc3"
 void LoginView::slotLogin()
 {
+    QString account  = m_loginWidget->account();
+    QString password = m_loginWidget->password();
     QFUser user(m_loginWidget->account(), m_loginWidget->password());
     int code = user.login();
 
     qDebug() << __FUNCTION__ << __LINE__ << "login code:" << code;
 
-    if (code == QF_CODE_COMPLETED || code == QF_CODE_ALREADY_LOGIN) {
+    if ((code == QF_CODE_COMPLETED || code == QF_CODE_ALREADY_LOGIN) && QFUser::currentUser() != nullptr) {
         m_loginWidget->saveAccountConfig();  // 登录成功后存储登录设置
-        if (QFUser::currentUser() != nullptr) {
-            qDebug() << __FUNCTION__ << __LINE__ << QFUser::currentUser()->userName;
+
+        if (QFDConfig::roleType() == QFUser::SuperAdmin) {
+            if (account == "admin" && password == "admin") {
+                setStackIndex(m_stackedWidget->currentIndex() + 1);
+            } else {
+                emit signalLogin();
+            }
         }
     } else {
-        showLoginAlert(code);
+        showAlertWithCode(code);
     }
-
-    //        setStackIndex(m_stackedWidget->currentIndex() + 1);
-    //        emit signalLogin();
 }
 
 void LoginView::slotCancelLogin()

+ 1 - 1
QFD/view/LoginView.h

@@ -31,7 +31,7 @@ private:
     void initLayout();
     void connectSignalsAndSlots();
 
-    void showLoginAlert(int code) const;
+    void showAlertWithCode(int code) const;
 
 private slots:
     void slotLogin();

+ 18 - 0
QFD/widgets/LoginWidget.cpp

@@ -2,6 +2,8 @@
 
 #include "QFDConfig.h"
 
+#include <dbService/ClassSet.h>
+
 #include <Widgets/LineEdit.h>
 #include <Widgets/CheckBox.h>
 #include <Widgets/Button.h>
@@ -76,6 +78,10 @@ void LoginWidget::initialize()
     m_buttonLayout = new QHBoxLayout();
     m_loginButton  = new PushButton("登录", this);
     m_cancelButton = new PushButton("取消", this);
+
+    m_adminTips = new QLabel(this);
+    m_adminTips->setText("默认管理员账号密码是admin/admin");
+    m_adminTips->setStyleSheet("color:#dddddd");
 }
 
 void LoginWidget::initLayout()
@@ -100,6 +106,9 @@ void LoginWidget::initLayout()
     m_buttonLayout->addWidget(m_loginButton);
     m_buttonLayout->addSpacing(20);
     m_buttonLayout->addWidget(m_cancelButton);
+
+    m_vBoxLayout->addSpacing(10);
+    m_vBoxLayout->addWidget(m_adminTips);
 }
 
 void LoginWidget::connectSignalsAndSlots()
@@ -110,10 +119,19 @@ void LoginWidget::connectSignalsAndSlots()
 
 void LoginWidget::loadAccount()
 {
+    int roleType = QFDConfig::roleType();
+    if (roleType == QFUser::SuperAdmin) {
+        setTitle("管理员登录");
+    } else {
+        setTitle("专家登录");
+    }
+
     bool rem = QFDConfig::rememberPassword();
     m_remCheckBox->setChecked(rem);
     if (rem) {
         m_accLineEdit->setText(QFDConfig::username());
         m_pwLineEdit->setText(QFDConfig::password());
     }
+
+    m_adminTips->setHidden(QFDConfig::passwordModified());
 }

+ 2 - 0
QFD/widgets/LoginWidget.h

@@ -50,6 +50,8 @@ private:
     QHBoxLayout *m_buttonLayout = nullptr;
     PushButton *m_loginButton   = nullptr;
     PushButton *m_cancelButton  = nullptr;
+
+    QLabel *m_adminTips = nullptr;
 };
 
 #endif  // LOGINWIDGET_H

+ 3 - 10
QFD/widgets/RegisterWidget.cpp

@@ -18,16 +18,16 @@ void RegisterWidget::initialize()
     m_vBoxLayout = new QVBoxLayout(this);
 
     m_titleLabel = new QLabel(this);
-    m_titleLabel->setText("新账号");
+    m_titleLabel->setText("初次使用,请修改账号和密码");
     m_titleLabel->setStyleSheet("color:#ffffff;");
     QFont ft;
-    ft.setPointSize(15);
+    ft.setPointSize(12);
     ft.setBold(true);
     m_titleLabel->setFont(ft);
 
     m_accLineEdit = new LineEdit(this);
     m_accLineEdit->setIsClearButtonEnabled(true);
-    m_accLineEdit->setPlaceholderText("账号id");
+    m_accLineEdit->setPlaceholderText("账号id");
     m_accLineEdit->setFixedWidth(250);
 
     m_pwLineEdit = new PasswordLineEdit(this);
@@ -41,10 +41,6 @@ void RegisterWidget::initialize()
     m_buttonLayout  = new QHBoxLayout();
     m_confirmButton = new PushButton("确定", this);
     m_cancelButton  = new PushButton("取消", this);
-
-    m_adminTips = new QLabel(this);
-    m_adminTips->setText("默认管理员账号密码是admin/admin");
-    m_adminTips->setStyleSheet("color:#dddddd");
 }
 
 void RegisterWidget::initLayout()
@@ -65,9 +61,6 @@ void RegisterWidget::initLayout()
     m_buttonLayout->addWidget(m_confirmButton);
     m_buttonLayout->addSpacing(20);
     m_buttonLayout->addWidget(m_cancelButton);
-
-    m_vBoxLayout->addSpacing(10);
-    m_vBoxLayout->addWidget(m_adminTips);
 }
 
 void RegisterWidget::connectSignalsAndSlots()

+ 0 - 2
QFD/widgets/RegisterWidget.h

@@ -38,8 +38,6 @@ private:
     QHBoxLayout *m_buttonLayout = nullptr;
     PushButton *m_confirmButton = nullptr;
     PushButton *m_cancelButton  = nullptr;
-
-    QLabel *m_adminTips = nullptr;
 };
 
 #endif  // REGISTERWIDGET_H

+ 2 - 1
bin/config.ini

@@ -1,8 +1,9 @@
 [USERCONFIG]
 UserName=admin
-Password=123456
+Password=admin
 RememberPassword=true
 Project=无人平台能力层次分析法统计
 RoleType=0
 DbPath=/data
 TechMessaureConfig=9, 5, 4, 3, 1
+PasswordModified=

二进制
bin/data/qfd.db