Browse Source

Show expert info

chengxr 1 year ago
parent
commit
77694c597e

+ 7 - 2
QFD/view/ExpertManageView.cpp

@@ -145,7 +145,12 @@ void ExpertManageView::slotAddExpertClicked()
 
 void ExpertManageView::slotDetailClicked()
 {
-    showExpertInfoWidget();
+    int row = m_expertListWidget->selectedRow();
+    if (row < 0 || row >= m_userList.count()) {
+        return;
+    }
+    QFUser *user = m_userList[row];
+    showExpertInfo(user);
 }
 
 void ExpertManageView::slotDeleteClicked()
@@ -157,7 +162,7 @@ void ExpertManageView::slotDeleteClicked()
 
 void ExpertManageView::slotListSelectionChanged()
 {
-    setListButtonHidden(!m_expertListWidget->isItemSelected());
+    setListButtonHidden(!m_expertListWidget->hasSelectedItem());
 }
 
 void ExpertManageView::slotListItemDoubleClicked(int row)

+ 17 - 2
QFD/widgets/ExpertInfoWidget.cpp

@@ -59,8 +59,18 @@ void ExpertInfoWidget::setUser(QFUser *user)
         return;
     }
 
-    m_idLineEdit->setText(QString(user->id));
+    m_idLineEdit->setText(QString::number(user->id));
     m_nameLineEdit->setText(user->userName);
+    m_companyLineEdit->setText(user->workPosition);
+    m_jobLineEdit->setText(user->post);
+    m_majorLineEdit->setText(user->major);
+    m_contactInfoLineEdit->setText(user->phone);
+
+    QDateTime dt = QDateTime::fromString(user->writeTime, "yyyy/M/d H:mm");
+    m_timeLineEdit->setDateTime(dt);
+    m_noteTextEdit->setText(user->remark);
+
+    qDebug() << __FUNCTION__ << __LINE__ << user->writeTime << dt << user->remark;
 }
 
 void ExpertInfoWidget::initWindow()
@@ -194,7 +204,7 @@ void ExpertInfoWidget::updateState()
     }
     case Info: {
         t = "用户信息";
-        h = 450;
+        h = 425;
         break;
     }
     }
@@ -204,6 +214,11 @@ void ExpertInfoWidget::updateState()
 
     setEditable(m_mode != Info);
     setDetailsHideen(m_mode == Create);
+
+    m_passwordLabel->setHidden(m_mode == Info);
+    m_passwordLineEdit->setHidden(m_mode == Info);
+    m_confirmButton->setHidden(m_mode == Info);
+    m_cancelButton->setHidden(m_mode == Info);
 }
 
 /// 设置用户详情是否可见

+ 7 - 1
QFD/widgets/ExpertListWidget.cpp

@@ -43,11 +43,17 @@ void ExpertListWidget::showUsers(QList<QFUser *> list)
     }
 }
 
-bool ExpertListWidget::isItemSelected() const
+bool ExpertListWidget::hasSelectedItem() const
 {
     return m_listWidget->selectedItems().count() > 0;
 }
 
+int ExpertListWidget::selectedRow() const
+{
+    QListWidgetItem *item = m_listWidget->selectedItems().first();
+    return m_listWidget->row(item);
+}
+
 void ExpertListWidget::initialize()
 {
     m_vBoxLayout = new QVBoxLayout(this);

+ 3 - 1
QFD/widgets/ExpertListWidget.h

@@ -20,7 +20,9 @@ public:
 
     void showUsers(QList<QFUser *> list);
 
-    bool isItemSelected() const;
+    bool hasSelectedItem() const;
+
+    int selectedRow() const;
 
 signals:
     void signalSelectionChanged();