From 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3 Mon Sep 17 00:00:00 2001 From: wumu <mayi@mayi.com> Date: 星期日, 27 四月 2025 22:13:53 +0800 Subject: [PATCH] 0427 --- internal_system_v1/converinfo2.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 6 deletions(-) diff --git a/internal_system_v1/converinfo2.cpp b/internal_system_v1/converinfo2.cpp index 31a3900..b9e8c48 100644 --- a/internal_system_v1/converinfo2.cpp +++ b/internal_system_v1/converinfo2.cpp @@ -100,9 +100,9 @@ { if(m_curItem==nullptr)return; qDebug()<<"鍒犻櫎鍏徃淇℃伅,鑺傜偣锛�"<<m_curItem->text(0); - auto resList = m_curItem->takeChildren(); + //auto resList = m_curItem->takeChildren(); - qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size(); + //qDebug()<<"鍒犻櫎鏁伴噺:"<<resList.size(); // 鍒犻櫎鏁版嵁搴撹〃閲岄潰瀵瑰簲鐨勫叕鍙镐俊鎭紝骞朵笖鍐嶆鍒锋柊涓嬫媺妗嗗拰鏍戠姸鍥� @@ -121,9 +121,43 @@ deleteAllByName(name); // 鍒犻櫎瀹屼簡锛岃繕寰楀幓鍒锋柊涓嬫媺妗� + for(auto it=m_nameAndComInfos.begin();it!=m_nameAndComInfos.end();){ + if(it.key() == name){ + m_nameAndComInfos.erase(it++); + break; + }else{ + it++; + } + } + // 鍘诲埛鏂版爲褰㈠浘 + for(auto it=m_treeNodes.begin();it!=m_treeNodes.end();){ + // 濡傛灉绛変簬閿紝閭d箞瑕佸垹闄ゅ搴旂殑鎵�鏈夌殑鍊� + if(it.key() == name){ + // 鎶婃墍鏈夌殑鍊煎搴旂殑鍗曚綅淇℃伅閮藉垹鎺� + for(auto str:it.value()){ + auto p = m_nameAndComInfos.find(str); + if(p != m_nameAndComInfos.end()){ + deleteAllByName(str); // 杩樺緱鍐嶅垹鎺夋暟鎹簱涓殑鍐呭 + m_nameAndComInfos.erase(p); + } + } + m_treeNodes.erase(it++); + break; + } + // 鍙槸鏌愪釜鍊硷紝鍙垹闄や竴涓嵆鍙�,閬嶅巻鍊奸噷闈㈢殑杩唬鍣紝鎵惧埌鍒犻櫎鍗冲彲 + else{ + auto p = it.value().find(name); + if(p != it.value().end()){ + it.value().erase(p); + } + it++; + } + } + emit updateComboListSignal(m_nameAndComInfos); + createTreeNode(); } @@ -800,11 +834,13 @@ if(upName.isValid()){ if(name.isValid()){ - m_treeNodes[upName.toString()].push_back(name.toString()); + //m_treeNodes[upName.toString()].push_back(name.toString()); + m_treeNodes[upName.toString()].insert(name.toString()); } }else{ if(name.isValid()){ - m_treeNodes[name.toString()].push_back(name.toString()); + //m_treeNodes[name.toString()].push_back(name.toString()); + m_treeNodes[name.toString()].insert(name.toString()); } } @@ -1673,6 +1709,9 @@ } void ConverInfo2::createTreeNode(){ + // 鍏堟竻闄ゅ綋鍓嶆爲涓婄殑鎵�鏈夎妭鐐� + ui->treeWidget->clear(); + qDebug()<<"鏋勫缓鏍戝舰鍒楄〃"<<m_treeNodes.size(); for(auto iter=m_treeNodes.begin();iter != m_treeNodes.end();iter++) { @@ -1939,9 +1978,15 @@ // 瀛樺悕瀛楀埌鍗曚綅鏍憁ap QString upName = query.value(21).toString(); if(!upName.isEmpty()){ - m_treeNodes[upName].push_back(name); + //m_treeNodes[upName].push_back(name); + m_treeNodes[upName].insert(name); }else{ - m_treeNodes[name].push_back(name); + //m_treeNodes[name].push_back(name); + //m_treeNodes[upName].insert(name); + if(!name.isEmpty()){ + //m_treeNodes[name.toString()].push_back(name.toString()); + m_treeNodes[name].insert(name); + } } qDebug()<<"name"<<name<<"upName"<<upName; -- Gitblit v1.8.0