wumu
2025-04-27 20ffcfb5507daf34f81346ca3dfa4c031e7b2fe3
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();){
        // 如果等于键,那么要删除对应的所有的值
        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 @@
            // 存名字到单位树map
            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;