新增自定义控件,修复查询添加问题
This commit is contained in:
@@ -6,14 +6,11 @@
|
||||
#include <QHeaderView>
|
||||
#include <QMessageBox>
|
||||
#include <QStandardItem>
|
||||
#include <QLineEdit>
|
||||
#include "ElaComboBox.h"
|
||||
#include "ElaLineEdit.h"
|
||||
#include "ElaPushButton.h"
|
||||
#include "ElaText.h"
|
||||
|
||||
UF20FunctionSearchPage::UF20FunctionSearchPage(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, m_exactMatch(false)
|
||||
{
|
||||
initUI();
|
||||
}
|
||||
@@ -36,15 +33,14 @@ void UF20FunctionSearchPage::initUI()
|
||||
m_searchComboBox->addItem("功能编号", "function_no");
|
||||
searchLayout->addWidget(m_searchComboBox);
|
||||
|
||||
m_searchEdit = new ElaLineEdit;
|
||||
m_searchEdit = new ElaSearchEdit;
|
||||
m_searchEdit->setPlaceholderText("输入查询内容");
|
||||
m_searchEdit->setMinimumWidth(300);
|
||||
connect(m_searchEdit, &QLineEdit::returnPressed, this, &UF20FunctionSearchPage::onSearch);
|
||||
searchLayout->addWidget(m_searchEdit);
|
||||
m_searchEdit->setFixedSize(330, 35);
|
||||
connect(m_searchEdit, &ElaSearchEdit::returnPressed, this, &UF20FunctionSearchPage::onSearch);
|
||||
connect(m_searchEdit, &ElaSearchEdit::searchClicked, this, &UF20FunctionSearchPage::onSearch);
|
||||
connect(m_searchEdit, &ElaSearchEdit::exactMatchChanged, this, &UF20FunctionSearchPage::onExactMatchToggled);
|
||||
|
||||
ElaPushButton *searchBtn = new ElaPushButton("搜索");
|
||||
connect(searchBtn, &QPushButton::clicked, this, &UF20FunctionSearchPage::onSearch);
|
||||
searchLayout->addWidget(searchBtn);
|
||||
searchLayout->addWidget(m_searchEdit);
|
||||
|
||||
searchLayout->addStretch();
|
||||
layout->addLayout(searchLayout);
|
||||
@@ -64,13 +60,18 @@ void UF20FunctionSearchPage::initUI()
|
||||
layout->addWidget(m_resultTable);
|
||||
|
||||
QHBoxLayout *tipLayout = new QHBoxLayout;
|
||||
QLabel *tipLabel = new QLabel("💡 双击选中行添加转码业务");
|
||||
QLabel *tipLabel = new QLabel("💡 双击选中行添加转码业务,只支持LS功能添加");
|
||||
tipLabel->setStyleSheet("color: #666; font-size: 13px;");
|
||||
tipLayout->addWidget(tipLabel);
|
||||
tipLayout->addStretch();
|
||||
layout->addLayout(tipLayout);
|
||||
}
|
||||
|
||||
void UF20FunctionSearchPage::onExactMatchToggled(bool checked)
|
||||
{
|
||||
m_exactMatch = checked;
|
||||
}
|
||||
|
||||
void UF20FunctionSearchPage::onSearch()
|
||||
{
|
||||
QString keyword = m_searchEdit->text().trimmed();
|
||||
@@ -83,7 +84,7 @@ void UF20FunctionSearchPage::onSearch()
|
||||
}
|
||||
|
||||
QString field = m_searchComboBox->currentData().toString();
|
||||
QList<FunctionInfo> results = DataCache::instance()->searchUF20Functions(keyword, field);
|
||||
QList<FunctionInfo> results = DataCache::instance()->searchUF20Functions(keyword, field, m_exactMatch);
|
||||
|
||||
if (results.isEmpty()) {
|
||||
QMessageBox::information(this, "提示", "未找到匹配的功能");
|
||||
@@ -113,6 +114,10 @@ void UF20FunctionSearchPage::onTableDoubleClicked(const QModelIndex &index)
|
||||
{
|
||||
if (index.isValid()) {
|
||||
QString funcName = m_tableModel->data(m_tableModel->index(index.row(), 0)).toString();
|
||||
if (!funcName.startsWith("LS_")) {
|
||||
QMessageBox::information(this, "提示", "仅支持LS功能添加转码业务");
|
||||
return;
|
||||
}
|
||||
emit addFunctionToConvert(funcName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
#include "ElaComboBox.h"
|
||||
#include "ElaLineEdit.h"
|
||||
#include "ElaPushButton.h"
|
||||
#include "components/elasearchedit.h"
|
||||
#include "ElaTableView.h"
|
||||
|
||||
class UF20FunctionSearchPage : public QWidget
|
||||
@@ -17,19 +16,21 @@ public:
|
||||
~UF20FunctionSearchPage();
|
||||
|
||||
signals:
|
||||
void addFunctionToConvert(const QString &funcName);
|
||||
void addFunctionToConvert(const QString& funcName);
|
||||
|
||||
private slots:
|
||||
void onSearch();
|
||||
void onExactMatchToggled(bool checked);
|
||||
void onTableDoubleClicked(const QModelIndex &index);
|
||||
|
||||
private:
|
||||
void initUI();
|
||||
|
||||
ElaComboBox *m_searchComboBox;
|
||||
ElaLineEdit *m_searchEdit;
|
||||
ElaSearchEdit *m_searchEdit;
|
||||
ElaTableView *m_resultTable;
|
||||
QStandardItemModel *m_tableModel;
|
||||
bool m_exactMatch;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,13 +6,11 @@
|
||||
#include <QHeaderView>
|
||||
#include <QMessageBox>
|
||||
#include <QStandardItem>
|
||||
#include <QLineEdit>
|
||||
#include "ElaComboBox.h"
|
||||
#include "ElaLineEdit.h"
|
||||
#include "ElaPushButton.h"
|
||||
|
||||
UFT3FunctionSearchPage::UFT3FunctionSearchPage(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, m_exactMatch(false)
|
||||
{
|
||||
initUI();
|
||||
}
|
||||
@@ -35,15 +33,14 @@ void UFT3FunctionSearchPage::initUI()
|
||||
m_searchComboBox->addItem("功能编号", "function_no");
|
||||
searchLayout->addWidget(m_searchComboBox);
|
||||
|
||||
m_searchEdit = new ElaLineEdit;
|
||||
m_searchEdit = new ElaSearchEdit;
|
||||
m_searchEdit->setPlaceholderText("输入查询内容");
|
||||
m_searchEdit->setMinimumWidth(300);
|
||||
connect(m_searchEdit, &QLineEdit::returnPressed, this, &UFT3FunctionSearchPage::onSearch);
|
||||
searchLayout->addWidget(m_searchEdit);
|
||||
m_searchEdit->setFixedSize(330, 35);
|
||||
connect(m_searchEdit, &ElaSearchEdit::returnPressed, this, &UFT3FunctionSearchPage::onSearch);
|
||||
connect(m_searchEdit, &ElaSearchEdit::searchClicked, this, &UFT3FunctionSearchPage::onSearch);
|
||||
connect(m_searchEdit, &ElaSearchEdit::exactMatchChanged, this, &UFT3FunctionSearchPage::onExactMatchToggled);
|
||||
|
||||
ElaPushButton *searchBtn = new ElaPushButton("搜索");
|
||||
connect(searchBtn, &QPushButton::clicked, this, &UFT3FunctionSearchPage::onSearch);
|
||||
searchLayout->addWidget(searchBtn);
|
||||
searchLayout->addWidget(m_searchEdit);
|
||||
|
||||
searchLayout->addStretch();
|
||||
layout->addLayout(searchLayout);
|
||||
@@ -61,6 +58,11 @@ void UFT3FunctionSearchPage::initUI()
|
||||
layout->addWidget(m_resultTable);
|
||||
}
|
||||
|
||||
void UFT3FunctionSearchPage::onExactMatchToggled(bool checked)
|
||||
{
|
||||
m_exactMatch = checked;
|
||||
}
|
||||
|
||||
void UFT3FunctionSearchPage::onSearch()
|
||||
{
|
||||
QString keyword = m_searchEdit->text().trimmed();
|
||||
@@ -73,7 +75,7 @@ void UFT3FunctionSearchPage::onSearch()
|
||||
}
|
||||
|
||||
QString field = m_searchComboBox->currentData().toString();
|
||||
QList<FunctionInfo> results = DataCache::instance()->searchUFT3Functions(keyword, field);
|
||||
QList<FunctionInfo> results = DataCache::instance()->searchUFT3Functions(keyword, field, m_exactMatch);
|
||||
|
||||
if (results.isEmpty()) {
|
||||
QMessageBox::information(this, "提示", "未找到匹配的功能");
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
#include <QWidget>
|
||||
#include <QStandardItemModel>
|
||||
#include "ElaComboBox.h"
|
||||
#include "ElaLineEdit.h"
|
||||
#include "ElaPushButton.h"
|
||||
#include "components/elasearchedit.h"
|
||||
#include "ElaTableView.h"
|
||||
|
||||
class UFT3FunctionSearchPage : public QWidget
|
||||
@@ -18,14 +17,16 @@ public:
|
||||
|
||||
private slots:
|
||||
void onSearch();
|
||||
void onExactMatchToggled(bool checked);
|
||||
|
||||
private:
|
||||
void initUI();
|
||||
|
||||
ElaComboBox *m_searchComboBox;
|
||||
ElaLineEdit *m_searchEdit;
|
||||
ElaSearchEdit *m_searchEdit;
|
||||
ElaTableView *m_resultTable;
|
||||
QStandardItemModel *m_tableModel;
|
||||
bool m_exactMatch;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user