|
@@ -8,6 +8,7 @@
|
|
|
#include "Src/common/JLogAllOutput.h"
|
|
|
#include "CViewInterface.h"
|
|
|
#include "Login.h"
|
|
|
+#include "TreeViewManager/JIoMapPage.h"
|
|
|
|
|
|
// 构造函数
|
|
|
DbTreeViewManager::DbTreeViewManager(QWidget* pOriginalWndMenuPage, QWidget* parent)
|
|
@@ -273,15 +274,20 @@ void DbTreeViewManager::initializeTree(QString name, const int &userPrivilege)
|
|
|
buttonLeft->setIcon(QIcon(":/images/home_left.png"));
|
|
|
}
|
|
|
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
// **其他配置逻辑**
|
|
|
// 设置 treeViewDown 的几何位置
|
|
|
m_pTreeViewDown->setGeometry(16, 106, m_pOriginalWndMenuPage->width() - 16, m_pOriginalWndMenuPage->height() - 106);
|
|
|
// 显示目录树和分隔线
|
|
|
m_pTreeViewDown->show();
|
|
|
- for (auto separator : m_mapFirstLevelSeparators) {
|
|
|
+ for (auto separator : m_mapFirstLevelSeparators)
|
|
|
+ {
|
|
|
if (separator)
|
|
|
+ {
|
|
|
separator->show();
|
|
|
+ }
|
|
|
}
|
|
|
// 应用自定义样式
|
|
|
applyCustomStyles();
|
|
@@ -293,7 +299,8 @@ void DbTreeViewManager::initializeTree(QString name, const int &userPrivilege)
|
|
|
updateButtonsVisibility();
|
|
|
|
|
|
// 显示特定的分隔线 lineFrame1
|
|
|
- if (m_pLineFrame1) {
|
|
|
+ if (m_pLineFrame1)
|
|
|
+ {
|
|
|
m_pLineFrame1->show();
|
|
|
}
|
|
|
|
|
@@ -502,13 +509,18 @@ void DbTreeViewManager::buildTreeFromDirectories(const QList<QJsonObject> &direc
|
|
|
{
|
|
|
// 建立 Id->QStandardItem 的映射
|
|
|
QMap<int, QStandardItem*> idItemMap;
|
|
|
- for (const QJsonObject &dir : directories) {
|
|
|
+ for (const QJsonObject &dir : directories)
|
|
|
+ {
|
|
|
+ qDebug() << "aaa: " << dir;
|
|
|
QStandardItem *item = new QStandardItem(dir["Name"].toString());
|
|
|
item->setData(dir["Id"].toInt(), Qt::UserRole + 1); // 保存目录Id
|
|
|
// 如果是三级目录,将整个 JSON 对象存到 UserRole+2
|
|
|
- if (dir["IsThirdLevel"].toBool()) {
|
|
|
+ if (dir["IsThirdLevel"].toBool())
|
|
|
+ {
|
|
|
item->setData(dir, Qt::UserRole + 2);
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
item->setData(false, Qt::UserRole + 2); // 标记为非三级目录
|
|
|
}
|
|
|
item->setCheckable(true);
|
|
@@ -518,7 +530,9 @@ void DbTreeViewManager::buildTreeFromDirectories(const QList<QJsonObject> &direc
|
|
|
}
|
|
|
|
|
|
// 建立父子关系
|
|
|
- for (const QJsonObject &dir : directories) {
|
|
|
+ for (const QJsonObject &dir : directories)
|
|
|
+ {
|
|
|
+ qDebug() << "aaa: " << dir;
|
|
|
int parentId = dir["ParentId"].toInt();
|
|
|
int currentId = dir["Id"].toInt();
|
|
|
QStandardItem *childItem = idItemMap.value(currentId);
|
|
@@ -1039,7 +1053,11 @@ void DbTreeViewManager::loadpage(const int &configId){
|
|
|
void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
|
|
|
{
|
|
|
QStandardItem *item = m_pCModel->itemFromIndex(index);
|
|
|
- if (!item) return;
|
|
|
+ if (!item)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
// 是否第三层,提取第三层的目录ID及目录表格名字
|
|
|
bool isThird = false;
|
|
|
int dirId = -1;
|
|
@@ -1076,7 +1094,8 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
|
|
|
if (isThird) {
|
|
|
//!!!修改权限
|
|
|
int userPrivilege = 0x1; // 示例
|
|
|
- if (dirId < 0) {
|
|
|
+ if (dirId < 0)
|
|
|
+ {
|
|
|
qWarning() << "无效directoryId";
|
|
|
return;
|
|
|
}
|
|
@@ -1093,8 +1112,10 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
|
|
|
//QJsonObject data = m_sqlOper.fetchThirdLevelData(mutliTableName, dirId, userPrivilege);
|
|
|
//QJsonObject data = fetchThirdLevelData(dirId, userPrivilege);
|
|
|
//displayThirdLevelFields(data, false);
|
|
|
- for(int i=0;i<5;i++){
|
|
|
- if(currentMenuId == menuArray[i].menuId){
|
|
|
+ for (int i = 0; i < 5; i++)
|
|
|
+ {
|
|
|
+ if(currentMenuId == menuArray[i].menuId)
|
|
|
+ {
|
|
|
menuArray[i].isthird = true;
|
|
|
menuArray[i].index = dirId;
|
|
|
}
|
|
@@ -1108,15 +1129,19 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
|
|
|
st.multiTableName = mutliTableName;
|
|
|
|
|
|
m_backStack.append(st);
|
|
|
- if(m_backStack.size() >= 2){
|
|
|
+ if(m_backStack.size() >= 2)
|
|
|
+ {
|
|
|
buttonLeft->setIcon(QIcon(":/images/home_left.png"));
|
|
|
}
|
|
|
m_forwardStack.clear();
|
|
|
buttonRight->setIcon(QIcon(":/images/home_right.png"));
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
// 不是第三层,只是选中目录
|
|
|
// 清理第三层窗口
|
|
|
- if (m_thirdLevelFieldWnd) {
|
|
|
+ if (m_thirdLevelFieldWnd)
|
|
|
+ {
|
|
|
m_thirdLevelFieldWnd->close();
|
|
|
m_thirdLevelFieldWnd->deleteLater();
|
|
|
m_thirdLevelFieldWnd = nullptr;
|
|
@@ -1130,7 +1155,8 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
|
|
|
st.multiTableName = mutliTableName;
|
|
|
|
|
|
m_backStack.append(st);
|
|
|
- if(m_backStack.size() >= 2){
|
|
|
+ if(m_backStack.size() >= 2)
|
|
|
+ {
|
|
|
buttonLeft->setIcon(QIcon(":/images/home_left.png"));
|
|
|
}
|
|
|
m_forwardStack.clear();
|
|
@@ -3187,7 +3213,8 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
|
|
|
}
|
|
|
else if (fieldType == "IoPage")
|
|
|
{
|
|
|
- // GPITableWidget
|
|
|
+ GPITableWidget* p = new GPITableWidget;
|
|
|
+ rightLayout->addWidget(p);
|
|
|
}
|
|
|
else
|
|
|
{
|